diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/ResizeAndMovePagePubMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/ResizeAndMovePagePubMsgHdlr.scala index f0694832a6586af47a4a8b34460dfabce6611afc..dbb58eef3331c1c57f82a6b6f2a9fd2d4cc92af5 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/ResizeAndMovePagePubMsgHdlr.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/ResizeAndMovePagePubMsgHdlr.scala @@ -3,6 +3,7 @@ package org.bigbluebutton.core.apps.presentation import org.bigbluebutton.common2.msgs._ import org.bigbluebutton.common2.domain.PageVO import org.bigbluebutton.core.running.OutMsgRouter +import org.bigbluebutton.core.models.Users2x trait ResizeAndMovePagePubMsgHdlr { this: PresentationApp2x => @@ -24,10 +25,12 @@ trait ResizeAndMovePagePubMsgHdlr { //record(event) } - for { - page <- resizeAndMovePage(msg.body.presentationId, msg.body.pageId, msg.body.xOffset, msg.body.yOffset, msg.body.widthRatio, msg.body.heightRatio) - } yield { - broadcastEvent(msg, page) + if (Users2x.isPresenter(msg.header.userId, liveMeeting.users2x)) { + for { + page <- resizeAndMovePage(msg.body.presentationId, msg.body.pageId, msg.body.xOffset, msg.body.yOffset, msg.body.widthRatio, msg.body.heightRatio) + } yield { + broadcastEvent(msg, page) + } } } } diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/UserLeaveReqMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/UserLeaveReqMsgHdlr.scala index cfe141e6506e18c3b6b86861d062116bc15fc0af..0956c1eca41d49baa0d4f95e7b784fa6ba652e9e 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/UserLeaveReqMsgHdlr.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/UserLeaveReqMsgHdlr.scala @@ -2,7 +2,7 @@ package org.bigbluebutton.core.apps.users import org.bigbluebutton.common2.msgs._ import org.bigbluebutton.core.domain.{ MeetingExpiryTracker, MeetingState2x } -import org.bigbluebutton.core.models.{ Users2x, VoiceUserState, VoiceUsers } +import org.bigbluebutton.core.models.Users2x import org.bigbluebutton.core.running.{ LiveMeeting, MeetingActor, OutMsgRouter } import org.bigbluebutton.core.util.TimeUtil import org.bigbluebutton.core2.MeetingStatus2x @@ -38,26 +38,6 @@ trait UserLeaveReqMsgHdlr { // request ongoing poll to end handleStopPollReqMsg(u.intId) } - - def broadcastEvent(vu: VoiceUserState): Unit = { - val routing = Routing.addMsgToClientRouting(MessageTypes.BROADCAST_TO_MEETING, liveMeeting.props.meetingProp.intId, - vu.intId) - val envelope = BbbCoreEnvelope(UserLeftVoiceConfToClientEvtMsg.NAME, routing) - val header = BbbClientMsgHeader(UserLeftVoiceConfToClientEvtMsg.NAME, liveMeeting.props.meetingProp.intId, vu.intId) - - val body = UserLeftVoiceConfToClientEvtMsgBody(voiceConf = liveMeeting.props.voiceProp.voiceConf, intId = vu.intId, voiceUserId = vu.voiceUserId) - - val event = UserLeftVoiceConfToClientEvtMsg(header, body) - val msgEvent = BbbCommonEnvCoreMsg(envelope, event) - outGW.send(msgEvent) - } - - for { - user <- VoiceUsers.findWithIntId(liveMeeting.voiceUsers, msg.body.userId) - } yield { - VoiceUsers.removeWithIntId(liveMeeting.voiceUsers, user.intId) - broadcastEvent(user) - } } if (liveMeeting.props.meetingProp.isBreakout) { diff --git a/bigbluebutton-client/locale/en_US/bbbResources.properties b/bigbluebutton-client/locale/en_US/bbbResources.properties index 42c789cbed205941d113429190275267227faac7..db6da33f43faf32e5a00b392c98833a9a8fd0c3f 100755 --- a/bigbluebutton-client/locale/en_US/bbbResources.properties +++ b/bigbluebutton-client/locale/en_US/bbbResources.properties @@ -116,9 +116,9 @@ bbb.mainToolbar.recordBtn.toolTip.wontRecord = This session cannot be recorded bbb.mainToolbar.recordBtn.confirm.title = Confirm recording bbb.mainToolbar.recordBtn.confirm.message.start = Are you sure you want to start recording the session? bbb.mainToolbar.recordBtn.confirm.message.stop = Are you sure you want to stop recording the session? -bbb.mainToolbar.recordBtn..notification.title = Record Notification -bbb.mainToolbar.recordBtn..notification.message1 = You can record this meeting. -bbb.mainToolbar.recordBtn..notification.message2 = You must click the Start/Stop Recording button in the title bar to begin/end recording. +bbb.mainToolbar.recordBtn.notification.title = Record Notification +bbb.mainToolbar.recordBtn.notification.message1 = You can record this meeting. +bbb.mainToolbar.recordBtn.notification.message2 = You must click the Start/Stop Recording button in the title bar to begin/end recording. bbb.mainToolbar.recordingLabel.recording = (Recording) bbb.mainToolbar.recordingLabel.notRecording = Not Recording bbb.waitWindow.waitMessage.message = You are a guest, please wait moderator approval. diff --git a/bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js b/bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js index c961a3be3319bf59d75df99a365223ca139ef6fc..a29923966fa58015032c35d3daa8f3e8c68d5696 100755 --- a/bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js +++ b/bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js @@ -129,6 +129,7 @@ function stopWebRTCAudioTestJoinConference(){ transferTimeout = setTimeout( function() { console.log("Call transfer failed. No response after 3 seconds"); webRTCCallback({'status': 'failed', 'errorcode': 1008}); + releaseUserMedia(); currentSession = null; if (userAgent != null) { var userAgentTemp = userAgent; @@ -287,7 +288,7 @@ function webrtc_call(username, voiceBridge, callback, isListenOnly) { } // if the user requests to proceed as listen only (does not require media) or media is already acquired, // proceed with making the call - if (isListenOnly || userMicMedia !== undefined) { + if (isListenOnly || userMicMedia != null) { makeCallFunc(); } else { callback({'status':'mediarequest'}); @@ -387,6 +388,7 @@ function make_call(username, voiceBridge, server, callback, recall, isListenOnly callTimeout = setTimeout(function() { console.log('Ten seconds without updates sending timeout code'); callback({'status':'failed', 'errorcode': 1006}); // Failure on call + releaseUserMedia(); currentSession = null; if (userAgent != null) { var userAgentTemp = userAgent; @@ -414,6 +416,7 @@ function make_call(username, voiceBridge, server, callback, recall, isListenOnly iceGatheringTimeout = setTimeout(function() { console.log('Thirty seconds without ICE gathering finishing'); callback({'status':'failed', 'errorcode': 1011}); // ICE Gathering Failed + releaseUserMedia(); currentSession = null; if (userAgent != null) { var userAgentTemp = userAgent; @@ -439,6 +442,7 @@ function make_call(username, voiceBridge, server, callback, recall, isListenOnly console.log('call failed with cause: '+ cause); if (currentSession) { + releaseUserMedia(); if (callActive === false) { callback({'status':'failed', 'errorcode': 1004, 'cause': cause}); // Failure on call currentSession = null; @@ -463,7 +467,7 @@ function make_call(username, voiceBridge, server, callback, recall, isListenOnly if (currentSession) { console.log('call ended ' + currentSession.endTime); - + releaseUserMedia(); if (callPurposefullyEnded === true) { callback({'status':'ended'}); } else { @@ -480,6 +484,7 @@ function make_call(username, voiceBridge, server, callback, recall, isListenOnly if (currentSession) { console.log('call canceled'); + releaseUserMedia(); clearTimeout(callTimeout); currentSession = null; } else { @@ -498,6 +503,7 @@ function make_call(username, voiceBridge, server, callback, recall, isListenOnly iceConnectedTimeout = setTimeout(function() { console.log('5 seconds without ICE finishing'); callback({'status':'failed', 'errorcode': 1010}); // ICE negotiation timeout + releaseUserMedia(); currentSession = null; if (userAgent != null) { var userAgentTemp = userAgent; @@ -511,6 +517,7 @@ function make_call(username, voiceBridge, server, callback, recall, isListenOnly currentSession.mediaHandler.on('iceConnectionFailed', function() { console.log('received ice negotiation failed'); callback({'status':'failed', 'errorcode': 1007}); // Failure on call + releaseUserMedia(); currentSession = null; clearTimeout(iceConnectedTimeout); if (userAgent != null) { @@ -564,6 +571,22 @@ function webrtc_hangup(callback) { } } +function releaseUserMedia() { + if (!!userMicMedia) { + console.log("Releasing media tracks"); + + userMicMedia.getAudioTracks().forEach(function(track) { + track.stop(); + }); + + userMicMedia.getVideoTracks().forEach(function(track) { + track.stop(); + }); + + userMicMedia = null; + } +} + function isWebRTCAvailable() { if (bowser.msedge) { return false; diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/PopUpUtil.as b/bigbluebutton-client/src/org/bigbluebutton/core/PopUpUtil.as index e560d654634179bb4b1f2540edf5037ac07ad7cb..550b536a699d063180b45f0e9917d917a22841da 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/core/PopUpUtil.as +++ b/bigbluebutton-client/src/org/bigbluebutton/core/PopUpUtil.as @@ -19,15 +19,20 @@ package org.bigbluebutton.core { import flash.display.DisplayObject; import flash.events.KeyboardEvent; + import flash.geom.Point; import flash.ui.Keyboard; import flash.utils.Dictionary; import flash.utils.getQualifiedClassName; + import mx.containers.Panel; import mx.controls.Alert; + import mx.core.Application; import mx.core.FlexGlobals; import mx.core.IChildList; import mx.core.IFlexDisplayObject; import mx.core.IUIComponent; + import mx.events.ResizeEvent; + import mx.managers.ISystemManager; import mx.managers.PopUpManager; import mx.managers.SystemManager; @@ -42,6 +47,8 @@ package org.bigbluebutton.core { private static var popUpDict:Dictionary = new Dictionary(true); + private static var lockedPositions:Dictionary = new Dictionary(true); + public static function initAlert():void { Alert.buttonHeight = 30; Alert.buttonWidth = 100; @@ -49,6 +56,7 @@ package org.bigbluebutton.core { Alert.noLabel = ResourceUtil.getInstance().getString('bbb.alert.no'); Alert.okLabel = ResourceUtil.getInstance().getString('bbb.alert.ok'); Alert.yesLabel = ResourceUtil.getInstance().getString('bbb.alert.yes'); + Application(FlexGlobals.topLevelApplication).addEventListener(ResizeEvent.RESIZE, globalResizeListener); } public static function createNonModalPopUp(parent:DisplayObject, className:Class, center:Boolean = true):IFlexDisplayObject { @@ -113,5 +121,38 @@ package org.bigbluebutton.core { removePopUp(event.currentTarget); } } + + private static function globalResizeListener(event:ResizeEvent):void { + var systemManager:ISystemManager = Application(FlexGlobals.topLevelApplication).systemManager; + for (var i:int = systemManager.numChildren - 1; i > 0; i -= 1) { + if (systemManager.getChildAt(i) is Panel && !hasPositionLocked(systemManager.getChildAt(i))) { + PopUpManager.centerPopUp(systemManager.getChildAt(i) as IFlexDisplayObject); + } + } + } + + public static function lockPosition(popUp:*, positionFunction:Function = null):void { + var resizeHandler:Function = function():void { + if (positionFunction != null) { + var newPosition:Point = positionFunction.apply(); + popUp.move(newPosition.x, newPosition.y); + } + }; + resizeHandler.apply(); + Application(FlexGlobals.topLevelApplication).addEventListener(ResizeEvent.RESIZE, resizeHandler); + lockedPositions[getQualifiedClassName(popUp)] = resizeHandler; + } + + public static function unlockPosition(popUp:*):void { + var fqcn:String = getQualifiedClassName(popUp); + if (lockedPositions[fqcn] != undefined) { + Application(FlexGlobals.topLevelApplication).removeEventListener(ResizeEvent.RESIZE, lockedPositions[fqcn]); + delete lockedPositions[fqcn]; + } + } + + public static function hasPositionLocked(popUp:*):Boolean { + return lockedPositions[getQualifiedClassName(popUp)] != undefined; + } } } diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/CameraDisplaySettings.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/CameraDisplaySettings.mxml index 5391b2262dcc46be17f37c4d96868eee1e9ed47c..ac0760643d9eca05d64a05f5601a682ab49afff6 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/CameraDisplaySettings.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/CameraDisplaySettings.mxml @@ -60,11 +60,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private var selectedCam:int; private var aspectRatio:Number = 1; - override public function move(x:Number, y:Number):void - { - return; - } - private function onCreationComplete():void { tabIndex = 51; } diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/FlashMicSettings.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/FlashMicSettings.mxml index c5fab8fe03f26bd63ce141e2f284558bc648ecf8..f9b5a59e83620cf995be22a7342430310b553fec 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/FlashMicSettings.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/FlashMicSettings.mxml @@ -89,10 +89,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private var my_nc:NetConnection; private var nsStream:NetStream; - override public function move(x:Number, y:Number):void { - return; - } - private function selectMicrophone(event:Event):void { testMicrophoneLoopback(); } diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/GuestWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/GuestWindow.mxml index 21601df606c3966582ae7d7fe52facfb264d3fce..cfd4db6a71f0fd932198201b77871070460f73f8 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/GuestWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/GuestWindow.mxml @@ -34,17 +34,16 @@ $Id: $ <fx:Script> <![CDATA[ - import com.asfusion.mate.events.Dispatcher; - - import mx.managers.PopUpManager; - - import org.bigbluebutton.core.model.LiveMeeting; - import org.bigbluebutton.core.model.users.GuestWaiting; - import org.bigbluebutton.main.events.BBBEvent; - import org.bigbluebutton.main.events.RemoveGuestEvent; - import org.bigbluebutton.main.events.RemoveGuestFromViewEvent; - import org.bigbluebutton.main.events.ResponseModeratorEvent; - import org.bigbluebutton.util.i18n.ResourceUtil; + import com.asfusion.mate.events.Dispatcher; + + import org.bigbluebutton.core.PopUpUtil; + import org.bigbluebutton.core.model.LiveMeeting; + import org.bigbluebutton.core.model.users.GuestWaiting; + import org.bigbluebutton.main.events.BBBEvent; + import org.bigbluebutton.main.events.RemoveGuestEvent; + import org.bigbluebutton.main.events.RemoveGuestFromViewEvent; + import org.bigbluebutton.main.events.ResponseModeratorEvent; + import org.bigbluebutton.util.i18n.ResourceUtil; private var guestButtons:Object = new Object(); [Bindable] private var numberOfGuests:Number = 0; @@ -127,7 +126,8 @@ $Id: $ public function closeWindow():void { this.visible = false; - PopUpManager.removePopUp(this); + PopUpUtil.unlockPosition(this); + PopUpUtil.removePopUp(this); } ]]> diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/LockSettings.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/LockSettings.mxml index 82da5cbe347b1d786a9beebd310ba7221e93c9d4..e143e6ca3c68d165386c014d291dcc5639a7951c 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/LockSettings.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/LockSettings.mxml @@ -42,10 +42,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. [Bindable] public var lockOnJoin:Boolean = false; [Bindable] public var lockOnJoinConfigurable:Boolean = false; - override public function move(x:Number, y:Number):void { - return; - } - private function handleKeyDown(event:KeyboardEvent):void { if (event.charCode == Keyboard.ESCAPE) { onCancelClicked(); diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/LogoutWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/LogoutWindow.mxml index 7fbcafb862f8ca76e7c293db655370d10d20caa7..8a86e4a2de30ed45db304fab9e4bd9968d1acaf5 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/LogoutWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/LogoutWindow.mxml @@ -33,16 +33,15 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. <fx:Script> <![CDATA[ - import com.asfusion.mate.events.Dispatcher; - - import mx.managers.PopUpManager; - - import org.as3commons.logging.api.ILogger; - import org.as3commons.logging.api.getClassLogger; - import org.bigbluebutton.core.UsersUtil; - import org.bigbluebutton.main.events.BBBEvent; - import org.bigbluebutton.main.events.LogoutEvent; - import org.bigbluebutton.util.i18n.ResourceUtil; + import com.asfusion.mate.events.Dispatcher; + + import org.as3commons.logging.api.ILogger; + import org.as3commons.logging.api.getClassLogger; + import org.bigbluebutton.core.PopUpUtil; + import org.bigbluebutton.core.UsersUtil; + import org.bigbluebutton.main.events.BBBEvent; + import org.bigbluebutton.main.events.LogoutEvent; + import org.bigbluebutton.util.i18n.ResourceUtil; private static const LOGGER:ILogger = getClassLogger(LogoutWindow); @@ -70,7 +69,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function close():void { - PopUpManager.removePopUp(this); + PopUpUtil.unlockPosition(this); + PopUpUtil.removePopUp(this); } ]]> </fx:Script> diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml index 6964d327e6d0e696b0634967c07135d4dd729165..0e83c132d6f695282b1ca13cc90b93861d324f8d 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml @@ -400,11 +400,13 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } if (guestWindow == null) { - guestWindow = PopUpUtil.createModalPopUp( mdiCanvas, GuestWindow, false) as GuestWindow; + guestWindow = PopUpUtil.createModalPopUp( FlexGlobals.topLevelApplication as DisplayObject, GuestWindow, false) as GuestWindow; + + PopUpUtil.lockPosition(guestWindow, function():Point { + return new Point(systemManager.screen.width - guestWindow.width - 20, 20); + }); + guestWindow.addEventListener(Event.CLOSE, closeGuestWindow); - - guestWindow.x = systemManager.screen.width - guestWindow.width - 20; - guestWindow.y = 20; } guestWindow.refreshGuestView(); } @@ -424,11 +426,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private function openWaitWindow(evt:BBBEvent):void { progressBar.visible = false; - waitWindow = PopUpUtil.createModalPopUp( mdiCanvas, WaitingWindow, false) as WaitingWindow; - - // Calculate position of TitleWindow in Application's coordinates. - waitWindow.x = (systemManager.screen.width - waitWindow.width) / 2; - waitWindow.y = (systemManager.screen.height - waitWindow.height) / 2; + waitWindow = PopUpUtil.createModalPopUp( FlexGlobals.topLevelApplication as DisplayObject, WaitingWindow, true) as WaitingWindow; } private function openLogWindow():void { @@ -562,7 +560,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function handleInactivityWarningEvent(e:BBBEvent):void { - var inactivityWarning:InactivityWarningWindow = PopUpUtil.createModalPopUp(mdiCanvas, InactivityWarningWindow, true) as InactivityWarningWindow; + var inactivityWarning:InactivityWarningWindow = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, InactivityWarningWindow, true) as InactivityWarningWindow; inactivityWarning.duration = e.payload.duration; } @@ -573,52 +571,27 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. * avoid this case. - Chad */ this.callLater(function():void { - var micSettings:FlashMicSettings = PopUpUtil.createModalPopUp(mdiCanvas, FlashMicSettings, false) as FlashMicSettings; - if (micSettings) { - micSettings.addEventListener(FlexEvent.CREATION_COMPLETE, function(e:Event):void { - var point1:Point = new Point(); - // Calculate position of TitleWindow in Application's coordinates. - point1.x = width / 2; - point1.y = height / 2; - micSettings.x = point1.x - (micSettings.width / 2); - micSettings.y = point1.y - (micSettings.height / 2); - }); - } + PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, FlashMicSettings, true) as FlashMicSettings; }); } private function openVideoPreviewWindow(event:BBBEvent):void { - var camSettings:CameraDisplaySettings = PopUpUtil.createModalPopUp(mdiCanvas, CameraDisplaySettings, true) as CameraDisplaySettings; + var camSettings:CameraDisplaySettings = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, CameraDisplaySettings, true) as CameraDisplaySettings; if (camSettings) { camSettings.defaultCamera = event.payload.defaultCamera; camSettings.camerasArray = event.payload.camerasArray; camSettings.publishInClient = event.payload.publishInClient; camSettings.chromePermissionDenied = event.payload.chromePermissionDenied; camSettings.updateCameraList(); - - var point1:Point = new Point(); - // Calculate position of TitleWindow in Application's coordinates. - point1.x = width / 2; - point1.y = height / 2; - camSettings.x = point1.x - (camSettings.width / 2); - camSettings.y = point1.y - (camSettings.height / 2); } } private function wrongLocaleVersion():void { - var localeWindow:OldLocaleWarnWindow = PopUpUtil.createNonModalPopUp(mdiCanvas, OldLocaleWarnWindow, false) as OldLocaleWarnWindow; - if (localeWindow) { - var point1:Point = new Point(); - // Calculate position of TitleWindow in Application's coordinates. - point1.x = width / 2; - point1.y = height / 2; - localeWindow.x = point1.x - (localeWindow.width / 2); - localeWindow.y = point1.y - (localeWindow.height / 2); - } + PopUpUtil.createNonModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, OldLocaleWarnWindow, true) as OldLocaleWarnWindow; } private function handleShowAudioSelectionWindowEvent(event:AudioSelectionWindowEvent):void { - PopUpUtil.createModalPopUp(mdiCanvas, AudioSelectionWindow, true); + PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, AudioSelectionWindow, true); } private function handleRoundTripLatencyReceivedEvent(event: RoundTripLatencyReceivedEvent): void { @@ -628,7 +601,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private function handleWebRTCMediaRequestEvent(event:WebRTCMediaEvent):void { var options:PhoneOptions = new PhoneOptions(); if (!options.showMicrophoneHint) return; - var browserPermissionHelper:BrowserPermissionHelper = PopUpUtil.createModalPopUp(mdiCanvas, BrowserPermissionHelper, false) as BrowserPermissionHelper; + var browserPermissionHelper:BrowserPermissionHelper = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, BrowserPermissionHelper, false) as BrowserPermissionHelper; if (BrowserCheck.isFirefox()) { if (browserPermissionHelper) { if (Capabilities.os.indexOf("Mac") >= 0){ @@ -650,17 +623,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function handleWebRTCEchoTestConnectingEvent(event:WebRTCEchoTestEvent):void { - var webRTCEchoTest:WebRTCEchoTest = PopUpUtil.createModalPopUp(mdiCanvas, WebRTCEchoTest, false) as WebRTCEchoTest; - if (webRTCEchoTest) { - webRTCEchoTest.addEventListener(FlexEvent.CREATION_COMPLETE, function(e:Event):void { - var point1:Point = new Point(); - // Calculate position of TitleWindow in Application's coordinates. - point1.x = width / 2; - point1.y = height / 2; - webRTCEchoTest.x = point1.x - (webRTCEchoTest.width / 2); - webRTCEchoTest.y = point1.y - (webRTCEchoTest.height / 2); - }); - } + PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, WebRTCEchoTest, true) as WebRTCEchoTest; } private function handleShareCameraRequestEvent(event:ShareCameraRequestEvent):void { @@ -671,7 +634,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function showbrowserPermissionHelper() : void { - var browserPermissionHelper : BrowserPermissionHelper = PopUpUtil.createNonModalPopUp(mdiCanvas, BrowserPermissionHelper, false) as BrowserPermissionHelper; + var browserPermissionHelper : BrowserPermissionHelper = PopUpUtil.createNonModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, BrowserPermissionHelper, false) as BrowserPermissionHelper; if (browserPermissionHelper) { browserPermissionHelper.currentState = "chromeCam"; browserPermissionHelper.x = 20; @@ -689,15 +652,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. handleExitApplicationEvent(); return; } - var loggedOutWindow:LoggedOutWindow = PopUpUtil.createModalPopUp(mdiCanvas, LoggedOutWindow, false) as LoggedOutWindow; + var loggedOutWindow:LoggedOutWindow = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, LoggedOutWindow, true) as LoggedOutWindow; if (loggedOutWindow) { - var point1:Point = new Point(); - // Calculate position of TitleWindow in Application's coordinates. - point1.x = width / 2; - point1.y = height / 2; - loggedOutWindow.x = point1.x - (loggedOutWindow.width / 2); - loggedOutWindow.y = point1.y - (loggedOutWindow.height / 2); - loggedOutWindow.setReason(reason); mdiCanvas.removeAllPopUps(); removeToolBars(); @@ -852,7 +808,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private function openLockSettingsWindow(event:LockControlEvent):void { var lsv:LockSettingsVO = UsersUtil.getLockSettings(); - var popUp:IFlexDisplayObject = PopUpUtil.createModalPopUp(mdiCanvas, LockSettings, false); + var popUp:IFlexDisplayObject = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, LockSettings, true); if (popUp) { var ls:LockSettings = LockSettings(popUp); ls.disableCam = lsv.getDisableCam(); @@ -862,17 +818,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. ls.lockedLayout = lsv.getLockedLayout(); ls.lockOnJoin = lsv.getLockOnJoin(); ls.lockOnJoinConfigurable = lsv.getLockOnJoinConfigurable(); - - var point1:Point = new Point(); - point1.x = width / 2; - point1.y = height / 2; - ls.x = point1.x - (ls.width / 2); - ls.y = point1.y - (ls.height / 2); } } private function openBreakoutRoomsWindow(e:BreakoutRoomEvent):void { - var popUp:IFlexDisplayObject = PopUpUtil.createModalPopUp(mdiCanvas, BreakoutRoomSettings, true); + var popUp:IFlexDisplayObject = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, BreakoutRoomSettings, true); if (popUp != null) { BreakoutRoomSettings(popUp).initCreateBreakoutRooms(e.joinMode, e.record); } diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml index 86fef8d16f6d2688bb6a8d3118226bc42e83cfeb..d5f64e0a7cc0cf75c200cb04f607f4fcf2801033 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml @@ -301,13 +301,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private function confirmLogout():void { if (toolbarOptions.confirmLogout) { - var logoutWindow:LogoutWindow = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, LogoutWindow, true) as LogoutWindow; + var logoutWindow:LogoutWindow = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, LogoutWindow, false) as LogoutWindow; - var newX:Number = this.width - logoutWindow.width - 5; - var newY:Number = btnLogout.y + btnLogout.height + 5; - - logoutWindow.x = newX; - logoutWindow.y = newY; + PopUpUtil.lockPosition(logoutWindow, function():Point { + return new Point(width - logoutWindow.width - 5, btnLogout.y + btnLogout.height + 5) + }); } else { doLogout(); } @@ -515,7 +513,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function onSettingsButtonClick():void { - settingsPopup = PopUpUtil.createModalPopUp(this.parent, BBBSettings, true) as BBBSettings; + settingsPopup = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, BBBSettings, true) as BBBSettings; settingsPopup.pushComponents(settingsComponents); PopUpManager.centerPopUp(settingsPopup); } diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/RecordButton.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/RecordButton.mxml index 411e63027c39759e810ab156999aeb4977e19e59..9439b06c98d6eba9052c00fccbee120276e9eba2 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/RecordButton.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/RecordButton.mxml @@ -42,26 +42,27 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. </fx:Declarations> <fx:Script> <![CDATA[ - import com.asfusion.mate.events.Dispatcher; - - import flash.net.navigateToURL; - - import mx.controls.Alert; - import mx.events.CloseEvent; - import mx.managers.PopUpManager; - - import org.as3commons.logging.api.ILogger; - import org.as3commons.logging.api.getClassLogger; - import org.bigbluebutton.core.BBB; - import org.bigbluebutton.core.Options; - import org.bigbluebutton.core.UsersUtil; - import org.bigbluebutton.core.model.LiveMeeting; - import org.bigbluebutton.main.events.BBBEvent; - import org.bigbluebutton.main.model.options.LayoutOptions; - import org.bigbluebutton.main.model.users.events.ChangeMyRole; - import org.bigbluebutton.modules.phone.events.FlashJoinedVoiceConferenceEvent; - import org.bigbluebutton.modules.phone.events.WebRTCCallEvent; - import org.bigbluebutton.util.i18n.ResourceUtil; + import com.asfusion.mate.events.Dispatcher; + + import flash.net.navigateToURL; + + import mx.controls.Alert; + import mx.events.CloseEvent; + import mx.managers.PopUpManager; + + import org.as3commons.logging.api.ILogger; + import org.as3commons.logging.api.getClassLogger; + import org.bigbluebutton.core.BBB; + import org.bigbluebutton.core.Options; + import org.bigbluebutton.core.PopUpUtil; + import org.bigbluebutton.core.UsersUtil; + import org.bigbluebutton.core.model.LiveMeeting; + import org.bigbluebutton.main.events.BBBEvent; + import org.bigbluebutton.main.model.options.LayoutOptions; + import org.bigbluebutton.main.model.users.events.ChangeMyRole; + import org.bigbluebutton.modules.phone.events.FlashJoinedVoiceConferenceEvent; + import org.bigbluebutton.modules.phone.events.WebRTCCallEvent; + import org.bigbluebutton.util.i18n.ResourceUtil; private static const LOGGER:ILogger = getClassLogger(RecordButton); @@ -76,9 +77,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private function hideConfirmationAlert():void { if (_confirmationAlert != null) { - if (_confirmationAlert.visible) { - PopUpManager.removePopUp(_confirmationAlert); - } + PopUpManager.removePopUp(_confirmationAlert); + PopUpUtil.unlockPosition(_confirmationAlert); _confirmationAlert = null; } } @@ -91,13 +91,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. // Confirm logout using built-in alert _confirmationAlert = Alert.show(message, ResourceUtil.getInstance().getString('bbb.mainToolbar.recordBtn.confirm.title'), Alert.YES | Alert.NO, this, onCloseConfirmationDialog, null, Alert.YES); - // Reach out to MainAppShell to set position of alert window. - var newX:Number = this.parent.parent.width * 0.7; - var newY:Number = this.y + this.height + 5; - - _confirmationAlert.validateNow(); - _confirmationAlert.move(newX, newY); - //Accessibility.updateProperties(); + PopUpUtil.lockPosition(_confirmationAlert, function():Point { + return new Point(parent.parent.width * 0.7, y + height + 5); + }); } private function confirmChangeRecordingStatus():void { @@ -177,7 +173,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. && UsersUtil.amIModerator() && LiveMeeting.inst().meeting.allowStartStopRecording && this.enabled) { - var alert:Alert = Alert.show(ResourceUtil.getInstance().getString("bbb.mainToolbar.recordBtn..notification.message1") + "\n\n" + ResourceUtil.getInstance().getString("bbb.mainToolbar.recordBtn..notification.message2"), ResourceUtil.getInstance().getString("bbb.mainToolbar.recordBtn..notification.title"), Alert.OK, this); + var alert:Alert = Alert.show(ResourceUtil.getInstance().getString("bbb.mainToolbar.recordBtn.notification.message1") + "\n\n" + ResourceUtil.getInstance().getString("bbb.mainToolbar.recordBtn.notification.message2"), ResourceUtil.getInstance().getString("bbb.mainToolbar.recordBtn.notification.title"), Alert.OK, this); // we need to set transparency duration to avoid the blur effect when two alerts are displayed sequentially alert.setStyle("modalTransparencyDuration", 250); alert.titleIcon = getStyle('iconRecordReminder'); diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/WaitingWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/WaitingWindow.mxml index d41efed188912e13e529d9b821c5b24ef5526466..f5dc848246246923c13d904f7e1409163e93b4bc 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/WaitingWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/WaitingWindow.mxml @@ -27,12 +27,12 @@ <fx:Script> <![CDATA[ - import mx.managers.PopUpManager; - + import org.bigbluebutton.core.PopUpUtil; import org.bigbluebutton.util.i18n.ResourceUtil; public function removeWindow():void { - PopUpManager.removePopUp(this); + PopUpUtil.unlockPosition(this); + PopUpUtil.removePopUp(this); } ]]> </fx:Script> diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml index 2e31a4454a1a2f797926061f4603f674905f85b6..e0d4a88492213a237d49f7e0473a69a3f1648e37 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml @@ -71,10 +71,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private var userClosed:Boolean = false; - override public function move(x:Number, y:Number):void { - return; - } - private function onCancelClicked():void { stopTimers(); PopUpUtil.removePopUp(this); diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/managers/PresentManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/present/managers/PresentManager.as index 3cfc7d69450a5484d0f0aa2eeff038ac8be4af70..38796d1cd53661036995f25c7d93ad3f718d5b96 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/managers/PresentManager.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/managers/PresentManager.as @@ -21,7 +21,6 @@ package org.bigbluebutton.modules.present.managers import com.asfusion.mate.events.Dispatcher; import flash.display.DisplayObject; - import flash.geom.Point; import mx.core.FlexGlobals; @@ -73,13 +72,6 @@ package org.bigbluebutton.modules.present.managers var uploadWindow : FileUploadWindow = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, FileUploadWindow, false) as FileUploadWindow; if (uploadWindow) { uploadWindow.maxFileSize = e.maxFileSize; - - var point1:Point = new Point(); - point1.x = FlexGlobals.topLevelApplication.width / 2; - point1.y = FlexGlobals.topLevelApplication.height / 2; - - uploadWindow.x = point1.x - (uploadWindow.width/2); - uploadWindow.y = point1.y - (uploadWindow.height/2); } } @@ -88,15 +80,7 @@ package org.bigbluebutton.modules.present.managers } public function handleOpenDownloadWindow():void { - var downloadWindow:FileDownloadWindow = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, FileDownloadWindow, false) as FileDownloadWindow; - if (downloadWindow) { - var point1:Point = new Point(); - point1.x = FlexGlobals.topLevelApplication.width / 2; - point1.y = FlexGlobals.topLevelApplication.height / 2; - - downloadWindow.x = point1.x - (downloadWindow.width/2); - downloadWindow.y = point1.y - (downloadWindow.height/2); - } + PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, FileDownloadWindow, true) as FileDownloadWindow; } public function handleCloseDownloadWindow():void { diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/model/PagePositionBroadcaster.as b/bigbluebutton-client/src/org/bigbluebutton/modules/present/model/PagePositionBroadcaster.as new file mode 100755 index 0000000000000000000000000000000000000000..237c567a8a70aaf0332f674483e7ea978fcc8c69 --- /dev/null +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/model/PagePositionBroadcaster.as @@ -0,0 +1,75 @@ +package org.bigbluebutton.modules.present.model { + import com.asfusion.mate.events.Dispatcher; + + import flash.events.TimerEvent; + import flash.utils.Timer; + + import org.bigbluebutton.modules.present.events.PresenterCommands; + + public class PagePositionBroadcaster { + + private var updateTimer:Timer; + + private var lastSentPosition:PagePosition; + + private var recentPosition:PagePosition; + + public function PagePositionBroadcaster() { + updateTimer = new Timer(50, 1); + updateTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimer); + + recentPosition = new PagePosition(); + lastSentPosition = new PagePosition(); + } + + public function broadcastPosition(x:Number, y:Number, width:Number, height:Number):void { + recentPosition = new PagePosition(x, y, width, height); + + if (!updateTimer.running) { + updateTimer.start(); + } + } + + public function reset():void { + if (updateTimer.running) { + updateTimer.stop(); + } + + recentPosition = new PagePosition(); + lastSentPosition = new PagePosition(); + } + + private function onTimer(e:TimerEvent):void { + if (!lastSentPosition.equals(recentPosition)) { + var globalDispatcher:Dispatcher = new Dispatcher(); + + var moveEvent:PresenterCommands = new PresenterCommands(PresenterCommands.ZOOM); + moveEvent.xOffset = recentPosition.x; + moveEvent.yOffset = recentPosition.y; + moveEvent.slideToCanvasWidthRatio = recentPosition.width; + moveEvent.slideToCanvasHeightRatio = recentPosition.height; + globalDispatcher.dispatchEvent(moveEvent); + + lastSentPosition = recentPosition; + } + } + } +} + +class PagePosition { + public var x:Number; + public var y:Number; + public var width:Number; + public var height:Number; + + public function PagePosition(x:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0) { + this.x = x; + this.y = y; + this.width = width; + this.height = height; + } + + public function equals(other:PagePosition):Boolean { + return x == other.x && y == other.y && width == other.width && height == other.height; + } +} \ No newline at end of file diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileDownloadWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileDownloadWindow.mxml index 8d41b611f7588dfd3135ae0a3916c9b605f55975..774f56b250177ecd8fcfe4ccc2bd63e54a70877b 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileDownloadWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileDownloadWindow.mxml @@ -52,10 +52,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. closeButton.setFocus() } - override public function move(x:Number, y:Number):void { - return; - } - private function initData():void { downloadablePresentations = PresentationModel.getInstance().getDownloadablePresentations(); } diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml index 018694f8c8ff1683ea7f073204aad4b158a260b5..6a299a6cdd8001e2fc6c5675464061d7d34d2fb2 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml @@ -109,10 +109,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private var fileToUpload:FileReference = new FileReference(); [Bindable] private var presentOptions:PresentOptions; - override public function move(x:Number, y:Number):void{ - return; - } - protected function onCreationComplete(event:FlexEvent):void { dispatcher = new Dispatcher(); diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml index 91c402739ce5e1089b1d575afcd58830786d7a3c..b355d9792c1ec4803dc54b09ce9c19ef99290638 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml @@ -69,6 +69,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. import mx.collections.ArrayCollection; import mx.controls.Menu; + import mx.core.FlexGlobals; import mx.events.MenuEvent; import mx.managers.PopUpManager; @@ -487,7 +488,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. if(Capabilities.hasAccessibility) Accessibility.updateProperties(); - addContextMenuItems(); + if (UsersUtil.amIPresenter()) { + addContextMenuItems(); + } else { + this.customContextMenuItems = new Array(); + } setPollMenuData(); @@ -630,7 +635,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private function sendStartCustomPollEvent(pollType:String):void { // Let's reset the page to display full size so we can display the result // on the bottom right-corner. - var pollChoicesPopUp:PollChoicesModal = PopUpUtil.createModalPopUp(this, PollChoicesModal, true) as PollChoicesModal; + var pollChoicesPopUp:PollChoicesModal = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, PollChoicesModal, true) as PollChoicesModal; if (pollChoicesPopUp) { pollChoicesPopUp.setPresentationWindow(this); } @@ -691,7 +696,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. // the event for this doesn't exist yet if (UsersUtil.amIPresenter()) { // display the results view - var pollResultsPopUp : PollResultsModal = PopUpUtil.createModalPopUp(this, PollResultsModal, true) as PollResultsModal; + var pollResultsPopUp : PollResultsModal = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, PollResultsModal, true) as PollResultsModal; if (pollResultsPopUp) { pollResultsPopUp.setPoll(e.poll); } diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/SlideView.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/SlideView.mxml index f3ae9a923d3fcbc59c632c6fddcd0f75a47823b6..0fd633573636842180ccda7638432940e2d2e8a4 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/SlideView.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/SlideView.mxml @@ -62,6 +62,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. import org.bigbluebutton.modules.present.events.PageLoadedEvent; import org.bigbluebutton.modules.present.events.PresenterCommands; import org.bigbluebutton.modules.present.model.Page; + import org.bigbluebutton.modules.present.model.PagePositionBroadcaster; import org.bigbluebutton.modules.present.model.Presentation; import org.bigbluebutton.modules.present.model.PresentationModel; import org.bigbluebutton.modules.present.ui.views.models.SlideCalcUtil; @@ -83,6 +84,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private var slideModel:SlideViewModel = new SlideViewModel(); private var pageCache:ArrayCollection = new ArrayCollection(); + + private var pagePositionBroadcaster:PagePositionBroadcaster = new PagePositionBroadcaster(); private function onCreationComplete():void { //slideLoader.width = this.width; @@ -162,7 +165,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. prevMouseX = this.mouseX; prevMouseY = this.mouseY; stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); - stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); + stage.addEventListener(MouseEvent.MOUSE_UP, endDrag); Mouse.cursor = MouseCursor.HAND; } @@ -185,12 +188,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } /** - * Triggered when the presenter releases the mouse button. + * Triggered when the presenter releases the mouse button or mouses out of the application */ - private function onMouseUp(e:MouseEvent):void{ + private function endDrag(e:MouseEvent = null):void { Mouse.cursor = MouseCursor.AUTO; stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); - stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); + stage.removeEventListener(MouseEvent.MOUSE_UP, endDrag); } public function onParentResized(parentWidth:Number, parentHeight:Number):void { @@ -270,12 +273,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } private function notifyOthersOfZoomEvent():void { - var presentEvent:PresenterCommands = new PresenterCommands(PresenterCommands.ZOOM); - presentEvent.xOffset = slideModel.viewedRegionX; - presentEvent.yOffset = slideModel.viewedRegionY; - presentEvent.slideToCanvasWidthRatio = slideModel.viewedRegionW; - presentEvent.slideToCanvasHeightRatio = slideModel.viewedRegionH; - dispatchEvent(presentEvent); + pagePositionBroadcaster.broadcastPosition(slideModel.viewedRegionX, slideModel.viewedRegionY, slideModel.viewedRegionW, slideModel.viewedRegionH); } private function presenterIsZoomingOut(delta:Number):Boolean { @@ -336,6 +334,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private function becomeViewer():void { removeEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheelZoomEvent); this.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); + + pagePositionBroadcaster.reset(); + + endDrag(); } /** diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml index 1992f62e615156a607c9cc234f34714f0e71cea9..8c5e847bc69bb14ac5b38d4e038d9c0e5b5f327f 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml @@ -469,7 +469,7 @@ $Id: $ private function handleBreakoutJoinUrl(event:BreakoutRoomEvent):void { // We display only one alert removeJoinWindow(); - joinWindow = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, JoinBreakoutRoomWindow) as JoinBreakoutRoomWindow; + joinWindow = PopUpUtil.createModalPopUp(FlexGlobals.topLevelApplication as DisplayObject, JoinBreakoutRoomWindow, true) as JoinBreakoutRoomWindow; joinWindow.setBreakoutRoomSettings(event.breakoutMeetingSequence, event.joinURL); } diff --git a/bigbluebutton-config/web/index_html5_vs_flash.html b/bigbluebutton-config/web/index_html5_vs_flash.html new file mode 100644 index 0000000000000000000000000000000000000000..0a7e2fb139de4d9a6888ecdfa806e6e7b0dd0328 --- /dev/null +++ b/bigbluebutton-config/web/index_html5_vs_flash.html @@ -0,0 +1,298 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + + <title>BigBlueButton - Open Source Web Conferencing</title> + <meta name="description" content="BigBlueButton enables universities and colleges to deliver a high-quality learning experience to remote students."> + <meta name="keywords" content="BigBlueButton, Open Source Web Conferencing, Distance Education, Courses Online, Web Conferencing, Open Source, Desktop Sharing, Video Conferencing, Video Collaboration, Presentation Sharing, Audio Sharing, Voice Collaboration, Public Chat, Webcam Sharing, Annotation, Whiteboard, Integrated Voice Over IP, Collaboration Software, Online Collaboration, Collaborative Learning, Virtual Classroom"> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <link rel="icon" href="images/favicon.png"> + + <link rel="stylesheet" href="css/bijou.min.css"> + <link rel="stylesheet" href="css/style.css"> + <link rel="stylesheet" href="css/font-awesome.min.css"> + <link rel="stylesheet" href="css/bbb-bootstrap.css"> + + <script src="js/jquery.min.js"></script> + <script src="js/bootstrap.min.js"></script> + <script src="js/bigbluebutton.js"></script> + </head> + <body> + <div class='main'> + + <!-- Github Fork Ribbon --> + <a href="https://github.com/bigbluebutton/bigbluebutton"> + <img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_gray_6d6d6d.png" alt="Fork me on GitHub"> + </a> + + <!-- Messages --> + <div id='messages' class='hidden'> + </div> + + <!-- Header --> + <div class='navbar'> + <div class='container'> + <div class="logo"> + <img src="images/bbb-logo.png" alt="BigBlueButton Demo"/> + </div> + </div> + </div> + + <!-- Body --> + <div class='container'> + + + + + + <!-- Welcome Message & Login Into Demo --> + <div class='row'> + <div class='span six html5clientOnly'> + <div class='join-meeting '> + <h4>Try BigBlueButton via HTML5</h4> + <p>Join a demo session on this server.</p> + + <form name="form1" method="GET" onsubmit="return checkform(this);" action="/demo/demoHTML5.jsp"> + <input type="text" id="username" required="" name="username" placeholder="Enter Your Name" size="29" class="field input-default" autofocus> + <input type="submit" value="Join" class="submit_btn button success large"><br> + <input type="hidden" name="action" value="create"> + </form> + + <a class="watch" href="#video" class="pull-right">New to BigBlueButton? Watch these videos.</a> + + </div> + </div> + <div class='span six'> + <div class='join-meeting'> + <h4>Try BigBlueButton via Flash</h4> + <p>Join a demo session on this server.</p> + + <form name="form1" method="GET" onsubmit="return checkform(this);" action="/demo/demo1.jsp"> + <input type="text" id="username" required="" name="username" placeholder="Enter Your Name" size="29" class="field input-default" autofocus> + <input type="submit" value="Join" class="submit_btn button success large"><br> + <input type="hidden" name="action" value="create"> + </form> + + <a class="watch" href="#video" class="pull-right">New to BigBlueButton? Watch these videos.</a> + </div> + </div> + </div> + + <hr class="featurette-divider"> + <!-- Welcome Message & Login Into Demo --> + <div class='row'> + <div > + <h2>BigBlueButton HTML5 client test server</h2> + <p> <a href="http://bigbluebutton.org/" target="_blank">BigBlueButton</a> is an open source web conferencing system for on-line learning. This is a public test server for the BigBlueButton <a href="http://docs.bigbluebutton.org/html/html5-overview.html">HTML5 client</a> currently under development.</p> + <p> Our goal for the upcoming release of the HTML5 client is to implement all the <a href="https://youtu.be/oh0bEk3YSwI">viewer capabilities</a> of the Flash client. Students join online classes as a viewer. The HTML5 client will give remote students the ability to join from their Android mobile devices. Users using the Flash and HTML5 clients can join the same meeting (hence the two choices above). We built the HTML5 client using web real-time communication (WebRTC), <a href="https://facebook.github.io/react/">React</a>, and <a href="https://www.mongodb.com/">MongoDB</a>.</p> + <p> The HTML5 works well with desktop and Android devices (phone and tablets) as they all support WebRTC. Apple does not (yet) support WebRTC in Safari for iOS devices, but don't worry -- we are working in parallel on app for iOS devices. What can this developer build of the HTML5 client do right now? Pretty much everything the Flash client can do for viewers except (a) view a desktop sharing stream from the presenter and (b) send/receive webcam streams. We're working on (a) and (b). For now, we are really happy to share with you our progress and get <a href="https://docs.google.com/forms/d/1gFz5JdN3vD6jxhlVskFYgtEKEcexdDnUzpkwUXwQ4OY/viewform?usp=send_for">your feedback</a> on what has been implemeted so far. Enjoy!</p> + + <h4>For Developers</h4> + <p> The BigBlueButton project is <a href="http://bigbluebutton.org/support">supported</a> by a community of developers that care about good design and a streamlined user experience. </p> + <p>See <a href="/demo/demo1.jsp" target="_blank">API examples </a> for how to integrate BigBlueButton with your project.</p> + </div> + <div class="span one"></div> + + </div> + + + + <hr class="featurette-divider"> + + <!-- BigBlueButton Features --> + <div class="bbb-features"> + <div class='row'> + <div class='featurette-heading'> + <h2>Features</h2> + </div> + + <div class='span four first'> + <i class="fa fa-play-circle-o"></i> + + <div class="bbb-features-content"> + <h3>Record and Playback</h3> + <p>BigBlueButton can record your sessions for later playback by students.</p> + </div> + </div> + + <div class='span four'> + <i class="fa fa-pencil-square-o"></i> + + <div class="bbb-features-content"> + <h3>Whiteboard</h3> + <p>The whiteboard controls let you annotate key parts of your presentation.</p> + </div> + </div> + + <div class='span four last'> + <i class="fa fa-desktop"></i> + + <div class="bbb-features-content"> + <h3><a href="https://youtu.be/xTFuEvmEqB0">Desktop Sharing</a></h3> + <p>You can broadcast your desktop for all users to see (requires lastest version of Java for presenter only).</p> + </div> + </div> + </div> + + + <div class='row'> + <div class='span four first'> + <i class="fa fa-microphone"></i> + + <div class="bbb-features-content"> + <h3><a href="https://youtu.be/4Y__UsUrRx0">WebRTC Audio</a></h3> + <p>Users of Chrome and FireFox browsers will benefit from high-quality, low-latency WebRTC audio. (Users of other browsers will seamlessly use Flash-based audio.)</p> + </div> + </div> + + <div class='span four'> + <i class="fa fa-bar-chart-o"></i> + + <div class="bbb-features-content"> + <h3><a href="https://youtu.be/J9mbw00P9W0">Presentation</a></h3> + <p>You can upload any PDF presentation or MS office document. BigBlueButton keeps everyone in sync with your current slide, zoom, pan, annotations, and mouse pointer.</p> + </div> + </div> + + <div class='span four last'> + <i class="fa fa-video-camera"></i> + + <div class="bbb-features-content"> + <h3>Web Cam</h3> + <p>Multiple users can share their webcam at the same time. There is no built-in limit on the number of simultaneously active webcams.</p> + </div> + </div> + </div> + + <div class='row'> + <div class='span four first'> + <i class="fa fa-smile-o"></i> + + <div class="bbb-features-content"> + <h3>Emoji</h3> + <p>Students can raise hand and use emoji icons for feedback.</p> + </div> + </div> + + <div class='span four'> + <i class="fa fa-check-square-o"></i> + + <div class="bbb-features-content"> + <h3>Polling</h3> + <p>You can poll students anytime to increase engagement.</p> + </div> + </div> + + <div class='span four last'> + <i class="fa fa-comments-o"></i> + + <div class="bbb-features-content"> + <h3>Chat</h3> + <p>You can interact with students through public and private chat.</p> + </div> + </div> + </div> + + <div class='row'> + <div class='span four first'> + <i class="fa fa-cc"></i> + + <div class="bbb-features-content"> + <h3><a href="https://youtu.be/vDpurrMgal0">Live Captioning</a></h3> + <p>You can enter live captions for students. These captions will later appear as subtitles in recordings.</p> + </div> + </div> + + <div class='span four'> + <i class="fa fa-users"></i> + + <div class="bbb-features-content"> + <h3><a href="https://youtu.be/q5N-lcocJss">Breakout Rooms</a></h3> + <p>You can group and place students into breakout rooms (full BigBlueButton sessions) for give number of minutes for increased collaboration.</p> + </div> + </div> + + <div class='span four last'> + <i class="fa fa-blind"></i> + + <div class="bbb-features-content"> + <h3>Screen Reader</h3> + <p>Students with visual disabilities can use JAWS screen reader to interact with BigBlueButton.</p> + </div> + </div> + </div> + + </div> + <hr class="featurette-divider"> + + <!-- BigBlueButton Videos --> + <div id="video" class="bbb-videos"> + <div class='row'> + <div class='featurette-heading'> + <h2>Getting Started Quickly</h2> + </div> + + <div class='span four first video-item'> + <a href="https://www.youtube.com/watch?v=4Y__UsUrRx0&feature=youtu.be" target="_blank"> + <div class="video-btn"><i class="fa fa-play-circle-o"></i></div> + <img src="images/bbb-setup-audio.jpg" alt="Setting Up Audio"/> + </a> + <h3><a href="https://www.youtube.com/watch?v=4Y__UsUrRx0&feature=youtu.be" title="Setup Audio" target="_blank">Setting Up Audio</a></h3> + </div> + + <div class='span four video-item'> + <a href="https://www.youtube.com/watch?v=oh0bEk3YSwI" target="_blank"> + <div class="video-btn"><i class="fa fa-play-circle-o"></i></div> + <img src="images/bbb-viewer-overview.jpg" alt="BigBlueButton Viewer Overview Video"/> + </a> + <h3><a href="https://www.youtube.com/watch?v=oh0bEk3YSwI;feature=youtu.be" title="Student Overview" target="_blank">Viewer Overview</a></h3> + </div> + + <div class='span four last video-item'> + <a href="https://www.youtube.com/watch?v=J9mbw00P9W0&feature=youtu.be" target="_blank"> + <div class="video-btn"><i class="fa fa-play-circle-o"></i></div> + <img src="images/bbb-presenter-overview.jpg" alt="Moderator/Presenter Overview Video"/> + </a> + <h3><a href="https://www.youtube.com/watch?v=J9mbw00P9W0&feature=youtu.be" title="Moderator/Presenter Overview" target="_blank">Moderator/Presenter Overview</a></h3> + </div> + </div> + </div> + + </div> + </div> + + <!-- Footer --> + <footer> + <div class='container'> + + <div class="row"> + <div class="span six first"> + <p>BigBlueButton and the BigBlueButton logo are trademarks of <a href="http://bigbluebutton.org/">BigBlueButton Inc.</a></p> + </div> + <div class="span six last"> + <ul> + <li> + Follow Us: + </li> + <li><a class="twitter" href="http://www.twitter.com/bigbluebutton" title="BigBlueButton Twitter Page" target="_blank"><i class="fa fa-twitter"></i></a></li> + <li><a class="facebook" href="http://www.facebook.com/bigbluebutton" title="BigBlueButton Facebook Page" target="_blank"><i class="fa fa-facebook"></i></a></li> + <li><a class="youtube" href="http://www.youtube.com/bigbluebuttonshare" title="BigBlueButton YouTube Page" target="_blank"><i class="fa fa-youtube"></i> </a></li> + <li><a class="google" href="http://google.com/+bigbluebutton" title="BigBlueButton Google Plus" target="_blank"><i class="fa fa-google-plus"></i></a></li> + </ul> + </div> + </div> + + + <div class="row"> + <div class="span twelve center"> + <p>Copyright © 2017 BigBlueButton Inc.<br> + <small>Version <a href="http://docs.bigbluebutton.org/">2.0-beta</a></small> + </p> + </div> + </div> + </div> + </footer> + </body> +</html> + diff --git a/bigbluebutton-html5/.meteor/versions b/bigbluebutton-html5/.meteor/versions index 71c5c432c5f386259a50599d15f8d26536162942..bb0f238f9d25923dc74d55b2eb7b905bbb144f4e 100644 --- a/bigbluebutton-html5/.meteor/versions +++ b/bigbluebutton-html5/.meteor/versions @@ -66,7 +66,7 @@ ordered-dict@1.0.9 promise@0.8.9 raix:eventemitter@0.1.3 random@1.0.10 -react-meteor-data@0.2.12 +react-meteor-data@0.2.15 reactive-dict@1.1.9 reactive-var@1.0.11 reload@1.1.11 diff --git a/bigbluebutton-html5/imports/api/voice-users/server/methods/muteToggle.js b/bigbluebutton-html5/imports/api/voice-users/server/methods/muteToggle.js index 1234d484365ce250ffca5484e3794e034623f450..16f7fa82cc32e30a21fcc64a85c6eb8531322791 100644 --- a/bigbluebutton-html5/imports/api/voice-users/server/methods/muteToggle.js +++ b/bigbluebutton-html5/imports/api/voice-users/server/methods/muteToggle.js @@ -1,11 +1,17 @@ import { Meteor } from 'meteor/meteor'; import { check } from 'meteor/check'; import RedisPubSub from '/imports/startup/server/redis'; +import Users from '/imports/api/users'; +import VoiceUsers from '/imports/api/voice-users'; export default function muteToggle(credentials, userId) { const REDIS_CONFIG = Meteor.settings.redis; const CHANNEL = REDIS_CONFIG.channels.toAkkaApps; const EVENT_NAME = 'MuteUserCmdMsg'; + const APP_CONFIG = Meteor.settings.public.app; + const ALLOW_MODERATOR_TO_UNMUTE_AUDIO = APP_CONFIG.allowModeratorToUnmuteAudio; + const USER_CONFIG = Meteor.settings.public.user; + const ROLE_MODERATOR = USER_CONFIG.role_moderator; const { meetingId, requesterUserId } = credentials; @@ -17,5 +23,29 @@ export default function muteToggle(credentials, userId) { mutedBy: requesterUserId, }; + const user = Users.findOne({ + meetingId, + userId: requesterUserId, + }); + + const voiceUser = VoiceUsers.findOne({ + intId: userId, + }); + + if (!user || !voiceUser) return; + + const isListenOnly = voiceUser.listenOnly; + + if (isListenOnly) return; + + const isModerator = user.roles.includes(ROLE_MODERATOR.toLowerCase()); + const isMuted = voiceUser.muted; + const isNotHimself = requesterUserId !== userId; + + if (!ALLOW_MODERATOR_TO_UNMUTE_AUDIO && + isModerator && + isMuted && + isNotHimself) return; + return RedisPubSub.publishUserMessage(CHANNEL, EVENT_NAME, meetingId, userId, payload); } diff --git a/bigbluebutton-html5/imports/startup/client/auth.js b/bigbluebutton-html5/imports/startup/client/auth.js index b70a1549a82338a2ef24bd3dc8982013605c932b..bc4c15923e7f84347e637bc2876760413e1d0c3d 100644 --- a/bigbluebutton-html5/imports/startup/client/auth.js +++ b/bigbluebutton-html5/imports/startup/client/auth.js @@ -1,5 +1,5 @@ import Auth from '/imports/ui/services/auth'; -import { logClient } from '/imports/ui/services/api'; +import { log } from '/imports/ui/services/api'; // disconnected and trying to open a new connection const STATUS_CONNECTING = 'connecting'; @@ -88,11 +88,7 @@ export function authenticatedRouteHandler(nextState, replace, callback) { Auth.authenticate() .then(callback) .catch((reason) => { - logClient('error', { - error: reason, - method: 'authenticatedRouteHandler', - credentialsSnapshot, - }); + log('error', reason); // make sure users who did not connect are not added to the meeting // do **not** use the custom call - it relies on expired data diff --git a/bigbluebutton-html5/imports/startup/client/base.jsx b/bigbluebutton-html5/imports/startup/client/base.jsx index 425f64adcd25fb502cdb292a1ad78ee35f7b429b..d825b5dc704208a5eea0c51fc5d469ee351e829d 100644 --- a/bigbluebutton-html5/imports/startup/client/base.jsx +++ b/bigbluebutton-html5/imports/startup/client/base.jsx @@ -8,8 +8,6 @@ import LoadingScreen from '/imports/ui/components/loading-screen/component'; import Settings from '/imports/ui/services/settings'; import IntlStartup from './intl'; -const BROWSER_LANGUAGE = window.navigator.userLanguage || window.navigator.language; - const propTypes = { error: PropTypes.object, errorCode: PropTypes.number, @@ -20,7 +18,7 @@ const propTypes = { const defaultProps = { error: undefined, errorCode: undefined, - locale: BROWSER_LANGUAGE, + locale: undefined, }; class Base extends Component { @@ -100,7 +98,6 @@ const BaseContainer = createContainer(({ params }) => { const credentials = Auth.credentials; const subscriptionsHandlers = SUBSCRIPTIONS_NAME.map(name => Meteor.subscribe(name, credentials)); - return { locale: Settings.application.locale, subscriptionsReady: subscriptionsHandlers.every(handler => handler.ready()), diff --git a/bigbluebutton-html5/imports/startup/client/intl.jsx b/bigbluebutton-html5/imports/startup/client/intl.jsx index 72bb574a0d995f14142f323013e10e051f413ea3..5b5c1b7e6a9821291c8ffc209902373c699b63f6 100644 --- a/bigbluebutton-html5/imports/startup/client/intl.jsx +++ b/bigbluebutton-html5/imports/startup/client/intl.jsx @@ -1,17 +1,21 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { IntlProvider } from 'react-intl'; +import Settings from '/imports/ui/services/settings'; const propTypes = { locale: PropTypes.string.isRequired, - baseControls: PropTypes.shape.isRequired, - children: PropTypes.shape.isRequired, + baseControls: PropTypes.shape({ + updateErrorState: PropTypes.func.isRequired, + updateLoadingState: PropTypes.func.isRequired, + }).isRequired, + children: PropTypes.element.isRequired, }; -const BROWSER_LANGUAGE = window.navigator.userLanguage || window.navigator.language; +const DEFAULT_LANGUAGE = Meteor.settings.public.app.defaultSettings.application.locale; const defaultProps = { - locale: BROWSER_LANGUAGE, + locale: DEFAULT_LANGUAGE, }; class IntlStartup extends Component { @@ -20,17 +24,17 @@ class IntlStartup extends Component { this.state = { messages: {}, - appLocale: this.props.locale, + locale: DEFAULT_LANGUAGE, }; this.fetchLocalizedMessages = this.fetchLocalizedMessages.bind(this); } componentWillMount() { - this.fetchLocalizedMessages(this.state.appLocale); + this.fetchLocalizedMessages(this.props.locale); } componentWillUpdate(nextProps) { - if (this.props.locale !== nextProps.locale) { + if (nextProps.locale && this.props.locale !== nextProps.locale) { this.fetchLocalizedMessages(nextProps.locale); } } @@ -39,34 +43,36 @@ class IntlStartup extends Component { const url = `/html5client/locale?locale=${locale}`; const { baseControls } = this.props; - this.setState({ appLocale: locale }); baseControls.updateLoadingState(true); fetch(url) .then((response) => { - if (response.ok) { - return response.json(); + if (!response.ok) { + return Promise.reject(); } - this.setState({ appLocale: 'en' }); + return response.json(); }) - .then((messages) => { - if (messages.statusCode === 506) { - this.setState({ appLocale: 'en' }); - } - this.setState({ messages: messages.messages }, () => { + .then(({ messages, normalizedLocale }) => { + const dasherizedLocale = normalizedLocale.replace('_', '-') + this.setState({ messages, locale: dasherizedLocale }, () => { + Settings.application.locale = dasherizedLocale; + Settings.save(); baseControls.updateLoadingState(false); }); }) - .catch((reason) => { - baseControls.updateErrorState(reason); - baseControls.updateLoadingState(false); + .catch((messages) => { + this.setState({ locale: DEFAULT_LANGUAGE }, () => { + Settings.application.locale = DEFAULT_LANGUAGE; + Settings.save(); + baseControls.updateLoadingState(false); + }); }); } render() { return ( - <IntlProvider locale={this.state.appLocale} messages={this.state.messages}> + <IntlProvider locale={this.state.locale} messages={this.state.messages}> {this.props.children} </IntlProvider> ); diff --git a/bigbluebutton-html5/imports/startup/server/index.js b/bigbluebutton-html5/imports/startup/server/index.js index 59da0fbf3abc633ca056978c5dfbdd52932362f1..34a859972f8986ec0832ac74d3de56a875950f8b 100644 --- a/bigbluebutton-html5/imports/startup/server/index.js +++ b/bigbluebutton-html5/imports/startup/server/index.js @@ -3,11 +3,14 @@ import Logger from './logger'; import Redis from './redis'; import locales from '../../utils/locales'; +let DEFAULT_LANGUAGE = null; const availableLocales = []; Meteor.startup(() => { const APP_CONFIG = Meteor.settings.public.app; Logger.info(`SERVER STARTED. ENV=${Meteor.settings.runtime.env}`, APP_CONFIG); + + DEFAULT_LANGUAGE = Meteor.settings.public.app.defaultSettings.application.locale }); WebApp.connectHandlers.use('/check', (req, res) => { @@ -21,28 +24,29 @@ WebApp.connectHandlers.use('/check', (req, res) => { WebApp.connectHandlers.use('/locale', (req, res) => { const APP_CONFIG = Meteor.settings.public.app; const defaultLocale = APP_CONFIG.defaultSettings.application.locale; - const localeRegion = req.query.locale.split('-'); + const localeRegion = req.query.locale.split(/[-_]/g);; + const localeList = [defaultLocale, localeRegion[0]]; + + let normalizedLocale = localeRegion[0]; let messages = {}; - const completeLocale = [defaultLocale, localeRegion[0]]; - let statusCode = 200; + if (localeRegion.length > 1) { - locales.push(`${localeRegion[0]}_${localeRegion[1].toUpperCase()}`); + normalizedLocale = `${localeRegion[0]}_${localeRegion[1].toUpperCase()}`; + localeList.push(normalizedLocale); } - completeLocale.forEach((locale) => { + localeList.forEach((locale) => { try { const data = Assets.getText(`locales/${locale}.json`); messages = Object.assign(messages, JSON.parse(data)); + normalizedLocale = locale } catch (e) { - // Variant Also Negotiates Status-Code, to alert the client that we - // do not support the following lang. - // https://en.wikipedia.org/wiki/Content_negotiation - statusCode = 506; + // Getting here means the locale is not available on the files. } }); res.setHeader('Content-Type', 'application/json'); - res.end(JSON.stringify({ statusCode, messages })); + res.end(JSON.stringify({ normalizedLocale, messages })); }); WebApp.connectHandlers.use('/locales', (req, res) => { diff --git a/bigbluebutton-html5/imports/ui/components/app/component.jsx b/bigbluebutton-html5/imports/ui/components/app/component.jsx old mode 100755 new mode 100644 index 0949efcc97f0d24dfda41c6a5ae5b06ac152fa9e..c12233cb70c94832dee4fd4fd16f67c1b052d904 --- a/bigbluebutton-html5/imports/ui/components/app/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/app/component.jsx @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import { defineMessages, injectIntl } from 'react-intl'; +import { defineMessages, injectIntl, intlShape } from 'react-intl'; import Modal from 'react-modal'; import cx from 'classnames'; @@ -36,7 +36,11 @@ const propTypes = { sidebar: PropTypes.element, media: PropTypes.element, actionsbar: PropTypes.element, + closedCaption: PropTypes.element, + userList: PropTypes.element, + chat: PropTypes.element, locale: PropTypes.string, + intl: intlShape.isRequired, }; const defaultProps = { @@ -45,20 +49,23 @@ const defaultProps = { sidebar: null, media: null, actionsbar: null, + closedCaption: null, + userList: null, + chat: null, locale: 'en', }; class App extends Component { - constructor(props) { - super(props); + constructor() { + super(); this.state = { - compactUserList: false, //TODO: Change this on userlist resize (?) + compactUserList: false, // TODO: Change this on userlist resize (?) }; } componentDidMount() { - const locale = this.props.locale; + const { locale } = this.props; Modal.setAppElement('#app'); document.getElementsByTagName('html')[0].lang = locale; diff --git a/bigbluebutton-html5/imports/ui/components/chat/notification/audio-notification/component.jsx b/bigbluebutton-html5/imports/ui/components/chat/notification/audio-notification/component.jsx new file mode 100644 index 0000000000000000000000000000000000000000..5001a439fb4ec38e1a9f12a1d8112260d650a9c7 --- /dev/null +++ b/bigbluebutton-html5/imports/ui/components/chat/notification/audio-notification/component.jsx @@ -0,0 +1,49 @@ +import React from 'react'; +import _ from 'lodash'; +import PropTypes from 'prop-types'; + +const propTypes = { + play: PropTypes.bool.isRequired, + count: PropTypes.number.isRequired, +}; + +class ChatAudioNotification extends React.Component { + constructor(props) { + super(props); + this.audio = new Audio('/html5client/resources/sounds/notify.mp3'); + + this.handleAudioLoaded = this.handleAudioLoaded.bind(this); + this.playAudio = this.playAudio.bind(this); + this.componentDidUpdate = _.debounce(this.playAudio, 2000); + } + + componentDidMount() { + this.audio.addEventListener('loadedmetadata', this.handleAudioLoaded); + } + + shouldComponentUpdate(nextProps) { + return nextProps.count > this.props.count; + } + + componentWillUnmount() { + this.audio.removeEventListener('loadedmetadata', this.handleAudioLoaded); + } + + handleAudioLoaded() { + this.componentDidUpdate = _.debounce(this.playAudio, this.audio.duration * 1000); + } + + playAudio() { + if (!this.props.play) return; + + this.audio.play(); + } + + render() { + return null; + } + +} +ChatAudioNotification.propTypes = propTypes; + +export default ChatAudioNotification; diff --git a/bigbluebutton-html5/imports/ui/components/chat/notification/component.jsx b/bigbluebutton-html5/imports/ui/components/chat/notification/component.jsx new file mode 100644 index 0000000000000000000000000000000000000000..50ebd65438e9ec4ad0a4f8fe143cdc76edb03f21 --- /dev/null +++ b/bigbluebutton-html5/imports/ui/components/chat/notification/component.jsx @@ -0,0 +1,94 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import ChatAudioNotification from './audio-notification/component'; +import ChatPushNotification from './push-notification/component'; + +const propTypes = { + disableNotify: PropTypes.bool.isRequired, + openChats: PropTypes.arrayOf(PropTypes.object).isRequired, + disableAudio: PropTypes.bool.isRequired, +}; + +class ChatNotification extends Component { + constructor(props) { + super(props); + this.state = { notified: {} }; + } + + componentWillReceiveProps(nextProps) { + const { + openChats, + disableNotify, + } = this.props; + + if (nextProps.disableNotify === false && disableNotify === true) { + const loadMessages = {}; + openChats + .forEach((c) => { + loadMessages[c.id] = c.unreadCounter; + }); + this.setState({ notified: loadMessages }); + return; + } + + const notifiedToClear = {}; + openChats + .filter(c => c.unreadCounter === 0) + .forEach((c) => { + notifiedToClear[c.id] = 0; + }); + + this.setState(({ notified }) => ({ + notified: { + ...notified, + ...notifiedToClear, + }, + })); + } + + render() { + const { + disableNotify, + disableAudio, + openChats, + } = this.props; + + const unreadMessagesCount = openChats + .map(chat => chat.unreadCounter) + .reduce((a, b) => a + b, 0); + + const shouldPlayAudio = !disableAudio && unreadMessagesCount > 0; + + const chatsNotify = openChats + .filter(({ id, unreadCounter }) => + unreadCounter > 0 && + unreadCounter !== this.state.notified[id] && + !disableNotify); + + return ( + <span> + <ChatAudioNotification play={shouldPlayAudio} count={unreadMessagesCount} /> + { + chatsNotify.map(({ id, name, unreadCounter }) => + (<ChatPushNotification + key={id} + name={name} + count={unreadCounter} + onOpen={() => { + this.setState(({ notified }) => ({ + notified: { + ...notified, + [id]: unreadCounter, + }, + })); + }} + />), + ) + } + </span> + ); + } +} +ChatNotification.propTypes = propTypes; + +export default ChatNotification; diff --git a/bigbluebutton-html5/imports/ui/components/chat/notification/container.jsx b/bigbluebutton-html5/imports/ui/components/chat/notification/container.jsx index b58274514ba8d3331b25dbf99bbf445e08033e3c..ade6871a4c75c8d840c759296888dd34b61b65b2 100644 --- a/bigbluebutton-html5/imports/ui/components/chat/notification/container.jsx +++ b/bigbluebutton-html5/imports/ui/components/chat/notification/container.jsx @@ -1,46 +1,20 @@ -import React, { Component } from 'react'; -// import PropTypes from 'prop-types'; +import React from 'react'; import { createContainer } from 'meteor/react-meteor-data'; -import _ from 'lodash'; - -import Auth from '/imports/ui/services/auth'; import UserListService from '/imports/ui/components/user-list/service'; import Settings from '/imports/ui/services/settings'; +import ChatNotification from './component'; -class ChatNotificationContainer extends Component { - constructor(props) { - super(props); - - this.audio = new Audio('/html5client/resources/sounds/notify.mp3'); - } - - componentDidUpdate(prevProps) { - if (this.props.unreadMessagesCount < prevProps.unreadMessagesCount) return; - - this.playAudio(); - } - - playAudio() { - if (this.props.disableAudio) return; - - _.debounce(() => this.audio.play(), this.audio.duration * 1000)(); - } - - render() { - return null; - } -} +const ChatNotificationContainer = props => ( + <ChatNotification {...props} /> +); export default createContainer(() => { const AppSettings = Settings.application; - - const unreadMessagesCount = UserListService.getOpenChats() - .map(chat => chat.unreadCounter) - .filter(userID => userID !== Auth.userID) - .reduce((a, b) => a + b, 0); + const openChats = UserListService.getOpenChats(); return { disableAudio: !AppSettings.chatAudioNotifications, - unreadMessagesCount, + disableNotify: !AppSettings.chatPushNotifications, + openChats, }; }, ChatNotificationContainer); diff --git a/bigbluebutton-html5/imports/ui/components/chat/notification/push-notification/component.jsx b/bigbluebutton-html5/imports/ui/components/chat/notification/push-notification/component.jsx new file mode 100644 index 0000000000000000000000000000000000000000..0ee49592563fb0766c5cd8b6ffb10de77fd66619 --- /dev/null +++ b/bigbluebutton-html5/imports/ui/components/chat/notification/push-notification/component.jsx @@ -0,0 +1,60 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import _ from 'lodash'; +import injectNotify from '/imports/ui/components/toast/inject-notify/component'; +import { defineMessages, injectIntl, intlShape } from 'react-intl'; + +const propTypes = { + intl: intlShape.isRequired, + count: PropTypes.number.isRequired, + name: PropTypes.string.isRequired, + notify: PropTypes.func.isRequired, + onOpen: PropTypes.func.isRequired, +}; + +const intlMessages = defineMessages({ + appToastChatSigular: { + id: 'app.toast.chat.singular', + description: 'when entry a message', + }, + appToastChatPlural: { + id: 'app.toast.chat.plural', + description: 'when entry various message', + }, +}); + +class ChatPushNotification extends React.Component { + constructor(props) { + super(props); + this.showNotify = _.debounce(this.showNotify.bind(this), 1000); + + this.componentDidMount = this.showNotify; + this.componentDidUpdate = this.showNotify; + } + + showNotify() { + const { + intl, + count, + name, + notify, + onOpen, + } = this.props; + + const message = intl.formatMessage( + count > 1 ? + intlMessages.appToastChatPlural : + intlMessages.appToastChatSigular, { + 0: count, + 1: name }); + + return notify(message, 'info', 'chat', { onOpen }); + } + + render() { + return null; + } +} +ChatPushNotification.propTypes = propTypes; + +export default injectIntl(injectNotify(ChatPushNotification)); diff --git a/bigbluebutton-html5/imports/ui/components/logout-confirmation/container.jsx b/bigbluebutton-html5/imports/ui/components/logout-confirmation/container.jsx index 3865bd746aa5755f08c781d221b3a3f9198beb7b..3dbc153b43a07a10f315dc6b6570bbd1518b1bbf 100644 --- a/bigbluebutton-html5/imports/ui/components/logout-confirmation/container.jsx +++ b/bigbluebutton-html5/imports/ui/components/logout-confirmation/container.jsx @@ -1,14 +1,20 @@ import React from 'react'; +import { meetingIsBreakout } from '/imports/ui/components/app/service'; import { createContainer } from 'meteor/react-meteor-data'; import LogoutConfirmation from './component'; -import LogoutConfirmationService from './service'; +import { + isModerator, + endMeeting, +} from './service'; -const LogoutConfirmationContainer = () => ( - <LogoutConfirmation {...this.props} /> +const LogoutConfirmationContainer = props => ( + <LogoutConfirmation {...props} /> ); -export default createContainer(() => ({ - showEndMeeting: !LogoutConfirmationService.isBreakout() && - LogoutConfirmationService.isModerator(), - endMeeting: LogoutConfirmationService.endMeeting, -}), LogoutConfirmationContainer); +export default createContainer(() => { + return { + showEndMeeting: !meetingIsBreakout() && + isModerator(), + handleEndMeeting: endMeeting, + } +}, LogoutConfirmationContainer); diff --git a/bigbluebutton-html5/imports/ui/components/logout-confirmation/service.js b/bigbluebutton-html5/imports/ui/components/logout-confirmation/service.js index 966309dd5504daaf1dc997650a60c429a3bddf67..972a8ca9c08130fd39df119559f481455a307998 100644 --- a/bigbluebutton-html5/imports/ui/components/logout-confirmation/service.js +++ b/bigbluebutton-html5/imports/ui/components/logout-confirmation/service.js @@ -1,6 +1,5 @@ import { makeCall } from '/imports/ui/services/api/index'; import Users from '/imports/api/users'; -import Breakouts from '/imports/api/breakouts'; import mapUser from '/imports/ui/services/user/mapUser'; import Auth from '/imports/ui/services/auth'; @@ -15,10 +14,7 @@ const isModerator = () => { return (currentUser) ? mapUser(currentUser).isModerator : null; }; -const isBreakout = () => Breakouts.findOne({ breakoutId: Auth.meetingID }); - -export default { +export { endMeeting, isModerator, - isBreakout, }; diff --git a/bigbluebutton-html5/imports/ui/components/polling/container.jsx b/bigbluebutton-html5/imports/ui/components/polling/container.jsx index 9e68038cc214f1137bf945b20ac09332631b5694..02541c21d641c10381a9ed6dbd64b496d469fa44 100644 --- a/bigbluebutton-html5/imports/ui/components/polling/container.jsx +++ b/bigbluebutton-html5/imports/ui/components/polling/container.jsx @@ -3,9 +3,11 @@ import { createContainer } from 'meteor/react-meteor-data'; import PollingService from './service'; import PollingComponent from './component'; -const PollingContainer = (props, { pollExists, poll, handleVote }) => { +const PollingContainer = ({ + pollExists, poll, handleVote, ...props +}) => { if (!pollExists) return null; - return <PollingComponent poll={poll} handleVote={handleVote} />; + return <PollingComponent poll={poll} handleVote={handleVote} {...props} />; }; export default createContainer(() => { const data = PollingService.mapPolls(); diff --git a/bigbluebutton-html5/imports/ui/components/presentation/component.jsx b/bigbluebutton-html5/imports/ui/components/presentation/component.jsx index a5ea9298fc39db3850200bbb774a9e1b92f32d28..087d4d8481b24fe5952c28ab529b867295408739 100644 --- a/bigbluebutton-html5/imports/ui/components/presentation/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/presentation/component.jsx @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import CSSTransitionGroup from 'react-transition-group/CSSTransitionGroup'; +import { TransitionGroup, CSSTransition } from 'react-transition-group'; import WhiteboardOverlayContainer from '/imports/ui/components/whiteboard/whiteboard-overlay/container'; import WhiteboardToolbarContainer from '/imports/ui/components/whiteboard/whiteboard-toolbar/container'; import PollingContainer from '/imports/ui/components/polling/container'; @@ -53,15 +53,13 @@ export default class PresentationArea extends Component { if (refPresentationArea && refWhiteboardArea) { // By default presentation sizes are equal to the sizes of the refPresentationArea // direct parent of the svg wrapper - let clientHeight = refPresentationArea.clientHeight; - let clientWidth = refPresentationArea.clientWidth; + let { clientWidth, clientHeight } = refPresentationArea; // if a user is a presenter - this means there is a whiteboard toolbar on the right // and we have to get the width/height of the refWhiteboardArea // (inner hidden div with absolute position) if (this.props.userIsPresenter || this.props.multiUser) { - clientHeight = refWhiteboardArea.clientHeight; - clientWidth = refWhiteboardArea.clientWidth; + ({ clientWidth, clientHeight } = refWhiteboardArea); } presentationSizes.presentationHeight = clientHeight; @@ -77,13 +75,11 @@ export default class PresentationArea extends Component { if (Object.keys(presentationSizes).length > 0) { // setting the state of the available space for the svg // and set the showSlide to true to start rendering the slide - this.setState( - { - presentationHeight: presentationSizes.presentationHeight, - presentationWidth: presentationSizes.presentationWidth, - showSlide: true, - }, - ); + this.setState({ + presentationHeight: presentationSizes.presentationHeight, + presentationWidth: presentationSizes.presentationWidth, + showSlide: true, + }); } } @@ -136,23 +132,23 @@ export default class PresentationArea extends Component { !this.props.currentSlide.calculatedData) { return null; } - // to control the size of the svg wrapper manually - // and adjust cursor's thickness, so that svg didn't scale it automatically + // to control the size of the svg wrapper manually + // and adjust cursor's thickness, so that svg didn't scale it automatically const adjustedSizes = this.calculateSize(); - // a reference to the slide object + // a reference to the slide object const slideObj = this.props.currentSlide; - // retrieving the pre-calculated data from the slide object + // retrieving the pre-calculated data from the slide object const { - x, - y, - width, - height, - viewBoxWidth, - viewBoxHeight, - imageUri, - } = slideObj.calculatedData; + x, + y, + width, + height, + viewBoxWidth, + viewBoxHeight, + imageUri, + } = slideObj.calculatedData; return ( <div @@ -163,57 +159,57 @@ export default class PresentationArea extends Component { transition: 'width 0.2s', }} > - <CSSTransitionGroup - transitionName={{ - enter: styles.enter, - enterActive: styles.enterActive, - appear: styles.appear, - appearActive: styles.appearActive, - }} - transitionAppear - transitionEnter - transitionLeave={false} - transitionAppearTimeout={400} - transitionEnterTimeout={400} - transitionLeaveTimeout={400} - > - <svg - width={width} - height={height} - ref={(ref) => { if (ref != null) { this.svggroup = ref; } }} - viewBox={`${x} ${y} ${viewBoxWidth} ${viewBoxHeight}`} - version="1.1" - xmlns="http://www.w3.org/2000/svg" - className={styles.svgStyles} + <TransitionGroup> + <CSSTransition key={slideObj.id} + classNames={{ + enter: styles.enter, + enterActive: styles.enterActive, + appear: styles.appear, + appearActive: styles.appearActive, + }} + appear + enter + exit={false} + timeout={{ enter: 400 }} > - <defs> - <clipPath id="viewBox"> - <rect x={x} y={y} width="100%" height="100%" fill="none" /> - </clipPath> - </defs> - <g clipPath="url(#viewBox)"> - <Slide - id="slideComponent" - imageUri={imageUri} - svgWidth={width} - svgHeight={height} - /> - <AnnotationGroupContainer - width={width} - height={height} - whiteboardId={slideObj.id} - /> - <CursorWrapperContainer - widthRatio={slideObj.widthRatio} - physicalWidthRatio={adjustedSizes.width / width} - slideWidth={width} - slideHeight={height} - /> - </g> - {this.renderOverlays(slideObj, adjustedSizes)} - </svg> - </CSSTransitionGroup> + <svg + width={width} + height={height} + ref={(ref) => { if (ref != null) { this.svggroup = ref; } }} + viewBox={`${x} ${y} ${viewBoxWidth} ${viewBoxHeight}`} + version="1.1" + xmlns="http://www.w3.org/2000/svg" + className={styles.svgStyles} + > + <defs> + <clipPath id="viewBox"> + <rect x={x} y={y} width="100%" height="100%" fill="none" /> + </clipPath> + </defs> + <g clipPath="url(#viewBox)"> + <Slide + id="slideComponent" + imageUri={imageUri} + svgWidth={width} + svgHeight={height} + /> + <AnnotationGroupContainer + width={width} + height={height} + whiteboardId={slideObj.id} + /> + <CursorWrapperContainer + widthRatio={slideObj.widthRatio} + physicalWidthRatio={adjustedSizes.width / width} + slideWidth={width} + slideHeight={height} + /> + </g> + {this.renderOverlays(slideObj, adjustedSizes)} + </svg> + </CSSTransition> + </TransitionGroup> </div> ); } diff --git a/bigbluebutton-html5/imports/ui/components/presentation/default-content/component.jsx b/bigbluebutton-html5/imports/ui/components/presentation/default-content/component.jsx index 47a1ed47b3dbef8c2c048adf9bddf890b8873ca1..eb3e917766fc9a7d017ac26d43fc5ed324b624d4 100644 --- a/bigbluebutton-html5/imports/ui/components/presentation/default-content/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/presentation/default-content/component.jsx @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import { FormattedMessage, FormattedDate } from 'react-intl'; -import CSSTransitionGroup from 'react-transition-group/CSSTransitionGroup'; +import { TransitionGroup, CSSTransition } from 'react-transition-group'; import styles from './styles.scss'; import Button from '../../button/component'; @@ -11,165 +11,165 @@ export default class DefaultContent extends Component { render() { return ( - <CSSTransitionGroup - transitionName={{ - appear: styles.appear, - appearActive: styles.appearActive, - }} - transitionAppear - transitionEnter - transitionLeave={false} - transitionAppearTimeout={700} - transitionEnterTimeout={0} - transitionLeaveTimeout={0} - className={styles.contentWrapper} - > - <div className={styles.contentRatio}> - <div className={styles.content}> - <div className={styles.defaultContent}> - <p> - <FormattedMessage - id="app.home.greeting" - description="Message to greet the user." - defaultMessage="Welcome {0}! Your presentation will begin shortly..." - values={{ 0: 'James Bond' }} - /> - <br /> - Today is {' '}<FormattedDate value={Date.now()} /> - <br /> - Here is some button examples - <br /> - </p> - <p> - <Button - label={'Small'} - onClick={DefaultContent.handleClick} - size={'sm'} - /> - <Button - label={'Medium'} - onClick={DefaultContent.handleClick} - /> - <Button - label={'Large'} - onClick={DefaultContent.handleClick} - size={'lg'} - /> - </p> - <p> - <Button - label={'Default'} - onClick={DefaultContent.handleClick} - /> - <Button - label={'Primary'} - onClick={DefaultContent.handleClick} - color={'primary'} - /> - <Button - label={'Danger'} - onClick={DefaultContent.handleClick} - color={'danger'} - /> - <Button - label={'Success'} - onClick={DefaultContent.handleClick} - color={'success'} - /> - </p> - <p> - <Button - label={'Default'} - onClick={DefaultContent.handleClick} - ghost - /> - <Button - label={'Primary'} - onClick={DefaultContent.handleClick} - color={'primary'} - ghost - /> - <Button - label={'Danger'} - onClick={DefaultContent.handleClick} - color={'danger'} - ghost - /> - <Button - label={'Success'} - onClick={DefaultContent.handleClick} - color={'success'} - ghost - /> - </p> - <p> - <Button - label={'With Icon'} - onClick={DefaultContent.handleClick} - icon={'add'} - /> - <Button - label={'Ghost With Icon'} - onClick={DefaultContent.handleClick} - color={'primary'} - icon={'add'} - ghost - /> - <Button - label={'Icon Right'} - onClick={DefaultContent.handleClick} - color={'danger'} - icon={'add'} - ghost - iconRight - /> - <Button - label={'Icon Right'} - onClick={DefaultContent.handleClick} - color={'success'} - icon={'add'} - iconRight - /> - </p> - <p> - <Button - label={'Medium'} - onClick={DefaultContent.handleClick} - color={'primary'} - icon={'unmute'} - ghost - circle - /> - <Button - label={'Large'} - onClick={DefaultContent.handleClick} - color={'danger'} - icon={'unmute'} - size={'lg'} - ghost - circle - /><br /> - <Button - label={'Small'} - onClick={DefaultContent.handleClick} - icon={'unmute'} - size={'sm'} - circle - /> - <Button - label={'Icon Right'} - onClick={DefaultContent.handleClick} - color={'success'} - icon={'unmute'} - size={'sm'} - iconRight - circle - /> - </p> + <TransitionGroup> + <CSSTransition + classNames={{ + appear: styles.appear, + appearActive: styles.appearActive, + }} + appear + enter={false} + exit={false} + timeout={{ enter: 400 }} + className={styles.contentWrapper} + > + <div className={styles.contentRatio}> + <div className={styles.content}> + <div className={styles.defaultContent}> + <p> + <FormattedMessage + id="app.home.greeting" + description="Message to greet the user." + defaultMessage="Welcome {0}! Your presentation will begin shortly..." + values={{ 0: 'James Bond' }} + /> + <br /> + Today is {' '}<FormattedDate value={Date.now()} /> + <br /> + Here is some button examples + <br /> + </p> + <p> + <Button + label="Small" + onClick={DefaultContent.handleClick} + size="sm" + /> + <Button + label="Medium" + onClick={DefaultContent.handleClick} + /> + <Button + label="Large" + onClick={DefaultContent.handleClick} + size="lg" + /> + </p> + <p> + <Button + label="Default" + onClick={DefaultContent.handleClick} + /> + <Button + label="Primary" + onClick={DefaultContent.handleClick} + color="primary" + /> + <Button + label="Danger" + onClick={DefaultContent.handleClick} + color="danger" + /> + <Button + label="Success" + onClick={DefaultContent.handleClick} + color="success" + /> + </p> + <p> + <Button + label="Default" + onClick={DefaultContent.handleClick} + ghost + /> + <Button + label="Primary" + onClick={DefaultContent.handleClick} + color="primary" + ghost + /> + <Button + label="Danger" + onClick={DefaultContent.handleClick} + color="danger" + ghost + /> + <Button + label="Success" + onClick={DefaultContent.handleClick} + color="success" + ghost + /> + </p> + <p> + <Button + label="With Icon" + onClick={DefaultContent.handleClick} + icon="add" + /> + <Button + label="Ghost With Icon" + onClick={DefaultContent.handleClick} + color="primary" + icon="add" + ghost + /> + <Button + label="Icon Right" + onClick={DefaultContent.handleClick} + color="danger" + icon="add" + ghost + iconRight + /> + <Button + label="Icon Right" + onClick={DefaultContent.handleClick} + color="success" + icon="add" + iconRight + /> + </p> + <p> + <Button + label="Medium" + onClick={DefaultContent.handleClick} + color="primary" + icon="unmute" + ghost + circle + /> + <Button + label="Large" + onClick={DefaultContent.handleClick} + color="danger" + icon="unmute" + size="lg" + ghost + circle + /><br /> + <Button + label="Small" + onClick={DefaultContent.handleClick} + icon="unmute" + size="sm" + circle + /> + <Button + label="Icon Right" + onClick={DefaultContent.handleClick} + color="success" + icon="unmute" + size="sm" + iconRight + circle + /> + </p> + </div> </div> </div> - </div> - </CSSTransitionGroup> + </CSSTransition> + </TransitionGroup> ); } } diff --git a/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/component.jsx b/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/component.jsx index abda86a8553fba365acd86ec9ca7b24d2bda7248..1fa248dc5ae578906d578a24f4a09cf72c6c683c 100644 --- a/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/component.jsx @@ -34,69 +34,67 @@ const defaultProps = { const intlMessages = defineMessages({ title: { id: 'app.presentationUploder.title', - defaultMessage: 'Presentation', + description: 'title of the modal', }, message: { id: 'app.presentationUploder.message', - defaultMessage: `As a presenter in BigBlueButton, you have the ability of - uploading any office document or PDF file. We recommend for the best results, - to please upload a PDF file.`, + description: 'message warning the types of files accepted', }, confirmLabel: { id: 'app.presentationUploder.confirmLabel', - defaultMessage: 'Start', + description: 'used in the button that start the upload of the new presentation', }, confirmDesc: { id: 'app.presentationUploder.confirmDesc', - defaultMessage: 'Save your changes and start the presentation', + description: 'description of the confirm', }, dismissLabel: { id: 'app.presentationUploder.dismissLabel', - defaultMessage: 'Cancel', + description: 'used in the button that close modal', }, dismissDesc: { id: 'app.presentationUploder.dismissDesc', - defaultMessage: 'Close the modal window and discard your changes', + description: 'description of the dismiss', }, dropzoneLabel: { id: 'app.presentationUploder.dropzoneLabel', - defaultMessage: 'Drag files here to upload', + description: 'message warning where drop files for upload', }, browseFilesLabel: { id: 'app.presentationUploder.browseFilesLabel', - defaultMessage: 'or browse for files', + description: 'message use on the file browser', }, fileToUpload: { id: 'app.presentationUploder.fileToUpload', - defaultMessage: 'To be uploaded...', + description: 'message used in the file selected for upload', }, uploadProcess: { id: 'app.presentationUploder.upload.progress', - defaultMessage: 'Uploading ({progress}%)', + description: 'message that indicates the percentage of the upload', }, 413: { id: 'app.presentationUploder.upload.413', - defaultMessage: 'File is too large.', + description: 'error that file exceed the size limit', }, conversionProcessingSlides: { id: 'app.presentationUploder.conversion.conversionProcessingSlides', - defaultMessage: 'Processing page {current} of {total}', + description: 'indicates how many slides were converted', }, genericConversionStatus: { id: 'app.presentationUploder.conversion.genericConversionStatus', - defaultMessage: 'Converting file...', + description: 'indicates that file is being converted', }, GENERATING_THUMBNAIL: { id: 'app.presentationUploder.conversion.generatingThumbnail', - defaultMessage: 'Generating thumbnails...', + description: 's that it is generating thumbnails', }, GENERATING_SVGIMAGES: { id: 'app.presentationUploder.conversion.generatingSvg', - defaultMessage: 'Generating SVG images...', + description: 'warns that it is generating svg images', }, GENERATED_SLIDE: { id: 'app.presentationUploder.conversion.generatedSlides', - defaultMessage: 'Slides generated...', + description: 'warns that were slides generated', }, }); @@ -300,7 +298,7 @@ class PresentationUploader extends Component { if (!item.upload.done && !item.upload.error) { return intl.formatMessage(intlMessages.uploadProcess, { - progress: item.upload.progress, + progress: Math.floor(item.upload.progress).toString(), }); } diff --git a/bigbluebutton-html5/imports/ui/components/settings/component.jsx b/bigbluebutton-html5/imports/ui/components/settings/component.jsx index abcd6879bc5ea41851c32027b4571384e336520d..f442ddc4b9df23efc6404951f4162f600aa082ed 100644 --- a/bigbluebutton-html5/imports/ui/components/settings/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/settings/component.jsx @@ -1,13 +1,13 @@ import React, { Component } from 'react'; import Modal from '/imports/ui/components/modal/fullscreen/component'; import { Tab, Tabs, TabList, TabPanel } from 'react-tabs'; -import { defineMessages, injectIntl } from 'react-intl'; +import { defineMessages, injectIntl, intlShape } from 'react-intl'; import ClosedCaptions from '/imports/ui/components/settings/submenus/closed-captions/component'; import Application from '/imports/ui/components/settings/submenus/application/container'; -import Participants from '/imports/ui/components/settings/submenus/participants/component'; import _ from 'lodash'; -import { withModalMounter } from '../modal/service'; +import PropTypes from 'prop-types'; +import { withModalMounter } from '../modal/service'; import Icon from '../icon/component'; import styles from './styles'; @@ -55,6 +55,15 @@ const intlMessages = defineMessages({ }); const propTypes = { + intl: intlShape.isRequired, + video: PropTypes.object.isRequired, + application: PropTypes.object.isRequired, + cc: PropTypes.object.isRequired, + participants: PropTypes.object.isRequired, + updateSettings: PropTypes.func.isRequired, + availableLocales: PropTypes.object.isRequired, + mountModal: PropTypes.func.isRequired, + locales: PropTypes.array.isRequired, }; class Settings extends Component { @@ -110,7 +119,6 @@ class Settings extends Component { renderModalContent() { const { - isModerator, intl, } = this.props; @@ -134,12 +142,12 @@ class Settings extends Component { <Icon iconName="user" className={styles.icon} /> <span id="ccTab">{intl.formatMessage(intlMessages.closecaptionTabLabel)}</span> </Tab> - {/*{ isModerator ?*/} - {/*<Tab className={styles.tabSelector} aria-labelledby="usersTab">*/} - {/*<Icon iconName="user" className={styles.icon} />*/} - {/*<span id="usersTab">{intl.formatMessage(intlMessages.usersTabLabel)}</span>*/} - {/*</Tab>*/} - {/*: null }*/} + {/* { isModerator ?*/} + {/* <Tab className={styles.tabSelector} aria-labelledby="usersTab">*/} + {/* <Icon iconName="user" className={styles.icon} />*/} + {/* <span id="usersTab">{intl.formatMessage(intlMessages.usersTabLabel)}</span>*/} + {/* </Tab>*/} + {/* : null }*/} </TabList> <TabPanel className={styles.tabPanel}> <Application @@ -161,14 +169,14 @@ class Settings extends Component { locales={this.props.locales} /> </TabPanel> - {/*{ isModerator ?*/} - {/*<TabPanel className={styles.tabPanel}>*/} - {/*<Participants*/} - {/*settings={this.state.current.participants}*/} - {/*handleUpdateSettings={this.handleUpdateSettings}*/} - {/*/>*/} - {/*</TabPanel>*/} - {/*: null }*/} + {/* { isModerator ?*/} + {/* <TabPanel className={styles.tabPanel}>*/} + {/* <Participants*/} + {/* settings={this.state.current.participants}*/} + {/* handleUpdateSettings={this.handleUpdateSettings}*/} + {/* />*/} + {/* </TabPanel>*/} + {/* : null }*/} </Tabs> ); } diff --git a/bigbluebutton-html5/imports/ui/components/settings/submenus/application/component.jsx b/bigbluebutton-html5/imports/ui/components/settings/submenus/application/component.jsx index b79dc2f99be3896dfbb40bdd9ff491d26ec91a9c..0c1600336b5c536388e105adf581da1d06c87347 100644 --- a/bigbluebutton-html5/imports/ui/components/settings/submenus/application/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/settings/submenus/application/component.jsx @@ -1,8 +1,5 @@ import React from 'react'; -import Modal from 'react-modal'; -import Icon from '/imports/ui/components/icon/component'; import Button from '/imports/ui/components/button/component'; -import ReactDOM from 'react-dom'; import cx from 'classnames'; import Toggle from '/imports/ui/components/switch/component'; import { defineMessages, injectIntl } from 'react-intl'; @@ -155,7 +152,7 @@ class ApplicationMenu extends BaseMenu { </div> </div> </div> - {/* TODO: Uncomment after the release + <div className={styles.row}> <div className={styles.col}> <div className={styles.formElement} > @@ -175,7 +172,7 @@ class ApplicationMenu extends BaseMenu { /> </div> </div> - </div>*/} + </div> <div className={styles.row}> <div className={styles.col}> <div className={styles.formElement}> @@ -185,29 +182,29 @@ class ApplicationMenu extends BaseMenu { </div> </div> <div className={styles.col}> - <label aria-labelledby="changeLangLabel" className={cx(styles.formElement, styles.pullContentRight)}> - <select - defaultValue={this.formatLocale(this.state.settings.locale)} - className={styles.select} - onChange={this.handleSelectChange.bind(this, 'locale', availableLocales)} - > - <option disabled> - { availableLocales && + <label aria-labelledby="changeLangLabel" className={cx(styles.formElement, styles.pullContentRight)}> + <select + defaultValue={this.formatLocale(this.state.settings.locale)} + className={styles.select} + onChange={this.handleSelectChange.bind(this, 'locale', availableLocales)} + > + <option disabled> + { availableLocales && availableLocales.length ? intl.formatMessage(intlMessages.languageOptionLabel) : intl.formatMessage(intlMessages.noLocaleOptionLabel) } - </option> - {availableLocales ? availableLocales.map((locale, index) => + </option> + {availableLocales ? availableLocales.map((locale, index) => (<option key={index} value={locale.locale}> {locale.name} </option>), ) : null } - </select> - </label> - <div - id="changeLangLabel" - aria-label={intl.formatMessage(intlMessages.ariaLanguageLabel)} - /> + </select> + </label> + <div + id="changeLangLabel" + aria-label={intl.formatMessage(intlMessages.ariaLanguageLabel)} + /> </div> </div> <hr className={styles.separator} /> diff --git a/bigbluebutton-html5/imports/ui/components/toast/component.jsx b/bigbluebutton-html5/imports/ui/components/toast/component.jsx old mode 100755 new mode 100644 diff --git a/bigbluebutton-html5/imports/ui/components/toast/container.jsx b/bigbluebutton-html5/imports/ui/components/toast/container.jsx old mode 100755 new mode 100644 diff --git a/bigbluebutton-html5/imports/ui/components/toast/styles.scss b/bigbluebutton-html5/imports/ui/components/toast/styles.scss old mode 100755 new mode 100644 diff --git a/bigbluebutton-html5/imports/ui/components/user-list/chat-list-item/chat-unread-messages/component.jsx b/bigbluebutton-html5/imports/ui/components/user-list/chat-list-item/chat-unread-messages/component.jsx index 66a1e4bf33c142dcb9b89c5971016d2937ebccfe..5769c46351a65f531e8e40d61c1180416b054745 100644 --- a/bigbluebutton-html5/imports/ui/components/user-list/chat-list-item/chat-unread-messages/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/user-list/chat-list-item/chat-unread-messages/component.jsx @@ -5,11 +5,11 @@ import styles from './styles'; const intlMessages = defineMessages({ unreadPlural: { - id: 'app.userList.chatlistitem.unreadPlural', + id: 'app.userList.chatListItem.unreadPlural', description: 'singular aria label for new message', }, unreadSingular: { - id: 'app.userList.chatlistitem.unreadSingular', + id: 'app.userList.chatListItem.unreadSingular', description: 'plural aria label for new messages', }, }); diff --git a/bigbluebutton-html5/imports/ui/components/user-list/service.js b/bigbluebutton-html5/imports/ui/components/user-list/service.js index 9fb0c0d2ad773c3c4082b1560841107d37f1c15e..e7fcc717dff622701e7d7e9d118f4719093b1032 100644 --- a/bigbluebutton-html5/imports/ui/components/user-list/service.js +++ b/bigbluebutton-html5/imports/ui/components/user-list/service.js @@ -9,6 +9,9 @@ import { EMOJI_STATUSES, EMOJI_NORMALIZE } from '/imports/utils/statuses'; import { makeCall } from '/imports/ui/services/api'; import _ from 'lodash'; +const APP_CONFIG = Meteor.settings.public.app; +const ALLOW_MODERATOR_TO_UNMUTE_AUDIO = APP_CONFIG.allowModeratorToUnmuteAudio; + const CHAT_CONFIG = Meteor.settings.public.chat; const PRIVATE_CHAT_TYPE = CHAT_CONFIG.type_private; const PUBLIC_CHAT_USERID = CHAT_CONFIG.public_userid; @@ -211,8 +214,15 @@ const getOpenChats = (chatID) => { const getAvailableActions = (currentUser, user, router, isBreakoutRoom) => { const hasAuthority = currentUser.isModerator || user.isCurrent; const allowedToChatPrivately = !user.isCurrent; - const allowedToMuteAudio = hasAuthority && user.isVoiceUser && !user.isMuted; - const allowedToUnmuteAudio = hasAuthority && user.isVoiceUser && user.isMuted; + const allowedToMuteAudio = hasAuthority + && user.isVoiceUser + && !user.isMuted + && !user.isListenOnly; + const allowedToUnmuteAudio = hasAuthority + && user.isVoiceUser + && !user.isListenOnly + && user.isMuted + && (ALLOW_MODERATOR_TO_UNMUTE_AUDIO || user.isCurrent); const allowedToResetStatus = hasAuthority && user.emoji.status !== EMOJI_STATUSES.none; // if currentUser is a moderator, allow kicking other users diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-messages/component.jsx b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-messages/component.jsx index 9e6655d593fa2e21d95219509e9da4dc24bffe70..2a51b006d89904c4924ca885d3cdc6d65865aa64 100644 --- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-messages/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-messages/component.jsx @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import CSSTransitionGroup from 'react-transition-group/CSSTransitionGroup'; +import { TransitionGroup, CSSTransition } from 'react-transition-group'; import PropTypes from 'prop-types'; import { defineMessages } from 'react-intl'; import cx from 'classnames'; @@ -83,14 +83,17 @@ const intlMessages = defineMessages({ }); class UserMessages extends Component { - componentDidMount() { if (!this.props.compact) { - this._msgsList.addEventListener('keydown', - event => this.props.rovingIndex(event, + this._msgsList.addEventListener( + 'keydown', + event => this.props.rovingIndex( + event, this._msgsList, this._msgItems, - this.props.openChats.length)); + this.props.openChats.length, + ), + ); } } @@ -117,30 +120,30 @@ class UserMessages extends Component { className={styles.scrollableList} ref={(ref) => { this._msgsList = ref; }} > - <CSSTransitionGroup - transitionName={listTransition} - transitionAppear - transitionEnter - transitionLeave={false} - transitionAppearTimeout={0} - transitionEnterTimeout={0} - transitionLeaveTimeout={0} - component="div" - className={cx(styles.chatsList)} - > - <div ref={(ref) => { this._msgItems = ref; }} className={styles.list}> + <div ref={(ref) => { this._msgItems = ref; }}> + <TransitionGroup> {openChats.map(chat => ( - <ChatListItem - isPublicChat={isPublicChat} - compact={compact} + <CSSTransition + classNames={listTransition} + appear + enter + exit={false} + timeout={0} + component="div" + className={cx(styles.chatsList)} key={chat.id} - openChat={openChat} - chat={chat} - tabIndex={-1} - /> + > + <ChatListItem + isPublicChat={isPublicChat} + compact={compact} + openChat={openChat} + chat={chat} + tabIndex={-1} + /> + </CSSTransition> ))} - </div> - </CSSTransitionGroup> + </TransitionGroup> + </div> </div> </div> ); diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/component.jsx b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/component.jsx index 3fc49e04a5ba12afc0fe8575bb9c69c30b2b8c37..1278d04b69cfbe63a17a65177978e84b6c78db4b 100644 --- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/component.jsx @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import CSSTransitionGroup from 'react-transition-group/CSSTransitionGroup'; +import { TransitionGroup, CSSTransition } from 'react-transition-group'; import PropTypes from 'prop-types'; import { defineMessages } from 'react-intl'; import cx from 'classnames'; @@ -95,7 +95,6 @@ const intlMessages = defineMessages({ }); class UserParticipants extends Component { - constructor() { super(); @@ -104,11 +103,15 @@ class UserParticipants extends Component { componentDidMount() { if (!this.props.compact) { - this.refScrollContainer.addEventListener('keydown', - event => this.props.rovingIndex(event, + this.refScrollContainer.addEventListener( + 'keydown', + event => this.props.rovingIndex( + event, this.refScrollContainer, this.refScrollItems, - this.props.users.length)); + this.props.users.length, + ), + ); } } @@ -185,7 +188,7 @@ class UserParticipants extends Component { <div className={styles.smallTitle} role="banner"> {intl.formatMessage(intlMessages.usersTitle)} ({users.length}) - </div> : <hr className={styles.separator} /> + </div> : <hr className={styles.separator} /> } <div className={styles.scrollableList} @@ -193,23 +196,21 @@ class UserParticipants extends Component { tabIndex={0} ref={(ref) => { this.refScrollContainer = ref; }} > - <CSSTransitionGroup - transitionName={listTransition} - transitionAppear - transitionEnter - transitionLeave - transitionAppearTimeout={0} - transitionEnterTimeout={0} - transitionLeaveTimeout={0} - component="div" - className={cx(styles.participantsList)} - > - <div ref={(ref) => { this.refScrollItems = ref; }} className={styles.list}> - { - users.map(user => ( + <div ref={(ref) => { this.refScrollItems = ref; }}> + <TransitionGroup> + { users.map(user => ( + <CSSTransition + classNames={listTransition} + appear + enter + exit + timeout={0} + component="div" + className={cx(styles.participantsList)} + key={user.id} + > <UserListItem compact={compact} - key={user.id} isBreakoutRoom={isBreakoutRoom} user={user} currentUser={currentUser} @@ -220,10 +221,10 @@ class UserParticipants extends Component { isMeetingLocked={isMeetingLocked} getScrollContainerRef={this.getScrollContainerRef} /> - )) - } - </div> - </CSSTransitionGroup> + </CSSTransition> + ))} + </TransitionGroup> + </div> </div> </div> ); diff --git a/bigbluebutton-html5/imports/ui/services/api/index.js b/bigbluebutton-html5/imports/ui/services/api/index.js old mode 100755 new mode 100644 index 0f83f20f3ad0c7012e2b85ed5090d2d0c94ccf5e..1a5e1a6c6bcc712649848d3285fe411211ec48ff --- a/bigbluebutton-html5/imports/ui/services/api/index.js +++ b/bigbluebutton-html5/imports/ui/services/api/index.js @@ -13,7 +13,7 @@ import { notify } from '/imports/ui/services/notification'; export function makeCall(name, ...args) { check(name, String); - const credentials = Auth.credentials; + const { credentials } = Auth; return new Promise((resolve, reject) => { Meteor.call(name, credentials, ...args, (error, result) => { @@ -42,12 +42,12 @@ export function call(name, ...args) { } export function log(type = 'error', message, ...args) { - const credentials = Auth.credentials; + const { credentials } = Auth; const userInfo = window.navigator; const clientInfo = { language: userInfo.language, userAgent: userInfo.userAgent, - screenSize: { width: screen.width, height: screen.height }, + screenSize: { width: window.screen.width, height: window.screen.height }, windowSize: { width: window.innerWidth, height: window.innerHeight }, bbbVersion: Meteor.settings.public.app.bbbServerVersion, location: window.location.href, diff --git a/bigbluebutton-html5/imports/ui/services/settings/index.js b/bigbluebutton-html5/imports/ui/services/settings/index.js index 2e1303c47bb785bfbe8b4f83f33c13e69d21c9e1..233870a194c52cbac07eaa67c02c6c1c57a3ab20 100644 --- a/bigbluebutton-html5/imports/ui/services/settings/index.js +++ b/bigbluebutton-html5/imports/ui/services/settings/index.js @@ -30,6 +30,12 @@ class Settings { }, }); }); + + // Sets default locale to browser locale + defaultValues.application.locale = navigator.languages[0] || + navigator.language || + defaultValues.application.locale; + this.setDefault(defaultValues); } diff --git a/bigbluebutton-html5/imports/ui/stylesheets/variables/palette.scss b/bigbluebutton-html5/imports/ui/stylesheets/variables/palette.scss old mode 100755 new mode 100644 diff --git a/bigbluebutton-html5/package-lock.json b/bigbluebutton-html5/package-lock.json index 93b5a1010bcb30dd421344c8f0a5149505082fb5..759240950ac7240db1e39ab69d5984252504b7f4 100644 --- a/bigbluebutton-html5/package-lock.json +++ b/bigbluebutton-html5/package-lock.json @@ -3,48 +3,57 @@ "requires": true, "lockfileVersion": 1, "dependencies": { + "abbrev": { + "version": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=" + }, + "acorn": { + "version": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", + "integrity": "sha1-MXrHghgmwixwLWYYmrg1lnXxNdc=", + "dev": true + }, "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "version": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "3.3.0" + "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" }, "dependencies": { "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", "dev": true } } }, "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, + "version": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz", + "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=", "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" + "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "fast-deep-equal": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "fast-json-stable-stringify": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "json-schema-traverse": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz" } }, "ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "version": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", "dev": true }, + "amdefine": { + "version": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "version": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", + "integrity": "sha1-7D6LTp+AZPwCw6ybZfHCdb2o75I=", "dev": true }, "ansi-regex": { - "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "integrity": "sha1-xQYbbg74qBd15Q9dZhUb9r83EQc=" + "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", @@ -55,60 +64,98 @@ "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" }, "app-root-path": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.0.1.tgz", + "version": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.0.1.tgz", "integrity": "sha1-zWLc+OT9WkF+/GZNLlsQZTxlG0Y=", "dev": true }, "aproba": { - "version": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz", - "integrity": "sha1-JxNoB3XnYUyLoYbAZdTi5S0QcsA=" + "version": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=" + }, + "archiver": { + "version": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz", + "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=", + "dev": true, + "requires": { + "archiver-utils": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", + "async": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", + "buffer-crc32": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "tar-stream": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz", + "walkdir": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", + "zip-stream": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz" + }, + "dependencies": { + "async": { + "version": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", + "integrity": "sha1-hDGQ/WtzV6C54clW7d3V7IRitU0=", + "dev": true, + "requires": { + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" + } + } + } + }, + "archiver-utils": { + "version": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", + "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", + "dev": true, + "requires": { + "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "lazystream": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" + }, + "dependencies": { + "normalize-path": { + "version": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + } + } + } }, "are-we-there-yet": { - "version": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz", - "integrity": "sha1-gORw6VoIR5T+GJkmLFZnxuiN4bM=", + "version": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "requires": { - "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz" + "delegates": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" } }, "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "version": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" } }, "aria-query": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-0.5.0.tgz", - "integrity": "sha1-heMVLNjMW6sY2+1hzZxPzlT6ecM=", + "version": "https://registry.npmjs.org/aria-query/-/aria-query-0.7.0.tgz", + "integrity": "sha1-SvEKHmFXPd6gzzuZtRxSwFtCTSQ=", "dev": true, "requires": { - "ast-types-flow": "0.0.7" + "ast-types-flow": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" } }, "array-find-index": { - "version": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz", - "integrity": "sha1-C8Jd2slB7IpJauJY/UrBiAA+868=" + "version": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" }, "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "version": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.7.0" - } - }, - "array-index": { - "version": "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz", - "integrity": "sha1-7FanSe4QPk4Ix5C5w1PfFgVbl/k=", - "requires": { - "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz" + "define-properties": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "es-abstract": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz" } }, "array-union": { @@ -129,147 +176,174 @@ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, + "asap": { + "version": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1": { + "version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "assert-plus": { + "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assertion-error": { + "version": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", + "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=", + "dev": true + }, "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "version": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", "dev": true }, "async": { - "version": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + "version": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", + "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=" }, "async-foreach": { "version": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" }, + "asynckit": { + "version": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz", + "integrity": "sha1-lfE2KbEsOlGl0hWr3OKqnzL4B3M=", + "dev": true + }, + "attr-accept": { + "version": "https://registry.npmjs.org/attr-accept/-/attr-accept-1.1.0.tgz", + "integrity": "sha1-tc01In8WOTWo8d4Q7T66FpQfa+Y=" + }, "autoprefixer": { - "version": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.1.1.tgz", - "integrity": "sha1-l7yFTH0Ll5+NZIneVHoNF/swf20=", + "version": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.1.6.tgz", + "integrity": "sha1-+5MwOfdK90qD5xIlznjZ/Vi6hNc=", "dev": true, "requires": { - "browserslist": "https://registry.npmjs.org/browserslist/-/browserslist-2.1.4.tgz", - "caniuse-lite": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000677.tgz", + "browserslist": "https://registry.npmjs.org/browserslist/-/browserslist-2.6.1.tgz", + "caniuse-lite": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000756.tgz", "normalize-range": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "num2fraction": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", + "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", "postcss-value-parser": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz" } }, + "autosize": { + "version": "https://registry.npmjs.org/autosize/-/autosize-3.0.21.tgz", + "integrity": "sha1-8YL0DRd1fZeKE5pMnKQMTA5EhgM=" + }, + "aws-sign2": { + "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, "aws4": { - "version": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz", - "integrity": "sha1-/efVKSRm0jDl7g9OA42d+qsI/GE=" + "version": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" }, "axobject-query": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-0.1.0.tgz", + "version": "https://registry.npmjs.org/axobject-query/-/axobject-query-0.1.0.tgz", "integrity": "sha1-YvWdvFnJ+SQnWco0mWDnov48NsA=", "dev": true, "requires": { - "ast-types-flow": "0.0.7" + "ast-types-flow": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" } }, "babel-code-frame": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "version": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "js-tokens": "3.0.1" - }, - "dependencies": { - "js-tokens": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", - "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=", - "dev": true - } + "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz" } }, "babel-runtime": { - "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", + "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { - "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz" - }, - "dependencies": { - "core-js": { - "version": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=" - } + "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz" } }, "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "bcrypt-pbkdf": { + "version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true, + "requires": { + "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" + } }, "bindings": { - "version": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", - "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=" + "version": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", + "integrity": "sha1-s0b27PapX1qBXFg5/HzbIlAvHtc=" }, "bl": { - "version": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", - "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=", + "version": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", + "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "dev": true, "requires": { - "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" - }, - "dependencies": { - "readable-stream": { - "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "process-nextick-args": "1.0.7", - "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "util-deprecate": "1.0.2" - } - } + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" + } + }, + "block-stream": { + "version": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "requires": { + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + } + }, + "boom": { + "version": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "requires": { + "hoek": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz" } }, "brace-expansion": { - "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", - "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" + "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" } }, "browserslist": { - "version": "https://registry.npmjs.org/browserslist/-/browserslist-2.1.4.tgz", - "integrity": "sha1-zFJq9KExK30uBWU+VtDIq3DA4FM=", + "version": "https://registry.npmjs.org/browserslist/-/browserslist-2.6.1.tgz", + "integrity": "sha1-zGWgWtYTHr2ibwdvKCK6G8gmN2s=", "dev": true, "requires": { - "caniuse-lite": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000677.tgz", - "electron-to-chromium": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.13.tgz" + "caniuse-lite": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000756.tgz", + "electron-to-chromium": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz" } }, - "buffer-shims": { - "version": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" + "buffer-crc32": { + "version": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true }, "builtin-modules": { "version": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" }, "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "version": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz" } }, "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "version": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", "dev": true }, @@ -286,17 +360,26 @@ } }, "caniuse-lite": { - "version": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000677.tgz", - "integrity": "sha1-QwkCM9SyxxkGV/lUVZg9lNJkuqo=", + "version": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000756.tgz", + "integrity": "sha1-PacBwVIbn6uHAExt58l/pH2+qtI=", "dev": true }, - "capture-stack-trace": { - "version": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" - }, "caseless": { - "version": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=" + "version": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chai": { + "version": "https://registry.npmjs.org/chai/-/chai-4.1.2.tgz", + "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=", + "dev": true, + "requires": { + "assertion-error": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", + "check-error": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "deep-eql": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "get-func-name": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "pathval": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "type-detect": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.3.tgz" + } }, "chain-function": { "version": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz", @@ -313,16 +396,19 @@ "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" } }, + "check-error": { + "version": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, "ci-info": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.0.0.tgz", - "integrity": "sha1-3FKF8rTiUYIWg2gcOBwziPRuxTQ=", + "version": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz", + "integrity": "sha1-R7RN8RjEjSWXtW00Ln4leRBgFxo=", "dev": true }, "circular-json": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", - "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=", + "version": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=", "dev": true }, "classnames": { @@ -330,150 +416,239 @@ "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0=" }, "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "version": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "1.0.1" + "restore-cursor": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" } }, "cli-spinners": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz", + "version": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz", "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=", "dev": true }, "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "version": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", "dev": true, "requires": { - "slice-ansi": "0.0.4", + "slice-ansi": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + }, + "dependencies": { + "slice-ansi": { + "version": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + } } }, "cli-width": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", - "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=", + "version": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", "dev": true }, + "clipboard": { + "version": "https://registry.npmjs.org/clipboard/-/clipboard-1.7.1.tgz", + "integrity": "sha1-Ng1taUbpmnof7zleQrqStem1oWs=", + "requires": { + "good-listener": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "select": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "tiny-emitter": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz" + } + }, + "cliui": { + "version": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "wrap-ansi": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" + } + }, "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true + "version": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, "code-point-at": { - "version": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz", - "integrity": "sha1-9psZLT99keOC5Lcb3bd4eGGasMY=", + "version": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "color-convert": { + "version": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", + "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", + "dev": true, "requires": { - "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" + "color-name": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" } }, + "color-name": { + "version": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "colors": { "version": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" }, - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" + "combined-stream": { + "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "requires": { + "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "commander": { + "version": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha1-FXFS/R56bI2YpbcVzzdt+SgARWM=", + "dev": true }, - "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "compress-commons": { + "version": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", + "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.2.10", - "typedarray": "0.0.6" + "buffer-crc32": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "crc32-stream": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", + "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" }, "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "readable-stream": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.10.tgz", - "integrity": "sha512-HQEnnoV404e0EtwB9yNiuk2tJ+egeVC8Y9QBAxzDg8DBJt4BzRp+yQuIb/t3FIWkSTmIi+sgx7yVv/ZM0GNoqw==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.0.1", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", - "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", + "normalize-path": { + "version": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "safe-buffer": "5.0.1" + "remove-trailing-separator": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" } } } }, + "computed-style": { + "version": "https://registry.npmjs.org/computed-style/-/computed-style-0.1.4.tgz", + "integrity": "sha1-fzRP2FhLLkJb7cpKGvwOMAuwXXQ=" + }, + "concat-map": { + "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, + "requires": { + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + } + }, + "console-control-strings": { + "version": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "version": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", "dev": true }, "core-js": { - "version": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + "version": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-1.1.0.tgz", + "version": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-1.1.0.tgz", "integrity": "sha1-DeoPmATv37kp+7GxiOJVU+oFPTc=", "dev": true, "requires": { - "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz", - "js-yaml": "3.10.0", + "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", - "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "require-from-string": "1.2.1" + "require-from-string": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz" + } + }, + "crc": { + "version": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz", + "integrity": "sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=", + "dev": true + }, + "crc32-stream": { + "version": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", + "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "dev": true, + "requires": { + "crc": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz", + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" } }, - "create-error-class": { - "version": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "create-react-class": { + "version": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", + "integrity": "sha1-zx7RXxKq1/FO9fLf4F5sQvke8Co=", "requires": { - "capture-stack-trace": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz" + "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" } }, "cross-spawn": { "version": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", "requires": { - "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz", - "which": "https://registry.npmjs.org/which/-/which-1.2.10.tgz" + "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz" + } + }, + "cryptiles": { + "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "requires": { + "boom": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz" + }, + "dependencies": { + "boom": { + "version": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha1-XdnabuOl8wIHdDYpDLcX0/SlTgI=", + "requires": { + "hoek": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz" + } + } + } + }, + "css": { + "version": "https://registry.npmjs.org/css/-/css-2.2.1.tgz", + "integrity": "sha1-c6TIHehdtmTU7mdPfUcIXjstVdw=", + "dev": true, + "requires": { + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "source-map-resolve": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz", + "urix": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + }, + "dependencies": { + "source-map": { + "version": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" + } + } + } + }, + "css-parse": { + "version": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "dev": true, + "requires": { + "css": "https://registry.npmjs.org/css/-/css-2.2.1.tgz" } }, "css-selector-tokenizer": { @@ -486,6 +661,11 @@ "regexpu-core": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz" } }, + "css-value": { + "version": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz", + "integrity": "sha1-Xv1sLupeof1rasV+wEJ7GEUkJOo=", + "dev": true + }, "cssesc": { "version": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", @@ -495,81 +675,107 @@ "version": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "requires": { - "array-find-index": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz" + "array-find-index": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" } }, "cycle": { "version": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=" }, - "d": { - "version": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", - "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=", - "requires": { - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz" - } - }, "damerau-levenshtein": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", + "version": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=", "dev": true }, + "dashdash": { + "version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + } + }, "date-fns": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", - "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==", + "version": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", + "integrity": "sha1-EuYJzcuTUScxHQTTMzTilgoqVOY=", + "dev": true + }, + "date-format": { + "version": "https://registry.npmjs.org/date-format/-/date-format-0.0.2.tgz", + "integrity": "sha1-+v1Ej3IRXvHitzkVWukvK+bCjdE=", "dev": true }, "debug": { - "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "requires": { - "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" } }, "decamelize": { "version": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, + "decompress-response": { + "version": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz" + } + }, + "deep-eql": { + "version": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha1-38lARACtHI/gI+faHfHBR8S0RN8=", + "dev": true, + "requires": { + "type-detect": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.3.tgz" + } + }, "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "version": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, "deepmerge": { - "version": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.3.2.tgz", - "integrity": "sha1-FmNpFinU2/42T6EqKk8KqGqjoFA=" + "version": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=" }, "define-properties": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "version": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "dev": true, "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" + "foreach": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz" } }, "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "version": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "globby": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "is-path-cwd": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "is-path-in-cwd": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz" + "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz" } }, + "delayed-stream": { + "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegate": { + "version": "https://registry.npmjs.org/delegate/-/delegate-3.1.3.tgz", + "integrity": "sha1-moJRp3fXAl+qVXN7w7BxdCEnqf0=" + }, + "delegates": { + "version": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, "doctrine": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", + "version": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", "dev": true, "requires": { @@ -581,329 +787,246 @@ "version": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.2.1.tgz", "integrity": "sha1-MgPgf+0he9H0JLAZc1WC/Deyglo=" }, + "double-ended-queue": { + "version": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", + "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=" + }, "duplexer3": { "version": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" }, + "ecc-jsbn": { + "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true, + "requires": { + "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" + } + }, + "ejs": { + "version": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", + "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=", + "dev": true + }, "electron-to-chromium": { - "version": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.13.tgz", - "integrity": "sha1-GzperObgh7teJXoQCwy/6Bsokfw=", + "version": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz", + "integrity": "sha1-eOy4o5kGYYe7N07t412ccFZagD0=", "dev": true }, "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "version": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", "dev": true }, "emoji-regex": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.4.2.tgz", - "integrity": "sha1-owtv7jU9QG2Wz7n6dlvcgol+/24=", + "version": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz", + "integrity": "sha1-m66pKbFVVlwR6kHGYm6qZc75ksI=", "dev": true }, - "error-ex": { - "version": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", - "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk=" - }, - "es-abstract": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.7.0.tgz", - "integrity": "sha1-363ndOAb/Nl/lhgCmMRJyGI/uUw=", - "dev": true, + "encoding": { + "version": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.0", - "is-callable": "1.1.3", - "is-regex": "1.0.4" + "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz" } }, - "es-to-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", - "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "end-of-stream": { + "version": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", "dev": true, "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" - } - }, - "es5-ext": { - "version": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", - "integrity": "sha1-qoRkHU23a2Krul5F/YBey6sUAEc=", - "requires": { - "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", - "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz" - } - }, - "es6-iterator": { - "version": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", - "integrity": "sha1-vZaFZ9YWNeM8C4BydhPJy0sJa6w=", - "requires": { - "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", - "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz" + "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz" } }, - "es6-map": { - "version": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz", - "integrity": "sha1-o0sUe+IkdzpNfagHJ5TO+jYyuJc=", - "dev": true, + "error-ex": { + "version": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "requires": { - "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", - "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", - "es6-set": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz", - "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz", - "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz" + "is-arrayish": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" } }, - "es6-set": { - "version": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz", - "integrity": "sha1-lRa2dhwpZLkv9HlFYjOiR9xwfOg=", + "es-abstract": { + "version": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", + "integrity": "sha1-aQgpoHyuNrIi5/2bdcDQVz6yUic=", "dev": true, "requires": { - "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", - "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", - "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz", - "event-emitter": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz" + "es-to-primitive": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "is-callable": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "is-regex": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz" } }, - "es6-symbol": { - "version": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz", - "integrity": "sha1-lEgcZV56fK2C66gy2X1UM0ltf/o=", - "requires": { - "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz" - } - }, - "es6-weak-map": { - "version": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz", - "integrity": "sha1-DSu9iCfrX7S6j5f7/qUNQ9sh6oE=", + "es-to-primitive": { + "version": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz", - "es6-iterator": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz", - "es6-symbol": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz" + "is-callable": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "is-date-object": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "is-symbol": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz" } }, "escape-string-regexp": { "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, - "escope": { - "version": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz", - "es6-weak-map": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz", - "esrecurse": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", - "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz" - } - }, "eslint": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", - "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", + "version": "https://registry.npmjs.org/eslint/-/eslint-4.9.0.tgz", + "integrity": "sha1-doedJ0BoJhsZH+Dy9Wx0wvQgjos=", "dev": true, "requires": { - "babel-code-frame": "6.22.0", - "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "concat-stream": "1.6.0", - "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "doctrine": "2.0.0", - "escope": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "espree": "3.4.3", - "esquery": "1.0.0", + "ajv": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz", + "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "cross-spawn": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "debug": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "doctrine": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", + "eslint-scope": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "espree": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz", + "esquery": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "file-entry-cache": "2.0.0", - "glob": "7.1.2", - "globals": "9.17.0", - "ignore": "3.3.3", - "imurmurhash": "0.1.4", - "inquirer": "0.12.0", - "is-my-json-valid": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", - "is-resolvable": "1.0.0", - "js-yaml": "3.8.4", - "json-stable-stringify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.4", + "file-entry-cache": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "functional-red-black-tree": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "globals": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "ignore": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "imurmurhash": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "inquirer": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "is-resolvable": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", + "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "1.2.1", - "progress": "1.1.8", - "require-uncached": "1.0.3", - "shelljs": "0.7.7", - "strip-bom": "3.0.0", - "strip-json-comments": "2.0.1", - "table": "3.8.3", - "text-table": "0.2.0", - "user-home": "2.0.0" + "natural-compare": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "optionator": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "path-is-inside": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "pluralize": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "progress": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "require-uncached": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "semver": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "table": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "text-table": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" }, "dependencies": { - "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "ansi-regex": { + "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz" } }, - "brace-expansion": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", + "chalk": { + "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=", "dev": true, "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" + "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz" } }, - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "cross-spawn": { + "version": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "minimatch": "3.0.4", - "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" + "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "shebang-command": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz" } }, - "globals": { - "version": "9.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.17.0.tgz", - "integrity": "sha1-DAymltm5u2lNLlRwvTd3fKrVAoY=", - "dev": true - }, - "js-yaml": { - "version": "3.8.4", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.4.tgz", - "integrity": "sha1-UgtFZPhlc7qWZir4Woyvp7S1pvY=", + "debug": { + "version": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", "dev": true, "requires": { - "argparse": "1.0.9", - "esprima": "3.1.3" + "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" } }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "strip-ansi": { + "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "brace-expansion": "1.1.7" + "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" } }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "supports-color": { + "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz" + "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" } } } }, "eslint-config-airbnb": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-15.0.1.tgz", - "integrity": "sha1-e1GI5bfHS5ss5jn9Xh2rqP12Gu0=", + "version": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-16.1.0.tgz", + "integrity": "sha1-JUa/sCzJ/pIoS/FyPM8uh7xFykY=", "dev": true, "requires": { - "eslint-config-airbnb-base": "11.2.0" + "eslint-config-airbnb-base": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz" } }, "eslint-config-airbnb-base": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.2.0.tgz", - "integrity": "sha1-GancRIGib3CQRUXsBAEWh2AY+FM=", - "dev": true + "version": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz", + "integrity": "sha1-OGRB5UoSzNlXsKklZKS6/r10eUQ=", + "dev": true, + "requires": { + "eslint-restricted-globals": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz" + } }, "eslint-import-resolver-node": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz", - "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", + "version": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz", + "integrity": "sha1-RCJXTN5mqaewmZOO5NUIoZng48w=", "dev": true, "requires": { - "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", - "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" + "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz" } }, "eslint-module-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz", - "integrity": "sha1-pvjCHZATWHWc3DXbrBmCrh7li84=", + "version": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz", + "integrity": "sha1-q67IJBd2E7ipWymWOeG2+s9HNEk=", "dev": true, "requires": { - "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "pkg-dir": "1.0.0" + "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "pkg-dir": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz" } }, "eslint-plugin-import": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.3.0.tgz", - "integrity": "sha1-N8gB4K2g4pbL3yDD85OstbUq82s=", + "version": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz", + "integrity": "sha1-+htu8x/LPFAcCYWcG4bx/FuYaJQ=", "dev": true, "requires": { "builtin-modules": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "contains-path": "0.1.0", - "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "0.2.3", - "eslint-module-utils": "2.0.0", - "has": "1.0.1", - "lodash.cond": "4.5.2", - "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", - "read-pkg-up": "2.0.0" + "contains-path": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "doctrine": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "eslint-import-resolver-node": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz", + "eslint-module-utils": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz", + "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "lodash.cond": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", + "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz" }, "dependencies": { "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "version": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { @@ -912,29 +1035,26 @@ } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "version": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" } }, "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz", + "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "strip-bom": "3.0.0" + "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" } }, "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "version": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { @@ -942,87 +1062,96 @@ } }, "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", - "path-type": "2.0.0" + "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "path-type": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz" } }, "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz" } }, "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true } } }, "eslint-plugin-jsx-a11y": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-5.0.3.tgz", - "integrity": "sha1-SpOfduwSUBBSiCMzG/lIzFczgLY=", + "version": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.0.2.tgz", + "integrity": "sha1-ZZJ3p1iwNsMFp+ShMFfDAc075z8=", "dev": true, "requires": { - "aria-query": "0.5.0", - "array-includes": "3.0.3", - "ast-types-flow": "0.0.7", - "axobject-query": "0.1.0", - "damerau-levenshtein": "1.0.4", - "emoji-regex": "6.4.2", - "jsx-ast-utils": "1.4.1" + "aria-query": "https://registry.npmjs.org/aria-query/-/aria-query-0.7.0.tgz", + "array-includes": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "ast-types-flow": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "axobject-query": "https://registry.npmjs.org/axobject-query/-/axobject-query-0.1.0.tgz", + "damerau-levenshtein": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", + "emoji-regex": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz", + "jsx-ast-utils": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz" } }, "eslint-plugin-react": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.0.1.tgz", - "integrity": "sha1-54EH4eVZxuKxd4a7Z8LioBCtDS8=", + "version": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.4.0.tgz", + "integrity": "sha1-MAqVhhuXKcCH02LdZKvMNRp0Nko=", + "dev": true, + "requires": { + "doctrine": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", + "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "jsx-ast-utils": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", + "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz" + }, + "dependencies": { + "jsx-ast-utils": { + "version": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", + "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", + "dev": true, + "requires": { + "array-includes": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz" + } + } + } + }, + "eslint-restricted-globals": { + "version": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz", + "integrity": "sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc=", + "dev": true + }, + "eslint-scope": { + "version": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "doctrine": "2.0.0", - "has": "1.0.1", - "jsx-ast-utils": "1.4.1" + "esrecurse": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz" } }, "espree": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz", - "integrity": "sha1-KRC1zNSc6JPC//+qtP2LOjG4I3Q=", + "version": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz", + "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=", "dev": true, "requires": { - "acorn": "5.0.3", - "acorn-jsx": "3.0.1" - }, - "dependencies": { - "acorn": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.0.3.tgz", - "integrity": "sha1-xGDfCEkUY/AozLguqzcwvwEIez0=", - "dev": true - } + "acorn": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", + "acorn-jsx": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz" } }, "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "version": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=", "dev": true }, "esquery": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", + "version": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", "dev": true, "requires": { @@ -1030,19 +1159,12 @@ } }, "esrecurse": { - "version": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", - "integrity": "sha1-RxO2U2rffyrE8yfVWed1a/9kgiA=", + "version": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", "dev": true, "requires": { - "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" - }, - "dependencies": { - "estraverse": { - "version": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz", - "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI=", - "dev": true - } + "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" } }, "estraverse": { @@ -1055,64 +1177,82 @@ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, - "event-emitter": { - "version": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz", - "integrity": "sha1-jWPd+0z+H647MsomXExyAiIIC7U=", - "dev": true, - "requires": { - "d": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", - "es5-ext": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz" - } - }, "eventemitter2": { - "version": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-2.1.3.tgz", - "integrity": "sha1-vXIB+FxZVIOA4eQ7P2pyhtTac0k=" + "version": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-4.1.2.tgz", + "integrity": "sha1-DhqEd6+CGm7zmVsxG/dMI6UkfxU=" }, "execa": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.6.3.tgz", - "integrity": "sha1-V7aaWU8IF1nGnlNw8NF7nLEWWP4=", + "version": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", "dev": true, "requires": { - "cross-spawn": "5.1.0", + "cross-spawn": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "get-stream": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz", - "strip-eof": "1.0.0" + "npm-run-path": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "p-finally": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "strip-eof": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" }, "dependencies": { "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "version": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz", - "shebang-command": "1.2.0", - "which": "https://registry.npmjs.org/which/-/which-1.2.10.tgz" + "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "shebang-command": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz" } } } }, + "exenv": { + "version": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=" + }, + "exit": { + "version": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "version": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", "dev": true }, "extend": { - "version": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", - "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=" + "version": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "external-editor": { + "version": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz", + "integrity": "sha1-UsJJo5gbm6GHx8rPW+tQvx2Rprw=", + "dev": true, + "requires": { + "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "jschardet": "https://registry.npmjs.org/jschardet/-/jschardet-1.6.0.tgz", + "tmp": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" + } + }, + "extsprintf": { + "version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "eyes": { "version": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=" }, + "fast-deep-equal": { + "version": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + }, + "fast-json-stable-stringify": { + "version": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "version": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, @@ -1122,40 +1262,46 @@ "dev": true }, "fbjs": { - "version": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.9.tgz", - "integrity": "sha1-GAJH+9NH3MkARRe5BPhlQAoMjxQ=", + "version": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", "requires": { "core-js": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" + "isomorphic-fetch": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "promise": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "setimmediate": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "ua-parser-js": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz" + }, + "dependencies": { + "core-js": { + "version": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + } } }, + "fibers": { + "version": "https://registry.npmjs.org/fibers/-/fibers-2.0.0.tgz", + "integrity": "sha1-8m0Krx+ZmV++HLPzQO+sCL2p3Es=", + "dev": true + }, "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "version": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" + "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" } }, "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "version": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.2.2", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" + "flat-cache": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" } }, - "find-parent-dir": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz", - "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=", - "dev": true - }, "find-up": { "version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", @@ -1164,30 +1310,45 @@ "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" } }, + "flat": { + "version": "https://registry.npmjs.org/flat/-/flat-4.0.0.tgz", + "integrity": "sha1-Orx/O1iOZM533EL9Wao1gGYi/qg=", + "requires": { + "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + } + }, "flat-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", - "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "version": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.1", - "del": "2.2.2", - "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz", - "write": "0.2.1" + "circular-json": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "del": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "write": "https://registry.npmjs.org/write/-/write-0.2.1.tgz" } }, + "flatten": { + "version": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true + }, "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "version": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", "dev": true }, + "forever-agent": { + "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, "form-data": { - "version": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", - "integrity": "sha1-BaxrwiIntD5EYfSIFhVUaZ1Pi14=", + "version": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", "requires": { - "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz" + "asynckit": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz" } }, "fs.realpath": { @@ -1195,40 +1356,60 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fstream": { - "version": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz", - "integrity": "sha1-YE6Kkv4m/9n2+uMDmdSYThqyKCI=", + "version": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "requires": { - "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz" + "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz" } }, "function-bind": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz", - "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=", + "version": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", + "dev": true + }, + "functional-red-black-tree": { + "version": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, "gauge": { - "version": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz", - "integrity": "sha1-01MBrRjpaQK0dR3LvkD0IYuUKkY=", - "requires": { - "aproba": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", - "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz", + "version": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "console-control-strings": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "has-unicode": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "wide-align": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz" + "wide-align": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz" } }, "gaze": { - "version": "https://registry.npmjs.org/gaze/-/gaze-1.1.1.tgz", - "integrity": "sha1-q4HVV9G1FfV1K9XxEX1vo8Tp20E=", + "version": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", + "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", "requires": { - "globule": "https://registry.npmjs.org/globule/-/globule-1.0.0.tgz" + "globule": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz" } }, + "get-caller-file": { + "version": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + }, + "get-func-name": { + "version": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, + "get-own-enumerable-property-symbols": { + "version": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz", + "integrity": "sha1-XErYfyg0xLm06EVJ3B4GUPs4wks=", + "dev": true + }, "get-stdin": { "version": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" @@ -1237,182 +1418,224 @@ "version": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, + "getpass": { + "version": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + } + }, + "glob": { + "version": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "requires": { + "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + } + }, + "globals": { + "version": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", + "dev": true + }, "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "version": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { "array-union": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "arrify": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "glob": "7.1.2", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", - "dev": true, - "requires": { - "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "minimatch": "3.0.4", - "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "1.1.7" - } - } } }, "globule": { - "version": "https://registry.npmjs.org/globule/-/globule-1.0.0.tgz", - "integrity": "sha1-8irrqszgK+SSRT6XnDrptpg/HGw=", + "version": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", + "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", "requires": { - "glob": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", - "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.9.0.tgz", - "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz" - }, - "dependencies": { - "glob": { - "version": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", - "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=", - "requires": { - "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", - "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" - } - }, - "lodash": { - "version": "https://registry.npmjs.org/lodash/-/lodash-4.9.0.tgz", - "integrity": "sha1-TCDXQvA86F3HAODderm8q4Xm/BQ=" - } + "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + } + }, + "good-listener": { + "version": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "requires": { + "delegate": "https://registry.npmjs.org/delegate/-/delegate-3.1.3.tgz" } }, "got": { - "version": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "version": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha1-BUUP2ECU5rvqVvRRpDqcKJFmOFo=", "requires": { - "create-error-class": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "decompress-response": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", "duplexer3": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", "get-stream": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "is-redirect": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "is-plain-obj": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "is-retry-allowed": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "isurl": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", "lowercase-keys": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "safe-buffer": "5.0.1", + "p-cancelable": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "p-timeout": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.0.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", "timed-out": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "unzip-response": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "url-parse-lax": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz" + "url-parse-lax": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "url-to-options": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz" } }, "graceful-fs": { - "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha1-UUw4dysxvuLgi+3CGgrrOr9UwZ4=" + "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "har-schema": { + "version": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { - "version": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "version": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "commander": "2.11.0", - "is-my-json-valid": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", - "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + "ajv": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz", + "har-schema": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" } }, "has": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "version": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "dev": true, "requires": { - "function-bind": "1.1.0" + "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" } }, "has-ansi": { "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" } }, "has-flag": { - "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "version": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", "dev": true }, + "has-symbol-support-x": { + "version": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz", + "integrity": "sha1-ZuwuN34MfXzO2wejqE13UQ/xvEw=" + }, + "has-to-string-tag-x": { + "version": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha1-oEWrOD17SyASoAFIqwql8pAETU0=", + "requires": { + "has-symbol-support-x": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz" + } + }, + "has-unicode": { + "version": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "hawk": { + "version": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha1-r02RTrBl+bXOTZ0RwcshJu7MMDg=", + "requires": { + "boom": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "hoek": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "sntp": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz" + } + }, "hiredis": { "version": "https://registry.npmjs.org/hiredis/-/hiredis-0.5.0.tgz", "integrity": "sha1-2wOpi+zXAD0TwmAEOs7s+s31m4c=", "requires": { - "bindings": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", - "nan": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz" + "bindings": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", + "nan": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz" } }, "history": { "version": "https://registry.npmjs.org/history/-/history-3.3.0.tgz", "integrity": "sha1-/O3M6PEpdTcVRdc1RhAzV5ptrpw=", "requires": { - "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", - "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz", - "query-string": "https://registry.npmjs.org/query-string/-/query-string-4.3.2.tgz", + "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "query-string": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", "warning": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz" } }, + "hoek": { + "version": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha1-ctnQdU9/4lyi0BrY+PmpRJqJUm0=" + }, + "hoist-non-react-statics": { + "version": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", + "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" + }, "hosted-git-info": { - "version": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz", - "integrity": "sha1-C6gdkNouJas0ozLm7HeTbhWYEYs=" + "version": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=" + }, + "http-signature": { + "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "jsprim": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "sshpk": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz" + } + }, + "humanize-duration": { + "version": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.10.1.tgz", + "integrity": "sha1-ZbVQwKoJUVbst8NA20TuC99xr0s=", + "dev": true }, "husky": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/husky/-/husky-0.13.4.tgz", - "integrity": "sha1-SHhcUCjeNFKlHEjBLE+UshJKFAc=", + "version": "https://registry.npmjs.org/husky/-/husky-0.14.3.tgz", + "integrity": "sha1-xp7XTi0neXaaF7qDmbVM4LY8EsM=", "dev": true, "requires": { - "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "find-parent-dir": "0.3.0", - "is-ci": "1.0.10", - "normalize-path": "1.0.0" + "is-ci": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", + "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "strip-indent": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz" + }, + "dependencies": { + "strip-indent": { + "version": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + } } }, + "iconv-lite": { + "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=" + }, "icss-replace-symbols": { "version": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", "dev": true }, "ignore": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.3.tgz", - "integrity": "sha1-QyNS5XrM2HqzEQ6C0/6g5HgSFW0=", + "version": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha1-YSKJv7PCIOGGpYEYYY1b6MG6sCE=", "dev": true }, + "immutability-helper": { + "version": "https://registry.npmjs.org/immutability-helper/-/immutability-helper-2.4.0.tgz", + "integrity": "sha1-ANQh4pV8F/DweBR18F/9g35zRY0=", + "requires": { + "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz" + } + }, "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "version": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, @@ -1427,173 +1650,250 @@ "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" } }, + "indexes-of": { + "version": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, "inflight": { - "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", - "integrity": "sha1-2zIEzVqd4ubNiQuFxuL2a89PYgo=", + "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" + "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" } }, "inherits": { - "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "inquirer": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "version": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha1-ndLyrXZdyrH/BEO0kUQqILoifck=", "dev": true, "requires": { - "ansi-escapes": "1.4.0", - "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "cli-cursor": "1.0.2", - "cli-width": "2.1.0", - "figures": "1.7.0", - "lodash": "4.17.4", - "readline2": "1.0.1", - "run-async": "0.1.0", - "rx-lite": "3.1.2", - "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "ansi-escapes": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", + "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "cli-cursor": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "cli-width": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "external-editor": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz", + "figures": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "mute-stream": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "run-async": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "rx-lite": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "rx-lite-aggregates": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "string-width": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" }, "dependencies": { - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "ansi-regex": { + "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "dev": true, + "requires": { + "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz" + } + }, + "chalk": { + "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=", + "dev": true, + "requires": { + "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz" + } + }, + "is-fullwidth-code-point": { + "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true + }, + "string-width": { + "version": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + } + }, + "strip-ansi": { + "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" + } + }, + "supports-color": { + "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" + } } } }, - "interpret": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", - "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=", - "dev": true - }, "intl-format-cache": { "version": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.0.5.tgz", "integrity": "sha1-tITO/Lk1PzdPJd44mjzuoa8Y18k=" }, "intl-messageformat": { - "version": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-1.3.0.tgz", - "integrity": "sha1-99kmre16OrGbLcYB79VOmaS9Tq4=", + "version": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-2.2.0.tgz", + "integrity": "sha1-NFvNRt5jC3aDMwwuUhd/9eq0hPw=", "requires": { - "intl-messageformat-parser": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.2.0.tgz" + "intl-messageformat-parser": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz" } }, "intl-messageformat-parser": { - "version": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.2.0.tgz", - "integrity": "sha1-WQa3+VOrdHDg3IVJCXtki5kYkv8=" + "version": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz", + "integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU=" }, "intl-relativeformat": { - "version": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-1.3.0.tgz", - "integrity": "sha1-iT3HB2/M04DPCRojAMOA+les5Fs=", + "version": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-2.1.0.tgz", + "integrity": "sha1-AQ8RBYAiUfQKxH0OPhogE0iiVd8=", "requires": { - "intl-messageformat": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-1.3.0.tgz" + "intl-messageformat": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-2.2.0.tgz" } }, "invariant": { - "version": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", - "integrity": "sha1-sJcBBUdmjH4zcCjr6Bbr42yKjVQ=", + "version": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "requires": { + "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz" + } + }, + "invert-kv": { + "version": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "is-arrayish": { + "version": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-buffer": { + "version": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + }, + "is-builtin-module": { + "version": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { - "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz" + "builtin-modules": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" } }, "is-callable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "version": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", "dev": true }, "is-ci": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", + "version": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", "dev": true, "requires": { - "ci-info": "1.0.0" + "ci-info": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz" } }, "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "version": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", "dev": true }, + "is-extglob": { + "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, "is-finite": { - "version": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz", - "integrity": "sha1-ZDhgPq6+J5OUj/SkJi7I2z1iWXs=", + "version": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "requires": { - "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" + "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" } }, "is-fullwidth-code-point": { "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" + "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" } }, - "is-my-json-valid": { - "version": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", - "integrity": "sha1-1Vd4qC/rawlj/0vhEdXRaE6JBwc=", + "is-glob": { + "version": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, "requires": { - "jsonpointer": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" + "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" } }, + "is-obj": { + "version": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-object": { + "version": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "version": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", "dev": true }, "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "version": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", "dev": true, "requires": { - "is-path-inside": "1.0.0" + "is-path-inside": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz" } }, "is-path-inside": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", + "version": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" } }, + "is-plain-obj": { + "version": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "version": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, - "is-redirect": { - "version": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" - }, "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "version": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.1" + "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz" } }, + "is-regexp": { + "version": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, "is-resolvable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", + "version": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", "dev": true, "requires": { - "tryit": "1.0.3" + "tryit": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz" } }, "is-retry-allowed": { @@ -1605,11 +1905,14 @@ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "is-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "version": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", "dev": true }, + "is-typedarray": { + "version": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, "is-utf8": { "version": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" @@ -1619,166 +1922,424 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { - "version": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", - "integrity": "sha1-NvPiLmB1CSD15yQaR2qMakInWtA=" + "version": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isomorphic-fetch": { + "version": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "whatwg-fetch": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz" + } }, "isstream": { "version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "isurl": { + "version": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha1-sn9PSfPNqj6kSgpbfzRi5u3DnWc=", + "requires": { + "has-to-string-tag-x": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "is-object": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz" + } + }, + "jasmine": { + "version": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", + "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", + "dev": true, + "requires": { + "exit": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "jasmine-core": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz" + } + }, + "jasmine-core": { + "version": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", + "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", + "dev": true + }, + "jest-get-type": { + "version": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-21.2.0.tgz", + "integrity": "sha1-9jdqudtLYNgeOfMHScbEZvQNSiM=", + "dev": true + }, + "jest-validate": { + "version": "https://registry.npmjs.org/jest-validate/-/jest-validate-21.2.1.tgz", + "integrity": "sha1-zAy8plPNVJN7pPKhEXlndFMN08c=", + "dev": true, + "requires": { + "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "jest-get-type": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-21.2.0.tgz", + "leven": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "pretty-format": "https://registry.npmjs.org/pretty-format/-/pretty-format-21.2.1.tgz" + }, + "dependencies": { + "ansi-styles": { + "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "dev": true, + "requires": { + "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz" + } + }, + "chalk": { + "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=", + "dev": true, + "requires": { + "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz" + } + }, + "supports-color": { + "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" + } + } + } + }, + "js-base64": { + "version": "https://registry.npmjs.org/js-base64/-/js-base64-2.3.2.tgz", + "integrity": "sha1-p5qSNmY3K1gPjif1GEXG9+j7+68=" + }, "js-tokens": { - "version": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.3.tgz", - "integrity": "sha1-FOVutoyPGpLEPVn1AU7CncIPKuE=" + "version": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=", "dev": true, "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" + "argparse": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "esprima": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz" } }, + "jsbn": { + "version": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "jschardet": { + "version": "https://registry.npmjs.org/jschardet/-/jschardet-1.6.0.tgz", + "integrity": "sha1-x9GnHtz/KDnbL57DD8XV69PBpng=", + "dev": true + }, "jsesc": { "version": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true }, + "json-schema": { + "version": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "requires": { - "jsonify": "0.0.0" + "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" } }, + "json-stringify-safe": { + "version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true }, - "jsonpointer": { - "version": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz", - "integrity": "sha1-OvHdIP6FRjkQ1GmjheMwF9KgMNk=" + "jsprim": { + "version": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "json-schema": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "verror": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" + } }, "jsx-ast-utils": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", + "version": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", "dev": true }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "junit-report-builder": { + "version": "https://registry.npmjs.org/junit-report-builder/-/junit-report-builder-1.2.0.tgz", + "integrity": "sha1-aJfM1e49gFGRpL5vEse+hQ5QwNY=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "date-format": "https://registry.npmjs.org/date-format/-/date-format-0.0.2.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "xmlbuilder": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.5.tgz" + }, + "dependencies": { + "lodash": { + "version": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "xmlbuilder": { + "version": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.5.tgz", + "integrity": "sha1-b/etYPty0idk8AehZLd/K/FABSY=", + "dev": true, + "requires": { + "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" + } + } } }, - "lint-staged": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-3.6.0.tgz", - "integrity": "sha1-zajwvvFueSjMFLc1GGrhLNZiWZw=", + "lazystream": { + "version": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", "dev": true, "requires": { - "app-root-path": "2.0.1", - "cosmiconfig": "1.1.0", - "execa": "0.6.3", - "listr": "0.12.0", - "lodash.chunk": "4.2.0", - "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", - "npm-which": "3.0.1", - "p-map": "1.2.0", - "staged-git-files": "0.0.4" + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" } }, - "listr": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.12.0.tgz", - "integrity": "sha1-a84sD1YD+klYDqF81qAMwOX6RRo=", - "dev": true, + "lcid": { + "version": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "cli-truncate": "0.2.1", - "figures": "1.7.0", - "indent-string": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "is-promise": "2.1.0", - "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "listr-silent-renderer": "1.1.1", - "listr-update-renderer": "0.2.0", - "listr-verbose-renderer": "0.4.0", - "log-symbols": "1.0.2", - "log-update": "1.0.2", - "ora": "0.2.3", - "p-map": "1.2.0", - "rxjs": "5.5.0", - "stream-to-observable": "0.1.0", - "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + "invert-kv": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" } }, - "listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", + "leven": { + "version": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", "dev": true }, - "listr-update-renderer": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz", - "integrity": "sha1-yoDhd5tOcCZoB+ju0a1qvjmFUPk=", - "dev": true, - "requires": { - "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "cli-truncate": "0.2.1", - "elegant-spinner": "1.0.1", - "figures": "1.7.0", - "indent-string": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "log-symbols": "1.0.2", - "log-update": "1.0.2", - "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - } - }, - "listr-verbose-renderer": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.0.tgz", - "integrity": "sha1-RNwBuww0oDxXIVTU0Izemx3FYg8=", + "levn": { + "version": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "cli-cursor": "1.0.2", - "date-fns": "1.29.0", - "figures": "1.7.0" + "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" } }, - "load-json-file": { - "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "line-height": { + "version": "https://registry.npmjs.org/line-height/-/line-height-0.3.1.tgz", + "integrity": "sha1-SxIF7d4YKHKl76PI9iCzGHqcVMk=", "requires": { - "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz", - "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" + "computed-style": "https://registry.npmjs.org/computed-style/-/computed-style-0.1.4.tgz" } }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "lint-staged": { + "version": "https://registry.npmjs.org/lint-staged/-/lint-staged-4.3.0.tgz", + "integrity": "sha1-7Qd5rZpCwNxiuzJE5SKHC0ESWHk=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "app-root-path": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.0.1.tgz", + "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "commander": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "cosmiconfig": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-1.1.0.tgz", + "execa": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "jest-validate": "https://registry.npmjs.org/jest-validate/-/jest-validate-21.2.1.tgz", + "listr": "https://registry.npmjs.org/listr/-/listr-0.12.0.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "log-symbols": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.1.0.tgz", + "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "npm-which": "https://registry.npmjs.org/npm-which/-/npm-which-3.0.1.tgz", + "p-map": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "staged-git-files": "https://registry.npmjs.org/staged-git-files/-/staged-git-files-0.0.4.tgz", + "stringify-object": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.2.1.tgz" }, "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "ansi-styles": { + "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "dev": true, + "requires": { + "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz" + } + }, + "chalk": { + "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=", + "dev": true, + "requires": { + "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz" + } + }, + "supports-color": { + "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" + } + } + } + }, + "listr": { + "version": "https://registry.npmjs.org/listr/-/listr-0.12.0.tgz", + "integrity": "sha1-a84sD1YD+klYDqF81qAMwOX6RRo=", + "dev": true, + "requires": { + "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "cli-truncate": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "figures": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "indent-string": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "is-promise": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "listr-silent-renderer": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", + "listr-update-renderer": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz", + "listr-verbose-renderer": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", + "log-symbols": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "log-update": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", + "ora": "https://registry.npmjs.org/ora/-/ora-0.2.3.tgz", + "p-map": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "rxjs": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz", + "stream-to-observable": "https://registry.npmjs.org/stream-to-observable/-/stream-to-observable-0.1.0.tgz", + "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + }, + "dependencies": { + "figures": { + "version": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + } + }, + "log-symbols": { + "version": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + } + } + } + }, + "listr-silent-renderer": { + "version": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", + "dev": true + }, + "listr-update-renderer": { + "version": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz", + "integrity": "sha1-yoDhd5tOcCZoB+ju0a1qvjmFUPk=", + "dev": true, + "requires": { + "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "cli-truncate": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "elegant-spinner": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "figures": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "indent-string": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "log-symbols": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "log-update": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", + "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + }, + "dependencies": { + "figures": { + "version": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + } + }, + "indent-string": { + "version": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "log-symbols": { + "version": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + } + } + } + }, + "listr-verbose-renderer": { + "version": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", + "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", + "dev": true, + "requires": { + "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "cli-cursor": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "date-fns": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", + "figures": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" + }, + "dependencies": { + "cli-cursor": { + "version": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" + } + }, + "figures": { + "version": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + } + }, + "onetime": { + "version": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "onetime": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" + } + } + } + }, + "load-json-file": { + "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" + } + }, + "locate-path": { + "version": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + }, + "dependencies": { + "path-exists": { + "version": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true } @@ -1788,46 +2349,102 @@ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" }, - "lodash.chunk": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz", - "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw=", - "dev": true + "lodash.assign": { + "version": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" }, "lodash.clonedeep": { "version": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, "lodash.cond": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", + "version": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", "dev": true }, + "lodash.mergewith": { + "version": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", + "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=" + }, "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "version": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.1.0.tgz", + "integrity": "sha1-81+mDieIMrU43E3dy7R4pF0+O+Y=", "dev": true, "requires": { - "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz" + }, + "dependencies": { + "ansi-styles": { + "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "dev": true, + "requires": { + "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz" + } + }, + "chalk": { + "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=", + "dev": true, + "requires": { + "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz" + } + }, + "supports-color": { + "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" + } + } } }, "log-update": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", + "version": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", "dev": true, "requires": { - "ansi-escapes": "1.4.0", - "cli-cursor": "1.0.2" + "ansi-escapes": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "cli-cursor": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz" + }, + "dependencies": { + "ansi-escapes": { + "version": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "cli-cursor": { + "version": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" + } + }, + "onetime": { + "version": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "onetime": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" + } + } } }, "loose-envify": { - "version": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz", - "integrity": "sha1-aaZarT3lQs9O4PT+dOjjPHCcyw8=", + "version": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "requires": { - "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.3.tgz" + "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz" } }, "loud-rejection": { @@ -1835,7 +2452,7 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "requires": { "currently-unhandled": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz" + "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz" } }, "lowercase-keys": { @@ -1843,10 +2460,11 @@ "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" }, "lru-cache": { - "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz", - "integrity": "sha1-E0OVXtry432bnn7nJB4nxLn7cr4=", + "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", "requires": { - "yallist": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz" + "pseudomap": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "yallist": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" } }, "map-obj": { @@ -1866,35 +2484,35 @@ "loud-rejection": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "redent": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", "trim-newlines": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" } }, "meteor-node-stubs": { - "version": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.2.11.tgz", - "integrity": "sha1-cV5Owc6IgkiylgThbQkiVrDLfjQ=", + "version": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.2.tgz", + "integrity": "sha1-LJIkqRGx5mwUHGoXsaPcktw4d5U=", "requires": { "assert": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", "browserify-zlib": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", "buffer": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "console-browserify": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", "constants-browserify": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "crypto-browserify": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz", + "crypto-browserify": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", "domain-browser": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", "events": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", "http-browserify": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz", "https-browserify": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", "os-browserify": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", "path-browserify": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "process": "https://registry.npmjs.org/process/-/process-0.11.9.tgz", + "process": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "querystring-es3": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#2e9112d7d31a2af6e0682db0e18679b1e5fd4694", + "readable-stream": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502", "stream-browserify": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", + "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "timers-browserify": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", "tty-browserify": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "url": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", @@ -1903,10 +2521,10 @@ }, "dependencies": { "asn1.js": { - "version": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.0.tgz", - "integrity": "sha1-9xoSQ/PnnUbXsH1/v0gk7nOvBUo=", + "version": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", + "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", "requires": { - "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz" } @@ -1919,58 +2537,59 @@ } }, "balanced-match": { - "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "Base64": { "version": "https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz", "integrity": "sha1-ujpCMHCOGGcFBl5mur3Uw1z2ACg=" }, "base64-js": { - "version": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", - "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=" + "version": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" }, "bn.js": { - "version": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + "version": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, "brace-expansion": { - "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", + "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "requires": { - "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" } }, "brorand": { - "version": "https://registry.npmjs.org/brorand/-/brorand-1.0.6.tgz", - "integrity": "sha1-QChwa5FfkfezSaLgvzw3YDnSFuU=" + "version": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, "browserify-aes": { - "version": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", - "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", + "version": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.0.tgz", + "integrity": "sha512-W2bIMLYoZ9oow7TyePpMJk9l9LY7O3R61a/68bVCDOtnJynnwe3ZeW2IzzSkrQnPKNdJrxVDn3ALZNisSBwb7g==", "requires": { "buffer-xor": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz", - "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz", - "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" } }, "browserify-cipher": { "version": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "requires": { - "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", + "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.0.tgz", "browserify-des": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz" + "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" } }, "browserify-des": { "version": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", "requires": { - "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz", + "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "des.js": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } @@ -1979,21 +2598,21 @@ "version": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "requires": { - "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz" + "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz" } }, "browserify-sign": { - "version": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.0.tgz", - "integrity": "sha1-EHc5EMPCBtVCCkaq2GlPgguFlo8=", + "version": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "requires": { - "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", "browserify-rsa": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz", - "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz", - "elliptic": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.2.tgz", + "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "elliptic": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "parse-asn1": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz" + "parse-asn1": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz" } }, "browserify-zlib": { @@ -2007,7 +2626,7 @@ "version": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", + "base64-js": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", "ieee754": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" } @@ -2017,10 +2636,11 @@ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "cipher-base": { - "version": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz", - "integrity": "sha1-7qvxlEGc6QDaMBjCB9IS8qbfCgc=", + "version": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "requires": { - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" } }, "concat-map": { @@ -2042,42 +2662,46 @@ "version": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", "requires": { - "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "elliptic": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.2.tgz" + "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "elliptic": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz" } }, "create-hash": { - "version": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz", - "integrity": "sha1-USEAYte7dHn2xlu0GpIgix1hq60=", + "version": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", "requires": { - "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz", + "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz", - "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz" + "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz" } }, "create-hmac": { - "version": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz", - "integrity": "sha1-0/tLolPriz9W456i+8uK90e9MXA=", + "version": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", "requires": { - "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz" } }, "crypto-browserify": { - "version": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz", - "integrity": "sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI=", + "version": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", + "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", "requires": { "browserify-cipher": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "browserify-sign": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.0.tgz", + "browserify-sign": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "create-ecdh": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz", - "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz", + "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", "diffie-hellman": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "pbkdf2": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.9.tgz", + "pbkdf2": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", "public-encrypt": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz" + "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz" } }, "date-now": { @@ -2096,9 +2720,9 @@ "version": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", "requires": { - "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "miller-rabin": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz", - "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz" + "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "miller-rabin": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz" } }, "domain-browser": { @@ -2106,13 +2730,16 @@ "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" }, "elliptic": { - "version": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.2.tgz", - "integrity": "sha1-5MgeCCnPCmWrcOmYuCMnI7XBvEg=", + "version": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "requires": { - "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "brorand": "https://registry.npmjs.org/brorand/-/brorand-1.0.6.tgz", - "hash.js": "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "brorand": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "hash.js": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "hmac-drbg": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", + "minimalistic-crypto-utils": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" } }, "events": { @@ -2120,10 +2747,11 @@ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" }, "evp_bytestokey": { - "version": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", - "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=", + "version": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "requires": { - "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz" + "md5.js": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" } }, "fs.realpath": { @@ -2142,13 +2770,36 @@ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" } }, - "hash.js": { - "version": "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz", - "integrity": "sha1-EzL/ABVsCg/92CNgE9B7d6BFFXM=", + "hash-base": { + "version": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", "requires": { "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } }, + "hash.js": { + "version": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "requires": { + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz" + }, + "dependencies": { + "inherits": { + "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "hmac-drbg": { + "version": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", + "minimalistic-crypto-utils": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + } + }, "http-browserify": { "version": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz", "integrity": "sha1-M3la3nLfiKz7/TZ3PO/tp2RzWyA=", @@ -2185,23 +2836,45 @@ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, + "md5.js": { + "version": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "requires": { + "hash-base": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + }, + "dependencies": { + "hash-base": { + "version": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" + } + } + } + }, "miller-rabin": { - "version": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz", - "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=", + "version": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "requires": { - "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "brorand": "https://registry.npmjs.org/brorand/-/brorand-1.0.6.tgz" + "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "brorand": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" } }, "minimalistic-assert": { "version": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" }, + "minimalistic-crypto-utils": { + "version": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, "minimatch": { "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "requires": { - "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz" + "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz" } }, "once": { @@ -2220,14 +2893,14 @@ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" }, "parse-asn1": { - "version": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz", - "integrity": "sha1-NQYPbVAV03Yox3D04JGgtaJ4vCM=", + "version": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", + "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "requires": { - "asn1.js": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.0.tgz", - "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", - "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz", - "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz", - "pbkdf2": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.9.tgz" + "asn1.js": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", + "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.0.tgz", + "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "pbkdf2": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz" } }, "path-browserify": { @@ -2239,29 +2912,29 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "pbkdf2": { - "version": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.9.tgz", - "integrity": "sha1-8sSyWmAAWLPDdzwIbDfbvuH/5pM=", + "version": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", + "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", "requires": { - "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz" + "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz" } }, "process": { - "version": "https://registry.npmjs.org/process/-/process-0.11.9.tgz", - "integrity": "sha1-e9WtIapiU+fahoImTx4R0RwDGME=" - }, - "process-nextick-args": { - "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "version": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "public-encrypt": { "version": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", "requires": { - "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", "browserify-rsa": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz", - "parse-asn1": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz", - "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz" + "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "parse-asn1": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", + "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz" } }, "punycode": { @@ -2277,40 +2950,55 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, "randombytes": { - "version": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz", - "integrity": "sha1-Z0yZdgkBw8QRJ3GjHlIdw0nMCew=" + "version": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", + "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "requires": { + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" + } }, "readable-stream": { - "version": "git+https://github.com/meteor/readable-stream.git#2e9112d7d31a2af6e0682db0e18679b1e5fd4694", + "version": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502", "requires": { - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "inherits": "2.0.3", "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } } }, "rimraf": { - "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", "requires": { "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz" } }, "ripemd160": { - "version": "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz", - "integrity": "sha1-k6S71JQrxXS2mo+lfHHeEOzKfW4=" + "version": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "requires": { + "hash-base": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } }, "safe-buffer": { - "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=" + "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "sha.js": { - "version": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz", - "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=", + "version": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", + "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", "requires": { - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" } }, "stream-browserify": { @@ -2318,21 +3006,21 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "requires": { "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "readable-stream": "git+https://github.com/meteor/readable-stream.git#2e9112d7d31a2af6e0682db0e18679b1e5fd4694" + "readable-stream": "git+https://github.com/meteor/readable-stream.git#d64a64aa6061b9b6855feff4d09e58fb3b2e4502" } }, "string_decoder": { - "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", - "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", + "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz" + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" } }, "timers-browserify": { "version": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", "requires": { - "process": "https://registry.npmjs.org/process/-/process-0.11.9.tgz" + "process": "https://registry.npmjs.org/process/-/process-0.11.10.tgz" } }, "tty-browserify": { @@ -2360,10 +3048,6 @@ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } }, - "util-deprecate": { - "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, "vm-browserify": { "version": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", @@ -2378,21 +3062,30 @@ } }, "mime-db": { - "version": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", - "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk=" + "version": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" }, "mime-types": { - "version": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", - "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", + "version": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "requires": { - "mime-db": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz" + "mime-db": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz" } }, + "mimic-fn": { + "version": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "dev": true + }, + "mimic-response": { + "version": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz", + "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=" + }, "minimatch": { - "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "requires": { - "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz" + "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz" } }, "minimist": { @@ -2413,96 +3106,103 @@ } }, "ms": { - "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" + "version": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mute-stream": { + "version": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true }, "nan": { - "version": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz", - "integrity": "sha1-+zxZ1F/k7/4hXwuJD4rfbrMtIjI=" + "version": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", + "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=" + }, + "natural-compare": { + "version": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true }, "next-tick": { "version": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, + "node-fetch": { + "version": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8=", + "requires": { + "encoding": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + } + }, "node-gyp": { - "version": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.4.0.tgz", - "integrity": "sha1-3aVYOTs+y74kyea4cDxxGUxj+jY=", + "version": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", + "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", "requires": { - "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz", - "glob": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", - "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz", - "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "npmlog": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz", - "osenv": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz", - "path-array": "https://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz", - "request": "https://registry.npmjs.org/request/-/request-2.74.0.tgz", - "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", - "which": "https://registry.npmjs.org/which/-/which-1.2.10.tgz" + "nopt": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "npmlog": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "osenv": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", + "request": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "tar": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz" }, "dependencies": { - "glob": { - "version": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", - "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=", - "requires": { - "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", - "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" - } + "semver": { + "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" } } }, "node-sass": { - "version": "https://registry.npmjs.org/node-sass/-/node-sass-3.8.0.tgz", - "integrity": "sha1-7A+JrmYl4dmQ3H/3E7J16hXf7gU=", + "version": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz", + "integrity": "sha1-0JydEXlkEjnRuX/8YjH9zsU+FWg=", "requires": { "async-foreach": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "cross-spawn": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "gaze": "https://registry.npmjs.org/gaze/-/gaze-1.1.1.tgz", + "gaze": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "glob": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", + "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "in-publish": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "lodash.assign": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", "lodash.clonedeep": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "lodash.mergewith": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "nan": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz", - "node-gyp": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.4.0.tgz", - "request": "https://registry.npmjs.org/request/-/request-2.74.0.tgz", - "sass-graph": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.2.tgz" - }, - "dependencies": { - "glob": { - "version": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", - "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=", - "requires": { - "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", - "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" - } - } + "nan": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", + "node-gyp": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", + "npmlog": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "request": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "sass-graph": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "stdout-stream": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz" } }, - "node-uuid": { - "version": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", - "integrity": "sha1-baWhdmjEs91ZYjvaEc9/pMH2Cm8=" + "nopt": { + "version": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "requires": { + "abbrev": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + } }, "normalize-package-data": { - "version": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", - "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=", + "version": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", "requires": { - "hosted-git-info": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz" + "hosted-git-info": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "is-builtin-module": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "semver": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "validate-npm-package-license": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" } }, "normalize-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "version": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", "dev": true }, @@ -2511,41 +3211,45 @@ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true }, + "npm-install-package": { + "version": "https://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz", + "integrity": "sha1-1+/jz816sAYUuJbqUxGdyaslkSU=", + "dev": true + }, "npm-path": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/npm-path/-/npm-path-2.0.3.tgz", + "version": "https://registry.npmjs.org/npm-path/-/npm-path-2.0.3.tgz", "integrity": "sha1-Fc/04ciaONp39W9gVbJPl137K74=", "dev": true, "requires": { - "which": "https://registry.npmjs.org/which/-/which-1.2.10.tgz" + "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz" } }, "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "version": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" } }, "npm-which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-which/-/npm-which-3.0.1.tgz", + "version": "https://registry.npmjs.org/npm-which/-/npm-which-3.0.1.tgz", "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=", "dev": true, "requires": { - "commander": "2.11.0", - "npm-path": "2.0.3", - "which": "https://registry.npmjs.org/which/-/which-1.2.10.tgz" + "commander": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "npm-path": "https://registry.npmjs.org/npm-path/-/npm-path-2.0.3.tgz", + "which": "https://registry.npmjs.org/which/-/which-1.3.0.tgz" } }, "npmlog": { - "version": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz", - "integrity": "sha1-LUb6h0M3r5SYovErtD2NC+SjaHM=", + "version": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", "requires": { - "are-we-there-yet": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz", - "gauge": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz" + "are-we-there-yet": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "console-control-strings": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "gauge": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "set-blocking": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" } }, "num2fraction": { @@ -2554,118 +3258,177 @@ "dev": true }, "number-is-nan": { - "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz", - "integrity": "sha1-wCD1KcUoKt/dIz2R1LGBw9aG3Es=" + "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "oauth-sign": { + "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" }, "object-assign": { - "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", - "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=" + "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-keys": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "version": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", "dev": true }, + "object.assign": { + "version": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz", + "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=", + "dev": true, + "requires": { + "define-properties": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz" + } + }, "once": { - "version": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=" + "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } }, "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true + "version": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz" + } }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "optimist": { + "version": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" }, "dependencies": { + "minimist": { + "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true } } }, + "optionator": { + "version": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "fast-levenshtein": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" + } + }, "ora": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/ora/-/ora-0.2.3.tgz", + "version": "https://registry.npmjs.org/ora/-/ora-0.2.3.tgz", "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", "dev": true, "requires": { "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "cli-cursor": "1.0.2", - "cli-spinners": "0.1.2", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" + "cli-cursor": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "cli-spinners": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + }, + "dependencies": { + "cli-cursor": { + "version": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" + } + }, + "onetime": { + "version": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "restore-cursor": { + "version": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "onetime": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" + } + } } }, "os-homedir": { - "version": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz", - "integrity": "sha1-DWK99EuRb9O73PLKsZGUj7CU8Ac=" + "version": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" + } }, "os-tmpdir": { - "version": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz", - "integrity": "sha1-6bQjoe2vR5iCVi6S7XHXdDoHG24=" + "version": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { - "version": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz", - "integrity": "sha1-g88FxtZFj8TVrGNi6jJdkvJ1Qhc=", + "version": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", + "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", "requires": { - "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz", - "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz" + "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" } }, + "p-cancelable": { + "version": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha1-ueEjgAvOu3rBOkeb4ZW1B7mNMPo=" + }, "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true + "version": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "version": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", "dev": true }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "version": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.1.0" + "p-limit": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz" } }, "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "version": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=", "dev": true }, - "parse-json": { - "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "p-timeout": { + "version": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.0.tgz", + "integrity": "sha1-mCD5lDTFgXhotPNICe5SkWYNW2w=", "requires": { - "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz" + "p-finally": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" } }, - "path-array": { - "version": "https://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz", - "integrity": "sha1-fi8PNfB6IBUSK4aLfqwOssT+wnE=", + "parse-json": { + "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { - "array-index": "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz" + "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz" } }, "path-exists": { @@ -2676,30 +3439,42 @@ } }, "path-is-absolute": { - "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", - "integrity": "sha1-Jj2tpmqz8vsQv3+dJN2PPlcO+RI=" + "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "version": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "version": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, + "path-parse": { + "version": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, "path-type": { "version": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "requires": { - "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz", + "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" } }, + "pathval": { + "version": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true + }, + "performance-now": { + "version": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, "pify": { "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" @@ -2716,8 +3491,7 @@ } }, "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "version": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { @@ -2725,29 +3499,51 @@ } }, "pluralize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", - "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "version": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=", "dev": true }, "postcss": { - "version": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", - "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=", + "version": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "integrity": "sha1-ueyrTuAMids+yTEUW9lZC78/El8=", "dev": true, "requires": { - "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz" + "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz" }, "dependencies": { - "supports-color": { - "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "ansi-styles": { + "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", "dev": true, "requires": { - "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" + "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz" } - } + }, + "chalk": { + "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=", + "dev": true, + "requires": { + "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz" + } + }, + "source-map": { + "version": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "supports-color": { + "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" + } + } } }, "postcss-modules-extract-imports": { @@ -2755,7 +3551,7 @@ "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", "dev": true, "requires": { - "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz" + "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz" } }, "postcss-modules-local-by-default": { @@ -2764,7 +3560,7 @@ "dev": true, "requires": { "css-selector-tokenizer": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", - "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz" + "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz" } }, "postcss-modules-scope": { @@ -2773,7 +3569,7 @@ "dev": true, "requires": { "css-selector-tokenizer": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", - "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz" + "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz" } }, "postcss-modules-values": { @@ -2782,15 +3578,26 @@ "dev": true, "requires": { "icss-replace-symbols": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz" + "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz" } }, "postcss-nested": { - "version": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-2.0.2.tgz", - "integrity": "sha1-84+tVH9cN0cWCuw7s0dFgZJSl0o=", + "version": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-2.1.2.tgz", + "integrity": "sha1-BAVygfljH+9oSFf7ARm64E7eA8Y=", "dev": true, "requires": { - "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz" + "postcss": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", + "postcss-selector-parser": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz" + } + }, + "postcss-selector-parser": { + "version": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "indexes-of": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "uniq": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz" } }, "postcss-value-parser": { @@ -2799,8 +3606,7 @@ "dev": true }, "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "version": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, @@ -2808,169 +3614,214 @@ "version": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" }, + "pretty-format": { + "version": "https://registry.npmjs.org/pretty-format/-/pretty-format-21.2.1.tgz", + "integrity": "sha1-rlQH888hBmzQEaobpfzntqLt2zY=", + "dev": true, + "requires": { + "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz" + }, + "dependencies": { + "ansi-regex": { + "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "dev": true, + "requires": { + "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz" + } + } + } + }, "probe-image-size": { - "version": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-3.0.0.tgz", - "integrity": "sha1-sZ7LpfTPRvga7+TDNWZmVdxTvwA=", + "version": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-3.1.0.tgz", + "integrity": "sha1-50e+maDQqOUFiqcihUwkCSuS3WY=", "requires": { "any-promise": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "deepmerge": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.3.2.tgz", - "got": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "deepmerge": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "got": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "next-tick": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "stream-parser": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz" - }, - "dependencies": { - "inherits": { - "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } } }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" }, "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "version": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", "dev": true }, + "promise": { + "version": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "requires": { + "asap": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + } + }, "prop-types": { - "version": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", - "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=", + "version": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", "requires": { - "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.9.tgz", - "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz" - }, - "dependencies": { - "js-tokens": { - "version": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", - "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=" - }, - "loose-envify": { - "version": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "requires": { - "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz" - } - } + "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" } }, + "pseudomap": { + "version": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "punycode": { + "version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "q": { + "version": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, "qs": { - "version": "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz", - "integrity": "sha1-zgPF/wk1vB2daanxTL0Y5WjWdiU=" + "version": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=" }, "query-string": { - "version": "https://registry.npmjs.org/query-string/-/query-string-4.3.2.tgz", - "integrity": "sha1-7A/XZfWKUAMaOWjCQxOG+JR6XN0=", + "version": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", "requires": { - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "strict-uri-encode": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" } }, + "querystring": { + "version": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, "react": { - "version": "https://registry.npmjs.org/react/-/react-15.5.4.tgz", - "integrity": "sha1-+oPrAVBqsjfNwcjDsc6o3gEr8Ec=", + "version": "https://registry.npmjs.org/react/-/react-16.0.0.tgz", + "integrity": "sha1-zn348ZQbA28Cssyp29DLHw6FXi0=", "requires": { - "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.9.tgz", - "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", - "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz" + "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz" } }, "react-autosize-textarea": { - "version": "https://registry.npmjs.org/react-autosize-textarea/-/react-autosize-textarea-0.4.3.tgz", - "integrity": "sha1-caoCmhJ4NS3IBYQf6ogCI8uZc3o=", + "version": "https://registry.npmjs.org/react-autosize-textarea/-/react-autosize-textarea-0.4.9.tgz", + "integrity": "sha1-jVXIX0xmWm1jWehK8oYQnFBKsps=", "requires": { - "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz" + "autosize": "https://registry.npmjs.org/autosize/-/autosize-3.0.21.tgz", + "line-height": "https://registry.npmjs.org/line-height/-/line-height-0.3.1.tgz", + "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz" } }, "react-color": { - "version": "https://registry.npmjs.org/react-color/-/react-color-2.12.0.tgz", - "integrity": "sha1-VL+T5Ru43Cx2KCrBJ/hbNLhs1zQ=", + "version": "https://registry.npmjs.org/react-color/-/react-color-2.13.8.tgz", + "integrity": "sha1-vMWPeaciub/DfEAuaM0Y8mlwruQ=", "requires": { "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", "material-colors": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.5.tgz", - "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", - "reactcss": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.2.tgz", + "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "reactcss": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", "tinycolor2": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz" } }, "react-dom": { - "version": "https://registry.npmjs.org/react-dom/-/react-dom-15.5.4.tgz", - "integrity": "sha1-ugwoeG/VLtfk8hNf4CiNRirvk9o=", + "version": "https://registry.npmjs.org/react-dom/-/react-dom-16.0.0.tgz", + "integrity": "sha1-nMMHnD3NcNTG4BuEqrKn40wwP1g=", + "requires": { + "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz" + } + }, + "react-dropzone": { + "version": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-4.2.1.tgz", + "integrity": "sha1-aV6AvQsGXxGB5p8tD20dXMcmZMk=", "requires": { - "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.9.tgz", - "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz", - "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", - "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz" + "attr-accept": "https://registry.npmjs.org/attr-accept/-/attr-accept-1.1.0.tgz", + "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz" } }, "react-intl": { - "version": "https://registry.npmjs.org/react-intl/-/react-intl-2.3.0.tgz", - "integrity": "sha1-4d9q9WZ/3wHL5KqyDhNyUeKuUUI=", + "version": "https://registry.npmjs.org/react-intl/-/react-intl-2.4.0.tgz", + "integrity": "sha1-ZsFNyd+ac7L7v71gIXJugKYT6xU=", "requires": { "intl-format-cache": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.0.5.tgz", - "intl-messageformat": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-1.3.0.tgz", - "intl-relativeformat": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-1.3.0.tgz", - "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz" + "intl-messageformat": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-2.2.0.tgz", + "intl-relativeformat": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-2.1.0.tgz", + "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz" } }, "react-modal": { - "version": "https://registry.npmjs.org/react-modal/-/react-modal-1.7.7.tgz", - "integrity": "sha1-cCBfUcWHCMSHr/aBuj/teUbjkdk=", + "version": "https://registry.npmjs.org/react-modal/-/react-modal-3.0.4.tgz", + "integrity": "sha1-YfPJpwGyfSAV/lrAxBnjyXfkCSo=", "requires": { - "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz" + "exenv": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz" } }, "react-router": { - "version": "https://registry.npmjs.org/react-router/-/react-router-3.0.2.tgz", - "integrity": "sha1-WhkVZniBDgHYGQH5wP72MoS4pRQ=", + "version": "https://registry.npmjs.org/react-router/-/react-router-3.0.5.tgz", + "integrity": "sha1-w7eHN1gEWou8lWKu9P9LyMznwTY=", "requires": { + "create-react-class": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", "history": "https://registry.npmjs.org/history/-/history-3.3.0.tgz", - "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz", - "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz", + "hoist-non-react-statics": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", + "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", "warning": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz" } }, "react-tabs": { - "version": "https://registry.npmjs.org/react-tabs/-/react-tabs-1.0.0.tgz", - "integrity": "sha1-8VDJ+RAt1l28lKWg4eAZ1eOBSn8=", + "version": "https://registry.npmjs.org/react-tabs/-/react-tabs-2.1.0.tgz", + "integrity": "sha1-uhhKUZ4KCAPPeQoesZvE/bpf0Oo=", "requires": { "classnames": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", - "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz" + "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz" } }, "react-toastify": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-2.1.2.tgz", - "integrity": "sha512-KKOj4BrSiBNOJZ3T4iFQnIXBTlHLOJvBInF4lRiPHFlbCtJn6+HfDVOJxd3QwfjOCtBTYG28EnmFT0x0EMEDxQ==", + "version": "https://registry.npmjs.org/react-toastify/-/react-toastify-2.1.6.tgz", + "integrity": "sha1-Gkh/rSekjZ6u9FaDXpVevnmxp5A=", "requires": { - "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", - "react-transition-group": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-1.1.3.tgz" + "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "react-transition-group": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.2.1.tgz" } }, "react-toggle": { - "version": "https://registry.npmjs.org/react-toggle/-/react-toggle-4.0.1.tgz", - "integrity": "sha1-DoPoyU2UIy3r+iGpOP89KyEG7HI=", + "version": "https://registry.npmjs.org/react-toggle/-/react-toggle-4.0.2.tgz", + "integrity": "sha1-d/SHhg77h/r9GXZyotuMiFvhRA8=", "requires": { "classnames": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz" } }, "react-transition-group": { - "version": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-1.1.3.tgz", - "integrity": "sha1-XgLPbkSoYzFP88aKDIJsLZ1wsiE=", + "version": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.2.1.tgz", + "integrity": "sha1-6ftne3nmRV/TkbA4I6/oSEnfShA=", "requires": { "chain-function": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz", + "classnames": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", "dom-helpers": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.2.1.tgz", - "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", + "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "prop-types": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", "warning": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz" } }, "reactcss": { - "version": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.2.tgz", - "integrity": "sha1-QbDvQ+AdVIgDV8NLEawVMSCTUO8=", + "version": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", + "integrity": "sha1-wAATh15Vexzw39mjaKHD2rO1SN0=", "requires": { "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" } @@ -2980,7 +3831,7 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "requires": { "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "path-type": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" } }, @@ -2993,44 +3844,16 @@ } }, "readable-stream": { - "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", - "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", "requires": { - "buffer-shims": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "core-util-is": "1.0.2", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "process-nextick-args": "1.0.7", - "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "util-deprecate": "1.0.2" - } - }, - "readline2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", - "dev": true, - "requires": { - "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz", - "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "mute-stream": "0.0.5" - }, - "dependencies": { - "mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", - "dev": true - } - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" + "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" } }, "redent": { @@ -3042,36 +3865,37 @@ } }, "redis": { - "version": "https://registry.npmjs.org/redis/-/redis-2.6.2.tgz", - "integrity": "sha1-fMqwVjATrGGefdhMZRK4HT2FJXk=", + "version": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz", + "integrity": "sha1-ICKI4/WMSfYHnZevehDhMDrhSwI=", "requires": { - "redis-commands": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.2.0.tgz", - "redis-parser": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.0.4.tgz" + "double-ended-queue": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", + "redis-commands": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.1.tgz", + "redis-parser": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz" } }, "redis-commands": { - "version": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.2.0.tgz", - "integrity": "sha1-SAjnoPyx02Cb7FbuzDUy2surmBw=" + "version": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.1.tgz", + "integrity": "sha1-gdgm9F+pyLIBH0zXoP5ZfSQdRCs=" }, "redis-parser": { - "version": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.0.4.tgz", - "integrity": "sha1-cMu7PO+L9BoxU4iv4UkEplp6ECg=" + "version": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz", + "integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs=" }, "regenerate": { - "version": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.1.tgz", - "integrity": "sha1-AwAgOl0v3PiRFtzoQnXQEfWQPzM=", + "version": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38=", "dev": true }, "regenerator-runtime": { - "version": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + "version": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", + "integrity": "sha1-flT+W1zNXWYk6mJVw0c74JC4AuE=" }, "regexpu-core": { "version": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "dev": true, "requires": { - "regenerate": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.1.tgz", + "regenerate": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", "regjsgen": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", "regjsparser": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz" } @@ -3089,275 +3913,350 @@ "jsesc": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" } }, + "remove-trailing-separator": { + "version": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, "repeating": { "version": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "requires": { - "is-finite": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz" + "is-finite": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz" } }, "request": { - "version": "https://registry.npmjs.org/request/-/request-2.74.0.tgz", - "integrity": "sha1-dpPKdou7DqXIzgjAhKRe+gW4kqs=", - "requires": { - "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz", - "bl": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", - "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "extend": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", - "form-data": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", - "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "version": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "integrity": "sha1-ygtl2gLtYpNYh4COb1EDgQNOM1Y=", + "requires": { + "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "hawk": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", - "node-uuid": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", - "qs": "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz", - "tough-cookie": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.1.tgz", - "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz" - } + "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "performance-now": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "qs": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "tough-cookie": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "uuid": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz" + } + }, + "require-directory": { + "version": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "version": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", "dev": true }, + "require-main-filename": { + "version": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "version": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" - }, - "dependencies": { - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true - } + "caller-path": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "resolve-from": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz" } }, "resolve": { - "version": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "version": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha1-HwmsznlsmnYlefMbLBzEw83fnzY=", + "dev": true, + "requires": { + "path-parse": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz" + } + }, + "resolve-from": { + "version": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "resolve-url": { + "version": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "version": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" + "onetime": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz" } }, + "rgb2hex": { + "version": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.0.tgz", + "integrity": "sha1-zNVfhgrgxcTqN1BLlY5ELY0SMls=", + "dev": true + }, "rimraf": { - "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", - "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=", + "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", "requires": { - "glob": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz" - }, - "dependencies": { - "glob": { - "version": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", - "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=", - "requires": { - "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", - "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" - } - } + "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz" } }, "run-async": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "version": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" + "is-promise": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz" } }, + "rx": { + "version": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", + "dev": true + }, "rx-lite": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", + "version": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", "dev": true }, + "rx-lite-aggregates": { + "version": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz" + } + }, "rxjs": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.0.tgz", - "integrity": "sha512-vmvP5y/oJIJmXKHY36PIjVeI/46Sny6BMBa7/ou2zsNz1PiqU/Gtcz1GujnHz5Qlxncv+J9VlWmttnshqFj3Kg==", + "version": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz", + "integrity": "sha1-KNQD8AcRIZZ/GK1mVWMlXVQjasM=", "dev": true, "requires": { - "symbol-observable": "1.0.4" + "symbol-observable": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz" } }, "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=" + "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" }, "sass-graph": { - "version": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.2.tgz", - "integrity": "sha1-llEEviPoEDy35fcQ32WTWzF9pXs=", + "version": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", "requires": { - "glob": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", - "lodash": "4.17.4", - "yargs": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz" - }, - "dependencies": { - "glob": { - "version": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", - "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=", - "requires": { - "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", - "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - } + "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "scss-tokenizer": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "yargs": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz" } }, "sax": { - "version": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + "version": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" + }, + "scss-tokenizer": { + "version": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "requires": { + "js-base64": "https://registry.npmjs.org/js-base64/-/js-base64-2.3.2.tgz", + "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz" + } + }, + "select": { + "version": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" + }, + "semver": { + "version": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=" + }, + "set-blocking": { + "version": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "setimmediate": { + "version": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "version": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" } }, "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "version": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, - "shelljs": { - "version": "0.7.7", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.7.tgz", - "integrity": "sha1-svXHfvlxSPS09uImguELuoZnz/E=", + "signal-exit": { + "version": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "slice-ansi": { + "version": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=", "dev": true, "requires": { - "glob": "7.1.2", - "interpret": "1.0.4", - "rechoir": "0.6.2" + "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" }, "dependencies": { - "brace-expansion": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", - "dev": true, - "requires": { - "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", - "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "minimatch": "3.0.4", - "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "1.1.7" - } + "is-fullwidth-code-point": { + "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true } } }, - "signal-exit": { - "version": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz", - "integrity": "sha1-PAVDtl17T7xgts2UWT2b9DZzm+g=" - }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true + "sntp": { + "version": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha1-LGzsFP7cIiJznK+bXD2F0cxaLMg=", + "requires": { + "hoek": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz" + } }, "source-map": { - "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" + } + }, + "source-map-resolve": { + "version": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz", + "integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E=", + "dev": true, + "requires": { + "atob": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz", + "resolve-url": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "source-map-url": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz", + "urix": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + } + }, + "source-map-url": { + "version": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz", + "integrity": "sha1-fsrxO1e80J2opAxdJp2zN5nUqvk=", "dev": true }, + "spdx-correct": { + "version": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "requires": { + "spdx-license-ids": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz" + } + }, + "spdx-expression-parse": { + "version": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" + }, + "spdx-license-ids": { + "version": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" + }, "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "version": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "sshpk": { + "version": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "requires": { + "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "bcrypt-pbkdf": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "dashdash": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "ecc-jsbn": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "getpass": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" + } + }, "stack-trace": { - "version": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", - "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=" + "version": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" }, "staged-git-files": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/staged-git-files/-/staged-git-files-0.0.4.tgz", + "version": "https://registry.npmjs.org/staged-git-files/-/staged-git-files-0.0.4.tgz", "integrity": "sha1-15fhtVHKemOd7AI33G60u5vhfTU=", "dev": true }, + "stdout-stream": { + "version": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", + "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", + "requires": { + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" + } + }, "stream-parser": { "version": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", "integrity": "sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=", "requires": { - "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" + "debug": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" } }, "stream-to-observable": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stream-to-observable/-/stream-to-observable-0.1.0.tgz", + "version": "https://registry.npmjs.org/stream-to-observable/-/stream-to-observable-0.1.0.tgz", "integrity": "sha1-Rb8dny19wJvtgfHDB8Qw5ouEz/4=", "dev": true }, + "strict-uri-encode": { + "version": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, "string_decoder": { - "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "requires": { + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" + } + }, + "string-hash": { + "version": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=" }, "string-width": { "version": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz", + "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" } }, + "stringify-object": { + "version": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.2.1.tgz", + "integrity": "sha1-JyDC7/lAhUyBn27iUqrrWB8wYk0=", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz", + "is-obj": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "is-regexp": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + } + }, + "stringstream": { + "version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + }, "strip-ansi": { "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" } }, "strip-bom": { @@ -3368,8 +4267,7 @@ } }, "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "version": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, @@ -3380,57 +4278,110 @@ "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" } }, + "strip-json-comments": { + "version": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, "supports-color": { "version": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", + "version": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=", "dev": true }, "table": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "version": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha1-ozRHN1OR52atNNNIbm4q7chNLjY=", "dev": true, "requires": { - "ajv": "4.11.8", - "ajv-keywords": "1.5.1", - "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "lodash": "4.17.4", - "slice-ansi": "0.0.4", - "string-width": "2.0.0" + "ajv": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz", + "ajv-keywords": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "chalk": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "slice-ansi": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "string-width": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" }, "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "ansi-regex": { + "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "ansi-styles": { + "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", + "dev": true, + "requires": { + "color-convert": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz" + } + }, + "chalk": { + "version": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=", + "dev": true, + "requires": { + "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz" + } + }, + "is-fullwidth-code-point": { + "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "string-width": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz", - "integrity": "sha1-Y1xUNsxypuDDh87KJ41OLuxSaH4=", + "version": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + } + }, + "strip-ansi": { + "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" + } + }, + "supports-color": { + "version": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" } } } }, + "tar": { + "version": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "requires": { + "block-stream": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + } + }, + "tar-stream": { + "version": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz", + "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=", + "dev": true, + "requires": { + "bl": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", + "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + } + }, "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "version": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, @@ -3443,46 +4394,97 @@ "version": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" }, + "tiny-emitter": { + "version": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz", + "integrity": "sha1-gtJ0aKylrejl/R5tIrV91D69+3w=" + }, "tinycolor2": { "version": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" }, + "tmp": { + "version": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "dev": true, + "requires": { + "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + } + }, "tough-cookie": { - "version": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.1.tgz", - "integrity": "sha1-mcd9+7fYBCSeiimdTLD9gf7wg/0=" + "version": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "requires": { + "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + } }, "trim-newlines": { "version": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" }, "tryit": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", + "version": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", "dev": true }, "tunnel-agent": { - "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=" + "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" + } + }, + "tweetnacl": { + "version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true }, "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "version": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" } }, + "type-detect": { + "version": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.3.tgz", + "integrity": "sha1-Dj8mcLRAmbC0bChNE2p+9Jx0wuo=", + "dev": true + }, "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "version": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, - "unzip-response": { - "version": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" + "ua-parser-js": { + "version": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", + "integrity": "sha1-6exflJi57JEOeuOsYmqAXE0J7Kw=" + }, + "uniq": { + "version": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "urix": { + "version": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "querystring": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" + }, + "dependencies": { + "punycode": { + "version": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } }, "url-parse-lax": { "version": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", @@ -3491,57 +4493,455 @@ "prepend-http": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz" } }, + "url-to-options": { + "version": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, + "uuid": { + "version": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=" + }, + "validate-npm-package-license": { + "version": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "requires": { + "spdx-correct": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "spdx-expression-parse": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz" + } + }, + "validator": { + "version": "https://registry.npmjs.org/validator/-/validator-7.0.0.tgz", + "integrity": "sha1-x03rgGNRL6w1VHk45vCxUEooL9I=", + "dev": true + }, + "verror": { + "version": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" + } + }, + "walkdir": { + "version": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", + "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=", + "dev": true + }, "warning": { "version": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", "requires": { - "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz" + "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz" + } + }, + "wdio-dot-reporter": { + "version": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.9.tgz", + "integrity": "sha1-kpsq2v1J1rBTT9oGjocxm0fjj+U=", + "dev": true + }, + "wdio-jasmine-framework": { + "version": "https://registry.npmjs.org/wdio-jasmine-framework/-/wdio-jasmine-framework-0.3.2.tgz", + "integrity": "sha1-l4QSFCEqm1f3DZB3Tw2bR759+YE=", + "dev": true, + "requires": { + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", + "jasmine": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", + "wdio-sync": "https://registry.npmjs.org/wdio-sync/-/wdio-sync-0.7.0.tgz" + }, + "dependencies": { + "babel-runtime": { + "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", + "integrity": "sha1-M7mOql1IK7AajRqmtDetKwGuxBw=", + "dev": true, + "requires": { + "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz" + } + }, + "regenerator-runtime": { + "version": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + } + } + }, + "wdio-junit-reporter": { + "version": "https://registry.npmjs.org/wdio-junit-reporter/-/wdio-junit-reporter-0.3.1.tgz", + "integrity": "sha1-d7G/RFDTGw+VuswW3Bunv8vY/gk=", + "dev": true, + "requires": { + "junit-report-builder": "https://registry.npmjs.org/junit-report-builder/-/junit-report-builder-1.2.0.tgz", + "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" + } + }, + "wdio-spec-reporter": { + "version": "https://registry.npmjs.org/wdio-spec-reporter/-/wdio-spec-reporter-0.1.2.tgz", + "integrity": "sha1-kcb2CX+SrSUc0rZuOIUFxMDiR2A=", + "dev": true, + "requires": { + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", + "humanize-duration": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.10.1.tgz" + }, + "dependencies": { + "babel-runtime": { + "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", + "integrity": "sha1-M7mOql1IK7AajRqmtDetKwGuxBw=", + "dev": true, + "requires": { + "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz" + } + }, + "regenerator-runtime": { + "version": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + } + } + }, + "wdio-sync": { + "version": "https://registry.npmjs.org/wdio-sync/-/wdio-sync-0.7.0.tgz", + "integrity": "sha1-L7B9JQEh3IH1Y1MWVCw8SaEiAWg=", + "dev": true, + "requires": { + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", + "fibers": "https://registry.npmjs.org/fibers/-/fibers-2.0.0.tgz", + "object.assign": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz" + }, + "dependencies": { + "babel-runtime": { + "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", + "integrity": "sha1-M7mOql1IK7AajRqmtDetKwGuxBw=", + "dev": true, + "requires": { + "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz" + } + }, + "regenerator-runtime": { + "version": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + } + } + }, + "webdriverio": { + "version": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.8.0.tgz", + "integrity": "sha1-1Skpt0kID4mWf24WFAUcvIFy0TI=", + "dev": true, + "requires": { + "archiver": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz", + "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "css-parse": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "css-value": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz", + "deepmerge": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.3.2.tgz", + "ejs": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", + "gaze": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", + "glob": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "inquirer": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", + "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "npm-install-package": "https://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz", + "optimist": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "q": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "request": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "rgb2hex": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.0.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", + "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "url": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "validator": "https://registry.npmjs.org/validator/-/validator-7.0.0.tgz", + "wdio-dot-reporter": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.9.tgz", + "wgxpath": "https://registry.npmjs.org/wgxpath/-/wgxpath-1.0.0.tgz" + }, + "dependencies": { + "ajv": { + "version": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" + } + }, + "ansi-escapes": { + "version": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "ansi-regex": { + "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "assert-plus": { + "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "aws-sign2": { + "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "babel-runtime": { + "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", + "dev": true, + "requires": { + "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz" + } + }, + "boom": { + "version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + } + }, + "cryptiles": { + "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + } + }, + "deepmerge": { + "version": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.3.2.tgz", + "integrity": "sha1-FmNpFinU2/42T6EqKk8KqGqjoFA=", + "dev": true + }, + "form-data": { + "version": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "requires": { + "asynckit": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz" + } + }, + "har-schema": { + "version": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true + }, + "har-validator": { + "version": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "dev": true, + "requires": { + "ajv": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "har-schema": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz" + } + }, + "has-flag": { + "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "hawk": { + "version": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "sntp": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" + } + }, + "hoek": { + "version": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "http-signature": { + "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "jsprim": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "sshpk": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz" + } + }, + "inquirer": { + "version": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", + "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=", + "dev": true, + "requires": { + "ansi-escapes": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "cli-cursor": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "cli-width": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "external-editor": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz", + "figures": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "mute-stream": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "run-async": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "rx": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "string-width": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + } + }, + "is-fullwidth-code-point": { + "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "performance-now": { + "version": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true + }, + "qs": { + "version": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true + }, + "regenerator-runtime": { + "version": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + }, + "request": { + "version": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "dev": true, + "requires": { + "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "form-data": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "performance-now": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "qs": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", + "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "tough-cookie": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "uuid": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz" + } + }, + "safe-buffer": { + "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", + "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", + "dev": true + }, + "sntp": { + "version": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + } + }, + "string-width": { + "version": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + }, + "dependencies": { + "strip-ansi": { + "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" + } + } + } + }, + "supports-color": { + "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" + } + } } }, + "wgxpath": { + "version": "https://registry.npmjs.org/wgxpath/-/wgxpath-1.0.0.tgz", + "integrity": "sha1-7vikudVYzEla06mit1FZfs2a9pA=", + "dev": true + }, + "whatwg-fetch": { + "version": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + }, "which": { - "version": "https://registry.npmjs.org/which/-/which-1.2.10.tgz", - "integrity": "sha1-kc2b0HUTIkEbZZtA8FSyHelXqy0=", + "version": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", "requires": { - "isexe": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz" + "isexe": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" } }, + "which-module": { + "version": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + }, "wide-align": { - "version": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz", - "integrity": "sha1-QO3egCpx/qHwcNo+YtzaLnrdlq0=", + "version": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha1-Vx4PGwYEY268DfwhsDObvjE0FxA=", "requires": { "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" } }, - "window-size": { - "version": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=" - }, "winston": { - "version": "https://registry.npmjs.org/winston/-/winston-2.3.1.tgz", - "integrity": "sha1-C0hCDZeMAYBM8CMLZIhhWYIloRk=", + "version": "https://registry.npmjs.org/winston/-/winston-2.4.0.tgz", + "integrity": "sha1-gIBQuT1SZh7Z+2wms/DIJnCLCu4=", "requires": { "async": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", "colors": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", "cycle": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", "eyes": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "stack-trace": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz" - }, - "dependencies": { - "async": { - "version": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", - "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=" - } + "stack-trace": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz" } }, + "wordwrap": { + "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "wrap-ansi": { + "version": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + } + }, + "wrappy": { + "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "version": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { @@ -3549,45 +4949,58 @@ } }, "xml2js": { - "version": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", - "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=", + "version": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha1-aGwg8hMgnpSr8NG88e+qKRx4J6c=", "requires": { - "sax": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "xmlbuilder": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz" - }, - "dependencies": { - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - }, - "xmlbuilder": { - "version": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", - "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=", - "requires": { - "lodash": "4.17.4" - } - } + "sax": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "xmlbuilder": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.4.tgz" } }, + "xmlbuilder": { + "version": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.4.tgz", + "integrity": "sha1-UZy0ymhtAFqEINNJbz8MruzKWA8=" + }, + "xtend": { + "version": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, "yallist": { - "version": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz", - "integrity": "sha1-MGxUODXwnuGkyyO3vOmrNByRzdQ=" + "version": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "yargs": { - "version": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "version": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "requires": { + "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "cliui": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "get-caller-file": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "os-locale": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "require-directory": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "require-main-filename": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "set-blocking": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "yargs-parser": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz" + "which-module": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "y18n": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "yargs-parser": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz" + }, + "dependencies": { + "camelcase": { + "version": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + } } }, "yargs-parser": { - "version": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", + "version": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "requires": { "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz" }, @@ -3597,6 +5010,17 @@ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" } } + }, + "zip-stream": { + "version": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", + "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", + "dev": true, + "requires": { + "archiver-utils": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", + "compress-commons": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", + "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz" + } } } } diff --git a/bigbluebutton-html5/package.json b/bigbluebutton-html5/package.json index bc14c0148289dc28d7f49de5cc3e7486b86d6209..031ba58a0fa4bc8f9c2e1404d918969a1f8d41a5 100755 --- a/bigbluebutton-html5/package.json +++ b/bigbluebutton-html5/package.json @@ -11,62 +11,64 @@ }, "lint-staged": { "gitDir": "../", - "*.{js,jsx}": [ - "eslint --fix", - "git add" - ] + "linters": { + "*.{js,jsx}": [ + "eslint --fix", + "git add" + ] + } }, "dependencies": { - "babel-runtime": "^6.23.0", - "classnames": "^2.2.5", - "clipboard": "^1.7.1", - "eventemitter2": "^2.1.3", - "flat": "^2.0.1", - "hiredis": "^0.5.0", + "babel-runtime": "~6.26.0", + "classnames": "~2.2.5", + "clipboard": "~1.7.1", + "eventemitter2": "~4.1.2", + "flat": "~4.0.0", + "hiredis": "~0.5.0", "history": "~3.3.0", - "immutability-helper": "^2.4.0", + "immutability-helper": "~2.4.0", "lodash": "~4.17.4", - "meteor-node-stubs": "^0.2.11", - "node-sass": "~3.8.0", - "probe-image-size": "~3.0.0", - "prop-types": "~15.5.10", - "react": "~15.5.4", - "react-autosize-textarea": "~0.4.3", - "react-color": "^2.12.0", - "react-dom": "~15.5.4", - "react-dropzone": "^4.1.3", - "react-intl": "~2.3.0", - "react-modal": "~1.7.7", + "meteor-node-stubs": "~0.3.2", + "node-sass": "~4.5.3", + "probe-image-size": "~3.1.0", + "prop-types": "~15.6.0", + "react": "~16.0.0", + "react-autosize-textarea": "~0.4.9", + "react-color": "~2.13.8", + "react-dom": "~16.0.0", + "react-dropzone": "~4.2.1", + "react-intl": "~2.4.0", + "react-modal": "~3.0.4", "react-router": "~3.0.2", - "react-tabs": "~1.0.0", - "react-toastify": "^2.1.2", - "react-toggle": "~4.0.1", - "react-transition-group": "~1.1.3", - "redis": "^2.6.2", - "string-hash": "^1.1.3", - "winston": "^2.3.1", - "xml2js": "^0.4.17" + "react-tabs": "~2.1.0", + "react-toggle": "~4.0.2", + "react-toastify": "~2.1.2", + "react-transition-group": "~2.2.1", + "redis": "~2.8.0", + "string-hash": "~1.1.3", + "winston": "~2.4.0", + "xml2js": "~0.4.19" }, "devDependencies": { - "autoprefixer": "^7.1.1", - "chai": "^3.5.0", - "eslint": "~3.19.0", - "eslint-config-airbnb": "^15.0.1", - "eslint-config-airbnb-base": "~11.2.0", - "eslint-plugin-import": "~2.3.0", - "eslint-plugin-jsx-a11y": "^5.0.3", - "eslint-plugin-react": "^7.0.1", - "husky": "^0.13.4", - "lint-staged": "^3.6.0", + "autoprefixer": "~7.1.6", + "chai": "~4.1.2", + "eslint": "~4.9.0", + "eslint-config-airbnb": "~16.1.0", + "eslint-config-airbnb-base": "~12.1.0", + "eslint-plugin-import": "~2.8.0", + "eslint-plugin-jsx-a11y": "~6.0.2", + "eslint-plugin-react": "~7.4.0", + "husky": "~0.14.3", + "lint-staged": "~4.3.0", "postcss-modules-extract-imports": "1.1.0", "postcss-modules-local-by-default": "1.2.0", "postcss-modules-scope": "1.1.0", "postcss-modules-values": "1.3.0", - "postcss-nested": "2.0.2", - "wdio-jasmine-framework": "^0.3.1", - "wdio-junit-reporter": "^0.3.0", - "wdio-spec-reporter": "^0.1.0", - "webdriverio": "^4.8.0" + "postcss-nested": "2.1.2", + "wdio-jasmine-framework": "~0.3.2", + "wdio-junit-reporter": "~0.3.1", + "wdio-spec-reporter": "~0.1.2", + "webdriverio": "~4.8.0" }, "cssModules": { "extensions": [ diff --git a/bigbluebutton-html5/private/config/public/app.yaml b/bigbluebutton-html5/private/config/public/app.yaml index 31a43a21b31284e8afeaeac824901d84a66d4087..7dffde82262185e1195ca62804eba5c573807ac7 100644 --- a/bigbluebutton-html5/private/config/public/app.yaml +++ b/bigbluebutton-html5/private/config/public/app.yaml @@ -54,3 +54,4 @@ app: # The initial client version has limited moderator capabilities # The following flag disables moderator-only features allowHTML5Moderator: true + allowModeratorToUnmuteAudio: true diff --git a/bigbluebutton-html5/private/locales/en.json b/bigbluebutton-html5/private/locales/en.json index ceba85eaa22145f9153873464e7fb40e97c2c60a..7c96cade82246baa9db3aa056ac0367b0b3aeb0e 100644 --- a/bigbluebutton-html5/private/locales/en.json +++ b/bigbluebutton-html5/private/locales/en.json @@ -49,6 +49,22 @@ "app.presentation.presentationToolbar.fitScreenDesc": "Display the whole slide", "app.presentation.presentationToolbar.zoomLabel": "Zoom", "app.presentation.presentationToolbar.zoomDesc": "Change the zoom level of the presentation", + "app.presentationUploder.title": "Presentation", + "app.presentationUploder.message": "As a presenter in BigBlueButton, you have the ability of uploading any office document or PDF file. We recommend for the best results, to please upload a PDF file.", + "app.presentationUploder.confirmLabel": "Start", + "app.presentationUploder.confirmDesc": "Save your changes and start the presentation", + "app.presentationUploder.dismissLabel": "Cancel", + "app.presentationUploder.dismissDesc": "Close the modal window and discard your changes", + "app.presentationUploder.dropzoneLabel": "Drag files here to upload", + "app.presentationUploder.browseFilesLabel": "or browse for files", + "app.presentationUploder.fileToUpload": "To be uploaded...", + "app.presentationUploder.upload.progress": "Uploading ({progress}%)", + "app.presentationUploder.upload.413": "File is too large.", + "app.presentationUploder.conversion.conversionProcessingSlides": "Processing page {current} of {total}", + "app.presentationUploder.conversion.genericConversionStatus": "Converting file...", + "app.presentationUploder.conversion.generatingThumbnail": "Generating thumbnails...", + "app.presentationUploder.conversion.generatingSvg": "Generating SVG images...", + "presentationUploder.conversion.generatedSlides": "Slides generated...", "app.polling.pollingTitle": "Polling Options", "app.failedMessage": "Apologies, trouble connecting to the server.", "app.connectingMessage": "Connecting...", @@ -238,6 +254,8 @@ "app.error.403": "Forbidden", "app.error.leaveLabel": "Log in again", "app.guest.waiting": "Waiting for approval to join", + "app.toast.chat.singular":"you have {0} new message in {1}", + "app.toast.chat.plural":"you have {0} new messages in {1}", "app.notification.recordingStart": "This session is now being recorded", "app.notification.recordingStop": "This session is not being recorded anymore" }