text: /**
   * DocuSign REST API
   * The DocuSign REST API provides you with a powerful, convenient, and simple Web services API for interacting with DocuSign.
   *
   * OpenAPI spec version: v2
   * Contact: devcenter@docusign.com
   *
   * NOTE: This class is auto generated. Do not edit the class manually and submit a new issue instead.
   *
   */
  
  (function(root, factory) {
    if (typeof define === 'function' && define.amd) {
      // AMD. Register as an anonymous module.
      define(['ApiClient', 'model/ErrorDetails', 'model/MergeField'], factory);
    } else if (typeof module === 'object' && module.exports) {
      // CommonJS-like environments that support module.exports, like Node.
      module.exports = factory(require('../ApiClient'), require('./ErrorDetails'), require('./MergeField'));
    } else {
      // Browser globals (root is window)
      if (!root.Docusign) {
        root.Docusign = {};
      }
      root.Docusign.LastName = factory(root.Docusign.ApiClient, root.Docusign.ErrorDetails, root.Docusign.MergeField);
    }
  }(this, function(ApiClient, ErrorDetails, MergeField) {
    'use strict';
  
  
    /**
     * The LastName model module.
     * @module model/LastName
     * @version 3.0.0
     */
  
    /**
     * Constructs a new <code>LastName</code>.
     * @alias module:model/LastName
     * @class
     */
    var exports = function() {
      var _this = this;
  
  
    };
  
    /**
     * Constructs a <code>LastName</code> from a plain JavaScript object, optionally creating a new instance.
     * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
     * @param {Object} data The plain JavaScript object bearing properties of interest.
     * @param {module:model/LastName} obj Optional instance to populate.
     * @return {module:model/LastName} The populated <code>LastName</code> instance.
     */
    exports.constructFromObject = function(data, obj) {
      if (data) {
        obj = obj || new exports();
  
        if (data.hasOwnProperty('anchorCaseSensitive')) {
          obj['anchorCaseSensitive'] = ApiClient.convertToType(data['anchorCaseSensitive'], 'String');
        }
        if (data.hasOwnProperty('anchorHorizontalAlignment')) {
          obj['anchorHorizontalAlignment'] = ApiClient.convertToType(data['anchorHorizontalAlignment'], 'String');
        }
        if (data.hasOwnProperty('anchorIgnoreIfNotPresent')) {
          obj['anchorIgnoreIfNotPresent'] = ApiClient.convertToType(data['anchorIgnoreIfNotPresent'], 'String');
        }
        if (data.hasOwnProperty('anchorMatchWholeWord')) {
          obj['anchorMatchWholeWord'] = ApiClient.convertToType(data['anchorMatchWholeWord'], 'String');
        }
        if (data.hasOwnProperty('anchorString')) {
          obj['anchorString'] = ApiClient.convertToType(data['anchorString'], 'String');
        }
        if (data.hasOwnProperty('anchorUnits')) {
          obj['anchorUnits'] = ApiClient.convertToType(data['anchorUnits'], 'String');
        }
        if (data.hasOwnProperty('anchorXOffset')) {
          obj['anchorXOffset'] = ApiClient.convertToType(data['anchorXOffset'], 'String');
        }
        if (data.hasOwnProperty('anchorYOffset')) {
          obj['anchorYOffset'] = ApiClient.convertToType(data['anchorYOffset'], 'String');
        }
        if (data.hasOwnProperty('bold')) {
          obj['bold'] = ApiClient.convertToType(data['bold'], 'String');
        }
        if (data.hasOwnProperty('conditionalParentLabel')) {
          obj['conditionalParentLabel'] = ApiClient.convertToType(data['conditionalParentLabel'], 'String');
        }
        if (data.hasOwnProperty('conditionalParentValue')) {
          obj['conditionalParentValue'] = ApiClient.convertToType(data['conditionalParentValue'], 'String');
        }
        if (data.hasOwnProperty('customTabId')) {
          obj['customTabId'] = ApiClient.convertToType(data['customTabId'], 'String');
        }
        if (data.hasOwnProperty('documentId')) {
          obj['documentId'] = ApiClient.convertToType(data['documentId'], 'String');
        }
        if (data.hasOwnProperty('errorDetails')) {
          obj['errorDetails'] = ErrorDetails.constructFromObject(data['errorDetails']);
        }
        if (data.hasOwnProperty('font')) {
          obj['font'] = ApiClient.convertToType(data['font'], 'String');
        }
        if (data.hasOwnProperty('fontColor')) {
          obj['fontColor'] = ApiClient.convertToType(data['fontColor'], 'String');
        }
        if (data.hasOwnProperty('fontSize')) {
          obj['fontSize'] = ApiClient.convertToType(data['fontSize'], 'String');
        }
        if (data.hasOwnProperty('italic')) {
          obj['italic'] = ApiClient.convertToType(data['italic'], 'String');
        }
        if (data.hasOwnProperty('mergeField')) {
          obj['mergeField'] = MergeField.constructFromObject(data['mergeField']);
        }
        if (data.hasOwnProperty('name')) {
          obj['name'] = ApiClient.convertToType(data['name'], 'String');
        }
        if (data.hasOwnProperty('pageNumber')) {
          obj['pageNumber'] = ApiClient.convertToType(data['pageNumber'], 'String');
        }
        if (data.hasOwnProperty('recipientId')) {
          obj['recipientId'] = ApiClient.convertToType(data['recipientId'], 'String');
        }
        if (data.hasOwnProperty('status')) {
          obj['status'] = ApiClient.convertToType(data['status'], 'String');
        }
        if (data.hasOwnProperty('tabId')) {
          obj['tabId'] = ApiClient.convertToType(data['tabId'], 'String');
        }
        if (data.hasOwnProperty('tabLabel')) {
          obj['tabLabel'] = ApiClient.convertToType(data['tabLabel'], 'String');
        }
        if (data.hasOwnProperty('tabOrder')) {
          obj['tabOrder'] = ApiClient.convertToType(data['tabOrder'], 'String');
        }
        if (data.hasOwnProperty('templateLocked')) {
          obj['templateLocked'] = ApiClient.convertToType(data['templateLocked'], 'String');
        }
        if (data.hasOwnProperty('templateRequired')) {
          obj['templateRequired'] = ApiClient.convertToType(data['templateRequired'], 'String');
        }
        if (data.hasOwnProperty('underline')) {
          obj['underline'] = ApiClient.convertToType(data['underline'], 'String');
        }
        if (data.hasOwnProperty('xPosition')) {
          obj['xPosition'] = ApiClient.convertToType(data['xPosition'], 'String');
        }
        if (data.hasOwnProperty('yPosition')) {
          obj['yPosition'] = ApiClient.convertToType(data['yPosition'], 'String');
        }
      }
      return obj;
    }
  
    /**
     * When set to **true**, the anchor string does not consider case when matching strings in the document. The default value is **true**.
     * @member {String} anchorCaseSensitive
     */
    exports.prototype['anchorCaseSensitive'] = undefined;
    /**
     * Specifies the alignment of anchor tabs with anchor strings. Possible values are **left** or **right**. The default value is **left**.
     * @member {String} anchorHorizontalAlignment
     */
    exports.prototype['anchorHorizontalAlignment'] = undefined;
    /**
     * When set to **true**, this tab is ignored if anchorString is not found in the document.
     * @member {String} anchorIgnoreIfNotPresent
     */
    exports.prototype['anchorIgnoreIfNotPresent'] = undefined;
    /**
     * When set to **true**, the anchor string in this tab matches whole words only (strings embedded in other strings are ignored.) The default value is **true**.
     * @member {String} anchorMatchWholeWord
     */
    exports.prototype['anchorMatchWholeWord'] = undefined;
    /**
     * Anchor text information for a radio button.
     * @member {String} anchorString
     */
    exports.prototype['anchorString'] = undefined;
    /**
     * Specifies units of the X and Y offset. Units could be pixels, millimeters, centimeters, or inches.
     * @member {String} anchorUnits
     */
    exports.prototype['anchorUnits'] = undefined;
    /**
     * Specifies the X axis location of the tab, in achorUnits, relative to the anchorString.
     * @member {String} anchorXOffset
     */
    exports.prototype['anchorXOffset'] = undefined;
    /**
     * Specifies the Y axis location of the tab, in achorUnits, relative to the anchorString.
     * @member {String} anchorYOffset
     */
    exports.prototype['anchorYOffset'] = undefined;
    /**
     * When set to **true**, the information in the tab is bold.
     * @member {String} bold
     */
    exports.prototype['bold'] = undefined;
    /**
     * For conditional fields this is the TabLabel of the parent tab that controls this tab's visibility.
     * @member {String} conditionalParentLabel
     */
    exports.prototype['conditionalParentLabel'] = undefined;
    /**
     * For conditional fields, this is the value of the parent tab that controls the tab's visibility.  If the parent tab is a Checkbox, Radio button, Optional Signature, or Optional Initial use \"on\" as the value to show that the parent tab is active. 
     * @member {String} conditionalParentValue
     */
    exports.prototype['conditionalParentValue'] = undefined;
    /**
     * The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
     * @member {String} customTabId
     */
    exports.prototype['customTabId'] = undefined;
    /**
     * Specifies the document ID number that the tab is placed on. This must refer to an existing Document's ID attribute.
     * @member {String} documentId
     */
    exports.prototype['documentId'] = undefined;
    /**
     * @member {module:model/ErrorDetails} errorDetails
     */
    exports.prototype['errorDetails'] = undefined;
    /**
     * The font to be used for the tab value. Supported Fonts: Arial, Arial, ArialNarrow, Calibri, CourierNew, Garamond, Georgia, Helvetica,   LucidaConsole, Tahoma, TimesNewRoman, Trebuchet, Verdana, MSGothic, MSMincho, Default.
     * @member {String} font
     */
    exports.prototype['font'] = undefined;
    /**
     * The font color used for the information in the tab.  Possible values are: Black, BrightBlue, BrightRed, DarkGreen, DarkRed, Gold, Green, NavyBlue, Purple, or White.
     * @member {String} fontColor
     */
    exports.prototype['fontColor'] = undefined;
    /**
     * The font size used for the information in the tab.  Possible values are: Size7, Size8, Size9, Size10, Size11, Size12, Size14, Size16, Size18, Size20, Size22, Size24, Size26, Size28, Size36, Size48, or Size72.
     * @member {String} fontSize
     */
    exports.prototype['fontSize'] = undefined;
    /**
     * When set to **true**, the information in the tab is italic.
     * @member {String} italic
     */
    exports.prototype['italic'] = undefined;
    /**
     * @member {module:model/MergeField} mergeField
     */
    exports.prototype['mergeField'] = undefined;
    /**
     * 
     * @member {String} name
     */
    exports.prototype['name'] = undefined;
    /**
     * Specifies the page number on which the tab is located.
     * @member {String} pageNumber
     */
    exports.prototype['pageNumber'] = undefined;
    /**
     * Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
     * @member {String} recipientId
     */
    exports.prototype['recipientId'] = undefined;
    /**
     * Indicates the envelope status. Valid values are:  * sent - The envelope is sent to the recipients.  * created - The envelope is saved as a draft and can be modified and sent later.
     * @member {String} status
     */
    exports.prototype['status'] = undefined;
    /**
     * The unique identifier for the tab. The tabid can be retrieved with the [ML:GET call].     
     * @member {String} tabId
     */
    exports.prototype['tabId'] = undefined;
    /**
     * The label string associated with the tab.
     * @member {String} tabLabel
     */
    exports.prototype['tabLabel'] = undefined;
    /**
     * 
     * @member {String} tabOrder
     */
    exports.prototype['tabOrder'] = undefined;
    /**
     * When set to **true**, the sender cannot change any attributes of the recipient. Used only when working with template recipients. 
     * @member {String} templateLocked
     */
    exports.prototype['templateLocked'] = undefined;
    /**
     * When set to **true**, the sender may not remove the recipient. Used only when working with template recipients.
     * @member {String} templateRequired
     */
    exports.prototype['templateRequired'] = undefined;
    /**
     * When set to **true**, the information in the tab is underlined.
     * @member {String} underline
     */
    exports.prototype['underline'] = undefined;
    /**
     * This indicates the horizontal offset of the object on the page. DocuSign uses 72 DPI when determining position.
     * @member {String} xPosition
     */
    exports.prototype['xPosition'] = undefined;
    /**
     * This indicates the vertical offset of the object on the page. DocuSign uses 72 DPI when determining position.
     * @member {String} yPosition
     */
    exports.prototype['yPosition'] = undefined;
  
  
  
    return exports;
  }));
  
  
  