anchor.diff:    final String url;
     final String command;
     final String key;
  -  final String curlPath;
  -  
  -  UrlShortener({this.url: "http://www.google.com", this.command: "shorten", this.key: '', this.curlPath: "curl"});
  -  
  -  Future execute() {
  +//  final String curlPath;
  +  
  +  UrlShortener({this.url: "http://www.google.com", this.command: "shorten", this.key: '' /*, this.curlPath: "curl" */}) {
  +    initializeSSL();
  +  }
  +  
  +  Future<Map> execute() {
       switch(command) {
         case SHORTEN:
           return shorten();
  
positive.code:     throw new Error();
    }
    
    Future executeCurl(List<String> processArgs) {
      Completer c = new Completer();
      ProcessOptions processOptions = new ProcessOptions();
      Directory directory = new Directory.current();
      processOptions.workingDirectory = directory.path;
      processOptions.environment = new Map();
      print("$curlPath $processArgs");
      Process.run(curlPath, processArgs, processOptions)
      ..handleException((error) {
        print("Error: $error");
        c.completeException(error);
      })
      ..then((ProcessResult processResult) {
        c.complete(processResult.stdout);
      });
      
      return c.future;
    }
    
    Future shorten() {
      var keyParam = key.isEmpty ? "" : "?&key=$key";
      var args = ["$googUrl$keyParam", "-H", 'Content-Type: application/json',
                   "-d", JSON.stringify({"longUrl": url})];
      return executeCurl(args);
    }
    
    Future expand() {
      var keyParam = key.isEmpty ? "" : "&key=$key";
      var args = ["$googUrl?shortUrl=$url$keyParam"];
      return executeCurl(args);
    }
    
    Future analytics() {
      var keyParam = key.isEmpty ? "" : "&key=$key";
      var args = ["$googUrl?shortUrl=$url&projection=FULL$keyParam"];
      return executeCurl(args);
    }
  }
  
  void main() {
    var argParser = new ArgParser();
    argParser.addOption('curl', abbr: 'c',
        help: 'absolute path for curl', defaultsTo: 'curl');
    
    argParser.addOption('key', abbr: 'k',
        help: 'google api key', 
  
negative.code:   });
    
    var args = argParser.parse(new Options().arguments);
  //  var curl = args['curl'];
    var key = args['key'];
    var url = args['url'];
    var type = args['type'];
    logger.finest("key = $key, url = $url, type = $type");
    UrlShortener urlShortener = new UrlShortener(url: url,
                                                 command: type,
                                                 key: key);
  //                                               curlPath: curl);
    Future f = urlShortener.execute();
    f.handleException((error) {
      print("error: $error");
  