text: 
  var util = require("util");
  var choreography = require("temboo/core/choreography");
  
  
  /*
      Available
      Retrieves the locations that Twitter has trending topic information for.
  */
  
  
  var Available = function(session) {
      /*
          Create a new instance of the Available Choreo. A TembooSession object, containing a valid
          set of Temboo credentials, must be supplied.
  	*/
      var location = "/Library/Twitter/Trends/Available"
      Available.super_.call(this, session, location);
  
      /*
      Define a callback that will be used to appropriately format the results of this Choreo.
      */
      var newResultSet = function(resultStream) {
          return new AvailableResultSet(resultStream);
      }
  
  	/*
  	Obtain a new InputSet object, used to specify the input values for an execution of this Choreo.
  	*/
      this.newInputSet = function() {
          return new AvailableInputSet();
      }
      
  	/*
  	Execute this Choreo with the specified inputs, calling the specified callback upon success,
  	and the specified errorCallback upon error.
  	*/
      this.execute = function(inputs, callback, errorCallback) {
          this._execute(inputs, newResultSet, callback, errorCallback);
      }
  }
  
  
  /*
  An InputSet with methods appropriate for specifying the inputs to the Available
  Choreo. The InputSet object is used to specify input parameters when executing this Choreo.
  */
  
  var AvailableInputSet = function() {
      AvailableInputSet.super_.call(this);
          /*
          Set the value of the AccessTokenSecret input for this Choreo. ((required, string) The Access Token Secret provided by Twitter or retrieved during the OAuth process.)
          */
          this.set_AccessTokenSecret = function(value) {
              this.setInput("AccessTokenSecret", value);
          }
  
          /*
          Set the value of the AccessToken input for this Choreo. ((required, string) The Access Token provided by Twitter or retrieved during the OAuth process.)
          */
          this.set_AccessToken = function(value) {
              this.setInput("AccessToken", value);
          }
  
          /*
          Set the value of the ConsumerKey input for this Choreo. ((required, string) The Consumer Key provided by Twitter.)
          */
          this.set_ConsumerKey = function(value) {
              this.setInput("ConsumerKey", value);
          }
  
          /*
          Set the value of the ConsumerSecret input for this Choreo. ((required, string) The Consumer Secret provided by Twitter.)
          */
          this.set_ConsumerSecret = function(value) {
              this.setInput("ConsumerSecret", value);
          }
  
  }
  
  /*
  A ResultSet with methods tailored to the values returned by the Available Choreo.
  The ResultSet object is used to retrieve the results of a Choreo execution.
  */
  
  var AvailableResultSet = function(resultStream) {
      AvailableResultSet.super_.call(this, resultStream);    
          /*
          Retrieve the value for the "Limit" output from this Choreo execution. ((integer) The rate limit ceiling for this particular request.)
          */
          this.get_Limit = function() {
              return this.getResult("Limit");
          }
          /*
          Retrieve the value for the "Reset" output from this Choreo execution. ((date) The remaining window before the rate limit resets in UTC epoch seconds.)
          */
          this.get_Reset = function() {
              return this.getResult("Reset");
          }
          /*
          Retrieve the value for the "Response" output from this Choreo execution. ((json) The response from Twitter.)
          */
          this.get_Response = function() {
              return this.getResult("Response");
          }
          /*
          Retrieve the value for the "Remaining" output from this Choreo execution. ((integer) The number of requests left for the 15 minute window.)
          */
          this.get_Remaining = function() {
              return this.getResult("Remaining");
          }
  }
  
  util.inherits(Available, choreography.Choreography);
  util.inherits(AvailableInputSet, choreography.InputSet);
  util.inherits(AvailableResultSet, choreography.ResultSet);
  exports.Available = Available;
  
  
  /*
      Closest
      Retrieves locations closest to a specified location that Twitter has trending topic info for.
  */
  
  
  var Closest = function(session) {
      /*
          Create a new instance of the Closest Choreo. A TembooSession object, containing a valid
          set of Temboo credentials, must be supplied.
  	*/
      var location = "/Library/Twitter/Trends/Closest"
      Closest.super_.call(this, session, location);
  
      /*
      Define a callback that will be used to appropriately format the results of this Choreo.
      */
      var newResultSet = function(resultStream) {
          return new ClosestResultSet(resultStream);
      }
  
  	/*
  	Obtain a new InputSet object, used to specify the input values for an execution of this Choreo.
  	*/
      this.newInputSet = function() {
          return new ClosestInputSet();
      }
      
  	/*
  	Execute this Choreo with the specified inputs, calling the specified callback upon success,
  	and the specified errorCallback upon error.
  	*/
      this.execute = function(inputs, callback, errorCallback) {
          this._execute(inputs, newResultSet, callback, errorCallback);
      }
  }
  
  
  /*
  An InputSet with methods appropriate for specifying the inputs to the Closest
  Choreo. The InputSet object is used to specify input parameters when executing this Choreo.
  */
  
  var ClosestInputSet = function() {
      ClosestInputSet.super_.call(this);
          /*
          Set the value of the AccessTokenSecret input for this Choreo. ((required, string) The Access Token Secret provided by Twitter or retrieved during the OAuth process.)
          */
          this.set_AccessTokenSecret = function(value) {
              this.setInput("AccessTokenSecret", value);
          }
  
          /*
          Set the value of the AccessToken input for this Choreo. ((required, string) The Access Token provided by Twitter or retrieved during the OAuth process.)
          */
          this.set_AccessToken = function(value) {
              this.setInput("AccessToken", value);
          }
  
          /*
          Set the value of the ConsumerKey input for this Choreo. ((required, string) The Consumer Key provided by Twitter.)
          */
          this.set_ConsumerKey = function(value) {
              this.setInput("ConsumerKey", value);
          }
  
          /*
          Set the value of the ConsumerSecret input for this Choreo. ((required, string) The Consumer Secret provided by Twitter.)
          */
          this.set_ConsumerSecret = function(value) {
              this.setInput("ConsumerSecret", value);
          }
  
          /*
          Set the value of the Latitude input for this Choreo. ((required, decimal) The latitude coordinate of the location.)
          */
          this.set_Latitude = function(value) {
              this.setInput("Latitude", value);
          }
  
          /*
          Set the value of the Longitude input for this Choreo. ((required, decimal) The longitude coordinate of the location.)
          */
          this.set_Longitude = function(value) {
              this.setInput("Longitude", value);
          }
  
  }
  
  /*
  A ResultSet with methods tailored to the values returned by the Closest Choreo.
  The ResultSet object is used to retrieve the results of a Choreo execution.
  */
  
  var ClosestResultSet = function(resultStream) {
      ClosestResultSet.super_.call(this, resultStream);    
          /*
          Retrieve the value for the "Remaining" output from this Choreo execution. ((integer) The number of requests left for the 15 minute window.)
          */
          this.get_Remaining = function() {
              return this.getResult("Remaining");
          }
          /*
          Retrieve the value for the "Response" output from this Choreo execution. ((json) The response from Twitter.)
          */
          this.get_Response = function() {
              return this.getResult("Response");
          }
          /*
          Retrieve the value for the "Limit" output from this Choreo execution. ((integer) The rate limit ceiling for this particular request.)
          */
          this.get_Limit = function() {
              return this.getResult("Limit");
          }
          /*
          Retrieve the value for the "Reset" output from this Choreo execution. ((date) The remaining window before the rate limit resets in UTC epoch seconds.)
          */
          this.get_Reset = function() {
              return this.getResult("Reset");
          }
  }
  
  util.inherits(Closest, choreography.Choreography);
  util.inherits(ClosestInputSet, choreography.InputSet);
  util.inherits(ClosestResultSet, choreography.ResultSet);
  exports.Closest = Closest;
  
  
  /*
      Place
      Retrieves the top 10 trending topics for a specific WOEID.
  */
  
  
  var Place = function(session) {
      /*
          Create a new instance of the Place Choreo. A TembooSession object, containing a valid
          set of Temboo credentials, must be supplied.
  	*/
      var location = "/Library/Twitter/Trends/Place"
      Place.super_.call(this, session, location);
  
      /*
      Define a callback that will be used to appropriately format the results of this Choreo.
      */
      var newResultSet = function(resultStream) {
          return new PlaceResultSet(resultStream);
      }
  
  	/*
  	Obtain a new InputSet object, used to specify the input values for an execution of this Choreo.
  	*/
      this.newInputSet = function() {
          return new PlaceInputSet();
      }
      
  	/*
  	Execute this Choreo with the specified inputs, calling the specified callback upon success,
  	and the specified errorCallback upon error.
  	*/
      this.execute = function(inputs, callback, errorCallback) {
          this._execute(inputs, newResultSet, callback, errorCallback);
      }
  }
  
  
  /*
  An InputSet with methods appropriate for specifying the inputs to the Place
  Choreo. The InputSet object is used to specify input parameters when executing this Choreo.
  */
  
  var PlaceInputSet = function() {
      PlaceInputSet.super_.call(this);
          /*
          Set the value of the AccessTokenSecret input for this Choreo. ((required, string) The Access Token Secret provided by Twitter or retrieved during the OAuth process.)
          */
          this.set_AccessTokenSecret = function(value) {
              this.setInput("AccessTokenSecret", value);
          }
  
          /*
          Set the value of the AccessToken input for this Choreo. ((required, string) The Access Token provided by Twitter or retrieved during the OAuth process.)
          */
          this.set_AccessToken = function(value) {
              this.setInput("AccessToken", value);
          }
  
          /*
          Set the value of the ConsumerKey input for this Choreo. ((required, string) The Consumer Key provided by Twitter.)
          */
          this.set_ConsumerKey = function(value) {
              this.setInput("ConsumerKey", value);
          }
  
          /*
          Set the value of the ConsumerSecret input for this Choreo. ((required, string) The Consumer Secret provided by Twitter.)
          */
          this.set_ConsumerSecret = function(value) {
              this.setInput("ConsumerSecret", value);
          }
  
          /*
          Set the value of the Exclude input for this Choreo. ((optional, boolean) If set to "hashtags", all hashtags from the trends list will be removed.)
          */
          this.set_Exclude = function(value) {
              this.setInput("Exclude", value);
          }
  
          /*
          Set the value of the ID input for this Choreo. ((required, string) The (WOEID) Yahoo! Where On Earth ID of the location to return trending information for. Global information is available by setting this parameter to 1.)
          */
          this.set_ID = function(value) {
              this.setInput("ID", value);
          }
  
  }
  
  /*
  A ResultSet with methods tailored to the values returned by the Place Choreo.
  The ResultSet object is used to retrieve the results of a Choreo execution.
  */
  
  var PlaceResultSet = function(resultStream) {
      PlaceResultSet.super_.call(this, resultStream);    
          /*
          Retrieve the value for the "Response" output from this Choreo execution. ((json) The response from Twitter.)
          */
          this.get_Response = function() {
              return this.getResult("Response");
          }
  }
  
  util.inherits(Place, choreography.Choreography);
  util.inherits(PlaceInputSet, choreography.InputSet);
  util.inherits(PlaceResultSet, choreography.ResultSet);
  exports.Place = Place;
  
  