>>>
return _provideDirectorySources(graph.packages[package], "bin")
    .then((_) => BarbackServer.bind(
        this, _hostname, 0, package: package, rootDirectory: "bin"));
<<<
return _provideDirectorySources(graph.packages[package], "bin").then(
    (_) => BarbackServer.bind(this, _hostname, 0,
        package: package, rootDirectory: "bin"));
>>>
messageMentionsAsset(id) =>
    messageMentions(id.toString()) ||
    messageMentions(path.fromUri(entry.assetId.path));
<<<
messageMentionsAsset(id) => messageMentions(id.toString()) ||
    messageMentions(path.fromUri(entry.assetId.path));