VOL-4337: Code upgrade for 3/2020 G.988 support and remaining Extended Message Set support

Change-Id: I6c5e1a167216ad9b51e9da89460e9909465ae1bc
diff --git a/generated/cardholder.go b/generated/cardholder.go
index 0bd413f..5b996c6 100644
--- a/generated/cardholder.go
+++ b/generated/cardholder.go
@@ -27,11 +27,11 @@
 
 // CardholderClassID is the 16-bit ID for the OMCI
 // Managed entity Cardholder
-const CardholderClassID ClassID = ClassID(5)
+const CardholderClassID = ClassID(5) // 0x0005
 
 var cardholderBME *ManagedEntityDefinition
 
-// Cardholder (class ID #5)
+// Cardholder (Class ID: #5 / 0x0005)
 //	The cardholder represents the fixed equipment slot configuration of the ONU. Each cardholder can
 //	contain 0 or 1 circuit packs; the circuit pack models equipment information that can change over
 //	the lifetime of the ONU, e.g., through replacement.
@@ -75,12 +75,32 @@
 //			NOTE 1 - Some xDSL MEs use the two MSBs of the slot number for other purposes. An ONU that
 //			supports these services may have slot limitations or restrictions.
 //
+//			This attribute uniquely identifies each instance of this ME. The ONU sets the first byte of this
+//			2-byte identifier to:
+//
+//			0	if the ONU contains pluggable equipment modules
+//
+//			1	if the ONU is a single piece of integrated equipment.
+//
+//			The second byte of this identifier is the slot number. In integrated ONUs, this byte may be used
+//			as a virtual slot or set to 0 to indicate a universal pseudoslot.
+//
+//			Slot numbering schemes differ among vendors. It is only required that slot numbers be unique
+//			across the ONU. Up to 254 equipment slots are supported in the range 1..254 (Note 1). The value
+//			0 is reserved for possible use in an integrated ONU to indicate a universal pseudo-slot. The
+//			value 255 is also reserved. (R) (mandatory) (2-bytes)
+//
 //		Actual Plug In Unit Type
 //			Actual plugin unit type: This attribute is equal to the type of the circuit pack in the
 //			cardholder, or 0 if the cardholder is empty. When the cardholder is populated, this attribute is
 //			the same as the type attribute of the corresponding circuit pack ME. Circuit pack types are
 //			defined in Table 9.1.5-1. (R) (mandatory) (1-byte)
 //
+//			The three following attributes permit the OLT to specify its intentions for any future equipped
+//			configuration of a slot. Once some or all of these are set, the ONU can proceed to instantiate
+//			circuit pack and PPTP MEs, along with other predeterminable MEs, and allow the OLT to create
+//			related discretionary MEs, thereby supporting service pre-provisioning.
+//
 //		Expected Plug_In Unit Type
 //			Expected plug-in unit type: This attribute provisions the type of circuit pack for the slot. For
 //			type coding, see Table 9.1.5-1. The value 0 means that the cardholder is not provisioned to
@@ -89,29 +109,46 @@
 //			attribute may be used to represent the type of interface. (R,-W) (mandatory) (1-byte)
 //
 //		Expected Port Count
-//			Expected port count: This attribute permits the OLT to specify the number of ports it expects in
-//			a circuit pack. Prior to provisioning by the OLT, the ONU initializes this attribute to 0.
-//			(R,-W) (optional) (1-byte)
+//			This attribute permits the OLT to specify the number of ports it expects in a circuit pack.
+//			Prior to provisioning by the OLT, the ONU initializes this attribute to 0. (R,-W) (optional)
+//			(1-byte)
 //
 //		Expected Equipment Id
-//			Expected equipment ID: This attribute provisions the specific type of expected circuit pack.
-//			This attribute applies only to ONUs that do not have integrated interfaces. In some
-//			environments, this may contain the expected CLEI code. Upon ME instantiation, the ONU sets this
-//			attribute to all spaces. (R,-W) (optional) (20-bytes)
+//			This attribute provisions the specific type of expected circuit pack. This attribute applies
+//			only to ONUs that do not have integrated interfaces. In some environments, this may contain the
+//			expected CLEI code. Upon ME instantiation, the ONU sets this attribute to all spaces. (R,-W)
+//			(optional) (20-bytes)
 //
 //		Actual Equipment Id
-//			Actual equipment ID: This attribute identifies the specific type of circuit pack, once it is
-//			installed. This attribute applies only to ONUs that do not have integrated interfaces. In some
-//			environments, this may include the CLEI code. When the slot is empty or the equipment ID is not
-//			known, this attribute should be set to all spaces. (R) (optional) (20-bytes)
+//			This attribute identifies the specific type of circuit pack, once it is installed. This
+//			attribute applies only to ONUs that do not have integrated interfaces. In some environments,
+//			this may include the CLEI code. When the slot is empty or the equipment ID is not known, this
+//			attribute should be set to all spaces. (R) (optional) (20-bytes)
 //
 //		Protection Profile Pointer
-//			Protection profile pointer: This attribute specifies an equipment protection profile that may be
-//			associated with the cardholder. Its value is the least significant byte of the ME ID of the
-//			equipment protection profile with which it is associated, or 0 if equipment protection is not
-//			used. (R) (optional) (1-byte)
+//			This attribute specifies an equipment protection profile that may be associated with the
+//			cardholder. Its value is the least significant byte of the ME ID of the equipment protection
+//			profile with which it is associated, or 0 if equipment protection is not used. (R) (optional)
+//			(1-byte)
 //
 //		Invoke Protection Switch
+//			The OLT may use this attribute to control equipment protection switching. Code points have the
+//			following meaning when set by the OLT:
+//
+//			0	Release protection switch
+//
+//			1	Operate protection switch, protect cardholder unspecified
+//
+//			2	Operate protection switch, use first protect cardholder
+//
+//			3	Operate protection switch, use second protect cardholder
+//
+//			The ONU should deny attempts to switch to an unequipped, defective or already active protection
+//			cardholder.
+//
+//			Upon the get action from the OLT, this attribute should return the current value of the actual
+//			protection configuration. Code points are as defined above; the value 1 is never returned.
+//
 //			When circuit packs that support a PON interface (IF) function are switched, the response should
 //			be returned on the same PON that received the command. However, the OLT should also be prepared
 //			to accept a response on the redundant PON. (R,-W) (optional) (1-byte)
@@ -120,7 +157,7 @@
 //			Alarm-reporting control (ARC): See clause A.1.4.3. (R,-W) (optional) (1-byte)
 //
 //		Arc Interval
-//			ARC interval: See clause A.1.4.3. (R,-W) (optional) (1-byte)
+//			See clause A.1.4.3. (R,-W) (optional) (1-byte)
 //
 type Cardholder struct {
 	ManagedEntityDefinition