Convert self-presence to xmpp_parser's type
[?]
Jan 21, 2019, 6:19 PM
RGOSS73USO7B6YLKHSZ5R3K4OIZA56JXFVHPFFCNKSTWG7INPC7QCDependencies
- [2]
ACXUIS63Update dependecies - [3]
WJNXI6Z4Fill roster - [4]
VS6AHRWIMove XMPP to separate dir - [5]
3ADA5BBXAdd items to roster from iq of "set" type - [6]
UWY5EVZ6Add dummy roster data - [7]
OGMBXBKPMove online to XmppConnection - [8]
3FYEOGCIMove additional rarely changed data to separate structure - [9]
4LRBIGVTShow info about xmpp errors - [10]
AYQZ2UIAUpdate deps - [11]
L77O4T7MFormatting and fixes - [12]
SU4DNVCBStart to processing roster data - [13]
XOAM22TTSimplify xmpp incoming stanzas processing without futures - [14]
5OBTKGDLUpdate deps - [15]
6E5IC33ZTry to test 2018 edition - [16]
PFC7OJQFQuery roster - [17]
O2GM5J4FDon't split xmpp receiving and sending - [18]
77USPY5ISending messages works! - [19]
NDDQQP2PUpdate deps - [20]
FV6BJ5K6Send self-presence and store account info in Rc so it willbe used in some future in parallel - [21]
HKSQO7JZEnable hyper http server and configuration - [22]
OANBCLN5Move xmpp client into XmppState - [23]
CP4MZO6VLeftover commands are processed via stoppable receiver - [24]
SA2IOFGYAdd items to roster - [25]
5A5UVGNMMove receiver closing logic out of xmpp processing - [26]
QTCUURXNAdd additional requirement for command stream - [27]
FVVPKFTLInitial commit - [28]
DKXSFTDYSend stanzas via send queue - [29]
V5HDBSZMUse jid for receiver address - [30]
QYY3KRGLUse failure instead Box<dyn Error> - [31]
3GEU7TC7Welcome to 2018! - [32]
UCY2DO3DTry to read request body - [33]
XGP44R5HRework stopping xmpp connection - [34]
MAC6WCSXFix pipelines - [35]
HU3NZX5ZProcess self-presence via new processing code - [36]
PBRUH4BJRename optional XmppConnection to MaybeXmppConnection - [37]
5IKA4GO7Rename xmpp client field from "inner" to "client" - [38]
FWJDW3G5Allow process xmpp incoming stanzas with futures - [39]
EOHEZXX3Move request processing to structure - [40]
AGIW6YR3Use shared future for signal everywhere - [41]
ALP2YJIURename XmppState to XmppProcessState - [42]
TDOR5XQUAccept destination - [43]
HCCX7VW6Generate ids from counter - [44]
UAT5MV5ODirectly use id for initial roster request - [45]
CBWCXUZZPrepare adding new items to roster - [46]
BTOZT4JPUse failure - [47]
PVCRPP3BSome servers don't send to in initial presence - [48]
QWE26TMVupdate deps - [49]
IK3YDPTYUpdate deps - [50]
UIXIQHDYWait for commands via new processing code - [51]
UMTLHH77Process commands in the separate function - [52]
X6L47BHQUse different structure for established xmpp connection - [53]
ZI4GJ72VAdd message to xmpp command - [54]
EBETRYK7Add counter for id. Check for jid in roster - [55]
BWDUANCVSecond part of processing result is only about stop_future
Change contents
- edit in src/xmpp/stanzas.rs at line 2
use xmpp_parsers::iq::Iq;use xmpp_parsers::message::{Body, Message, MessageType}; - edit in src/xmpp/stanzas.rs at line 3
use xmpp_parsers::roster::{Item, Roster}; - edit in src/xmpp/stanzas.rs at line 10[3.397]→[3.397:419](∅→∅),[3.397]→[3.397:419](∅→∅),[3.397]→[3.397:419](∅→∅),[3.397]→[3.397:419](∅→∅),[3.397]→[3.397:419](∅→∅),[3.397]→[3.397:419](∅→∅),[3.397]→[3.397:419](∅→∅),[3.397]→[3.397:419](∅→∅),[3.397]→[3.397:419](∅→∅),[3.419]→[3.62:156](∅→∅),[3.156]→[3.43:66](∅→∅),[3.66]→[3.35:54](∅→∅),[3.156]→[3.35:54](∅→∅),[3.198]→[3.198:270](∅→∅),[3.270]→[3.67:70](∅→∅),[3.70]→[2.0:70](∅→∅),[2.70]→[3.131:314](∅→∅),[3.131]→[3.131:314](∅→∅),[3.314]→[2.71:121](∅→∅),[2.121]→[3.314:445](∅→∅),[3.314]→[3.314:445](∅→∅),[3.445]→[3.58:61](∅→∅),[3.61]→[2.122:185](∅→∅),[2.185]→[3.115:207](∅→∅),[3.115]→[3.115:207](∅→∅)
presence.into()}pub fn make_get_roster(id: &str) -> Element {let mut get_roster = Iq::from_get(Roster {items: vec![],ver: None,});get_roster.id = Some(id.to_string());get_roster.into()}pub fn make_add_roster(id: &str, jid: xmpp_parsers::Jid) -> Element {let mut add_roster = Iq::from_set(Roster {items: vec![Item {jid,name: None,subscription: xmpp_parsers::roster::Subscription::None,ask: xmpp_parsers::roster::Ask::None,groups: vec![],}],ver: None,});add_roster.id = Some(id.to_string());add_roster.into()}pub fn make_ask_subscribe(jid: xmpp_parsers::Jid) -> Element {let mut presence = Presence::new(PresenceType::Subscribe);presence.to = Some(jid); - edit in src/xmpp/stanzas.rs at line 11[3.227]→[3.270:272](∅→∅),[3.445]→[3.270:272](∅→∅),[3.445]→[3.270:272](∅→∅),[3.270]→[3.270:272](∅→∅),[3.272]→[3.228:229](∅→∅),[3.229]→[2.186:262](∅→∅),[2.262]→[3.296:455](∅→∅),[3.296]→[3.296:455](∅→∅)
}pub fn make_chat_message(jid: xmpp_parsers::Jid, text: String) -> Element {let mut message = Message::new(Some(jid));message.bodies.insert(String::new(), Body(text));message.type_ = MessageType::Chat;message.into() - edit in src/xmpp/mod.rs at line 7
use std::collections::{HashMap, VecDeque}; - edit in src/xmpp/mod.rs at line 9[3.46]→[3.446:484](∅→∅),[3.484]→[3.446:472](∅→∅),[3.472]→[2.307:398](∅→∅),[2.398]→[3.473:493](∅→∅),[3.572]→[3.473:493](∅→∅),[3.519]→[3.473:493](∅→∅),[3.493]→[3.55:75](∅→∅),[3.519]→[3.55:75](∅→∅),[3.75]→[3.494:605](∅→∅),[3.605]→[2.399:541](∅→∅),[2.541]→[3.670:772](∅→∅),[3.112]→[3.670:772](∅→∅),[3.670]→[3.670:772](∅→∅),[3.772]→[3.540:542](∅→∅),[3.75]→[3.540:542](∅→∅),[3.540]→[3.540:542](∅→∅),[3.46]→[3.95:96](∅→∅),[3.542]→[3.95:96](∅→∅),[3.95]→[3.95:96](∅→∅),[3.96]→[3.354:393](∅→∅),[3.321]→[3.354:393](∅→∅),[3.393]→[3.543:563](∅→∅),[3.82]→[3.428:430](∅→∅),[3.68]→[3.428:430](∅→∅),[3.563]→[3.428:430](∅→∅),[3.117]→[3.428:430](∅→∅),[3.88]→[3.428:430](∅→∅),[3.428]→[3.428:430](∅→∅)
#[derive(Default)]struct XmppData {/// known roster dataroster: HashMap<xmpp_parsers::Jid, (xmpp_parsers::roster::Subscription, Vec<String>)>,/// ids countercounter: usize,>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>/// map from id of adding item to roster and jid of item and message textpending_add_roster_ids: HashMap<String, (xmpp_parsers::Jid, String)>,/// stanzas to sendsend_queue: VecDeque<minidom::Element>,================================id_init_roster: Option<String>,<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<}struct XmppState {client: Client,data: XmppData,} - replacement in src/xmpp/mod.rs at line 10[3.431]→[3.431:460](∅→∅),[3.431]→[3.431:460](∅→∅),[3.431]→[3.431:460](∅→∅),[3.431]→[3.431:460](∅→∅),[3.431]→[3.431:460](∅→∅),[3.431]→[3.431:460](∅→∅)
struct MaybeXmppConnection {pub struct MaybeXmppConnection { - replacement in src/xmpp/mod.rs at line 12
state: Option<XmppState>,inner: Option<Client>, - replacement in src/xmpp/mod.rs at line 15
struct XmppConnection {pub struct XmppConnection { - replacement in src/xmpp/mod.rs at line 17
state: XmppState,inner: Client, - replacement in src/xmpp/mod.rs at line 24
state: Some(from.state),inner: Some(from.inner), - replacement in src/xmpp/mod.rs at line 29
impl From<config::Account> for MaybeXmppConnection {fn from(from: config::Account) -> MaybeXmppConnection {impl MaybeXmppConnection {fn new(account: config::Account) -> MaybeXmppConnection { - replacement in src/xmpp/mod.rs at line 32
account: std::rc::Rc::new(from),state: None,account: std::rc::Rc::new(account),inner: None, - edit in src/xmpp/mod.rs at line 36
} - edit in src/xmpp/mod.rs at line 37[3.767]→[3.767:963](∅→∅),[3.221]→[3.159:200](∅→∅),[3.963]→[3.159:200](∅→∅),[3.159]→[3.159:200](∅→∅),[3.200]→[3.964:966](∅→∅),[3.966]→[3.202:203](∅→∅),[3.202]→[3.202:203](∅→∅),[3.203]→[3.967:994](∅→∅)
impl From<std::rc::Rc<config::Account>> for MaybeXmppConnection {fn from(from: std::rc::Rc<config::Account>) -> MaybeXmppConnection {MaybeXmppConnection {account: from,state: None,}}}impl MaybeXmppConnection { - replacement in src/xmpp/mod.rs at line 38
/// don't connect only if stop_future resolved/// don't connect if stop_future resolved - replacement in src/xmpp/mod.rs at line 48
let MaybeXmppConnection { account, state } = self;let MaybeXmppConnection { account, inner } = self; - replacement in src/xmpp/mod.rs at line 50
if let Some(state) = state {Box::new(future::ok(XmppConnection { account, state }))as Box<dyn Future<Item = _, Error = _>>if let Some(inner) = inner {Box::new(future::ok(XmppConnection { account, inner }))as Box<Future<Item = _, Error = _>> - replacement in src/xmpp/mod.rs at line 63
as Box<dyn Future<Item = _, Error = _>>,as Box<Future<Item = _, Error = _>>, - edit in src/xmpp/mod.rs at line 68
let stop_future3 = stop_future.clone(); - replacement in src/xmpp/mod.rs at line 72[3.435]→[3.89:208](∅→∅),[3.208]→[3.1047:1135](∅→∅),[3.341]→[3.340:387](∅→∅),[3.1135]→[3.340:387](∅→∅),[3.206]→[3.340:387](∅→∅),[3.340]→[3.340:387](∅→∅)
state: XmppState {client,data: std::default::Default::default(),},inner: client, - edit in src/xmpp/mod.rs at line 76
.map(|(conn, _)| conn) - replacement in src/xmpp/mod.rs at line 78[3.1468]→[3.388:758](∅→∅),[3.864]→[3.1838:2021](∅→∅),[3.758]→[3.1838:2021](∅→∅),[3.1838]→[3.1838:2021](∅→∅)
.and_then(|(conn, r)| match r {Ok(Either::A(_)) => future::ok(conn),Ok(Either::B(_)) => future::err(conn.account),Err(_e) => future::err(conn.account),}).and_then(|conn| conn.initial_roster(stop_future2)).and_then(|conn| conn.self_presence(stop_future3)).and_then(|conn| conn.self_presence(stop_future2)) - replacement in src/xmpp/mod.rs at line 106[3.3788]→[3.573:712](∅→∅),[3.712]→[3.792:1135](∅→∅),[3.90]→[3.792:1135](∅→∅),[3.894]→[3.792:1135](∅→∅),[3.1135]→[3.713:772](∅→∅),[3.772]→[3.1195:1465](∅→∅),[3.1195]→[3.1195:1465](∅→∅),[3.1465]→[3.773:1504](∅→∅),[3.1504]→[3.1465:1788](∅→∅),[3.1465]→[3.1465:1788](∅→∅),[3.1788]→[3.1505:3317](∅→∅),[3.3317]→[3.1980:2050](∅→∅),[3.1980]→[3.1980:2050](∅→∅),[3.2050]→[3.3318:3605](∅→∅),[3.3605]→[3.2135:2201](∅→∅),[3.2135]→[3.2135:2201](∅→∅),[3.2201]→[3.3606:3639](∅→∅),[3.3639]→[3.2234:2248](∅→∅),[3.112]→[3.2234:2248](∅→∅),[3.2234]→[3.2234:2248](∅→∅),[3.2248]→[3.3640:3687](∅→∅),[3.3687]→[3.2295:2365](∅→∅),[3.148]→[3.2295:2365](∅→∅),[3.2295]→[3.2295:2365](∅→∅),[3.2365]→[3.3688:3730](∅→∅),[3.3730]→[3.2407:2431](∅→∅),[3.171]→[3.2407:2431](∅→∅),[3.2407]→[3.2407:2431](∅→∅)
fn xmpp_processing(mut self,event: &Event,) -> impl Future<Item = Self, Error = std::rc::Rc<config::Account>> {match event {Event::Stanza(stanza) => {info!("Incoming xmpp event: {:?}", stanza);let stanza = stanza.clone();use try_from::TryInto;if let Some(iq) = stanza.try_into().ok() as Option<xmpp_parsers::iq::Iq> {if let Some(id) = iq.id {if let Some((_, (jid, message))) =self.state.data.pending_add_roster_ids.remove_entry(&id){if let xmpp_parsers::iq::IqType::Result(None) = iq.payload {info!("Jid {} added to roster", jid);if let Some(ref mut rdata) = self.state.data.roster.get_mut(&jid) {rdata.1.push(message);} else {self.state.data.roster.insert(jid,(xmpp_parsers::roster::Subscription::None, vec![message]),);}} else {warn!("Wrong payload when adding {} to roster: {:?}",jid, iq.payload);}}}if let xmpp_parsers::iq::IqType::Set(element) = iq.payload {if let Some(roster) =element.try_into().ok() as Option<xmpp_parsers::roster::Roster>{for i in roster.items {if let Some(ref mut rdata) = self.state.data.roster.get_mut(&i.jid){info!("Update {} in roster", i.jid);rdata.0 = i.subscription;if !rdata.1.is_empty() {let sub_to = match rdata.0 {xmpp_parsers::roster::Subscription::To => true,xmpp_parsers::roster::Subscription::Both => true,_ => false,};if sub_to {info!("Subscribed to {}", i.jid);let jid = i.jid.clone();self.state.data.send_queue.extend(rdata.1.drain(..).map(|message| {stanzas::make_chat_message(jid.clone(), message)}),)} else {info!("Not subscribed to {}", i.jid);self.state.data.send_queue.push_back(stanzas::make_ask_subscribe(i.jid));}}} else {info!("Add {} to roster", i.jid);self.state.data.roster.insert(i.jid, (i.subscription, vec![]));}}}}}future::ok(self)}Event::Online => future::ok(self),e => {warn!("Unexpected event {:?}", e);future::err(self.account)}}fn xmpp_processing(&mut self, event: &Event) {info!("Incoming xmpp event: {:?}", event); - replacement in src/xmpp/mod.rs at line 112
/// or stop future was resolved./// Return item if connection was preserved or error otherwise./// Second part is a state of stop_future/// or stop future was resolved - replacement in src/xmpp/mod.rs at line 118
Item = (Self, Result<Either<F, T>, E>),Error = (std::rc::Rc<config::Account>, Result<Either<F, T>, E>),Item = (Self, Result<Either<F, T>, failure::Error>),Error = (std::rc::Rc<config::Account>,Result<Either<F, T>, failure::Error>,), - replacement in src/xmpp/mod.rs at line 125
F: Future<Item = T, Error = E> + 'static,S: FnMut(&mut Self, Event) -> Result<bool, ()> + 'static,T: 'static,E: 'static,F: Future<Item = T, Error = E>,E: Into<failure::Error>,S: FnMut(&mut Self, &Event) -> Result<bool, failure::Error>, - replacement in src/xmpp/mod.rs at line 132[3.4612]→[3.1352:1389](∅→∅),[3.1389]→[2.677:736](∅→∅),[2.736]→[3.1588:1643](∅→∅),[3.3786]→[3.1588:1643](∅→∅),[3.172]→[3.1588:1643](∅→∅),[3.929]→[3.1588:1643](∅→∅),[3.1283]→[3.1588:1643](∅→∅),[3.262]→[3.1588:1643](∅→∅),[3.1588]→[3.1588:1643](∅→∅),[3.1643]→[2.737:1355](∅→∅),[2.1355]→[3.2575:2614](∅→∅),[3.5078]→[3.2575:2614](∅→∅),[3.791]→[3.2575:2614](∅→∅),[3.2575]→[3.2575:2614](∅→∅),[3.2614]→[2.1356:1484](∅→∅),[2.1484]→[3.2744:2820](∅→∅),[3.5209]→[3.2744:2820](∅→∅),[3.920]→[3.2744:2820](∅→∅),[3.2744]→[3.2744:2820](∅→∅),[3.2820]→[2.1485:2370](∅→∅),[2.2370]→[3.2857:2970](∅→∅),[3.5247]→[3.2857:2970](∅→∅),[3.1806]→[3.2857:2970](∅→∅),[3.2857]→[3.2857:2970](∅→∅),[3.2970]→[2.2371:5674](∅→∅)
let XmppConnection {state: XmppState { client, mut data },account,} = xmpp;if let Some(send_element) = data.send_queue.pop_front() {use tokio::prelude::Sink;info!("Sending {:?}", send_element);Box::new(client.send(send_element).select2(stop_future).then(move |r| match r {Ok(Either::A((client, b))) => {Box::new(future::ok(future::Loop::Continue((XmppConnection {state: XmppState { client, data },account,},b,stop_condition,))))as Box<dyn Future<Item = _, Error = _>>}Ok(Either::B((t, a))) => Box::new(a.then(|r| match r {Ok(client) => future::ok(future::Loop::Break((XmppConnection {state: XmppState { client, data },account,},Ok(Either::B(t)),))),Err(se) => {warn!("XMPP sending error: {}", se);future::err((account, Ok(Either::B(t))))}})),Err(Either::A((e, b))) => {warn!("XMPP sending error: {}", e);Box::new(future::err((account, Ok(Either::A(b)))))}Err(Either::B((e, a))) => Box::new(a.then(|r| match r {Ok(client) => future::ok(future::Loop::Break((XmppConnection {state: XmppState { client, data },account,},Err(e),))),Err(se) => {warn!("XMPP sending error: {}", se);future::err((account, Err(e)))}})),},)) as Box<dyn Future<Item = _, Error = _>>} else {Box::new(client.into_future().select2(stop_future).then(move |r| match r {Ok(Either::A(((event, client), b))) => {if let Some(event) = event {let xmpp = XmppConnection {state: XmppState { client, data },account,};Box::new(xmpp.xmpp_processing(&event).then(|r| match r {Ok(mut xmpp) => {match stop_condition(&mut xmpp, event) {Ok(true) => future::ok(future::Loop::Break((xmpp,Ok(Either::A(b)),))),Ok(false) => {future::ok(future::Loop::Continue((xmpp,b,stop_condition,)))}Err(_e) => future::err((xmpp.account,Ok(Either::A(b)),)),}}Err(account) => {future::err((account, Ok(Either::A(b))))}}))as Box<dyn Future<Item = _, Error = _>>} else {Box::new(future::err((account, Ok(Either::A(b)))))}let XmppConnection { inner, account } = xmpp;inner.into_future().select2(stop_future).then(|r| match r {Ok(Either::A(((event, client), b))) => {if let Some(event) = event {let mut xmpp = XmppConnection {inner: client,account,};xmpp.xmpp_processing(&event);match stop_condition(&mut xmpp, &event) {Ok(true) => {future::ok(future::Loop::Break((xmpp, Ok(Either::A(b))))) - replacement in src/xmpp/mod.rs at line 145
Ok(Either::B((t, a))) => {Box::new(if let Some(client) = a.into_inner() {future::ok(future::Loop::Break((XmppConnection {state: XmppState { client, data },account,},Ok(Either::B(t)),)))} else {future::err((account, Ok(Either::B(t))))})Ok(false) => {future::ok(future::Loop::Continue((xmpp, b, stop_condition))) - replacement in src/xmpp/mod.rs at line 148
Err(Either::A((e, b))) => {warn!("XMPP error: {}", e.0);Box::new(future::err((account, Ok(Either::A(b)))))}Err(Either::B((e, a))) => {Box::new(if let Some(client) = a.into_inner() {future::ok(future::Loop::Break((XmppConnection {state: XmppState { client, data },account,},Err(e),)))} else {future::err((account, Err(e)))})}}),)}Err(e) => future::err((xmpp.account, Err(e))),}} else {future::err((account, Ok(Either::A(b))))}}Ok(Either::B((t, a))) => {if let Some(inner) = a.into_inner() {future::ok(future::Loop::Break((XmppConnection { inner, account },Ok(Either::B(t)),)))} else {future::err((account, Ok(Either::B(t))))}}Err(Either::A((_e, b))) => future::err((account, Ok(Either::A(b)))),Err(Either::B((e, a))) => {if let Some(inner) = a.into_inner() {future::ok(future::Loop::Break((XmppConnection { inner, account },Err(e.into()),)))} else {future::err((account, Err(e.into())))}}}) - replacement in src/xmpp/mod.rs at line 181
/// returns error if something went wrong and xmpp connection is brokenfn online(&mut self, event: Event) -> Result<bool, ()> {/// returns error if something went wrongfn online(&mut self, event: &Event) -> Result<bool, failure::Error> { - replacement in src/xmpp/mod.rs at line 194
Err(())Err(format_err!("Disconnected while online")) - edit in src/xmpp/mod.rs at line 197[3.4387]→[3.4387:4394](∅→∅),[3.4387]→[3.4387:4394](∅→∅),[3.4387]→[3.4387:4394](∅→∅),[3.4387]→[3.4387:4394](∅→∅),[3.4387]→[3.4387:4394](∅→∅),[3.4394]→[3.2432:2509](∅→∅),[3.3992]→[3.4471:4690](∅→∅),[3.2509]→[3.4471:4690](∅→∅),[3.3783]→[3.4471:4690](∅→∅),[3.4092]→[3.4471:4690](∅→∅),[3.4859]→[3.4471:4690](∅→∅),[3.175]→[3.4471:4690](∅→∅),[3.4471]→[3.4471:4690](∅→∅),[3.4690]→[3.2510:2582](∅→∅),[3.2582]→[3.4739:4859](∅→∅),[3.3534]→[3.4739:4859](∅→∅),[3.129]→[3.4739:4859](∅→∅),[3.226]→[3.4739:4859](∅→∅),[3.4739]→[3.4739:4859](∅→∅),[3.4859]→[3.4860:4979](∅→∅),[3.4077]→[3.4978:5333](∅→∅),[3.3868]→[3.4978:5333](∅→∅),[3.4212]→[3.4978:5333](∅→∅),[3.4979]→[3.4978:5333](∅→∅),[3.4978]→[3.4978:5333](∅→∅),[3.5333]→[3.2583:2731](∅→∅),[3.2731]→[3.5399:5538](∅→∅),[3.3683]→[3.5399:5538](∅→∅),[3.4252]→[3.5399:5538](∅→∅),[3.5399]→[3.5399:5538](∅→∅),[3.5538]→[3.6634:6905](∅→∅),[3.6905]→[3.5538:5637](∅→∅),[3.4343]→[3.5538:5637](∅→∅),[3.569]→[3.5538:5637](∅→∅),[3.5538]→[3.5538:5637](∅→∅),[3.4399]→[3.4399:4441](∅→∅),[3.4441]→[3.4980:5208](∅→∅),[3.4176]→[3.5907:5945](∅→∅),[3.3967]→[3.5907:5945](∅→∅),[3.4441]→[3.5907:5945](∅→∅),[3.5208]→[3.5907:5945](∅→∅),[3.5907]→[3.5907:5945](∅→∅),[3.4597]→[3.4597:4631](∅→∅),[3.4631]→[3.5209:5398](∅→∅),[3.4260]→[3.6168:6269](∅→∅),[3.4051]→[3.6168:6269](∅→∅),[3.4631]→[3.6168:6269](∅→∅),[3.5398]→[3.6168:6269](∅→∅),[3.6168]→[3.6168:6269](∅→∅),[3.6269]→[3.1453:1479](∅→∅),[3.1453]→[3.1453:1479](∅→∅),[3.1479]→[3.6270:6299](∅→∅),[3.6299]→[3.5399:5487](∅→∅),[3.4326]→[3.8819:8841](∅→∅),[3.6387]→[3.8819:8841](∅→∅),[3.6897]→[3.8819:8841](∅→∅),[3.4117]→[3.8819:8841](∅→∅),[3.4720]→[3.8819:8841](∅→∅),[3.1996]→[3.8819:8841](∅→∅),[3.3261]→[3.8819:8841](∅→∅),[3.5487]→[3.8819:8841](∅→∅),[3.8819]→[3.8819:8841](∅→∅),[3.8841]→[3.6388:6475](∅→∅),[3.6475]→[3.5488:5564](∅→∅),[3.4392]→[3.6551:6717](∅→∅),[3.4183]→[3.6551:6717](∅→∅),[3.4797]→[3.6551:6717](∅→∅),[3.5564]→[3.6551:6717](∅→∅),[3.6551]→[3.6551:6717](∅→∅),[3.6717]→[3.5565:5625](∅→∅),[3.4426]→[3.6747:6753](∅→∅),[3.4247]→[3.6747:6753](∅→∅),[3.4858]→[3.6747:6753](∅→∅),[3.5625]→[3.6747:6753](∅→∅),[3.6747]→[3.6747:6753](∅→∅),[3.6753]→[3.5626:5676](∅→∅),[3.5676]→[3.227:278](∅→∅),[3.3733]→[3.5827:5845](∅→∅),[3.181]→[3.5827:5845](∅→∅),[3.4391]→[3.5827:5845](∅→∅),[3.617]→[3.5827:5845](∅→∅),[3.278]→[3.5827:5845](∅→∅),[3.5827]→[3.5827:5845](∅→∅),[3.4481]→[3.6870:6905](∅→∅),[3.4302]→[3.6870:6905](∅→∅),[3.4976]→[3.6870:6905](∅→∅),[3.5845]→[3.6870:6905](∅→∅),[3.6870]→[3.6870:6905](∅→∅),[3.6905]→[3.279:306](∅→∅),[3.306]→[3.2732:2804](∅→∅),[3.2804]→[3.366:434](∅→∅),[3.366]→[3.366:434](∅→∅),[3.434]→[3.2805:2857](∅→∅),[3.2857]→[3.6971:7065](∅→∅),[3.3800]→[3.6971:7065](∅→∅),[3.389]→[3.6971:7065](∅→∅),[3.434]→[3.6971:7065](∅→∅),[3.6971]→[3.6971:7065](∅→∅),[3.7065]→[3.5846:5861](∅→∅),[3.4516]→[3.7080:7201](∅→∅),[3.4337]→[3.7080:7201](∅→∅),[3.4992]→[3.7080:7201](∅→∅),[3.5861]→[3.7080:7201](∅→∅),[3.7080]→[3.7080:7201](∅→∅),[3.7201]→[3.5862:5887](∅→∅),[3.4586]→[3.7226:7312](∅→∅),[3.4407]→[3.7226:7312](∅→∅),[3.5018]→[3.7226:7312](∅→∅),[3.5887]→[3.7226:7312](∅→∅),[3.7226]→[3.7226:7312](∅→∅),[3.7312]→[3.4392:4447](∅→∅),[3.4636]→[3.7369:7416](∅→∅),[3.3858]→[3.7369:7416](∅→∅),[3.4457]→[3.7369:7416](∅→∅),[3.5076]→[3.7369:7416](∅→∅),[3.4447]→[3.7369:7416](∅→∅),[3.673]→[3.7369:7416](∅→∅),[3.6047]→[3.7369:7416](∅→∅),[3.7369]→[3.7369:7416](∅→∅),[3.7416]→[3.2858:2939](∅→∅),[3.2939]→[3.6048:6347](∅→∅),[3.607]→[3.6048:6347](∅→∅),[3.7497]→[3.6048:6347](∅→∅),[3.5125]→[3.7778:7793](∅→∅),[3.4946]→[3.7778:7793](∅→∅),[3.5376]→[3.7778:7793](∅→∅),[3.6347]→[3.7778:7793](∅→∅),[3.2016]→[3.7778:7793](∅→∅)
}fn process_initial_roster(&mut self, event: Event) -> Result<bool, ()> {if let Event::Stanza(s) = event {use try_from::TryInto;match s.try_into() as Result<xmpp_parsers::iq::Iq, _> {Ok(iq) => {if let Some(id) = iq.id {if Some(id) == self.state.data.id_init_roster {match iq.payload {xmpp_parsers::iq::IqType::Error(_e) => {error!("Get error instead of roster");Err(())}xmpp_parsers::iq::IqType::Result(Some(result)) => {match result.try_into()as Result<xmpp_parsers::roster::Roster, _>{Ok(roster) => {self.state.data.roster.clear();info!("Got first roster:");for i in roster.items {info!(" >>> {:?}", i);self.state.data.roster.insert(i.jid, (i.subscription, vec![]));}Ok(true)}Err(e) => {error!("Cann't parse roster: {}", e);Err(())}}}_ => {error!("Unknown result of roster");Err(())}}} else {Ok(false)}} else {error!("Iq stanza without id");Err(())}}Err(_e) => Ok(false),}} else {error!("Wrong event while waiting roster");Err(())}}fn initial_roster<F, E>(self,stop_future: F,) -> impl Future<Item = Self, Error = std::rc::Rc<config::Account>>whereF: Future<Error = E> + 'static,E: 'static,{let XmppConnection {account,state: XmppState { client, mut data },} = self;use tokio::prelude::Sink;data.counter += 1;let id_init_roster = format!("id_init_roster{}", data.counter);let get_roster = stanzas::make_get_roster(&id_init_roster);data.id_init_roster = Some(id_init_roster);let account2 = account.clone();info!("Quering roster... {:?}", get_roster);client.send(get_roster).map_err(move |e| {error!("Error on querying roster: {}", e);account2}).and_then(move |client| {XmppConnection {state: XmppState { client, data },account,}.processing(XmppConnection::process_initial_roster, stop_future).map_err(|(account, _)| account).and_then(|(conn, r)| match r {Ok(Either::A(_)) => future::ok(conn),Ok(Either::B(_)) => future::err(conn.account),Err(_e) => future::err(conn.account),})}) - replacement in src/xmpp/mod.rs at line 204
F: Future<Error = E> + 'static,E: Into<failure::Error> + 'static,F: Future<Error = E>,E: Into<failure::Error>, - replacement in src/xmpp/mod.rs at line 207[3.8011]→[3.6432:6482](∅→∅),[3.6482]→[3.4448:4495](∅→∅),[3.3908]→[3.6633:6651](∅→∅),[3.4495]→[3.6633:6651](∅→∅),[3.721]→[3.6633:6651](∅→∅),[3.6633]→[3.6633:6651](∅→∅)
let XmppConnection {account,state: XmppState { client, data },} = self;let XmppConnection { account, inner } = self;let client = inner; - edit in src/xmpp/mod.rs at line 212
info!("Sending presence..."); - edit in src/xmpp/mod.rs at line 214
info!("Sending presence... {:?}", presence); - replacement in src/xmpp/mod.rs at line 218
account2(account2, Err(failure::SyncFailure::new(e).into())) - replacement in src/xmpp/mod.rs at line 222
state: XmppState { client, data },inner: client, - replacement in src/xmpp/mod.rs at line 228[3.8658]→[3.8658:9042](∅→∅),[3.8658]→[3.8658:9042](∅→∅),[3.8658]→[3.8658:9042](∅→∅),[3.8658]→[3.8658:9042](∅→∅),[3.8658]→[3.8658:9042](∅→∅),[3.8658]→[3.8658:9042](∅→∅),[3.8658]→[3.8658:9042](∅→∅),[3.8658]→[3.8658:9042](∅→∅)
if s.name() == "presence"&& s.attr("from").map_or(false, |f| f == conn.account.jid)&& s.attr("to").map_or(false, |f| f == conn.account.jid){Ok(true)} else {Ok(false)use try_from::TryInto;match s.try_into() as Result<xmpp_parsers::presence::Presence, _> {Ok(presence) => {Ok(presence.from.as_ref() == Some(&conn.state.client.jid))}Err(e) => {warn!("Not a self-presence: {}", e);Ok(false)} - replacement in src/xmpp/mod.rs at line 239
error!("Wrong event while waiting self-presence");Err(())Err(format_err!("Wrong event while waiting self-presence")) - replacement in src/xmpp/mod.rs at line 244
.map_err(|(account, _)| account).and_then(|(conn, r)| match r {Ok(Either::A(_)) => future::ok(conn),Ok(Either::B(_)) => future::err(conn.account),Err(_e) => future::err(conn.account),})}).then(|r| match r {Err((account, e)) => {error!("Cann't wait self-presence");future::err(account)}Ok((conn, _)) => future::ok(conn), - edit in src/xmpp/mod.rs at line 253[3.12136]→[3.4552:4553](∅→∅),[3.4553]→[2.7547:7601](∅→∅),[2.7601]→[3.4692:4722](∅→∅),[3.7044]→[3.4692:4722](∅→∅),[3.7037]→[3.4692:4722](∅→∅),[3.4692]→[3.4692:4722](∅→∅),[3.4722]→[3.7045:7129](∅→∅),[3.7129]→[3.4786:4838](∅→∅),[3.3031]→[3.4786:4838](∅→∅),[3.684]→[3.4786:4838](∅→∅),[3.4786]→[3.4786:4838](∅→∅),[3.7275]→[3.7275:8037](∅→∅),[3.8070]→[3.4867:4940](∅→∅),[3.3111]→[3.4867:4940](∅→∅),[3.4867]→[3.4867:4940](∅→∅),[3.8206]→[3.3247:3248](∅→∅),[3.3247]→[3.3247:3248](∅→∅),[3.3248]→[2.7602:7729](∅→∅),[2.7729]→[3.3353:3445](∅→∅),[3.8312]→[3.3353:3445](∅→∅),[3.7165]→[3.3353:3445](∅→∅),[3.3353]→[3.3353:3445](∅→∅),[3.3445]→[2.7730:7883](∅→∅),[2.7883]→[3.3489:3552](∅→∅),[3.8357]→[3.3489:3552](∅→∅),[3.7319]→[3.3489:3552](∅→∅),[3.3489]→[3.3489:3552](∅→∅),[3.8396]→[3.3590:3591](∅→∅),[3.3590]→[3.3590:3591](∅→∅),[3.3591]→[2.7884:7946](∅→∅),[2.7946]→[3.5454:5464](∅→∅),[3.9039]→[3.5454:5464](∅→∅),[3.4233]→[3.5454:5464](∅→∅),[3.7382]→[3.5454:5464](∅→∅),[3.5454]→[3.5454:5464](∅→∅),[3.710]→[3.5464:5470](∅→∅),[3.5464]→[3.5464:5470](∅→∅)
fn process_command(&mut self, cmd: XmppCommand) {info!("Got command");if let Some(ref mut rdata) = self.state.data.roster.get_mut(&cmd.xmpp_to) {info!("Jid {} in roster", cmd.xmpp_to);let sub_to = match rdata.0 {xmpp_parsers::roster::Subscription::To => true,xmpp_parsers::roster::Subscription::Both => true,_ => false,};if sub_to {info!("Subscribed to {}", cmd.xmpp_to);self.state.data.send_queue.push_back(stanzas::make_chat_message(cmd.xmpp_to, cmd.message));} else {info!("Not subscribed to {}", cmd.xmpp_to);rdata.1.push(cmd.message);self.state.data.send_queue.push_back(stanzas::make_ask_subscribe(cmd.xmpp_to));}} else {info!("Jid {} not in roster", cmd.xmpp_to);self.state.data.counter += 1;let id_add_roster = format!("id_add_roster{}", self.state.data.counter);let add_roster = stanzas::make_add_roster(&id_add_roster, cmd.xmpp_to.clone());self.state.data.pending_add_roster_ids.insert(id_add_roster, (cmd.xmpp_to, cmd.message));info!("Adding jid to roster... {:?}", add_roster);self.state.data.send_queue.push_back(add_roster);}} - replacement in src/xmpp/mod.rs at line 256
pub struct XmppCommand {pub xmpp_to: xmpp_parsers::Jid,pub message: String,}pub struct XmppCommand; - replacement in src/xmpp/mod.rs at line 258
struct XmppProcessState<F, S> {struct XmppState<F, S> { - replacement in src/xmpp/mod.rs at line 264
impl<F, S> XmppProcessState<F, S> {fn new(cmd_recv: S, signal: F, conn: MaybeXmppConnection) -> XmppProcessState<F, S> {XmppProcessState {impl<F, S> XmppState<F, S> {fn new(cmd_recv: S, signal: F, conn: MaybeXmppConnection) -> XmppState<F, S> {XmppState { - replacement in src/xmpp/mod.rs at line 284
let conn = account.into();let conn = MaybeXmppConnection::new(account); - replacement in src/xmpp/mod.rs at line 286
future::loop_fn(XmppProcessState::new(cmd_recv, signal, conn), |s| {let XmppProcessState {future::loop_fn(XmppState::new(cmd_recv, signal, conn), |s| {let XmppState { - replacement in src/xmpp/mod.rs at line 292[3.4692]→[3.5795:5994](∅→∅),[3.5994]→[2.8036:8646](∅→∅),[2.8646]→[3.6478:6591](∅→∅),[3.9637]→[3.6478:6591](∅→∅),[3.7993]→[3.6478:6591](∅→∅),[3.6478]→[3.6478:6591](∅→∅),[3.6591]→[2.8647:8937](∅→∅),[2.8937]→[3.7141:7177](∅→∅),[3.10187]→[3.7141:7177](∅→∅),[3.8284]→[3.7141:7177](∅→∅),[3.7141]→[3.7141:7177](∅→∅),[3.10264]→[3.7253:7290](∅→∅),[3.7253]→[3.7253:7290](∅→∅),[3.7290]→[2.8938:9006](∅→∅),[2.9006]→[3.7368:7398](∅→∅),[3.10343]→[3.7368:7398](∅→∅),[3.8353]→[3.7368:7398](∅→∅),[3.7368]→[3.7368:7398](∅→∅),[3.5175]→[3.9142:9168](∅→∅),[3.7398]→[3.9142:9168](∅→∅),[3.9142]→[3.9142:9168](∅→∅),[3.9168]→[2.9007:9097](∅→∅),[2.9097]→[3.7499:7522](∅→∅),[3.10444]→[3.7499:7522](∅→∅),[3.8444]→[3.7499:7522](∅→∅),[3.7499]→[3.7499:7522](∅→∅),[3.7522]→[2.9098:9149](∅→∅),[2.9149]→[3.7582:8118](∅→∅),[3.10505]→[3.7582:8118](∅→∅),[3.8496]→[3.7582:8118](∅→∅),[3.7582]→[3.7582:8118](∅→∅)
conn.connect(signal.clone()).and_then(|conn| {info!("xmpp connected!");conn.processing(|_, _| Ok(false), cmd_recv.into_future()).then(|r| match r {Ok((mut conn, r)) => match r {Ok(Either::A(f)) => {if let Some(cmd_recv) = f.into_inner() {future::ok(future::Loop::Continue(XmppProcessState {cmd_recv,signal,conn: conn.into(),}))} else {future::err(format_err!("Command receiver is gone"))}}Ok(Either::B((cmd, cmd_recv))) => {if let Some(cmd) = cmd {conn.process_command(cmd);future::ok(future::Loop::Continue(XmppProcessState {cmd_recv,signal,conn: conn.into(),}))} else {future::ok(future::Loop::Break(()))}}Err(_) => future::err(format_err!("Command receiver is broken")),},Err((account, r)) => match r {Ok(Either::A(f)) => {if let Some(cmd_recv) = f.into_inner() {future::ok(future::Loop::Continue(XmppProcessState {cmd_recv,signal,conn: account.into(),}))} else {future::err(format_err!("Command receiver is gone"))}conn.connect(signal.clone()).and_then(|conn| {info!("xmpp connected!");cmd_recv.into_future().map_err(|_| {error!("Got error on recv cmd");format_err!("Receive cmd error")}).map(|(cmd, cmd_recv)| (cmd, cmd_recv, conn))}).then(|r| {match r {Ok((cmd, cmd_recv, conn)) => {if let Some(_cmd) = cmd {info!("Got cmd");// got cmd, continuefuture::ok(future::Loop::Continue(XmppState::new(cmd_recv,signal,conn.into(),)))} else {future::ok(future::Loop::Break((None, conn.into()))) - replacement in src/xmpp/mod.rs at line 317[3.8144]→[3.8144:8862](∅→∅),[3.8144]→[3.8144:8862](∅→∅),[3.8144]→[3.8144:8862](∅→∅),[3.8144]→[3.8144:8862](∅→∅),[3.8862]→[2.9150:9173](∅→∅),[2.9173]→[3.8886:8916](∅→∅),[3.10530]→[3.8886:8916](∅→∅),[3.8520]→[3.8886:8916](∅→∅),[3.8886]→[3.8886:8916](∅→∅)
Ok(Either::B((cmd, cmd_recv))) => {if let Some(_cmd) = cmd {error!("Xmpp connection broken while get command");future::ok(future::Loop::Continue(XmppProcessState {cmd_recv,signal,conn: account.into(),}))} else {future::ok(future::Loop::Break(()))}}Err(_) => future::err(format_err!("Command receiver is broken")),},})})}Err(e) => {// got cmd error, its baderror!("Cmd error: {}", e);future::err(format_err!("Cmd error"))}}})}).and_then(|(opt_cmd_recv, _conn): (Option<S>, MaybeXmppConnection)| {if let Some(cmd_recv) = opt_cmd_recv {// process left commandsinfo!("Stop accepting commands");Box::new(cmd_recv.for_each(|_cmd| future::ok(())).map_err(|_| format_err!("cmd receiver last error")),) as Box<Future<Item = (), Error = failure::Error>>} else {Box::new(future::ok(()))} - edit in src/main.rs at line 2
#![deny(bare_trait_objects)] - edit in src/main.rs at line 7
extern crate minidom; - edit in src/main.rs at line 22
use hyper::service::service_fn; - replacement in src/main.rs at line 28
use tokio::prelude::{Future, Sink, Stream};use tokio::prelude::Sink; - edit in src/main.rs at line 38
struct ServiceCmd {cmd_send: tokio_channel::mpsc::Sender<XmppCommand>,}impl hyper::service::Service for ServiceCmd {type ReqBody = Body;type ResBody = Body;type Error = failure::Error;type Future =Box<dyn Future<Item = Response<Self::ResBody>, Error = Self::Error> + Send + 'static>;fn call(&mut self, req: Request<Self::ReqBody>) -> Self::Future {let xmpp_to_opt = req.headers().get("X-XMPP-To");let xmpp_to_res: Result<xmpp_parsers::Jid, failure::Error> = xmpp_to_opt.map_or_else(|| Err(format_err!("No X-XMPP-To header")),|xmpp_to| {std::str::from_utf8(xmpp_to.as_bytes()).map_err(|e| e.into()).and_then(|s| {std::str::FromStr::from_str(s).map_err(|e: xmpp_parsers::JidParseError| e.into())})},);match xmpp_to_res {Err(err) => {warn!("Unknown destination: {}", err);Box::new(tokio::prelude::future::result(Response::builder().status(hyper::StatusCode::BAD_REQUEST).body(Body::from(format!("Unknown destination: {}", err))).map_err(|e| e.into()),)) as Box<dyn Future<Item = _, Error = _> + Send + 'static>}Ok(xmpp_to) => {info!("Got request. Reading body...");let cmd_send = self.cmd_send.clone();Box::new(req.into_body().map_err(|e| e.into()).fold(String::new(), |mut acc, ch| {std::str::from_utf8(&*ch).map(|s| {acc.push_str(s);acc})}).and_then(move |message: String| {if !message.is_empty() {Box::new(cmd_send.clone().send(XmppCommand { xmpp_to, message }).then(|r| match r {Ok(_) => tokio::prelude::future::ok(Response::new(Body::from("Accepted"),)),Err(e) => {error!("Command sent error: {}", e);tokio::prelude::future::result(Response::builder().status(hyper::StatusCode::BAD_REQUEST).body(Body::from(format!("Command sent error: {}",e))),)}}).map_err(|e| e.into()),)} else {warn!("Empty message");Box::new(tokio::prelude::future::result(Response::builder().status(hyper::StatusCode::BAD_REQUEST).body(Body::from("Empty message")).map_err(|e| e.into()),))as Box<dyn Future<Item = _, Error = _> + Send + 'static>}}),) as Box<dyn Future<Item = _, Error = _> + Send + 'static>}}}}struct MakeServiceCmd {cmd_send: tokio_channel::mpsc::Sender<XmppCommand>,} - edit in src/main.rs at line 39
impl<Ctx> hyper::service::MakeService<Ctx> for MakeServiceCmd {type ReqBody = Body;type ResBody = Body;type Error = failure::Error;type Service = ServiceCmd;type Future = tokio::prelude::future::FutureResult<ServiceCmd, Self::MakeError>;type MakeError = hyper::http::Error;fn make_service(&mut self, _ctx: Ctx) -> Self::Future {tokio::prelude::future::ok(ServiceCmd {cmd_send: self.cmd_send.clone(),})}} - replacement in src/main.rs at line 72
.serve(MakeServiceCmd { cmd_send }).serve(move || {let cmd_send = cmd_send.clone();service_fn(move |_req: Request<Body>| {info!("Got request");cmd_send.clone().send(XmppCommand {}).then(|r| match r {Ok(_) => tokio::prelude::future::ok(Response::new(Body::from("Accepted"))),Err(e) => {error!("Command sent error: {}", e);tokio::prelude::future::result(Response::builder().status(hyper::StatusCode::BAD_REQUEST).body(Body::from(format!("Command sent error: {}", e))),)}})})}) - replacement in Cargo.toml at line 12
tokio-xmpp = "0.2.3"failure = "0.1.5"tokio-xmpp = "0.2"failure = "0.1" - replacement in Cargo.toml at line 21
xmpp-parsers = "0.12.2"minidom = "=0.10.0" # xmpp-parserstry_from = "=0.3.2" # xmpp-parsers[3.7043]minidom = "=0.9.1" # dependency of tokio-xmppxmpp-parsers = "0.11" - edit in Cargo.lock at line 0
[[package]]name = "MacTypes-sys"version = "2.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)",] - replacement in Cargo.lock at line 5
"memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)","memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 18
version = "0.3.7"version = "0.3.6"source = "registry+https://github.com/rust-lang/crates.io-index"[[package]]name = "arrayref"version = "0.3.5" - replacement in Cargo.lock at line 28
version = "0.4.10"version = "0.4.8" - replacement in Cargo.lock at line 39
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 45
name = "autocfg"version = "0.1.2"name = "backtrace"version = "0.2.3" - edit in Cargo.lock at line 48
dependencies = ["backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)","cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)","kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)","winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",] - replacement in Cargo.lock at line 60
version = "0.3.13"version = "0.3.9" - replacement in Cargo.lock at line 63
"autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)","backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)","backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 65
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","rustc-demangle 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 72
version = "0.1.28"version = "0.1.24" - replacement in Cargo.lock at line 75
"cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 81
version = "0.10.0"version = "0.9.3" - replacement in Cargo.lock at line 84
"byteorder 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)","byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)","safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 95
version = "0.8.0"version = "0.7.1" - replacement in Cargo.lock at line 98
"byte-tools 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)","crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)","digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)","opaque-debug 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)","byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)","crypto-mac 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)","digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 105
version = "0.7.0"version = "0.3.3" - replacement in Cargo.lock at line 108
"block-padding 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)","byte-tools 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)","byteorder 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)","generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)","arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)","byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 113[2.15975]→[2.15975:16016](∅→∅),[2.16016]→[3.10586:10668](∅→∅),[3.10586]→[3.10586:10668](∅→∅),[3.10668]→[2.16017:16094](∅→∅),[2.16094]→[3.10820:10835](∅→∅),[3.10820]→[3.10820:10835](∅→∅)
name = "block-padding"version = "0.1.2"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["byte-tools 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",][[package]] - replacement in Cargo.lock at line 114
version = "0.3.0"version = "0.2.0" - replacement in Cargo.lock at line 119
version = "1.3.0"version = "1.2.7" - replacement in Cargo.lock at line 127
"byteorder 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)","byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 138
version = "1.0.28"version = "1.0.25" - replacement in Cargo.lock at line 153
"time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)","time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 177
[[package]]name = "constant_time_eq"version = "0.1.3"source = "registry+https://github.com/rust-lang/crates.io-index" - replacement in Cargo.lock at line 189
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 195[3.13367]→[3.13367:13449](∅→∅),[3.13367]→[3.13367:13449](∅→∅),[3.13367]→[3.13367:13449](∅→∅),[3.13367]→[3.13367:13449](∅→∅),[3.13367]→[3.13367:13449](∅→∅),[3.13367]→[3.13367:13449](∅→∅),[3.13367]→[3.13367:13449](∅→∅),[3.13367]→[3.13367:13449](∅→∅),[3.13367]→[3.13367:13449](∅→∅),[3.13367]→[3.13367:13449](∅→∅),[3.13449]→[2.16376:16508](∅→∅)
source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)",][[package]]name = "crossbeam-channel"version = "0.3.6" - replacement in Cargo.lock at line 197
"crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)","parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)","rand 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)","smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 202
version = "0.6.3"version = "0.6.2" - replacement in Cargo.lock at line 205
"crossbeam-epoch 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-epoch 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 211
version = "0.7.0"version = "0.6.1" - replacement in Cargo.lock at line 214
"arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)","arrayvec 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 216
"crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 224
version = "0.6.3"version = "0.6.1" - replacement in Cargo.lock at line 232
version = "0.7.0"version = "0.5.2"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",][[package]]name = "dbghelp-sys"version = "0.2.0" - replacement in Cargo.lock at line 244
"generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)","subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)","winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)","winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 260
version = "0.8.0"version = "0.7.6" - replacement in Cargo.lock at line 263
"generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)","generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 268
version = "0.8.14"version = "0.8.12" - replacement in Cargo.lock at line 282
"regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)","regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 288
version = "0.1.12"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["backtrace 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",][[package]]name = "error-chain" - replacement in Cargo.lock at line 299
"backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)","backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 304
version = "0.1.5"version = "0.1.3" - replacement in Cargo.lock at line 307
"backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)","failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)","failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 313
version = "0.1.5"version = "0.1.3" - replacement in Cargo.lock at line 316
"proc-macro2 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)","proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 379
"num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)","num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 384
version = "0.12.0"version = "0.9.0" - replacement in Cargo.lock at line 392
version = "0.1.15"version = "0.1.14" - replacement in Cargo.lock at line 395
"byteorder 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)","byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 402
"slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)","string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)","string 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 408
name = "hmac"version = "0.7.0"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)","digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",][[package]] - replacement in Cargo.lock at line 412
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 441
version = "0.12.21"version = "0.12.17" - replacement in Cargo.lock at line 447
"h2 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)","h2 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 454
"time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)","tokio 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)","tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)","tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","tokio-threadpool 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)","tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)","tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)","tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)","tokio-threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 485
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 508
version = "0.5.3"version = "0.5.2" - replacement in Cargo.lock at line 511
"failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","minidom 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)","failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","minidom 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 542
version = "0.2.47"version = "0.2.44" - replacement in Cargo.lock at line 582
version = "0.7.5"version = "0.7.3" - replacement in Cargo.lock at line 585
"phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)","phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)","serde 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)","serde_derive 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)","serde_json 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)","phf 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)","phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)","serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)","serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)","serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 592
"tendril 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)","tendril 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 602
version = "2.1.3"version = "2.1.1" - replacement in Cargo.lock at line 606
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 617
version = "0.10.0"version = "0.9.1" - replacement in Cargo.lock at line 620
"failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","quick-xml 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)","failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","quick-xml 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 635
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 639
"slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)","slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 649
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 670
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 672
"openssl 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)","openssl 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 674
"openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)","openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 676
"security-framework 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)","security-framework-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)","security-framework 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)","security-framework-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 687
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 719
version = "1.9.0"version = "1.8.0" - replacement in Cargo.lock at line 722
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 726
name = "opaque-debug"version = "0.2.1"source = "registry+https://github.com/rust-lang/crates.io-index"[[package]] - replacement in Cargo.lock at line 727
version = "0.10.16"version = "0.10.15" - replacement in Cargo.lock at line 734
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 745
version = "0.9.40"version = "0.9.39" - replacement in Cargo.lock at line 748
"cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 764
version = "0.7.1"version = "0.6.4" - replacement in Cargo.lock at line 768
"parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)","parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 773
version = "0.4.0"version = "0.3.1" - replacement in Cargo.lock at line 776
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","rand 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 779
"smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)","smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 784
name = "pbkdf2"version = "0.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["byteorder 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)","crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",][[package]] - replacement in Cargo.lock at line 790
version = "0.7.24"version = "0.7.23" - replacement in Cargo.lock at line 793
"phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)","phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 798
version = "0.7.24"version = "0.7.23" - replacement in Cargo.lock at line 801
"phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)","phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)","phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)","phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 807
version = "0.7.24"version = "0.7.23" - replacement in Cargo.lock at line 810
"phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)","rand 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)","phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)","rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 816
version = "0.7.24"version = "0.7.23" - replacement in Cargo.lock at line 834
version = "0.4.26"version = "0.4.24" - replacement in Cargo.lock at line 847
version = "0.13.2"version = "0.12.4" - replacement in Cargo.lock at line 850
"encoding_rs 0.8.14 (registry+https://github.com/rust-lang/crates.io-index)","failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","encoding_rs 0.8.12 (registry+https://github.com/rust-lang/crates.io-index)","failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 853
"memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)","memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 863
version = "0.6.11"version = "0.6.10"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",][[package]]name = "rand"version = "0.4.3" - replacement in Cargo.lock at line 874
"proc-macro2 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)","fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 886
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 893
version = "0.6.4"version = "0.6.1" - replacement in Cargo.lock at line 896
"autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)","cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)","fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","rand_chacha 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 903
"rand_os 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 904
"rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)","rand_xorshift 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)","rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 911
version = "0.1.1"version = "0.1.0" - edit in Cargo.lock at line 914
"autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 915
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 948[2.24177]→[2.24177:24194](∅→∅),[2.24194]→[3.39193:39293](∅→∅),[3.39193]→[3.39193:39293](∅→∅),[3.39293]→[2.24195:24423](∅→∅),[2.24423]→[3.39293:39369](∅→∅),[3.39293]→[3.39293:39369](∅→∅),[3.39369]→[2.24424:24570](∅→∅),[2.24570]→[3.39369:39384](∅→∅),[3.39369]→[3.39369:39384](∅→∅)
name = "rand_os"version = "0.1.1"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)","fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)","rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)","winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",][[package]] - replacement in Cargo.lock at line 958
version = "0.1.1"source = "registry+https://github.com/rust-lang/crates.io-index"dependencies = ["rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",][[package]]name = "rdrand"version = "0.4.0"version = "0.1.0" - replacement in Cargo.lock at line 966
version = "0.1.51"version = "0.1.43" - replacement in Cargo.lock at line 974
"redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 979
version = "1.1.0"version = "1.0.6" - replacement in Cargo.lock at line 983
"memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)","regex-syntax 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)","memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)","regex-syntax 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 991
version = "0.6.4"version = "0.6.3" - replacement in Cargo.lock at line 1007
version = "0.6.2"version = "0.6.1" - replacement in Cargo.lock at line 1016
version = "0.1.13"version = "0.1.9" - edit in Cargo.lock at line 1033
name = "safemem"version = "0.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"[[package]] - replacement in Cargo.lock at line 1039
version = "0.4.3"version = "0.4.2" - replacement in Cargo.lock at line 1042
"base64 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)","hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)","pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)","rand_os 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)","sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)","sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)","base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)","openssl 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1062
version = "0.2.2"version = "0.2.1" - replacement in Cargo.lock at line 1067
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","security-framework-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","security-framework-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1073
version = "0.2.3"version = "0.2.1" - edit in Cargo.lock at line 1076
"MacTypes-sys 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1077
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1099
"failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","hyper 0.12.21 (registry+https://github.com/rust-lang/crates.io-index)","failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","hyper 0.12.17 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1102
"minidom 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)","serde 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)","serde_derive 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)","tokio 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)","minidom 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)","serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)","serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)","tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1108
"tokio-xmpp 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)","tokio-xmpp 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1110
"try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)","xmpp-parsers 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)","xmpp-parsers 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1115
version = "1.0.85"version = "1.0.80" - replacement in Cargo.lock at line 1120
version = "1.0.85"version = "1.0.80" - replacement in Cargo.lock at line 1123
"proc-macro2 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)","proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1130
version = "1.0.36"version = "1.0.33" - replacement in Cargo.lock at line 1135
"serde 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)","serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1140
version = "0.8.1"version = "0.7.0" - replacement in Cargo.lock at line 1143
"block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)","digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)","block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)","byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)","digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 1147
"opaque-debug 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1151
version = "0.8.0"version = "0.7.1" - replacement in Cargo.lock at line 1154
"block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)","digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)","block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)","byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)","digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 1158
"opaque-debug 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1162
version = "0.8.1"version = "0.7.3" - replacement in Cargo.lock at line 1165
"block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)","byte-tools 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)","digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)","block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)","byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)","digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 1169
"opaque-debug 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1173
version = "0.1.7"version = "0.1.6" - replacement in Cargo.lock at line 1176
"arc-swap 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","arc-swap 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1187
version = "0.4.2"version = "0.4.1" - replacement in Cargo.lock at line 1192
version = "0.6.8"version = "0.6.6" - replacement in Cargo.lock at line 1204
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1216
version = "0.1.3"version = "0.1.2" - replacement in Cargo.lock at line 1226
"phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)","phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1228
"serde 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)","serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1238
"phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)","phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)","proc-macro2 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)","phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)","phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)","proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 1256
name = "subtle"version = "1.0.0"source = "registry+https://github.com/rust-lang/crates.io-index"[[package]] - replacement in Cargo.lock at line 1267
version = "0.15.26"version = "0.15.22" - replacement in Cargo.lock at line 1270
"proc-macro2 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)","proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1288
"proc-macro2 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)","proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)","quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)","syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1300
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","rand 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1309
version = "0.4.1"version = "0.4.0" - replacement in Cargo.lock at line 1314
"utf-8 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)","utf-8 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1330
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1353
version = "0.1.42"version = "0.1.40" - replacement in Cargo.lock at line 1356
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)","redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1363
version = "0.1.14"version = "0.1.13" - replacement in Cargo.lock at line 1369
"num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)","num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1372
"tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-fs 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)","tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","tokio-threadpool 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","tokio-fs 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)","tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)","tokio-threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1380
"tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)","tokio-uds 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1398
"tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1407
"tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1412
version = "0.1.6"version = "0.1.5" - edit in Cargo.lock at line 1415
"crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1420
version = "0.1.5"version = "0.1.4" - replacement in Cargo.lock at line 1424
"tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio-threadpool 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","tokio-threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1430
version = "0.1.11"version = "0.1.10" - replacement in Cargo.lock at line 1440
version = "0.1.8"version = "0.1.7" - replacement in Cargo.lock at line 1443
"crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1448
"num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)","parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)","slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)","tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)","parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)","slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)","tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1461
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1464
"signal-hook 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)","tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)","signal-hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1473
version = "0.1.3"version = "0.1.2" - replacement in Cargo.lock at line 1480
"tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1486
version = "0.1.10"version = "0.1.9" - replacement in Cargo.lock at line 1489
"crossbeam-channel 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-deque 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1493
"num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)","rand 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)","tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)","rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)","tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1503
"crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)","crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1505
"slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)","tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)","tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1511
version = "0.2.1"version = "0.2.0" - replacement in Cargo.lock at line 1516
"tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1529
"tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1535
version = "0.2.5"version = "0.2.4" - replacement in Cargo.lock at line 1541
"libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)","libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1546
"tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1552
version = "0.2.3"version = "0.2.0" - edit in Cargo.lock at line 1559
"jid 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)","minidom 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1562
"quick-xml 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)","sasl 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)","tokio 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)","quick-xml 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)","sasl 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)","tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1566
"tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio-tls 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)","trust-dns-proto 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)","trust-dns-resolver 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","tokio-tls 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)","trust-dns-proto 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)","trust-dns-resolver 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)","try_from 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1572
"xmpp-parsers 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)","xmpp-parsers 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1580
"serde 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)","serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1585
version = "0.6.2"version = "0.4.3" - replacement in Cargo.lock at line 1588
"byteorder 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)","failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)","error-chain 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1594
"rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)","smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)","rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)","smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1597
"tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)","tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)","tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)","tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)","tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1608
version = "0.10.2"version = "0.9.1" - replacement in Cargo.lock at line 1612
"failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)","error-chain 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1618
"resolv-conf 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)","smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)","tokio 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)","trust-dns-proto 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)","resolv-conf 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)","smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)","tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)","trust-dns-proto 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1631
version = "0.3.2"version = "0.2.2" - edit in Cargo.lock at line 1633
dependencies = ["cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",] - replacement in Cargo.lock at line 1692
version = "0.7.5"version = "0.7.4" - edit in Cargo.lock at line 1708
source = "registry+https://github.com/rust-lang/crates.io-index"[[package]]name = "version_check"version = "0.1.5" - replacement in Cargo.lock at line 1813
"markup5ever 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)","time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)","markup5ever 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)","time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1819
version = "0.12.2"version = "0.11.1" - replacement in Cargo.lock at line 1822
"base64 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)","blake2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)","base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)","blake2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - replacement in Cargo.lock at line 1825
"digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)","jid 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)","minidom 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)","sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)","sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)","sha3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)","try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)","digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)","jid 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)","minidom 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)","sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)","sha2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)","sha3 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)","try_from 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - edit in Cargo.lock at line 1835
"checksum MacTypes-sys 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "eaf9f0d0b1cc33a4d2aee14fb4b2eac03462ef4db29c8ac4057327d8a71ad86f" - replacement in Cargo.lock at line 1837
"checksum arc-swap 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1025aeae2b664ca0ea726a89d574fe8f4e77dd712d443236ad1de00379450cf6""checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71""checksum arc-swap 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "5c5ed110e2537bdd3f5b9091707a8a5556a72ac49bbd7302ae0b28fdccb3246c""checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee""checksum arrayvec 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "f405cc4c21cd8b784f6c8fc2adf9bc00f59558f0049b5ec21517f875963040cc" - replacement in Cargo.lock at line 1841
"checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799""checksum backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "b5b493b66e03090ebc4343eb02f94ff944e0cbc9ac6571491d170ba026741eb5""checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6""checksum base64 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "621fc7ecb8008f86d7fb9b95356cd692ce9514b80a86d85b397f32a22da7b9e2""checksum backtrace 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "346d7644f0b5f9bc73082d3b2236b69a05fd35cce0cfa3724e184e6a5c9e2a2f""checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a""checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0""checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643" - replacement in Cargo.lock at line 1846
"checksum blake2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "91721a6330935673395a0607df4d49a9cb90ae12d259f1b3e0a3f6e1d486872e""checksum block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49665c62e0e700857531fa5d3763e91b539ff1abeebd56808d378b495870d60d""checksum block-padding 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4fc4358306e344bf9775d0197fd00d2603e5afb0771bb353538630f022068ea3""checksum byte-tools 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "980479e6fde23246dfb54d47580d66b4e99202e7579c5eaa9fe10ecb5ebd2182""checksum byteorder 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60f0b0d4c0a382d2734228fd12b5a6b5dac185c60e938026fd31b265b94f9bd2""checksum blake2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73b77e29dbd0115e43938be2d5128ecf81c0353e00acaa65339a1242586951d9""checksum block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab""checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40""checksum byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "94f88df23a25417badc922ab0f5716cc1330e87f71ddd9203b3a3ccd9cedf75d" - replacement in Cargo.lock at line 1852
"checksum cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4a8b715cb4597106ea87c7c84b2f1d452c7492033765df7f32651e66fcf749""checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16" - edit in Cargo.lock at line 1857
"checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e" - replacement in Cargo.lock at line 1860
"checksum crossbeam-channel 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "137bc235f622ffaa0428e3854e24acb53291fc0b3ff6fb2cb75a8be6fb02f06b""checksum crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "05e44b8cf3e1a625844d1750e1f7820da46044ff6d28f4d43e455ba3e5bb2c13""checksum crossbeam-epoch 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f10a4f8f409aaac4b16a5474fb233624238fcdeefb9ba50d5ea059aab63ba31c""checksum crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "41ee4864f4797060e52044376f7d107429ce1fb43460021b126424b7180ee21a""checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5""checksum crossbeam-deque 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4fe1b6f945f824c7a25afe44f62e25d714c0cc523f8e99d8db5cd1026e1269d3""checksum crossbeam-epoch 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2449aaa4ec7ef96e5fb24db16024b935df718e9ae1cec0a1e68feeca2efca7b8""checksum crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c55913cc2799171a550e307918c0a360e8c16004820291bf3b638969b4a01816""checksum crypto-mac 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0999b4ff4d3446d4ddb19a63e9e00c1876e75cd7000d20e57a693b4b3f08d958""checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" - replacement in Cargo.lock at line 1866
"checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c""checksum encoding_rs 0.8.14 (registry+https://github.com/rust-lang/crates.io-index)" = "a69d152eaa438a291636c1971b0a370212165ca8a75759eb66818c5ce9b538f7""checksum digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "03b072242a8cbaf9c145665af9d250c59af3b958f83ed6824e13533cf76d5b90""checksum encoding_rs 0.8.12 (registry+https://github.com/rust-lang/crates.io-index)" = "ca20350a7cb5aab5b9034731123d6d412caf3e92d4985e739e411ba0955fd0eb" - edit in Cargo.lock at line 1869
"checksum error-chain 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faa976b4fd2e4c2b2f3f486874b19e61944d3de3de8b61c9fcf835d583871bcc" - replacement in Cargo.lock at line 1871
"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2""checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1""checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7""checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596" - replacement in Cargo.lock at line 1882
"checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592""checksum h2 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "30e0b8e55b4d7ffedade2b9605851f8e85f5010663e7ad170ef3c0f0681bc43f""checksum hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f127a908633569f208325f86f71255d3363c79721d7f9fe31cd5569908819771""checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d""checksum h2 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "1ac030ae20dee464c5d0f36544d8b914a6bc606da44a57e052d2b0f5dae129e0" - replacement in Cargo.lock at line 1888
"checksum hyper 0.12.21 (registry+https://github.com/rust-lang/crates.io-index)" = "6d6b1a3d01ac8035b8d2d94e0e5254eab82746f09046baed763751b00253232b""checksum hyper 0.12.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c49a75385d35ff5e9202755f09beb0b878a05c4c363fcc52b23eeb5dcb6782cc" - replacement in Cargo.lock at line 1894
"checksum jid 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "24e8a3f2ab860aa08074136e3144a2425e678d8823206e5adcc6145dc136503a""checksum jid 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6c4cee633b7ce95e71202ecb99e632d15ad468de7753e616a924c93842f1a3d0" - replacement in Cargo.lock at line 1899
"checksum libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)" = "48450664a984b25d5b479554c29cc04e3150c97aa4c01da5604a2d4ed9151476""checksum libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)" = "10923947f84a519a45c8fefb7dd1b3e8c08747993381adee176d7a82b4195311" - replacement in Cargo.lock at line 1905
"checksum markup5ever 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "897636f9850c3eef4905a5540683ed53dc9393860f0846cab2c2ddf9939862ff""checksum markup5ever 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a87c4100d614080c8ab43334fb028ebe387f273fb61ed4ff0eae9189b94b6be8" - replacement in Cargo.lock at line 1907
"checksum memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e1dd4eaac298c32ce07eb6ed9242eda7d82955b9170b7d6db59b2e02cc63fcb8""checksum memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0a3eb002f0535929f1199681417029ebea04aadc0c7a4224b46be99c7f5d6a16" - replacement in Cargo.lock at line 1909
"checksum minidom 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "275024eea6c6ff4ace22f2750843831183785288eec1cff91a4e6b8898cf94f9""checksum minidom 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0a5296bf9d0ac9e4a6e4cb844e3ee84bf33f841c7b3ae2cc87f05ceb81b50ae" - replacement in Cargo.lock at line 1919
"checksum num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5a69d464bdc213aaaff628444e99578ede64e9c854025aa43b9796530afa9238""checksum opaque-debug 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "51ecbcb821e1bd256d456fe858aaa7f380b63863eab2eb86eee1bd9f33dd6682""checksum openssl 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)" = "ec7bd7ca4cce6dbdc77e7c1230682740d307d1218a87fb0349a571272be749f9""checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30""checksum openssl 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)" = "5e1309181cdcbdb51bc3b6bedb33dfac2a83b3d585033d3f6d9e22e8c1928613" - replacement in Cargo.lock at line 1922
"checksum openssl-sys 0.9.40 (registry+https://github.com/rust-lang/crates.io-index)" = "1bb974e77de925ef426b6bc82fce15fd45bdcbeb5728bffcfc7cdeeb7ce1c2d6""checksum openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)" = "278c1ad40a89aa1e741a1eed089a2f60b18fab8089c3139b542140fc7d674106" - replacement in Cargo.lock at line 1924
"checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337""checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9""checksum pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9""checksum parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5""checksum parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c" - replacement in Cargo.lock at line 1927
"checksum phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18""checksum phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e""checksum phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662""checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0""checksum phf 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "cec29da322b242f4c3098852c77a0ca261c9c01b806cae85a5572a1eb94db9a6""checksum phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "7d187f00cd98d5afbcd8898f6cf181743a449162aeb329dcd2f3849009e605ad""checksum phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "03dc191feb9b08b0dc1330d6549b795b9d81aec19efe6b4a45aec8d4caee0c4b""checksum phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "b539898d22d4273ded07f64a05737649dc69095d92cb87c7097ec68e3f150b93" - replacement in Cargo.lock at line 1933
"checksum proc-macro2 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)" = "38fddd23d98b2144d197c0eca5705632d4fe2667d14a6be5df8934f8d74f1978""checksum proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "77619697826f31a02ae974457af0b29b723e5619e113e9397b8b82c6bd253f09" - replacement in Cargo.lock at line 1935
"checksum quick-xml 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)" = "98d8d2d671bd29c6122a98b45ce3106391e89ba378f731274de677f1eff06e5f""checksum quick-xml 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1d8065cbb01701c11cc195cde85cbf39d1c6a80705b67a157ebb3042e0e5777f" - replacement in Cargo.lock at line 1937
"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1""checksum quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c""checksum rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd" - replacement in Cargo.lock at line 1940
"checksum rand 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3906503e80ac6cbcacb2c2973fa8e473f24d7e2747c8c92bb230c2441cad96b5""checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef""checksum rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ae9d223d52ae411a33cf7e54ec6034ec165df296ccd23533d671a28252b6f66a""checksum rand_chacha 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "771b009e3a508cb67e8823dda454aaa5368c7bc1c16829fb77d3e980440dd34a" - edit in Cargo.lock at line 1946
"checksum rand_os 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f46fbd5550acf75b0c2730f5dd1873751daf9beb8f11b44027778fae50d7feca" - replacement in Cargo.lock at line 1947
"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c""checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2""checksum redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)" = "423e376fffca3dfa06c9e9790a9ccd282fafb3cc6e6397d01dbf64f9bacc6b85""checksum rand_xorshift 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "effa3fcaa47e18db002bdde6060944b6d2f9cfd8db471c30e873448ad9187be3""checksum redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "679da7508e9a6390aeaf7fbd02a800fdc64b73fe2204dd2c8ae66d22d9d5ad5d" - replacement in Cargo.lock at line 1950
"checksum regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "37e7cbbd370869ce2e8dff25c7018702d10b21a20ef7135316f8daecd6c25b7f""checksum regex-syntax 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4e47a2ed29da7a9e1960e1639e7a982e6edc6d49be308a3b02daf511504a16d1""checksum regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ee84f70c8c08744ea9641a731c7fadb475bf2ecc52d7f627feb833e0b3990467""checksum regex-syntax 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fbc557aac2b708fe84121caf261346cc2eed71978024337e42eb46b8a252ac6e" - replacement in Cargo.lock at line 1953
"checksum resolv-conf 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b263b4aa1b5de9ffc0054a2386f96992058bb6870aab516f8cdeb8a667d56dcb""checksum rustc-demangle 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "adacaae16d02b6ec37fdc7acfcddf365978de76d1983d3ee22afc260e1ca9619""checksum resolv-conf 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c62bd95a41841efdf7fca2ae9951e64a8d8eae7e5da196d8ce489a2241491a92""checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395" - replacement in Cargo.lock at line 1957
"checksum sasl 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e457758c85b736bbad56dc099406cd2a9c19554cf81880dba7a51d092929e600""checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9""checksum sasl 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4dbda5436dcd059da44fbf84b87a7164c5e3cad354efd0630c1f2be3c51c8859" - replacement in Cargo.lock at line 1961
"checksum security-framework 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfab8dda0e7a327c696d893df9ffa19cadc4bd195797997f5223cf5831beaf05""checksum security-framework-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3d6696852716b589dff9e886ff83778bb635150168e83afa8ac6b8a78cb82abc""checksum security-framework 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "697d3f3c23a618272ead9e1fb259c1411102b31c6af8b93f1d64cca9c3b0e8e0""checksum security-framework-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab01dfbe5756785b5b4d46e0289e5a18071dfa9a7c2b24213ea00b9ef9b665bf" - replacement in Cargo.lock at line 1965
"checksum serde 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)" = "534b8b91a95e0f71bca3ed5824752d558da048d4248c91af873b63bd60519752""checksum serde_derive 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)" = "a915306b0f1ac5607797697148c223bedeaa36bcc2e28a01441cd638cc6567b4""checksum serde_json 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)" = "574378d957d6dcdf1bbb5d562a15cbd5e644159432f84634b94e485267abbcc7""checksum sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "23962131a91661d643c98940b20fcaffe62d776a823247be80a48fcb8b6fce68""checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d""checksum sha3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "34a5e54083ce2b934bf059fdf38e7330a154177e029ab6c4e18638f2f624053a""checksum signal-hook 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1f272d1b7586bec132ed427f532dd418d8beca1ca7f2caf7df35569b1415a4b4""checksum serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" = "15c141fc7027dd265a47c090bf864cf62b42c4d228bbcf4e51a0c9e2b0d3f7ef""checksum serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" = "225de307c6302bec3898c51ca302fc94a7a1697ef0845fcee6448f33c032249c""checksum serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)" = "c37ccd6be3ed1fdf419ee848f7c758eb31b054d7cd3ae3600e3bae0adf569811""checksum sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51b9d1f3b5de8a167ab06834a7c883bd197f2191e1dda1a22d9ccfeedbf9aded""checksum sha2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9eb6be24e4c23a84d7184280d2722f7f2731fcdd4a9d886efbfe4413e4847ea0""checksum sha3 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b64dcef59ed4290b9fb562b53df07f564690d6539e8ecdd4728cf392477530bc""checksum signal-hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8941ae94fa73d0f73b422774b3a40a7195cecd88d1c090f4b37ade7dc795ab66" - replacement in Cargo.lock at line 1973
"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8""checksum smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "88aea073965ab29f6edb5493faf96ad662fb18aa9eeb186a3b7057951605ed15""checksum slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5f9776d6b986f77b35c6cf846c11ad986ff128fe0b2b63a3628e3755e8d3102d""checksum smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "622df2d454c29a4d89b30dc3b27b42d7d90d6b9e587dbf8f67652eb7514da484" - replacement in Cargo.lock at line 1977
"checksum string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b639411d0b9c738748b5397d5ceba08e648f4f1992231aa859af1a017f31f60b""checksum string 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "98998cced76115b1da46f63388b909d118a37ae0be0f82ad35773d4a4bc9d18d" - edit in Cargo.lock at line 1982
"checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" - replacement in Cargo.lock at line 1983
"checksum syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)" = "f92e629aa1d9c827b2bb8297046c1ccffc57c99b947a680d3ccff1f136a3bee9""checksum syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)" = "ae8b29eb5210bc5cf63ed6149cbf9adfc82ac0be023d8735c176ee74a2db4da7" - replacement in Cargo.lock at line 1987
"checksum tendril 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "707feda9f2582d5d680d733e38755547a3e8fb471e7ba11452ecfd9ce93a5d3b""checksum tendril 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9de21546595a0873061940d994bbbc5c35f024ae4fd61ec5c5b159115684f508" - replacement in Cargo.lock at line 1992
"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f""checksum tokio 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4790d0be6f4ba6ae4f48190efa2ed7780c9e3567796abdb285003cf39840d9c5""checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b""checksum tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "a7817d4c98cc5be21360b3b37d6036fe9b7aefa5b7a201b7b16ff33423822f7d" - replacement in Cargo.lock at line 1997
"checksum tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "30c6dbf2d1ad1de300b393910e8a3aa272b724a400b6531da03eed99e329fbf0""checksum tokio-fs 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0e9cbbc8a3698b7ab652340f46633364f9eaa928ddaaee79d8b8f356dd79a09d""checksum tokio-io 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b53aeb9d3f5ccf2ebb29e19788f96987fa1355f8fe45ea193928eaaaf3ae820f""checksum tokio-reactor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "afbcdb0f0d2a1e4c440af82d7bbf0bf91a8a8c0575bcd20c05d15be7e9d3a02f""checksum tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c117b6cf86bb730aab4834f10df96e4dd586eff2c3c27d3781348da49e255bde""checksum tokio-fs 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "60ae25f6b17d25116d2cba342083abe5255d3c2c79cb21ea11aa049c53bf7c75""checksum tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "7392fe0a70d5ce0c882c4778116c519bd5dbaa8a7c3ae3d04578b3afafdcda21""checksum tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "502b625acb4ee13cbb3b90b8ca80e0addd263ddacf6931666ef751e610b07fb5" - replacement in Cargo.lock at line 2002
"checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119""checksum tokio-threadpool 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "17465013014410310f9f61fa10bf4724803c149ea1d51efece131c38efca93aa""checksum tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7ad235e9dadd126b2d47f6736f65aa1fdcd6420e66ca63f44177bc78df89f912""checksum tokio-threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "56c5556262383032878afad66943926a1d1f0967f17e94bd7764ceceb3b70e7f" - replacement in Cargo.lock at line 2005
"checksum tokio-tls 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "354b8cd83825b3c20217a9dc174d6a0c67441a2fae5c41bcb1ea6679f6ae0f7c""checksum tokio-tls 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e53fdbf3156f588be1676022fe794232b24922d426e8c14f4e46891c1e31c440" - replacement in Cargo.lock at line 2007
"checksum tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "037ffc3ba0e12a0ab4aca92e5234e0dedeb48fddf6ccd260f1f150a36a9f2445""checksum tokio-xmpp 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "838f8a47654f45fd3618288ebda6085578f783ae087d82f12c09e04f7513a690""checksum tokio-uds 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "99ce87382f6c1a24b513a72c048b2c8efe66cb5161c9061d00bee510f08dc168""checksum tokio-xmpp 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c27385c4781afc851c61ac66d79463c511bf073d3a5d71b8bfd13a816e475989" - replacement in Cargo.lock at line 2010
"checksum trust-dns-proto 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30dde452f5d142d5e316a3b32386da95280c98b7e266639f8f3bc6fdf507d279""checksum trust-dns-resolver 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "de630f95a192f793436ffae5137e88253cc4142a97d9a8e73c8d804fa85ddf0a""checksum trust-dns-proto 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f1525ca4e26f5a09d81b79584f19225e7dba5606ae3a416311c2751c5cea60bb""checksum trust-dns-resolver 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4a821ad51a29816420b8cac4b026756b81c023630b97eaa4c8090637ee3508bd" - replacement in Cargo.lock at line 2013
"checksum try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "283d3b89e1368717881a9d51dad843cc435380d8109c9e47d38780a324698d8b""checksum try_from 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "923a7ee3e97dbfe8685261beb4511cc9620a1252405d02693d43169729570111" - replacement in Cargo.lock at line 2023
"checksum utf-8 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "05e42f7c18b8f902290b009cde6d651262f956c98bc51bca4cd1d511c9cd85c7""checksum utf-8 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bab35f71693630bb1953dce0f2bcd780e7cde025027124a202ac08a45ba25141" - edit in Cargo.lock at line 2027
"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" - replacement in Cargo.lock at line 2042
"checksum xmpp-parsers 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)" = "58b4400e1ae0d246044db5fa7f2e693fdfe9cc6e8eaa72ef2a68c5dc1d3c96de"[3.103722]"checksum xmpp-parsers 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2e1e0a279d5af83a1dff442249f8a43214ac120267acfaac494b9d28c0027fea"