whole_func_string: function makeMoment(config) {
          var input = config._i,
              format = config._f;
  
          if (input === null || input === '') {
              return null;
          }
  
          if (typeof input === 'string') {
              config._i = input = getLangDefinition().preparse(input);
          }
  
          if (moment.isMoment(input)) {
              config = extend({}, input);
              config._d = new Date(+input._d);
          } else if (format) {
              if (isArray(format)) {
                  makeDateFromStringAndArray(config);
              } else {
                  makeDateFromStringAndFormat(config);
              }
          } else {
              makeDateFromInput(config);
          }
  
          return new Moment(config);
      }
func_code_string: function makeMoment(config) {
          var input = config._i,
              format = config._f;
  
          if (input === null || input === '') {
              return null;
          }
  
          if (typeof input === 'string') {
              config._i = input = getLangDefinition().preparse(input);
          }
  
          if (moment.isMoment(input)) {
              config = extend({}, input);
              config._d = new Date(+input._d);
          } else if (format) {
              if (isArray(format)) {
                  makeDateFromStringAndArray(config);
              } else {
                  makeDateFromStringAndFormat(config);
              }
          } else {
              makeDateFromInput(config);
          }
  
          return new Moment(config);
      }
func_documentation_string: **********************************
  Top Level Functions
  **********************************