From 802eff267c6e8d204f838d3a82916ea70c03b6a1 Mon Sep 17 00:00:00 2001
From: Diego Mello <diegolmello@gmail.com>
Date: Tue, 12 Jun 2018 22:29:18 -0300
Subject: [PATCH] Ddp fixes (#324)

---
 __tests__/RoomItem.js                         |    2 +-
 __tests__/__snapshots__/RoomItem.js.snap      |   57 -
 .../__snapshots__/Storyshots.test.js.snap     |  152 --
 app/containers/Header.js                      |    2 +-
 app/containers/MessageBox/Recording.js        |    8 +-
 app/containers/status.js                      |   15 +-
 app/lib/ddp.js                                |   43 +-
 app/lib/rocketchat.js                         |    9 +-
 package-lock.json                             | 1577 ++++++++++-------
 package.json                                  |   41 +-
 storybook/stories/index.js                    |    2 +-
 11 files changed, 989 insertions(+), 919 deletions(-)

diff --git a/__tests__/RoomItem.js b/__tests__/RoomItem.js
index 253b5d45c..b6c422246 100644
--- a/__tests__/RoomItem.js
+++ b/__tests__/RoomItem.js
@@ -3,7 +3,7 @@ import { Provider } from 'react-redux';
 
 import { createStore, combineReducers } from 'redux';
 
-const reducers = combineReducers({login:() => ({user: {}}), settings:() => ({})});
+const reducers = combineReducers({login:() => ({user: {}}), settings:() => ({}), meteor: () => ({ connected: true })});
 const store = createStore(reducers);
 
 import React from 'react';
diff --git a/__tests__/__snapshots__/RoomItem.js.snap b/__tests__/__snapshots__/RoomItem.js.snap
index a8963e9bd..8b1bf18ed 100644
--- a/__tests__/__snapshots__/RoomItem.js.snap
+++ b/__tests__/__snapshots__/RoomItem.js.snap
@@ -3,15 +3,10 @@
 exports[`render channel 1`] = `
 <View>
   <View
-    accessibilityComponentType={undefined}
     accessibilityLabel="general, last message Nov 10"
     accessibilityTraits="selected"
     accessible={true}
-    hasTVPreferredFocus={undefined}
-    hitSlop={undefined}
     isTVSelectable={true}
-    nativeID={undefined}
-    onLayout={undefined}
     onResponderGrant={[Function]}
     onResponderMove={[Function]}
     onResponderRelease={[Function]}
@@ -19,8 +14,6 @@ exports[`render channel 1`] = `
     onResponderTerminationRequest={[Function]}
     onStartShouldSetResponder={[Function]}
     style={null}
-    testID={undefined}
-    tvParallaxProperties={undefined}
   >
     <View
       style={
@@ -175,15 +168,10 @@ exports[`render channel 1`] = `
 exports[`render no icon 1`] = `
 <View>
   <View
-    accessibilityComponentType={undefined}
     accessibilityLabel="name, last message Nov 10"
     accessibilityTraits="selected"
     accessible={true}
-    hasTVPreferredFocus={undefined}
-    hitSlop={undefined}
     isTVSelectable={true}
-    nativeID={undefined}
-    onLayout={undefined}
     onResponderGrant={[Function]}
     onResponderMove={[Function]}
     onResponderRelease={[Function]}
@@ -191,8 +179,6 @@ exports[`render no icon 1`] = `
     onResponderTerminationRequest={[Function]}
     onStartShouldSetResponder={[Function]}
     style={null}
-    testID={undefined}
-    tvParallaxProperties={undefined}
   >
     <View
       style={
@@ -347,15 +333,10 @@ exports[`render no icon 1`] = `
 exports[`render private group 1`] = `
 <View>
   <View
-    accessibilityComponentType={undefined}
     accessibilityLabel="private-group, last message Nov 10"
     accessibilityTraits="selected"
     accessible={true}
-    hasTVPreferredFocus={undefined}
-    hitSlop={undefined}
     isTVSelectable={true}
-    nativeID={undefined}
-    onLayout={undefined}
     onResponderGrant={[Function]}
     onResponderMove={[Function]}
     onResponderRelease={[Function]}
@@ -363,8 +344,6 @@ exports[`render private group 1`] = `
     onResponderTerminationRequest={[Function]}
     onStartShouldSetResponder={[Function]}
     style={null}
-    testID={undefined}
-    tvParallaxProperties={undefined}
   >
     <View
       style={
@@ -520,15 +499,10 @@ exports[`render private group 1`] = `
 exports[`render unread +999 1`] = `
 <View>
   <View
-    accessibilityComponentType={undefined}
     accessibilityLabel="name, 1000 alerts, last message Nov 10"
     accessibilityTraits="selected"
     accessible={true}
-    hasTVPreferredFocus={undefined}
-    hitSlop={undefined}
     isTVSelectable={true}
-    nativeID={undefined}
-    onLayout={undefined}
     onResponderGrant={[Function]}
     onResponderMove={[Function]}
     onResponderRelease={[Function]}
@@ -536,8 +510,6 @@ exports[`render unread +999 1`] = `
     onResponderTerminationRequest={[Function]}
     onStartShouldSetResponder={[Function]}
     style={null}
-    testID={undefined}
-    tvParallaxProperties={undefined}
   >
     <View
       style={
@@ -609,11 +581,6 @@ exports[`render unread +999 1`] = `
           }
         >
           <FastImageView
-            onFastImageError={undefined}
-            onFastImageLoad={undefined}
-            onFastImageLoadEnd={undefined}
-            onFastImageLoadStart={undefined}
-            onFastImageProgress={undefined}
             resizeMode="cover"
             source={
               Object {
@@ -782,15 +749,10 @@ exports[`render unread +999 1`] = `
 exports[`render unread 1`] = `
 <View>
   <View
-    accessibilityComponentType={undefined}
     accessibilityLabel="name, 1 alert, last message Nov 10"
     accessibilityTraits="selected"
     accessible={true}
-    hasTVPreferredFocus={undefined}
-    hitSlop={undefined}
     isTVSelectable={true}
-    nativeID={undefined}
-    onLayout={undefined}
     onResponderGrant={[Function]}
     onResponderMove={[Function]}
     onResponderRelease={[Function]}
@@ -798,8 +760,6 @@ exports[`render unread 1`] = `
     onResponderTerminationRequest={[Function]}
     onStartShouldSetResponder={[Function]}
     style={null}
-    testID={undefined}
-    tvParallaxProperties={undefined}
   >
     <View
       style={
@@ -871,11 +831,6 @@ exports[`render unread 1`] = `
           }
         >
           <FastImageView
-            onFastImageError={undefined}
-            onFastImageLoad={undefined}
-            onFastImageLoadEnd={undefined}
-            onFastImageLoadStart={undefined}
-            onFastImageProgress={undefined}
             resizeMode="cover"
             source={
               Object {
@@ -1044,15 +999,10 @@ exports[`render unread 1`] = `
 exports[`renders correctly 1`] = `
 <View>
   <View
-    accessibilityComponentType={undefined}
     accessibilityLabel="name, last message Nov 10"
     accessibilityTraits="selected"
     accessible={true}
-    hasTVPreferredFocus={undefined}
-    hitSlop={undefined}
     isTVSelectable={true}
-    nativeID={undefined}
-    onLayout={undefined}
     onResponderGrant={[Function]}
     onResponderMove={[Function]}
     onResponderRelease={[Function]}
@@ -1060,8 +1010,6 @@ exports[`renders correctly 1`] = `
     onResponderTerminationRequest={[Function]}
     onStartShouldSetResponder={[Function]}
     style={null}
-    testID={undefined}
-    tvParallaxProperties={undefined}
   >
     <View
       style={
@@ -1133,11 +1081,6 @@ exports[`renders correctly 1`] = `
           }
         >
           <FastImageView
-            onFastImageError={undefined}
-            onFastImageLoad={undefined}
-            onFastImageLoadEnd={undefined}
-            onFastImageLoadStart={undefined}
-            onFastImageProgress={undefined}
             resizeMode="cover"
             source={
               Object {
diff --git a/__tests__/__snapshots__/Storyshots.test.js.snap b/__tests__/__snapshots__/Storyshots.test.js.snap
index 8088a0a51..7dc94d89e 100644
--- a/__tests__/__snapshots__/Storyshots.test.js.snap
+++ b/__tests__/__snapshots__/Storyshots.test.js.snap
@@ -58,11 +58,6 @@ exports[`Storyshots Avatar avatar 1`] = `
         }
       >
         <FastImageView
-          onFastImageError={undefined}
-          onFastImageLoad={undefined}
-          onFastImageLoadEnd={undefined}
-          onFastImageLoadStart={undefined}
-          onFastImageProgress={undefined}
           resizeMode="cover"
           source={
             Object {
@@ -137,11 +132,6 @@ exports[`Storyshots Avatar avatar 1`] = `
         }
       >
         <FastImageView
-          onFastImageError={undefined}
-          onFastImageLoad={undefined}
-          onFastImageLoadEnd={undefined}
-          onFastImageLoadStart={undefined}
-          onFastImageProgress={undefined}
           resizeMode="cover"
           source={
             Object {
@@ -216,11 +206,6 @@ exports[`Storyshots Avatar avatar 1`] = `
         }
       >
         <FastImageView
-          onFastImageError={undefined}
-          onFastImageLoad={undefined}
-          onFastImageLoadEnd={undefined}
-          onFastImageLoadStart={undefined}
-          onFastImageProgress={undefined}
           resizeMode="cover"
           source={
             Object {
@@ -295,11 +280,6 @@ exports[`Storyshots Avatar avatar 1`] = `
         }
       >
         <FastImageView
-          onFastImageError={undefined}
-          onFastImageLoad={undefined}
-          onFastImageLoadEnd={undefined}
-          onFastImageLoadStart={undefined}
-          onFastImageProgress={undefined}
           resizeMode="cover"
           source={
             Object {
@@ -327,15 +307,10 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
 <RCTScrollView>
   <View>
     <View
-      accessibilityComponentType={undefined}
       accessibilityLabel="rocket.cat, last message Nov 10"
       accessibilityTraits="selected"
       accessible={true}
-      hasTVPreferredFocus={undefined}
-      hitSlop={undefined}
       isTVSelectable={true}
-      nativeID={undefined}
-      onLayout={undefined}
       onResponderGrant={[Function]}
       onResponderMove={[Function]}
       onResponderRelease={[Function]}
@@ -343,8 +318,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       onResponderTerminationRequest={[Function]}
       onStartShouldSetResponder={[Function]}
       style={null}
-      testID={undefined}
-      tvParallaxProperties={undefined}
     >
       <View
         style={
@@ -416,11 +389,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
             }
           >
             <FastImageView
-              onFastImageError={undefined}
-              onFastImageLoad={undefined}
-              onFastImageLoadEnd={undefined}
-              onFastImageLoadStart={undefined}
-              onFastImageProgress={undefined}
               resizeMode="cover"
               source={
                 Object {
@@ -561,15 +529,10 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       </View>
     </View>
     <View
-      accessibilityComponentType={undefined}
       accessibilityLabel="rocket.cat, last message Nov 10"
       accessibilityTraits="selected"
       accessible={true}
-      hasTVPreferredFocus={undefined}
-      hitSlop={undefined}
       isTVSelectable={true}
-      nativeID={undefined}
-      onLayout={undefined}
       onResponderGrant={[Function]}
       onResponderMove={[Function]}
       onResponderRelease={[Function]}
@@ -577,8 +540,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       onResponderTerminationRequest={[Function]}
       onStartShouldSetResponder={[Function]}
       style={null}
-      testID={undefined}
-      tvParallaxProperties={undefined}
     >
       <View
         style={
@@ -650,11 +611,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
             }
           >
             <FastImageView
-              onFastImageError={undefined}
-              onFastImageLoad={undefined}
-              onFastImageLoadEnd={undefined}
-              onFastImageLoadStart={undefined}
-              onFastImageProgress={undefined}
               resizeMode="cover"
               source={
                 Object {
@@ -799,15 +755,10 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       </View>
     </View>
     <View
-      accessibilityComponentType={undefined}
       accessibilityLabel="rocket.cat, 1 alert, last message Nov 10"
       accessibilityTraits="selected"
       accessible={true}
-      hasTVPreferredFocus={undefined}
-      hitSlop={undefined}
       isTVSelectable={true}
-      nativeID={undefined}
-      onLayout={undefined}
       onResponderGrant={[Function]}
       onResponderMove={[Function]}
       onResponderRelease={[Function]}
@@ -815,8 +766,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       onResponderTerminationRequest={[Function]}
       onStartShouldSetResponder={[Function]}
       style={null}
-      testID={undefined}
-      tvParallaxProperties={undefined}
     >
       <View
         style={
@@ -888,11 +837,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
             }
           >
             <FastImageView
-              onFastImageError={undefined}
-              onFastImageLoad={undefined}
-              onFastImageLoadEnd={undefined}
-              onFastImageLoadStart={undefined}
-              onFastImageProgress={undefined}
               resizeMode="cover"
               source={
                 Object {
@@ -1056,15 +1000,10 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       </View>
     </View>
     <View
-      accessibilityComponentType={undefined}
       accessibilityLabel="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, 9 alerts, last message Nov 10"
       accessibilityTraits="selected"
       accessible={true}
-      hasTVPreferredFocus={undefined}
-      hitSlop={undefined}
       isTVSelectable={true}
-      nativeID={undefined}
-      onLayout={undefined}
       onResponderGrant={[Function]}
       onResponderMove={[Function]}
       onResponderRelease={[Function]}
@@ -1072,8 +1011,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       onResponderTerminationRequest={[Function]}
       onStartShouldSetResponder={[Function]}
       style={null}
-      testID={undefined}
-      tvParallaxProperties={undefined}
     >
       <View
         style={
@@ -1145,11 +1082,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
             }
           >
             <FastImageView
-              onFastImageError={undefined}
-              onFastImageLoad={undefined}
-              onFastImageLoadEnd={undefined}
-              onFastImageLoadStart={undefined}
-              onFastImageProgress={undefined}
               resizeMode="cover"
               source={
                 Object {
@@ -1317,15 +1249,10 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       </View>
     </View>
     <View
-      accessibilityComponentType={undefined}
       accessibilityLabel="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, 99 alerts, last message Nov 10"
       accessibilityTraits="selected"
       accessible={true}
-      hasTVPreferredFocus={undefined}
-      hitSlop={undefined}
       isTVSelectable={true}
-      nativeID={undefined}
-      onLayout={undefined}
       onResponderGrant={[Function]}
       onResponderMove={[Function]}
       onResponderRelease={[Function]}
@@ -1333,8 +1260,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       onResponderTerminationRequest={[Function]}
       onStartShouldSetResponder={[Function]}
       style={null}
-      testID={undefined}
-      tvParallaxProperties={undefined}
     >
       <View
         style={
@@ -1406,11 +1331,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
             }
           >
             <FastImageView
-              onFastImageError={undefined}
-              onFastImageLoad={undefined}
-              onFastImageLoadEnd={undefined}
-              onFastImageLoadStart={undefined}
-              onFastImageProgress={undefined}
               resizeMode="cover"
               source={
                 Object {
@@ -1574,15 +1494,10 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       </View>
     </View>
     <View
-      accessibilityComponentType={undefined}
       accessibilityLabel="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, 100 alerts, last message Nov 10"
       accessibilityTraits="selected"
       accessible={true}
-      hasTVPreferredFocus={undefined}
-      hitSlop={undefined}
       isTVSelectable={true}
-      nativeID={undefined}
-      onLayout={undefined}
       onResponderGrant={[Function]}
       onResponderMove={[Function]}
       onResponderRelease={[Function]}
@@ -1590,8 +1505,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       onResponderTerminationRequest={[Function]}
       onStartShouldSetResponder={[Function]}
       style={null}
-      testID={undefined}
-      tvParallaxProperties={undefined}
     >
       <View
         style={
@@ -1663,11 +1576,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
             }
           >
             <FastImageView
-              onFastImageError={undefined}
-              onFastImageLoad={undefined}
-              onFastImageLoadEnd={undefined}
-              onFastImageLoadStart={undefined}
-              onFastImageProgress={undefined}
               resizeMode="cover"
               source={
                 Object {
@@ -1831,15 +1739,10 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       </View>
     </View>
     <View
-      accessibilityComponentType={undefined}
       accessibilityLabel="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, 100000 alerts, last message Nov 10"
       accessibilityTraits="selected"
       accessible={true}
-      hasTVPreferredFocus={undefined}
-      hitSlop={undefined}
       isTVSelectable={true}
-      nativeID={undefined}
-      onLayout={undefined}
       onResponderGrant={[Function]}
       onResponderMove={[Function]}
       onResponderRelease={[Function]}
@@ -1847,8 +1750,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       onResponderTerminationRequest={[Function]}
       onStartShouldSetResponder={[Function]}
       style={null}
-      testID={undefined}
-      tvParallaxProperties={undefined}
     >
       <View
         style={
@@ -1920,11 +1821,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
             }
           >
             <FastImageView
-              onFastImageError={undefined}
-              onFastImageLoad={undefined}
-              onFastImageLoadEnd={undefined}
-              onFastImageLoadStart={undefined}
-              onFastImageProgress={undefined}
               resizeMode="cover"
               source={
                 Object {
@@ -2088,15 +1984,10 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       </View>
     </View>
     <View
-      accessibilityComponentType={undefined}
       accessibilityLabel="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, 100000 alerts, you were mentioned, last message Nov 10"
       accessibilityTraits="selected"
       accessible={true}
-      hasTVPreferredFocus={undefined}
-      hitSlop={undefined}
       isTVSelectable={true}
-      nativeID={undefined}
-      onLayout={undefined}
       onResponderGrant={[Function]}
       onResponderMove={[Function]}
       onResponderRelease={[Function]}
@@ -2104,8 +1995,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       onResponderTerminationRequest={[Function]}
       onStartShouldSetResponder={[Function]}
       style={null}
-      testID={undefined}
-      tvParallaxProperties={undefined}
     >
       <View
         style={
@@ -2177,11 +2066,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
             }
           >
             <FastImageView
-              onFastImageError={undefined}
-              onFastImageLoad={undefined}
-              onFastImageLoadEnd={undefined}
-              onFastImageLoadStart={undefined}
-              onFastImageProgress={undefined}
               resizeMode="cover"
               source={
                 Object {
@@ -2345,15 +2229,10 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       </View>
     </View>
     <View
-      accessibilityComponentType={undefined}
       accessibilityLabel="W, last message Nov 10"
       accessibilityTraits="selected"
       accessible={true}
-      hasTVPreferredFocus={undefined}
-      hitSlop={undefined}
       isTVSelectable={true}
-      nativeID={undefined}
-      onLayout={undefined}
       onResponderGrant={[Function]}
       onResponderMove={[Function]}
       onResponderRelease={[Function]}
@@ -2361,8 +2240,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       onResponderTerminationRequest={[Function]}
       onStartShouldSetResponder={[Function]}
       style={null}
-      testID={undefined}
-      tvParallaxProperties={undefined}
     >
       <View
         style={
@@ -2434,11 +2311,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
             }
           >
             <FastImageView
-              onFastImageError={undefined}
-              onFastImageLoad={undefined}
-              onFastImageLoadEnd={undefined}
-              onFastImageLoadStart={undefined}
-              onFastImageProgress={undefined}
               resizeMode="cover"
               source={
                 Object {
@@ -2579,15 +2451,10 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       </View>
     </View>
     <View
-      accessibilityComponentType={undefined}
       accessibilityLabel="WW, last message Nov 10"
       accessibilityTraits="selected"
       accessible={true}
-      hasTVPreferredFocus={undefined}
-      hitSlop={undefined}
       isTVSelectable={true}
-      nativeID={undefined}
-      onLayout={undefined}
       onResponderGrant={[Function]}
       onResponderMove={[Function]}
       onResponderRelease={[Function]}
@@ -2595,8 +2462,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       onResponderTerminationRequest={[Function]}
       onStartShouldSetResponder={[Function]}
       style={null}
-      testID={undefined}
-      tvParallaxProperties={undefined}
     >
       <View
         style={
@@ -2668,11 +2533,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
             }
           >
             <FastImageView
-              onFastImageError={undefined}
-              onFastImageLoad={undefined}
-              onFastImageLoadEnd={undefined}
-              onFastImageLoadStart={undefined}
-              onFastImageProgress={undefined}
               resizeMode="cover"
               source={
                 Object {
@@ -2813,15 +2673,10 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       </View>
     </View>
     <View
-      accessibilityComponentType={undefined}
       accessibilityLabel=", last message Nov 10"
       accessibilityTraits="selected"
       accessible={true}
-      hasTVPreferredFocus={undefined}
-      hitSlop={undefined}
       isTVSelectable={true}
-      nativeID={undefined}
-      onLayout={undefined}
       onResponderGrant={[Function]}
       onResponderMove={[Function]}
       onResponderRelease={[Function]}
@@ -2829,8 +2684,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
       onResponderTerminationRequest={[Function]}
       onStartShouldSetResponder={[Function]}
       style={null}
-      testID={undefined}
-      tvParallaxProperties={undefined}
     >
       <View
         style={
@@ -2902,11 +2755,6 @@ exports[`Storyshots Channel Cell Direct Messages 1`] = `
             }
           >
             <FastImageView
-              onFastImageError={undefined}
-              onFastImageLoad={undefined}
-              onFastImageLoadEnd={undefined}
-              onFastImageLoadStart={undefined}
-              onFastImageProgress={undefined}
               resizeMode="cover"
               source={
                 Object {
diff --git a/app/containers/Header.js b/app/containers/Header.js
index 277f73fec..31065e706 100644
--- a/app/containers/Header.js
+++ b/app/containers/Header.js
@@ -1,7 +1,7 @@
 import React from 'react';
 import { View, StyleSheet, Platform } from 'react-native';
 import PropTypes from 'prop-types';
-import SafeAreaView from 'react-native-safe-area-view';
+import { SafeAreaView } from 'react-navigation';
 
 let platformContainerStyles;
 if (Platform.OS === 'ios') {
diff --git a/app/containers/MessageBox/Recording.js b/app/containers/MessageBox/Recording.js
index 5396fb671..a3c8a4210 100644
--- a/app/containers/MessageBox/Recording.js
+++ b/app/containers/MessageBox/Recording.js
@@ -15,10 +15,6 @@ export const _formatTime = function(seconds) {
 };
 
 export default class extends React.PureComponent {
-	static propTypes = {
-		onFinish: PropTypes.func.isRequired
-	}
-
 	static async permission() {
 		if (Platform.OS !== 'android') {
 			return true;
@@ -33,6 +29,10 @@ export default class extends React.PureComponent {
 		return result === true || result === PermissionsAndroid.RESULTS.GRANTED;
 	}
 
+	static propTypes = {
+		onFinish: PropTypes.func.isRequired
+	}
+
 	constructor() {
 		super();
 
diff --git a/app/containers/status.js b/app/containers/status.js
index a2797ea5a..f318b91b5 100644
--- a/app/containers/status.js
+++ b/app/containers/status.js
@@ -14,27 +14,36 @@ const styles = StyleSheet.create({
 
 @connect(state => ({
 	activeUsers: state.activeUsers,
-	user: state.login.user
+	user: state.login.user,
+	offline: !state.meteor.connected
 }))
 
 export default class Status extends React.Component {
 	static propTypes = {
 		style: ViewPropTypes.style,
 		id: PropTypes.string,
-		activeUsers: PropTypes.object
+		activeUsers: PropTypes.object,
+		user: PropTypes.object,
+		offline: PropTypes.bool
 	};
 
 	shouldComponentUpdate(nextProps) {
 		const { id: userId, user } = this.props;
 		if (user.id === userId) {
+			if (nextProps.offline !== this.props.offline) {
+				return true;
+			}
 			return (nextProps.user && nextProps.user.status !== user.status);
 		}
 		return (nextProps.activeUsers[userId] && nextProps.activeUsers[userId].status) !== this.status;
 	}
 
 	get status() {
-		const { id: userId, user } = this.props;
+		const { id: userId, user, offline } = this.props;
 		if (user.id === userId) {
+			if (offline) {
+				return 'offline';
+			}
 			return user.status || 'offline';
 		}
 		return (this.props.activeUsers && this.props.activeUsers[userId] && this.props.activeUsers[userId].status) || 'offline';
diff --git a/app/lib/ddp.js b/app/lib/ddp.js
index 305382e88..33e856085 100644
--- a/app/lib/ddp.js
+++ b/app/lib/ddp.js
@@ -71,14 +71,14 @@ export default class Socket extends EventEmitter {
 		this.subscriptions = {};
 		this.ddp = new EventEmitter();
 		this._logged = false;
-		const waitTimeout = () => setTimeout(async() => {
+		const waitTimeout = () => setTimeout(() => {
 			// this.connection.ping();
-			this.send({ msg: 'ping' });
+			this.send({ msg: 'ping' }).catch(e => log('ping', e));
 			this.timeout = setTimeout(() => this.reconnect(), 1000);
 		}, 40000);
 		const handlePing = () => {
 			this.lastping = new Date();
-			this.send({ msg: 'pong' }, true);
+			this.send({ msg: 'pong' }, true).catch(e => log('pong', e));
 			if (this.timeout) {
 				clearTimeout(this.timeout);
 			}
@@ -93,10 +93,10 @@ export default class Socket extends EventEmitter {
 		};
 
 
-		AppState.addEventListener('change', (nextAppState) => {
+		AppState.addEventListener('change', async(nextAppState) => {
 			if (this.state && this.state.match(/inactive/) && nextAppState === 'active') {
 				try {
-					this.send({ msg: 'ping' }, true);
+					await this.send({ msg: 'ping' }, true);
 					// this.connection.ping();
 				} catch (e) {
 					this.reconnect();
@@ -115,25 +115,21 @@ export default class Socket extends EventEmitter {
 		this.on('ready', data => this.ddp.emit(data.subs[0], data));
 		// this.on('error', () => this.reconnect());
 		this.on('disconnected', debounce(() => this.reconnect(), 300));
-		this.on('logged', () => this._logged = true);
 
 		this.on('logged', () => {
+			this._logged = true;
 			Object.keys(this.subscriptions || {}).forEach((key) => {
 				const { name, params } = this.subscriptions[key];
-				this.subscriptions[key].unsubscribe();
-				this.subscribe(name, ...params);
+				this.subscriptions[key].unsubscribe().catch(e => log('this.on(logged) unsub', e));
+				this.subscribe(name, ...params).catch(e => log('this.on(logged) sub', e));
 			});
 		});
 		this.on('open', async() => {
 			this._logged = false;
-			this.send({ msg: 'connect', version: '1', support: ['1', 'pre2', 'pre1'] });
+			this.send({ msg: 'connect', version: '1', support: ['1', 'pre2', 'pre1'] }).catch(e => log('this.on(open)', e));
 		});
 
-		try {
-			this._connect();
-		} catch (e) {
-			log('ddp.constructor._connect', e);
-		}
+		this._connect().catch(e => log('ddp.constructor._connect', e));
 	}
 	check() {
 		if (!this.lastping) {
@@ -159,7 +155,7 @@ export default class Socket extends EventEmitter {
 				error.reason = 'User or Password incorrect';
 				error.message = 'User or Password incorrect';
 			}
-			this.emit('logginError', error);
+			this.emit('loginError', error);
 			return Promise.reject(error);
 		}
 	}
@@ -201,7 +197,11 @@ export default class Socket extends EventEmitter {
 			this.lastping = new Date();
 			this._close();
 			clearInterval(this.reconnect_timeout);
-			this.reconnect_timeout = setInterval(() => (!this.connection || this.connection.readyState > 1 || !this.check()) && this.reconnect(), 5000);
+			this.reconnect_timeout = setInterval(() => {
+				if (!this.connection || this.connection.readyState > 1 || !this.check()) {
+					this.reconnect();
+				}
+			}, 5000);
 			this.connection = new WebSocket(`${ this.url }/websocket`, null);
 
 			this.connection.onopen = () => {
@@ -210,7 +210,9 @@ export default class Socket extends EventEmitter {
 				this.ddp.emit('open');
 				return this._login && this.login(this._login);
 			};
-			this.connection.onclose = debounce((e) => { console.log('aer'); this.emit('disconnected', e); }, 300);
+			this.connection.onclose = debounce((e) => {
+				this.emit('disconnected', e);
+			}, 300);
 			this.connection.onmessage = (e) => {
 				try {
 					// console.log('received', e.data, e.target.readyState);
@@ -225,10 +227,13 @@ export default class Socket extends EventEmitter {
 	}
 	logout() {
 		this._login = null;
-		return this.call('logout').then(() => this.subscriptions = {});
+		return this.call('logout')
+			.catch(e => log('logout', e))
+			.finally(() => this.subscriptions = {});
 	}
 	disconnect() {
 		this._close();
+		this._logged = false;
 		this._login = null;
 		this.subscriptions = {};
 	}
@@ -236,7 +241,7 @@ export default class Socket extends EventEmitter {
 		if (this._timer) {
 			return;
 		}
-		delete this.connection;
+		this._close();
 		this._logged = false;
 
 		this._timer = setTimeout(async() => {
diff --git a/app/lib/rocketchat.js b/app/lib/rocketchat.js
index 2cd1705c1..b01774a00 100644
--- a/app/lib/rocketchat.js
+++ b/app/lib/rocketchat.js
@@ -91,10 +91,11 @@ const RocketChat = {
 		this.activeUsers = this.activeUsers || {};
 		const { user } = reduxStore.getState().login;
 
-		const status = (ddpMessage.fields && ddpMessage.fields.status) || 'offline';
-
 		if (user && user.id === ddpMessage.id) {
-			reduxStore.dispatch(setUser({ status }));
+			if (!ddpMessage.fields) {
+				reduxStore.dispatch(setUser({ status: 'offline' }));
+			}
+			reduxStore.dispatch(setUser(ddpMessage.fields));
 		}
 
 		if (this._setUserTimer) {
@@ -150,7 +151,7 @@ const RocketChat = {
 
 			this.ddp.on('login', protectedFunction(() => reduxStore.dispatch(loginRequest())));
 
-			this.ddp.on('logginError', protectedFunction(err => reduxStore.dispatch(loginFailure(err))));
+			this.ddp.on('loginError', protectedFunction(err => reduxStore.dispatch(loginFailure(err))));
 
 			this.ddp.on('users', protectedFunction(ddpMessage => RocketChat._setUser(ddpMessage)));
 
diff --git a/package-lock.json b/package-lock.json
index b8dbfd33f..e0d2ec7de 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -784,15 +784,15 @@
       "integrity": "sha512-iOD1PRnTSVr9sDWQdesIpfRrwJhHfeEQe5BpalQxC5OhM9thpiE6cu2NlW1KBWl0RJG4ZiJaF1xLlCo9YxU6dA=="
     },
     "@storybook/addon-actions": {
-      "version": "3.4.5",
-      "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-3.4.5.tgz",
-      "integrity": "sha512-l/PMGlOBRKzZfibEPT8+ntqT/lmGG5dTJDwnuVYWeR9hGdRc2sp6G2RjhsrPyl32t0io30JbATT/5xXB4eLEMQ==",
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-3.4.7.tgz",
+      "integrity": "sha512-/Z+XBEdsdIQywS2YpetBt3+LtY+5mENIJM5FPoCRgeTLLhwOMQsmijY/Pf7hs9RKW87gD7Pfs9YGSabNef74Mg==",
       "requires": {
-        "@storybook/components": "3.4.5",
+        "@storybook/components": "3.4.7",
         "babel-runtime": "6.26.0",
         "deep-equal": "1.0.1",
         "glamor": "2.20.40",
-        "glamorous": "4.13.0",
+        "glamorous": "4.13.1",
         "global": "4.3.2",
         "make-error": "1.3.4",
         "prop-types": "15.6.1",
@@ -808,30 +808,30 @@
       }
     },
     "@storybook/addon-links": {
-      "version": "3.4.5",
-      "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-3.4.5.tgz",
-      "integrity": "sha512-lRh6oELxI29qxSwqcQ6+SHo+vlsNcoLmeltq+Z1gtqzSC5JMlX77biOCumplvw0alsngkjMT0BOhHmEF7TyocQ==",
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-3.4.7.tgz",
+      "integrity": "sha512-xAdHLpPmXGIneVPSFBPLfHn+rjRgl4zJ6P7kWUBIyYJmZaL9re24CTn7prlqH/FgnhiswMT2SJyBhH/2GlotxQ==",
       "requires": {
-        "@storybook/components": "3.4.5",
+        "@storybook/components": "3.4.7",
         "babel-runtime": "6.26.0",
         "global": "4.3.2",
         "prop-types": "15.6.1"
       }
     },
     "@storybook/addon-storyshots": {
-      "version": "3.4.5",
-      "resolved": "https://registry.npmjs.org/@storybook/addon-storyshots/-/addon-storyshots-3.4.5.tgz",
-      "integrity": "sha512-37HfaGPreXd+bWFVkCO9Uk6EGnV41D72QsMlJaXGvu8xwriOUDQJXqdUR4PKdd1ZiwokNwO5G09V9Iie7oUShw==",
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/@storybook/addon-storyshots/-/addon-storyshots-3.4.7.tgz",
+      "integrity": "sha512-P856gofyMSsXWGVGaGi0D/Mea8PrOunAHARP+pZ55aRwtWc0S7ksw92KnP7HsNlTCaPogaSLtXEqw5SDk8Wt2w==",
       "dev": true,
       "requires": {
-        "@storybook/channels": "3.4.5",
-        "@storybook/node-logger": "3.4.5",
+        "@storybook/channels": "3.4.7",
+        "@storybook/node-logger": "3.4.7",
         "babel-runtime": "6.26.0",
         "glob": "7.1.2",
         "global": "4.3.2",
-        "jest-image-snapshot": "2.4.1",
+        "jest-image-snapshot": "2.4.3",
         "jest-specific-snapshot": "0.5.0",
-        "puppeteer": "1.4.0",
+        "puppeteer": "1.5.0",
         "read-pkg-up": "3.0.0"
       },
       "dependencies": {
@@ -896,81 +896,81 @@
       }
     },
     "@storybook/addons": {
-      "version": "3.4.5",
-      "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-3.4.5.tgz",
-      "integrity": "sha512-kL7EOA08qjltdYTFwWaay6uwHfXnw4oONppDM35gkhiIyyMyMA/JAvfdce5qXvJOnKwJzm+7fjAwWPhrK3i9rQ=="
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-3.4.7.tgz",
+      "integrity": "sha512-OpH9AZFJkXFaWYT5b8fp0o/Ucvk7hbIsrlqIQp+Nc/OEFxUnxqtNp+2MtCfRSfEvGoT/vTJv2bMXeWRgkTRoQg=="
     },
     "@storybook/channel-postmessage": {
-      "version": "3.4.5",
-      "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-3.4.5.tgz",
-      "integrity": "sha512-GAVFCxEmlw24TY7kLPT+1ACiubl9VmckS/MDnwRxdYZCSHQCedukq17cwRGeKy1KHOAQLyyABqFq912dPwjxDA==",
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-3.4.7.tgz",
+      "integrity": "sha512-o6PDQXvsA5IGlG0Ol62BYVt/1ZyHZ7ERFkWij368mCkHcFqE4mr9xOGr+rQkflMUl9tWnbdcfyp6KM3eq5nizA==",
       "requires": {
-        "@storybook/channels": "3.4.5",
+        "@storybook/channels": "3.4.7",
         "global": "4.3.2",
         "json-stringify-safe": "5.0.1"
       },
       "dependencies": {
         "@storybook/channels": {
-          "version": "3.4.5",
-          "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-3.4.5.tgz",
-          "integrity": "sha512-yn/DFw/WxkiPY0d7x+Zr/MHaYDheYoiuVwI94xxBNb2unnTDRdHjilnoCCaGVd986BY/ZzyBPKHApsM49ibrKA=="
+          "version": "3.4.7",
+          "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-3.4.7.tgz",
+          "integrity": "sha512-EzZx+4jJ2wNJ03N/HBfQVZ0XAhO8pfDlluDu/k9fWLWglHufpczp6NxvAL6qkUONVKwFpTPKizvDye3RUd+Qcw=="
         }
       }
     },
     "@storybook/channel-websocket": {
-      "version": "3.4.5",
-      "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-3.4.5.tgz",
-      "integrity": "sha512-lmfeKZmL5wJ0r4Lpq2Kit6xEnTCsckRQOQ2EDzdu9rku2RsTreJYtgWsd4LSEezI14itStqnxH0D/jVQvAuLhA==",
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-3.4.7.tgz",
+      "integrity": "sha512-nRZ5tjD4pT89085Z2a+tpHIdt1FahlQ0PIn9I0VwJttPl+6nMBgF/AdUWP6rO61LRYwd2Cug3Aatkwg5NFGq4A==",
       "requires": {
-        "@storybook/channels": "3.4.5",
+        "@storybook/channels": "3.4.7",
         "global": "4.3.2"
       },
       "dependencies": {
         "@storybook/channels": {
-          "version": "3.4.5",
-          "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-3.4.5.tgz",
-          "integrity": "sha512-yn/DFw/WxkiPY0d7x+Zr/MHaYDheYoiuVwI94xxBNb2unnTDRdHjilnoCCaGVd986BY/ZzyBPKHApsM49ibrKA=="
+          "version": "3.4.7",
+          "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-3.4.7.tgz",
+          "integrity": "sha512-EzZx+4jJ2wNJ03N/HBfQVZ0XAhO8pfDlluDu/k9fWLWglHufpczp6NxvAL6qkUONVKwFpTPKizvDye3RUd+Qcw=="
         }
       }
     },
     "@storybook/channels": {
-      "version": "3.4.5",
-      "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-3.4.5.tgz",
-      "integrity": "sha512-yn/DFw/WxkiPY0d7x+Zr/MHaYDheYoiuVwI94xxBNb2unnTDRdHjilnoCCaGVd986BY/ZzyBPKHApsM49ibrKA==",
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-3.4.7.tgz",
+      "integrity": "sha512-EzZx+4jJ2wNJ03N/HBfQVZ0XAhO8pfDlluDu/k9fWLWglHufpczp6NxvAL6qkUONVKwFpTPKizvDye3RUd+Qcw==",
       "dev": true
     },
     "@storybook/client-logger": {
-      "version": "3.4.5",
-      "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-3.4.5.tgz",
-      "integrity": "sha512-8ECV534PjKK1CAHEFr5fLbPEs7K77G4om5fCCsA9KxdkqcNTUI/YE5COWoP08EcEdZsQWeIW3MqE8H0ZkRt7qA=="
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-3.4.7.tgz",
+      "integrity": "sha512-obyFZrM2Axoj0MwMoAZTvvGM/VjwLdXzUGZQLpafz97s61eDq6SX6Nd7rPyh1WJU+O5+1oo4R8u03iikpi3o2A=="
     },
     "@storybook/components": {
-      "version": "3.4.5",
-      "resolved": "https://registry.npmjs.org/@storybook/components/-/components-3.4.5.tgz",
-      "integrity": "sha512-A1Gg5s0DEe+m/KN8Wqemcm4D46/2n6PiPAkd8DxxFRNOWlW84qlSkE8cD8KPmZRPDlGaYRAR6KM/c3MPyaPqJQ==",
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/@storybook/components/-/components-3.4.7.tgz",
+      "integrity": "sha512-i6EbX4XQ25uZtwX+bzmYbfBr1gSSRuFItShSRKYmsPyweqc9UVa2f3zMb8qhO9DpAVIOkXjBho5WICR7dbE9CQ==",
       "requires": {
         "glamor": "2.20.40",
-        "glamorous": "4.13.0",
+        "glamorous": "4.13.1",
         "prop-types": "15.6.1"
       }
     },
     "@storybook/core": {
-      "version": "3.4.5",
-      "resolved": "https://registry.npmjs.org/@storybook/core/-/core-3.4.5.tgz",
-      "integrity": "sha512-LOD8Gg05D6E4hw5WB3SCqosPy58fWyTWWJAh6FLzcTF6aVA/PIxNObw1JKTKQoeMBY1G6xJw1QACRaiLUMQWTQ==",
-      "requires": {
-        "@storybook/addons": "3.4.5",
-        "@storybook/channel-postmessage": "3.4.5",
-        "@storybook/client-logger": "3.4.5",
-        "@storybook/node-logger": "3.4.5",
-        "@storybook/ui": "3.4.5",
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/@storybook/core/-/core-3.4.7.tgz",
+      "integrity": "sha512-mYMGmjFpJXGwVv2K7JjYUtaluI4ixhsb8VoJHU8tfrdqeiY26grsA5aUtosuFM0TsKft/GpZIOPfoynxHgBtjA==",
+      "requires": {
+        "@storybook/addons": "3.4.7",
+        "@storybook/channel-postmessage": "3.4.7",
+        "@storybook/client-logger": "3.4.7",
+        "@storybook/node-logger": "3.4.7",
+        "@storybook/ui": "3.4.7",
         "autoprefixer": "7.2.6",
         "babel-runtime": "6.26.0",
         "chalk": "2.4.1",
         "commander": "2.15.1",
         "css-loader": "0.28.11",
         "dotenv": "5.0.1",
-        "events": "2.0.0",
+        "events": "2.1.0",
         "express": "4.16.3",
         "file-loader": "1.1.11",
         "global": "4.3.2",
@@ -989,9 +989,9 @@
       },
       "dependencies": {
         "@storybook/node-logger": {
-          "version": "3.4.5",
-          "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-3.4.5.tgz",
-          "integrity": "sha512-5+noqmkdgIjH4b/hzFkLfBZ355griskZYTl2xDZsHwTM3id39/4TZmlhjXxtmb6WhaPSIzhFyCqtFD+uzFgzfw==",
+          "version": "3.4.7",
+          "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-3.4.7.tgz",
+          "integrity": "sha512-JtDpcKYn+1V7qIhaCmGveWfHd9n3GV7mxDCwEWuSQpcVTnD9YEww0LDtK9RyjR6dClXZwuzY52p4WDN7g5wWSQ==",
           "requires": {
             "npmlog": "4.1.2"
           }
@@ -1015,9 +1015,9 @@
           }
         },
         "events": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/events/-/events-2.0.0.tgz",
-          "integrity": "sha512-r/M5YkNg9zwI8QbSf7tsDWWJvO3PGwZXyG7GpFAxtMASnHL2eblFd7iHiGPtyGKKFPZ59S63NeX10Ws6WqGDcg=="
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz",
+          "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg=="
         },
         "has-flag": {
           "version": "3.0.0",
@@ -1064,9 +1064,9 @@
       }
     },
     "@storybook/node-logger": {
-      "version": "3.4.5",
-      "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-3.4.5.tgz",
-      "integrity": "sha512-5+noqmkdgIjH4b/hzFkLfBZ355griskZYTl2xDZsHwTM3id39/4TZmlhjXxtmb6WhaPSIzhFyCqtFD+uzFgzfw==",
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-3.4.7.tgz",
+      "integrity": "sha512-JtDpcKYn+1V7qIhaCmGveWfHd9n3GV7mxDCwEWuSQpcVTnD9YEww0LDtK9RyjR6dClXZwuzY52p4WDN7g5wWSQ==",
       "dev": true,
       "requires": {
         "npmlog": "4.1.2"
@@ -1094,18 +1094,18 @@
       }
     },
     "@storybook/react-native": {
-      "version": "3.4.5",
-      "resolved": "https://registry.npmjs.org/@storybook/react-native/-/react-native-3.4.5.tgz",
-      "integrity": "sha512-JbRZ8uOjp67iTvpdLkFmYcn7U0/uaVanwqI0AGct+J7GTQrGISXlhZNrMpgaDPaW5aeksmnKp3I8GLadYYM5iQ==",
-      "requires": {
-        "@storybook/addon-actions": "3.4.5",
-        "@storybook/addon-links": "3.4.5",
-        "@storybook/addons": "3.4.5",
-        "@storybook/channel-websocket": "3.4.5",
-        "@storybook/core": "3.4.5",
-        "@storybook/ui": "3.4.5",
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/@storybook/react-native/-/react-native-3.4.7.tgz",
+      "integrity": "sha512-m4eG2XhijlOzl441ePnm2XmXhSgfHOK0XqXJlEHcjXsBYgnCycEbhhM41Xt7ysP8Gm3tdGET7vJX+NJuzY6sXw==",
+      "requires": {
+        "@storybook/addon-actions": "3.4.7",
+        "@storybook/addon-links": "3.4.7",
+        "@storybook/addons": "3.4.7",
+        "@storybook/channel-websocket": "3.4.7",
+        "@storybook/core": "3.4.7",
+        "@storybook/ui": "3.4.7",
         "babel-loader": "7.1.4",
-        "babel-plugin-macros": "2.2.1",
+        "babel-plugin-macros": "2.2.2",
         "babel-plugin-syntax-async-functions": "6.13.0",
         "babel-plugin-syntax-trailing-function-commas": "6.22.0",
         "babel-plugin-transform-class-properties": "6.24.1",
@@ -1131,7 +1131,7 @@
         "react-native-iphone-x-helper": "1.0.2",
         "shelljs": "0.8.2",
         "uglifyjs-webpack-plugin": "1.2.5",
-        "url-parse": "1.4.0",
+        "url-parse": "1.4.1",
         "util-deprecate": "1.0.2",
         "uuid": "3.2.1",
         "webpack": "3.12.0",
@@ -1195,18 +1195,18 @@
       }
     },
     "@storybook/ui": {
-      "version": "3.4.5",
-      "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-3.4.5.tgz",
-      "integrity": "sha512-UxHsfp80M8nCmBMA9b37ZjZEqsReTFGXzeerNK2p+Y+eA7tivYh2X4V2P/Ldq/2ErgCLvHlszNmGzcC3KNeiuw==",
+      "version": "3.4.7",
+      "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-3.4.7.tgz",
+      "integrity": "sha512-GMloQZpsbNI5fBJZemwsmLjkso+ccPtxa0rdpt1gkwpPcB8uoTQglK2Pbg+ojHR5y46K/Alu9bmQ1IZRfTcVzQ==",
       "requires": {
-        "@storybook/components": "3.4.5",
+        "@storybook/components": "3.4.7",
         "@storybook/mantra-core": "1.7.2",
         "@storybook/podda": "1.2.3",
         "@storybook/react-komposer": "2.0.4",
         "babel-runtime": "6.26.0",
         "deep-equal": "1.0.1",
-        "events": "2.0.0",
-        "fuse.js": "3.2.0",
+        "events": "2.1.0",
+        "fuse.js": "3.2.1",
         "global": "4.3.2",
         "keycode": "2.2.0",
         "lodash.debounce": "4.0.8",
@@ -1217,15 +1217,15 @@
         "qs": "6.5.1",
         "react-fuzzy": "0.5.2",
         "react-icons": "2.2.7",
-        "react-modal": "3.4.4",
+        "react-modal": "3.4.5",
         "react-split-pane": "0.1.77",
         "react-treebeard": "2.1.0"
       },
       "dependencies": {
         "events": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/events/-/events-2.0.0.tgz",
-          "integrity": "sha512-r/M5YkNg9zwI8QbSf7tsDWWJvO3PGwZXyG7GpFAxtMASnHL2eblFd7iHiGPtyGKKFPZ59S63NeX10Ws6WqGDcg=="
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz",
+          "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg=="
         }
       }
     },
@@ -1235,19 +1235,19 @@
       "integrity": "sha512-FWR7QB7EqBRq1s9BMk0ccOSOuRLfVEWYpHQYpFPaXtCoqN6dJx2ttdsdQbUxLLnAlKpYeVjveGGhQ3583TTa7g=="
     },
     "@types/react": {
-      "version": "16.3.14",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-16.3.14.tgz",
-      "integrity": "sha512-wNUGm49fPl7eE2fnYdF0v5vSOrUMdKMQD/4NwtQRnb6mnPwtkhabmuFz37eq90+hhyfz0pWd38jkZHOcaZ6LGw==",
+      "version": "16.3.17",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-16.3.17.tgz",
+      "integrity": "sha512-f2ZTOSF7l9sRdXSbzLI84Z2wsVnj3qUjfJhtDLSi7lTWFMo1WSou7eQ2vkQga8100zhzzDjSyGbj+Viz7i927g==",
       "requires": {
-        "csstype": "2.5.2"
+        "csstype": "2.5.3"
       }
     },
     "@types/react-native": {
-      "version": "0.55.15",
-      "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.55.15.tgz",
-      "integrity": "sha512-AEnb2qacurrUL8A1EQknPKzJUXMtliPNRkd+xa4J/joUbsFen3aynVkYi+OPZ2cyomB+FWz+vv9uKCxURkgChQ==",
+      "version": "0.55.18",
+      "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.55.18.tgz",
+      "integrity": "sha512-4HaCc8Hk04pZ+v47K0j0sG3B5m7Ez/1uKHSHre9nNjevw9viAJcjhUZ0mqhhar+Hvavp3rHnbZwqxODluyWsTA==",
       "requires": {
-        "@types/react": "16.3.14"
+        "@types/react": "16.3.17"
       }
     },
     "@zamotany/react-proxy": {
@@ -1712,12 +1712,12 @@
       }
     },
     "append-transform": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz",
-      "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
+      "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
       "dev": true,
       "requires": {
-        "default-require-extensions": "1.0.0"
+        "default-require-extensions": "2.0.0"
       }
     },
     "aproba": {
@@ -2336,13 +2336,13 @@
       }
     },
     "babel-jest": {
-      "version": "22.4.4",
-      "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-22.4.4.tgz",
-      "integrity": "sha512-A9NB6/lZhYyypR9ATryOSDcqBaqNdzq4U+CN+/wcMsLcmKkPxQEoTKLajGfd3IkxNyVBT8NewUK2nWyGbSzHEQ==",
+      "version": "23.0.1",
+      "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.0.1.tgz",
+      "integrity": "sha1-u6079SP7IC2gXtCmVAtIyE7tE6Y=",
       "dev": true,
       "requires": {
         "babel-plugin-istanbul": "4.1.6",
-        "babel-preset-jest": "22.4.4"
+        "babel-preset-jest": "23.0.1"
       }
     },
     "babel-loader": {
@@ -2392,15 +2392,15 @@
       }
     },
     "babel-plugin-jest-hoist": {
-      "version": "22.4.4",
-      "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz",
-      "integrity": "sha512-DUvGfYaAIlkdnygVIEl0O4Av69NtuQWcrjMOv6DODPuhuGLDnbsARz3AwiiI/EkIMMlxQDUcrZ9yoyJvTNjcVQ==",
+      "version": "23.0.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.0.1.tgz",
+      "integrity": "sha1-6qEclkVjrqnCG+zvK994U/fzwUg=",
       "dev": true
     },
     "babel-plugin-macros": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.2.1.tgz",
-      "integrity": "sha512-DSLZpd6/LQFOJUr2pQK6pncxvAL87E6ReWgfaEfgOL1y/YTTIeqVfsrbdDgerdjtVzCIKajD32fxlvhEgvxMEw==",
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.2.2.tgz",
+      "integrity": "sha512-wq6DYqjNmSPskGyhOeRIbmuvLtsHTfc6ROtGqapTttIGL1RoQmM3V5N8aJiDxPaw3/fveIsVspF51E3V7qTOMQ==",
       "requires": {
         "cosmiconfig": "4.0.0"
       },
@@ -2411,7 +2411,7 @@
           "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
           "requires": {
             "is-directory": "0.3.1",
-            "js-yaml": "3.11.0",
+            "js-yaml": "3.12.0",
             "parse-json": "4.0.0",
             "require-from-string": "2.0.2"
           }
@@ -2422,9 +2422,9 @@
           "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw=="
         },
         "js-yaml": {
-          "version": "3.11.0",
-          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
-          "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
+          "version": "3.12.0",
+          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
+          "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
           "requires": {
             "argparse": "1.0.9",
             "esprima": "4.0.0"
@@ -2620,9 +2620,9 @@
       }
     },
     "babel-plugin-transform-decorators-legacy": {
-      "version": "1.3.4",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz",
-      "integrity": "sha1-dBtY9sW86eYCfgiC2cmU8E82aSU=",
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.5.tgz",
+      "integrity": "sha512-jYHwjzRXRelYQ1uGm353zNzf3QmtdCfvJbuYTZ4gKveK7M9H1fs3a5AKdY1JUDl0z97E30ukORW1dzhWvsabtA==",
       "requires": {
         "babel-plugin-syntax-decorators": "6.13.0",
         "babel-runtime": "6.26.0",
@@ -3138,7 +3138,7 @@
       "integrity": "sha512-EWFC6WJzZX5t2zZfLNdJXUkNMusUkxP5V+GrXaSk8pKbWGjE3TD2i33ncpF/4aQM9QGDm+SH6pImZJOqIDlRUw==",
       "requires": {
         "babel-plugin-module-resolver": "2.7.1",
-        "babel-plugin-transform-decorators-legacy": "1.3.4",
+        "babel-plugin-transform-decorators-legacy": "1.3.5",
         "babel-plugin-transform-exponentiation-operator": "6.24.1",
         "babel-plugin-transform-export-extensions": "6.22.0",
         "babel-preset-react-native": "4.0.0"
@@ -3228,12 +3228,12 @@
       }
     },
     "babel-preset-jest": {
-      "version": "22.4.4",
-      "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-22.4.4.tgz",
-      "integrity": "sha512-+dxMtOFwnSYWfum0NaEc0O03oSdwBsjx4tMSChRDPGwu/4wSY6Q6ANW3wkjKpJzzguaovRs/DODcT4hbSN8yiA==",
+      "version": "23.0.1",
+      "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.0.1.tgz",
+      "integrity": "sha1-YxzFRcbPAhlDATvK8i9F2H/mIZg=",
       "dev": true,
       "requires": {
-        "babel-plugin-jest-hoist": "22.4.4",
+        "babel-plugin-jest-hoist": "23.0.1",
         "babel-plugin-syntax-object-rest-spread": "6.13.0"
       }
     },
@@ -3745,18 +3745,18 @@
       }
     },
     "buffer-alloc": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.1.0.tgz",
-      "integrity": "sha1-BVFNM78WVtNUDGhPZbEgLpDsowM=",
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
+      "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
       "requires": {
-        "buffer-alloc-unsafe": "0.1.1",
-        "buffer-fill": "0.1.1"
+        "buffer-alloc-unsafe": "1.1.0",
+        "buffer-fill": "1.0.0"
       }
     },
     "buffer-alloc-unsafe": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-0.1.1.tgz",
-      "integrity": "sha1-/+H2dVHdBVc33iUzN7/oU9+rGmo="
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
+      "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
     },
     "buffer-crc32": {
       "version": "0.2.13",
@@ -3764,14 +3764,14 @@
       "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
     },
     "buffer-fill": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-0.1.1.tgz",
-      "integrity": "sha512-YgBMBzdRLEfgxJIGu2wrvI2E03tMCFU1p7d1KhB4BOoMN0VxmTFjSyN5JtKt9z8Z9JajMHruI6SE25W96wNv7Q=="
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
+      "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw="
     },
     "buffer-from": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz",
-      "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz",
+      "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==",
       "dev": true
     },
     "buffer-xor": {
@@ -3896,7 +3896,7 @@
       "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
       "requires": {
         "browserslist": "1.7.7",
-        "caniuse-db": "1.0.30000844",
+        "caniuse-db": "1.0.30000852",
         "lodash.memoize": "4.1.2",
         "lodash.uniq": "4.5.0"
       },
@@ -3906,16 +3906,16 @@
           "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
           "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
           "requires": {
-            "caniuse-db": "1.0.30000844",
+            "caniuse-db": "1.0.30000852",
             "electron-to-chromium": "1.3.41"
           }
         }
       }
     },
     "caniuse-db": {
-      "version": "1.0.30000844",
-      "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000844.tgz",
-      "integrity": "sha1-vKV5jNoraTHWgQDC1p5V+zOMu0E="
+      "version": "1.0.30000852",
+      "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000852.tgz",
+      "integrity": "sha1-w3pwYEj42B+HlGp8E/Oe1jaHZlk="
     },
     "caniuse-lite": {
       "version": "1.0.30000823",
@@ -4402,9 +4402,9 @@
       }
     },
     "classnames": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz",
-      "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0="
+      "version": "2.2.6",
+      "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
+      "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
     },
     "clean-css": {
       "version": "4.1.11",
@@ -4678,9 +4678,9 @@
       }
     },
     "compare-versions": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.2.1.tgz",
-      "integrity": "sha512-2y2nHcopMG/NAyk6vWXlLs86XeM9sik4jmx1tKIgzMi9/RQ2eo758RGpxQO3ErihHmg0RlQITPqgz73y6s7quA==",
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.3.0.tgz",
+      "integrity": "sha512-MAAAIOdi2s4Gl6rZ76PNcUa9IOYB+5ICdT41o5uMRf09aEu/F9RK+qhe8RjXNPwcTjGV7KU7h2P/fljThFVqyQ==",
       "dev": true
     },
     "component-bind": {
@@ -5024,6 +5024,11 @@
         "randomfill": "1.0.4"
       }
     },
+    "crypto-js": {
+      "version": "3.1.8",
+      "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.8.tgz",
+      "integrity": "sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU="
+    },
     "crypto-random-string": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
@@ -5159,7 +5164,7 @@
         "postcss-discard-empty": "2.1.0",
         "postcss-discard-overridden": "0.1.1",
         "postcss-discard-unused": "2.2.3",
-        "postcss-filter-plugins": "2.0.2",
+        "postcss-filter-plugins": "2.0.3",
         "postcss-merge-idents": "2.1.7",
         "postcss-merge-longhand": "2.0.2",
         "postcss-merge-rules": "2.1.2",
@@ -5185,7 +5190,7 @@
           "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
           "requires": {
             "browserslist": "1.7.7",
-            "caniuse-db": "1.0.30000844",
+            "caniuse-db": "1.0.30000852",
             "normalize-range": "0.1.2",
             "num2fraction": "1.2.2",
             "postcss": "5.2.18",
@@ -5197,7 +5202,7 @@
           "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
           "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
           "requires": {
-            "caniuse-db": "1.0.30000844",
+            "caniuse-db": "1.0.30000852",
             "electron-to-chromium": "1.3.41"
           }
         },
@@ -5243,18 +5248,18 @@
       "dev": true
     },
     "cssstyle": {
-      "version": "0.2.37",
-      "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz",
-      "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=",
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.3.1.tgz",
+      "integrity": "sha512-tNvaxM5blOnxanyxI6panOsnfiyLRj3HV4qjqqS45WPNS1usdYWRUQjqTEEELK73lpeP/1KoIGYUwrBn/VcECA==",
       "dev": true,
       "requires": {
         "cssom": "0.3.2"
       }
     },
     "csstype": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.2.tgz",
-      "integrity": "sha512-epoHrKPywwUhFTXadQNA5PPx4GChtkM03SkBeFZTaFtJcn6QfXpBkX2IAc4J9Oe18nha5NrTOo2OMOge+qH1mw=="
+      "version": "2.5.3",
+      "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.3.tgz",
+      "integrity": "sha512-G5HnoK8nOiAq3DXIEoY2n/8Vb7Lgrms+jGJl8E4EJpQEeVONEnPFJSl8IK505wPBoxxtrtHhrRm4WX2GgdqarA=="
     },
     "cyclist": {
       "version": "0.2.2",
@@ -5302,7 +5307,7 @@
       "requires": {
         "abab": "1.0.4",
         "whatwg-mimetype": "2.1.0",
-        "whatwg-url": "6.4.1"
+        "whatwg-url": "6.5.0"
       }
     },
     "date-now": {
@@ -5390,7 +5395,7 @@
         "file-type": "3.9.0",
         "get-stream": "2.3.1",
         "pify": "2.3.0",
-        "yauzl": "2.9.1"
+        "yauzl": "2.9.2"
       },
       "dependencies": {
         "file-type": {
@@ -5421,33 +5426,27 @@
       "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
     },
     "deep-extend": {
-      "version": "0.5.1",
-      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz",
-      "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w=="
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
     },
     "deep-is": {
       "version": "0.1.3",
       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
       "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
     },
+    "deepmerge": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.0.tgz",
+      "integrity": "sha512-Q89Z26KAfA3lpPGhbF6XMfYAm3jIV3avViy6KOJ2JLzFbeWHOvPQUu5aSJIWXap3gDZC2y1eF5HXEPI2wGqgvw=="
+    },
     "default-require-extensions": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz",
-      "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
+      "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
       "dev": true,
       "requires": {
-        "strip-bom": "2.0.0"
-      },
-      "dependencies": {
-        "strip-bom": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
-          "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
-          "dev": true,
-          "requires": {
-            "is-utf8": "0.2.1"
-          }
-        }
+        "strip-bom": "3.0.0"
       }
     },
     "define-properties": {
@@ -5585,9 +5584,9 @@
       }
     },
     "detox": {
-      "version": "7.3.5",
-      "resolved": "https://registry.npmjs.org/detox/-/detox-7.3.5.tgz",
-      "integrity": "sha512-qFAlpFAR7KOZLFoVyGHUfvvfeC6ULzdFCMnM/qlCt2rRkCC4hB1KEtzsPng92N+Si+ZNeByJ+mjWt68nbamsUQ==",
+      "version": "7.4.2",
+      "resolved": "https://registry.npmjs.org/detox/-/detox-7.4.2.tgz",
+      "integrity": "sha512-67/kuPxPXVTHECdzxjfd66TZvivIdHKJOWvVbPCiUW7eb4SaS52Q7Nlfyy8VcaD/yItYQNWkU5/Vu786pPY1Ng==",
       "dev": true,
       "requires": {
         "child-process-promise": "2.2.1",
@@ -5597,8 +5596,10 @@
         "get-port": "2.1.0",
         "ini": "1.3.5",
         "lodash": "4.17.10",
+        "minimist": "1.2.0",
         "npmlog": "4.1.2",
-        "shell-utils": "1.0.9",
+        "proper-lockfile": "3.0.2",
+        "shell-utils": "1.0.10",
         "tail": "1.2.3",
         "telnet-client": "0.15.3",
         "ws": "1.1.5"
@@ -5816,9 +5817,9 @@
       }
     },
     "email-validator": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/email-validator/-/email-validator-2.0.3.tgz",
-      "integrity": "sha1-M+UNZvUmuXzXLBcgWu+ux5yKKh4="
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/email-validator/-/email-validator-2.0.4.tgz",
+      "integrity": "sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ=="
     },
     "emoji-regex": {
       "version": "6.5.1",
@@ -6399,15 +6400,26 @@
       }
     },
     "eslint-plugin-react": {
-      "version": "7.8.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.8.2.tgz",
-      "integrity": "sha512-H3ne8ob4Bn6NXSN9N9twsn7t8dyHT5bF/ibQepxIHi6JiPIdC2gXlfYvZYucbdrWio4FxBq7Z4mSauQP+qmMkQ==",
+      "version": "7.9.1",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.9.1.tgz",
+      "integrity": "sha512-uvq+2ZkiqzjwF+pMZ8xqIC3pChV4KviPvvPIyQOvKWnjtvyW3iGfHIRqVumw05L3itby0QGmA4VdBA9m1OdMmg==",
       "dev": true,
       "requires": {
         "doctrine": "2.1.0",
-        "has": "1.0.1",
+        "has": "1.0.3",
         "jsx-ast-utils": "2.0.1",
         "prop-types": "15.6.1"
+      },
+      "dependencies": {
+        "has": {
+          "version": "1.0.3",
+          "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+          "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+          "dev": true,
+          "requires": {
+            "function-bind": "1.1.1"
+          }
+        }
       }
     },
     "eslint-plugin-react-native": {
@@ -6606,17 +6618,17 @@
       }
     },
     "expect": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/expect/-/expect-22.4.3.tgz",
-      "integrity": "sha512-XcNXEPehqn8b/jm8FYotdX0YrXn36qp4HWlrVT4ktwQas1l1LPxiVWncYnnL2eyMtKAmVIaG0XAp0QlrqJaxaA==",
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/expect/-/expect-23.1.0.tgz",
+      "integrity": "sha1-v9/VeiogFw2HWZnul4fMcfAcIF8=",
       "dev": true,
       "requires": {
         "ansi-styles": "3.2.1",
-        "jest-diff": "22.4.3",
+        "jest-diff": "23.0.1",
         "jest-get-type": "22.4.3",
-        "jest-matcher-utils": "22.4.3",
-        "jest-message-util": "22.4.3",
-        "jest-regex-util": "22.4.3"
+        "jest-matcher-utils": "23.0.1",
+        "jest-message-util": "23.1.0",
+        "jest-regex-util": "23.0.0"
       },
       "dependencies": {
         "ansi-styles": {
@@ -6710,30 +6722,27 @@
       }
     },
     "extract-zip": {
-      "version": "1.6.6",
-      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz",
-      "integrity": "sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw=",
+      "version": "1.6.7",
+      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
+      "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
       "dev": true,
       "requires": {
-        "concat-stream": "1.6.0",
+        "concat-stream": "1.6.2",
         "debug": "2.6.9",
-        "mkdirp": "0.5.0",
+        "mkdirp": "0.5.1",
         "yauzl": "2.4.1"
       },
       "dependencies": {
-        "minimist": {
-          "version": "0.0.8",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
-          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
-          "dev": true
-        },
-        "mkdirp": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
-          "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
+        "concat-stream": {
+          "version": "1.6.2",
+          "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+          "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
           "dev": true,
           "requires": {
-            "minimist": "0.0.8"
+            "buffer-from": "1.1.0",
+            "inherits": "2.0.3",
+            "readable-stream": "2.3.5",
+            "typedarray": "0.0.6"
           }
         },
         "yauzl": {
@@ -6785,9 +6794,9 @@
       "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
     },
     "fast-memoize": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.3.2.tgz",
-      "integrity": "sha512-h2avnhux4p3tXTA9xR7ntnQSFQdY4hAkyNj8wDXlVT2Die38JxVCInnrieuktdxzRevRWa3dBjN+SbQe1os0GQ=="
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.4.0.tgz",
+      "integrity": "sha512-ISTsDL4wfSoLK1RoFNl8F8hE40jPF3St08YAv/qJTJk2mah7RUH6nhCBaeRseb0TvhOFNXD9A8AJuYVS4XR7sg=="
     },
     "fastparse": {
       "version": "1.1.1",
@@ -6852,6 +6861,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
       "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+      "dev": true,
       "requires": {
         "pend": "1.2.0"
       }
@@ -7952,9 +7962,9 @@
       "dev": true
     },
     "fuse.js": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.2.0.tgz",
-      "integrity": "sha1-8ESOgGmFW/Kj5oPNwdMg5+KgfvQ="
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.2.1.tgz",
+      "integrity": "sha1-YyDLlM5W7JdVyJred1vNuwNY1CU="
     },
     "gauge": {
       "version": "2.7.4",
@@ -8063,13 +8073,13 @@
       }
     },
     "glamorous": {
-      "version": "4.13.0",
-      "resolved": "https://registry.npmjs.org/glamorous/-/glamorous-4.13.0.tgz",
-      "integrity": "sha512-lJ+ET2Cz5+ZIsxrFNruN7Ye30PSe+jSN8jbma2+AAmNoJZOozqtjfjB5EVi16J9G3CjjXQtENsv4shwR1YYtaQ==",
+      "version": "4.13.1",
+      "resolved": "https://registry.npmjs.org/glamorous/-/glamorous-4.13.1.tgz",
+      "integrity": "sha512-x9yCGlRrPEkHF63m+WoZXHnpSet5ipS/fxczx5ic0ZKPPd2mMDyCZ0iEhse49OFlag0yxbJTc7k/L0g1GCmCYQ==",
       "requires": {
         "brcast": "3.0.1",
-        "csstype": "2.5.2",
-        "fast-memoize": "2.3.2",
+        "csstype": "2.5.3",
+        "fast-memoize": "2.4.0",
         "html-tag-names": "1.1.3",
         "is-function": "1.0.1",
         "is-plain-object": "2.0.4",
@@ -8176,9 +8186,9 @@
       }
     },
     "growl": {
-      "version": "1.10.3",
-      "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz",
-      "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==",
+      "version": "1.10.5",
+      "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
+      "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
       "dev": true
     },
     "growly": {
@@ -8669,7 +8679,7 @@
         "he": "1.1.1",
         "param-case": "2.1.1",
         "relateurl": "0.2.7",
-        "uglify-js": "3.3.26"
+        "uglify-js": "3.3.28"
       },
       "dependencies": {
         "source-map": {
@@ -8678,9 +8688,9 @@
           "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
         },
         "uglify-js": {
-          "version": "3.3.26",
-          "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.26.tgz",
-          "integrity": "sha512-XHxutZNxbx0UnqNUrjL/wvABLxirEYpbAnjCWGakPfQRJbbAGF2dI+YYw300F5mYKm7zBtgYiw3kOiQFobzglQ==",
+          "version": "3.3.28",
+          "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.28.tgz",
+          "integrity": "sha512-68Rc/aA6cswiaQ5SrE979UJcXX+ADA1z33/ZsPd+fbAiVdjZ16OXdbtGO+rJUUBgK6qdf3SOPhQf3K/ybF5Miw==",
           "requires": {
             "commander": "2.15.1",
             "source-map": "0.6.1"
@@ -8785,9 +8795,9 @@
       }
     },
     "http-parser-js": {
-      "version": "0.4.12",
-      "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.12.tgz",
-      "integrity": "sha1-uc+/Sizybw/DSxDKFImid3HjR08="
+      "version": "0.4.13",
+      "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz",
+      "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc="
     },
     "http-proxy-agent": {
       "version": "2.1.0",
@@ -9407,41 +9417,17 @@
       "dev": true,
       "requires": {
         "async": "2.6.0",
-        "compare-versions": "3.2.1",
+        "compare-versions": "3.3.0",
         "fileset": "2.0.3",
         "istanbul-lib-coverage": "1.2.0",
-        "istanbul-lib-hook": "1.2.0",
+        "istanbul-lib-hook": "1.2.1",
         "istanbul-lib-instrument": "1.10.1",
         "istanbul-lib-report": "1.1.4",
-        "istanbul-lib-source-maps": "1.2.4",
+        "istanbul-lib-source-maps": "1.2.5",
         "istanbul-reports": "1.3.0",
         "js-yaml": "3.7.0",
         "mkdirp": "0.5.1",
         "once": "1.4.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "istanbul-lib-source-maps": {
-          "version": "1.2.4",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz",
-          "integrity": "sha512-UzuK0g1wyQijiaYQxj/CdNycFhAd2TLtO2obKQMTZrZ1jzEMRY3rvpASEKkaxbRR6brvdovfA03znPa/pXcejg==",
-          "dev": true,
-          "requires": {
-            "debug": "3.1.0",
-            "istanbul-lib-coverage": "1.2.0",
-            "mkdirp": "0.5.1",
-            "rimraf": "2.6.2",
-            "source-map": "0.5.7"
-          }
-        }
       }
     },
     "istanbul-lib-coverage": {
@@ -9451,12 +9437,12 @@
       "dev": true
     },
     "istanbul-lib-hook": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.0.tgz",
-      "integrity": "sha512-p3En6/oGkFQV55Up8ZPC2oLxvgSxD8CzA0yBrhRZSh3pfv3OFj9aSGVC0yoerAi/O4u7jUVnOGVX1eVFM+0tmQ==",
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.1.tgz",
+      "integrity": "sha512-eLAMkPG9FU0v5L02lIkcj/2/Zlz9OuluaXikdr5iStk8FDbSwAixTK9TkYxbF0eNnzAJTwM2fkV2A1tpsIp4Jg==",
       "dev": true,
       "requires": {
-        "append-transform": "0.4.0"
+        "append-transform": "1.0.0"
       }
     },
     "istanbul-lib-instrument": {
@@ -9504,9 +9490,9 @@
       }
     },
     "istanbul-lib-source-maps": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz",
-      "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==",
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz",
+      "integrity": "sha512-8O2T/3VhrQHn0XcJbP1/GN7kXMiRAlPi+fj3uEHrjBD8Oz7Py0prSC25C09NuAZS6bgW1NNKAvCSHZXB0irSGA==",
       "dev": true,
       "requires": {
         "debug": "3.1.0",
@@ -9537,28 +9523,28 @@
       }
     },
     "jest": {
-      "version": "22.4.4",
-      "resolved": "https://registry.npmjs.org/jest/-/jest-22.4.4.tgz",
-      "integrity": "sha512-eBhhW8OS/UuX3HxgzNBSVEVhSuRDh39Z1kdYkQVWna+scpgsrD7vSeBI7tmEvsguPDMnfJodW28YBnhv/BzSew==",
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest/-/jest-23.1.0.tgz",
+      "integrity": "sha1-u7f4kxAKEadC3YvQ0EelSwlorRo=",
       "dev": true,
       "requires": {
         "import-local": "1.0.0",
-        "jest-cli": "22.4.4"
+        "jest-cli": "23.1.0"
       }
     },
     "jest-changed-files": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-22.4.3.tgz",
-      "integrity": "sha512-83Dh0w1aSkUNFhy5d2dvqWxi/y6weDwVVLU6vmK0cV9VpRxPzhTeGimbsbRDSnEoszhF937M4sDLLeS7Cu/Tmw==",
+      "version": "23.0.1",
+      "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-23.0.1.tgz",
+      "integrity": "sha1-95Vy0HIIROpd+EwqRI6GLCJU9gw=",
       "dev": true,
       "requires": {
         "throat": "4.1.0"
       }
     },
     "jest-cli": {
-      "version": "22.4.4",
-      "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-22.4.4.tgz",
-      "integrity": "sha512-I9dsgkeyjVEEZj9wrGrqlH+8OlNob9Iptyl+6L5+ToOLJmHm4JwOPatin1b2Bzp5R5YRQJ+oiedx7o1H7wJzhA==",
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-23.1.0.tgz",
+      "integrity": "sha1-64vdTODRUlCJLjGtm2m8mdKo9r8=",
       "dev": true,
       "requires": {
         "ansi-escapes": "3.0.0",
@@ -9571,21 +9557,22 @@
         "istanbul-api": "1.3.1",
         "istanbul-lib-coverage": "1.2.0",
         "istanbul-lib-instrument": "1.10.1",
-        "istanbul-lib-source-maps": "1.2.3",
-        "jest-changed-files": "22.4.3",
-        "jest-config": "22.4.4",
-        "jest-environment-jsdom": "22.4.3",
+        "istanbul-lib-source-maps": "1.2.5",
+        "jest-changed-files": "23.0.1",
+        "jest-config": "23.1.0",
+        "jest-environment-jsdom": "23.1.0",
         "jest-get-type": "22.4.3",
-        "jest-haste-map": "22.4.2",
-        "jest-message-util": "22.4.3",
-        "jest-regex-util": "22.4.3",
-        "jest-resolve-dependencies": "22.4.3",
-        "jest-runner": "22.4.4",
-        "jest-runtime": "22.4.4",
-        "jest-snapshot": "22.4.3",
-        "jest-util": "22.4.3",
-        "jest-validate": "22.4.4",
-        "jest-worker": "22.4.3",
+        "jest-haste-map": "23.1.0",
+        "jest-message-util": "23.1.0",
+        "jest-regex-util": "23.0.0",
+        "jest-resolve-dependencies": "23.0.1",
+        "jest-runner": "23.1.0",
+        "jest-runtime": "23.1.0",
+        "jest-snapshot": "23.0.1",
+        "jest-util": "23.1.0",
+        "jest-validate": "23.0.1",
+        "jest-watcher": "23.1.0",
+        "jest-worker": "23.0.1",
         "micromatch": "2.3.11",
         "node-notifier": "5.2.1",
         "realpath-native": "1.0.0",
@@ -9594,7 +9581,7 @@
         "string-length": "2.0.0",
         "strip-ansi": "4.0.0",
         "which": "1.3.0",
-        "yargs": "10.1.2"
+        "yargs": "11.0.0"
       },
       "dependencies": {
         "ansi-styles": {
@@ -9634,6 +9621,45 @@
           "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
           "dev": true
         },
+        "jest-docblock": {
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.0.1.tgz",
+          "integrity": "sha1-3t3RgzO+XcJBUmCgTvP86SdrVyU=",
+          "dev": true,
+          "requires": {
+            "detect-newline": "2.1.0"
+          }
+        },
+        "jest-haste-map": {
+          "version": "23.1.0",
+          "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.1.0.tgz",
+          "integrity": "sha1-GObH1ajScTb5G32YUvhd4McHTEk=",
+          "dev": true,
+          "requires": {
+            "fb-watchman": "2.0.0",
+            "graceful-fs": "4.1.11",
+            "jest-docblock": "23.0.1",
+            "jest-serializer": "23.0.1",
+            "jest-worker": "23.0.1",
+            "micromatch": "2.3.11",
+            "sane": "2.5.0"
+          }
+        },
+        "jest-serializer": {
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz",
+          "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU=",
+          "dev": true
+        },
+        "jest-worker": {
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.0.1.tgz",
+          "integrity": "sha1-nmSd2WP/QEYCb5HEAX8Dmmqkp7w=",
+          "dev": true,
+          "requires": {
+            "merge-stream": "1.0.1"
+          }
+        },
         "supports-color": {
           "version": "5.4.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
@@ -9644,9 +9670,9 @@
           }
         },
         "yargs": {
-          "version": "10.1.2",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz",
-          "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==",
+          "version": "11.0.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz",
+          "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==",
           "dev": true,
           "requires": {
             "cliui": "4.1.0",
@@ -9660,13 +9686,13 @@
             "string-width": "2.1.1",
             "which-module": "2.0.0",
             "y18n": "3.2.1",
-            "yargs-parser": "8.1.0"
+            "yargs-parser": "9.0.2"
           }
         },
         "yargs-parser": {
-          "version": "8.1.0",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz",
-          "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==",
+          "version": "9.0.2",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
+          "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
           "dev": true,
           "requires": {
             "camelcase": "4.1.0"
@@ -9675,22 +9701,24 @@
       }
     },
     "jest-config": {
-      "version": "22.4.4",
-      "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-22.4.4.tgz",
-      "integrity": "sha512-9CKfo1GC4zrXSoMLcNeDvQBfgtqGTB1uP8iDIZ97oB26RCUb886KkKWhVcpyxVDOUxbhN+uzcBCeFe7w+Iem4A==",
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-23.1.0.tgz",
+      "integrity": "sha1-cIyg9DHTVu5CT7SJXTMIAGvdgkE=",
       "dev": true,
       "requires": {
+        "babel-core": "6.26.0",
+        "babel-jest": "23.0.1",
         "chalk": "2.4.1",
         "glob": "7.1.2",
-        "jest-environment-jsdom": "22.4.3",
-        "jest-environment-node": "22.4.3",
+        "jest-environment-jsdom": "23.1.0",
+        "jest-environment-node": "23.1.0",
         "jest-get-type": "22.4.3",
-        "jest-jasmine2": "22.4.4",
-        "jest-regex-util": "22.4.3",
-        "jest-resolve": "22.4.3",
-        "jest-util": "22.4.3",
-        "jest-validate": "22.4.4",
-        "pretty-format": "22.4.3"
+        "jest-jasmine2": "23.1.0",
+        "jest-regex-util": "23.0.0",
+        "jest-resolve": "23.1.0",
+        "jest-util": "23.1.0",
+        "jest-validate": "23.0.1",
+        "pretty-format": "23.0.1"
       },
       "dependencies": {
         "ansi-regex": {
@@ -9726,9 +9754,9 @@
           "dev": true
         },
         "pretty-format": {
-          "version": "22.4.3",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz",
-          "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==",
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.0.1.tgz",
+          "integrity": "sha1-1h0GUmjkx1kIO8y8onoBrXx2AfQ=",
           "dev": true,
           "requires": {
             "ansi-regex": "3.0.0",
@@ -9747,15 +9775,15 @@
       }
     },
     "jest-diff": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-22.4.3.tgz",
-      "integrity": "sha512-/QqGvCDP5oZOF6PebDuLwrB2BMD8ffJv6TAGAdEVuDx1+uEgrHpSFrfrOiMRx2eJ1hgNjlQrOQEHetVwij90KA==",
+      "version": "23.0.1",
+      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.0.1.tgz",
+      "integrity": "sha1-PUkTfO4SwyCktNK0pvpugtSRoWo=",
       "dev": true,
       "requires": {
         "chalk": "2.4.1",
         "diff": "3.5.0",
         "jest-get-type": "22.4.3",
-        "pretty-format": "22.4.3"
+        "pretty-format": "23.0.1"
       },
       "dependencies": {
         "ansi-regex": {
@@ -9791,9 +9819,9 @@
           "dev": true
         },
         "pretty-format": {
-          "version": "22.4.3",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz",
-          "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==",
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.0.1.tgz",
+          "integrity": "sha1-1h0GUmjkx1kIO8y8onoBrXx2AfQ=",
           "dev": true,
           "requires": {
             "ansi-regex": "3.0.0",
@@ -9819,25 +9847,88 @@
         "detect-newline": "2.1.0"
       }
     },
+    "jest-each": {
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-23.1.0.tgz",
+      "integrity": "sha1-FhRrWSw1SGelrl4TzfFcbGW2lsY=",
+      "dev": true,
+      "requires": {
+        "chalk": "2.4.1",
+        "pretty-format": "23.0.1"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.1"
+          }
+        },
+        "chalk": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+          "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.2.1",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "5.4.0"
+          }
+        },
+        "has-flag": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+          "dev": true
+        },
+        "pretty-format": {
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.0.1.tgz",
+          "integrity": "sha1-1h0GUmjkx1kIO8y8onoBrXx2AfQ=",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "3.0.0",
+            "ansi-styles": "3.2.1"
+          }
+        },
+        "supports-color": {
+          "version": "5.4.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+          "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+          "dev": true,
+          "requires": {
+            "has-flag": "3.0.0"
+          }
+        }
+      }
+    },
     "jest-environment-jsdom": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz",
-      "integrity": "sha512-FviwfR+VyT3Datf13+ULjIMO5CSeajlayhhYQwpzgunswoaLIPutdbrnfUHEMyJCwvqQFaVtTmn9+Y8WCt6n1w==",
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-23.1.0.tgz",
+      "integrity": "sha1-hZKZFOI77TV32sl1X0EG0Gl8R5w=",
       "dev": true,
       "requires": {
-        "jest-mock": "22.4.3",
-        "jest-util": "22.4.3",
-        "jsdom": "11.10.0"
+        "jest-mock": "23.1.0",
+        "jest-util": "23.1.0",
+        "jsdom": "11.11.0"
       }
     },
     "jest-environment-node": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-22.4.3.tgz",
-      "integrity": "sha512-reZl8XF6t/lMEuPWwo9OLfttyC26A5AMgDyEQ6DBgZuyfyeNUzYT8BFo6uxCCP/Av/b7eb9fTi3sIHFPBzmlRA==",
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-23.1.0.tgz",
+      "integrity": "sha1-RSwL+UnPy7rNoeF2Lu7XC8eEx9U=",
       "dev": true,
       "requires": {
-        "jest-mock": "22.4.3",
-        "jest-util": "22.4.3"
+        "jest-mock": "23.1.0",
+        "jest-util": "23.1.0"
       }
     },
     "jest-get-type": {
@@ -9861,9 +9952,9 @@
       }
     },
     "jest-image-snapshot": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/jest-image-snapshot/-/jest-image-snapshot-2.4.1.tgz",
-      "integrity": "sha1-naaoZRWppv7HxJZLemhZzTZsZFk=",
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/jest-image-snapshot/-/jest-image-snapshot-2.4.3.tgz",
+      "integrity": "sha512-3mGa/6xLhjOMTl7pd5Wuf72Juq5hOyhfCiXhlHMm1UYIVVmH/RIqBCB/5KDmkPVjdnZO4aOvaFgd+HdgC3VGMw==",
       "dev": true,
       "requires": {
         "chalk": "1.1.3",
@@ -9876,24 +9967,30 @@
       }
     },
     "jest-jasmine2": {
-      "version": "22.4.4",
-      "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-22.4.4.tgz",
-      "integrity": "sha512-nK3vdUl50MuH7vj/8at7EQVjPGWCi3d5+6aCi7Gxy/XMWdOdbH1qtO/LjKbqD8+8dUAEH+BVVh7HkjpCWC1CSw==",
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-23.1.0.tgz",
+      "integrity": "sha1-SvqzFym2VN3NKwdK3YSTlvE7MLg=",
       "dev": true,
       "requires": {
         "chalk": "2.4.1",
         "co": "4.6.0",
-        "expect": "22.4.3",
-        "graceful-fs": "4.1.11",
+        "expect": "23.1.0",
         "is-generator-fn": "1.0.0",
-        "jest-diff": "22.4.3",
-        "jest-matcher-utils": "22.4.3",
-        "jest-message-util": "22.4.3",
-        "jest-snapshot": "22.4.3",
-        "jest-util": "22.4.3",
-        "source-map-support": "0.5.6"
+        "jest-diff": "23.0.1",
+        "jest-each": "23.1.0",
+        "jest-matcher-utils": "23.0.1",
+        "jest-message-util": "23.1.0",
+        "jest-snapshot": "23.0.1",
+        "jest-util": "23.1.0",
+        "pretty-format": "23.0.1"
       },
       "dependencies": {
+        "ansi-regex": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+          "dev": true
+        },
         "ansi-styles": {
           "version": "3.2.1",
           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
@@ -9920,20 +10017,14 @@
           "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
           "dev": true
         },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "source-map-support": {
-          "version": "0.5.6",
-          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz",
-          "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==",
+        "pretty-format": {
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.0.1.tgz",
+          "integrity": "sha1-1h0GUmjkx1kIO8y8onoBrXx2AfQ=",
           "dev": true,
           "requires": {
-            "buffer-from": "1.0.0",
-            "source-map": "0.6.1"
+            "ansi-regex": "3.0.0",
+            "ansi-styles": "3.2.1"
           }
         },
         "supports-color": {
@@ -9948,12 +10039,12 @@
       }
     },
     "jest-leak-detector": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz",
-      "integrity": "sha512-NZpR/Ls7+ndO57LuXROdgCGz2RmUdC541tTImL9bdUtU3WadgFGm0yV+Ok4Fuia/1rLAn5KaJ+i76L6e3zGJYQ==",
+      "version": "23.0.1",
+      "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-23.0.1.tgz",
+      "integrity": "sha1-nboHUFrDSVw50+wJrB5WRZnoYaA=",
       "dev": true,
       "requires": {
-        "pretty-format": "22.4.3"
+        "pretty-format": "23.0.1"
       },
       "dependencies": {
         "ansi-regex": {
@@ -9972,9 +10063,9 @@
           }
         },
         "pretty-format": {
-          "version": "22.4.3",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz",
-          "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==",
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.0.1.tgz",
+          "integrity": "sha1-1h0GUmjkx1kIO8y8onoBrXx2AfQ=",
           "dev": true,
           "requires": {
             "ansi-regex": "3.0.0",
@@ -9984,14 +10075,14 @@
       }
     },
     "jest-matcher-utils": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz",
-      "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==",
+      "version": "23.0.1",
+      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.0.1.tgz",
+      "integrity": "sha1-DGwNrt+YM8Kn82I2Bp7+y0w/bl8=",
       "dev": true,
       "requires": {
         "chalk": "2.4.1",
         "jest-get-type": "22.4.3",
-        "pretty-format": "22.4.3"
+        "pretty-format": "23.0.1"
       },
       "dependencies": {
         "ansi-regex": {
@@ -10027,9 +10118,9 @@
           "dev": true
         },
         "pretty-format": {
-          "version": "22.4.3",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz",
-          "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==",
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.0.1.tgz",
+          "integrity": "sha1-1h0GUmjkx1kIO8y8onoBrXx2AfQ=",
           "dev": true,
           "requires": {
             "ansi-regex": "3.0.0",
@@ -10048,9 +10139,9 @@
       }
     },
     "jest-message-util": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-22.4.3.tgz",
-      "integrity": "sha512-iAMeKxhB3Se5xkSjU0NndLLCHtP4n+GtCqV0bISKA5dmOXQfEbdEmYiu2qpnWBDCQdEafNDDU6Q+l6oBMd/+BA==",
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.1.0.tgz",
+      "integrity": "sha1-moCbpIfsrFzlEdTmmO47XuJGHqk=",
       "dev": true,
       "requires": {
         "@babel/code-frame": "7.0.0-beta.44",
@@ -10098,25 +10189,26 @@
       }
     },
     "jest-mock": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-22.4.3.tgz",
-      "integrity": "sha512-+4R6mH5M1G4NK16CKg9N1DtCaFmuxhcIqF4lQK/Q1CIotqMs/XBemfpDPeVZBFow6iyUNu6EBT9ugdNOTT5o5Q==",
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-23.1.0.tgz",
+      "integrity": "sha1-o4HDGxIasfYMRiotrbe4bczKxIc=",
       "dev": true
     },
     "jest-regex-util": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-22.4.3.tgz",
-      "integrity": "sha512-LFg1gWr3QinIjb8j833bq7jtQopiwdAs67OGfkPrvy7uNUbVMfTXXcOKXJaeY5GgjobELkKvKENqq1xrUectWg==",
+      "version": "23.0.0",
+      "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-23.0.0.tgz",
+      "integrity": "sha1-3Vwf3gxG9DcTFM8Q96dRoj9Oj3Y=",
       "dev": true
     },
     "jest-resolve": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-22.4.3.tgz",
-      "integrity": "sha512-u3BkD/MQBmwrOJDzDIaxpyqTxYH+XqAXzVJP51gt29H8jpj3QgKof5GGO2uPGKGeA1yTMlpbMs1gIQ6U4vcRhw==",
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.1.0.tgz",
+      "integrity": "sha1-ueMW7s69bwC8UKOWDRUnuuZXktI=",
       "dev": true,
       "requires": {
         "browser-resolve": "1.11.2",
-        "chalk": "2.4.1"
+        "chalk": "2.4.1",
+        "realpath-native": "1.0.0"
       },
       "dependencies": {
         "ansi-styles": {
@@ -10157,59 +10249,120 @@
       }
     },
     "jest-resolve-dependencies": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz",
-      "integrity": "sha512-06czCMVToSN8F2U4EvgSB1Bv/56gc7MpCftZ9z9fBgUQM7dzHGCMBsyfVA6dZTx8v0FDcnALf7hupeQxaBCvpA==",
+      "version": "23.0.1",
+      "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-23.0.1.tgz",
+      "integrity": "sha1-0BoQ3a2RUsTOzfXqwriFccS2pk0=",
       "dev": true,
       "requires": {
-        "jest-regex-util": "22.4.3"
+        "jest-regex-util": "23.0.0",
+        "jest-snapshot": "23.0.1"
       }
     },
     "jest-runner": {
-      "version": "22.4.4",
-      "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-22.4.4.tgz",
-      "integrity": "sha512-5S/OpB51igQW9xnkM5Tgd/7ZjiAuIoiJAVtvVTBcEBiXBIFzWM3BAMPBM19FX68gRV0KWyFuGKj0EY3M3aceeQ==",
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-23.1.0.tgz",
+      "integrity": "sha1-+iCpM//3MaVDKzVh5/ZCZZT6KbU=",
       "dev": true,
       "requires": {
         "exit": "0.1.2",
-        "jest-config": "22.4.4",
-        "jest-docblock": "22.4.0",
-        "jest-haste-map": "22.4.2",
-        "jest-jasmine2": "22.4.4",
-        "jest-leak-detector": "22.4.3",
-        "jest-message-util": "22.4.3",
-        "jest-runtime": "22.4.4",
-        "jest-util": "22.4.3",
-        "jest-worker": "22.4.3",
+        "graceful-fs": "4.1.11",
+        "jest-config": "23.1.0",
+        "jest-docblock": "23.0.1",
+        "jest-haste-map": "23.1.0",
+        "jest-jasmine2": "23.1.0",
+        "jest-leak-detector": "23.0.1",
+        "jest-message-util": "23.1.0",
+        "jest-runtime": "23.1.0",
+        "jest-util": "23.1.0",
+        "jest-worker": "23.0.1",
+        "source-map-support": "0.5.6",
         "throat": "4.1.0"
+      },
+      "dependencies": {
+        "jest-docblock": {
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.0.1.tgz",
+          "integrity": "sha1-3t3RgzO+XcJBUmCgTvP86SdrVyU=",
+          "dev": true,
+          "requires": {
+            "detect-newline": "2.1.0"
+          }
+        },
+        "jest-haste-map": {
+          "version": "23.1.0",
+          "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.1.0.tgz",
+          "integrity": "sha1-GObH1ajScTb5G32YUvhd4McHTEk=",
+          "dev": true,
+          "requires": {
+            "fb-watchman": "2.0.0",
+            "graceful-fs": "4.1.11",
+            "jest-docblock": "23.0.1",
+            "jest-serializer": "23.0.1",
+            "jest-worker": "23.0.1",
+            "micromatch": "2.3.11",
+            "sane": "2.5.0"
+          }
+        },
+        "jest-serializer": {
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz",
+          "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU=",
+          "dev": true
+        },
+        "jest-worker": {
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.0.1.tgz",
+          "integrity": "sha1-nmSd2WP/QEYCb5HEAX8Dmmqkp7w=",
+          "dev": true,
+          "requires": {
+            "merge-stream": "1.0.1"
+          }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true
+        },
+        "source-map-support": {
+          "version": "0.5.6",
+          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz",
+          "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==",
+          "dev": true,
+          "requires": {
+            "buffer-from": "1.1.0",
+            "source-map": "0.6.1"
+          }
+        }
       }
     },
     "jest-runtime": {
-      "version": "22.4.4",
-      "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-22.4.4.tgz",
-      "integrity": "sha512-WRTj9m///npte1YjuphCYX7GRY/c2YvJImU9t7qOwFcqHr4YMzmX6evP/3Sehz5DKW2Vi8ONYPCFWe36JVXxfw==",
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-23.1.0.tgz",
+      "integrity": "sha1-tK4OhyWeys/UqIS2OdsHz03WIK8=",
       "dev": true,
       "requires": {
         "babel-core": "6.26.0",
-        "babel-jest": "22.4.4",
         "babel-plugin-istanbul": "4.1.6",
         "chalk": "2.4.1",
         "convert-source-map": "1.5.0",
         "exit": "0.1.2",
+        "fast-json-stable-stringify": "2.0.0",
         "graceful-fs": "4.1.11",
-        "jest-config": "22.4.4",
-        "jest-haste-map": "22.4.2",
-        "jest-regex-util": "22.4.3",
-        "jest-resolve": "22.4.3",
-        "jest-util": "22.4.3",
-        "jest-validate": "22.4.4",
-        "json-stable-stringify": "1.0.1",
+        "jest-config": "23.1.0",
+        "jest-haste-map": "23.1.0",
+        "jest-message-util": "23.1.0",
+        "jest-regex-util": "23.0.0",
+        "jest-resolve": "23.1.0",
+        "jest-snapshot": "23.0.1",
+        "jest-util": "23.1.0",
+        "jest-validate": "23.0.1",
         "micromatch": "2.3.11",
         "realpath-native": "1.0.0",
         "slash": "1.0.0",
         "strip-bom": "3.0.0",
         "write-file-atomic": "2.3.0",
-        "yargs": "10.1.2"
+        "yargs": "11.0.0"
       },
       "dependencies": {
         "ansi-styles": {
@@ -10249,6 +10402,45 @@
           "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
           "dev": true
         },
+        "jest-docblock": {
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.0.1.tgz",
+          "integrity": "sha1-3t3RgzO+XcJBUmCgTvP86SdrVyU=",
+          "dev": true,
+          "requires": {
+            "detect-newline": "2.1.0"
+          }
+        },
+        "jest-haste-map": {
+          "version": "23.1.0",
+          "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.1.0.tgz",
+          "integrity": "sha1-GObH1ajScTb5G32YUvhd4McHTEk=",
+          "dev": true,
+          "requires": {
+            "fb-watchman": "2.0.0",
+            "graceful-fs": "4.1.11",
+            "jest-docblock": "23.0.1",
+            "jest-serializer": "23.0.1",
+            "jest-worker": "23.0.1",
+            "micromatch": "2.3.11",
+            "sane": "2.5.0"
+          }
+        },
+        "jest-serializer": {
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz",
+          "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU=",
+          "dev": true
+        },
+        "jest-worker": {
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.0.1.tgz",
+          "integrity": "sha1-nmSd2WP/QEYCb5HEAX8Dmmqkp7w=",
+          "dev": true,
+          "requires": {
+            "merge-stream": "1.0.1"
+          }
+        },
         "supports-color": {
           "version": "5.4.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
@@ -10270,9 +10462,9 @@
           }
         },
         "yargs": {
-          "version": "10.1.2",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz",
-          "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==",
+          "version": "11.0.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz",
+          "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==",
           "dev": true,
           "requires": {
             "cliui": "4.1.0",
@@ -10286,13 +10478,13 @@
             "string-width": "2.1.1",
             "which-module": "2.0.0",
             "y18n": "3.2.1",
-            "yargs-parser": "8.1.0"
+            "yargs-parser": "9.0.2"
           }
         },
         "yargs-parser": {
-          "version": "8.1.0",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz",
-          "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==",
+          "version": "9.0.2",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
+          "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
           "dev": true,
           "requires": {
             "camelcase": "4.1.0"
@@ -10306,17 +10498,17 @@
       "integrity": "sha512-uPaUAppx4VUfJ0QDerpNdF43F68eqKWCzzhUlKNDsUPhjOon7ZehR4C809GCqh765FoMRtTVUVnGvIoskkYHiw=="
     },
     "jest-snapshot": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-22.4.3.tgz",
-      "integrity": "sha512-JXA0gVs5YL0HtLDCGa9YxcmmV2LZbwJ+0MfyXBBc5qpgkEYITQFJP7XNhcHFbUvRiniRpRbGVfJrOoYhhGE0RQ==",
+      "version": "23.0.1",
+      "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.0.1.tgz",
+      "integrity": "sha1-ZnT6Gbnraamcq+zUFb3cQtavPn4=",
       "dev": true,
       "requires": {
         "chalk": "2.4.1",
-        "jest-diff": "22.4.3",
-        "jest-matcher-utils": "22.4.3",
+        "jest-diff": "23.0.1",
+        "jest-matcher-utils": "23.0.1",
         "mkdirp": "0.5.1",
         "natural-compare": "1.4.0",
-        "pretty-format": "22.4.3"
+        "pretty-format": "23.0.1"
       },
       "dependencies": {
         "ansi-regex": {
@@ -10352,9 +10544,9 @@
           "dev": true
         },
         "pretty-format": {
-          "version": "22.4.3",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz",
-          "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==",
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.0.1.tgz",
+          "integrity": "sha1-1h0GUmjkx1kIO8y8onoBrXx2AfQ=",
           "dev": true,
           "requires": {
             "ansi-regex": "3.0.0",
@@ -10378,21 +10570,22 @@
       "integrity": "sha512-jtcxwY9DnK9gT7HjS1bGL8SF4NV8DL2/CzUmuL4aZxwmAk4gEW8qOnXkU6kD3B1T4Y+Zj9uvN8zWqzcftT0ERA==",
       "dev": true,
       "requires": {
-        "jest-snapshot": "22.4.3"
+        "jest-snapshot": "23.0.1"
       }
     },
     "jest-util": {
-      "version": "22.4.3",
-      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-22.4.3.tgz",
-      "integrity": "sha512-rfDfG8wyC5pDPNdcnAlZgwKnzHvZDu8Td2NJI/jAGKEGxJPYiE4F0ss/gSAkG4778Y23Hvbz+0GMrDJTeo7RjQ==",
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.1.0.tgz",
+      "integrity": "sha1-wCUbrzRkTG3S/qeKli9CY6xVdy0=",
       "dev": true,
       "requires": {
         "callsites": "2.0.0",
         "chalk": "2.4.1",
         "graceful-fs": "4.1.11",
         "is-ci": "1.1.0",
-        "jest-message-util": "22.4.3",
+        "jest-message-util": "23.1.0",
         "mkdirp": "0.5.1",
+        "slash": "1.0.0",
         "source-map": "0.6.1"
       },
       "dependencies": {
@@ -10446,16 +10639,15 @@
       }
     },
     "jest-validate": {
-      "version": "22.4.4",
-      "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-22.4.4.tgz",
-      "integrity": "sha512-dmlf4CIZRGvkaVg3fa0uetepcua44DHtktHm6rcoNVtYlpwe6fEJRkMFsaUVcFHLzbuBJ2cPw9Gl9TKfnzMVwg==",
+      "version": "23.0.1",
+      "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.0.1.tgz",
+      "integrity": "sha1-zZ8BqJ0mu4hfEqhmdxXpyGWldU8=",
       "dev": true,
       "requires": {
         "chalk": "2.4.1",
-        "jest-config": "22.4.4",
         "jest-get-type": "22.4.3",
         "leven": "2.1.0",
-        "pretty-format": "22.4.3"
+        "pretty-format": "23.0.1"
       },
       "dependencies": {
         "ansi-regex": {
@@ -10491,9 +10683,9 @@
           "dev": true
         },
         "pretty-format": {
-          "version": "22.4.3",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz",
-          "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==",
+          "version": "23.0.1",
+          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.0.1.tgz",
+          "integrity": "sha1-1h0GUmjkx1kIO8y8onoBrXx2AfQ=",
           "dev": true,
           "requires": {
             "ansi-regex": "3.0.0",
@@ -10511,6 +10703,54 @@
         }
       }
     },
+    "jest-watcher": {
+      "version": "23.1.0",
+      "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-23.1.0.tgz",
+      "integrity": "sha1-qNWELjjZ+0r/+CPfartCpYrmzb0=",
+      "dev": true,
+      "requires": {
+        "ansi-escapes": "3.0.0",
+        "chalk": "2.4.1",
+        "string-length": "2.0.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "3.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+          "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.1"
+          }
+        },
+        "chalk": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+          "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.2.1",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "5.4.0"
+          }
+        },
+        "has-flag": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "5.4.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+          "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+          "dev": true,
+          "requires": {
+            "has-flag": "3.0.0"
+          }
+        }
+      }
+    },
     "jest-worker": {
       "version": "22.4.3",
       "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-22.4.3.tgz",
@@ -10545,23 +10785,23 @@
       "optional": true
     },
     "jsdom": {
-      "version": "11.10.0",
-      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.10.0.tgz",
-      "integrity": "sha512-x5No5FpJgBg3j5aBwA8ka6eGuS5IxbC8FOkmyccKvObtFT0bDMict/LOxINZsZGZSfGdNomLZ/qRV9Bpq/GIBA==",
+      "version": "11.11.0",
+      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.11.0.tgz",
+      "integrity": "sha512-ou1VyfjwsSuWkudGxb03FotDajxAto6USAlmMZjE2lc0jCznt7sBWkhfRBRaWwbnmDqdMSTKTLT5d9sBFkkM7A==",
       "dev": true,
       "requires": {
         "abab": "1.0.4",
-        "acorn": "5.5.3",
+        "acorn": "5.6.2",
         "acorn-globals": "4.1.0",
         "array-equal": "1.0.0",
         "cssom": "0.3.2",
-        "cssstyle": "0.2.37",
+        "cssstyle": "0.3.1",
         "data-urls": "1.0.0",
         "domexception": "1.0.1",
         "escodegen": "1.9.1",
         "html-encoding-sniffer": "1.0.2",
         "left-pad": "1.2.0",
-        "nwmatcher": "1.4.4",
+        "nwsapi": "2.0.3",
         "parse5": "4.0.0",
         "pn": "1.1.0",
         "request": "2.83.0",
@@ -10573,15 +10813,15 @@
         "webidl-conversions": "4.0.2",
         "whatwg-encoding": "1.0.3",
         "whatwg-mimetype": "2.1.0",
-        "whatwg-url": "6.4.1",
+        "whatwg-url": "6.5.0",
         "ws": "4.1.0",
         "xml-name-validator": "3.0.0"
       },
       "dependencies": {
         "acorn": {
-          "version": "5.5.3",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz",
-          "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==",
+          "version": "5.6.2",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.2.tgz",
+          "integrity": "sha512-zUzo1E5dI2Ey8+82egfnttyMlMZ2y0D8xOCO3PNPPlYXpl8NZvF6Qk9L9BEtJs+43FqEmfBViDqc5d1ckRDguw==",
           "dev": true
         },
         "ws": {
@@ -11014,11 +11254,6 @@
         "yallist": "2.1.2"
       }
     },
-    "macaddress": {
-      "version": "0.2.8",
-      "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz",
-      "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI="
-    },
     "macos-release": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz",
@@ -11606,30 +11841,24 @@
       "integrity": "sha1-zz2C0YwMp/RY2PKiQIF7PcflSgE="
     },
     "mocha": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.1.1.tgz",
-      "integrity": "sha512-kKKs/H1KrMMQIEsWNxGmb4/BGsmj0dkeyotEvbrAuQ01FcWRLssUNXCEUZk6SZtyJBi6EE7SL0zDDtItw1rGhw==",
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
+      "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==",
       "dev": true,
       "requires": {
         "browser-stdout": "1.3.1",
-        "commander": "2.11.0",
+        "commander": "2.15.1",
         "debug": "3.1.0",
         "diff": "3.5.0",
         "escape-string-regexp": "1.0.5",
         "glob": "7.1.2",
-        "growl": "1.10.3",
+        "growl": "1.10.5",
         "he": "1.1.1",
         "minimatch": "3.0.4",
         "mkdirp": "0.5.1",
-        "supports-color": "4.4.0"
+        "supports-color": "5.4.0"
       },
       "dependencies": {
-        "commander": {
-          "version": "2.11.0",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
-          "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==",
-          "dev": true
-        },
         "debug": {
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
@@ -11639,21 +11868,27 @@
             "ms": "2.0.0"
           }
         },
+        "has-flag": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+          "dev": true
+        },
         "supports-color": {
-          "version": "4.4.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz",
-          "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==",
+          "version": "5.4.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+          "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
           "dev": true,
           "requires": {
-            "has-flag": "2.0.0"
+            "has-flag": "3.0.0"
           }
         }
       }
     },
     "moment": {
-      "version": "2.22.1",
-      "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.1.tgz",
-      "integrity": "sha512-shJkRTSebXvsVqk56I+lkb2latjBs8I+pc2TzWc545y2iFnSjm7Wg0QMh+ZWcdSLQyGEau5jI8ocnmkyTgr9YQ=="
+      "version": "2.22.2",
+      "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz",
+      "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y="
     },
     "morgan": {
       "version": "1.9.0",
@@ -11946,7 +12181,7 @@
         "mkdirp": "0.5.1",
         "nopt": "4.0.1",
         "npmlog": "4.1.2",
-        "rc": "1.2.7",
+        "rc": "1.2.8",
         "request": "2.81.0",
         "rimraf": "2.6.2",
         "semver": "5.4.1",
@@ -12175,10 +12410,10 @@
       "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
       "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
     },
-    "nwmatcher": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz",
-      "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==",
+    "nwsapi": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.3.tgz",
+      "integrity": "sha512-zFJF9lOpg2+uicP0BQKOAfIOqeTp/p8PC669mewxgRkR1hGjne8BMUHk4wpRS9o5Z0icA5Nv04HmGkW31KfMKw==",
       "dev": true
     },
     "oauth-sign": {
@@ -12445,7 +12680,7 @@
       "resolved": "https://registry.npmjs.org/original/-/original-1.0.1.tgz",
       "integrity": "sha512-IEvtB5vM5ULvwnqMxWBLxkS13JIEXbakizMSo3yoPNPCIWzg8TG3Usn/UhXoZFM/m+FuEA20KdzPSFq/0rS+UA==",
       "requires": {
-        "url-parse": "1.4.0"
+        "url-parse": "1.4.1"
       }
     },
     "os-browserify": {
@@ -13192,12 +13427,11 @@
       }
     },
     "postcss-filter-plugins": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz",
-      "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=",
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz",
+      "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==",
       "requires": {
-        "postcss": "5.2.18",
-        "uniqid": "4.1.1"
+        "postcss": "5.2.18"
       },
       "dependencies": {
         "has-flag": {
@@ -13361,7 +13595,7 @@
           "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
           "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
           "requires": {
-            "caniuse-db": "1.0.30000844",
+            "caniuse-db": "1.0.30000852",
             "electron-to-chromium": "1.3.41"
           }
         },
@@ -13989,6 +14223,16 @@
         "object-assign": "4.1.1"
       }
     },
+    "proper-lockfile": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-3.0.2.tgz",
+      "integrity": "sha512-SDrSRyuKE1jM9b2kdpL6SA78wgG+M+fZKe2zbWkURsshOzUmoOornXQcasKQRP9hGhMoEILNpSbWcYoymoB5cA==",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "retry": "0.10.1"
+      }
+    },
     "proxy-addr": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz",
@@ -14084,19 +14328,19 @@
       "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
     },
     "puppeteer": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.4.0.tgz",
-      "integrity": "sha512-WDnC1FSHTedvRSS8BZB73tPAx2svUCWFdcxVjrybw8pbKOAB1v5S/pW0EamkqQoL1mXiBc+v8lyYjhhzMHIk1Q==",
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.5.0.tgz",
+      "integrity": "sha512-eELwFtFxL+uhmg4jPZOZXzSrPEYy4CaYQNbcchBbfxY+KjMpnv6XGf/aYWaQG49OTpfi2/DMziXtDM8XuJgoUA==",
       "dev": true,
       "requires": {
         "debug": "3.1.0",
-        "extract-zip": "1.6.6",
+        "extract-zip": "1.6.7",
         "https-proxy-agent": "2.2.1",
         "mime": "2.3.1",
         "progress": "2.0.0",
         "proxy-from-env": "1.0.0",
         "rimraf": "2.6.2",
-        "ws": "3.3.3"
+        "ws": "5.2.0"
       },
       "dependencies": {
         "debug": {
@@ -14115,14 +14359,12 @@
           "dev": true
         },
         "ws": {
-          "version": "3.3.3",
-          "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
-          "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
+          "version": "5.2.0",
+          "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.0.tgz",
+          "integrity": "sha512-c18dMeW+PEQdDFzkhDsnBAlS4Z8KGStBQQUcQ5mf7Nf689jyGk0594L+i9RaQuf4gog6SvWLJorz2NfSaqxZ7w==",
           "dev": true,
           "requires": {
-            "async-limiter": "1.0.0",
-            "safe-buffer": "5.1.1",
-            "ultron": "1.1.0"
+            "async-limiter": "1.0.0"
           }
         }
       }
@@ -14313,20 +14555,20 @@
       }
     },
     "rc": {
-      "version": "1.2.7",
-      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz",
-      "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==",
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
       "requires": {
-        "deep-extend": "0.5.1",
+        "deep-extend": "0.6.0",
         "ini": "1.3.5",
         "minimist": "1.2.0",
         "strip-json-comments": "2.0.1"
       }
     },
     "react": {
-      "version": "16.3.2",
-      "resolved": "https://registry.npmjs.org/react/-/react-16.3.2.tgz",
-      "integrity": "sha512-o5GPdkhciQ3cEph6qgvYB7LTOHw/GB0qRI6ZFNugj49qJCFfgHwVNjZ5u+b7nif4vOeMIOuYj3CeYe2IBD74lg==",
+      "version": "16.4.0",
+      "resolved": "https://registry.npmjs.org/react/-/react-16.4.0.tgz",
+      "integrity": "sha512-K0UrkLXSAekf5nJu89obKUM7o2vc6MMN9LYoKnCa+c+8MJRAT120xzPLENcWSRc7GYKIg0LlgJRDorrufdglQQ==",
       "requires": {
         "fbjs": "0.8.16",
         "loose-envify": "1.3.1",
@@ -14405,9 +14647,9 @@
       }
     },
     "react-dom": {
-      "version": "16.3.2",
-      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.3.2.tgz",
-      "integrity": "sha512-MMPko3zYncNrz/7gG17wJWUREZDvskZHXOwbttzl0F0L3wDmToyuETuo/r8Y5yvDejwYcRyWI1lvVBjLJWFwKA==",
+      "version": "16.4.0",
+      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.0.tgz",
+      "integrity": "sha512-bbLd+HYpBEnYoNyxDe9XpSG2t9wypMohwQPvKw8Hov3nF7SJiJIgK56b46zHpBUpHb06a1iEuw7G3rbrsnNL6w==",
       "dev": true,
       "requires": {
         "fbjs": "0.8.16",
@@ -14432,8 +14674,8 @@
       "integrity": "sha512-qIZZxaCheb/HhcBi5fABbiCFg85+K5r1TCps1D4uaL0LAMMD/1zm/x1/kNR130Tx7nnY9V7mbFyY0DquPYeLAw==",
       "requires": {
         "babel-runtime": "6.26.0",
-        "classnames": "2.2.5",
-        "fuse.js": "3.2.0",
+        "classnames": "2.2.6",
+        "fuse.js": "3.2.1",
         "prop-types": "15.6.1"
       }
     },
@@ -14508,9 +14750,9 @@
       }
     },
     "react-is": {
-      "version": "16.3.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.3.2.tgz",
-      "integrity": "sha512-ybEM7YOr4yBgFd6w8dJqwxegqZGJNBZl6U27HnGKuTZmDvVrD5quWOK/wAnMywiZzW+Qsk+l4X2c70+thp/A8Q==",
+      "version": "16.4.0",
+      "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.4.0.tgz",
+      "integrity": "sha512-8ADZg/mBw+t2Fbr5Hm1K64v8q8Q6E+DprV5wQ5A8PSLW6XP0XJFMdUskVEW8efQ5oUgWHn8EYdHEPAMF0Co6hA==",
       "dev": true
     },
     "react-komposer": {
@@ -14540,21 +14782,14 @@
       }
     },
     "react-modal": {
-      "version": "3.4.4",
-      "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.4.4.tgz",
-      "integrity": "sha512-5VYNvy301Z0xxGBQhPmDdzOcyEkUG8sU7bpRsAPI4OHgEUkbBFrpjzs/ocNI0m824/lOqTxddXzwgmDJXx3s3Q==",
+      "version": "3.4.5",
+      "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.4.5.tgz",
+      "integrity": "sha512-fYaGmsvt4z5voC2Bl/9ngIWES4BSRYgGnTljMwuzTuYZ1BBpaZbnXia8xlvj7mF0kg3aPV+5APjZRiMfRG6vyA==",
       "requires": {
         "exenv": "1.2.2",
         "prop-types": "15.6.1",
         "react-lifecycles-compat": "3.0.4",
         "warning": "3.0.0"
-      },
-      "dependencies": {
-        "react-lifecycles-compat": {
-          "version": "3.0.4",
-          "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
-          "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
-        }
       }
     },
     "react-native": {
@@ -14714,9 +14949,9 @@
       "integrity": "sha512-DBoWIvVwuWXuptF4t46pBqkFxaUxS+rsIdHiA05t0n4BdTIDV2R4s9bLEUVOGzb94D7VxIamsXZPA/3mmw+SXg=="
     },
     "react-native-animatable": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/react-native-animatable/-/react-native-animatable-1.2.4.tgz",
-      "integrity": "sha512-cVTQXa/cp8gfxcl+l6I1rGAI7EeoNZ0ur9vtxb3tD5iGlJbIyUfQK61e6BycnZewdgQ639Mp6OrueXTpZlv76Q==",
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/react-native-animatable/-/react-native-animatable-1.3.0.tgz",
+      "integrity": "sha512-GGYEYvderfzPZcPnw7xov4nlRmi9d6oqcIzx0fGkUUsMshOQEtq5IEzFp3np0uTB9n8/gZIZcdbUPggVlVydMg==",
       "requires": {
         "prop-types": "15.6.1"
       }
@@ -14852,19 +15087,18 @@
       "version": "git+https://github.com/RocketChat/react-native-markdown-renderer.git#cecc6d0a2c940ac7a1e1e98c624d8b9b4d37ab68",
       "requires": {
         "@types/markdown-it": "0.0.4",
-        "@types/react-native": "0.55.15",
+        "@types/react-native": "0.55.18",
         "markdown-it": "8.4.1",
         "prop-types": "15.6.1",
         "react-native-fit-image": "1.5.4"
       }
     },
     "react-native-meteor": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/react-native-meteor/-/react-native-meteor-1.2.0.tgz",
-      "integrity": "sha512-AHPa1PgHmrM/IiF30dKZzHziFCRvW8bvtWWQ/316S7fcZaSsFfuDmtE8X24N8PfjSIkmvGw64VfDld2KVmVf2w==",
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/react-native-meteor/-/react-native-meteor-1.3.0.tgz",
+      "integrity": "sha512-FgQ9O4pN1h+OaezlAMZ8h3g6aon/P6wWoYbMQGuyFzpW+hSREPjCtMVMKEJsKZ11MzIWFblgrdk3nzUI5dpdUQ==",
       "requires": {
         "base-64": "0.1.0",
-        "create-react-class": "15.6.2",
         "crypto-js": "3.1.8",
         "ejson": "2.1.2",
         "minimongo-cache": "0.0.48",
@@ -14874,22 +15108,15 @@
         "trackr": "2.0.2",
         "underscore": "1.8.3",
         "wolfy87-eventemitter": "4.3.0"
-      },
-      "dependencies": {
-        "crypto-js": {
-          "version": "3.1.8",
-          "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.8.tgz",
-          "integrity": "sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU="
-        }
       }
     },
     "react-native-modal": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/react-native-modal/-/react-native-modal-6.0.0.tgz",
-      "integrity": "sha512-brz3PPLs9LkTFudVqFYjIOYdYsau09Vn5dw7WGe93r9O4pQUxoXJgEcH8RLeWtB2y1iRNWUIQeqLW9qfaiDhBw==",
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/react-native-modal/-/react-native-modal-6.1.0.tgz",
+      "integrity": "sha512-DBEJlUElTkWw6H1huHWaa1psQhnlsYxIpfNS4Cfw/fXq5rJkY1+hzHzySbXOwDyBKIAI652Grdtx+2XItZG4Bw==",
       "requires": {
         "prop-types": "15.6.1",
-        "react-native-animatable": "1.2.4"
+        "react-native-animatable": "1.3.0"
       }
     },
     "react-native-optimized-flatlist": {
@@ -14919,17 +15146,17 @@
       "integrity": "sha1-HgzRLGK855vBdZx+KBZGsIthyVk="
     },
     "react-native-safe-area-view": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.7.0.tgz",
-      "integrity": "sha512-SjLdW/Th0WVMhyngH4O6yC21S+O4U4AAG3QxBr7fZ2ftgjXSpKbDHAhEpxBdFwei6HsnsC2h9oYMtPpaW9nfGg==",
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.8.0.tgz",
+      "integrity": "sha512-uAUzpBxXPVmfupz71GYcPjUBnZFtDuThKO/Q4FWEUykSuML78lItYR6JRsE006CY6gw6mUwpk4MJjhDE4uZ+Ww==",
       "requires": {
-        "hoist-non-react-statics": "2.5.0"
+        "hoist-non-react-statics": "2.5.4"
       },
       "dependencies": {
         "hoist-non-react-statics": {
-          "version": "2.5.0",
-          "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz",
-          "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w=="
+          "version": "2.5.4",
+          "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.4.tgz",
+          "integrity": "sha512-yklXtcYj0Pt5Dz9No8xUh7d+/7fy5XRIm+r7U/BXgwJ/VsD75EfXA8t4p9tIL0jykzo5A/sGzt1xV6oqd/gP0w=="
         }
       }
     },
@@ -14994,12 +15221,6 @@
         "prop-types": "15.6.1"
       }
     },
-    "react-native-tab-view": {
-      "version": "github:react-navigation/react-native-tab-view#36ebd834d78b841fc19778c966465d02fd1213bb",
-      "requires": {
-        "prop-types": "15.6.1"
-      }
-    },
     "react-native-vector-icons": {
       "version": "4.6.0",
       "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-4.6.0.tgz",
@@ -15011,9 +15232,9 @@
       }
     },
     "react-native-video": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/react-native-video/-/react-native-video-2.0.0.tgz",
-      "integrity": "sha1-8z+m+35+PJOrV4eUTO/Vi/c1WGc=",
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/react-native-video/-/react-native-video-2.2.0.tgz",
+      "integrity": "sha512-iiydiJ8tKSSt2udO7ZlEerFaX/Q/dlkQCuI7eTuOZoVsBx0drAgmEL1Oz/ReJcTEBUDjpbIbYmSO/L6eRVpteA==",
       "requires": {
         "keymirror": "0.1.1",
         "prop-types": "15.6.1"
@@ -15036,26 +15257,26 @@
       }
     },
     "react-navigation": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-2.0.1.tgz",
-      "integrity": "sha512-J3AC+Lq3puxs9sEePopiKt/Hrxz8MBGDaLnq8G5Vx9s7xM0ILWtciudeT3+5hhMwxcGtpnmV86CTnaIjvCBYvQ==",
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-2.3.0.tgz",
+      "integrity": "sha512-3+bOB3eitZD+GLJvwuAm2fjk9Auv8EWXl5mbs99+WYCXBbDPgacbwssR77fEgbARE5Sc0yPm3ADL1sCeWGY5QA==",
       "requires": {
         "clamp": "1.0.1",
         "create-react-context": "0.2.2",
-        "hoist-non-react-statics": "2.5.0",
+        "hoist-non-react-statics": "2.5.4",
         "path-to-regexp": "1.7.0",
         "prop-types": "15.6.1",
         "react-lifecycles-compat": "3.0.4",
-        "react-native-drawer-layout-polyfill": "1.3.2",
-        "react-native-safe-area-view": "0.7.0",
-        "react-navigation-deprecated-tab-navigator": "1.2.0",
-        "react-navigation-tabs": "0.2.0"
+        "react-native-safe-area-view": "0.8.0",
+        "react-navigation-deprecated-tab-navigator": "1.3.0",
+        "react-navigation-drawer": "0.3.0",
+        "react-navigation-tabs": "0.5.1"
       },
       "dependencies": {
         "hoist-non-react-statics": {
-          "version": "2.5.0",
-          "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz",
-          "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w=="
+          "version": "2.5.4",
+          "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.4.tgz",
+          "integrity": "sha512-yklXtcYj0Pt5Dz9No8xUh7d+/7fy5XRIm+r7U/BXgwJ/VsD75EfXA8t4p9tIL0jykzo5A/sGzt1xV6oqd/gP0w=="
         },
         "path-to-regexp": {
           "version": "1.7.0",
@@ -15068,39 +15289,60 @@
       }
     },
     "react-navigation-deprecated-tab-navigator": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/react-navigation-deprecated-tab-navigator/-/react-navigation-deprecated-tab-navigator-1.2.0.tgz",
-      "integrity": "sha512-fAZ5W8gyMfEAOV1b+JYq9TenIGeouwaAw1LiPhJzcKmXAV0t3kNLLDvlRXSpzJw74fv9vO6g5SMDet89p9ALNw==",
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/react-navigation-deprecated-tab-navigator/-/react-navigation-deprecated-tab-navigator-1.3.0.tgz",
+      "integrity": "sha512-Cm+qYOPFWbvvcuv0YYX0ioYwLGgw7XAqdhAfpo3sIr3trxRW8871ePmfFOPezjQtz4v6ItjZt6LPgtBAVZoroQ==",
       "requires": {
-        "react-native-tab-view": "github:react-navigation/react-native-tab-view#36ebd834d78b841fc19778c966465d02fd1213bb"
+        "react-native-tab-view": "0.0.77"
+      },
+      "dependencies": {
+        "react-native-tab-view": {
+          "version": "0.0.77",
+          "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-0.0.77.tgz",
+          "integrity": "sha512-9vjD4Ly1Zlum1Y4g23ODpi/F3gYIUIsKWrsZO/Oh5cuX1eiB1DRVn11nY1z+j/hsQfhfyW6nDlmySyDvYQvYCA==",
+          "requires": {
+            "prop-types": "15.6.1"
+          }
+        }
+      }
+    },
+    "react-navigation-drawer": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-0.3.0.tgz",
+      "integrity": "sha512-xL3DV6IBxa1INNoa71vJ6/455O7/ARUOqdhuOcQ/rdnvE4H9cnigkm23dhHlawsIADrhXSx1+aoaJGXCzVGg5g==",
+      "requires": {
+        "react-native-drawer-layout-polyfill": "1.3.2"
       }
     },
     "react-navigation-tabs": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-0.2.0.tgz",
-      "integrity": "sha512-dM7IJYKfMdMScgAIhBin2fOH7AbNGOcwO/BH3TFGQSDouM+nngJCsnAr1Gz/DharSil/njq7QKd6yTazS96mEw==",
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-0.5.1.tgz",
+      "integrity": "sha512-VwStdeQm5OcAW0n94CxL7qL0zgmnyBCXcgdBRf5hYpw4tWcVUIedgRF+rAWa1v3ftY6H0CXbnT2OKdbod5QJXA==",
       "requires": {
-        "hoist-non-react-statics": "2.5.0",
+        "hoist-non-react-statics": "2.5.4",
         "prop-types": "15.6.1",
-        "react-lifecycles-compat": "1.1.4",
+        "react-lifecycles-compat": "3.0.4",
         "react-native-safe-area-view": "0.7.0",
-        "react-native-tab-view": "0.0.78"
+        "react-native-tab-view": "1.0.2"
       },
       "dependencies": {
         "hoist-non-react-statics": {
-          "version": "2.5.0",
-          "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz",
-          "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w=="
+          "version": "2.5.4",
+          "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.4.tgz",
+          "integrity": "sha512-yklXtcYj0Pt5Dz9No8xUh7d+/7fy5XRIm+r7U/BXgwJ/VsD75EfXA8t4p9tIL0jykzo5A/sGzt1xV6oqd/gP0w=="
         },
-        "react-lifecycles-compat": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-1.1.4.tgz",
-          "integrity": "sha512-g3pdexIqkn+CVvSpYIoyON8zUbF9kgfhp672gyz7wQ7PQyXVmJtah+GDYqpHpOrdwex3F77iv+alq79iux9HZw=="
+        "react-native-safe-area-view": {
+          "version": "0.7.0",
+          "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.7.0.tgz",
+          "integrity": "sha512-SjLdW/Th0WVMhyngH4O6yC21S+O4U4AAG3QxBr7fZ2ftgjXSpKbDHAhEpxBdFwei6HsnsC2h9oYMtPpaW9nfGg==",
+          "requires": {
+            "hoist-non-react-statics": "2.5.4"
+          }
         },
         "react-native-tab-view": {
-          "version": "0.0.78",
-          "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-0.0.78.tgz",
-          "integrity": "sha512-DUEM7oqLR0HZHvySahX0YcGMXHnZveMVhIiYFEqWvtVI6mjsnwg9GwEidde2l10KTXi6tzIqPy3B4J+ktBD3CQ==",
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.0.2.tgz",
+          "integrity": "sha512-x8I43V1X7/AyMnIwnqJGMU54LqQRlV6vJ9irbls9asA/axdHIdxagPIV6Jx1ttFe/bPKhFwXL+lRYdYxGyUlWg==",
           "requires": {
             "prop-types": "15.6.1"
           }
@@ -15160,15 +15402,15 @@
       }
     },
     "react-test-renderer": {
-      "version": "16.3.2",
-      "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.3.2.tgz",
-      "integrity": "sha512-lL8WHIpCTMdSe+CRkt0rfMxBkJFyhVrpdQ54BaJRIrXf9aVmbeHbRA8GFRpTvohPN5tPzMabmrzW2PUfWCfWwQ==",
+      "version": "16.4.0",
+      "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.4.0.tgz",
+      "integrity": "sha512-Seh1t9xFY6TKiV/hRlPzUkqX1xHOiKIMsctfU0cggo1ajsLjoIJFL520LlrxV+4/VIj+clrCeH6s/aVv/vTStg==",
       "dev": true,
       "requires": {
         "fbjs": "0.8.16",
         "object-assign": "4.1.1",
         "prop-types": "15.6.1",
-        "react-is": "16.3.2"
+        "react-is": "16.4.0"
       }
     },
     "react-timer-mixin": {
@@ -15351,12 +15593,13 @@
       }
     },
     "realm": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/realm/-/realm-2.6.0.tgz",
-      "integrity": "sha1-isj2GVZEldcQ0luJzMzL5XDELag=",
+      "version": "2.8.2",
+      "resolved": "https://registry.npmjs.org/realm/-/realm-2.8.2.tgz",
+      "integrity": "sha1-H7MToDVyUX+pLChTV/6Schlue2A=",
       "requires": {
         "command-line-args": "4.0.7",
         "decompress": "4.2.0",
+        "deepmerge": "2.1.0",
         "fs-extra": "4.0.3",
         "ini": "1.3.5",
         "nan": "2.8.0",
@@ -15367,7 +15610,7 @@
         "request": "2.83.0",
         "stream-counter": "1.0.0",
         "sync-request": "3.0.1",
-        "url-parse": "1.4.0"
+        "url-parse": "1.4.1"
       },
       "dependencies": {
         "fs-extra": {
@@ -15793,6 +16036,12 @@
       "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
       "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
     },
+    "retry": {
+      "version": "0.10.1",
+      "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
+      "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
+      "dev": true
+    },
     "right-align": {
       "version": "0.1.3",
       "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
@@ -16142,25 +16391,30 @@
       "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz",
       "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==",
       "requires": {
-        "ajv": "6.5.0",
+        "ajv": "6.5.1",
         "ajv-keywords": "3.2.0"
       },
       "dependencies": {
         "ajv": {
-          "version": "6.5.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.0.tgz",
-          "integrity": "sha512-VDUX1oSajablmiyFyED9L1DFndg0P9h7p1F+NO8FkIzei6EPrR6Zu1n18rd5P8PqaSRd/FrWv3G1TVBqpM83gA==",
+          "version": "6.5.1",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.1.tgz",
+          "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==",
           "requires": {
             "fast-deep-equal": "2.0.1",
             "fast-json-stable-stringify": "2.0.0",
-            "json-schema-traverse": "0.3.1",
-            "uri-js": "4.2.1"
+            "json-schema-traverse": "0.4.1",
+            "uri-js": "4.2.2"
           }
         },
         "fast-deep-equal": {
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
           "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+        },
+        "json-schema-traverse": {
+          "version": "0.4.1",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
         }
       }
     },
@@ -16361,9 +16615,9 @@
       }
     },
     "shell-utils": {
-      "version": "1.0.9",
-      "resolved": "https://registry.npmjs.org/shell-utils/-/shell-utils-1.0.9.tgz",
-      "integrity": "sha512-JbTHnKpMyj9TUUbL+Us2Rx2iVHFvH5QyQoke9SN1L0pueiZeO2Gzlzopmloi7oqObL4qtvdSuZPE3UfdIzmlag==",
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/shell-utils/-/shell-utils-1.0.10.tgz",
+      "integrity": "sha512-p1xuqhj3jgcXiV8wGoF1eL/NOvapN9tyGDoObqKwvZTUZn7fIzK75swLTEHfGa7sObeN9vxFplHw/zgYUYRTsg==",
       "dev": true,
       "requires": {
         "lodash": "4.17.10"
@@ -16591,9 +16845,9 @@
       }
     },
     "snyk": {
-      "version": "1.80.1",
-      "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.80.1.tgz",
-      "integrity": "sha1-+S0f6oKDOjmmB1mPhH4mmfAzvlw=",
+      "version": "1.82.2",
+      "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.82.2.tgz",
+      "integrity": "sha1-AzmhmY9kgIeOXbrHkHC57DUb0cU=",
       "requires": {
         "abbrev": "1.1.1",
         "ansi-escapes": "3.1.0",
@@ -16611,19 +16865,19 @@
         "recursive-readdir": "2.2.2",
         "semver": "5.5.0",
         "snyk-config": "2.1.0",
-        "snyk-go-plugin": "1.5.0",
+        "snyk-go-plugin": "1.5.1",
         "snyk-gradle-plugin": "1.3.0",
         "snyk-module": "1.8.2",
         "snyk-mvn-plugin": "1.2.0",
         "snyk-nuget-plugin": "1.6.2",
         "snyk-php-plugin": "1.5.1",
         "snyk-policy": "1.12.0",
-        "snyk-python-plugin": "1.6.0",
+        "snyk-python-plugin": "1.6.1",
         "snyk-resolve": "1.0.1",
         "snyk-resolve-deps": "3.1.0",
         "snyk-sbt-plugin": "1.3.0",
         "snyk-tree": "1.0.0",
-        "snyk-try-require": "1.3.0",
+        "snyk-try-require": "1.3.1",
         "tempfile": "2.0.0",
         "then-fs": "2.0.0",
         "undefsafe": "2.0.2",
@@ -16714,11 +16968,12 @@
       }
     },
     "snyk-go-plugin": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.5.0.tgz",
-      "integrity": "sha512-H6CHhGqchCcQV/JhOiSbTI8JLYhQU7dZ/oLwHMfVEXSD3bWOp1evlohuaQQaqic/ZInitLsjkCLHG2x47ZgUgQ==",
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.5.1.tgz",
+      "integrity": "sha512-8OPJOT05Z/UL5fFSXV6b/A6KjlS1Ahr2gpup1bhXtAGXlUUPyWidqkCIER9fexDXqYWgAoDAdn9YHIvmL/5bfw==",
       "requires": {
         "graphlib": "2.1.5",
+        "tmp": "0.0.33",
         "toml": "2.3.3"
       }
     },
@@ -16802,13 +17057,13 @@
       "integrity": "sha512-CEioNnDzccHyid7UIVl3bJ1dnG4co4ofI+KxuC1mo0IUXy64gxnBTeVoZF5gVLWbAyxGxSeW8f0+8GmWMHVb7w==",
       "requires": {
         "debug": "3.1.0",
-        "email-validator": "2.0.3",
+        "email-validator": "2.0.4",
         "js-yaml": "3.7.0",
         "lodash.clonedeep": "4.5.0",
         "semver": "5.5.0",
         "snyk-module": "1.8.2",
         "snyk-resolve": "1.0.1",
-        "snyk-try-require": "1.3.0",
+        "snyk-try-require": "1.3.1",
         "then-fs": "2.0.0"
       },
       "dependencies": {
@@ -16828,9 +17083,12 @@
       }
     },
     "snyk-python-plugin": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.6.0.tgz",
-      "integrity": "sha512-/9PcO6lvSY62qGpFjrRQ00NQdUulZnit6tOLMZp+91BnOjoiw4aKKr7uoky6rbwu64fEmK3sE+tcp8BXqH9kDQ=="
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.6.1.tgz",
+      "integrity": "sha512-6zr5jAB3p/bwMZQxZpdj+aPmioTgHB4DI6JMLInhZupss0x8Ome5YqzVzBbOvUKNrc3KaLtjGrJWcAuxDL6M/g==",
+      "requires": {
+        "tmp": "0.0.33"
+      }
     },
     "snyk-resolve": {
       "version": "1.0.1",
@@ -16868,7 +17126,7 @@
         "snyk-module": "1.8.2",
         "snyk-resolve": "1.0.1",
         "snyk-tree": "1.0.0",
-        "snyk-try-require": "1.3.0",
+        "snyk-try-require": "1.3.1",
         "then-fs": "2.0.0"
       },
       "dependencies": {
@@ -16899,9 +17157,9 @@
       }
     },
     "snyk-try-require": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/snyk-try-require/-/snyk-try-require-1.3.0.tgz",
-      "integrity": "sha1-81cGrPkciveI1Y4fGta/D89sVJM=",
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/snyk-try-require/-/snyk-try-require-1.3.1.tgz",
+      "integrity": "sha1-bgJvkuZK9/zM6h7lPVJIQeQYohI=",
       "requires": {
         "debug": "3.1.0",
         "lodash.clonedeep": "4.5.0",
@@ -17006,7 +17264,7 @@
         "faye-websocket": "0.11.1",
         "inherits": "2.0.3",
         "json3": "3.3.2",
-        "url-parse": "1.4.0"
+        "url-parse": "1.4.1"
       }
     },
     "socks": {
@@ -17512,7 +17770,7 @@
       "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==",
       "requires": {
         "bl": "1.2.2",
-        "buffer-alloc": "1.1.0",
+        "buffer-alloc": "1.2.0",
         "end-of-stream": "1.4.1",
         "fs-constants": "1.0.0",
         "readable-stream": "2.3.5",
@@ -18093,13 +18351,13 @@
       "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
       "dev": true,
       "requires": {
-        "punycode": "2.1.0"
+        "punycode": "2.1.1"
       },
       "dependencies": {
         "punycode": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz",
-          "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=",
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
           "dev": true
         }
       }
@@ -18364,14 +18622,6 @@
       "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
       "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8="
     },
-    "uniqid": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
-      "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
-      "requires": {
-        "macaddress": "0.2.8"
-      }
-    },
     "uniqs": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
@@ -18468,17 +18718,17 @@
       "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg="
     },
     "uri-js": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.1.tgz",
-      "integrity": "sha512-jpKCA3HjsBfSDOEgxRDAxQCNyHfCPSbq57PqCkd3gAyBuPb3IWxw54EHncqESznIdqSetHfw3D7ylThu2Kcc9A==",
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
       "requires": {
-        "punycode": "2.1.0"
+        "punycode": "2.1.1"
       },
       "dependencies": {
         "punycode": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz",
-          "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0="
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
         }
       }
     },
@@ -18524,9 +18774,9 @@
       }
     },
     "url-parse": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.0.tgz",
-      "integrity": "sha512-ERuGxDiQ6Xw/agN4tuoCRbmwRuZP0cJ1lJxJubXr5Q/5cDa78+Dc4wfvtxzhzhkm5VvmW6Mf8EVj9SPGN4l8Lg==",
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.1.tgz",
+      "integrity": "sha512-x95Td74QcvICAA0+qERaVkRpTGKyBHHYdwL2LXZm5t/gBtCB9KQSO/0zQgSTYEV1p0WcvSg79TLNPSvd5IDJMQ==",
       "requires": {
         "querystringify": "2.0.0",
         "requires-port": "1.0.0"
@@ -18708,7 +18958,7 @@
       "requires": {
         "acorn": "5.2.1",
         "acorn-dynamic-import": "2.0.2",
-        "ajv": "6.5.0",
+        "ajv": "6.5.1",
         "ajv-keywords": "3.2.0",
         "async": "2.6.0",
         "enhanced-resolve": "3.4.1",
@@ -18731,14 +18981,14 @@
       },
       "dependencies": {
         "ajv": {
-          "version": "6.5.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.0.tgz",
-          "integrity": "sha512-VDUX1oSajablmiyFyED9L1DFndg0P9h7p1F+NO8FkIzei6EPrR6Zu1n18rd5P8PqaSRd/FrWv3G1TVBqpM83gA==",
+          "version": "6.5.1",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.1.tgz",
+          "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==",
           "requires": {
             "fast-deep-equal": "2.0.1",
             "fast-json-stable-stringify": "2.0.0",
-            "json-schema-traverse": "0.3.1",
-            "uri-js": "4.2.1"
+            "json-schema-traverse": "0.4.1",
+            "uri-js": "4.2.2"
           }
         },
         "fast-deep-equal": {
@@ -18746,6 +18996,11 @@
           "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
           "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
         },
+        "json-schema-traverse": {
+          "version": "0.4.1",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+        },
         "supports-color": {
           "version": "4.5.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
@@ -18884,7 +19139,7 @@
       "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
       "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
       "requires": {
-        "http-parser-js": "0.4.12",
+        "http-parser-js": "0.4.13",
         "websocket-extensions": "0.1.3"
       }
     },
@@ -18914,9 +19169,9 @@
       "dev": true
     },
     "whatwg-url": {
-      "version": "6.4.1",
-      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.4.1.tgz",
-      "integrity": "sha512-FwygsxsXx27x6XXuExA/ox3Ktwcbf+OAvrKmLulotDAiO1Q6ixchPFaHYsis2zZBZSJTR0+dR+JVtf7MlbqZjw==",
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
+      "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
       "dev": true,
       "requires": {
         "lodash.sortby": "4.7.0",
@@ -19231,12 +19486,22 @@
       }
     },
     "yauzl": {
-      "version": "2.9.1",
-      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.1.tgz",
-      "integrity": "sha1-qBmB6nCleUYTOIPwKcWCGok1mn8=",
+      "version": "2.9.2",
+      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.2.tgz",
+      "integrity": "sha1-T7G8euH8L1cDe1SvasyP4QMcW3c=",
       "requires": {
         "buffer-crc32": "0.2.13",
-        "fd-slicer": "1.0.1"
+        "fd-slicer": "1.1.0"
+      },
+      "dependencies": {
+        "fd-slicer": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+          "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
+          "requires": {
+            "pend": "1.2.0"
+          }
+        }
       }
     },
     "yeast": {
diff --git a/package.json b/package.json
index 8e6b4dda7..1bf7ec01a 100644
--- a/package.json
+++ b/package.json
@@ -24,9 +24,9 @@
   },
   "dependencies": {
     "@remobile/react-native-toast": "^1.0.7",
-    "@storybook/addons": "^3.4.5",
-    "@storybook/react-native": "^3.4.5",
-    "babel-plugin-transform-decorators-legacy": "^1.3.4",
+    "@storybook/addons": "^3.4.7",
+    "@storybook/react-native": "^3.4.7",
+    "babel-plugin-transform-decorators-legacy": "^1.3.5",
     "babel-plugin-transform-remove-console": "^6.9.4",
     "babel-polyfill": "^6.26.0",
     "babel-preset-expo": "^4.0.0",
@@ -35,9 +35,9 @@
     "js-base64": "^2.4.5",
     "lodash": "^4.17.10",
     "markdown-it-flowdock": "^0.3.7",
-    "moment": "^2.22.1",
+    "moment": "^2.22.2",
     "prop-types": "^15.6.1",
-    "react": "^16.3.2",
+    "react": "^16.4.0",
     "react-clone-referenced-element": "^1.0.1",
     "react-emojione": "^5.0.0",
     "react-native": "^0.55.4",
@@ -53,55 +53,54 @@
     "react-native-keyboard-input": "git+https://github.com/RocketChat/react-native-keyboard-input.git",
     "react-native-keyboard-tracking-view": "git+https://github.com/RocketChat/react-native-keyboard-tracking-view.git",
     "react-native-markdown-renderer": "git+https://github.com/RocketChat/react-native-markdown-renderer.git",
-    "react-native-meteor": "^1.2.0",
-    "react-native-modal": "^6.0.0",
+    "react-native-meteor": "^1.3.0",
+    "react-native-modal": "^6.1.0",
     "react-native-optimized-flatlist": "^1.0.4",
     "react-native-push-notification": "^3.0.1",
     "react-native-responsive-ui": "^1.1.1",
     "react-native-safari-view": "^2.1.0",
-    "react-native-safe-area-view": "^0.7.0",
     "react-native-scrollable-tab-view": "^0.8.0",
     "react-native-slider": "^0.11.0",
     "react-native-splash-screen": "^3.0.6",
     "react-native-svg": "^6.3.1",
     "react-native-svg-image": "^2.0.1",
     "react-native-vector-icons": "^4.6.0",
-    "react-native-video": "^2.0.0",
+    "react-native-video": "^2.2.0",
     "react-native-video-controls": "^2.2.1",
     "react-native-zeroconf": "^0.8.3",
-    "react-navigation": "^2.0.0",
+    "react-navigation": "^2.3.0",
     "react-redux": "^5.0.6",
-    "realm": "^2.6.0",
+    "realm": "^2.8.2",
     "redux": "^4.0.0",
     "redux-enhancer-react-native-appstate": "^0.3.1",
     "redux-immutable-state-invariant": "^2.1.0",
     "redux-saga": "^0.16.0",
     "regenerator-runtime": "^0.11.1",
-    "snyk": "^1.80.1",
+    "snyk": "^1.82.2",
     "strip-ansi": "^4.0.0"
   },
   "devDependencies": {
-    "@storybook/addon-storyshots": "^3.4.5",
+    "@storybook/addon-storyshots": "^3.4.7",
     "babel-eslint": "^8.2.3",
-    "babel-jest": "^22.4.4",
+    "babel-jest": "^23.0.1",
     "babel-plugin-transform-react-remove-prop-types": "^0.4.10",
     "babel-preset-es2015": "^6.24.1",
     "babel-preset-react-native": "^4.0.0",
     "codecov": "^3.0.2",
-    "detox": "^7.3.5",
+    "detox": "^7.4.2",
     "eslint": "^4.19.1",
     "eslint-config-airbnb": "^16.1.0",
     "eslint-plugin-import": "^2.12.0",
     "eslint-plugin-jsx-a11y": "^6.0.3",
-    "eslint-plugin-react": "^7.8.2",
+    "eslint-plugin-react": "^7.9.1",
     "eslint-plugin-react-native": "^3.2.0",
     "identity-obj-proxy": "^3.0.0",
-    "jest": "^22.4.4",
-    "jest-cli": "^22.4.4",
-    "mocha": "^5.1.1",
-    "react-dom": "^16.3.2",
+    "jest": "^23.1.0",
+    "jest-cli": "^23.1.0",
+    "mocha": "^5.2.0",
+    "react-dom": "^16.4.0",
     "react-native-bundle-visualizer": "^1.2.0",
-    "react-test-renderer": "^16.3.2",
+    "react-test-renderer": "^16.4.0",
     "reactotron-react-native": "^1.14.0",
     "reactotron-redux": "^1.13.0",
     "reactotron-redux-saga": "^1.13.0"
diff --git a/storybook/stories/index.js b/storybook/stories/index.js
index 603598e26..09631e178 100644
--- a/storybook/stories/index.js
+++ b/storybook/stories/index.js
@@ -13,7 +13,7 @@ import { storiesOf } from '@storybook/react-native';
 import DirectMessage from './Channels/DirectMessage';
 import Avatar from './Avatar';
 
-const reducers = combineReducers({ settings: () => ({}), login: () => ({ user: {} }) });
+const reducers = combineReducers({ settings: () => ({}), login: () => ({ user: {} }), meteor: () => ({ connected: true }) });
 const store = createStore(reducers);
 
 storiesOf('Avatar', module).addDecorator(story => <Provider store={store}>{story()}</Provider>).add('avatar', () => Avatar);
-- 
GitLab