github.com/cloudwan/edgelq-sdk@v1.15.4/devices/resources/v1alpha2/device/device.pb.object_ext.go (about)

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/devices/proto/v1alpha2/device.proto
     3  // DO NOT EDIT!!!
     4  
     5  package device
     6  
     7  import (
     8  	"fmt"
     9  	"sort"
    10  
    11  	"google.golang.org/protobuf/proto"
    12  	googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    13  
    14  	gotenobject "github.com/cloudwan/goten-sdk/runtime/object"
    15  )
    16  
    17  // proto imports
    18  import (
    19  	project "github.com/cloudwan/edgelq-sdk/devices/resources/v1alpha2/project"
    20  	iam_attestation_domain "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/attestation_domain"
    21  	iam_iam_common "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/common"
    22  	iam_service_account "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/service_account"
    23  	meta "github.com/cloudwan/goten-sdk/types/meta"
    24  	latlng "google.golang.org/genproto/googleapis/type/latlng"
    25  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    26  	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    27  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    28  )
    29  
    30  // ensure the imports are used
    31  var (
    32  	_ = new(fmt.Stringer)
    33  	_ = new(sort.Interface)
    34  
    35  	_ = new(proto.Message)
    36  	_ = googlefieldmaskpb.FieldMask{}
    37  
    38  	_ = new(gotenobject.FieldPath)
    39  )
    40  
    41  // make sure we're using proto imports
    42  var (
    43  	_ = &project.Project{}
    44  	_ = &iam_attestation_domain.AttestationDomain{}
    45  	_ = &iam_iam_common.PCR{}
    46  	_ = &iam_service_account.ServiceAccount{}
    47  	_ = &durationpb.Duration{}
    48  	_ = &fieldmaskpb.FieldMask{}
    49  	_ = &timestamppb.Timestamp{}
    50  	_ = &latlng.LatLng{}
    51  	_ = &meta.Meta{}
    52  )
    53  
    54  func (o *Device) GotenObjectExt() {}
    55  
    56  func (o *Device) MakeFullFieldMask() *Device_FieldMask {
    57  	return FullDevice_FieldMask()
    58  }
    59  
    60  func (o *Device) MakeRawFullFieldMask() gotenobject.FieldMask {
    61  	return FullDevice_FieldMask()
    62  }
    63  
    64  func (o *Device) MakeDiffFieldMask(other *Device) *Device_FieldMask {
    65  	if o == nil && other == nil {
    66  		return &Device_FieldMask{}
    67  	}
    68  	if o == nil || other == nil {
    69  		return FullDevice_FieldMask()
    70  	}
    71  
    72  	res := &Device_FieldMask{}
    73  	if o.GetName().String() != other.GetName().String() {
    74  		res.Paths = append(res.Paths, &Device_FieldTerminalPath{selector: Device_FieldPathSelectorName})
    75  	}
    76  	{
    77  		subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata())
    78  		if subMask.IsFull() {
    79  			res.Paths = append(res.Paths, &Device_FieldTerminalPath{selector: Device_FieldPathSelectorMetadata})
    80  		} else {
    81  			for _, subpath := range subMask.Paths {
    82  				res.Paths = append(res.Paths, &Device_FieldSubPath{selector: Device_FieldPathSelectorMetadata, subPath: subpath})
    83  			}
    84  		}
    85  	}
    86  	{
    87  		subMask := o.GetSpec().MakeDiffFieldMask(other.GetSpec())
    88  		if subMask.IsFull() {
    89  			res.Paths = append(res.Paths, &Device_FieldTerminalPath{selector: Device_FieldPathSelectorSpec})
    90  		} else {
    91  			for _, subpath := range subMask.Paths {
    92  				res.Paths = append(res.Paths, &Device_FieldSubPath{selector: Device_FieldPathSelectorSpec, subPath: subpath})
    93  			}
    94  		}
    95  	}
    96  	{
    97  		subMask := o.GetStatus().MakeDiffFieldMask(other.GetStatus())
    98  		if subMask.IsFull() {
    99  			res.Paths = append(res.Paths, &Device_FieldTerminalPath{selector: Device_FieldPathSelectorStatus})
   100  		} else {
   101  			for _, subpath := range subMask.Paths {
   102  				res.Paths = append(res.Paths, &Device_FieldSubPath{selector: Device_FieldPathSelectorStatus, subPath: subpath})
   103  			}
   104  		}
   105  	}
   106  	{
   107  		subMask := o.GetPublicListingSpec().MakeDiffFieldMask(other.GetPublicListingSpec())
   108  		if subMask.IsFull() {
   109  			res.Paths = append(res.Paths, &Device_FieldTerminalPath{selector: Device_FieldPathSelectorPublicListingSpec})
   110  		} else {
   111  			for _, subpath := range subMask.Paths {
   112  				res.Paths = append(res.Paths, &Device_FieldSubPath{selector: Device_FieldPathSelectorPublicListingSpec, subPath: subpath})
   113  			}
   114  		}
   115  	}
   116  	if o.GetDisplayName() != other.GetDisplayName() {
   117  		res.Paths = append(res.Paths, &Device_FieldTerminalPath{selector: Device_FieldPathSelectorDisplayName})
   118  	}
   119  	return res
   120  }
   121  
   122  func (o *Device) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   123  	return o.MakeDiffFieldMask(other.(*Device))
   124  }
   125  
   126  func (o *Device) Clone() *Device {
   127  	if o == nil {
   128  		return nil
   129  	}
   130  	result := &Device{}
   131  	if o.Name == nil {
   132  		result.Name = nil
   133  	} else if data, err := o.Name.ProtoString(); err != nil {
   134  		panic(err)
   135  	} else {
   136  		result.Name = &Name{}
   137  		if err := result.Name.ParseProtoString(data); err != nil {
   138  			panic(err)
   139  		}
   140  	}
   141  	result.Metadata = o.Metadata.Clone()
   142  	result.Spec = o.Spec.Clone()
   143  	result.Status = o.Status.Clone()
   144  	result.PublicListingSpec = o.PublicListingSpec.Clone()
   145  	result.DisplayName = o.DisplayName
   146  	return result
   147  }
   148  
   149  func (o *Device) CloneRaw() gotenobject.GotenObjectExt {
   150  	return o.Clone()
   151  }
   152  
   153  func (o *Device) Merge(source *Device) {
   154  	if source.GetName() != nil {
   155  		if data, err := source.GetName().ProtoString(); err != nil {
   156  			panic(err)
   157  		} else {
   158  			o.Name = &Name{}
   159  			if err := o.Name.ParseProtoString(data); err != nil {
   160  				panic(err)
   161  			}
   162  		}
   163  	} else {
   164  		o.Name = nil
   165  	}
   166  	if source.GetMetadata() != nil {
   167  		if o.Metadata == nil {
   168  			o.Metadata = new(meta.Meta)
   169  		}
   170  		o.Metadata.Merge(source.GetMetadata())
   171  	}
   172  	if source.GetSpec() != nil {
   173  		if o.Spec == nil {
   174  			o.Spec = new(Device_Spec)
   175  		}
   176  		o.Spec.Merge(source.GetSpec())
   177  	}
   178  	if source.GetStatus() != nil {
   179  		if o.Status == nil {
   180  			o.Status = new(Device_Status)
   181  		}
   182  		o.Status.Merge(source.GetStatus())
   183  	}
   184  	if source.GetPublicListingSpec() != nil {
   185  		if o.PublicListingSpec == nil {
   186  			o.PublicListingSpec = new(Device_PublicListingSpec)
   187  		}
   188  		o.PublicListingSpec.Merge(source.GetPublicListingSpec())
   189  	}
   190  	o.DisplayName = source.GetDisplayName()
   191  }
   192  
   193  func (o *Device) MergeRaw(source gotenobject.GotenObjectExt) {
   194  	o.Merge(source.(*Device))
   195  }
   196  
   197  func (o *Device_Spec) GotenObjectExt() {}
   198  
   199  func (o *Device_Spec) MakeFullFieldMask() *Device_Spec_FieldMask {
   200  	return FullDevice_Spec_FieldMask()
   201  }
   202  
   203  func (o *Device_Spec) MakeRawFullFieldMask() gotenobject.FieldMask {
   204  	return FullDevice_Spec_FieldMask()
   205  }
   206  
   207  func (o *Device_Spec) MakeDiffFieldMask(other *Device_Spec) *Device_Spec_FieldMask {
   208  	if o == nil && other == nil {
   209  		return &Device_Spec_FieldMask{}
   210  	}
   211  	if o == nil || other == nil {
   212  		return FullDevice_Spec_FieldMask()
   213  	}
   214  
   215  	res := &Device_Spec_FieldMask{}
   216  	if o.GetServiceAccount().String() != other.GetServiceAccount().String() {
   217  		res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorServiceAccount})
   218  	}
   219  	if o.GetOsVersion() != other.GetOsVersion() {
   220  		res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorOsVersion})
   221  	}
   222  	{
   223  		subMask := o.GetNetplanConfig().MakeDiffFieldMask(other.GetNetplanConfig())
   224  		if subMask.IsFull() {
   225  			res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorNetplanConfig})
   226  		} else {
   227  			for _, subpath := range subMask.Paths {
   228  				res.Paths = append(res.Paths, &DeviceSpec_FieldSubPath{selector: DeviceSpec_FieldPathSelectorNetplanConfig, subPath: subpath})
   229  			}
   230  		}
   231  	}
   232  	if o.GetNetplanApiConfigMode() != other.GetNetplanApiConfigMode() {
   233  		res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorNetplanApiConfigMode})
   234  	}
   235  	if o.GetOsImageUrl() != other.GetOsImageUrl() {
   236  		res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorOsImageUrl})
   237  	}
   238  	{
   239  		subMask := o.GetSshConfig().MakeDiffFieldMask(other.GetSshConfig())
   240  		if subMask.IsFull() {
   241  			res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorSshConfig})
   242  		} else {
   243  			for _, subpath := range subMask.Paths {
   244  				res.Paths = append(res.Paths, &DeviceSpec_FieldSubPath{selector: DeviceSpec_FieldPathSelectorSshConfig, subPath: subpath})
   245  			}
   246  		}
   247  	}
   248  	{
   249  		subMask := o.GetAttestationConfig().MakeDiffFieldMask(other.GetAttestationConfig())
   250  		if subMask.IsFull() {
   251  			res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorAttestationConfig})
   252  		} else {
   253  			for _, subpath := range subMask.Paths {
   254  				res.Paths = append(res.Paths, &DeviceSpec_FieldSubPath{selector: DeviceSpec_FieldPathSelectorAttestationConfig, subPath: subpath})
   255  			}
   256  		}
   257  	}
   258  	if o.GetDisableDeviceDiscovery() != other.GetDisableDeviceDiscovery() {
   259  		res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorDisableDeviceDiscovery})
   260  	}
   261  	{
   262  		subMask := o.GetLoggingConfig().MakeDiffFieldMask(other.GetLoggingConfig())
   263  		if subMask.IsFull() {
   264  			res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorLoggingConfig})
   265  		} else {
   266  			for _, subpath := range subMask.Paths {
   267  				res.Paths = append(res.Paths, &DeviceSpec_FieldSubPath{selector: DeviceSpec_FieldPathSelectorLoggingConfig, subPath: subpath})
   268  			}
   269  		}
   270  	}
   271  	{
   272  		subMask := o.GetProxyConfig().MakeDiffFieldMask(other.GetProxyConfig())
   273  		if subMask.IsFull() {
   274  			res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorProxyConfig})
   275  		} else {
   276  			for _, subpath := range subMask.Paths {
   277  				res.Paths = append(res.Paths, &DeviceSpec_FieldSubPath{selector: DeviceSpec_FieldPathSelectorProxyConfig, subPath: subpath})
   278  			}
   279  		}
   280  	}
   281  	{
   282  		subMask := o.GetLocation().MakeDiffFieldMask(other.GetLocation())
   283  		if subMask.IsFull() {
   284  			res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorLocation})
   285  		} else {
   286  			for _, subpath := range subMask.Paths {
   287  				res.Paths = append(res.Paths, &DeviceSpec_FieldSubPath{selector: DeviceSpec_FieldPathSelectorLocation, subPath: subpath})
   288  			}
   289  		}
   290  	}
   291  	return res
   292  }
   293  
   294  func (o *Device_Spec) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   295  	return o.MakeDiffFieldMask(other.(*Device_Spec))
   296  }
   297  
   298  func (o *Device_Spec) Clone() *Device_Spec {
   299  	if o == nil {
   300  		return nil
   301  	}
   302  	result := &Device_Spec{}
   303  	if o.ServiceAccount == nil {
   304  		result.ServiceAccount = nil
   305  	} else if data, err := o.ServiceAccount.ProtoString(); err != nil {
   306  		panic(err)
   307  	} else {
   308  		result.ServiceAccount = &iam_service_account.Reference{}
   309  		if err := result.ServiceAccount.ParseProtoString(data); err != nil {
   310  			panic(err)
   311  		}
   312  	}
   313  	result.OsVersion = o.OsVersion
   314  	result.NetplanConfig = o.NetplanConfig.Clone()
   315  	result.NetplanApiConfigMode = o.NetplanApiConfigMode
   316  	result.OsImageUrl = o.OsImageUrl
   317  	result.SshConfig = o.SshConfig.Clone()
   318  	result.AttestationConfig = o.AttestationConfig.Clone()
   319  	result.DisableDeviceDiscovery = o.DisableDeviceDiscovery
   320  	result.LoggingConfig = o.LoggingConfig.Clone()
   321  	result.ProxyConfig = o.ProxyConfig.Clone()
   322  	result.Location = o.Location.Clone()
   323  	return result
   324  }
   325  
   326  func (o *Device_Spec) CloneRaw() gotenobject.GotenObjectExt {
   327  	return o.Clone()
   328  }
   329  
   330  func (o *Device_Spec) Merge(source *Device_Spec) {
   331  	if source.GetServiceAccount() != nil {
   332  		if data, err := source.GetServiceAccount().ProtoString(); err != nil {
   333  			panic(err)
   334  		} else {
   335  			o.ServiceAccount = &iam_service_account.Reference{}
   336  			if err := o.ServiceAccount.ParseProtoString(data); err != nil {
   337  				panic(err)
   338  			}
   339  		}
   340  	} else {
   341  		o.ServiceAccount = nil
   342  	}
   343  	o.OsVersion = source.GetOsVersion()
   344  	if source.GetNetplanConfig() != nil {
   345  		if o.NetplanConfig == nil {
   346  			o.NetplanConfig = new(Device_Spec_NetplanConfig)
   347  		}
   348  		o.NetplanConfig.Merge(source.GetNetplanConfig())
   349  	}
   350  	o.NetplanApiConfigMode = source.GetNetplanApiConfigMode()
   351  	o.OsImageUrl = source.GetOsImageUrl()
   352  	if source.GetSshConfig() != nil {
   353  		if o.SshConfig == nil {
   354  			o.SshConfig = new(Device_Spec_SSHConfig)
   355  		}
   356  		o.SshConfig.Merge(source.GetSshConfig())
   357  	}
   358  	if source.GetAttestationConfig() != nil {
   359  		if o.AttestationConfig == nil {
   360  			o.AttestationConfig = new(Device_Spec_AttestationConfig)
   361  		}
   362  		o.AttestationConfig.Merge(source.GetAttestationConfig())
   363  	}
   364  	o.DisableDeviceDiscovery = source.GetDisableDeviceDiscovery()
   365  	if source.GetLoggingConfig() != nil {
   366  		if o.LoggingConfig == nil {
   367  			o.LoggingConfig = new(Device_Spec_LoggingConfig)
   368  		}
   369  		o.LoggingConfig.Merge(source.GetLoggingConfig())
   370  	}
   371  	if source.GetProxyConfig() != nil {
   372  		if o.ProxyConfig == nil {
   373  			o.ProxyConfig = new(Device_Spec_ProxyConfig)
   374  		}
   375  		o.ProxyConfig.Merge(source.GetProxyConfig())
   376  	}
   377  	if source.GetLocation() != nil {
   378  		if o.Location == nil {
   379  			o.Location = new(Device_Spec_Location)
   380  		}
   381  		o.Location.Merge(source.GetLocation())
   382  	}
   383  }
   384  
   385  func (o *Device_Spec) MergeRaw(source gotenobject.GotenObjectExt) {
   386  	o.Merge(source.(*Device_Spec))
   387  }
   388  
   389  func (o *Device_Status) GotenObjectExt() {}
   390  
   391  func (o *Device_Status) MakeFullFieldMask() *Device_Status_FieldMask {
   392  	return FullDevice_Status_FieldMask()
   393  }
   394  
   395  func (o *Device_Status) MakeRawFullFieldMask() gotenobject.FieldMask {
   396  	return FullDevice_Status_FieldMask()
   397  }
   398  
   399  func (o *Device_Status) MakeDiffFieldMask(other *Device_Status) *Device_Status_FieldMask {
   400  	if o == nil && other == nil {
   401  		return &Device_Status_FieldMask{}
   402  	}
   403  	if o == nil || other == nil {
   404  		return FullDevice_Status_FieldMask()
   405  	}
   406  
   407  	res := &Device_Status_FieldMask{}
   408  
   409  	if len(o.GetAddresses()) == len(other.GetAddresses()) {
   410  		for i, lValue := range o.GetAddresses() {
   411  			rValue := other.GetAddresses()[i]
   412  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   413  				res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorAddresses})
   414  				break
   415  			}
   416  		}
   417  	} else {
   418  		res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorAddresses})
   419  	}
   420  
   421  	if len(o.GetConditions()) == len(other.GetConditions()) {
   422  		for i, lValue := range o.GetConditions() {
   423  			rValue := other.GetConditions()[i]
   424  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   425  				res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorConditions})
   426  				break
   427  			}
   428  		}
   429  	} else {
   430  		res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorConditions})
   431  	}
   432  	{
   433  		subMask := o.GetNetworkConfigState().MakeDiffFieldMask(other.GetNetworkConfigState())
   434  		if subMask.IsFull() {
   435  			res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorNetworkConfigState})
   436  		} else {
   437  			for _, subpath := range subMask.Paths {
   438  				res.Paths = append(res.Paths, &DeviceStatus_FieldSubPath{selector: DeviceStatus_FieldPathSelectorNetworkConfigState, subPath: subpath})
   439  			}
   440  		}
   441  	}
   442  	{
   443  		subMask := o.GetProxyConfigStatus().MakeDiffFieldMask(other.GetProxyConfigStatus())
   444  		if subMask.IsFull() {
   445  			res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorProxyConfigStatus})
   446  		} else {
   447  			for _, subpath := range subMask.Paths {
   448  				res.Paths = append(res.Paths, &DeviceStatus_FieldSubPath{selector: DeviceStatus_FieldPathSelectorProxyConfigStatus, subPath: subpath})
   449  			}
   450  		}
   451  	}
   452  	{
   453  		subMask := o.GetDeviceInfo().MakeDiffFieldMask(other.GetDeviceInfo())
   454  		if subMask.IsFull() {
   455  			res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorDeviceInfo})
   456  		} else {
   457  			for _, subpath := range subMask.Paths {
   458  				res.Paths = append(res.Paths, &DeviceStatus_FieldSubPath{selector: DeviceStatus_FieldPathSelectorDeviceInfo, subPath: subpath})
   459  			}
   460  		}
   461  	}
   462  
   463  	if len(o.GetAttestationStatus()) == len(other.GetAttestationStatus()) {
   464  		for i, lValue := range o.GetAttestationStatus() {
   465  			rValue := other.GetAttestationStatus()[i]
   466  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   467  				res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorAttestationStatus})
   468  				break
   469  			}
   470  		}
   471  	} else {
   472  		res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorAttestationStatus})
   473  	}
   474  	{
   475  		subMask := o.GetNormalizedAddress().MakeDiffFieldMask(other.GetNormalizedAddress())
   476  		if subMask.IsFull() {
   477  			res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorNormalizedAddress})
   478  		} else {
   479  			for _, subpath := range subMask.Paths {
   480  				res.Paths = append(res.Paths, &DeviceStatus_FieldSubPath{selector: DeviceStatus_FieldPathSelectorNormalizedAddress, subPath: subpath})
   481  			}
   482  		}
   483  	}
   484  	return res
   485  }
   486  
   487  func (o *Device_Status) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   488  	return o.MakeDiffFieldMask(other.(*Device_Status))
   489  }
   490  
   491  func (o *Device_Status) Clone() *Device_Status {
   492  	if o == nil {
   493  		return nil
   494  	}
   495  	result := &Device_Status{}
   496  	result.Addresses = make([]*Device_Status_Address, len(o.Addresses))
   497  	for i, sourceValue := range o.Addresses {
   498  		result.Addresses[i] = sourceValue.Clone()
   499  	}
   500  	result.Conditions = make([]*Device_Status_Condition, len(o.Conditions))
   501  	for i, sourceValue := range o.Conditions {
   502  		result.Conditions[i] = sourceValue.Clone()
   503  	}
   504  	result.NetworkConfigState = o.NetworkConfigState.Clone()
   505  	result.ProxyConfigStatus = o.ProxyConfigStatus.Clone()
   506  	result.DeviceInfo = o.DeviceInfo.Clone()
   507  	result.AttestationStatus = make([]*iam_iam_common.PCR, len(o.AttestationStatus))
   508  	for i, sourceValue := range o.AttestationStatus {
   509  		result.AttestationStatus[i] = sourceValue.Clone()
   510  	}
   511  	result.NormalizedAddress = o.NormalizedAddress.Clone()
   512  	return result
   513  }
   514  
   515  func (o *Device_Status) CloneRaw() gotenobject.GotenObjectExt {
   516  	return o.Clone()
   517  }
   518  
   519  func (o *Device_Status) Merge(source *Device_Status) {
   520  	for _, sourceValue := range source.GetAddresses() {
   521  		exists := false
   522  		for _, currentValue := range o.Addresses {
   523  			if proto.Equal(sourceValue, currentValue) {
   524  				exists = true
   525  				break
   526  			}
   527  		}
   528  		if !exists {
   529  			var newDstElement *Device_Status_Address
   530  			if sourceValue != nil {
   531  				newDstElement = new(Device_Status_Address)
   532  				newDstElement.Merge(sourceValue)
   533  			}
   534  			o.Addresses = append(o.Addresses, newDstElement)
   535  		}
   536  	}
   537  
   538  	for _, sourceValue := range source.GetConditions() {
   539  		exists := false
   540  		for _, currentValue := range o.Conditions {
   541  			if proto.Equal(sourceValue, currentValue) {
   542  				exists = true
   543  				break
   544  			}
   545  		}
   546  		if !exists {
   547  			var newDstElement *Device_Status_Condition
   548  			if sourceValue != nil {
   549  				newDstElement = new(Device_Status_Condition)
   550  				newDstElement.Merge(sourceValue)
   551  			}
   552  			o.Conditions = append(o.Conditions, newDstElement)
   553  		}
   554  	}
   555  
   556  	if source.GetNetworkConfigState() != nil {
   557  		if o.NetworkConfigState == nil {
   558  			o.NetworkConfigState = new(Device_Status_NetworkConfigState)
   559  		}
   560  		o.NetworkConfigState.Merge(source.GetNetworkConfigState())
   561  	}
   562  	if source.GetProxyConfigStatus() != nil {
   563  		if o.ProxyConfigStatus == nil {
   564  			o.ProxyConfigStatus = new(Device_Status_ProxyConfigStatus)
   565  		}
   566  		o.ProxyConfigStatus.Merge(source.GetProxyConfigStatus())
   567  	}
   568  	if source.GetDeviceInfo() != nil {
   569  		if o.DeviceInfo == nil {
   570  			o.DeviceInfo = new(Device_Status_DeviceInfo)
   571  		}
   572  		o.DeviceInfo.Merge(source.GetDeviceInfo())
   573  	}
   574  	for _, sourceValue := range source.GetAttestationStatus() {
   575  		exists := false
   576  		for _, currentValue := range o.AttestationStatus {
   577  			if proto.Equal(sourceValue, currentValue) {
   578  				exists = true
   579  				break
   580  			}
   581  		}
   582  		if !exists {
   583  			var newDstElement *iam_iam_common.PCR
   584  			if sourceValue != nil {
   585  				newDstElement = new(iam_iam_common.PCR)
   586  				newDstElement.Merge(sourceValue)
   587  			}
   588  			o.AttestationStatus = append(o.AttestationStatus, newDstElement)
   589  		}
   590  	}
   591  
   592  	if source.GetNormalizedAddress() != nil {
   593  		if o.NormalizedAddress == nil {
   594  			o.NormalizedAddress = new(Device_Status_NormalizedAddress)
   595  		}
   596  		o.NormalizedAddress.Merge(source.GetNormalizedAddress())
   597  	}
   598  }
   599  
   600  func (o *Device_Status) MergeRaw(source gotenobject.GotenObjectExt) {
   601  	o.Merge(source.(*Device_Status))
   602  }
   603  
   604  func (o *Device_PublicListingSpec) GotenObjectExt() {}
   605  
   606  func (o *Device_PublicListingSpec) MakeFullFieldMask() *Device_PublicListingSpec_FieldMask {
   607  	return FullDevice_PublicListingSpec_FieldMask()
   608  }
   609  
   610  func (o *Device_PublicListingSpec) MakeRawFullFieldMask() gotenobject.FieldMask {
   611  	return FullDevice_PublicListingSpec_FieldMask()
   612  }
   613  
   614  func (o *Device_PublicListingSpec) MakeDiffFieldMask(other *Device_PublicListingSpec) *Device_PublicListingSpec_FieldMask {
   615  	if o == nil && other == nil {
   616  		return &Device_PublicListingSpec_FieldMask{}
   617  	}
   618  	if o == nil || other == nil {
   619  		return FullDevice_PublicListingSpec_FieldMask()
   620  	}
   621  
   622  	res := &Device_PublicListingSpec_FieldMask{}
   623  	if o.GetEnabled() != other.GetEnabled() {
   624  		res.Paths = append(res.Paths, &DevicePublicListingSpec_FieldTerminalPath{selector: DevicePublicListingSpec_FieldPathSelectorEnabled})
   625  	}
   626  	if !proto.Equal(o.GetFieldMask(), other.GetFieldMask()) {
   627  		res.Paths = append(res.Paths, &DevicePublicListingSpec_FieldTerminalPath{selector: DevicePublicListingSpec_FieldPathSelectorFieldMask})
   628  	}
   629  	return res
   630  }
   631  
   632  func (o *Device_PublicListingSpec) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   633  	return o.MakeDiffFieldMask(other.(*Device_PublicListingSpec))
   634  }
   635  
   636  func (o *Device_PublicListingSpec) Clone() *Device_PublicListingSpec {
   637  	if o == nil {
   638  		return nil
   639  	}
   640  	result := &Device_PublicListingSpec{}
   641  	result.Enabled = o.Enabled
   642  	result.FieldMask = proto.Clone(o.FieldMask).(*Device_FieldMask)
   643  	return result
   644  }
   645  
   646  func (o *Device_PublicListingSpec) CloneRaw() gotenobject.GotenObjectExt {
   647  	return o.Clone()
   648  }
   649  
   650  func (o *Device_PublicListingSpec) Merge(source *Device_PublicListingSpec) {
   651  	o.Enabled = source.GetEnabled()
   652  	if source.GetFieldMask() != nil {
   653  		if o.FieldMask == nil {
   654  			o.FieldMask = new(Device_FieldMask)
   655  		}
   656  		mergedMask := googlefieldmaskpb.Union(source.GetFieldMask().ToProtoFieldMask(), o.FieldMask.ToProtoFieldMask())
   657  		if err := o.FieldMask.FromProtoFieldMask(mergedMask); err != nil {
   658  			panic(err)
   659  		}
   660  	}
   661  }
   662  
   663  func (o *Device_PublicListingSpec) MergeRaw(source gotenobject.GotenObjectExt) {
   664  	o.Merge(source.(*Device_PublicListingSpec))
   665  }
   666  
   667  func (o *Device_Spec_NetworkingConfig) GotenObjectExt() {}
   668  
   669  func (o *Device_Spec_NetworkingConfig) MakeFullFieldMask() *Device_Spec_NetworkingConfig_FieldMask {
   670  	return FullDevice_Spec_NetworkingConfig_FieldMask()
   671  }
   672  
   673  func (o *Device_Spec_NetworkingConfig) MakeRawFullFieldMask() gotenobject.FieldMask {
   674  	return FullDevice_Spec_NetworkingConfig_FieldMask()
   675  }
   676  
   677  func (o *Device_Spec_NetworkingConfig) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig) *Device_Spec_NetworkingConfig_FieldMask {
   678  	if o == nil && other == nil {
   679  		return &Device_Spec_NetworkingConfig_FieldMask{}
   680  	}
   681  	if o == nil || other == nil {
   682  		return FullDevice_Spec_NetworkingConfig_FieldMask()
   683  	}
   684  
   685  	res := &Device_Spec_NetworkingConfig_FieldMask{}
   686  	if o.GetVersion() != other.GetVersion() {
   687  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorVersion})
   688  	}
   689  	if o.GetRenderer() != other.GetRenderer() {
   690  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorRenderer})
   691  	}
   692  
   693  	if len(o.GetEthernets()) == len(other.GetEthernets()) {
   694  		for i, lValue := range o.GetEthernets() {
   695  			rValue := other.GetEthernets()[i]
   696  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   697  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorEthernets})
   698  				break
   699  			}
   700  		}
   701  	} else {
   702  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorEthernets})
   703  	}
   704  
   705  	if len(o.GetWifis()) == len(other.GetWifis()) {
   706  		for i, lValue := range o.GetWifis() {
   707  			rValue := other.GetWifis()[i]
   708  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   709  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorWifis})
   710  				break
   711  			}
   712  		}
   713  	} else {
   714  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorWifis})
   715  	}
   716  
   717  	if len(o.GetBridges()) == len(other.GetBridges()) {
   718  		for i, lValue := range o.GetBridges() {
   719  			rValue := other.GetBridges()[i]
   720  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   721  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorBridges})
   722  				break
   723  			}
   724  		}
   725  	} else {
   726  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorBridges})
   727  	}
   728  
   729  	if len(o.GetBonds()) == len(other.GetBonds()) {
   730  		for i, lValue := range o.GetBonds() {
   731  			rValue := other.GetBonds()[i]
   732  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   733  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorBonds})
   734  				break
   735  			}
   736  		}
   737  	} else {
   738  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorBonds})
   739  	}
   740  
   741  	if len(o.GetTunnels()) == len(other.GetTunnels()) {
   742  		for i, lValue := range o.GetTunnels() {
   743  			rValue := other.GetTunnels()[i]
   744  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   745  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorTunnels})
   746  				break
   747  			}
   748  		}
   749  	} else {
   750  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorTunnels})
   751  	}
   752  
   753  	if len(o.GetVlans()) == len(other.GetVlans()) {
   754  		for i, lValue := range o.GetVlans() {
   755  			rValue := other.GetVlans()[i]
   756  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   757  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorVlans})
   758  				break
   759  			}
   760  		}
   761  	} else {
   762  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorVlans})
   763  	}
   764  
   765  	if len(o.GetModems()) == len(other.GetModems()) {
   766  		for i, lValue := range o.GetModems() {
   767  			rValue := other.GetModems()[i]
   768  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   769  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorModems})
   770  				break
   771  			}
   772  		}
   773  	} else {
   774  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfig_FieldTerminalPath{selector: DeviceSpecNetworkingConfig_FieldPathSelectorModems})
   775  	}
   776  	return res
   777  }
   778  
   779  func (o *Device_Spec_NetworkingConfig) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   780  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig))
   781  }
   782  
   783  func (o *Device_Spec_NetworkingConfig) Clone() *Device_Spec_NetworkingConfig {
   784  	if o == nil {
   785  		return nil
   786  	}
   787  	result := &Device_Spec_NetworkingConfig{}
   788  	result.Version = o.Version
   789  	result.Renderer = o.Renderer
   790  	result.Ethernets = map[string]*Device_Spec_NetworkingConfig_EthOpts{}
   791  	for key, sourceValue := range o.Ethernets {
   792  		result.Ethernets[key] = sourceValue.Clone()
   793  	}
   794  	result.Wifis = map[string]*Device_Spec_NetworkingConfig_WifiOpts{}
   795  	for key, sourceValue := range o.Wifis {
   796  		result.Wifis[key] = sourceValue.Clone()
   797  	}
   798  	result.Bridges = map[string]*Device_Spec_NetworkingConfig_BridgesOpts{}
   799  	for key, sourceValue := range o.Bridges {
   800  		result.Bridges[key] = sourceValue.Clone()
   801  	}
   802  	result.Bonds = map[string]*Device_Spec_NetworkingConfig_BondsOpts{}
   803  	for key, sourceValue := range o.Bonds {
   804  		result.Bonds[key] = sourceValue.Clone()
   805  	}
   806  	result.Tunnels = map[string]*Device_Spec_NetworkingConfig_TunnelsOpts{}
   807  	for key, sourceValue := range o.Tunnels {
   808  		result.Tunnels[key] = sourceValue.Clone()
   809  	}
   810  	result.Vlans = map[string]*Device_Spec_NetworkingConfig_VlansOpts{}
   811  	for key, sourceValue := range o.Vlans {
   812  		result.Vlans[key] = sourceValue.Clone()
   813  	}
   814  	result.Modems = map[string]*Device_Spec_NetworkingConfig_ModemOpts{}
   815  	for key, sourceValue := range o.Modems {
   816  		result.Modems[key] = sourceValue.Clone()
   817  	}
   818  	return result
   819  }
   820  
   821  func (o *Device_Spec_NetworkingConfig) CloneRaw() gotenobject.GotenObjectExt {
   822  	return o.Clone()
   823  }
   824  
   825  func (o *Device_Spec_NetworkingConfig) Merge(source *Device_Spec_NetworkingConfig) {
   826  	o.Version = source.GetVersion()
   827  	o.Renderer = source.GetRenderer()
   828  	if source.GetEthernets() != nil {
   829  		if o.Ethernets == nil {
   830  			o.Ethernets = make(map[string]*Device_Spec_NetworkingConfig_EthOpts, len(source.GetEthernets()))
   831  		}
   832  		for key, sourceValue := range source.GetEthernets() {
   833  			if sourceValue != nil {
   834  				if o.Ethernets[key] == nil {
   835  					o.Ethernets[key] = new(Device_Spec_NetworkingConfig_EthOpts)
   836  				}
   837  				o.Ethernets[key].Merge(sourceValue)
   838  			}
   839  		}
   840  	}
   841  	if source.GetWifis() != nil {
   842  		if o.Wifis == nil {
   843  			o.Wifis = make(map[string]*Device_Spec_NetworkingConfig_WifiOpts, len(source.GetWifis()))
   844  		}
   845  		for key, sourceValue := range source.GetWifis() {
   846  			if sourceValue != nil {
   847  				if o.Wifis[key] == nil {
   848  					o.Wifis[key] = new(Device_Spec_NetworkingConfig_WifiOpts)
   849  				}
   850  				o.Wifis[key].Merge(sourceValue)
   851  			}
   852  		}
   853  	}
   854  	if source.GetBridges() != nil {
   855  		if o.Bridges == nil {
   856  			o.Bridges = make(map[string]*Device_Spec_NetworkingConfig_BridgesOpts, len(source.GetBridges()))
   857  		}
   858  		for key, sourceValue := range source.GetBridges() {
   859  			if sourceValue != nil {
   860  				if o.Bridges[key] == nil {
   861  					o.Bridges[key] = new(Device_Spec_NetworkingConfig_BridgesOpts)
   862  				}
   863  				o.Bridges[key].Merge(sourceValue)
   864  			}
   865  		}
   866  	}
   867  	if source.GetBonds() != nil {
   868  		if o.Bonds == nil {
   869  			o.Bonds = make(map[string]*Device_Spec_NetworkingConfig_BondsOpts, len(source.GetBonds()))
   870  		}
   871  		for key, sourceValue := range source.GetBonds() {
   872  			if sourceValue != nil {
   873  				if o.Bonds[key] == nil {
   874  					o.Bonds[key] = new(Device_Spec_NetworkingConfig_BondsOpts)
   875  				}
   876  				o.Bonds[key].Merge(sourceValue)
   877  			}
   878  		}
   879  	}
   880  	if source.GetTunnels() != nil {
   881  		if o.Tunnels == nil {
   882  			o.Tunnels = make(map[string]*Device_Spec_NetworkingConfig_TunnelsOpts, len(source.GetTunnels()))
   883  		}
   884  		for key, sourceValue := range source.GetTunnels() {
   885  			if sourceValue != nil {
   886  				if o.Tunnels[key] == nil {
   887  					o.Tunnels[key] = new(Device_Spec_NetworkingConfig_TunnelsOpts)
   888  				}
   889  				o.Tunnels[key].Merge(sourceValue)
   890  			}
   891  		}
   892  	}
   893  	if source.GetVlans() != nil {
   894  		if o.Vlans == nil {
   895  			o.Vlans = make(map[string]*Device_Spec_NetworkingConfig_VlansOpts, len(source.GetVlans()))
   896  		}
   897  		for key, sourceValue := range source.GetVlans() {
   898  			if sourceValue != nil {
   899  				if o.Vlans[key] == nil {
   900  					o.Vlans[key] = new(Device_Spec_NetworkingConfig_VlansOpts)
   901  				}
   902  				o.Vlans[key].Merge(sourceValue)
   903  			}
   904  		}
   905  	}
   906  	if source.GetModems() != nil {
   907  		if o.Modems == nil {
   908  			o.Modems = make(map[string]*Device_Spec_NetworkingConfig_ModemOpts, len(source.GetModems()))
   909  		}
   910  		for key, sourceValue := range source.GetModems() {
   911  			if sourceValue != nil {
   912  				if o.Modems[key] == nil {
   913  					o.Modems[key] = new(Device_Spec_NetworkingConfig_ModemOpts)
   914  				}
   915  				o.Modems[key].Merge(sourceValue)
   916  			}
   917  		}
   918  	}
   919  }
   920  
   921  func (o *Device_Spec_NetworkingConfig) MergeRaw(source gotenobject.GotenObjectExt) {
   922  	o.Merge(source.(*Device_Spec_NetworkingConfig))
   923  }
   924  
   925  func (o *Device_Spec_NetplanConfig) GotenObjectExt() {}
   926  
   927  func (o *Device_Spec_NetplanConfig) MakeFullFieldMask() *Device_Spec_NetplanConfig_FieldMask {
   928  	return FullDevice_Spec_NetplanConfig_FieldMask()
   929  }
   930  
   931  func (o *Device_Spec_NetplanConfig) MakeRawFullFieldMask() gotenobject.FieldMask {
   932  	return FullDevice_Spec_NetplanConfig_FieldMask()
   933  }
   934  
   935  func (o *Device_Spec_NetplanConfig) MakeDiffFieldMask(other *Device_Spec_NetplanConfig) *Device_Spec_NetplanConfig_FieldMask {
   936  	if o == nil && other == nil {
   937  		return &Device_Spec_NetplanConfig_FieldMask{}
   938  	}
   939  	if o == nil || other == nil {
   940  		return FullDevice_Spec_NetplanConfig_FieldMask()
   941  	}
   942  
   943  	res := &Device_Spec_NetplanConfig_FieldMask{}
   944  	{
   945  		subMask := o.GetNetwork().MakeDiffFieldMask(other.GetNetwork())
   946  		if subMask.IsFull() {
   947  			res.Paths = append(res.Paths, &DeviceSpecNetplanConfig_FieldTerminalPath{selector: DeviceSpecNetplanConfig_FieldPathSelectorNetwork})
   948  		} else {
   949  			for _, subpath := range subMask.Paths {
   950  				res.Paths = append(res.Paths, &DeviceSpecNetplanConfig_FieldSubPath{selector: DeviceSpecNetplanConfig_FieldPathSelectorNetwork, subPath: subpath})
   951  			}
   952  		}
   953  	}
   954  	return res
   955  }
   956  
   957  func (o *Device_Spec_NetplanConfig) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   958  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetplanConfig))
   959  }
   960  
   961  func (o *Device_Spec_NetplanConfig) Clone() *Device_Spec_NetplanConfig {
   962  	if o == nil {
   963  		return nil
   964  	}
   965  	result := &Device_Spec_NetplanConfig{}
   966  	result.Network = o.Network.Clone()
   967  	return result
   968  }
   969  
   970  func (o *Device_Spec_NetplanConfig) CloneRaw() gotenobject.GotenObjectExt {
   971  	return o.Clone()
   972  }
   973  
   974  func (o *Device_Spec_NetplanConfig) Merge(source *Device_Spec_NetplanConfig) {
   975  	if source.GetNetwork() != nil {
   976  		if o.Network == nil {
   977  			o.Network = new(Device_Spec_NetworkingConfig)
   978  		}
   979  		o.Network.Merge(source.GetNetwork())
   980  	}
   981  }
   982  
   983  func (o *Device_Spec_NetplanConfig) MergeRaw(source gotenobject.GotenObjectExt) {
   984  	o.Merge(source.(*Device_Spec_NetplanConfig))
   985  }
   986  
   987  func (o *Device_Spec_SSHConfig) GotenObjectExt() {}
   988  
   989  func (o *Device_Spec_SSHConfig) MakeFullFieldMask() *Device_Spec_SSHConfig_FieldMask {
   990  	return FullDevice_Spec_SSHConfig_FieldMask()
   991  }
   992  
   993  func (o *Device_Spec_SSHConfig) MakeRawFullFieldMask() gotenobject.FieldMask {
   994  	return FullDevice_Spec_SSHConfig_FieldMask()
   995  }
   996  
   997  func (o *Device_Spec_SSHConfig) MakeDiffFieldMask(other *Device_Spec_SSHConfig) *Device_Spec_SSHConfig_FieldMask {
   998  	if o == nil && other == nil {
   999  		return &Device_Spec_SSHConfig_FieldMask{}
  1000  	}
  1001  	if o == nil || other == nil {
  1002  		return FullDevice_Spec_SSHConfig_FieldMask()
  1003  	}
  1004  
  1005  	res := &Device_Spec_SSHConfig_FieldMask{}
  1006  	if o.GetDisableSshServer() != other.GetDisableSshServer() {
  1007  		res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorDisableSshServer})
  1008  	}
  1009  	if o.GetDisableSshPassword() != other.GetDisableSshPassword() {
  1010  		res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorDisableSshPassword})
  1011  	}
  1012  
  1013  	if len(o.GetSshAuthorized()) == len(other.GetSshAuthorized()) {
  1014  		for i, lValue := range o.GetSshAuthorized() {
  1015  			rValue := other.GetSshAuthorized()[i]
  1016  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  1017  				res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorSshAuthorized})
  1018  				break
  1019  			}
  1020  		}
  1021  	} else {
  1022  		res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorSshAuthorized})
  1023  	}
  1024  
  1025  	if len(o.GetIpAllowList()) == len(other.GetIpAllowList()) {
  1026  		for i, lValue := range o.GetIpAllowList() {
  1027  			rValue := other.GetIpAllowList()[i]
  1028  			if lValue != rValue {
  1029  				res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorIpAllowList})
  1030  				break
  1031  			}
  1032  		}
  1033  	} else {
  1034  		res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorIpAllowList})
  1035  	}
  1036  
  1037  	if len(o.GetIpDenyList()) == len(other.GetIpDenyList()) {
  1038  		for i, lValue := range o.GetIpDenyList() {
  1039  			rValue := other.GetIpDenyList()[i]
  1040  			if lValue != rValue {
  1041  				res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorIpDenyList})
  1042  				break
  1043  			}
  1044  		}
  1045  	} else {
  1046  		res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorIpDenyList})
  1047  	}
  1048  	if !proto.Equal(o.GetRejectPeriod(), other.GetRejectPeriod()) {
  1049  		res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorRejectPeriod})
  1050  	}
  1051  	if o.GetDisableSshAuthkey() != other.GetDisableSshAuthkey() {
  1052  		res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorDisableSshAuthkey})
  1053  	}
  1054  	return res
  1055  }
  1056  
  1057  func (o *Device_Spec_SSHConfig) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  1058  	return o.MakeDiffFieldMask(other.(*Device_Spec_SSHConfig))
  1059  }
  1060  
  1061  func (o *Device_Spec_SSHConfig) Clone() *Device_Spec_SSHConfig {
  1062  	if o == nil {
  1063  		return nil
  1064  	}
  1065  	result := &Device_Spec_SSHConfig{}
  1066  	result.DisableSshServer = o.DisableSshServer
  1067  	result.DisableSshPassword = o.DisableSshPassword
  1068  	result.SshAuthorized = make([]*Device_Spec_SSHConfig_AuthKey, len(o.SshAuthorized))
  1069  	for i, sourceValue := range o.SshAuthorized {
  1070  		result.SshAuthorized[i] = sourceValue.Clone()
  1071  	}
  1072  	result.IpAllowList = make([]string, len(o.IpAllowList))
  1073  	for i, sourceValue := range o.IpAllowList {
  1074  		result.IpAllowList[i] = sourceValue
  1075  	}
  1076  	result.IpDenyList = make([]string, len(o.IpDenyList))
  1077  	for i, sourceValue := range o.IpDenyList {
  1078  		result.IpDenyList[i] = sourceValue
  1079  	}
  1080  	result.RejectPeriod = proto.Clone(o.RejectPeriod).(*durationpb.Duration)
  1081  	result.DisableSshAuthkey = o.DisableSshAuthkey
  1082  	return result
  1083  }
  1084  
  1085  func (o *Device_Spec_SSHConfig) CloneRaw() gotenobject.GotenObjectExt {
  1086  	return o.Clone()
  1087  }
  1088  
  1089  func (o *Device_Spec_SSHConfig) Merge(source *Device_Spec_SSHConfig) {
  1090  	o.DisableSshServer = source.GetDisableSshServer()
  1091  	o.DisableSshPassword = source.GetDisableSshPassword()
  1092  	for _, sourceValue := range source.GetSshAuthorized() {
  1093  		exists := false
  1094  		for _, currentValue := range o.SshAuthorized {
  1095  			if proto.Equal(sourceValue, currentValue) {
  1096  				exists = true
  1097  				break
  1098  			}
  1099  		}
  1100  		if !exists {
  1101  			var newDstElement *Device_Spec_SSHConfig_AuthKey
  1102  			if sourceValue != nil {
  1103  				newDstElement = new(Device_Spec_SSHConfig_AuthKey)
  1104  				newDstElement.Merge(sourceValue)
  1105  			}
  1106  			o.SshAuthorized = append(o.SshAuthorized, newDstElement)
  1107  		}
  1108  	}
  1109  
  1110  	for _, sourceValue := range source.GetIpAllowList() {
  1111  		exists := false
  1112  		for _, currentValue := range o.IpAllowList {
  1113  			if currentValue == sourceValue {
  1114  				exists = true
  1115  				break
  1116  			}
  1117  		}
  1118  		if !exists {
  1119  			var newDstElement string
  1120  			newDstElement = sourceValue
  1121  			o.IpAllowList = append(o.IpAllowList, newDstElement)
  1122  		}
  1123  	}
  1124  
  1125  	for _, sourceValue := range source.GetIpDenyList() {
  1126  		exists := false
  1127  		for _, currentValue := range o.IpDenyList {
  1128  			if currentValue == sourceValue {
  1129  				exists = true
  1130  				break
  1131  			}
  1132  		}
  1133  		if !exists {
  1134  			var newDstElement string
  1135  			newDstElement = sourceValue
  1136  			o.IpDenyList = append(o.IpDenyList, newDstElement)
  1137  		}
  1138  	}
  1139  
  1140  	if source.GetRejectPeriod() != nil {
  1141  		if o.RejectPeriod == nil {
  1142  			o.RejectPeriod = new(durationpb.Duration)
  1143  		}
  1144  		proto.Merge(o.RejectPeriod, source.GetRejectPeriod())
  1145  	}
  1146  	o.DisableSshAuthkey = source.GetDisableSshAuthkey()
  1147  }
  1148  
  1149  func (o *Device_Spec_SSHConfig) MergeRaw(source gotenobject.GotenObjectExt) {
  1150  	o.Merge(source.(*Device_Spec_SSHConfig))
  1151  }
  1152  
  1153  func (o *Device_Spec_AttestationConfig) GotenObjectExt() {}
  1154  
  1155  func (o *Device_Spec_AttestationConfig) MakeFullFieldMask() *Device_Spec_AttestationConfig_FieldMask {
  1156  	return FullDevice_Spec_AttestationConfig_FieldMask()
  1157  }
  1158  
  1159  func (o *Device_Spec_AttestationConfig) MakeRawFullFieldMask() gotenobject.FieldMask {
  1160  	return FullDevice_Spec_AttestationConfig_FieldMask()
  1161  }
  1162  
  1163  func (o *Device_Spec_AttestationConfig) MakeDiffFieldMask(other *Device_Spec_AttestationConfig) *Device_Spec_AttestationConfig_FieldMask {
  1164  	if o == nil && other == nil {
  1165  		return &Device_Spec_AttestationConfig_FieldMask{}
  1166  	}
  1167  	if o == nil || other == nil {
  1168  		return FullDevice_Spec_AttestationConfig_FieldMask()
  1169  	}
  1170  
  1171  	res := &Device_Spec_AttestationConfig_FieldMask{}
  1172  	if o.GetAttestationExpected() != other.GetAttestationExpected() {
  1173  		res.Paths = append(res.Paths, &DeviceSpecAttestationConfig_FieldTerminalPath{selector: DeviceSpecAttestationConfig_FieldPathSelectorAttestationExpected})
  1174  	}
  1175  	if o.GetAttestationDomain().String() != other.GetAttestationDomain().String() {
  1176  		res.Paths = append(res.Paths, &DeviceSpecAttestationConfig_FieldTerminalPath{selector: DeviceSpecAttestationConfig_FieldPathSelectorAttestationDomain})
  1177  	}
  1178  	if o.GetInsecureUseTpmSimulatorSeed() != other.GetInsecureUseTpmSimulatorSeed() {
  1179  		res.Paths = append(res.Paths, &DeviceSpecAttestationConfig_FieldTerminalPath{selector: DeviceSpecAttestationConfig_FieldPathSelectorInsecureUseTpmSimulatorSeed})
  1180  	}
  1181  	return res
  1182  }
  1183  
  1184  func (o *Device_Spec_AttestationConfig) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  1185  	return o.MakeDiffFieldMask(other.(*Device_Spec_AttestationConfig))
  1186  }
  1187  
  1188  func (o *Device_Spec_AttestationConfig) Clone() *Device_Spec_AttestationConfig {
  1189  	if o == nil {
  1190  		return nil
  1191  	}
  1192  	result := &Device_Spec_AttestationConfig{}
  1193  	result.AttestationExpected = o.AttestationExpected
  1194  	if o.AttestationDomain == nil {
  1195  		result.AttestationDomain = nil
  1196  	} else if data, err := o.AttestationDomain.ProtoString(); err != nil {
  1197  		panic(err)
  1198  	} else {
  1199  		result.AttestationDomain = &iam_attestation_domain.Reference{}
  1200  		if err := result.AttestationDomain.ParseProtoString(data); err != nil {
  1201  			panic(err)
  1202  		}
  1203  	}
  1204  	result.InsecureUseTpmSimulatorSeed = o.InsecureUseTpmSimulatorSeed
  1205  	return result
  1206  }
  1207  
  1208  func (o *Device_Spec_AttestationConfig) CloneRaw() gotenobject.GotenObjectExt {
  1209  	return o.Clone()
  1210  }
  1211  
  1212  func (o *Device_Spec_AttestationConfig) Merge(source *Device_Spec_AttestationConfig) {
  1213  	o.AttestationExpected = source.GetAttestationExpected()
  1214  	if source.GetAttestationDomain() != nil {
  1215  		if data, err := source.GetAttestationDomain().ProtoString(); err != nil {
  1216  			panic(err)
  1217  		} else {
  1218  			o.AttestationDomain = &iam_attestation_domain.Reference{}
  1219  			if err := o.AttestationDomain.ParseProtoString(data); err != nil {
  1220  				panic(err)
  1221  			}
  1222  		}
  1223  	} else {
  1224  		o.AttestationDomain = nil
  1225  	}
  1226  	o.InsecureUseTpmSimulatorSeed = source.GetInsecureUseTpmSimulatorSeed()
  1227  }
  1228  
  1229  func (o *Device_Spec_AttestationConfig) MergeRaw(source gotenobject.GotenObjectExt) {
  1230  	o.Merge(source.(*Device_Spec_AttestationConfig))
  1231  }
  1232  
  1233  func (o *Device_Spec_LoggingConfig) GotenObjectExt() {}
  1234  
  1235  func (o *Device_Spec_LoggingConfig) MakeFullFieldMask() *Device_Spec_LoggingConfig_FieldMask {
  1236  	return FullDevice_Spec_LoggingConfig_FieldMask()
  1237  }
  1238  
  1239  func (o *Device_Spec_LoggingConfig) MakeRawFullFieldMask() gotenobject.FieldMask {
  1240  	return FullDevice_Spec_LoggingConfig_FieldMask()
  1241  }
  1242  
  1243  func (o *Device_Spec_LoggingConfig) MakeDiffFieldMask(other *Device_Spec_LoggingConfig) *Device_Spec_LoggingConfig_FieldMask {
  1244  	if o == nil && other == nil {
  1245  		return &Device_Spec_LoggingConfig_FieldMask{}
  1246  	}
  1247  	if o == nil || other == nil {
  1248  		return FullDevice_Spec_LoggingConfig_FieldMask()
  1249  	}
  1250  
  1251  	res := &Device_Spec_LoggingConfig_FieldMask{}
  1252  	if o.GetPriority() != other.GetPriority() {
  1253  		res.Paths = append(res.Paths, &DeviceSpecLoggingConfig_FieldTerminalPath{selector: DeviceSpecLoggingConfig_FieldPathSelectorPriority})
  1254  	}
  1255  
  1256  	if len(o.GetUnits()) == len(other.GetUnits()) {
  1257  		for i, lValue := range o.GetUnits() {
  1258  			rValue := other.GetUnits()[i]
  1259  			if lValue != rValue {
  1260  				res.Paths = append(res.Paths, &DeviceSpecLoggingConfig_FieldTerminalPath{selector: DeviceSpecLoggingConfig_FieldPathSelectorUnits})
  1261  				break
  1262  			}
  1263  		}
  1264  	} else {
  1265  		res.Paths = append(res.Paths, &DeviceSpecLoggingConfig_FieldTerminalPath{selector: DeviceSpecLoggingConfig_FieldPathSelectorUnits})
  1266  	}
  1267  	if o.GetEnableJournalExport() != other.GetEnableJournalExport() {
  1268  		res.Paths = append(res.Paths, &DeviceSpecLoggingConfig_FieldTerminalPath{selector: DeviceSpecLoggingConfig_FieldPathSelectorEnableJournalExport})
  1269  	}
  1270  	return res
  1271  }
  1272  
  1273  func (o *Device_Spec_LoggingConfig) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  1274  	return o.MakeDiffFieldMask(other.(*Device_Spec_LoggingConfig))
  1275  }
  1276  
  1277  func (o *Device_Spec_LoggingConfig) Clone() *Device_Spec_LoggingConfig {
  1278  	if o == nil {
  1279  		return nil
  1280  	}
  1281  	result := &Device_Spec_LoggingConfig{}
  1282  	result.Priority = o.Priority
  1283  	result.Units = make([]string, len(o.Units))
  1284  	for i, sourceValue := range o.Units {
  1285  		result.Units[i] = sourceValue
  1286  	}
  1287  	result.EnableJournalExport = o.EnableJournalExport
  1288  	return result
  1289  }
  1290  
  1291  func (o *Device_Spec_LoggingConfig) CloneRaw() gotenobject.GotenObjectExt {
  1292  	return o.Clone()
  1293  }
  1294  
  1295  func (o *Device_Spec_LoggingConfig) Merge(source *Device_Spec_LoggingConfig) {
  1296  	o.Priority = source.GetPriority()
  1297  	for _, sourceValue := range source.GetUnits() {
  1298  		exists := false
  1299  		for _, currentValue := range o.Units {
  1300  			if currentValue == sourceValue {
  1301  				exists = true
  1302  				break
  1303  			}
  1304  		}
  1305  		if !exists {
  1306  			var newDstElement string
  1307  			newDstElement = sourceValue
  1308  			o.Units = append(o.Units, newDstElement)
  1309  		}
  1310  	}
  1311  
  1312  	o.EnableJournalExport = source.GetEnableJournalExport()
  1313  }
  1314  
  1315  func (o *Device_Spec_LoggingConfig) MergeRaw(source gotenobject.GotenObjectExt) {
  1316  	o.Merge(source.(*Device_Spec_LoggingConfig))
  1317  }
  1318  
  1319  func (o *Device_Spec_ProxyConfig) GotenObjectExt() {}
  1320  
  1321  func (o *Device_Spec_ProxyConfig) MakeFullFieldMask() *Device_Spec_ProxyConfig_FieldMask {
  1322  	return FullDevice_Spec_ProxyConfig_FieldMask()
  1323  }
  1324  
  1325  func (o *Device_Spec_ProxyConfig) MakeRawFullFieldMask() gotenobject.FieldMask {
  1326  	return FullDevice_Spec_ProxyConfig_FieldMask()
  1327  }
  1328  
  1329  func (o *Device_Spec_ProxyConfig) MakeDiffFieldMask(other *Device_Spec_ProxyConfig) *Device_Spec_ProxyConfig_FieldMask {
  1330  	if o == nil && other == nil {
  1331  		return &Device_Spec_ProxyConfig_FieldMask{}
  1332  	}
  1333  	if o == nil || other == nil {
  1334  		return FullDevice_Spec_ProxyConfig_FieldMask()
  1335  	}
  1336  
  1337  	res := &Device_Spec_ProxyConfig_FieldMask{}
  1338  	if o.GetHttpProxy() != other.GetHttpProxy() {
  1339  		res.Paths = append(res.Paths, &DeviceSpecProxyConfig_FieldTerminalPath{selector: DeviceSpecProxyConfig_FieldPathSelectorHttpProxy})
  1340  	}
  1341  	if o.GetHttpsProxy() != other.GetHttpsProxy() {
  1342  		res.Paths = append(res.Paths, &DeviceSpecProxyConfig_FieldTerminalPath{selector: DeviceSpecProxyConfig_FieldPathSelectorHttpsProxy})
  1343  	}
  1344  	if o.GetNoProxy() != other.GetNoProxy() {
  1345  		res.Paths = append(res.Paths, &DeviceSpecProxyConfig_FieldTerminalPath{selector: DeviceSpecProxyConfig_FieldPathSelectorNoProxy})
  1346  	}
  1347  
  1348  	if len(o.GetProxyInterfaces()) == len(other.GetProxyInterfaces()) {
  1349  		for i, lValue := range o.GetProxyInterfaces() {
  1350  			rValue := other.GetProxyInterfaces()[i]
  1351  			if lValue != rValue {
  1352  				res.Paths = append(res.Paths, &DeviceSpecProxyConfig_FieldTerminalPath{selector: DeviceSpecProxyConfig_FieldPathSelectorProxyInterfaces})
  1353  				break
  1354  			}
  1355  		}
  1356  	} else {
  1357  		res.Paths = append(res.Paths, &DeviceSpecProxyConfig_FieldTerminalPath{selector: DeviceSpecProxyConfig_FieldPathSelectorProxyInterfaces})
  1358  	}
  1359  	return res
  1360  }
  1361  
  1362  func (o *Device_Spec_ProxyConfig) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  1363  	return o.MakeDiffFieldMask(other.(*Device_Spec_ProxyConfig))
  1364  }
  1365  
  1366  func (o *Device_Spec_ProxyConfig) Clone() *Device_Spec_ProxyConfig {
  1367  	if o == nil {
  1368  		return nil
  1369  	}
  1370  	result := &Device_Spec_ProxyConfig{}
  1371  	result.HttpProxy = o.HttpProxy
  1372  	result.HttpsProxy = o.HttpsProxy
  1373  	result.NoProxy = o.NoProxy
  1374  	result.ProxyInterfaces = make([]string, len(o.ProxyInterfaces))
  1375  	for i, sourceValue := range o.ProxyInterfaces {
  1376  		result.ProxyInterfaces[i] = sourceValue
  1377  	}
  1378  	return result
  1379  }
  1380  
  1381  func (o *Device_Spec_ProxyConfig) CloneRaw() gotenobject.GotenObjectExt {
  1382  	return o.Clone()
  1383  }
  1384  
  1385  func (o *Device_Spec_ProxyConfig) Merge(source *Device_Spec_ProxyConfig) {
  1386  	o.HttpProxy = source.GetHttpProxy()
  1387  	o.HttpsProxy = source.GetHttpsProxy()
  1388  	o.NoProxy = source.GetNoProxy()
  1389  	for _, sourceValue := range source.GetProxyInterfaces() {
  1390  		exists := false
  1391  		for _, currentValue := range o.ProxyInterfaces {
  1392  			if currentValue == sourceValue {
  1393  				exists = true
  1394  				break
  1395  			}
  1396  		}
  1397  		if !exists {
  1398  			var newDstElement string
  1399  			newDstElement = sourceValue
  1400  			o.ProxyInterfaces = append(o.ProxyInterfaces, newDstElement)
  1401  		}
  1402  	}
  1403  
  1404  }
  1405  
  1406  func (o *Device_Spec_ProxyConfig) MergeRaw(source gotenobject.GotenObjectExt) {
  1407  	o.Merge(source.(*Device_Spec_ProxyConfig))
  1408  }
  1409  
  1410  func (o *Device_Spec_Location) GotenObjectExt() {}
  1411  
  1412  func (o *Device_Spec_Location) MakeFullFieldMask() *Device_Spec_Location_FieldMask {
  1413  	return FullDevice_Spec_Location_FieldMask()
  1414  }
  1415  
  1416  func (o *Device_Spec_Location) MakeRawFullFieldMask() gotenobject.FieldMask {
  1417  	return FullDevice_Spec_Location_FieldMask()
  1418  }
  1419  
  1420  func (o *Device_Spec_Location) MakeDiffFieldMask(other *Device_Spec_Location) *Device_Spec_Location_FieldMask {
  1421  	if o == nil && other == nil {
  1422  		return &Device_Spec_Location_FieldMask{}
  1423  	}
  1424  	if o == nil || other == nil {
  1425  		return FullDevice_Spec_Location_FieldMask()
  1426  	}
  1427  
  1428  	res := &Device_Spec_Location_FieldMask{}
  1429  	if o.GetAddress() != other.GetAddress() {
  1430  		res.Paths = append(res.Paths, &DeviceSpecLocation_FieldTerminalPath{selector: DeviceSpecLocation_FieldPathSelectorAddress})
  1431  	}
  1432  	if o.GetPlacement() != other.GetPlacement() {
  1433  		res.Paths = append(res.Paths, &DeviceSpecLocation_FieldTerminalPath{selector: DeviceSpecLocation_FieldPathSelectorPlacement})
  1434  	}
  1435  	return res
  1436  }
  1437  
  1438  func (o *Device_Spec_Location) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  1439  	return o.MakeDiffFieldMask(other.(*Device_Spec_Location))
  1440  }
  1441  
  1442  func (o *Device_Spec_Location) Clone() *Device_Spec_Location {
  1443  	if o == nil {
  1444  		return nil
  1445  	}
  1446  	result := &Device_Spec_Location{}
  1447  	result.Address = o.Address
  1448  	result.Placement = o.Placement
  1449  	return result
  1450  }
  1451  
  1452  func (o *Device_Spec_Location) CloneRaw() gotenobject.GotenObjectExt {
  1453  	return o.Clone()
  1454  }
  1455  
  1456  func (o *Device_Spec_Location) Merge(source *Device_Spec_Location) {
  1457  	o.Address = source.GetAddress()
  1458  	o.Placement = source.GetPlacement()
  1459  }
  1460  
  1461  func (o *Device_Spec_Location) MergeRaw(source gotenobject.GotenObjectExt) {
  1462  	o.Merge(source.(*Device_Spec_Location))
  1463  }
  1464  
  1465  func (o *Device_Spec_NetworkingConfig_CommonOpts) GotenObjectExt() {}
  1466  
  1467  func (o *Device_Spec_NetworkingConfig_CommonOpts) MakeFullFieldMask() *Device_Spec_NetworkingConfig_CommonOpts_FieldMask {
  1468  	return FullDevice_Spec_NetworkingConfig_CommonOpts_FieldMask()
  1469  }
  1470  
  1471  func (o *Device_Spec_NetworkingConfig_CommonOpts) MakeRawFullFieldMask() gotenobject.FieldMask {
  1472  	return FullDevice_Spec_NetworkingConfig_CommonOpts_FieldMask()
  1473  }
  1474  
  1475  func (o *Device_Spec_NetworkingConfig_CommonOpts) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_CommonOpts) *Device_Spec_NetworkingConfig_CommonOpts_FieldMask {
  1476  	if o == nil && other == nil {
  1477  		return &Device_Spec_NetworkingConfig_CommonOpts_FieldMask{}
  1478  	}
  1479  	if o == nil || other == nil {
  1480  		return FullDevice_Spec_NetworkingConfig_CommonOpts_FieldMask()
  1481  	}
  1482  
  1483  	res := &Device_Spec_NetworkingConfig_CommonOpts_FieldMask{}
  1484  	return res
  1485  }
  1486  
  1487  func (o *Device_Spec_NetworkingConfig_CommonOpts) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  1488  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_CommonOpts))
  1489  }
  1490  
  1491  func (o *Device_Spec_NetworkingConfig_CommonOpts) Clone() *Device_Spec_NetworkingConfig_CommonOpts {
  1492  	if o == nil {
  1493  		return nil
  1494  	}
  1495  	result := &Device_Spec_NetworkingConfig_CommonOpts{}
  1496  	return result
  1497  }
  1498  
  1499  func (o *Device_Spec_NetworkingConfig_CommonOpts) CloneRaw() gotenobject.GotenObjectExt {
  1500  	return o.Clone()
  1501  }
  1502  
  1503  func (o *Device_Spec_NetworkingConfig_CommonOpts) Merge(source *Device_Spec_NetworkingConfig_CommonOpts) {
  1504  }
  1505  
  1506  func (o *Device_Spec_NetworkingConfig_CommonOpts) MergeRaw(source gotenobject.GotenObjectExt) {
  1507  	o.Merge(source.(*Device_Spec_NetworkingConfig_CommonOpts))
  1508  }
  1509  
  1510  func (o *Device_Spec_NetworkingConfig_EthOpts) GotenObjectExt() {}
  1511  
  1512  func (o *Device_Spec_NetworkingConfig_EthOpts) MakeFullFieldMask() *Device_Spec_NetworkingConfig_EthOpts_FieldMask {
  1513  	return FullDevice_Spec_NetworkingConfig_EthOpts_FieldMask()
  1514  }
  1515  
  1516  func (o *Device_Spec_NetworkingConfig_EthOpts) MakeRawFullFieldMask() gotenobject.FieldMask {
  1517  	return FullDevice_Spec_NetworkingConfig_EthOpts_FieldMask()
  1518  }
  1519  
  1520  func (o *Device_Spec_NetworkingConfig_EthOpts) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_EthOpts) *Device_Spec_NetworkingConfig_EthOpts_FieldMask {
  1521  	if o == nil && other == nil {
  1522  		return &Device_Spec_NetworkingConfig_EthOpts_FieldMask{}
  1523  	}
  1524  	if o == nil || other == nil {
  1525  		return FullDevice_Spec_NetworkingConfig_EthOpts_FieldMask()
  1526  	}
  1527  
  1528  	res := &Device_Spec_NetworkingConfig_EthOpts_FieldMask{}
  1529  	{
  1530  		subMask := o.GetMatch().MakeDiffFieldMask(other.GetMatch())
  1531  		if subMask.IsFull() {
  1532  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorMatch})
  1533  		} else {
  1534  			for _, subpath := range subMask.Paths {
  1535  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorMatch, subPath: subpath})
  1536  			}
  1537  		}
  1538  	}
  1539  	if o.GetSetName() != other.GetSetName() {
  1540  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorSetName})
  1541  	}
  1542  	if o.GetWakeonlan() != other.GetWakeonlan() {
  1543  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorWakeonlan})
  1544  	}
  1545  	if o.GetRenderer() != other.GetRenderer() {
  1546  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorRenderer})
  1547  	}
  1548  	if o.GetDhcp4() != other.GetDhcp4() {
  1549  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorDhcp4})
  1550  	}
  1551  	if o.GetDhcp6() != other.GetDhcp6() {
  1552  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorDhcp6})
  1553  	}
  1554  	if o.GetIpv6Privacy() != other.GetIpv6Privacy() {
  1555  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorIpv6Privacy})
  1556  	}
  1557  
  1558  	if len(o.GetLinkLocal()) == len(other.GetLinkLocal()) {
  1559  		for i, lValue := range o.GetLinkLocal() {
  1560  			rValue := other.GetLinkLocal()[i]
  1561  			if lValue != rValue {
  1562  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorLinkLocal})
  1563  				break
  1564  			}
  1565  		}
  1566  	} else {
  1567  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorLinkLocal})
  1568  	}
  1569  	if o.GetCritical() != other.GetCritical() {
  1570  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorCritical})
  1571  	}
  1572  	if o.GetDhcpIdentifier() != other.GetDhcpIdentifier() {
  1573  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorDhcpIdentifier})
  1574  	}
  1575  	{
  1576  		subMask := o.GetDhcp4Overrides().MakeDiffFieldMask(other.GetDhcp4Overrides())
  1577  		if subMask.IsFull() {
  1578  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorDhcp4Overrides})
  1579  		} else {
  1580  			for _, subpath := range subMask.Paths {
  1581  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorDhcp4Overrides, subPath: subpath})
  1582  			}
  1583  		}
  1584  	}
  1585  	{
  1586  		subMask := o.GetDhcp6Overrides().MakeDiffFieldMask(other.GetDhcp6Overrides())
  1587  		if subMask.IsFull() {
  1588  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorDhcp6Overrides})
  1589  		} else {
  1590  			for _, subpath := range subMask.Paths {
  1591  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorDhcp6Overrides, subPath: subpath})
  1592  			}
  1593  		}
  1594  	}
  1595  	if o.GetAcceptRa() != other.GetAcceptRa() {
  1596  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorAcceptRa})
  1597  	}
  1598  
  1599  	if len(o.GetAddresses()) == len(other.GetAddresses()) {
  1600  		for i, lValue := range o.GetAddresses() {
  1601  			rValue := other.GetAddresses()[i]
  1602  			if lValue != rValue {
  1603  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorAddresses})
  1604  				break
  1605  			}
  1606  		}
  1607  	} else {
  1608  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorAddresses})
  1609  	}
  1610  	{
  1611  		subMask := o.GetNameservers().MakeDiffFieldMask(other.GetNameservers())
  1612  		if subMask.IsFull() {
  1613  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorNameservers})
  1614  		} else {
  1615  			for _, subpath := range subMask.Paths {
  1616  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorNameservers, subPath: subpath})
  1617  			}
  1618  		}
  1619  	}
  1620  	if o.GetMacaddress() != other.GetMacaddress() {
  1621  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorMacaddress})
  1622  	}
  1623  	if o.GetMtu() != other.GetMtu() {
  1624  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorMtu})
  1625  	}
  1626  	if o.GetOptional() != other.GetOptional() {
  1627  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorOptional})
  1628  	}
  1629  
  1630  	if len(o.GetOptionalAddresses()) == len(other.GetOptionalAddresses()) {
  1631  		for i, lValue := range o.GetOptionalAddresses() {
  1632  			rValue := other.GetOptionalAddresses()[i]
  1633  			if lValue != rValue {
  1634  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorOptionalAddresses})
  1635  				break
  1636  			}
  1637  		}
  1638  	} else {
  1639  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorOptionalAddresses})
  1640  	}
  1641  
  1642  	if len(o.GetRoutes()) == len(other.GetRoutes()) {
  1643  		for i, lValue := range o.GetRoutes() {
  1644  			rValue := other.GetRoutes()[i]
  1645  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  1646  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorRoutes})
  1647  				break
  1648  			}
  1649  		}
  1650  	} else {
  1651  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorRoutes})
  1652  	}
  1653  	{
  1654  		subMask := o.GetRoutingPolicy().MakeDiffFieldMask(other.GetRoutingPolicy())
  1655  		if subMask.IsFull() {
  1656  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorRoutingPolicy})
  1657  		} else {
  1658  			for _, subpath := range subMask.Paths {
  1659  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorRoutingPolicy, subPath: subpath})
  1660  			}
  1661  		}
  1662  	}
  1663  	{
  1664  		subMask := o.GetAuth().MakeDiffFieldMask(other.GetAuth())
  1665  		if subMask.IsFull() {
  1666  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorAuth})
  1667  		} else {
  1668  			for _, subpath := range subMask.Paths {
  1669  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorAuth, subPath: subpath})
  1670  			}
  1671  		}
  1672  	}
  1673  	if o.GetGateway4() != other.GetGateway4() {
  1674  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorGateway4})
  1675  	}
  1676  	if o.GetGateway6() != other.GetGateway6() {
  1677  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOpts_FieldPathSelectorGateway6})
  1678  	}
  1679  	return res
  1680  }
  1681  
  1682  func (o *Device_Spec_NetworkingConfig_EthOpts) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  1683  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_EthOpts))
  1684  }
  1685  
  1686  func (o *Device_Spec_NetworkingConfig_EthOpts) Clone() *Device_Spec_NetworkingConfig_EthOpts {
  1687  	if o == nil {
  1688  		return nil
  1689  	}
  1690  	result := &Device_Spec_NetworkingConfig_EthOpts{}
  1691  	result.Match = o.Match.Clone()
  1692  	result.SetName = o.SetName
  1693  	result.Wakeonlan = o.Wakeonlan
  1694  	result.Renderer = o.Renderer
  1695  	result.Dhcp4 = o.Dhcp4
  1696  	result.Dhcp6 = o.Dhcp6
  1697  	result.Ipv6Privacy = o.Ipv6Privacy
  1698  	result.LinkLocal = make([]string, len(o.LinkLocal))
  1699  	for i, sourceValue := range o.LinkLocal {
  1700  		result.LinkLocal[i] = sourceValue
  1701  	}
  1702  	result.Critical = o.Critical
  1703  	result.DhcpIdentifier = o.DhcpIdentifier
  1704  	result.Dhcp4Overrides = o.Dhcp4Overrides.Clone()
  1705  	result.Dhcp6Overrides = o.Dhcp6Overrides.Clone()
  1706  	result.AcceptRa = o.AcceptRa
  1707  	result.Addresses = make([]string, len(o.Addresses))
  1708  	for i, sourceValue := range o.Addresses {
  1709  		result.Addresses[i] = sourceValue
  1710  	}
  1711  	result.Nameservers = o.Nameservers.Clone()
  1712  	result.Macaddress = o.Macaddress
  1713  	result.Mtu = o.Mtu
  1714  	result.Optional = o.Optional
  1715  	result.OptionalAddresses = make([]string, len(o.OptionalAddresses))
  1716  	for i, sourceValue := range o.OptionalAddresses {
  1717  		result.OptionalAddresses[i] = sourceValue
  1718  	}
  1719  	result.Routes = make([]*Device_Spec_NetworkingConfig_CommonOpts_Routes, len(o.Routes))
  1720  	for i, sourceValue := range o.Routes {
  1721  		result.Routes[i] = sourceValue.Clone()
  1722  	}
  1723  	result.RoutingPolicy = o.RoutingPolicy.Clone()
  1724  	result.Auth = o.Auth.Clone()
  1725  	result.Gateway4 = o.Gateway4
  1726  	result.Gateway6 = o.Gateway6
  1727  	return result
  1728  }
  1729  
  1730  func (o *Device_Spec_NetworkingConfig_EthOpts) CloneRaw() gotenobject.GotenObjectExt {
  1731  	return o.Clone()
  1732  }
  1733  
  1734  func (o *Device_Spec_NetworkingConfig_EthOpts) Merge(source *Device_Spec_NetworkingConfig_EthOpts) {
  1735  	if source.GetMatch() != nil {
  1736  		if o.Match == nil {
  1737  			o.Match = new(Device_Spec_NetworkingConfig_EthOpts_Match)
  1738  		}
  1739  		o.Match.Merge(source.GetMatch())
  1740  	}
  1741  	o.SetName = source.GetSetName()
  1742  	o.Wakeonlan = source.GetWakeonlan()
  1743  	o.Renderer = source.GetRenderer()
  1744  	o.Dhcp4 = source.GetDhcp4()
  1745  	o.Dhcp6 = source.GetDhcp6()
  1746  	o.Ipv6Privacy = source.GetIpv6Privacy()
  1747  	for _, sourceValue := range source.GetLinkLocal() {
  1748  		exists := false
  1749  		for _, currentValue := range o.LinkLocal {
  1750  			if currentValue == sourceValue {
  1751  				exists = true
  1752  				break
  1753  			}
  1754  		}
  1755  		if !exists {
  1756  			var newDstElement string
  1757  			newDstElement = sourceValue
  1758  			o.LinkLocal = append(o.LinkLocal, newDstElement)
  1759  		}
  1760  	}
  1761  
  1762  	o.Critical = source.GetCritical()
  1763  	o.DhcpIdentifier = source.GetDhcpIdentifier()
  1764  	if source.GetDhcp4Overrides() != nil {
  1765  		if o.Dhcp4Overrides == nil {
  1766  			o.Dhcp4Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  1767  		}
  1768  		o.Dhcp4Overrides.Merge(source.GetDhcp4Overrides())
  1769  	}
  1770  	if source.GetDhcp6Overrides() != nil {
  1771  		if o.Dhcp6Overrides == nil {
  1772  			o.Dhcp6Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  1773  		}
  1774  		o.Dhcp6Overrides.Merge(source.GetDhcp6Overrides())
  1775  	}
  1776  	o.AcceptRa = source.GetAcceptRa()
  1777  	for _, sourceValue := range source.GetAddresses() {
  1778  		exists := false
  1779  		for _, currentValue := range o.Addresses {
  1780  			if currentValue == sourceValue {
  1781  				exists = true
  1782  				break
  1783  			}
  1784  		}
  1785  		if !exists {
  1786  			var newDstElement string
  1787  			newDstElement = sourceValue
  1788  			o.Addresses = append(o.Addresses, newDstElement)
  1789  		}
  1790  	}
  1791  
  1792  	if source.GetNameservers() != nil {
  1793  		if o.Nameservers == nil {
  1794  			o.Nameservers = new(Device_Spec_NetworkingConfig_CommonOpts_Nameservers)
  1795  		}
  1796  		o.Nameservers.Merge(source.GetNameservers())
  1797  	}
  1798  	o.Macaddress = source.GetMacaddress()
  1799  	o.Mtu = source.GetMtu()
  1800  	o.Optional = source.GetOptional()
  1801  	for _, sourceValue := range source.GetOptionalAddresses() {
  1802  		exists := false
  1803  		for _, currentValue := range o.OptionalAddresses {
  1804  			if currentValue == sourceValue {
  1805  				exists = true
  1806  				break
  1807  			}
  1808  		}
  1809  		if !exists {
  1810  			var newDstElement string
  1811  			newDstElement = sourceValue
  1812  			o.OptionalAddresses = append(o.OptionalAddresses, newDstElement)
  1813  		}
  1814  	}
  1815  
  1816  	for _, sourceValue := range source.GetRoutes() {
  1817  		exists := false
  1818  		for _, currentValue := range o.Routes {
  1819  			if proto.Equal(sourceValue, currentValue) {
  1820  				exists = true
  1821  				break
  1822  			}
  1823  		}
  1824  		if !exists {
  1825  			var newDstElement *Device_Spec_NetworkingConfig_CommonOpts_Routes
  1826  			if sourceValue != nil {
  1827  				newDstElement = new(Device_Spec_NetworkingConfig_CommonOpts_Routes)
  1828  				newDstElement.Merge(sourceValue)
  1829  			}
  1830  			o.Routes = append(o.Routes, newDstElement)
  1831  		}
  1832  	}
  1833  
  1834  	if source.GetRoutingPolicy() != nil {
  1835  		if o.RoutingPolicy == nil {
  1836  			o.RoutingPolicy = new(Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy)
  1837  		}
  1838  		o.RoutingPolicy.Merge(source.GetRoutingPolicy())
  1839  	}
  1840  	if source.GetAuth() != nil {
  1841  		if o.Auth == nil {
  1842  			o.Auth = new(Device_Spec_NetworkingConfig_CommonOpts_Auth)
  1843  		}
  1844  		o.Auth.Merge(source.GetAuth())
  1845  	}
  1846  	o.Gateway4 = source.GetGateway4()
  1847  	o.Gateway6 = source.GetGateway6()
  1848  }
  1849  
  1850  func (o *Device_Spec_NetworkingConfig_EthOpts) MergeRaw(source gotenobject.GotenObjectExt) {
  1851  	o.Merge(source.(*Device_Spec_NetworkingConfig_EthOpts))
  1852  }
  1853  
  1854  func (o *Device_Spec_NetworkingConfig_WifiOpts) GotenObjectExt() {}
  1855  
  1856  func (o *Device_Spec_NetworkingConfig_WifiOpts) MakeFullFieldMask() *Device_Spec_NetworkingConfig_WifiOpts_FieldMask {
  1857  	return FullDevice_Spec_NetworkingConfig_WifiOpts_FieldMask()
  1858  }
  1859  
  1860  func (o *Device_Spec_NetworkingConfig_WifiOpts) MakeRawFullFieldMask() gotenobject.FieldMask {
  1861  	return FullDevice_Spec_NetworkingConfig_WifiOpts_FieldMask()
  1862  }
  1863  
  1864  func (o *Device_Spec_NetworkingConfig_WifiOpts) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_WifiOpts) *Device_Spec_NetworkingConfig_WifiOpts_FieldMask {
  1865  	if o == nil && other == nil {
  1866  		return &Device_Spec_NetworkingConfig_WifiOpts_FieldMask{}
  1867  	}
  1868  	if o == nil || other == nil {
  1869  		return FullDevice_Spec_NetworkingConfig_WifiOpts_FieldMask()
  1870  	}
  1871  
  1872  	res := &Device_Spec_NetworkingConfig_WifiOpts_FieldMask{}
  1873  	{
  1874  		subMask := o.GetMatch().MakeDiffFieldMask(other.GetMatch())
  1875  		if subMask.IsFull() {
  1876  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorMatch})
  1877  		} else {
  1878  			for _, subpath := range subMask.Paths {
  1879  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorMatch, subPath: subpath})
  1880  			}
  1881  		}
  1882  	}
  1883  	if o.GetSetName() != other.GetSetName() {
  1884  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorSetName})
  1885  	}
  1886  	if o.GetWakeonlan() != other.GetWakeonlan() {
  1887  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorWakeonlan})
  1888  	}
  1889  
  1890  	if len(o.GetAccessPoints()) == len(other.GetAccessPoints()) {
  1891  		for i, lValue := range o.GetAccessPoints() {
  1892  			rValue := other.GetAccessPoints()[i]
  1893  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  1894  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorAccessPoints})
  1895  				break
  1896  			}
  1897  		}
  1898  	} else {
  1899  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorAccessPoints})
  1900  	}
  1901  
  1902  	if len(o.GetWakeonwlan()) == len(other.GetWakeonwlan()) {
  1903  		for i, lValue := range o.GetWakeonwlan() {
  1904  			rValue := other.GetWakeonwlan()[i]
  1905  			if lValue != rValue {
  1906  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorWakeonwlan})
  1907  				break
  1908  			}
  1909  		}
  1910  	} else {
  1911  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorWakeonwlan})
  1912  	}
  1913  	if o.GetRegulatoryDomain() != other.GetRegulatoryDomain() {
  1914  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorRegulatoryDomain})
  1915  	}
  1916  	if o.GetRenderer() != other.GetRenderer() {
  1917  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorRenderer})
  1918  	}
  1919  	if o.GetDhcp4() != other.GetDhcp4() {
  1920  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorDhcp4})
  1921  	}
  1922  	if o.GetDhcp6() != other.GetDhcp6() {
  1923  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorDhcp6})
  1924  	}
  1925  	if o.GetIpv6Privacy() != other.GetIpv6Privacy() {
  1926  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorIpv6Privacy})
  1927  	}
  1928  
  1929  	if len(o.GetLinkLocal()) == len(other.GetLinkLocal()) {
  1930  		for i, lValue := range o.GetLinkLocal() {
  1931  			rValue := other.GetLinkLocal()[i]
  1932  			if lValue != rValue {
  1933  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorLinkLocal})
  1934  				break
  1935  			}
  1936  		}
  1937  	} else {
  1938  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorLinkLocal})
  1939  	}
  1940  	if o.GetCritical() != other.GetCritical() {
  1941  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorCritical})
  1942  	}
  1943  	if o.GetDhcpIdentifier() != other.GetDhcpIdentifier() {
  1944  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorDhcpIdentifier})
  1945  	}
  1946  	{
  1947  		subMask := o.GetDhcp4Overrides().MakeDiffFieldMask(other.GetDhcp4Overrides())
  1948  		if subMask.IsFull() {
  1949  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorDhcp4Overrides})
  1950  		} else {
  1951  			for _, subpath := range subMask.Paths {
  1952  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorDhcp4Overrides, subPath: subpath})
  1953  			}
  1954  		}
  1955  	}
  1956  	{
  1957  		subMask := o.GetDhcp6Overrides().MakeDiffFieldMask(other.GetDhcp6Overrides())
  1958  		if subMask.IsFull() {
  1959  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorDhcp6Overrides})
  1960  		} else {
  1961  			for _, subpath := range subMask.Paths {
  1962  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorDhcp6Overrides, subPath: subpath})
  1963  			}
  1964  		}
  1965  	}
  1966  	if o.GetAcceptRa() != other.GetAcceptRa() {
  1967  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorAcceptRa})
  1968  	}
  1969  
  1970  	if len(o.GetAddresses()) == len(other.GetAddresses()) {
  1971  		for i, lValue := range o.GetAddresses() {
  1972  			rValue := other.GetAddresses()[i]
  1973  			if lValue != rValue {
  1974  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorAddresses})
  1975  				break
  1976  			}
  1977  		}
  1978  	} else {
  1979  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorAddresses})
  1980  	}
  1981  	{
  1982  		subMask := o.GetNameservers().MakeDiffFieldMask(other.GetNameservers())
  1983  		if subMask.IsFull() {
  1984  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorNameservers})
  1985  		} else {
  1986  			for _, subpath := range subMask.Paths {
  1987  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorNameservers, subPath: subpath})
  1988  			}
  1989  		}
  1990  	}
  1991  	if o.GetMacaddress() != other.GetMacaddress() {
  1992  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorMacaddress})
  1993  	}
  1994  	if o.GetMtu() != other.GetMtu() {
  1995  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorMtu})
  1996  	}
  1997  	if o.GetOptional() != other.GetOptional() {
  1998  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorOptional})
  1999  	}
  2000  
  2001  	if len(o.GetOptionalAddresses()) == len(other.GetOptionalAddresses()) {
  2002  		for i, lValue := range o.GetOptionalAddresses() {
  2003  			rValue := other.GetOptionalAddresses()[i]
  2004  			if lValue != rValue {
  2005  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorOptionalAddresses})
  2006  				break
  2007  			}
  2008  		}
  2009  	} else {
  2010  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorOptionalAddresses})
  2011  	}
  2012  
  2013  	if len(o.GetRoutes()) == len(other.GetRoutes()) {
  2014  		for i, lValue := range o.GetRoutes() {
  2015  			rValue := other.GetRoutes()[i]
  2016  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  2017  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorRoutes})
  2018  				break
  2019  			}
  2020  		}
  2021  	} else {
  2022  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorRoutes})
  2023  	}
  2024  	{
  2025  		subMask := o.GetRoutingPolicy().MakeDiffFieldMask(other.GetRoutingPolicy())
  2026  		if subMask.IsFull() {
  2027  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorRoutingPolicy})
  2028  		} else {
  2029  			for _, subpath := range subMask.Paths {
  2030  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorRoutingPolicy, subPath: subpath})
  2031  			}
  2032  		}
  2033  	}
  2034  	{
  2035  		subMask := o.GetAuth().MakeDiffFieldMask(other.GetAuth())
  2036  		if subMask.IsFull() {
  2037  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorAuth})
  2038  		} else {
  2039  			for _, subpath := range subMask.Paths {
  2040  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorAuth, subPath: subpath})
  2041  			}
  2042  		}
  2043  	}
  2044  	if o.GetGateway4() != other.GetGateway4() {
  2045  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorGateway4})
  2046  	}
  2047  	if o.GetGateway6() != other.GetGateway6() {
  2048  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOpts_FieldPathSelectorGateway6})
  2049  	}
  2050  	return res
  2051  }
  2052  
  2053  func (o *Device_Spec_NetworkingConfig_WifiOpts) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  2054  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_WifiOpts))
  2055  }
  2056  
  2057  func (o *Device_Spec_NetworkingConfig_WifiOpts) Clone() *Device_Spec_NetworkingConfig_WifiOpts {
  2058  	if o == nil {
  2059  		return nil
  2060  	}
  2061  	result := &Device_Spec_NetworkingConfig_WifiOpts{}
  2062  	result.Match = o.Match.Clone()
  2063  	result.SetName = o.SetName
  2064  	result.Wakeonlan = o.Wakeonlan
  2065  	result.AccessPoints = map[string]*Device_Spec_NetworkingConfig_WifiOpts_AccessPoint{}
  2066  	for key, sourceValue := range o.AccessPoints {
  2067  		result.AccessPoints[key] = sourceValue.Clone()
  2068  	}
  2069  	result.Wakeonwlan = make([]string, len(o.Wakeonwlan))
  2070  	for i, sourceValue := range o.Wakeonwlan {
  2071  		result.Wakeonwlan[i] = sourceValue
  2072  	}
  2073  	result.RegulatoryDomain = o.RegulatoryDomain
  2074  	result.Renderer = o.Renderer
  2075  	result.Dhcp4 = o.Dhcp4
  2076  	result.Dhcp6 = o.Dhcp6
  2077  	result.Ipv6Privacy = o.Ipv6Privacy
  2078  	result.LinkLocal = make([]string, len(o.LinkLocal))
  2079  	for i, sourceValue := range o.LinkLocal {
  2080  		result.LinkLocal[i] = sourceValue
  2081  	}
  2082  	result.Critical = o.Critical
  2083  	result.DhcpIdentifier = o.DhcpIdentifier
  2084  	result.Dhcp4Overrides = o.Dhcp4Overrides.Clone()
  2085  	result.Dhcp6Overrides = o.Dhcp6Overrides.Clone()
  2086  	result.AcceptRa = o.AcceptRa
  2087  	result.Addresses = make([]string, len(o.Addresses))
  2088  	for i, sourceValue := range o.Addresses {
  2089  		result.Addresses[i] = sourceValue
  2090  	}
  2091  	result.Nameservers = o.Nameservers.Clone()
  2092  	result.Macaddress = o.Macaddress
  2093  	result.Mtu = o.Mtu
  2094  	result.Optional = o.Optional
  2095  	result.OptionalAddresses = make([]string, len(o.OptionalAddresses))
  2096  	for i, sourceValue := range o.OptionalAddresses {
  2097  		result.OptionalAddresses[i] = sourceValue
  2098  	}
  2099  	result.Routes = make([]*Device_Spec_NetworkingConfig_CommonOpts_Routes, len(o.Routes))
  2100  	for i, sourceValue := range o.Routes {
  2101  		result.Routes[i] = sourceValue.Clone()
  2102  	}
  2103  	result.RoutingPolicy = o.RoutingPolicy.Clone()
  2104  	result.Auth = o.Auth.Clone()
  2105  	result.Gateway4 = o.Gateway4
  2106  	result.Gateway6 = o.Gateway6
  2107  	return result
  2108  }
  2109  
  2110  func (o *Device_Spec_NetworkingConfig_WifiOpts) CloneRaw() gotenobject.GotenObjectExt {
  2111  	return o.Clone()
  2112  }
  2113  
  2114  func (o *Device_Spec_NetworkingConfig_WifiOpts) Merge(source *Device_Spec_NetworkingConfig_WifiOpts) {
  2115  	if source.GetMatch() != nil {
  2116  		if o.Match == nil {
  2117  			o.Match = new(Device_Spec_NetworkingConfig_WifiOpts_Match)
  2118  		}
  2119  		o.Match.Merge(source.GetMatch())
  2120  	}
  2121  	o.SetName = source.GetSetName()
  2122  	o.Wakeonlan = source.GetWakeonlan()
  2123  	if source.GetAccessPoints() != nil {
  2124  		if o.AccessPoints == nil {
  2125  			o.AccessPoints = make(map[string]*Device_Spec_NetworkingConfig_WifiOpts_AccessPoint, len(source.GetAccessPoints()))
  2126  		}
  2127  		for key, sourceValue := range source.GetAccessPoints() {
  2128  			if sourceValue != nil {
  2129  				if o.AccessPoints[key] == nil {
  2130  					o.AccessPoints[key] = new(Device_Spec_NetworkingConfig_WifiOpts_AccessPoint)
  2131  				}
  2132  				o.AccessPoints[key].Merge(sourceValue)
  2133  			}
  2134  		}
  2135  	}
  2136  	for _, sourceValue := range source.GetWakeonwlan() {
  2137  		exists := false
  2138  		for _, currentValue := range o.Wakeonwlan {
  2139  			if currentValue == sourceValue {
  2140  				exists = true
  2141  				break
  2142  			}
  2143  		}
  2144  		if !exists {
  2145  			var newDstElement string
  2146  			newDstElement = sourceValue
  2147  			o.Wakeonwlan = append(o.Wakeonwlan, newDstElement)
  2148  		}
  2149  	}
  2150  
  2151  	o.RegulatoryDomain = source.GetRegulatoryDomain()
  2152  	o.Renderer = source.GetRenderer()
  2153  	o.Dhcp4 = source.GetDhcp4()
  2154  	o.Dhcp6 = source.GetDhcp6()
  2155  	o.Ipv6Privacy = source.GetIpv6Privacy()
  2156  	for _, sourceValue := range source.GetLinkLocal() {
  2157  		exists := false
  2158  		for _, currentValue := range o.LinkLocal {
  2159  			if currentValue == sourceValue {
  2160  				exists = true
  2161  				break
  2162  			}
  2163  		}
  2164  		if !exists {
  2165  			var newDstElement string
  2166  			newDstElement = sourceValue
  2167  			o.LinkLocal = append(o.LinkLocal, newDstElement)
  2168  		}
  2169  	}
  2170  
  2171  	o.Critical = source.GetCritical()
  2172  	o.DhcpIdentifier = source.GetDhcpIdentifier()
  2173  	if source.GetDhcp4Overrides() != nil {
  2174  		if o.Dhcp4Overrides == nil {
  2175  			o.Dhcp4Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  2176  		}
  2177  		o.Dhcp4Overrides.Merge(source.GetDhcp4Overrides())
  2178  	}
  2179  	if source.GetDhcp6Overrides() != nil {
  2180  		if o.Dhcp6Overrides == nil {
  2181  			o.Dhcp6Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  2182  		}
  2183  		o.Dhcp6Overrides.Merge(source.GetDhcp6Overrides())
  2184  	}
  2185  	o.AcceptRa = source.GetAcceptRa()
  2186  	for _, sourceValue := range source.GetAddresses() {
  2187  		exists := false
  2188  		for _, currentValue := range o.Addresses {
  2189  			if currentValue == sourceValue {
  2190  				exists = true
  2191  				break
  2192  			}
  2193  		}
  2194  		if !exists {
  2195  			var newDstElement string
  2196  			newDstElement = sourceValue
  2197  			o.Addresses = append(o.Addresses, newDstElement)
  2198  		}
  2199  	}
  2200  
  2201  	if source.GetNameservers() != nil {
  2202  		if o.Nameservers == nil {
  2203  			o.Nameservers = new(Device_Spec_NetworkingConfig_CommonOpts_Nameservers)
  2204  		}
  2205  		o.Nameservers.Merge(source.GetNameservers())
  2206  	}
  2207  	o.Macaddress = source.GetMacaddress()
  2208  	o.Mtu = source.GetMtu()
  2209  	o.Optional = source.GetOptional()
  2210  	for _, sourceValue := range source.GetOptionalAddresses() {
  2211  		exists := false
  2212  		for _, currentValue := range o.OptionalAddresses {
  2213  			if currentValue == sourceValue {
  2214  				exists = true
  2215  				break
  2216  			}
  2217  		}
  2218  		if !exists {
  2219  			var newDstElement string
  2220  			newDstElement = sourceValue
  2221  			o.OptionalAddresses = append(o.OptionalAddresses, newDstElement)
  2222  		}
  2223  	}
  2224  
  2225  	for _, sourceValue := range source.GetRoutes() {
  2226  		exists := false
  2227  		for _, currentValue := range o.Routes {
  2228  			if proto.Equal(sourceValue, currentValue) {
  2229  				exists = true
  2230  				break
  2231  			}
  2232  		}
  2233  		if !exists {
  2234  			var newDstElement *Device_Spec_NetworkingConfig_CommonOpts_Routes
  2235  			if sourceValue != nil {
  2236  				newDstElement = new(Device_Spec_NetworkingConfig_CommonOpts_Routes)
  2237  				newDstElement.Merge(sourceValue)
  2238  			}
  2239  			o.Routes = append(o.Routes, newDstElement)
  2240  		}
  2241  	}
  2242  
  2243  	if source.GetRoutingPolicy() != nil {
  2244  		if o.RoutingPolicy == nil {
  2245  			o.RoutingPolicy = new(Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy)
  2246  		}
  2247  		o.RoutingPolicy.Merge(source.GetRoutingPolicy())
  2248  	}
  2249  	if source.GetAuth() != nil {
  2250  		if o.Auth == nil {
  2251  			o.Auth = new(Device_Spec_NetworkingConfig_CommonOpts_Auth)
  2252  		}
  2253  		o.Auth.Merge(source.GetAuth())
  2254  	}
  2255  	o.Gateway4 = source.GetGateway4()
  2256  	o.Gateway6 = source.GetGateway6()
  2257  }
  2258  
  2259  func (o *Device_Spec_NetworkingConfig_WifiOpts) MergeRaw(source gotenobject.GotenObjectExt) {
  2260  	o.Merge(source.(*Device_Spec_NetworkingConfig_WifiOpts))
  2261  }
  2262  
  2263  func (o *Device_Spec_NetworkingConfig_BridgesOpts) GotenObjectExt() {}
  2264  
  2265  func (o *Device_Spec_NetworkingConfig_BridgesOpts) MakeFullFieldMask() *Device_Spec_NetworkingConfig_BridgesOpts_FieldMask {
  2266  	return FullDevice_Spec_NetworkingConfig_BridgesOpts_FieldMask()
  2267  }
  2268  
  2269  func (o *Device_Spec_NetworkingConfig_BridgesOpts) MakeRawFullFieldMask() gotenobject.FieldMask {
  2270  	return FullDevice_Spec_NetworkingConfig_BridgesOpts_FieldMask()
  2271  }
  2272  
  2273  func (o *Device_Spec_NetworkingConfig_BridgesOpts) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_BridgesOpts) *Device_Spec_NetworkingConfig_BridgesOpts_FieldMask {
  2274  	if o == nil && other == nil {
  2275  		return &Device_Spec_NetworkingConfig_BridgesOpts_FieldMask{}
  2276  	}
  2277  	if o == nil || other == nil {
  2278  		return FullDevice_Spec_NetworkingConfig_BridgesOpts_FieldMask()
  2279  	}
  2280  
  2281  	res := &Device_Spec_NetworkingConfig_BridgesOpts_FieldMask{}
  2282  
  2283  	if len(o.GetInterfaces()) == len(other.GetInterfaces()) {
  2284  		for i, lValue := range o.GetInterfaces() {
  2285  			rValue := other.GetInterfaces()[i]
  2286  			if lValue != rValue {
  2287  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorInterfaces})
  2288  				break
  2289  			}
  2290  		}
  2291  	} else {
  2292  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorInterfaces})
  2293  	}
  2294  	{
  2295  		subMask := o.GetParameters().MakeDiffFieldMask(other.GetParameters())
  2296  		if subMask.IsFull() {
  2297  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorParameters})
  2298  		} else {
  2299  			for _, subpath := range subMask.Paths {
  2300  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorParameters, subPath: subpath})
  2301  			}
  2302  		}
  2303  	}
  2304  	if o.GetRenderer() != other.GetRenderer() {
  2305  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorRenderer})
  2306  	}
  2307  	if o.GetDhcp4() != other.GetDhcp4() {
  2308  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorDhcp4})
  2309  	}
  2310  	if o.GetDhcp6() != other.GetDhcp6() {
  2311  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorDhcp6})
  2312  	}
  2313  	if o.GetIpv6Privacy() != other.GetIpv6Privacy() {
  2314  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorIpv6Privacy})
  2315  	}
  2316  
  2317  	if len(o.GetLinkLocal()) == len(other.GetLinkLocal()) {
  2318  		for i, lValue := range o.GetLinkLocal() {
  2319  			rValue := other.GetLinkLocal()[i]
  2320  			if lValue != rValue {
  2321  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorLinkLocal})
  2322  				break
  2323  			}
  2324  		}
  2325  	} else {
  2326  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorLinkLocal})
  2327  	}
  2328  	if o.GetCritical() != other.GetCritical() {
  2329  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorCritical})
  2330  	}
  2331  	if o.GetDhcpIdentifier() != other.GetDhcpIdentifier() {
  2332  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorDhcpIdentifier})
  2333  	}
  2334  	{
  2335  		subMask := o.GetDhcp4Overrides().MakeDiffFieldMask(other.GetDhcp4Overrides())
  2336  		if subMask.IsFull() {
  2337  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorDhcp4Overrides})
  2338  		} else {
  2339  			for _, subpath := range subMask.Paths {
  2340  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorDhcp4Overrides, subPath: subpath})
  2341  			}
  2342  		}
  2343  	}
  2344  	{
  2345  		subMask := o.GetDhcp6Overrides().MakeDiffFieldMask(other.GetDhcp6Overrides())
  2346  		if subMask.IsFull() {
  2347  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorDhcp6Overrides})
  2348  		} else {
  2349  			for _, subpath := range subMask.Paths {
  2350  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorDhcp6Overrides, subPath: subpath})
  2351  			}
  2352  		}
  2353  	}
  2354  	if o.GetAcceptRa() != other.GetAcceptRa() {
  2355  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorAcceptRa})
  2356  	}
  2357  
  2358  	if len(o.GetAddresses()) == len(other.GetAddresses()) {
  2359  		for i, lValue := range o.GetAddresses() {
  2360  			rValue := other.GetAddresses()[i]
  2361  			if lValue != rValue {
  2362  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorAddresses})
  2363  				break
  2364  			}
  2365  		}
  2366  	} else {
  2367  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorAddresses})
  2368  	}
  2369  	{
  2370  		subMask := o.GetNameservers().MakeDiffFieldMask(other.GetNameservers())
  2371  		if subMask.IsFull() {
  2372  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorNameservers})
  2373  		} else {
  2374  			for _, subpath := range subMask.Paths {
  2375  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorNameservers, subPath: subpath})
  2376  			}
  2377  		}
  2378  	}
  2379  	if o.GetMacaddress() != other.GetMacaddress() {
  2380  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorMacaddress})
  2381  	}
  2382  	if o.GetMtu() != other.GetMtu() {
  2383  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorMtu})
  2384  	}
  2385  	if o.GetOptional() != other.GetOptional() {
  2386  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorOptional})
  2387  	}
  2388  
  2389  	if len(o.GetOptionalAddresses()) == len(other.GetOptionalAddresses()) {
  2390  		for i, lValue := range o.GetOptionalAddresses() {
  2391  			rValue := other.GetOptionalAddresses()[i]
  2392  			if lValue != rValue {
  2393  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorOptionalAddresses})
  2394  				break
  2395  			}
  2396  		}
  2397  	} else {
  2398  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorOptionalAddresses})
  2399  	}
  2400  
  2401  	if len(o.GetRoutes()) == len(other.GetRoutes()) {
  2402  		for i, lValue := range o.GetRoutes() {
  2403  			rValue := other.GetRoutes()[i]
  2404  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  2405  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorRoutes})
  2406  				break
  2407  			}
  2408  		}
  2409  	} else {
  2410  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorRoutes})
  2411  	}
  2412  	{
  2413  		subMask := o.GetRoutingPolicy().MakeDiffFieldMask(other.GetRoutingPolicy())
  2414  		if subMask.IsFull() {
  2415  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorRoutingPolicy})
  2416  		} else {
  2417  			for _, subpath := range subMask.Paths {
  2418  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorRoutingPolicy, subPath: subpath})
  2419  			}
  2420  		}
  2421  	}
  2422  	{
  2423  		subMask := o.GetAuth().MakeDiffFieldMask(other.GetAuth())
  2424  		if subMask.IsFull() {
  2425  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorAuth})
  2426  		} else {
  2427  			for _, subpath := range subMask.Paths {
  2428  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorAuth, subPath: subpath})
  2429  			}
  2430  		}
  2431  	}
  2432  	if o.GetGateway4() != other.GetGateway4() {
  2433  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorGateway4})
  2434  	}
  2435  	if o.GetGateway6() != other.GetGateway6() {
  2436  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOpts_FieldPathSelectorGateway6})
  2437  	}
  2438  	return res
  2439  }
  2440  
  2441  func (o *Device_Spec_NetworkingConfig_BridgesOpts) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  2442  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_BridgesOpts))
  2443  }
  2444  
  2445  func (o *Device_Spec_NetworkingConfig_BridgesOpts) Clone() *Device_Spec_NetworkingConfig_BridgesOpts {
  2446  	if o == nil {
  2447  		return nil
  2448  	}
  2449  	result := &Device_Spec_NetworkingConfig_BridgesOpts{}
  2450  	result.Interfaces = make([]string, len(o.Interfaces))
  2451  	for i, sourceValue := range o.Interfaces {
  2452  		result.Interfaces[i] = sourceValue
  2453  	}
  2454  	result.Parameters = o.Parameters.Clone()
  2455  	result.Renderer = o.Renderer
  2456  	result.Dhcp4 = o.Dhcp4
  2457  	result.Dhcp6 = o.Dhcp6
  2458  	result.Ipv6Privacy = o.Ipv6Privacy
  2459  	result.LinkLocal = make([]string, len(o.LinkLocal))
  2460  	for i, sourceValue := range o.LinkLocal {
  2461  		result.LinkLocal[i] = sourceValue
  2462  	}
  2463  	result.Critical = o.Critical
  2464  	result.DhcpIdentifier = o.DhcpIdentifier
  2465  	result.Dhcp4Overrides = o.Dhcp4Overrides.Clone()
  2466  	result.Dhcp6Overrides = o.Dhcp6Overrides.Clone()
  2467  	result.AcceptRa = o.AcceptRa
  2468  	result.Addresses = make([]string, len(o.Addresses))
  2469  	for i, sourceValue := range o.Addresses {
  2470  		result.Addresses[i] = sourceValue
  2471  	}
  2472  	result.Nameservers = o.Nameservers.Clone()
  2473  	result.Macaddress = o.Macaddress
  2474  	result.Mtu = o.Mtu
  2475  	result.Optional = o.Optional
  2476  	result.OptionalAddresses = make([]string, len(o.OptionalAddresses))
  2477  	for i, sourceValue := range o.OptionalAddresses {
  2478  		result.OptionalAddresses[i] = sourceValue
  2479  	}
  2480  	result.Routes = make([]*Device_Spec_NetworkingConfig_CommonOpts_Routes, len(o.Routes))
  2481  	for i, sourceValue := range o.Routes {
  2482  		result.Routes[i] = sourceValue.Clone()
  2483  	}
  2484  	result.RoutingPolicy = o.RoutingPolicy.Clone()
  2485  	result.Auth = o.Auth.Clone()
  2486  	result.Gateway4 = o.Gateway4
  2487  	result.Gateway6 = o.Gateway6
  2488  	return result
  2489  }
  2490  
  2491  func (o *Device_Spec_NetworkingConfig_BridgesOpts) CloneRaw() gotenobject.GotenObjectExt {
  2492  	return o.Clone()
  2493  }
  2494  
  2495  func (o *Device_Spec_NetworkingConfig_BridgesOpts) Merge(source *Device_Spec_NetworkingConfig_BridgesOpts) {
  2496  	for _, sourceValue := range source.GetInterfaces() {
  2497  		exists := false
  2498  		for _, currentValue := range o.Interfaces {
  2499  			if currentValue == sourceValue {
  2500  				exists = true
  2501  				break
  2502  			}
  2503  		}
  2504  		if !exists {
  2505  			var newDstElement string
  2506  			newDstElement = sourceValue
  2507  			o.Interfaces = append(o.Interfaces, newDstElement)
  2508  		}
  2509  	}
  2510  
  2511  	if source.GetParameters() != nil {
  2512  		if o.Parameters == nil {
  2513  			o.Parameters = new(Device_Spec_NetworkingConfig_BridgesOpts_Parameters)
  2514  		}
  2515  		o.Parameters.Merge(source.GetParameters())
  2516  	}
  2517  	o.Renderer = source.GetRenderer()
  2518  	o.Dhcp4 = source.GetDhcp4()
  2519  	o.Dhcp6 = source.GetDhcp6()
  2520  	o.Ipv6Privacy = source.GetIpv6Privacy()
  2521  	for _, sourceValue := range source.GetLinkLocal() {
  2522  		exists := false
  2523  		for _, currentValue := range o.LinkLocal {
  2524  			if currentValue == sourceValue {
  2525  				exists = true
  2526  				break
  2527  			}
  2528  		}
  2529  		if !exists {
  2530  			var newDstElement string
  2531  			newDstElement = sourceValue
  2532  			o.LinkLocal = append(o.LinkLocal, newDstElement)
  2533  		}
  2534  	}
  2535  
  2536  	o.Critical = source.GetCritical()
  2537  	o.DhcpIdentifier = source.GetDhcpIdentifier()
  2538  	if source.GetDhcp4Overrides() != nil {
  2539  		if o.Dhcp4Overrides == nil {
  2540  			o.Dhcp4Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  2541  		}
  2542  		o.Dhcp4Overrides.Merge(source.GetDhcp4Overrides())
  2543  	}
  2544  	if source.GetDhcp6Overrides() != nil {
  2545  		if o.Dhcp6Overrides == nil {
  2546  			o.Dhcp6Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  2547  		}
  2548  		o.Dhcp6Overrides.Merge(source.GetDhcp6Overrides())
  2549  	}
  2550  	o.AcceptRa = source.GetAcceptRa()
  2551  	for _, sourceValue := range source.GetAddresses() {
  2552  		exists := false
  2553  		for _, currentValue := range o.Addresses {
  2554  			if currentValue == sourceValue {
  2555  				exists = true
  2556  				break
  2557  			}
  2558  		}
  2559  		if !exists {
  2560  			var newDstElement string
  2561  			newDstElement = sourceValue
  2562  			o.Addresses = append(o.Addresses, newDstElement)
  2563  		}
  2564  	}
  2565  
  2566  	if source.GetNameservers() != nil {
  2567  		if o.Nameservers == nil {
  2568  			o.Nameservers = new(Device_Spec_NetworkingConfig_CommonOpts_Nameservers)
  2569  		}
  2570  		o.Nameservers.Merge(source.GetNameservers())
  2571  	}
  2572  	o.Macaddress = source.GetMacaddress()
  2573  	o.Mtu = source.GetMtu()
  2574  	o.Optional = source.GetOptional()
  2575  	for _, sourceValue := range source.GetOptionalAddresses() {
  2576  		exists := false
  2577  		for _, currentValue := range o.OptionalAddresses {
  2578  			if currentValue == sourceValue {
  2579  				exists = true
  2580  				break
  2581  			}
  2582  		}
  2583  		if !exists {
  2584  			var newDstElement string
  2585  			newDstElement = sourceValue
  2586  			o.OptionalAddresses = append(o.OptionalAddresses, newDstElement)
  2587  		}
  2588  	}
  2589  
  2590  	for _, sourceValue := range source.GetRoutes() {
  2591  		exists := false
  2592  		for _, currentValue := range o.Routes {
  2593  			if proto.Equal(sourceValue, currentValue) {
  2594  				exists = true
  2595  				break
  2596  			}
  2597  		}
  2598  		if !exists {
  2599  			var newDstElement *Device_Spec_NetworkingConfig_CommonOpts_Routes
  2600  			if sourceValue != nil {
  2601  				newDstElement = new(Device_Spec_NetworkingConfig_CommonOpts_Routes)
  2602  				newDstElement.Merge(sourceValue)
  2603  			}
  2604  			o.Routes = append(o.Routes, newDstElement)
  2605  		}
  2606  	}
  2607  
  2608  	if source.GetRoutingPolicy() != nil {
  2609  		if o.RoutingPolicy == nil {
  2610  			o.RoutingPolicy = new(Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy)
  2611  		}
  2612  		o.RoutingPolicy.Merge(source.GetRoutingPolicy())
  2613  	}
  2614  	if source.GetAuth() != nil {
  2615  		if o.Auth == nil {
  2616  			o.Auth = new(Device_Spec_NetworkingConfig_CommonOpts_Auth)
  2617  		}
  2618  		o.Auth.Merge(source.GetAuth())
  2619  	}
  2620  	o.Gateway4 = source.GetGateway4()
  2621  	o.Gateway6 = source.GetGateway6()
  2622  }
  2623  
  2624  func (o *Device_Spec_NetworkingConfig_BridgesOpts) MergeRaw(source gotenobject.GotenObjectExt) {
  2625  	o.Merge(source.(*Device_Spec_NetworkingConfig_BridgesOpts))
  2626  }
  2627  
  2628  func (o *Device_Spec_NetworkingConfig_BondsOpts) GotenObjectExt() {}
  2629  
  2630  func (o *Device_Spec_NetworkingConfig_BondsOpts) MakeFullFieldMask() *Device_Spec_NetworkingConfig_BondsOpts_FieldMask {
  2631  	return FullDevice_Spec_NetworkingConfig_BondsOpts_FieldMask()
  2632  }
  2633  
  2634  func (o *Device_Spec_NetworkingConfig_BondsOpts) MakeRawFullFieldMask() gotenobject.FieldMask {
  2635  	return FullDevice_Spec_NetworkingConfig_BondsOpts_FieldMask()
  2636  }
  2637  
  2638  func (o *Device_Spec_NetworkingConfig_BondsOpts) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_BondsOpts) *Device_Spec_NetworkingConfig_BondsOpts_FieldMask {
  2639  	if o == nil && other == nil {
  2640  		return &Device_Spec_NetworkingConfig_BondsOpts_FieldMask{}
  2641  	}
  2642  	if o == nil || other == nil {
  2643  		return FullDevice_Spec_NetworkingConfig_BondsOpts_FieldMask()
  2644  	}
  2645  
  2646  	res := &Device_Spec_NetworkingConfig_BondsOpts_FieldMask{}
  2647  
  2648  	if len(o.GetInterfaces()) == len(other.GetInterfaces()) {
  2649  		for i, lValue := range o.GetInterfaces() {
  2650  			rValue := other.GetInterfaces()[i]
  2651  			if lValue != rValue {
  2652  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorInterfaces})
  2653  				break
  2654  			}
  2655  		}
  2656  	} else {
  2657  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorInterfaces})
  2658  	}
  2659  	{
  2660  		subMask := o.GetParameters().MakeDiffFieldMask(other.GetParameters())
  2661  		if subMask.IsFull() {
  2662  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorParameters})
  2663  		} else {
  2664  			for _, subpath := range subMask.Paths {
  2665  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorParameters, subPath: subpath})
  2666  			}
  2667  		}
  2668  	}
  2669  	if o.GetRenderer() != other.GetRenderer() {
  2670  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorRenderer})
  2671  	}
  2672  	if o.GetDhcp4() != other.GetDhcp4() {
  2673  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorDhcp4})
  2674  	}
  2675  	if o.GetDhcp6() != other.GetDhcp6() {
  2676  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorDhcp6})
  2677  	}
  2678  	if o.GetIpv6Privacy() != other.GetIpv6Privacy() {
  2679  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorIpv6Privacy})
  2680  	}
  2681  
  2682  	if len(o.GetLinkLocal()) == len(other.GetLinkLocal()) {
  2683  		for i, lValue := range o.GetLinkLocal() {
  2684  			rValue := other.GetLinkLocal()[i]
  2685  			if lValue != rValue {
  2686  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorLinkLocal})
  2687  				break
  2688  			}
  2689  		}
  2690  	} else {
  2691  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorLinkLocal})
  2692  	}
  2693  	if o.GetCritical() != other.GetCritical() {
  2694  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorCritical})
  2695  	}
  2696  	if o.GetDhcpIdentifier() != other.GetDhcpIdentifier() {
  2697  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorDhcpIdentifier})
  2698  	}
  2699  	{
  2700  		subMask := o.GetDhcp4Overrides().MakeDiffFieldMask(other.GetDhcp4Overrides())
  2701  		if subMask.IsFull() {
  2702  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorDhcp4Overrides})
  2703  		} else {
  2704  			for _, subpath := range subMask.Paths {
  2705  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorDhcp4Overrides, subPath: subpath})
  2706  			}
  2707  		}
  2708  	}
  2709  	{
  2710  		subMask := o.GetDhcp6Overrides().MakeDiffFieldMask(other.GetDhcp6Overrides())
  2711  		if subMask.IsFull() {
  2712  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorDhcp6Overrides})
  2713  		} else {
  2714  			for _, subpath := range subMask.Paths {
  2715  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorDhcp6Overrides, subPath: subpath})
  2716  			}
  2717  		}
  2718  	}
  2719  	if o.GetAcceptRa() != other.GetAcceptRa() {
  2720  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorAcceptRa})
  2721  	}
  2722  
  2723  	if len(o.GetAddresses()) == len(other.GetAddresses()) {
  2724  		for i, lValue := range o.GetAddresses() {
  2725  			rValue := other.GetAddresses()[i]
  2726  			if lValue != rValue {
  2727  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorAddresses})
  2728  				break
  2729  			}
  2730  		}
  2731  	} else {
  2732  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorAddresses})
  2733  	}
  2734  	{
  2735  		subMask := o.GetNameservers().MakeDiffFieldMask(other.GetNameservers())
  2736  		if subMask.IsFull() {
  2737  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorNameservers})
  2738  		} else {
  2739  			for _, subpath := range subMask.Paths {
  2740  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorNameservers, subPath: subpath})
  2741  			}
  2742  		}
  2743  	}
  2744  	if o.GetMacaddress() != other.GetMacaddress() {
  2745  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorMacaddress})
  2746  	}
  2747  	if o.GetMtu() != other.GetMtu() {
  2748  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorMtu})
  2749  	}
  2750  	if o.GetOptional() != other.GetOptional() {
  2751  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorOptional})
  2752  	}
  2753  
  2754  	if len(o.GetOptionalAddresses()) == len(other.GetOptionalAddresses()) {
  2755  		for i, lValue := range o.GetOptionalAddresses() {
  2756  			rValue := other.GetOptionalAddresses()[i]
  2757  			if lValue != rValue {
  2758  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorOptionalAddresses})
  2759  				break
  2760  			}
  2761  		}
  2762  	} else {
  2763  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorOptionalAddresses})
  2764  	}
  2765  
  2766  	if len(o.GetRoutes()) == len(other.GetRoutes()) {
  2767  		for i, lValue := range o.GetRoutes() {
  2768  			rValue := other.GetRoutes()[i]
  2769  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  2770  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorRoutes})
  2771  				break
  2772  			}
  2773  		}
  2774  	} else {
  2775  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorRoutes})
  2776  	}
  2777  	{
  2778  		subMask := o.GetRoutingPolicy().MakeDiffFieldMask(other.GetRoutingPolicy())
  2779  		if subMask.IsFull() {
  2780  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorRoutingPolicy})
  2781  		} else {
  2782  			for _, subpath := range subMask.Paths {
  2783  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorRoutingPolicy, subPath: subpath})
  2784  			}
  2785  		}
  2786  	}
  2787  	{
  2788  		subMask := o.GetAuth().MakeDiffFieldMask(other.GetAuth())
  2789  		if subMask.IsFull() {
  2790  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorAuth})
  2791  		} else {
  2792  			for _, subpath := range subMask.Paths {
  2793  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorAuth, subPath: subpath})
  2794  			}
  2795  		}
  2796  	}
  2797  	if o.GetGateway4() != other.GetGateway4() {
  2798  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorGateway4})
  2799  	}
  2800  	if o.GetGateway6() != other.GetGateway6() {
  2801  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOpts_FieldPathSelectorGateway6})
  2802  	}
  2803  	return res
  2804  }
  2805  
  2806  func (o *Device_Spec_NetworkingConfig_BondsOpts) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  2807  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_BondsOpts))
  2808  }
  2809  
  2810  func (o *Device_Spec_NetworkingConfig_BondsOpts) Clone() *Device_Spec_NetworkingConfig_BondsOpts {
  2811  	if o == nil {
  2812  		return nil
  2813  	}
  2814  	result := &Device_Spec_NetworkingConfig_BondsOpts{}
  2815  	result.Interfaces = make([]string, len(o.Interfaces))
  2816  	for i, sourceValue := range o.Interfaces {
  2817  		result.Interfaces[i] = sourceValue
  2818  	}
  2819  	result.Parameters = o.Parameters.Clone()
  2820  	result.Renderer = o.Renderer
  2821  	result.Dhcp4 = o.Dhcp4
  2822  	result.Dhcp6 = o.Dhcp6
  2823  	result.Ipv6Privacy = o.Ipv6Privacy
  2824  	result.LinkLocal = make([]string, len(o.LinkLocal))
  2825  	for i, sourceValue := range o.LinkLocal {
  2826  		result.LinkLocal[i] = sourceValue
  2827  	}
  2828  	result.Critical = o.Critical
  2829  	result.DhcpIdentifier = o.DhcpIdentifier
  2830  	result.Dhcp4Overrides = o.Dhcp4Overrides.Clone()
  2831  	result.Dhcp6Overrides = o.Dhcp6Overrides.Clone()
  2832  	result.AcceptRa = o.AcceptRa
  2833  	result.Addresses = make([]string, len(o.Addresses))
  2834  	for i, sourceValue := range o.Addresses {
  2835  		result.Addresses[i] = sourceValue
  2836  	}
  2837  	result.Nameservers = o.Nameservers.Clone()
  2838  	result.Macaddress = o.Macaddress
  2839  	result.Mtu = o.Mtu
  2840  	result.Optional = o.Optional
  2841  	result.OptionalAddresses = make([]string, len(o.OptionalAddresses))
  2842  	for i, sourceValue := range o.OptionalAddresses {
  2843  		result.OptionalAddresses[i] = sourceValue
  2844  	}
  2845  	result.Routes = make([]*Device_Spec_NetworkingConfig_CommonOpts_Routes, len(o.Routes))
  2846  	for i, sourceValue := range o.Routes {
  2847  		result.Routes[i] = sourceValue.Clone()
  2848  	}
  2849  	result.RoutingPolicy = o.RoutingPolicy.Clone()
  2850  	result.Auth = o.Auth.Clone()
  2851  	result.Gateway4 = o.Gateway4
  2852  	result.Gateway6 = o.Gateway6
  2853  	return result
  2854  }
  2855  
  2856  func (o *Device_Spec_NetworkingConfig_BondsOpts) CloneRaw() gotenobject.GotenObjectExt {
  2857  	return o.Clone()
  2858  }
  2859  
  2860  func (o *Device_Spec_NetworkingConfig_BondsOpts) Merge(source *Device_Spec_NetworkingConfig_BondsOpts) {
  2861  	for _, sourceValue := range source.GetInterfaces() {
  2862  		exists := false
  2863  		for _, currentValue := range o.Interfaces {
  2864  			if currentValue == sourceValue {
  2865  				exists = true
  2866  				break
  2867  			}
  2868  		}
  2869  		if !exists {
  2870  			var newDstElement string
  2871  			newDstElement = sourceValue
  2872  			o.Interfaces = append(o.Interfaces, newDstElement)
  2873  		}
  2874  	}
  2875  
  2876  	if source.GetParameters() != nil {
  2877  		if o.Parameters == nil {
  2878  			o.Parameters = new(Device_Spec_NetworkingConfig_BondsOpts_Parameters)
  2879  		}
  2880  		o.Parameters.Merge(source.GetParameters())
  2881  	}
  2882  	o.Renderer = source.GetRenderer()
  2883  	o.Dhcp4 = source.GetDhcp4()
  2884  	o.Dhcp6 = source.GetDhcp6()
  2885  	o.Ipv6Privacy = source.GetIpv6Privacy()
  2886  	for _, sourceValue := range source.GetLinkLocal() {
  2887  		exists := false
  2888  		for _, currentValue := range o.LinkLocal {
  2889  			if currentValue == sourceValue {
  2890  				exists = true
  2891  				break
  2892  			}
  2893  		}
  2894  		if !exists {
  2895  			var newDstElement string
  2896  			newDstElement = sourceValue
  2897  			o.LinkLocal = append(o.LinkLocal, newDstElement)
  2898  		}
  2899  	}
  2900  
  2901  	o.Critical = source.GetCritical()
  2902  	o.DhcpIdentifier = source.GetDhcpIdentifier()
  2903  	if source.GetDhcp4Overrides() != nil {
  2904  		if o.Dhcp4Overrides == nil {
  2905  			o.Dhcp4Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  2906  		}
  2907  		o.Dhcp4Overrides.Merge(source.GetDhcp4Overrides())
  2908  	}
  2909  	if source.GetDhcp6Overrides() != nil {
  2910  		if o.Dhcp6Overrides == nil {
  2911  			o.Dhcp6Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  2912  		}
  2913  		o.Dhcp6Overrides.Merge(source.GetDhcp6Overrides())
  2914  	}
  2915  	o.AcceptRa = source.GetAcceptRa()
  2916  	for _, sourceValue := range source.GetAddresses() {
  2917  		exists := false
  2918  		for _, currentValue := range o.Addresses {
  2919  			if currentValue == sourceValue {
  2920  				exists = true
  2921  				break
  2922  			}
  2923  		}
  2924  		if !exists {
  2925  			var newDstElement string
  2926  			newDstElement = sourceValue
  2927  			o.Addresses = append(o.Addresses, newDstElement)
  2928  		}
  2929  	}
  2930  
  2931  	if source.GetNameservers() != nil {
  2932  		if o.Nameservers == nil {
  2933  			o.Nameservers = new(Device_Spec_NetworkingConfig_CommonOpts_Nameservers)
  2934  		}
  2935  		o.Nameservers.Merge(source.GetNameservers())
  2936  	}
  2937  	o.Macaddress = source.GetMacaddress()
  2938  	o.Mtu = source.GetMtu()
  2939  	o.Optional = source.GetOptional()
  2940  	for _, sourceValue := range source.GetOptionalAddresses() {
  2941  		exists := false
  2942  		for _, currentValue := range o.OptionalAddresses {
  2943  			if currentValue == sourceValue {
  2944  				exists = true
  2945  				break
  2946  			}
  2947  		}
  2948  		if !exists {
  2949  			var newDstElement string
  2950  			newDstElement = sourceValue
  2951  			o.OptionalAddresses = append(o.OptionalAddresses, newDstElement)
  2952  		}
  2953  	}
  2954  
  2955  	for _, sourceValue := range source.GetRoutes() {
  2956  		exists := false
  2957  		for _, currentValue := range o.Routes {
  2958  			if proto.Equal(sourceValue, currentValue) {
  2959  				exists = true
  2960  				break
  2961  			}
  2962  		}
  2963  		if !exists {
  2964  			var newDstElement *Device_Spec_NetworkingConfig_CommonOpts_Routes
  2965  			if sourceValue != nil {
  2966  				newDstElement = new(Device_Spec_NetworkingConfig_CommonOpts_Routes)
  2967  				newDstElement.Merge(sourceValue)
  2968  			}
  2969  			o.Routes = append(o.Routes, newDstElement)
  2970  		}
  2971  	}
  2972  
  2973  	if source.GetRoutingPolicy() != nil {
  2974  		if o.RoutingPolicy == nil {
  2975  			o.RoutingPolicy = new(Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy)
  2976  		}
  2977  		o.RoutingPolicy.Merge(source.GetRoutingPolicy())
  2978  	}
  2979  	if source.GetAuth() != nil {
  2980  		if o.Auth == nil {
  2981  			o.Auth = new(Device_Spec_NetworkingConfig_CommonOpts_Auth)
  2982  		}
  2983  		o.Auth.Merge(source.GetAuth())
  2984  	}
  2985  	o.Gateway4 = source.GetGateway4()
  2986  	o.Gateway6 = source.GetGateway6()
  2987  }
  2988  
  2989  func (o *Device_Spec_NetworkingConfig_BondsOpts) MergeRaw(source gotenobject.GotenObjectExt) {
  2990  	o.Merge(source.(*Device_Spec_NetworkingConfig_BondsOpts))
  2991  }
  2992  
  2993  func (o *Device_Spec_NetworkingConfig_TunnelsOpts) GotenObjectExt() {}
  2994  
  2995  func (o *Device_Spec_NetworkingConfig_TunnelsOpts) MakeFullFieldMask() *Device_Spec_NetworkingConfig_TunnelsOpts_FieldMask {
  2996  	return FullDevice_Spec_NetworkingConfig_TunnelsOpts_FieldMask()
  2997  }
  2998  
  2999  func (o *Device_Spec_NetworkingConfig_TunnelsOpts) MakeRawFullFieldMask() gotenobject.FieldMask {
  3000  	return FullDevice_Spec_NetworkingConfig_TunnelsOpts_FieldMask()
  3001  }
  3002  
  3003  func (o *Device_Spec_NetworkingConfig_TunnelsOpts) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_TunnelsOpts) *Device_Spec_NetworkingConfig_TunnelsOpts_FieldMask {
  3004  	if o == nil && other == nil {
  3005  		return &Device_Spec_NetworkingConfig_TunnelsOpts_FieldMask{}
  3006  	}
  3007  	if o == nil || other == nil {
  3008  		return FullDevice_Spec_NetworkingConfig_TunnelsOpts_FieldMask()
  3009  	}
  3010  
  3011  	res := &Device_Spec_NetworkingConfig_TunnelsOpts_FieldMask{}
  3012  	if o.GetMode() != other.GetMode() {
  3013  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorMode})
  3014  	}
  3015  	if o.GetLocal() != other.GetLocal() {
  3016  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorLocal})
  3017  	}
  3018  	if o.GetRemote() != other.GetRemote() {
  3019  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorRemote})
  3020  	}
  3021  	if o.GetKey() != other.GetKey() {
  3022  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorKey})
  3023  	}
  3024  	if o.GetRenderer() != other.GetRenderer() {
  3025  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorRenderer})
  3026  	}
  3027  	if o.GetDhcp4() != other.GetDhcp4() {
  3028  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorDhcp4})
  3029  	}
  3030  	if o.GetDhcp6() != other.GetDhcp6() {
  3031  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorDhcp6})
  3032  	}
  3033  	if o.GetIpv6Privacy() != other.GetIpv6Privacy() {
  3034  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorIpv6Privacy})
  3035  	}
  3036  
  3037  	if len(o.GetLinkLocal()) == len(other.GetLinkLocal()) {
  3038  		for i, lValue := range o.GetLinkLocal() {
  3039  			rValue := other.GetLinkLocal()[i]
  3040  			if lValue != rValue {
  3041  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorLinkLocal})
  3042  				break
  3043  			}
  3044  		}
  3045  	} else {
  3046  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorLinkLocal})
  3047  	}
  3048  	if o.GetCritical() != other.GetCritical() {
  3049  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorCritical})
  3050  	}
  3051  	if o.GetDhcpIdentifier() != other.GetDhcpIdentifier() {
  3052  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorDhcpIdentifier})
  3053  	}
  3054  	{
  3055  		subMask := o.GetDhcp4Overrides().MakeDiffFieldMask(other.GetDhcp4Overrides())
  3056  		if subMask.IsFull() {
  3057  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorDhcp4Overrides})
  3058  		} else {
  3059  			for _, subpath := range subMask.Paths {
  3060  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorDhcp4Overrides, subPath: subpath})
  3061  			}
  3062  		}
  3063  	}
  3064  	{
  3065  		subMask := o.GetDhcp6Overrides().MakeDiffFieldMask(other.GetDhcp6Overrides())
  3066  		if subMask.IsFull() {
  3067  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorDhcp6Overrides})
  3068  		} else {
  3069  			for _, subpath := range subMask.Paths {
  3070  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorDhcp6Overrides, subPath: subpath})
  3071  			}
  3072  		}
  3073  	}
  3074  	if o.GetAcceptRa() != other.GetAcceptRa() {
  3075  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorAcceptRa})
  3076  	}
  3077  
  3078  	if len(o.GetAddresses()) == len(other.GetAddresses()) {
  3079  		for i, lValue := range o.GetAddresses() {
  3080  			rValue := other.GetAddresses()[i]
  3081  			if lValue != rValue {
  3082  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorAddresses})
  3083  				break
  3084  			}
  3085  		}
  3086  	} else {
  3087  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorAddresses})
  3088  	}
  3089  	{
  3090  		subMask := o.GetNameservers().MakeDiffFieldMask(other.GetNameservers())
  3091  		if subMask.IsFull() {
  3092  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorNameservers})
  3093  		} else {
  3094  			for _, subpath := range subMask.Paths {
  3095  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorNameservers, subPath: subpath})
  3096  			}
  3097  		}
  3098  	}
  3099  	if o.GetMacaddress() != other.GetMacaddress() {
  3100  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorMacaddress})
  3101  	}
  3102  	if o.GetMtu() != other.GetMtu() {
  3103  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorMtu})
  3104  	}
  3105  	if o.GetOptional() != other.GetOptional() {
  3106  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorOptional})
  3107  	}
  3108  
  3109  	if len(o.GetOptionalAddresses()) == len(other.GetOptionalAddresses()) {
  3110  		for i, lValue := range o.GetOptionalAddresses() {
  3111  			rValue := other.GetOptionalAddresses()[i]
  3112  			if lValue != rValue {
  3113  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorOptionalAddresses})
  3114  				break
  3115  			}
  3116  		}
  3117  	} else {
  3118  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorOptionalAddresses})
  3119  	}
  3120  
  3121  	if len(o.GetRoutes()) == len(other.GetRoutes()) {
  3122  		for i, lValue := range o.GetRoutes() {
  3123  			rValue := other.GetRoutes()[i]
  3124  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  3125  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorRoutes})
  3126  				break
  3127  			}
  3128  		}
  3129  	} else {
  3130  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorRoutes})
  3131  	}
  3132  	{
  3133  		subMask := o.GetRoutingPolicy().MakeDiffFieldMask(other.GetRoutingPolicy())
  3134  		if subMask.IsFull() {
  3135  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorRoutingPolicy})
  3136  		} else {
  3137  			for _, subpath := range subMask.Paths {
  3138  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorRoutingPolicy, subPath: subpath})
  3139  			}
  3140  		}
  3141  	}
  3142  	{
  3143  		subMask := o.GetAuth().MakeDiffFieldMask(other.GetAuth())
  3144  		if subMask.IsFull() {
  3145  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorAuth})
  3146  		} else {
  3147  			for _, subpath := range subMask.Paths {
  3148  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorAuth, subPath: subpath})
  3149  			}
  3150  		}
  3151  	}
  3152  	if o.GetGateway4() != other.GetGateway4() {
  3153  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorGateway4})
  3154  	}
  3155  	if o.GetGateway6() != other.GetGateway6() {
  3156  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOpts_FieldPathSelectorGateway6})
  3157  	}
  3158  	return res
  3159  }
  3160  
  3161  func (o *Device_Spec_NetworkingConfig_TunnelsOpts) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  3162  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_TunnelsOpts))
  3163  }
  3164  
  3165  func (o *Device_Spec_NetworkingConfig_TunnelsOpts) Clone() *Device_Spec_NetworkingConfig_TunnelsOpts {
  3166  	if o == nil {
  3167  		return nil
  3168  	}
  3169  	result := &Device_Spec_NetworkingConfig_TunnelsOpts{}
  3170  	result.Mode = o.Mode
  3171  	result.Local = o.Local
  3172  	result.Remote = o.Remote
  3173  	result.Key = o.Key
  3174  	result.Renderer = o.Renderer
  3175  	result.Dhcp4 = o.Dhcp4
  3176  	result.Dhcp6 = o.Dhcp6
  3177  	result.Ipv6Privacy = o.Ipv6Privacy
  3178  	result.LinkLocal = make([]string, len(o.LinkLocal))
  3179  	for i, sourceValue := range o.LinkLocal {
  3180  		result.LinkLocal[i] = sourceValue
  3181  	}
  3182  	result.Critical = o.Critical
  3183  	result.DhcpIdentifier = o.DhcpIdentifier
  3184  	result.Dhcp4Overrides = o.Dhcp4Overrides.Clone()
  3185  	result.Dhcp6Overrides = o.Dhcp6Overrides.Clone()
  3186  	result.AcceptRa = o.AcceptRa
  3187  	result.Addresses = make([]string, len(o.Addresses))
  3188  	for i, sourceValue := range o.Addresses {
  3189  		result.Addresses[i] = sourceValue
  3190  	}
  3191  	result.Nameservers = o.Nameservers.Clone()
  3192  	result.Macaddress = o.Macaddress
  3193  	result.Mtu = o.Mtu
  3194  	result.Optional = o.Optional
  3195  	result.OptionalAddresses = make([]string, len(o.OptionalAddresses))
  3196  	for i, sourceValue := range o.OptionalAddresses {
  3197  		result.OptionalAddresses[i] = sourceValue
  3198  	}
  3199  	result.Routes = make([]*Device_Spec_NetworkingConfig_CommonOpts_Routes, len(o.Routes))
  3200  	for i, sourceValue := range o.Routes {
  3201  		result.Routes[i] = sourceValue.Clone()
  3202  	}
  3203  	result.RoutingPolicy = o.RoutingPolicy.Clone()
  3204  	result.Auth = o.Auth.Clone()
  3205  	result.Gateway4 = o.Gateway4
  3206  	result.Gateway6 = o.Gateway6
  3207  	return result
  3208  }
  3209  
  3210  func (o *Device_Spec_NetworkingConfig_TunnelsOpts) CloneRaw() gotenobject.GotenObjectExt {
  3211  	return o.Clone()
  3212  }
  3213  
  3214  func (o *Device_Spec_NetworkingConfig_TunnelsOpts) Merge(source *Device_Spec_NetworkingConfig_TunnelsOpts) {
  3215  	o.Mode = source.GetMode()
  3216  	o.Local = source.GetLocal()
  3217  	o.Remote = source.GetRemote()
  3218  	o.Key = source.GetKey()
  3219  	o.Renderer = source.GetRenderer()
  3220  	o.Dhcp4 = source.GetDhcp4()
  3221  	o.Dhcp6 = source.GetDhcp6()
  3222  	o.Ipv6Privacy = source.GetIpv6Privacy()
  3223  	for _, sourceValue := range source.GetLinkLocal() {
  3224  		exists := false
  3225  		for _, currentValue := range o.LinkLocal {
  3226  			if currentValue == sourceValue {
  3227  				exists = true
  3228  				break
  3229  			}
  3230  		}
  3231  		if !exists {
  3232  			var newDstElement string
  3233  			newDstElement = sourceValue
  3234  			o.LinkLocal = append(o.LinkLocal, newDstElement)
  3235  		}
  3236  	}
  3237  
  3238  	o.Critical = source.GetCritical()
  3239  	o.DhcpIdentifier = source.GetDhcpIdentifier()
  3240  	if source.GetDhcp4Overrides() != nil {
  3241  		if o.Dhcp4Overrides == nil {
  3242  			o.Dhcp4Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  3243  		}
  3244  		o.Dhcp4Overrides.Merge(source.GetDhcp4Overrides())
  3245  	}
  3246  	if source.GetDhcp6Overrides() != nil {
  3247  		if o.Dhcp6Overrides == nil {
  3248  			o.Dhcp6Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  3249  		}
  3250  		o.Dhcp6Overrides.Merge(source.GetDhcp6Overrides())
  3251  	}
  3252  	o.AcceptRa = source.GetAcceptRa()
  3253  	for _, sourceValue := range source.GetAddresses() {
  3254  		exists := false
  3255  		for _, currentValue := range o.Addresses {
  3256  			if currentValue == sourceValue {
  3257  				exists = true
  3258  				break
  3259  			}
  3260  		}
  3261  		if !exists {
  3262  			var newDstElement string
  3263  			newDstElement = sourceValue
  3264  			o.Addresses = append(o.Addresses, newDstElement)
  3265  		}
  3266  	}
  3267  
  3268  	if source.GetNameservers() != nil {
  3269  		if o.Nameservers == nil {
  3270  			o.Nameservers = new(Device_Spec_NetworkingConfig_CommonOpts_Nameservers)
  3271  		}
  3272  		o.Nameservers.Merge(source.GetNameservers())
  3273  	}
  3274  	o.Macaddress = source.GetMacaddress()
  3275  	o.Mtu = source.GetMtu()
  3276  	o.Optional = source.GetOptional()
  3277  	for _, sourceValue := range source.GetOptionalAddresses() {
  3278  		exists := false
  3279  		for _, currentValue := range o.OptionalAddresses {
  3280  			if currentValue == sourceValue {
  3281  				exists = true
  3282  				break
  3283  			}
  3284  		}
  3285  		if !exists {
  3286  			var newDstElement string
  3287  			newDstElement = sourceValue
  3288  			o.OptionalAddresses = append(o.OptionalAddresses, newDstElement)
  3289  		}
  3290  	}
  3291  
  3292  	for _, sourceValue := range source.GetRoutes() {
  3293  		exists := false
  3294  		for _, currentValue := range o.Routes {
  3295  			if proto.Equal(sourceValue, currentValue) {
  3296  				exists = true
  3297  				break
  3298  			}
  3299  		}
  3300  		if !exists {
  3301  			var newDstElement *Device_Spec_NetworkingConfig_CommonOpts_Routes
  3302  			if sourceValue != nil {
  3303  				newDstElement = new(Device_Spec_NetworkingConfig_CommonOpts_Routes)
  3304  				newDstElement.Merge(sourceValue)
  3305  			}
  3306  			o.Routes = append(o.Routes, newDstElement)
  3307  		}
  3308  	}
  3309  
  3310  	if source.GetRoutingPolicy() != nil {
  3311  		if o.RoutingPolicy == nil {
  3312  			o.RoutingPolicy = new(Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy)
  3313  		}
  3314  		o.RoutingPolicy.Merge(source.GetRoutingPolicy())
  3315  	}
  3316  	if source.GetAuth() != nil {
  3317  		if o.Auth == nil {
  3318  			o.Auth = new(Device_Spec_NetworkingConfig_CommonOpts_Auth)
  3319  		}
  3320  		o.Auth.Merge(source.GetAuth())
  3321  	}
  3322  	o.Gateway4 = source.GetGateway4()
  3323  	o.Gateway6 = source.GetGateway6()
  3324  }
  3325  
  3326  func (o *Device_Spec_NetworkingConfig_TunnelsOpts) MergeRaw(source gotenobject.GotenObjectExt) {
  3327  	o.Merge(source.(*Device_Spec_NetworkingConfig_TunnelsOpts))
  3328  }
  3329  
  3330  func (o *Device_Spec_NetworkingConfig_VlansOpts) GotenObjectExt() {}
  3331  
  3332  func (o *Device_Spec_NetworkingConfig_VlansOpts) MakeFullFieldMask() *Device_Spec_NetworkingConfig_VlansOpts_FieldMask {
  3333  	return FullDevice_Spec_NetworkingConfig_VlansOpts_FieldMask()
  3334  }
  3335  
  3336  func (o *Device_Spec_NetworkingConfig_VlansOpts) MakeRawFullFieldMask() gotenobject.FieldMask {
  3337  	return FullDevice_Spec_NetworkingConfig_VlansOpts_FieldMask()
  3338  }
  3339  
  3340  func (o *Device_Spec_NetworkingConfig_VlansOpts) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_VlansOpts) *Device_Spec_NetworkingConfig_VlansOpts_FieldMask {
  3341  	if o == nil && other == nil {
  3342  		return &Device_Spec_NetworkingConfig_VlansOpts_FieldMask{}
  3343  	}
  3344  	if o == nil || other == nil {
  3345  		return FullDevice_Spec_NetworkingConfig_VlansOpts_FieldMask()
  3346  	}
  3347  
  3348  	res := &Device_Spec_NetworkingConfig_VlansOpts_FieldMask{}
  3349  	if o.GetId() != other.GetId() {
  3350  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorId})
  3351  	}
  3352  	if o.GetLink() != other.GetLink() {
  3353  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorLink})
  3354  	}
  3355  	if o.GetRenderer() != other.GetRenderer() {
  3356  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorRenderer})
  3357  	}
  3358  	if o.GetDhcp4() != other.GetDhcp4() {
  3359  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorDhcp4})
  3360  	}
  3361  	if o.GetDhcp6() != other.GetDhcp6() {
  3362  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorDhcp6})
  3363  	}
  3364  	if o.GetIpv6Privacy() != other.GetIpv6Privacy() {
  3365  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorIpv6Privacy})
  3366  	}
  3367  
  3368  	if len(o.GetLinkLocal()) == len(other.GetLinkLocal()) {
  3369  		for i, lValue := range o.GetLinkLocal() {
  3370  			rValue := other.GetLinkLocal()[i]
  3371  			if lValue != rValue {
  3372  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorLinkLocal})
  3373  				break
  3374  			}
  3375  		}
  3376  	} else {
  3377  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorLinkLocal})
  3378  	}
  3379  	if o.GetCritical() != other.GetCritical() {
  3380  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorCritical})
  3381  	}
  3382  	if o.GetDhcpIdentifier() != other.GetDhcpIdentifier() {
  3383  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorDhcpIdentifier})
  3384  	}
  3385  	{
  3386  		subMask := o.GetDhcp4Overrides().MakeDiffFieldMask(other.GetDhcp4Overrides())
  3387  		if subMask.IsFull() {
  3388  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorDhcp4Overrides})
  3389  		} else {
  3390  			for _, subpath := range subMask.Paths {
  3391  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorDhcp4Overrides, subPath: subpath})
  3392  			}
  3393  		}
  3394  	}
  3395  	{
  3396  		subMask := o.GetDhcp6Overrides().MakeDiffFieldMask(other.GetDhcp6Overrides())
  3397  		if subMask.IsFull() {
  3398  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorDhcp6Overrides})
  3399  		} else {
  3400  			for _, subpath := range subMask.Paths {
  3401  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorDhcp6Overrides, subPath: subpath})
  3402  			}
  3403  		}
  3404  	}
  3405  	if o.GetAcceptRa() != other.GetAcceptRa() {
  3406  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorAcceptRa})
  3407  	}
  3408  
  3409  	if len(o.GetAddresses()) == len(other.GetAddresses()) {
  3410  		for i, lValue := range o.GetAddresses() {
  3411  			rValue := other.GetAddresses()[i]
  3412  			if lValue != rValue {
  3413  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorAddresses})
  3414  				break
  3415  			}
  3416  		}
  3417  	} else {
  3418  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorAddresses})
  3419  	}
  3420  	{
  3421  		subMask := o.GetNameservers().MakeDiffFieldMask(other.GetNameservers())
  3422  		if subMask.IsFull() {
  3423  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorNameservers})
  3424  		} else {
  3425  			for _, subpath := range subMask.Paths {
  3426  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorNameservers, subPath: subpath})
  3427  			}
  3428  		}
  3429  	}
  3430  	if o.GetMacaddress() != other.GetMacaddress() {
  3431  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorMacaddress})
  3432  	}
  3433  	if o.GetMtu() != other.GetMtu() {
  3434  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorMtu})
  3435  	}
  3436  	if o.GetOptional() != other.GetOptional() {
  3437  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorOptional})
  3438  	}
  3439  
  3440  	if len(o.GetOptionalAddresses()) == len(other.GetOptionalAddresses()) {
  3441  		for i, lValue := range o.GetOptionalAddresses() {
  3442  			rValue := other.GetOptionalAddresses()[i]
  3443  			if lValue != rValue {
  3444  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorOptionalAddresses})
  3445  				break
  3446  			}
  3447  		}
  3448  	} else {
  3449  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorOptionalAddresses})
  3450  	}
  3451  
  3452  	if len(o.GetRoutes()) == len(other.GetRoutes()) {
  3453  		for i, lValue := range o.GetRoutes() {
  3454  			rValue := other.GetRoutes()[i]
  3455  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  3456  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorRoutes})
  3457  				break
  3458  			}
  3459  		}
  3460  	} else {
  3461  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorRoutes})
  3462  	}
  3463  	{
  3464  		subMask := o.GetRoutingPolicy().MakeDiffFieldMask(other.GetRoutingPolicy())
  3465  		if subMask.IsFull() {
  3466  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorRoutingPolicy})
  3467  		} else {
  3468  			for _, subpath := range subMask.Paths {
  3469  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorRoutingPolicy, subPath: subpath})
  3470  			}
  3471  		}
  3472  	}
  3473  	{
  3474  		subMask := o.GetAuth().MakeDiffFieldMask(other.GetAuth())
  3475  		if subMask.IsFull() {
  3476  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorAuth})
  3477  		} else {
  3478  			for _, subpath := range subMask.Paths {
  3479  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorAuth, subPath: subpath})
  3480  			}
  3481  		}
  3482  	}
  3483  	if o.GetGateway4() != other.GetGateway4() {
  3484  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorGateway4})
  3485  	}
  3486  	if o.GetGateway6() != other.GetGateway6() {
  3487  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigVlansOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigVlansOpts_FieldPathSelectorGateway6})
  3488  	}
  3489  	return res
  3490  }
  3491  
  3492  func (o *Device_Spec_NetworkingConfig_VlansOpts) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  3493  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_VlansOpts))
  3494  }
  3495  
  3496  func (o *Device_Spec_NetworkingConfig_VlansOpts) Clone() *Device_Spec_NetworkingConfig_VlansOpts {
  3497  	if o == nil {
  3498  		return nil
  3499  	}
  3500  	result := &Device_Spec_NetworkingConfig_VlansOpts{}
  3501  	result.Id = o.Id
  3502  	result.Link = o.Link
  3503  	result.Renderer = o.Renderer
  3504  	result.Dhcp4 = o.Dhcp4
  3505  	result.Dhcp6 = o.Dhcp6
  3506  	result.Ipv6Privacy = o.Ipv6Privacy
  3507  	result.LinkLocal = make([]string, len(o.LinkLocal))
  3508  	for i, sourceValue := range o.LinkLocal {
  3509  		result.LinkLocal[i] = sourceValue
  3510  	}
  3511  	result.Critical = o.Critical
  3512  	result.DhcpIdentifier = o.DhcpIdentifier
  3513  	result.Dhcp4Overrides = o.Dhcp4Overrides.Clone()
  3514  	result.Dhcp6Overrides = o.Dhcp6Overrides.Clone()
  3515  	result.AcceptRa = o.AcceptRa
  3516  	result.Addresses = make([]string, len(o.Addresses))
  3517  	for i, sourceValue := range o.Addresses {
  3518  		result.Addresses[i] = sourceValue
  3519  	}
  3520  	result.Nameservers = o.Nameservers.Clone()
  3521  	result.Macaddress = o.Macaddress
  3522  	result.Mtu = o.Mtu
  3523  	result.Optional = o.Optional
  3524  	result.OptionalAddresses = make([]string, len(o.OptionalAddresses))
  3525  	for i, sourceValue := range o.OptionalAddresses {
  3526  		result.OptionalAddresses[i] = sourceValue
  3527  	}
  3528  	result.Routes = make([]*Device_Spec_NetworkingConfig_CommonOpts_Routes, len(o.Routes))
  3529  	for i, sourceValue := range o.Routes {
  3530  		result.Routes[i] = sourceValue.Clone()
  3531  	}
  3532  	result.RoutingPolicy = o.RoutingPolicy.Clone()
  3533  	result.Auth = o.Auth.Clone()
  3534  	result.Gateway4 = o.Gateway4
  3535  	result.Gateway6 = o.Gateway6
  3536  	return result
  3537  }
  3538  
  3539  func (o *Device_Spec_NetworkingConfig_VlansOpts) CloneRaw() gotenobject.GotenObjectExt {
  3540  	return o.Clone()
  3541  }
  3542  
  3543  func (o *Device_Spec_NetworkingConfig_VlansOpts) Merge(source *Device_Spec_NetworkingConfig_VlansOpts) {
  3544  	o.Id = source.GetId()
  3545  	o.Link = source.GetLink()
  3546  	o.Renderer = source.GetRenderer()
  3547  	o.Dhcp4 = source.GetDhcp4()
  3548  	o.Dhcp6 = source.GetDhcp6()
  3549  	o.Ipv6Privacy = source.GetIpv6Privacy()
  3550  	for _, sourceValue := range source.GetLinkLocal() {
  3551  		exists := false
  3552  		for _, currentValue := range o.LinkLocal {
  3553  			if currentValue == sourceValue {
  3554  				exists = true
  3555  				break
  3556  			}
  3557  		}
  3558  		if !exists {
  3559  			var newDstElement string
  3560  			newDstElement = sourceValue
  3561  			o.LinkLocal = append(o.LinkLocal, newDstElement)
  3562  		}
  3563  	}
  3564  
  3565  	o.Critical = source.GetCritical()
  3566  	o.DhcpIdentifier = source.GetDhcpIdentifier()
  3567  	if source.GetDhcp4Overrides() != nil {
  3568  		if o.Dhcp4Overrides == nil {
  3569  			o.Dhcp4Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  3570  		}
  3571  		o.Dhcp4Overrides.Merge(source.GetDhcp4Overrides())
  3572  	}
  3573  	if source.GetDhcp6Overrides() != nil {
  3574  		if o.Dhcp6Overrides == nil {
  3575  			o.Dhcp6Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  3576  		}
  3577  		o.Dhcp6Overrides.Merge(source.GetDhcp6Overrides())
  3578  	}
  3579  	o.AcceptRa = source.GetAcceptRa()
  3580  	for _, sourceValue := range source.GetAddresses() {
  3581  		exists := false
  3582  		for _, currentValue := range o.Addresses {
  3583  			if currentValue == sourceValue {
  3584  				exists = true
  3585  				break
  3586  			}
  3587  		}
  3588  		if !exists {
  3589  			var newDstElement string
  3590  			newDstElement = sourceValue
  3591  			o.Addresses = append(o.Addresses, newDstElement)
  3592  		}
  3593  	}
  3594  
  3595  	if source.GetNameservers() != nil {
  3596  		if o.Nameservers == nil {
  3597  			o.Nameservers = new(Device_Spec_NetworkingConfig_CommonOpts_Nameservers)
  3598  		}
  3599  		o.Nameservers.Merge(source.GetNameservers())
  3600  	}
  3601  	o.Macaddress = source.GetMacaddress()
  3602  	o.Mtu = source.GetMtu()
  3603  	o.Optional = source.GetOptional()
  3604  	for _, sourceValue := range source.GetOptionalAddresses() {
  3605  		exists := false
  3606  		for _, currentValue := range o.OptionalAddresses {
  3607  			if currentValue == sourceValue {
  3608  				exists = true
  3609  				break
  3610  			}
  3611  		}
  3612  		if !exists {
  3613  			var newDstElement string
  3614  			newDstElement = sourceValue
  3615  			o.OptionalAddresses = append(o.OptionalAddresses, newDstElement)
  3616  		}
  3617  	}
  3618  
  3619  	for _, sourceValue := range source.GetRoutes() {
  3620  		exists := false
  3621  		for _, currentValue := range o.Routes {
  3622  			if proto.Equal(sourceValue, currentValue) {
  3623  				exists = true
  3624  				break
  3625  			}
  3626  		}
  3627  		if !exists {
  3628  			var newDstElement *Device_Spec_NetworkingConfig_CommonOpts_Routes
  3629  			if sourceValue != nil {
  3630  				newDstElement = new(Device_Spec_NetworkingConfig_CommonOpts_Routes)
  3631  				newDstElement.Merge(sourceValue)
  3632  			}
  3633  			o.Routes = append(o.Routes, newDstElement)
  3634  		}
  3635  	}
  3636  
  3637  	if source.GetRoutingPolicy() != nil {
  3638  		if o.RoutingPolicy == nil {
  3639  			o.RoutingPolicy = new(Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy)
  3640  		}
  3641  		o.RoutingPolicy.Merge(source.GetRoutingPolicy())
  3642  	}
  3643  	if source.GetAuth() != nil {
  3644  		if o.Auth == nil {
  3645  			o.Auth = new(Device_Spec_NetworkingConfig_CommonOpts_Auth)
  3646  		}
  3647  		o.Auth.Merge(source.GetAuth())
  3648  	}
  3649  	o.Gateway4 = source.GetGateway4()
  3650  	o.Gateway6 = source.GetGateway6()
  3651  }
  3652  
  3653  func (o *Device_Spec_NetworkingConfig_VlansOpts) MergeRaw(source gotenobject.GotenObjectExt) {
  3654  	o.Merge(source.(*Device_Spec_NetworkingConfig_VlansOpts))
  3655  }
  3656  
  3657  func (o *Device_Spec_NetworkingConfig_ModemOpts) GotenObjectExt() {}
  3658  
  3659  func (o *Device_Spec_NetworkingConfig_ModemOpts) MakeFullFieldMask() *Device_Spec_NetworkingConfig_ModemOpts_FieldMask {
  3660  	return FullDevice_Spec_NetworkingConfig_ModemOpts_FieldMask()
  3661  }
  3662  
  3663  func (o *Device_Spec_NetworkingConfig_ModemOpts) MakeRawFullFieldMask() gotenobject.FieldMask {
  3664  	return FullDevice_Spec_NetworkingConfig_ModemOpts_FieldMask()
  3665  }
  3666  
  3667  func (o *Device_Spec_NetworkingConfig_ModemOpts) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_ModemOpts) *Device_Spec_NetworkingConfig_ModemOpts_FieldMask {
  3668  	if o == nil && other == nil {
  3669  		return &Device_Spec_NetworkingConfig_ModemOpts_FieldMask{}
  3670  	}
  3671  	if o == nil || other == nil {
  3672  		return FullDevice_Spec_NetworkingConfig_ModemOpts_FieldMask()
  3673  	}
  3674  
  3675  	res := &Device_Spec_NetworkingConfig_ModemOpts_FieldMask{}
  3676  	if o.GetApn() != other.GetApn() {
  3677  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorApn})
  3678  	}
  3679  	if o.GetUsername() != other.GetUsername() {
  3680  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorUsername})
  3681  	}
  3682  	if o.GetPassword() != other.GetPassword() {
  3683  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorPassword})
  3684  	}
  3685  	if o.GetNumber() != other.GetNumber() {
  3686  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorNumber})
  3687  	}
  3688  	if o.GetNetworkId() != other.GetNetworkId() {
  3689  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorNetworkId})
  3690  	}
  3691  	if o.GetDeviceId() != other.GetDeviceId() {
  3692  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorDeviceId})
  3693  	}
  3694  	if o.GetPin() != other.GetPin() {
  3695  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorPin})
  3696  	}
  3697  	if o.GetSimId() != other.GetSimId() {
  3698  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorSimId})
  3699  	}
  3700  	if o.GetSimOperatorId() != other.GetSimOperatorId() {
  3701  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorSimOperatorId})
  3702  	}
  3703  	if o.GetAutoConfig() != other.GetAutoConfig() {
  3704  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorAutoConfig})
  3705  	}
  3706  	if o.GetRenderer() != other.GetRenderer() {
  3707  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorRenderer})
  3708  	}
  3709  	if o.GetDhcp4() != other.GetDhcp4() {
  3710  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorDhcp4})
  3711  	}
  3712  	if o.GetDhcp6() != other.GetDhcp6() {
  3713  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorDhcp6})
  3714  	}
  3715  	if o.GetIpv6Privacy() != other.GetIpv6Privacy() {
  3716  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorIpv6Privacy})
  3717  	}
  3718  
  3719  	if len(o.GetLinkLocal()) == len(other.GetLinkLocal()) {
  3720  		for i, lValue := range o.GetLinkLocal() {
  3721  			rValue := other.GetLinkLocal()[i]
  3722  			if lValue != rValue {
  3723  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorLinkLocal})
  3724  				break
  3725  			}
  3726  		}
  3727  	} else {
  3728  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorLinkLocal})
  3729  	}
  3730  	if o.GetCritical() != other.GetCritical() {
  3731  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorCritical})
  3732  	}
  3733  	if o.GetDhcpIdentifier() != other.GetDhcpIdentifier() {
  3734  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorDhcpIdentifier})
  3735  	}
  3736  	{
  3737  		subMask := o.GetDhcp4Overrides().MakeDiffFieldMask(other.GetDhcp4Overrides())
  3738  		if subMask.IsFull() {
  3739  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorDhcp4Overrides})
  3740  		} else {
  3741  			for _, subpath := range subMask.Paths {
  3742  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorDhcp4Overrides, subPath: subpath})
  3743  			}
  3744  		}
  3745  	}
  3746  	{
  3747  		subMask := o.GetDhcp6Overrides().MakeDiffFieldMask(other.GetDhcp6Overrides())
  3748  		if subMask.IsFull() {
  3749  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorDhcp6Overrides})
  3750  		} else {
  3751  			for _, subpath := range subMask.Paths {
  3752  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorDhcp6Overrides, subPath: subpath})
  3753  			}
  3754  		}
  3755  	}
  3756  	if o.GetAcceptRa() != other.GetAcceptRa() {
  3757  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorAcceptRa})
  3758  	}
  3759  
  3760  	if len(o.GetAddresses()) == len(other.GetAddresses()) {
  3761  		for i, lValue := range o.GetAddresses() {
  3762  			rValue := other.GetAddresses()[i]
  3763  			if lValue != rValue {
  3764  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorAddresses})
  3765  				break
  3766  			}
  3767  		}
  3768  	} else {
  3769  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorAddresses})
  3770  	}
  3771  	{
  3772  		subMask := o.GetNameservers().MakeDiffFieldMask(other.GetNameservers())
  3773  		if subMask.IsFull() {
  3774  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorNameservers})
  3775  		} else {
  3776  			for _, subpath := range subMask.Paths {
  3777  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorNameservers, subPath: subpath})
  3778  			}
  3779  		}
  3780  	}
  3781  	if o.GetMacaddress() != other.GetMacaddress() {
  3782  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorMacaddress})
  3783  	}
  3784  	if o.GetMtu() != other.GetMtu() {
  3785  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorMtu})
  3786  	}
  3787  	if o.GetOptional() != other.GetOptional() {
  3788  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorOptional})
  3789  	}
  3790  
  3791  	if len(o.GetOptionalAddresses()) == len(other.GetOptionalAddresses()) {
  3792  		for i, lValue := range o.GetOptionalAddresses() {
  3793  			rValue := other.GetOptionalAddresses()[i]
  3794  			if lValue != rValue {
  3795  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorOptionalAddresses})
  3796  				break
  3797  			}
  3798  		}
  3799  	} else {
  3800  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorOptionalAddresses})
  3801  	}
  3802  
  3803  	if len(o.GetRoutes()) == len(other.GetRoutes()) {
  3804  		for i, lValue := range o.GetRoutes() {
  3805  			rValue := other.GetRoutes()[i]
  3806  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  3807  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorRoutes})
  3808  				break
  3809  			}
  3810  		}
  3811  	} else {
  3812  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorRoutes})
  3813  	}
  3814  	{
  3815  		subMask := o.GetRoutingPolicy().MakeDiffFieldMask(other.GetRoutingPolicy())
  3816  		if subMask.IsFull() {
  3817  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorRoutingPolicy})
  3818  		} else {
  3819  			for _, subpath := range subMask.Paths {
  3820  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorRoutingPolicy, subPath: subpath})
  3821  			}
  3822  		}
  3823  	}
  3824  	{
  3825  		subMask := o.GetAuth().MakeDiffFieldMask(other.GetAuth())
  3826  		if subMask.IsFull() {
  3827  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorAuth})
  3828  		} else {
  3829  			for _, subpath := range subMask.Paths {
  3830  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldSubPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorAuth, subPath: subpath})
  3831  			}
  3832  		}
  3833  	}
  3834  	if o.GetGateway4() != other.GetGateway4() {
  3835  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorGateway4})
  3836  	}
  3837  	if o.GetGateway6() != other.GetGateway6() {
  3838  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigModemOpts_FieldTerminalPath{selector: DeviceSpecNetworkingConfigModemOpts_FieldPathSelectorGateway6})
  3839  	}
  3840  	return res
  3841  }
  3842  
  3843  func (o *Device_Spec_NetworkingConfig_ModemOpts) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  3844  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_ModemOpts))
  3845  }
  3846  
  3847  func (o *Device_Spec_NetworkingConfig_ModemOpts) Clone() *Device_Spec_NetworkingConfig_ModemOpts {
  3848  	if o == nil {
  3849  		return nil
  3850  	}
  3851  	result := &Device_Spec_NetworkingConfig_ModemOpts{}
  3852  	result.Apn = o.Apn
  3853  	result.Username = o.Username
  3854  	result.Password = o.Password
  3855  	result.Number = o.Number
  3856  	result.NetworkId = o.NetworkId
  3857  	result.DeviceId = o.DeviceId
  3858  	result.Pin = o.Pin
  3859  	result.SimId = o.SimId
  3860  	result.SimOperatorId = o.SimOperatorId
  3861  	result.AutoConfig = o.AutoConfig
  3862  	result.Renderer = o.Renderer
  3863  	result.Dhcp4 = o.Dhcp4
  3864  	result.Dhcp6 = o.Dhcp6
  3865  	result.Ipv6Privacy = o.Ipv6Privacy
  3866  	result.LinkLocal = make([]string, len(o.LinkLocal))
  3867  	for i, sourceValue := range o.LinkLocal {
  3868  		result.LinkLocal[i] = sourceValue
  3869  	}
  3870  	result.Critical = o.Critical
  3871  	result.DhcpIdentifier = o.DhcpIdentifier
  3872  	result.Dhcp4Overrides = o.Dhcp4Overrides.Clone()
  3873  	result.Dhcp6Overrides = o.Dhcp6Overrides.Clone()
  3874  	result.AcceptRa = o.AcceptRa
  3875  	result.Addresses = make([]string, len(o.Addresses))
  3876  	for i, sourceValue := range o.Addresses {
  3877  		result.Addresses[i] = sourceValue
  3878  	}
  3879  	result.Nameservers = o.Nameservers.Clone()
  3880  	result.Macaddress = o.Macaddress
  3881  	result.Mtu = o.Mtu
  3882  	result.Optional = o.Optional
  3883  	result.OptionalAddresses = make([]string, len(o.OptionalAddresses))
  3884  	for i, sourceValue := range o.OptionalAddresses {
  3885  		result.OptionalAddresses[i] = sourceValue
  3886  	}
  3887  	result.Routes = make([]*Device_Spec_NetworkingConfig_CommonOpts_Routes, len(o.Routes))
  3888  	for i, sourceValue := range o.Routes {
  3889  		result.Routes[i] = sourceValue.Clone()
  3890  	}
  3891  	result.RoutingPolicy = o.RoutingPolicy.Clone()
  3892  	result.Auth = o.Auth.Clone()
  3893  	result.Gateway4 = o.Gateway4
  3894  	result.Gateway6 = o.Gateway6
  3895  	return result
  3896  }
  3897  
  3898  func (o *Device_Spec_NetworkingConfig_ModemOpts) CloneRaw() gotenobject.GotenObjectExt {
  3899  	return o.Clone()
  3900  }
  3901  
  3902  func (o *Device_Spec_NetworkingConfig_ModemOpts) Merge(source *Device_Spec_NetworkingConfig_ModemOpts) {
  3903  	o.Apn = source.GetApn()
  3904  	o.Username = source.GetUsername()
  3905  	o.Password = source.GetPassword()
  3906  	o.Number = source.GetNumber()
  3907  	o.NetworkId = source.GetNetworkId()
  3908  	o.DeviceId = source.GetDeviceId()
  3909  	o.Pin = source.GetPin()
  3910  	o.SimId = source.GetSimId()
  3911  	o.SimOperatorId = source.GetSimOperatorId()
  3912  	o.AutoConfig = source.GetAutoConfig()
  3913  	o.Renderer = source.GetRenderer()
  3914  	o.Dhcp4 = source.GetDhcp4()
  3915  	o.Dhcp6 = source.GetDhcp6()
  3916  	o.Ipv6Privacy = source.GetIpv6Privacy()
  3917  	for _, sourceValue := range source.GetLinkLocal() {
  3918  		exists := false
  3919  		for _, currentValue := range o.LinkLocal {
  3920  			if currentValue == sourceValue {
  3921  				exists = true
  3922  				break
  3923  			}
  3924  		}
  3925  		if !exists {
  3926  			var newDstElement string
  3927  			newDstElement = sourceValue
  3928  			o.LinkLocal = append(o.LinkLocal, newDstElement)
  3929  		}
  3930  	}
  3931  
  3932  	o.Critical = source.GetCritical()
  3933  	o.DhcpIdentifier = source.GetDhcpIdentifier()
  3934  	if source.GetDhcp4Overrides() != nil {
  3935  		if o.Dhcp4Overrides == nil {
  3936  			o.Dhcp4Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  3937  		}
  3938  		o.Dhcp4Overrides.Merge(source.GetDhcp4Overrides())
  3939  	}
  3940  	if source.GetDhcp6Overrides() != nil {
  3941  		if o.Dhcp6Overrides == nil {
  3942  			o.Dhcp6Overrides = new(Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides)
  3943  		}
  3944  		o.Dhcp6Overrides.Merge(source.GetDhcp6Overrides())
  3945  	}
  3946  	o.AcceptRa = source.GetAcceptRa()
  3947  	for _, sourceValue := range source.GetAddresses() {
  3948  		exists := false
  3949  		for _, currentValue := range o.Addresses {
  3950  			if currentValue == sourceValue {
  3951  				exists = true
  3952  				break
  3953  			}
  3954  		}
  3955  		if !exists {
  3956  			var newDstElement string
  3957  			newDstElement = sourceValue
  3958  			o.Addresses = append(o.Addresses, newDstElement)
  3959  		}
  3960  	}
  3961  
  3962  	if source.GetNameservers() != nil {
  3963  		if o.Nameservers == nil {
  3964  			o.Nameservers = new(Device_Spec_NetworkingConfig_CommonOpts_Nameservers)
  3965  		}
  3966  		o.Nameservers.Merge(source.GetNameservers())
  3967  	}
  3968  	o.Macaddress = source.GetMacaddress()
  3969  	o.Mtu = source.GetMtu()
  3970  	o.Optional = source.GetOptional()
  3971  	for _, sourceValue := range source.GetOptionalAddresses() {
  3972  		exists := false
  3973  		for _, currentValue := range o.OptionalAddresses {
  3974  			if currentValue == sourceValue {
  3975  				exists = true
  3976  				break
  3977  			}
  3978  		}
  3979  		if !exists {
  3980  			var newDstElement string
  3981  			newDstElement = sourceValue
  3982  			o.OptionalAddresses = append(o.OptionalAddresses, newDstElement)
  3983  		}
  3984  	}
  3985  
  3986  	for _, sourceValue := range source.GetRoutes() {
  3987  		exists := false
  3988  		for _, currentValue := range o.Routes {
  3989  			if proto.Equal(sourceValue, currentValue) {
  3990  				exists = true
  3991  				break
  3992  			}
  3993  		}
  3994  		if !exists {
  3995  			var newDstElement *Device_Spec_NetworkingConfig_CommonOpts_Routes
  3996  			if sourceValue != nil {
  3997  				newDstElement = new(Device_Spec_NetworkingConfig_CommonOpts_Routes)
  3998  				newDstElement.Merge(sourceValue)
  3999  			}
  4000  			o.Routes = append(o.Routes, newDstElement)
  4001  		}
  4002  	}
  4003  
  4004  	if source.GetRoutingPolicy() != nil {
  4005  		if o.RoutingPolicy == nil {
  4006  			o.RoutingPolicy = new(Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy)
  4007  		}
  4008  		o.RoutingPolicy.Merge(source.GetRoutingPolicy())
  4009  	}
  4010  	if source.GetAuth() != nil {
  4011  		if o.Auth == nil {
  4012  			o.Auth = new(Device_Spec_NetworkingConfig_CommonOpts_Auth)
  4013  		}
  4014  		o.Auth.Merge(source.GetAuth())
  4015  	}
  4016  	o.Gateway4 = source.GetGateway4()
  4017  	o.Gateway6 = source.GetGateway6()
  4018  }
  4019  
  4020  func (o *Device_Spec_NetworkingConfig_ModemOpts) MergeRaw(source gotenobject.GotenObjectExt) {
  4021  	o.Merge(source.(*Device_Spec_NetworkingConfig_ModemOpts))
  4022  }
  4023  
  4024  func (o *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides) GotenObjectExt() {}
  4025  
  4026  func (o *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides) MakeFullFieldMask() *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides_FieldMask {
  4027  	return FullDevice_Spec_NetworkingConfig_CommonOpts_DHCPOverrides_FieldMask()
  4028  }
  4029  
  4030  func (o *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides) MakeRawFullFieldMask() gotenobject.FieldMask {
  4031  	return FullDevice_Spec_NetworkingConfig_CommonOpts_DHCPOverrides_FieldMask()
  4032  }
  4033  
  4034  func (o *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides) *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides_FieldMask {
  4035  	if o == nil && other == nil {
  4036  		return &Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides_FieldMask{}
  4037  	}
  4038  	if o == nil || other == nil {
  4039  		return FullDevice_Spec_NetworkingConfig_CommonOpts_DHCPOverrides_FieldMask()
  4040  	}
  4041  
  4042  	res := &Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides_FieldMask{}
  4043  	if o.GetUseDns() != other.GetUseDns() {
  4044  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldPathSelectorUseDns})
  4045  	}
  4046  	if o.GetUseNtp() != other.GetUseNtp() {
  4047  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldPathSelectorUseNtp})
  4048  	}
  4049  	if o.GetSendHostname() != other.GetSendHostname() {
  4050  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldPathSelectorSendHostname})
  4051  	}
  4052  	if o.GetUseHostname() != other.GetUseHostname() {
  4053  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldPathSelectorUseHostname})
  4054  	}
  4055  	if o.GetUseMtu() != other.GetUseMtu() {
  4056  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldPathSelectorUseMtu})
  4057  	}
  4058  	if o.GetHostname() != other.GetHostname() {
  4059  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldPathSelectorHostname})
  4060  	}
  4061  	if o.GetUseRoutes() != other.GetUseRoutes() {
  4062  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldPathSelectorUseRoutes})
  4063  	}
  4064  	if o.GetRouteMetric() != other.GetRouteMetric() {
  4065  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsDHCPOverrides_FieldPathSelectorRouteMetric})
  4066  	}
  4067  	return res
  4068  }
  4069  
  4070  func (o *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  4071  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides))
  4072  }
  4073  
  4074  func (o *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides) Clone() *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides {
  4075  	if o == nil {
  4076  		return nil
  4077  	}
  4078  	result := &Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides{}
  4079  	result.UseDns = o.UseDns
  4080  	result.UseNtp = o.UseNtp
  4081  	result.SendHostname = o.SendHostname
  4082  	result.UseHostname = o.UseHostname
  4083  	result.UseMtu = o.UseMtu
  4084  	result.Hostname = o.Hostname
  4085  	result.UseRoutes = o.UseRoutes
  4086  	result.RouteMetric = o.RouteMetric
  4087  	return result
  4088  }
  4089  
  4090  func (o *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides) CloneRaw() gotenobject.GotenObjectExt {
  4091  	return o.Clone()
  4092  }
  4093  
  4094  func (o *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides) Merge(source *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides) {
  4095  	o.UseDns = source.GetUseDns()
  4096  	o.UseNtp = source.GetUseNtp()
  4097  	o.SendHostname = source.GetSendHostname()
  4098  	o.UseHostname = source.GetUseHostname()
  4099  	o.UseMtu = source.GetUseMtu()
  4100  	o.Hostname = source.GetHostname()
  4101  	o.UseRoutes = source.GetUseRoutes()
  4102  	o.RouteMetric = source.GetRouteMetric()
  4103  }
  4104  
  4105  func (o *Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides) MergeRaw(source gotenobject.GotenObjectExt) {
  4106  	o.Merge(source.(*Device_Spec_NetworkingConfig_CommonOpts_DHCPOverrides))
  4107  }
  4108  
  4109  func (o *Device_Spec_NetworkingConfig_CommonOpts_Nameservers) GotenObjectExt() {}
  4110  
  4111  func (o *Device_Spec_NetworkingConfig_CommonOpts_Nameservers) MakeFullFieldMask() *Device_Spec_NetworkingConfig_CommonOpts_Nameservers_FieldMask {
  4112  	return FullDevice_Spec_NetworkingConfig_CommonOpts_Nameservers_FieldMask()
  4113  }
  4114  
  4115  func (o *Device_Spec_NetworkingConfig_CommonOpts_Nameservers) MakeRawFullFieldMask() gotenobject.FieldMask {
  4116  	return FullDevice_Spec_NetworkingConfig_CommonOpts_Nameservers_FieldMask()
  4117  }
  4118  
  4119  func (o *Device_Spec_NetworkingConfig_CommonOpts_Nameservers) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_CommonOpts_Nameservers) *Device_Spec_NetworkingConfig_CommonOpts_Nameservers_FieldMask {
  4120  	if o == nil && other == nil {
  4121  		return &Device_Spec_NetworkingConfig_CommonOpts_Nameservers_FieldMask{}
  4122  	}
  4123  	if o == nil || other == nil {
  4124  		return FullDevice_Spec_NetworkingConfig_CommonOpts_Nameservers_FieldMask()
  4125  	}
  4126  
  4127  	res := &Device_Spec_NetworkingConfig_CommonOpts_Nameservers_FieldMask{}
  4128  
  4129  	if len(o.GetSearch()) == len(other.GetSearch()) {
  4130  		for i, lValue := range o.GetSearch() {
  4131  			rValue := other.GetSearch()[i]
  4132  			if lValue != rValue {
  4133  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsNameservers_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsNameservers_FieldPathSelectorSearch})
  4134  				break
  4135  			}
  4136  		}
  4137  	} else {
  4138  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsNameservers_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsNameservers_FieldPathSelectorSearch})
  4139  	}
  4140  
  4141  	if len(o.GetAddresses()) == len(other.GetAddresses()) {
  4142  		for i, lValue := range o.GetAddresses() {
  4143  			rValue := other.GetAddresses()[i]
  4144  			if lValue != rValue {
  4145  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsNameservers_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsNameservers_FieldPathSelectorAddresses})
  4146  				break
  4147  			}
  4148  		}
  4149  	} else {
  4150  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsNameservers_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsNameservers_FieldPathSelectorAddresses})
  4151  	}
  4152  	return res
  4153  }
  4154  
  4155  func (o *Device_Spec_NetworkingConfig_CommonOpts_Nameservers) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  4156  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_CommonOpts_Nameservers))
  4157  }
  4158  
  4159  func (o *Device_Spec_NetworkingConfig_CommonOpts_Nameservers) Clone() *Device_Spec_NetworkingConfig_CommonOpts_Nameservers {
  4160  	if o == nil {
  4161  		return nil
  4162  	}
  4163  	result := &Device_Spec_NetworkingConfig_CommonOpts_Nameservers{}
  4164  	result.Search = make([]string, len(o.Search))
  4165  	for i, sourceValue := range o.Search {
  4166  		result.Search[i] = sourceValue
  4167  	}
  4168  	result.Addresses = make([]string, len(o.Addresses))
  4169  	for i, sourceValue := range o.Addresses {
  4170  		result.Addresses[i] = sourceValue
  4171  	}
  4172  	return result
  4173  }
  4174  
  4175  func (o *Device_Spec_NetworkingConfig_CommonOpts_Nameservers) CloneRaw() gotenobject.GotenObjectExt {
  4176  	return o.Clone()
  4177  }
  4178  
  4179  func (o *Device_Spec_NetworkingConfig_CommonOpts_Nameservers) Merge(source *Device_Spec_NetworkingConfig_CommonOpts_Nameservers) {
  4180  	for _, sourceValue := range source.GetSearch() {
  4181  		exists := false
  4182  		for _, currentValue := range o.Search {
  4183  			if currentValue == sourceValue {
  4184  				exists = true
  4185  				break
  4186  			}
  4187  		}
  4188  		if !exists {
  4189  			var newDstElement string
  4190  			newDstElement = sourceValue
  4191  			o.Search = append(o.Search, newDstElement)
  4192  		}
  4193  	}
  4194  
  4195  	for _, sourceValue := range source.GetAddresses() {
  4196  		exists := false
  4197  		for _, currentValue := range o.Addresses {
  4198  			if currentValue == sourceValue {
  4199  				exists = true
  4200  				break
  4201  			}
  4202  		}
  4203  		if !exists {
  4204  			var newDstElement string
  4205  			newDstElement = sourceValue
  4206  			o.Addresses = append(o.Addresses, newDstElement)
  4207  		}
  4208  	}
  4209  
  4210  }
  4211  
  4212  func (o *Device_Spec_NetworkingConfig_CommonOpts_Nameservers) MergeRaw(source gotenobject.GotenObjectExt) {
  4213  	o.Merge(source.(*Device_Spec_NetworkingConfig_CommonOpts_Nameservers))
  4214  }
  4215  
  4216  func (o *Device_Spec_NetworkingConfig_CommonOpts_Routes) GotenObjectExt() {}
  4217  
  4218  func (o *Device_Spec_NetworkingConfig_CommonOpts_Routes) MakeFullFieldMask() *Device_Spec_NetworkingConfig_CommonOpts_Routes_FieldMask {
  4219  	return FullDevice_Spec_NetworkingConfig_CommonOpts_Routes_FieldMask()
  4220  }
  4221  
  4222  func (o *Device_Spec_NetworkingConfig_CommonOpts_Routes) MakeRawFullFieldMask() gotenobject.FieldMask {
  4223  	return FullDevice_Spec_NetworkingConfig_CommonOpts_Routes_FieldMask()
  4224  }
  4225  
  4226  func (o *Device_Spec_NetworkingConfig_CommonOpts_Routes) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_CommonOpts_Routes) *Device_Spec_NetworkingConfig_CommonOpts_Routes_FieldMask {
  4227  	if o == nil && other == nil {
  4228  		return &Device_Spec_NetworkingConfig_CommonOpts_Routes_FieldMask{}
  4229  	}
  4230  	if o == nil || other == nil {
  4231  		return FullDevice_Spec_NetworkingConfig_CommonOpts_Routes_FieldMask()
  4232  	}
  4233  
  4234  	res := &Device_Spec_NetworkingConfig_CommonOpts_Routes_FieldMask{}
  4235  	if o.GetFrom() != other.GetFrom() {
  4236  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutes_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutes_FieldPathSelectorFrom})
  4237  	}
  4238  	if o.GetTo() != other.GetTo() {
  4239  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutes_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutes_FieldPathSelectorTo})
  4240  	}
  4241  	if o.GetVia() != other.GetVia() {
  4242  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutes_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutes_FieldPathSelectorVia})
  4243  	}
  4244  	if o.GetOnLink() != other.GetOnLink() {
  4245  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutes_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutes_FieldPathSelectorOnLink})
  4246  	}
  4247  	if o.GetMetric() != other.GetMetric() {
  4248  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutes_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutes_FieldPathSelectorMetric})
  4249  	}
  4250  	if o.GetType() != other.GetType() {
  4251  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutes_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutes_FieldPathSelectorType})
  4252  	}
  4253  	if o.GetScope() != other.GetScope() {
  4254  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutes_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutes_FieldPathSelectorScope})
  4255  	}
  4256  	if o.GetTable() != other.GetTable() {
  4257  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutes_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutes_FieldPathSelectorTable})
  4258  	}
  4259  	return res
  4260  }
  4261  
  4262  func (o *Device_Spec_NetworkingConfig_CommonOpts_Routes) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  4263  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_CommonOpts_Routes))
  4264  }
  4265  
  4266  func (o *Device_Spec_NetworkingConfig_CommonOpts_Routes) Clone() *Device_Spec_NetworkingConfig_CommonOpts_Routes {
  4267  	if o == nil {
  4268  		return nil
  4269  	}
  4270  	result := &Device_Spec_NetworkingConfig_CommonOpts_Routes{}
  4271  	result.From = o.From
  4272  	result.To = o.To
  4273  	result.Via = o.Via
  4274  	result.OnLink = o.OnLink
  4275  	result.Metric = o.Metric
  4276  	result.Type = o.Type
  4277  	result.Scope = o.Scope
  4278  	result.Table = o.Table
  4279  	return result
  4280  }
  4281  
  4282  func (o *Device_Spec_NetworkingConfig_CommonOpts_Routes) CloneRaw() gotenobject.GotenObjectExt {
  4283  	return o.Clone()
  4284  }
  4285  
  4286  func (o *Device_Spec_NetworkingConfig_CommonOpts_Routes) Merge(source *Device_Spec_NetworkingConfig_CommonOpts_Routes) {
  4287  	o.From = source.GetFrom()
  4288  	o.To = source.GetTo()
  4289  	o.Via = source.GetVia()
  4290  	o.OnLink = source.GetOnLink()
  4291  	o.Metric = source.GetMetric()
  4292  	o.Type = source.GetType()
  4293  	o.Scope = source.GetScope()
  4294  	o.Table = source.GetTable()
  4295  }
  4296  
  4297  func (o *Device_Spec_NetworkingConfig_CommonOpts_Routes) MergeRaw(source gotenobject.GotenObjectExt) {
  4298  	o.Merge(source.(*Device_Spec_NetworkingConfig_CommonOpts_Routes))
  4299  }
  4300  
  4301  func (o *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy) GotenObjectExt() {}
  4302  
  4303  func (o *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy) MakeFullFieldMask() *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy_FieldMask {
  4304  	return FullDevice_Spec_NetworkingConfig_CommonOpts_RoutingPolicy_FieldMask()
  4305  }
  4306  
  4307  func (o *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy) MakeRawFullFieldMask() gotenobject.FieldMask {
  4308  	return FullDevice_Spec_NetworkingConfig_CommonOpts_RoutingPolicy_FieldMask()
  4309  }
  4310  
  4311  func (o *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy) *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy_FieldMask {
  4312  	if o == nil && other == nil {
  4313  		return &Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy_FieldMask{}
  4314  	}
  4315  	if o == nil || other == nil {
  4316  		return FullDevice_Spec_NetworkingConfig_CommonOpts_RoutingPolicy_FieldMask()
  4317  	}
  4318  
  4319  	res := &Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy_FieldMask{}
  4320  	if o.GetFrom() != other.GetFrom() {
  4321  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutingPolicy_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutingPolicy_FieldPathSelectorFrom})
  4322  	}
  4323  	if o.GetTo() != other.GetTo() {
  4324  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutingPolicy_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutingPolicy_FieldPathSelectorTo})
  4325  	}
  4326  	if o.GetTable() != other.GetTable() {
  4327  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutingPolicy_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutingPolicy_FieldPathSelectorTable})
  4328  	}
  4329  	if o.GetPriority() != other.GetPriority() {
  4330  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutingPolicy_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutingPolicy_FieldPathSelectorPriority})
  4331  	}
  4332  	if o.GetMark() != other.GetMark() {
  4333  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutingPolicy_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutingPolicy_FieldPathSelectorMark})
  4334  	}
  4335  	if o.GetTypeOfService() != other.GetTypeOfService() {
  4336  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsRoutingPolicy_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsRoutingPolicy_FieldPathSelectorTypeOfService})
  4337  	}
  4338  	return res
  4339  }
  4340  
  4341  func (o *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  4342  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy))
  4343  }
  4344  
  4345  func (o *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy) Clone() *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy {
  4346  	if o == nil {
  4347  		return nil
  4348  	}
  4349  	result := &Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy{}
  4350  	result.From = o.From
  4351  	result.To = o.To
  4352  	result.Table = o.Table
  4353  	result.Priority = o.Priority
  4354  	result.Mark = o.Mark
  4355  	result.TypeOfService = o.TypeOfService
  4356  	return result
  4357  }
  4358  
  4359  func (o *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy) CloneRaw() gotenobject.GotenObjectExt {
  4360  	return o.Clone()
  4361  }
  4362  
  4363  func (o *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy) Merge(source *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy) {
  4364  	o.From = source.GetFrom()
  4365  	o.To = source.GetTo()
  4366  	o.Table = source.GetTable()
  4367  	o.Priority = source.GetPriority()
  4368  	o.Mark = source.GetMark()
  4369  	o.TypeOfService = source.GetTypeOfService()
  4370  }
  4371  
  4372  func (o *Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy) MergeRaw(source gotenobject.GotenObjectExt) {
  4373  	o.Merge(source.(*Device_Spec_NetworkingConfig_CommonOpts_RoutingPolicy))
  4374  }
  4375  
  4376  func (o *Device_Spec_NetworkingConfig_CommonOpts_Auth) GotenObjectExt() {}
  4377  
  4378  func (o *Device_Spec_NetworkingConfig_CommonOpts_Auth) MakeFullFieldMask() *Device_Spec_NetworkingConfig_CommonOpts_Auth_FieldMask {
  4379  	return FullDevice_Spec_NetworkingConfig_CommonOpts_Auth_FieldMask()
  4380  }
  4381  
  4382  func (o *Device_Spec_NetworkingConfig_CommonOpts_Auth) MakeRawFullFieldMask() gotenobject.FieldMask {
  4383  	return FullDevice_Spec_NetworkingConfig_CommonOpts_Auth_FieldMask()
  4384  }
  4385  
  4386  func (o *Device_Spec_NetworkingConfig_CommonOpts_Auth) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_CommonOpts_Auth) *Device_Spec_NetworkingConfig_CommonOpts_Auth_FieldMask {
  4387  	if o == nil && other == nil {
  4388  		return &Device_Spec_NetworkingConfig_CommonOpts_Auth_FieldMask{}
  4389  	}
  4390  	if o == nil || other == nil {
  4391  		return FullDevice_Spec_NetworkingConfig_CommonOpts_Auth_FieldMask()
  4392  	}
  4393  
  4394  	res := &Device_Spec_NetworkingConfig_CommonOpts_Auth_FieldMask{}
  4395  	if o.GetKeyManagement() != other.GetKeyManagement() {
  4396  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsAuth_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsAuth_FieldPathSelectorKeyManagement})
  4397  	}
  4398  	if o.GetPassword() != other.GetPassword() {
  4399  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsAuth_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsAuth_FieldPathSelectorPassword})
  4400  	}
  4401  	if o.GetMethod() != other.GetMethod() {
  4402  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsAuth_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsAuth_FieldPathSelectorMethod})
  4403  	}
  4404  	if o.GetIdentity() != other.GetIdentity() {
  4405  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsAuth_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsAuth_FieldPathSelectorIdentity})
  4406  	}
  4407  	if o.GetAnonymousIdentity() != other.GetAnonymousIdentity() {
  4408  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsAuth_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsAuth_FieldPathSelectorAnonymousIdentity})
  4409  	}
  4410  	if o.GetCaCertificate() != other.GetCaCertificate() {
  4411  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsAuth_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsAuth_FieldPathSelectorCaCertificate})
  4412  	}
  4413  	if o.GetClientCertificate() != other.GetClientCertificate() {
  4414  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsAuth_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsAuth_FieldPathSelectorClientCertificate})
  4415  	}
  4416  	if o.GetClientKey() != other.GetClientKey() {
  4417  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsAuth_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsAuth_FieldPathSelectorClientKey})
  4418  	}
  4419  	if o.GetClientKeyPassword() != other.GetClientKeyPassword() {
  4420  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsAuth_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsAuth_FieldPathSelectorClientKeyPassword})
  4421  	}
  4422  	if o.GetPhase2Auth() != other.GetPhase2Auth() {
  4423  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigCommonOptsAuth_FieldTerminalPath{selector: DeviceSpecNetworkingConfigCommonOptsAuth_FieldPathSelectorPhase2Auth})
  4424  	}
  4425  	return res
  4426  }
  4427  
  4428  func (o *Device_Spec_NetworkingConfig_CommonOpts_Auth) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  4429  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_CommonOpts_Auth))
  4430  }
  4431  
  4432  func (o *Device_Spec_NetworkingConfig_CommonOpts_Auth) Clone() *Device_Spec_NetworkingConfig_CommonOpts_Auth {
  4433  	if o == nil {
  4434  		return nil
  4435  	}
  4436  	result := &Device_Spec_NetworkingConfig_CommonOpts_Auth{}
  4437  	result.KeyManagement = o.KeyManagement
  4438  	result.Password = o.Password
  4439  	result.Method = o.Method
  4440  	result.Identity = o.Identity
  4441  	result.AnonymousIdentity = o.AnonymousIdentity
  4442  	result.CaCertificate = o.CaCertificate
  4443  	result.ClientCertificate = o.ClientCertificate
  4444  	result.ClientKey = o.ClientKey
  4445  	result.ClientKeyPassword = o.ClientKeyPassword
  4446  	result.Phase2Auth = o.Phase2Auth
  4447  	return result
  4448  }
  4449  
  4450  func (o *Device_Spec_NetworkingConfig_CommonOpts_Auth) CloneRaw() gotenobject.GotenObjectExt {
  4451  	return o.Clone()
  4452  }
  4453  
  4454  func (o *Device_Spec_NetworkingConfig_CommonOpts_Auth) Merge(source *Device_Spec_NetworkingConfig_CommonOpts_Auth) {
  4455  	o.KeyManagement = source.GetKeyManagement()
  4456  	o.Password = source.GetPassword()
  4457  	o.Method = source.GetMethod()
  4458  	o.Identity = source.GetIdentity()
  4459  	o.AnonymousIdentity = source.GetAnonymousIdentity()
  4460  	o.CaCertificate = source.GetCaCertificate()
  4461  	o.ClientCertificate = source.GetClientCertificate()
  4462  	o.ClientKey = source.GetClientKey()
  4463  	o.ClientKeyPassword = source.GetClientKeyPassword()
  4464  	o.Phase2Auth = source.GetPhase2Auth()
  4465  }
  4466  
  4467  func (o *Device_Spec_NetworkingConfig_CommonOpts_Auth) MergeRaw(source gotenobject.GotenObjectExt) {
  4468  	o.Merge(source.(*Device_Spec_NetworkingConfig_CommonOpts_Auth))
  4469  }
  4470  
  4471  func (o *Device_Spec_NetworkingConfig_EthOpts_Match) GotenObjectExt() {}
  4472  
  4473  func (o *Device_Spec_NetworkingConfig_EthOpts_Match) MakeFullFieldMask() *Device_Spec_NetworkingConfig_EthOpts_Match_FieldMask {
  4474  	return FullDevice_Spec_NetworkingConfig_EthOpts_Match_FieldMask()
  4475  }
  4476  
  4477  func (o *Device_Spec_NetworkingConfig_EthOpts_Match) MakeRawFullFieldMask() gotenobject.FieldMask {
  4478  	return FullDevice_Spec_NetworkingConfig_EthOpts_Match_FieldMask()
  4479  }
  4480  
  4481  func (o *Device_Spec_NetworkingConfig_EthOpts_Match) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_EthOpts_Match) *Device_Spec_NetworkingConfig_EthOpts_Match_FieldMask {
  4482  	if o == nil && other == nil {
  4483  		return &Device_Spec_NetworkingConfig_EthOpts_Match_FieldMask{}
  4484  	}
  4485  	if o == nil || other == nil {
  4486  		return FullDevice_Spec_NetworkingConfig_EthOpts_Match_FieldMask()
  4487  	}
  4488  
  4489  	res := &Device_Spec_NetworkingConfig_EthOpts_Match_FieldMask{}
  4490  	if o.GetName() != other.GetName() {
  4491  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOptsMatch_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOptsMatch_FieldPathSelectorName})
  4492  	}
  4493  	if o.GetMacaddress() != other.GetMacaddress() {
  4494  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOptsMatch_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOptsMatch_FieldPathSelectorMacaddress})
  4495  	}
  4496  	if o.GetDriver() != other.GetDriver() {
  4497  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigEthOptsMatch_FieldTerminalPath{selector: DeviceSpecNetworkingConfigEthOptsMatch_FieldPathSelectorDriver})
  4498  	}
  4499  	return res
  4500  }
  4501  
  4502  func (o *Device_Spec_NetworkingConfig_EthOpts_Match) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  4503  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_EthOpts_Match))
  4504  }
  4505  
  4506  func (o *Device_Spec_NetworkingConfig_EthOpts_Match) Clone() *Device_Spec_NetworkingConfig_EthOpts_Match {
  4507  	if o == nil {
  4508  		return nil
  4509  	}
  4510  	result := &Device_Spec_NetworkingConfig_EthOpts_Match{}
  4511  	result.Name = o.Name
  4512  	result.Macaddress = o.Macaddress
  4513  	result.Driver = o.Driver
  4514  	return result
  4515  }
  4516  
  4517  func (o *Device_Spec_NetworkingConfig_EthOpts_Match) CloneRaw() gotenobject.GotenObjectExt {
  4518  	return o.Clone()
  4519  }
  4520  
  4521  func (o *Device_Spec_NetworkingConfig_EthOpts_Match) Merge(source *Device_Spec_NetworkingConfig_EthOpts_Match) {
  4522  	o.Name = source.GetName()
  4523  	o.Macaddress = source.GetMacaddress()
  4524  	o.Driver = source.GetDriver()
  4525  }
  4526  
  4527  func (o *Device_Spec_NetworkingConfig_EthOpts_Match) MergeRaw(source gotenobject.GotenObjectExt) {
  4528  	o.Merge(source.(*Device_Spec_NetworkingConfig_EthOpts_Match))
  4529  }
  4530  
  4531  func (o *Device_Spec_NetworkingConfig_WifiOpts_Match) GotenObjectExt() {}
  4532  
  4533  func (o *Device_Spec_NetworkingConfig_WifiOpts_Match) MakeFullFieldMask() *Device_Spec_NetworkingConfig_WifiOpts_Match_FieldMask {
  4534  	return FullDevice_Spec_NetworkingConfig_WifiOpts_Match_FieldMask()
  4535  }
  4536  
  4537  func (o *Device_Spec_NetworkingConfig_WifiOpts_Match) MakeRawFullFieldMask() gotenobject.FieldMask {
  4538  	return FullDevice_Spec_NetworkingConfig_WifiOpts_Match_FieldMask()
  4539  }
  4540  
  4541  func (o *Device_Spec_NetworkingConfig_WifiOpts_Match) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_WifiOpts_Match) *Device_Spec_NetworkingConfig_WifiOpts_Match_FieldMask {
  4542  	if o == nil && other == nil {
  4543  		return &Device_Spec_NetworkingConfig_WifiOpts_Match_FieldMask{}
  4544  	}
  4545  	if o == nil || other == nil {
  4546  		return FullDevice_Spec_NetworkingConfig_WifiOpts_Match_FieldMask()
  4547  	}
  4548  
  4549  	res := &Device_Spec_NetworkingConfig_WifiOpts_Match_FieldMask{}
  4550  	if o.GetName() != other.GetName() {
  4551  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOptsMatch_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOptsMatch_FieldPathSelectorName})
  4552  	}
  4553  	if o.GetMacaddress() != other.GetMacaddress() {
  4554  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOptsMatch_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOptsMatch_FieldPathSelectorMacaddress})
  4555  	}
  4556  	if o.GetDriver() != other.GetDriver() {
  4557  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOptsMatch_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOptsMatch_FieldPathSelectorDriver})
  4558  	}
  4559  	return res
  4560  }
  4561  
  4562  func (o *Device_Spec_NetworkingConfig_WifiOpts_Match) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  4563  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_WifiOpts_Match))
  4564  }
  4565  
  4566  func (o *Device_Spec_NetworkingConfig_WifiOpts_Match) Clone() *Device_Spec_NetworkingConfig_WifiOpts_Match {
  4567  	if o == nil {
  4568  		return nil
  4569  	}
  4570  	result := &Device_Spec_NetworkingConfig_WifiOpts_Match{}
  4571  	result.Name = o.Name
  4572  	result.Macaddress = o.Macaddress
  4573  	result.Driver = o.Driver
  4574  	return result
  4575  }
  4576  
  4577  func (o *Device_Spec_NetworkingConfig_WifiOpts_Match) CloneRaw() gotenobject.GotenObjectExt {
  4578  	return o.Clone()
  4579  }
  4580  
  4581  func (o *Device_Spec_NetworkingConfig_WifiOpts_Match) Merge(source *Device_Spec_NetworkingConfig_WifiOpts_Match) {
  4582  	o.Name = source.GetName()
  4583  	o.Macaddress = source.GetMacaddress()
  4584  	o.Driver = source.GetDriver()
  4585  }
  4586  
  4587  func (o *Device_Spec_NetworkingConfig_WifiOpts_Match) MergeRaw(source gotenobject.GotenObjectExt) {
  4588  	o.Merge(source.(*Device_Spec_NetworkingConfig_WifiOpts_Match))
  4589  }
  4590  
  4591  func (o *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint) GotenObjectExt() {}
  4592  
  4593  func (o *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint) MakeFullFieldMask() *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint_FieldMask {
  4594  	return FullDevice_Spec_NetworkingConfig_WifiOpts_AccessPoint_FieldMask()
  4595  }
  4596  
  4597  func (o *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint) MakeRawFullFieldMask() gotenobject.FieldMask {
  4598  	return FullDevice_Spec_NetworkingConfig_WifiOpts_AccessPoint_FieldMask()
  4599  }
  4600  
  4601  func (o *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint) *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint_FieldMask {
  4602  	if o == nil && other == nil {
  4603  		return &Device_Spec_NetworkingConfig_WifiOpts_AccessPoint_FieldMask{}
  4604  	}
  4605  	if o == nil || other == nil {
  4606  		return FullDevice_Spec_NetworkingConfig_WifiOpts_AccessPoint_FieldMask()
  4607  	}
  4608  
  4609  	res := &Device_Spec_NetworkingConfig_WifiOpts_AccessPoint_FieldMask{}
  4610  	if o.GetPassword() != other.GetPassword() {
  4611  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldPathSelectorPassword})
  4612  	}
  4613  	if o.GetMode() != other.GetMode() {
  4614  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldPathSelectorMode})
  4615  	}
  4616  	if o.GetBssid() != other.GetBssid() {
  4617  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldPathSelectorBssid})
  4618  	}
  4619  	if o.GetBand() != other.GetBand() {
  4620  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldPathSelectorBand})
  4621  	}
  4622  	if o.GetChannel() != other.GetChannel() {
  4623  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldPathSelectorChannel})
  4624  	}
  4625  	if o.GetHidden() != other.GetHidden() {
  4626  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldPathSelectorHidden})
  4627  	}
  4628  	{
  4629  		subMask := o.GetAuth().MakeDiffFieldMask(other.GetAuth())
  4630  		if subMask.IsFull() {
  4631  			res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldTerminalPath{selector: DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldPathSelectorAuth})
  4632  		} else {
  4633  			for _, subpath := range subMask.Paths {
  4634  				res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldSubPath{selector: DeviceSpecNetworkingConfigWifiOptsAccessPoint_FieldPathSelectorAuth, subPath: subpath})
  4635  			}
  4636  		}
  4637  	}
  4638  	return res
  4639  }
  4640  
  4641  func (o *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  4642  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_WifiOpts_AccessPoint))
  4643  }
  4644  
  4645  func (o *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint) Clone() *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint {
  4646  	if o == nil {
  4647  		return nil
  4648  	}
  4649  	result := &Device_Spec_NetworkingConfig_WifiOpts_AccessPoint{}
  4650  	result.Password = o.Password
  4651  	result.Mode = o.Mode
  4652  	result.Bssid = o.Bssid
  4653  	result.Band = o.Band
  4654  	result.Channel = o.Channel
  4655  	result.Hidden = o.Hidden
  4656  	result.Auth = o.Auth.Clone()
  4657  	return result
  4658  }
  4659  
  4660  func (o *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint) CloneRaw() gotenobject.GotenObjectExt {
  4661  	return o.Clone()
  4662  }
  4663  
  4664  func (o *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint) Merge(source *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint) {
  4665  	o.Password = source.GetPassword()
  4666  	o.Mode = source.GetMode()
  4667  	o.Bssid = source.GetBssid()
  4668  	o.Band = source.GetBand()
  4669  	o.Channel = source.GetChannel()
  4670  	o.Hidden = source.GetHidden()
  4671  	if source.GetAuth() != nil {
  4672  		if o.Auth == nil {
  4673  			o.Auth = new(Device_Spec_NetworkingConfig_CommonOpts_Auth)
  4674  		}
  4675  		o.Auth.Merge(source.GetAuth())
  4676  	}
  4677  }
  4678  
  4679  func (o *Device_Spec_NetworkingConfig_WifiOpts_AccessPoint) MergeRaw(source gotenobject.GotenObjectExt) {
  4680  	o.Merge(source.(*Device_Spec_NetworkingConfig_WifiOpts_AccessPoint))
  4681  }
  4682  
  4683  func (o *Device_Spec_NetworkingConfig_BridgesOpts_Parameters) GotenObjectExt() {}
  4684  
  4685  func (o *Device_Spec_NetworkingConfig_BridgesOpts_Parameters) MakeFullFieldMask() *Device_Spec_NetworkingConfig_BridgesOpts_Parameters_FieldMask {
  4686  	return FullDevice_Spec_NetworkingConfig_BridgesOpts_Parameters_FieldMask()
  4687  }
  4688  
  4689  func (o *Device_Spec_NetworkingConfig_BridgesOpts_Parameters) MakeRawFullFieldMask() gotenobject.FieldMask {
  4690  	return FullDevice_Spec_NetworkingConfig_BridgesOpts_Parameters_FieldMask()
  4691  }
  4692  
  4693  func (o *Device_Spec_NetworkingConfig_BridgesOpts_Parameters) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_BridgesOpts_Parameters) *Device_Spec_NetworkingConfig_BridgesOpts_Parameters_FieldMask {
  4694  	if o == nil && other == nil {
  4695  		return &Device_Spec_NetworkingConfig_BridgesOpts_Parameters_FieldMask{}
  4696  	}
  4697  	if o == nil || other == nil {
  4698  		return FullDevice_Spec_NetworkingConfig_BridgesOpts_Parameters_FieldMask()
  4699  	}
  4700  
  4701  	res := &Device_Spec_NetworkingConfig_BridgesOpts_Parameters_FieldMask{}
  4702  	if o.GetAgeingTime() != other.GetAgeingTime() {
  4703  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOptsParameters_FieldPathSelectorAgeingTime})
  4704  	}
  4705  	if o.GetPriority() != other.GetPriority() {
  4706  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOptsParameters_FieldPathSelectorPriority})
  4707  	}
  4708  	if o.GetPortPriority() != other.GetPortPriority() {
  4709  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOptsParameters_FieldPathSelectorPortPriority})
  4710  	}
  4711  	if o.GetForwardDelay() != other.GetForwardDelay() {
  4712  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOptsParameters_FieldPathSelectorForwardDelay})
  4713  	}
  4714  	if o.GetHelloTime() != other.GetHelloTime() {
  4715  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOptsParameters_FieldPathSelectorHelloTime})
  4716  	}
  4717  	if o.GetMaxAge() != other.GetMaxAge() {
  4718  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOptsParameters_FieldPathSelectorMaxAge})
  4719  	}
  4720  	if o.GetPathCost() != other.GetPathCost() {
  4721  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOptsParameters_FieldPathSelectorPathCost})
  4722  	}
  4723  	if o.GetStp() != other.GetStp() {
  4724  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBridgesOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBridgesOptsParameters_FieldPathSelectorStp})
  4725  	}
  4726  	return res
  4727  }
  4728  
  4729  func (o *Device_Spec_NetworkingConfig_BridgesOpts_Parameters) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  4730  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_BridgesOpts_Parameters))
  4731  }
  4732  
  4733  func (o *Device_Spec_NetworkingConfig_BridgesOpts_Parameters) Clone() *Device_Spec_NetworkingConfig_BridgesOpts_Parameters {
  4734  	if o == nil {
  4735  		return nil
  4736  	}
  4737  	result := &Device_Spec_NetworkingConfig_BridgesOpts_Parameters{}
  4738  	result.AgeingTime = o.AgeingTime
  4739  	result.Priority = o.Priority
  4740  	result.PortPriority = o.PortPriority
  4741  	result.ForwardDelay = o.ForwardDelay
  4742  	result.HelloTime = o.HelloTime
  4743  	result.MaxAge = o.MaxAge
  4744  	result.PathCost = o.PathCost
  4745  	result.Stp = o.Stp
  4746  	return result
  4747  }
  4748  
  4749  func (o *Device_Spec_NetworkingConfig_BridgesOpts_Parameters) CloneRaw() gotenobject.GotenObjectExt {
  4750  	return o.Clone()
  4751  }
  4752  
  4753  func (o *Device_Spec_NetworkingConfig_BridgesOpts_Parameters) Merge(source *Device_Spec_NetworkingConfig_BridgesOpts_Parameters) {
  4754  	o.AgeingTime = source.GetAgeingTime()
  4755  	o.Priority = source.GetPriority()
  4756  	o.PortPriority = source.GetPortPriority()
  4757  	o.ForwardDelay = source.GetForwardDelay()
  4758  	o.HelloTime = source.GetHelloTime()
  4759  	o.MaxAge = source.GetMaxAge()
  4760  	o.PathCost = source.GetPathCost()
  4761  	o.Stp = source.GetStp()
  4762  }
  4763  
  4764  func (o *Device_Spec_NetworkingConfig_BridgesOpts_Parameters) MergeRaw(source gotenobject.GotenObjectExt) {
  4765  	o.Merge(source.(*Device_Spec_NetworkingConfig_BridgesOpts_Parameters))
  4766  }
  4767  
  4768  func (o *Device_Spec_NetworkingConfig_BondsOpts_Parameters) GotenObjectExt() {}
  4769  
  4770  func (o *Device_Spec_NetworkingConfig_BondsOpts_Parameters) MakeFullFieldMask() *Device_Spec_NetworkingConfig_BondsOpts_Parameters_FieldMask {
  4771  	return FullDevice_Spec_NetworkingConfig_BondsOpts_Parameters_FieldMask()
  4772  }
  4773  
  4774  func (o *Device_Spec_NetworkingConfig_BondsOpts_Parameters) MakeRawFullFieldMask() gotenobject.FieldMask {
  4775  	return FullDevice_Spec_NetworkingConfig_BondsOpts_Parameters_FieldMask()
  4776  }
  4777  
  4778  func (o *Device_Spec_NetworkingConfig_BondsOpts_Parameters) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_BondsOpts_Parameters) *Device_Spec_NetworkingConfig_BondsOpts_Parameters_FieldMask {
  4779  	if o == nil && other == nil {
  4780  		return &Device_Spec_NetworkingConfig_BondsOpts_Parameters_FieldMask{}
  4781  	}
  4782  	if o == nil || other == nil {
  4783  		return FullDevice_Spec_NetworkingConfig_BondsOpts_Parameters_FieldMask()
  4784  	}
  4785  
  4786  	res := &Device_Spec_NetworkingConfig_BondsOpts_Parameters_FieldMask{}
  4787  	if o.GetMode() != other.GetMode() {
  4788  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorMode})
  4789  	}
  4790  	if o.GetLacpRate() != other.GetLacpRate() {
  4791  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorLacpRate})
  4792  	}
  4793  	if o.GetMiiMonitorInterval() != other.GetMiiMonitorInterval() {
  4794  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorMiiMonitorInterval})
  4795  	}
  4796  	if o.GetMinLinks() != other.GetMinLinks() {
  4797  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorMinLinks})
  4798  	}
  4799  	if o.GetTransmitHashPolicy() != other.GetTransmitHashPolicy() {
  4800  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorTransmitHashPolicy})
  4801  	}
  4802  	if o.GetAdSelect() != other.GetAdSelect() {
  4803  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorAdSelect})
  4804  	}
  4805  	if o.GetAllSlavesActive() != other.GetAllSlavesActive() {
  4806  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorAllSlavesActive})
  4807  	}
  4808  	if o.GetArpIpTargets() != other.GetArpIpTargets() {
  4809  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorArpIpTargets})
  4810  	}
  4811  	if o.GetArpValidate() != other.GetArpValidate() {
  4812  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorArpValidate})
  4813  	}
  4814  	if o.GetArpAllTargets() != other.GetArpAllTargets() {
  4815  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorArpAllTargets})
  4816  	}
  4817  	if o.GetUpDelay() != other.GetUpDelay() {
  4818  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorUpDelay})
  4819  	}
  4820  	if o.GetFailOverMacPolicy() != other.GetFailOverMacPolicy() {
  4821  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorFailOverMacPolicy})
  4822  	}
  4823  	if o.GetGratuitousArp() != other.GetGratuitousArp() {
  4824  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorGratuitousArp})
  4825  	}
  4826  	if o.GetPacketsPerSlave() != other.GetPacketsPerSlave() {
  4827  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorPacketsPerSlave})
  4828  	}
  4829  	if o.GetPrimaryReselectPolicy() != other.GetPrimaryReselectPolicy() {
  4830  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorPrimaryReselectPolicy})
  4831  	}
  4832  	if o.GetResendIgmp() != other.GetResendIgmp() {
  4833  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorResendIgmp})
  4834  	}
  4835  	if o.GetLearnPacketInterval() != other.GetLearnPacketInterval() {
  4836  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorLearnPacketInterval})
  4837  	}
  4838  	if o.GetPrimary() != other.GetPrimary() {
  4839  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigBondsOptsParameters_FieldTerminalPath{selector: DeviceSpecNetworkingConfigBondsOptsParameters_FieldPathSelectorPrimary})
  4840  	}
  4841  	return res
  4842  }
  4843  
  4844  func (o *Device_Spec_NetworkingConfig_BondsOpts_Parameters) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  4845  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_BondsOpts_Parameters))
  4846  }
  4847  
  4848  func (o *Device_Spec_NetworkingConfig_BondsOpts_Parameters) Clone() *Device_Spec_NetworkingConfig_BondsOpts_Parameters {
  4849  	if o == nil {
  4850  		return nil
  4851  	}
  4852  	result := &Device_Spec_NetworkingConfig_BondsOpts_Parameters{}
  4853  	result.Mode = o.Mode
  4854  	result.LacpRate = o.LacpRate
  4855  	result.MiiMonitorInterval = o.MiiMonitorInterval
  4856  	result.MinLinks = o.MinLinks
  4857  	result.TransmitHashPolicy = o.TransmitHashPolicy
  4858  	result.AdSelect = o.AdSelect
  4859  	result.AllSlavesActive = o.AllSlavesActive
  4860  	result.ArpIpTargets = o.ArpIpTargets
  4861  	result.ArpValidate = o.ArpValidate
  4862  	result.ArpAllTargets = o.ArpAllTargets
  4863  	result.UpDelay = o.UpDelay
  4864  	result.FailOverMacPolicy = o.FailOverMacPolicy
  4865  	result.GratuitousArp = o.GratuitousArp
  4866  	result.PacketsPerSlave = o.PacketsPerSlave
  4867  	result.PrimaryReselectPolicy = o.PrimaryReselectPolicy
  4868  	result.ResendIgmp = o.ResendIgmp
  4869  	result.LearnPacketInterval = o.LearnPacketInterval
  4870  	result.Primary = o.Primary
  4871  	return result
  4872  }
  4873  
  4874  func (o *Device_Spec_NetworkingConfig_BondsOpts_Parameters) CloneRaw() gotenobject.GotenObjectExt {
  4875  	return o.Clone()
  4876  }
  4877  
  4878  func (o *Device_Spec_NetworkingConfig_BondsOpts_Parameters) Merge(source *Device_Spec_NetworkingConfig_BondsOpts_Parameters) {
  4879  	o.Mode = source.GetMode()
  4880  	o.LacpRate = source.GetLacpRate()
  4881  	o.MiiMonitorInterval = source.GetMiiMonitorInterval()
  4882  	o.MinLinks = source.GetMinLinks()
  4883  	o.TransmitHashPolicy = source.GetTransmitHashPolicy()
  4884  	o.AdSelect = source.GetAdSelect()
  4885  	o.AllSlavesActive = source.GetAllSlavesActive()
  4886  	o.ArpIpTargets = source.GetArpIpTargets()
  4887  	o.ArpValidate = source.GetArpValidate()
  4888  	o.ArpAllTargets = source.GetArpAllTargets()
  4889  	o.UpDelay = source.GetUpDelay()
  4890  	o.FailOverMacPolicy = source.GetFailOverMacPolicy()
  4891  	o.GratuitousArp = source.GetGratuitousArp()
  4892  	o.PacketsPerSlave = source.GetPacketsPerSlave()
  4893  	o.PrimaryReselectPolicy = source.GetPrimaryReselectPolicy()
  4894  	o.ResendIgmp = source.GetResendIgmp()
  4895  	o.LearnPacketInterval = source.GetLearnPacketInterval()
  4896  	o.Primary = source.GetPrimary()
  4897  }
  4898  
  4899  func (o *Device_Spec_NetworkingConfig_BondsOpts_Parameters) MergeRaw(source gotenobject.GotenObjectExt) {
  4900  	o.Merge(source.(*Device_Spec_NetworkingConfig_BondsOpts_Parameters))
  4901  }
  4902  
  4903  func (o *Device_Spec_NetworkingConfig_TunnelsOpts_Key) GotenObjectExt() {}
  4904  
  4905  func (o *Device_Spec_NetworkingConfig_TunnelsOpts_Key) MakeFullFieldMask() *Device_Spec_NetworkingConfig_TunnelsOpts_Key_FieldMask {
  4906  	return FullDevice_Spec_NetworkingConfig_TunnelsOpts_Key_FieldMask()
  4907  }
  4908  
  4909  func (o *Device_Spec_NetworkingConfig_TunnelsOpts_Key) MakeRawFullFieldMask() gotenobject.FieldMask {
  4910  	return FullDevice_Spec_NetworkingConfig_TunnelsOpts_Key_FieldMask()
  4911  }
  4912  
  4913  func (o *Device_Spec_NetworkingConfig_TunnelsOpts_Key) MakeDiffFieldMask(other *Device_Spec_NetworkingConfig_TunnelsOpts_Key) *Device_Spec_NetworkingConfig_TunnelsOpts_Key_FieldMask {
  4914  	if o == nil && other == nil {
  4915  		return &Device_Spec_NetworkingConfig_TunnelsOpts_Key_FieldMask{}
  4916  	}
  4917  	if o == nil || other == nil {
  4918  		return FullDevice_Spec_NetworkingConfig_TunnelsOpts_Key_FieldMask()
  4919  	}
  4920  
  4921  	res := &Device_Spec_NetworkingConfig_TunnelsOpts_Key_FieldMask{}
  4922  	if o.GetInput() != other.GetInput() {
  4923  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOptsKey_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOptsKey_FieldPathSelectorInput})
  4924  	}
  4925  	if o.GetOutput() != other.GetOutput() {
  4926  		res.Paths = append(res.Paths, &DeviceSpecNetworkingConfigTunnelsOptsKey_FieldTerminalPath{selector: DeviceSpecNetworkingConfigTunnelsOptsKey_FieldPathSelectorOutput})
  4927  	}
  4928  	return res
  4929  }
  4930  
  4931  func (o *Device_Spec_NetworkingConfig_TunnelsOpts_Key) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  4932  	return o.MakeDiffFieldMask(other.(*Device_Spec_NetworkingConfig_TunnelsOpts_Key))
  4933  }
  4934  
  4935  func (o *Device_Spec_NetworkingConfig_TunnelsOpts_Key) Clone() *Device_Spec_NetworkingConfig_TunnelsOpts_Key {
  4936  	if o == nil {
  4937  		return nil
  4938  	}
  4939  	result := &Device_Spec_NetworkingConfig_TunnelsOpts_Key{}
  4940  	result.Input = o.Input
  4941  	result.Output = o.Output
  4942  	return result
  4943  }
  4944  
  4945  func (o *Device_Spec_NetworkingConfig_TunnelsOpts_Key) CloneRaw() gotenobject.GotenObjectExt {
  4946  	return o.Clone()
  4947  }
  4948  
  4949  func (o *Device_Spec_NetworkingConfig_TunnelsOpts_Key) Merge(source *Device_Spec_NetworkingConfig_TunnelsOpts_Key) {
  4950  	o.Input = source.GetInput()
  4951  	o.Output = source.GetOutput()
  4952  }
  4953  
  4954  func (o *Device_Spec_NetworkingConfig_TunnelsOpts_Key) MergeRaw(source gotenobject.GotenObjectExt) {
  4955  	o.Merge(source.(*Device_Spec_NetworkingConfig_TunnelsOpts_Key))
  4956  }
  4957  
  4958  func (o *Device_Spec_SSHConfig_AuthKey) GotenObjectExt() {}
  4959  
  4960  func (o *Device_Spec_SSHConfig_AuthKey) MakeFullFieldMask() *Device_Spec_SSHConfig_AuthKey_FieldMask {
  4961  	return FullDevice_Spec_SSHConfig_AuthKey_FieldMask()
  4962  }
  4963  
  4964  func (o *Device_Spec_SSHConfig_AuthKey) MakeRawFullFieldMask() gotenobject.FieldMask {
  4965  	return FullDevice_Spec_SSHConfig_AuthKey_FieldMask()
  4966  }
  4967  
  4968  func (o *Device_Spec_SSHConfig_AuthKey) MakeDiffFieldMask(other *Device_Spec_SSHConfig_AuthKey) *Device_Spec_SSHConfig_AuthKey_FieldMask {
  4969  	if o == nil && other == nil {
  4970  		return &Device_Spec_SSHConfig_AuthKey_FieldMask{}
  4971  	}
  4972  	if o == nil || other == nil {
  4973  		return FullDevice_Spec_SSHConfig_AuthKey_FieldMask()
  4974  	}
  4975  
  4976  	res := &Device_Spec_SSHConfig_AuthKey_FieldMask{}
  4977  	if o.GetSshaKey() != other.GetSshaKey() {
  4978  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorSshaKey})
  4979  	}
  4980  	if o.GetCertAuthority() != other.GetCertAuthority() {
  4981  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorCertAuthority})
  4982  	}
  4983  	if o.GetCommand() != other.GetCommand() {
  4984  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorCommand})
  4985  	}
  4986  	if o.GetEnvironment() != other.GetEnvironment() {
  4987  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorEnvironment})
  4988  	}
  4989  	if o.GetFrom() != other.GetFrom() {
  4990  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorFrom})
  4991  	}
  4992  	if o.GetNoAgentForwarding() != other.GetNoAgentForwarding() {
  4993  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoAgentForwarding})
  4994  	}
  4995  	if o.GetNoPortForwarding() != other.GetNoPortForwarding() {
  4996  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoPortForwarding})
  4997  	}
  4998  	if o.GetNoPty() != other.GetNoPty() {
  4999  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoPty})
  5000  	}
  5001  	if o.GetNoUserRc() != other.GetNoUserRc() {
  5002  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoUserRc})
  5003  	}
  5004  	if o.GetNoX11Forwarding() != other.GetNoX11Forwarding() {
  5005  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoX11Forwarding})
  5006  	}
  5007  	if o.GetPermitopen() != other.GetPermitopen() {
  5008  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorPermitopen})
  5009  	}
  5010  	if o.GetPrincipals() != other.GetPrincipals() {
  5011  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorPrincipals})
  5012  	}
  5013  	if o.GetTunnel() != other.GetTunnel() {
  5014  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorTunnel})
  5015  	}
  5016  	if o.GetRestrict() != other.GetRestrict() {
  5017  		res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorRestrict})
  5018  	}
  5019  	return res
  5020  }
  5021  
  5022  func (o *Device_Spec_SSHConfig_AuthKey) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  5023  	return o.MakeDiffFieldMask(other.(*Device_Spec_SSHConfig_AuthKey))
  5024  }
  5025  
  5026  func (o *Device_Spec_SSHConfig_AuthKey) Clone() *Device_Spec_SSHConfig_AuthKey {
  5027  	if o == nil {
  5028  		return nil
  5029  	}
  5030  	result := &Device_Spec_SSHConfig_AuthKey{}
  5031  	result.SshaKey = o.SshaKey
  5032  	result.CertAuthority = o.CertAuthority
  5033  	result.Command = o.Command
  5034  	result.Environment = o.Environment
  5035  	result.From = o.From
  5036  	result.NoAgentForwarding = o.NoAgentForwarding
  5037  	result.NoPortForwarding = o.NoPortForwarding
  5038  	result.NoPty = o.NoPty
  5039  	result.NoUserRc = o.NoUserRc
  5040  	result.NoX11Forwarding = o.NoX11Forwarding
  5041  	result.Permitopen = o.Permitopen
  5042  	result.Principals = o.Principals
  5043  	result.Tunnel = o.Tunnel
  5044  	result.Restrict = o.Restrict
  5045  	return result
  5046  }
  5047  
  5048  func (o *Device_Spec_SSHConfig_AuthKey) CloneRaw() gotenobject.GotenObjectExt {
  5049  	return o.Clone()
  5050  }
  5051  
  5052  func (o *Device_Spec_SSHConfig_AuthKey) Merge(source *Device_Spec_SSHConfig_AuthKey) {
  5053  	o.SshaKey = source.GetSshaKey()
  5054  	o.CertAuthority = source.GetCertAuthority()
  5055  	o.Command = source.GetCommand()
  5056  	o.Environment = source.GetEnvironment()
  5057  	o.From = source.GetFrom()
  5058  	o.NoAgentForwarding = source.GetNoAgentForwarding()
  5059  	o.NoPortForwarding = source.GetNoPortForwarding()
  5060  	o.NoPty = source.GetNoPty()
  5061  	o.NoUserRc = source.GetNoUserRc()
  5062  	o.NoX11Forwarding = source.GetNoX11Forwarding()
  5063  	o.Permitopen = source.GetPermitopen()
  5064  	o.Principals = source.GetPrincipals()
  5065  	o.Tunnel = source.GetTunnel()
  5066  	o.Restrict = source.GetRestrict()
  5067  }
  5068  
  5069  func (o *Device_Spec_SSHConfig_AuthKey) MergeRaw(source gotenobject.GotenObjectExt) {
  5070  	o.Merge(source.(*Device_Spec_SSHConfig_AuthKey))
  5071  }
  5072  
  5073  func (o *Device_Status_Address) GotenObjectExt() {}
  5074  
  5075  func (o *Device_Status_Address) MakeFullFieldMask() *Device_Status_Address_FieldMask {
  5076  	return FullDevice_Status_Address_FieldMask()
  5077  }
  5078  
  5079  func (o *Device_Status_Address) MakeRawFullFieldMask() gotenobject.FieldMask {
  5080  	return FullDevice_Status_Address_FieldMask()
  5081  }
  5082  
  5083  func (o *Device_Status_Address) MakeDiffFieldMask(other *Device_Status_Address) *Device_Status_Address_FieldMask {
  5084  	if o == nil && other == nil {
  5085  		return &Device_Status_Address_FieldMask{}
  5086  	}
  5087  	if o == nil || other == nil {
  5088  		return FullDevice_Status_Address_FieldMask()
  5089  	}
  5090  
  5091  	res := &Device_Status_Address_FieldMask{}
  5092  	if o.GetAddress() != other.GetAddress() {
  5093  		res.Paths = append(res.Paths, &DeviceStatusAddress_FieldTerminalPath{selector: DeviceStatusAddress_FieldPathSelectorAddress})
  5094  	}
  5095  	if o.GetType() != other.GetType() {
  5096  		res.Paths = append(res.Paths, &DeviceStatusAddress_FieldTerminalPath{selector: DeviceStatusAddress_FieldPathSelectorType})
  5097  	}
  5098  	return res
  5099  }
  5100  
  5101  func (o *Device_Status_Address) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  5102  	return o.MakeDiffFieldMask(other.(*Device_Status_Address))
  5103  }
  5104  
  5105  func (o *Device_Status_Address) Clone() *Device_Status_Address {
  5106  	if o == nil {
  5107  		return nil
  5108  	}
  5109  	result := &Device_Status_Address{}
  5110  	result.Address = o.Address
  5111  	result.Type = o.Type
  5112  	return result
  5113  }
  5114  
  5115  func (o *Device_Status_Address) CloneRaw() gotenobject.GotenObjectExt {
  5116  	return o.Clone()
  5117  }
  5118  
  5119  func (o *Device_Status_Address) Merge(source *Device_Status_Address) {
  5120  	o.Address = source.GetAddress()
  5121  	o.Type = source.GetType()
  5122  }
  5123  
  5124  func (o *Device_Status_Address) MergeRaw(source gotenobject.GotenObjectExt) {
  5125  	o.Merge(source.(*Device_Status_Address))
  5126  }
  5127  
  5128  func (o *Device_Status_Condition) GotenObjectExt() {}
  5129  
  5130  func (o *Device_Status_Condition) MakeFullFieldMask() *Device_Status_Condition_FieldMask {
  5131  	return FullDevice_Status_Condition_FieldMask()
  5132  }
  5133  
  5134  func (o *Device_Status_Condition) MakeRawFullFieldMask() gotenobject.FieldMask {
  5135  	return FullDevice_Status_Condition_FieldMask()
  5136  }
  5137  
  5138  func (o *Device_Status_Condition) MakeDiffFieldMask(other *Device_Status_Condition) *Device_Status_Condition_FieldMask {
  5139  	if o == nil && other == nil {
  5140  		return &Device_Status_Condition_FieldMask{}
  5141  	}
  5142  	if o == nil || other == nil {
  5143  		return FullDevice_Status_Condition_FieldMask()
  5144  	}
  5145  
  5146  	res := &Device_Status_Condition_FieldMask{}
  5147  	if o.GetMessage() != other.GetMessage() {
  5148  		res.Paths = append(res.Paths, &DeviceStatusCondition_FieldTerminalPath{selector: DeviceStatusCondition_FieldPathSelectorMessage})
  5149  	}
  5150  	if o.GetReason() != other.GetReason() {
  5151  		res.Paths = append(res.Paths, &DeviceStatusCondition_FieldTerminalPath{selector: DeviceStatusCondition_FieldPathSelectorReason})
  5152  	}
  5153  	if o.GetStatus() != other.GetStatus() {
  5154  		res.Paths = append(res.Paths, &DeviceStatusCondition_FieldTerminalPath{selector: DeviceStatusCondition_FieldPathSelectorStatus})
  5155  	}
  5156  	if o.GetType() != other.GetType() {
  5157  		res.Paths = append(res.Paths, &DeviceStatusCondition_FieldTerminalPath{selector: DeviceStatusCondition_FieldPathSelectorType})
  5158  	}
  5159  	if !proto.Equal(o.GetLastHeartBeatTime(), other.GetLastHeartBeatTime()) {
  5160  		res.Paths = append(res.Paths, &DeviceStatusCondition_FieldTerminalPath{selector: DeviceStatusCondition_FieldPathSelectorLastHeartBeatTime})
  5161  	}
  5162  	if !proto.Equal(o.GetLastTransitionTime(), other.GetLastTransitionTime()) {
  5163  		res.Paths = append(res.Paths, &DeviceStatusCondition_FieldTerminalPath{selector: DeviceStatusCondition_FieldPathSelectorLastTransitionTime})
  5164  	}
  5165  	return res
  5166  }
  5167  
  5168  func (o *Device_Status_Condition) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  5169  	return o.MakeDiffFieldMask(other.(*Device_Status_Condition))
  5170  }
  5171  
  5172  func (o *Device_Status_Condition) Clone() *Device_Status_Condition {
  5173  	if o == nil {
  5174  		return nil
  5175  	}
  5176  	result := &Device_Status_Condition{}
  5177  	result.Message = o.Message
  5178  	result.Reason = o.Reason
  5179  	result.Status = o.Status
  5180  	result.Type = o.Type
  5181  	result.LastHeartBeatTime = proto.Clone(o.LastHeartBeatTime).(*timestamppb.Timestamp)
  5182  	result.LastTransitionTime = proto.Clone(o.LastTransitionTime).(*timestamppb.Timestamp)
  5183  	return result
  5184  }
  5185  
  5186  func (o *Device_Status_Condition) CloneRaw() gotenobject.GotenObjectExt {
  5187  	return o.Clone()
  5188  }
  5189  
  5190  func (o *Device_Status_Condition) Merge(source *Device_Status_Condition) {
  5191  	o.Message = source.GetMessage()
  5192  	o.Reason = source.GetReason()
  5193  	o.Status = source.GetStatus()
  5194  	o.Type = source.GetType()
  5195  	if source.GetLastHeartBeatTime() != nil {
  5196  		if o.LastHeartBeatTime == nil {
  5197  			o.LastHeartBeatTime = new(timestamppb.Timestamp)
  5198  		}
  5199  		proto.Merge(o.LastHeartBeatTime, source.GetLastHeartBeatTime())
  5200  	}
  5201  	if source.GetLastTransitionTime() != nil {
  5202  		if o.LastTransitionTime == nil {
  5203  			o.LastTransitionTime = new(timestamppb.Timestamp)
  5204  		}
  5205  		proto.Merge(o.LastTransitionTime, source.GetLastTransitionTime())
  5206  	}
  5207  }
  5208  
  5209  func (o *Device_Status_Condition) MergeRaw(source gotenobject.GotenObjectExt) {
  5210  	o.Merge(source.(*Device_Status_Condition))
  5211  }
  5212  
  5213  func (o *Device_Status_NetworkConfigState) GotenObjectExt() {}
  5214  
  5215  func (o *Device_Status_NetworkConfigState) MakeFullFieldMask() *Device_Status_NetworkConfigState_FieldMask {
  5216  	return FullDevice_Status_NetworkConfigState_FieldMask()
  5217  }
  5218  
  5219  func (o *Device_Status_NetworkConfigState) MakeRawFullFieldMask() gotenobject.FieldMask {
  5220  	return FullDevice_Status_NetworkConfigState_FieldMask()
  5221  }
  5222  
  5223  func (o *Device_Status_NetworkConfigState) MakeDiffFieldMask(other *Device_Status_NetworkConfigState) *Device_Status_NetworkConfigState_FieldMask {
  5224  	if o == nil && other == nil {
  5225  		return &Device_Status_NetworkConfigState_FieldMask{}
  5226  	}
  5227  	if o == nil || other == nil {
  5228  		return FullDevice_Status_NetworkConfigState_FieldMask()
  5229  	}
  5230  
  5231  	res := &Device_Status_NetworkConfigState_FieldMask{}
  5232  	if o.GetActiveNetworkConfigSource() != other.GetActiveNetworkConfigSource() {
  5233  		res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldTerminalPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorActiveNetworkConfigSource})
  5234  	}
  5235  	if o.GetDesiredNetworkConfigSource() != other.GetDesiredNetworkConfigSource() {
  5236  		res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldTerminalPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorDesiredNetworkConfigSource})
  5237  	}
  5238  	if o.GetDesiredNetworkConfigError() != other.GetDesiredNetworkConfigError() {
  5239  		res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldTerminalPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorDesiredNetworkConfigError})
  5240  	}
  5241  	{
  5242  		subMask := o.GetDefaultConfig().MakeDiffFieldMask(other.GetDefaultConfig())
  5243  		if subMask.IsFull() {
  5244  			res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldTerminalPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorDefaultConfig})
  5245  		} else {
  5246  			for _, subpath := range subMask.Paths {
  5247  				res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldSubPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorDefaultConfig, subPath: subpath})
  5248  			}
  5249  		}
  5250  	}
  5251  	{
  5252  		subMask := o.GetActiveConfig().MakeDiffFieldMask(other.GetActiveConfig())
  5253  		if subMask.IsFull() {
  5254  			res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldTerminalPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorActiveConfig})
  5255  		} else {
  5256  			for _, subpath := range subMask.Paths {
  5257  				res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldSubPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorActiveConfig, subPath: subpath})
  5258  			}
  5259  		}
  5260  	}
  5261  	{
  5262  		subMask := o.GetDesiredConfig().MakeDiffFieldMask(other.GetDesiredConfig())
  5263  		if subMask.IsFull() {
  5264  			res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldTerminalPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorDesiredConfig})
  5265  		} else {
  5266  			for _, subpath := range subMask.Paths {
  5267  				res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldSubPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorDesiredConfig, subPath: subpath})
  5268  			}
  5269  		}
  5270  	}
  5271  	return res
  5272  }
  5273  
  5274  func (o *Device_Status_NetworkConfigState) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  5275  	return o.MakeDiffFieldMask(other.(*Device_Status_NetworkConfigState))
  5276  }
  5277  
  5278  func (o *Device_Status_NetworkConfigState) Clone() *Device_Status_NetworkConfigState {
  5279  	if o == nil {
  5280  		return nil
  5281  	}
  5282  	result := &Device_Status_NetworkConfigState{}
  5283  	result.ActiveNetworkConfigSource = o.ActiveNetworkConfigSource
  5284  	result.DesiredNetworkConfigSource = o.DesiredNetworkConfigSource
  5285  	result.DesiredNetworkConfigError = o.DesiredNetworkConfigError
  5286  	result.DefaultConfig = o.DefaultConfig.Clone()
  5287  	result.ActiveConfig = o.ActiveConfig.Clone()
  5288  	result.DesiredConfig = o.DesiredConfig.Clone()
  5289  	return result
  5290  }
  5291  
  5292  func (o *Device_Status_NetworkConfigState) CloneRaw() gotenobject.GotenObjectExt {
  5293  	return o.Clone()
  5294  }
  5295  
  5296  func (o *Device_Status_NetworkConfigState) Merge(source *Device_Status_NetworkConfigState) {
  5297  	o.ActiveNetworkConfigSource = source.GetActiveNetworkConfigSource()
  5298  	o.DesiredNetworkConfigSource = source.GetDesiredNetworkConfigSource()
  5299  	o.DesiredNetworkConfigError = source.GetDesiredNetworkConfigError()
  5300  	if source.GetDefaultConfig() != nil {
  5301  		if o.DefaultConfig == nil {
  5302  			o.DefaultConfig = new(Device_Spec_NetplanConfig)
  5303  		}
  5304  		o.DefaultConfig.Merge(source.GetDefaultConfig())
  5305  	}
  5306  	if source.GetActiveConfig() != nil {
  5307  		if o.ActiveConfig == nil {
  5308  			o.ActiveConfig = new(Device_Spec_NetplanConfig)
  5309  		}
  5310  		o.ActiveConfig.Merge(source.GetActiveConfig())
  5311  	}
  5312  	if source.GetDesiredConfig() != nil {
  5313  		if o.DesiredConfig == nil {
  5314  			o.DesiredConfig = new(Device_Spec_NetplanConfig)
  5315  		}
  5316  		o.DesiredConfig.Merge(source.GetDesiredConfig())
  5317  	}
  5318  }
  5319  
  5320  func (o *Device_Status_NetworkConfigState) MergeRaw(source gotenobject.GotenObjectExt) {
  5321  	o.Merge(source.(*Device_Status_NetworkConfigState))
  5322  }
  5323  
  5324  func (o *Device_Status_ProxyConfigStatus) GotenObjectExt() {}
  5325  
  5326  func (o *Device_Status_ProxyConfigStatus) MakeFullFieldMask() *Device_Status_ProxyConfigStatus_FieldMask {
  5327  	return FullDevice_Status_ProxyConfigStatus_FieldMask()
  5328  }
  5329  
  5330  func (o *Device_Status_ProxyConfigStatus) MakeRawFullFieldMask() gotenobject.FieldMask {
  5331  	return FullDevice_Status_ProxyConfigStatus_FieldMask()
  5332  }
  5333  
  5334  func (o *Device_Status_ProxyConfigStatus) MakeDiffFieldMask(other *Device_Status_ProxyConfigStatus) *Device_Status_ProxyConfigStatus_FieldMask {
  5335  	if o == nil && other == nil {
  5336  		return &Device_Status_ProxyConfigStatus_FieldMask{}
  5337  	}
  5338  	if o == nil || other == nil {
  5339  		return FullDevice_Status_ProxyConfigStatus_FieldMask()
  5340  	}
  5341  
  5342  	res := &Device_Status_ProxyConfigStatus_FieldMask{}
  5343  	if o.GetActiveConfigSource() != other.GetActiveConfigSource() {
  5344  		res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldTerminalPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorActiveConfigSource})
  5345  	}
  5346  	if o.GetDesiredConfigSource() != other.GetDesiredConfigSource() {
  5347  		res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldTerminalPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorDesiredConfigSource})
  5348  	}
  5349  	if o.GetProxyConfigError() != other.GetProxyConfigError() {
  5350  		res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldTerminalPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorProxyConfigError})
  5351  	}
  5352  	{
  5353  		subMask := o.GetDefaultConfig().MakeDiffFieldMask(other.GetDefaultConfig())
  5354  		if subMask.IsFull() {
  5355  			res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldTerminalPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorDefaultConfig})
  5356  		} else {
  5357  			for _, subpath := range subMask.Paths {
  5358  				res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldSubPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorDefaultConfig, subPath: subpath})
  5359  			}
  5360  		}
  5361  	}
  5362  	{
  5363  		subMask := o.GetActiveConfig().MakeDiffFieldMask(other.GetActiveConfig())
  5364  		if subMask.IsFull() {
  5365  			res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldTerminalPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorActiveConfig})
  5366  		} else {
  5367  			for _, subpath := range subMask.Paths {
  5368  				res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldSubPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorActiveConfig, subPath: subpath})
  5369  			}
  5370  		}
  5371  	}
  5372  	{
  5373  		subMask := o.GetApiConfig().MakeDiffFieldMask(other.GetApiConfig())
  5374  		if subMask.IsFull() {
  5375  			res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldTerminalPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorApiConfig})
  5376  		} else {
  5377  			for _, subpath := range subMask.Paths {
  5378  				res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldSubPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorApiConfig, subPath: subpath})
  5379  			}
  5380  		}
  5381  	}
  5382  	return res
  5383  }
  5384  
  5385  func (o *Device_Status_ProxyConfigStatus) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  5386  	return o.MakeDiffFieldMask(other.(*Device_Status_ProxyConfigStatus))
  5387  }
  5388  
  5389  func (o *Device_Status_ProxyConfigStatus) Clone() *Device_Status_ProxyConfigStatus {
  5390  	if o == nil {
  5391  		return nil
  5392  	}
  5393  	result := &Device_Status_ProxyConfigStatus{}
  5394  	result.ActiveConfigSource = o.ActiveConfigSource
  5395  	result.DesiredConfigSource = o.DesiredConfigSource
  5396  	result.ProxyConfigError = o.ProxyConfigError
  5397  	result.DefaultConfig = o.DefaultConfig.Clone()
  5398  	result.ActiveConfig = o.ActiveConfig.Clone()
  5399  	result.ApiConfig = o.ApiConfig.Clone()
  5400  	return result
  5401  }
  5402  
  5403  func (o *Device_Status_ProxyConfigStatus) CloneRaw() gotenobject.GotenObjectExt {
  5404  	return o.Clone()
  5405  }
  5406  
  5407  func (o *Device_Status_ProxyConfigStatus) Merge(source *Device_Status_ProxyConfigStatus) {
  5408  	o.ActiveConfigSource = source.GetActiveConfigSource()
  5409  	o.DesiredConfigSource = source.GetDesiredConfigSource()
  5410  	o.ProxyConfigError = source.GetProxyConfigError()
  5411  	if source.GetDefaultConfig() != nil {
  5412  		if o.DefaultConfig == nil {
  5413  			o.DefaultConfig = new(Device_Spec_ProxyConfig)
  5414  		}
  5415  		o.DefaultConfig.Merge(source.GetDefaultConfig())
  5416  	}
  5417  	if source.GetActiveConfig() != nil {
  5418  		if o.ActiveConfig == nil {
  5419  			o.ActiveConfig = new(Device_Spec_ProxyConfig)
  5420  		}
  5421  		o.ActiveConfig.Merge(source.GetActiveConfig())
  5422  	}
  5423  	if source.GetApiConfig() != nil {
  5424  		if o.ApiConfig == nil {
  5425  			o.ApiConfig = new(Device_Spec_ProxyConfig)
  5426  		}
  5427  		o.ApiConfig.Merge(source.GetApiConfig())
  5428  	}
  5429  }
  5430  
  5431  func (o *Device_Status_ProxyConfigStatus) MergeRaw(source gotenobject.GotenObjectExt) {
  5432  	o.Merge(source.(*Device_Status_ProxyConfigStatus))
  5433  }
  5434  
  5435  func (o *Device_Status_DeviceInfo) GotenObjectExt() {}
  5436  
  5437  func (o *Device_Status_DeviceInfo) MakeFullFieldMask() *Device_Status_DeviceInfo_FieldMask {
  5438  	return FullDevice_Status_DeviceInfo_FieldMask()
  5439  }
  5440  
  5441  func (o *Device_Status_DeviceInfo) MakeRawFullFieldMask() gotenobject.FieldMask {
  5442  	return FullDevice_Status_DeviceInfo_FieldMask()
  5443  }
  5444  
  5445  func (o *Device_Status_DeviceInfo) MakeDiffFieldMask(other *Device_Status_DeviceInfo) *Device_Status_DeviceInfo_FieldMask {
  5446  	if o == nil && other == nil {
  5447  		return &Device_Status_DeviceInfo_FieldMask{}
  5448  	}
  5449  	if o == nil || other == nil {
  5450  		return FullDevice_Status_DeviceInfo_FieldMask()
  5451  	}
  5452  
  5453  	res := &Device_Status_DeviceInfo_FieldMask{}
  5454  	if o.GetArchitecture() != other.GetArchitecture() {
  5455  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorArchitecture})
  5456  	}
  5457  	if o.GetOperatingSystem() != other.GetOperatingSystem() {
  5458  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorOperatingSystem})
  5459  	}
  5460  	if o.GetKernelVersion() != other.GetKernelVersion() {
  5461  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorKernelVersion})
  5462  	}
  5463  	if o.GetOsImage() != other.GetOsImage() {
  5464  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorOsImage})
  5465  	}
  5466  	if o.GetContainerRuntimeVersion() != other.GetContainerRuntimeVersion() {
  5467  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorContainerRuntimeVersion})
  5468  	}
  5469  	if o.GetOsVersion() != other.GetOsVersion() {
  5470  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorOsVersion})
  5471  	}
  5472  	if o.GetDriver() != other.GetDriver() {
  5473  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorDriver})
  5474  	}
  5475  	{
  5476  		subMask := o.GetHardwareInformation().MakeDiffFieldMask(other.GetHardwareInformation())
  5477  		if subMask.IsFull() {
  5478  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorHardwareInformation})
  5479  		} else {
  5480  			for _, subpath := range subMask.Paths {
  5481  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldSubPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorHardwareInformation, subPath: subpath})
  5482  			}
  5483  		}
  5484  	}
  5485  
  5486  	if len(o.GetNetworkInterfaces()) == len(other.GetNetworkInterfaces()) {
  5487  		for i, lValue := range o.GetNetworkInterfaces() {
  5488  			rValue := other.GetNetworkInterfaces()[i]
  5489  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  5490  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorNetworkInterfaces})
  5491  				break
  5492  			}
  5493  		}
  5494  	} else {
  5495  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorNetworkInterfaces})
  5496  	}
  5497  	{
  5498  		subMask := o.GetControlPlaneInterfaceInfo().MakeDiffFieldMask(other.GetControlPlaneInterfaceInfo())
  5499  		if subMask.IsFull() {
  5500  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorControlPlaneInterfaceInfo})
  5501  		} else {
  5502  			for _, subpath := range subMask.Paths {
  5503  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldSubPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorControlPlaneInterfaceInfo, subPath: subpath})
  5504  			}
  5505  		}
  5506  	}
  5507  	return res
  5508  }
  5509  
  5510  func (o *Device_Status_DeviceInfo) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  5511  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo))
  5512  }
  5513  
  5514  func (o *Device_Status_DeviceInfo) Clone() *Device_Status_DeviceInfo {
  5515  	if o == nil {
  5516  		return nil
  5517  	}
  5518  	result := &Device_Status_DeviceInfo{}
  5519  	result.Architecture = o.Architecture
  5520  	result.OperatingSystem = o.OperatingSystem
  5521  	result.KernelVersion = o.KernelVersion
  5522  	result.OsImage = o.OsImage
  5523  	result.ContainerRuntimeVersion = o.ContainerRuntimeVersion
  5524  	result.OsVersion = o.OsVersion
  5525  	result.Driver = o.Driver
  5526  	result.HardwareInformation = o.HardwareInformation.Clone()
  5527  	result.NetworkInterfaces = map[string]*Device_Status_DeviceInfo_NetworkInterface{}
  5528  	for key, sourceValue := range o.NetworkInterfaces {
  5529  		result.NetworkInterfaces[key] = sourceValue.Clone()
  5530  	}
  5531  	result.ControlPlaneInterfaceInfo = o.ControlPlaneInterfaceInfo.Clone()
  5532  	return result
  5533  }
  5534  
  5535  func (o *Device_Status_DeviceInfo) CloneRaw() gotenobject.GotenObjectExt {
  5536  	return o.Clone()
  5537  }
  5538  
  5539  func (o *Device_Status_DeviceInfo) Merge(source *Device_Status_DeviceInfo) {
  5540  	o.Architecture = source.GetArchitecture()
  5541  	o.OperatingSystem = source.GetOperatingSystem()
  5542  	o.KernelVersion = source.GetKernelVersion()
  5543  	o.OsImage = source.GetOsImage()
  5544  	o.ContainerRuntimeVersion = source.GetContainerRuntimeVersion()
  5545  	o.OsVersion = source.GetOsVersion()
  5546  	o.Driver = source.GetDriver()
  5547  	if source.GetHardwareInformation() != nil {
  5548  		if o.HardwareInformation == nil {
  5549  			o.HardwareInformation = new(Device_Status_DeviceInfo_HardwareInformation)
  5550  		}
  5551  		o.HardwareInformation.Merge(source.GetHardwareInformation())
  5552  	}
  5553  	if source.GetNetworkInterfaces() != nil {
  5554  		if o.NetworkInterfaces == nil {
  5555  			o.NetworkInterfaces = make(map[string]*Device_Status_DeviceInfo_NetworkInterface, len(source.GetNetworkInterfaces()))
  5556  		}
  5557  		for key, sourceValue := range source.GetNetworkInterfaces() {
  5558  			if sourceValue != nil {
  5559  				if o.NetworkInterfaces[key] == nil {
  5560  					o.NetworkInterfaces[key] = new(Device_Status_DeviceInfo_NetworkInterface)
  5561  				}
  5562  				o.NetworkInterfaces[key].Merge(sourceValue)
  5563  			}
  5564  		}
  5565  	}
  5566  	if source.GetControlPlaneInterfaceInfo() != nil {
  5567  		if o.ControlPlaneInterfaceInfo == nil {
  5568  			o.ControlPlaneInterfaceInfo = new(Device_Status_DeviceInfo_ControlPlaneInterfaceInfo)
  5569  		}
  5570  		o.ControlPlaneInterfaceInfo.Merge(source.GetControlPlaneInterfaceInfo())
  5571  	}
  5572  }
  5573  
  5574  func (o *Device_Status_DeviceInfo) MergeRaw(source gotenobject.GotenObjectExt) {
  5575  	o.Merge(source.(*Device_Status_DeviceInfo))
  5576  }
  5577  
  5578  func (o *Device_Status_NormalizedAddress) GotenObjectExt() {}
  5579  
  5580  func (o *Device_Status_NormalizedAddress) MakeFullFieldMask() *Device_Status_NormalizedAddress_FieldMask {
  5581  	return FullDevice_Status_NormalizedAddress_FieldMask()
  5582  }
  5583  
  5584  func (o *Device_Status_NormalizedAddress) MakeRawFullFieldMask() gotenobject.FieldMask {
  5585  	return FullDevice_Status_NormalizedAddress_FieldMask()
  5586  }
  5587  
  5588  func (o *Device_Status_NormalizedAddress) MakeDiffFieldMask(other *Device_Status_NormalizedAddress) *Device_Status_NormalizedAddress_FieldMask {
  5589  	if o == nil && other == nil {
  5590  		return &Device_Status_NormalizedAddress_FieldMask{}
  5591  	}
  5592  	if o == nil || other == nil {
  5593  		return FullDevice_Status_NormalizedAddress_FieldMask()
  5594  	}
  5595  
  5596  	res := &Device_Status_NormalizedAddress_FieldMask{}
  5597  	if o.GetPostalCode() != other.GetPostalCode() {
  5598  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorPostalCode})
  5599  	}
  5600  	if o.GetCountryCode() != other.GetCountryCode() {
  5601  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorCountryCode})
  5602  	}
  5603  	if o.GetContinent() != other.GetContinent() {
  5604  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorContinent})
  5605  	}
  5606  	if o.GetContinentId() != other.GetContinentId() {
  5607  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorContinentId})
  5608  	}
  5609  	if o.GetCountry() != other.GetCountry() {
  5610  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorCountry})
  5611  	}
  5612  	if o.GetCountryId() != other.GetCountryId() {
  5613  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorCountryId})
  5614  	}
  5615  	if o.GetAdminArea1() != other.GetAdminArea1() {
  5616  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea1})
  5617  	}
  5618  	if o.GetAdminArea1Id() != other.GetAdminArea1Id() {
  5619  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea1Id})
  5620  	}
  5621  	if o.GetAdminArea2() != other.GetAdminArea2() {
  5622  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea2})
  5623  	}
  5624  	if o.GetAdminArea2Id() != other.GetAdminArea2Id() {
  5625  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea2Id})
  5626  	}
  5627  	if o.GetAdminArea3() != other.GetAdminArea3() {
  5628  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea3})
  5629  	}
  5630  	if o.GetAdminArea3Id() != other.GetAdminArea3Id() {
  5631  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea3Id})
  5632  	}
  5633  	if o.GetAdminArea4() != other.GetAdminArea4() {
  5634  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea4})
  5635  	}
  5636  	if o.GetAdminArea4Id() != other.GetAdminArea4Id() {
  5637  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea4Id})
  5638  	}
  5639  	if o.GetAddress() != other.GetAddress() {
  5640  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAddress})
  5641  	}
  5642  	if !proto.Equal(o.GetCoordinates(), other.GetCoordinates()) {
  5643  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorCoordinates})
  5644  	}
  5645  	if o.GetAccuracy() != other.GetAccuracy() {
  5646  		res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAccuracy})
  5647  	}
  5648  	return res
  5649  }
  5650  
  5651  func (o *Device_Status_NormalizedAddress) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  5652  	return o.MakeDiffFieldMask(other.(*Device_Status_NormalizedAddress))
  5653  }
  5654  
  5655  func (o *Device_Status_NormalizedAddress) Clone() *Device_Status_NormalizedAddress {
  5656  	if o == nil {
  5657  		return nil
  5658  	}
  5659  	result := &Device_Status_NormalizedAddress{}
  5660  	result.PostalCode = o.PostalCode
  5661  	result.CountryCode = o.CountryCode
  5662  	result.Continent = o.Continent
  5663  	result.ContinentId = o.ContinentId
  5664  	result.Country = o.Country
  5665  	result.CountryId = o.CountryId
  5666  	result.AdminArea1 = o.AdminArea1
  5667  	result.AdminArea1Id = o.AdminArea1Id
  5668  	result.AdminArea2 = o.AdminArea2
  5669  	result.AdminArea2Id = o.AdminArea2Id
  5670  	result.AdminArea3 = o.AdminArea3
  5671  	result.AdminArea3Id = o.AdminArea3Id
  5672  	result.AdminArea4 = o.AdminArea4
  5673  	result.AdminArea4Id = o.AdminArea4Id
  5674  	result.Address = o.Address
  5675  	result.Coordinates = proto.Clone(o.Coordinates).(*latlng.LatLng)
  5676  	result.Accuracy = o.Accuracy
  5677  	return result
  5678  }
  5679  
  5680  func (o *Device_Status_NormalizedAddress) CloneRaw() gotenobject.GotenObjectExt {
  5681  	return o.Clone()
  5682  }
  5683  
  5684  func (o *Device_Status_NormalizedAddress) Merge(source *Device_Status_NormalizedAddress) {
  5685  	o.PostalCode = source.GetPostalCode()
  5686  	o.CountryCode = source.GetCountryCode()
  5687  	o.Continent = source.GetContinent()
  5688  	o.ContinentId = source.GetContinentId()
  5689  	o.Country = source.GetCountry()
  5690  	o.CountryId = source.GetCountryId()
  5691  	o.AdminArea1 = source.GetAdminArea1()
  5692  	o.AdminArea1Id = source.GetAdminArea1Id()
  5693  	o.AdminArea2 = source.GetAdminArea2()
  5694  	o.AdminArea2Id = source.GetAdminArea2Id()
  5695  	o.AdminArea3 = source.GetAdminArea3()
  5696  	o.AdminArea3Id = source.GetAdminArea3Id()
  5697  	o.AdminArea4 = source.GetAdminArea4()
  5698  	o.AdminArea4Id = source.GetAdminArea4Id()
  5699  	o.Address = source.GetAddress()
  5700  	if source.GetCoordinates() != nil {
  5701  		if o.Coordinates == nil {
  5702  			o.Coordinates = new(latlng.LatLng)
  5703  		}
  5704  		proto.Merge(o.Coordinates, source.GetCoordinates())
  5705  	}
  5706  	o.Accuracy = source.GetAccuracy()
  5707  }
  5708  
  5709  func (o *Device_Status_NormalizedAddress) MergeRaw(source gotenobject.GotenObjectExt) {
  5710  	o.Merge(source.(*Device_Status_NormalizedAddress))
  5711  }
  5712  
  5713  func (o *Device_Status_DeviceInfo_HardwareInformation) GotenObjectExt() {}
  5714  
  5715  func (o *Device_Status_DeviceInfo_HardwareInformation) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_FieldMask {
  5716  	return FullDevice_Status_DeviceInfo_HardwareInformation_FieldMask()
  5717  }
  5718  
  5719  func (o *Device_Status_DeviceInfo_HardwareInformation) MakeRawFullFieldMask() gotenobject.FieldMask {
  5720  	return FullDevice_Status_DeviceInfo_HardwareInformation_FieldMask()
  5721  }
  5722  
  5723  func (o *Device_Status_DeviceInfo_HardwareInformation) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation) *Device_Status_DeviceInfo_HardwareInformation_FieldMask {
  5724  	if o == nil && other == nil {
  5725  		return &Device_Status_DeviceInfo_HardwareInformation_FieldMask{}
  5726  	}
  5727  	if o == nil || other == nil {
  5728  		return FullDevice_Status_DeviceInfo_HardwareInformation_FieldMask()
  5729  	}
  5730  
  5731  	res := &Device_Status_DeviceInfo_HardwareInformation_FieldMask{}
  5732  	{
  5733  		subMask := o.GetOs().MakeDiffFieldMask(other.GetOs())
  5734  		if subMask.IsFull() {
  5735  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorOs})
  5736  		} else {
  5737  			for _, subpath := range subMask.Paths {
  5738  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorOs, subPath: subpath})
  5739  			}
  5740  		}
  5741  	}
  5742  	{
  5743  		subMask := o.GetBios().MakeDiffFieldMask(other.GetBios())
  5744  		if subMask.IsFull() {
  5745  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBios})
  5746  		} else {
  5747  			for _, subpath := range subMask.Paths {
  5748  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBios, subPath: subpath})
  5749  			}
  5750  		}
  5751  	}
  5752  	{
  5753  		subMask := o.GetSystem().MakeDiffFieldMask(other.GetSystem())
  5754  		if subMask.IsFull() {
  5755  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorSystem})
  5756  		} else {
  5757  			for _, subpath := range subMask.Paths {
  5758  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorSystem, subPath: subpath})
  5759  			}
  5760  		}
  5761  	}
  5762  	{
  5763  		subMask := o.GetCpu().MakeDiffFieldMask(other.GetCpu())
  5764  		if subMask.IsFull() {
  5765  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorCpu})
  5766  		} else {
  5767  			for _, subpath := range subMask.Paths {
  5768  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorCpu, subPath: subpath})
  5769  			}
  5770  		}
  5771  	}
  5772  	{
  5773  		subMask := o.GetBlock().MakeDiffFieldMask(other.GetBlock())
  5774  		if subMask.IsFull() {
  5775  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBlock})
  5776  		} else {
  5777  			for _, subpath := range subMask.Paths {
  5778  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBlock, subPath: subpath})
  5779  			}
  5780  		}
  5781  	}
  5782  	{
  5783  		subMask := o.GetNetwork().MakeDiffFieldMask(other.GetNetwork())
  5784  		if subMask.IsFull() {
  5785  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNetwork})
  5786  		} else {
  5787  			for _, subpath := range subMask.Paths {
  5788  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNetwork, subPath: subpath})
  5789  			}
  5790  		}
  5791  	}
  5792  	{
  5793  		subMask := o.GetGpu().MakeDiffFieldMask(other.GetGpu())
  5794  		if subMask.IsFull() {
  5795  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorGpu})
  5796  		} else {
  5797  			for _, subpath := range subMask.Paths {
  5798  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorGpu, subPath: subpath})
  5799  			}
  5800  		}
  5801  	}
  5802  	{
  5803  		subMask := o.GetMemoryInfo().MakeDiffFieldMask(other.GetMemoryInfo())
  5804  		if subMask.IsFull() {
  5805  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorMemoryInfo})
  5806  		} else {
  5807  			for _, subpath := range subMask.Paths {
  5808  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorMemoryInfo, subPath: subpath})
  5809  			}
  5810  		}
  5811  	}
  5812  	{
  5813  		subMask := o.GetHailoInfo().MakeDiffFieldMask(other.GetHailoInfo())
  5814  		if subMask.IsFull() {
  5815  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorHailoInfo})
  5816  		} else {
  5817  			for _, subpath := range subMask.Paths {
  5818  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorHailoInfo, subPath: subpath})
  5819  			}
  5820  		}
  5821  	}
  5822  	{
  5823  		subMask := o.GetNvidiaInfo().MakeDiffFieldMask(other.GetNvidiaInfo())
  5824  		if subMask.IsFull() {
  5825  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNvidiaInfo})
  5826  		} else {
  5827  			for _, subpath := range subMask.Paths {
  5828  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNvidiaInfo, subPath: subpath})
  5829  			}
  5830  		}
  5831  	}
  5832  
  5833  	if len(o.GetModemStatus()) == len(other.GetModemStatus()) {
  5834  		for i, lValue := range o.GetModemStatus() {
  5835  			rValue := other.GetModemStatus()[i]
  5836  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  5837  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorModemStatus})
  5838  				break
  5839  			}
  5840  		}
  5841  	} else {
  5842  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorModemStatus})
  5843  	}
  5844  	return res
  5845  }
  5846  
  5847  func (o *Device_Status_DeviceInfo_HardwareInformation) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  5848  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation))
  5849  }
  5850  
  5851  func (o *Device_Status_DeviceInfo_HardwareInformation) Clone() *Device_Status_DeviceInfo_HardwareInformation {
  5852  	if o == nil {
  5853  		return nil
  5854  	}
  5855  	result := &Device_Status_DeviceInfo_HardwareInformation{}
  5856  	result.Os = o.Os.Clone()
  5857  	result.Bios = o.Bios.Clone()
  5858  	result.System = o.System.Clone()
  5859  	result.Cpu = o.Cpu.Clone()
  5860  	result.Block = o.Block.Clone()
  5861  	result.Network = o.Network.Clone()
  5862  	result.Gpu = o.Gpu.Clone()
  5863  	result.MemoryInfo = o.MemoryInfo.Clone()
  5864  	result.HailoInfo = o.HailoInfo.Clone()
  5865  	result.NvidiaInfo = o.NvidiaInfo.Clone()
  5866  	result.ModemStatus = make([]*Device_Status_DeviceInfo_HardwareInformation_ModemStatus, len(o.ModemStatus))
  5867  	for i, sourceValue := range o.ModemStatus {
  5868  		result.ModemStatus[i] = sourceValue.Clone()
  5869  	}
  5870  	return result
  5871  }
  5872  
  5873  func (o *Device_Status_DeviceInfo_HardwareInformation) CloneRaw() gotenobject.GotenObjectExt {
  5874  	return o.Clone()
  5875  }
  5876  
  5877  func (o *Device_Status_DeviceInfo_HardwareInformation) Merge(source *Device_Status_DeviceInfo_HardwareInformation) {
  5878  	if source.GetOs() != nil {
  5879  		if o.Os == nil {
  5880  			o.Os = new(Device_Status_DeviceInfo_HardwareInformation_OS)
  5881  		}
  5882  		o.Os.Merge(source.GetOs())
  5883  	}
  5884  	if source.GetBios() != nil {
  5885  		if o.Bios == nil {
  5886  			o.Bios = new(Device_Status_DeviceInfo_HardwareInformation_BIOS)
  5887  		}
  5888  		o.Bios.Merge(source.GetBios())
  5889  	}
  5890  	if source.GetSystem() != nil {
  5891  		if o.System == nil {
  5892  			o.System = new(Device_Status_DeviceInfo_HardwareInformation_System)
  5893  		}
  5894  		o.System.Merge(source.GetSystem())
  5895  	}
  5896  	if source.GetCpu() != nil {
  5897  		if o.Cpu == nil {
  5898  			o.Cpu = new(Device_Status_DeviceInfo_HardwareInformation_CPU)
  5899  		}
  5900  		o.Cpu.Merge(source.GetCpu())
  5901  	}
  5902  	if source.GetBlock() != nil {
  5903  		if o.Block == nil {
  5904  			o.Block = new(Device_Status_DeviceInfo_HardwareInformation_Block)
  5905  		}
  5906  		o.Block.Merge(source.GetBlock())
  5907  	}
  5908  	if source.GetNetwork() != nil {
  5909  		if o.Network == nil {
  5910  			o.Network = new(Device_Status_DeviceInfo_HardwareInformation_Network)
  5911  		}
  5912  		o.Network.Merge(source.GetNetwork())
  5913  	}
  5914  	if source.GetGpu() != nil {
  5915  		if o.Gpu == nil {
  5916  			o.Gpu = new(Device_Status_DeviceInfo_HardwareInformation_GPU)
  5917  		}
  5918  		o.Gpu.Merge(source.GetGpu())
  5919  	}
  5920  	if source.GetMemoryInfo() != nil {
  5921  		if o.MemoryInfo == nil {
  5922  			o.MemoryInfo = new(Device_Status_DeviceInfo_HardwareInformation_MemoryInfo)
  5923  		}
  5924  		o.MemoryInfo.Merge(source.GetMemoryInfo())
  5925  	}
  5926  	if source.GetHailoInfo() != nil {
  5927  		if o.HailoInfo == nil {
  5928  			o.HailoInfo = new(Device_Status_DeviceInfo_HardwareInformation_HailoInfo)
  5929  		}
  5930  		o.HailoInfo.Merge(source.GetHailoInfo())
  5931  	}
  5932  	if source.GetNvidiaInfo() != nil {
  5933  		if o.NvidiaInfo == nil {
  5934  			o.NvidiaInfo = new(Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo)
  5935  		}
  5936  		o.NvidiaInfo.Merge(source.GetNvidiaInfo())
  5937  	}
  5938  	for _, sourceValue := range source.GetModemStatus() {
  5939  		exists := false
  5940  		for _, currentValue := range o.ModemStatus {
  5941  			if proto.Equal(sourceValue, currentValue) {
  5942  				exists = true
  5943  				break
  5944  			}
  5945  		}
  5946  		if !exists {
  5947  			var newDstElement *Device_Status_DeviceInfo_HardwareInformation_ModemStatus
  5948  			if sourceValue != nil {
  5949  				newDstElement = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus)
  5950  				newDstElement.Merge(sourceValue)
  5951  			}
  5952  			o.ModemStatus = append(o.ModemStatus, newDstElement)
  5953  		}
  5954  	}
  5955  
  5956  }
  5957  
  5958  func (o *Device_Status_DeviceInfo_HardwareInformation) MergeRaw(source gotenobject.GotenObjectExt) {
  5959  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation))
  5960  }
  5961  
  5962  func (o *Device_Status_DeviceInfo_NetworkInterface) GotenObjectExt() {}
  5963  
  5964  func (o *Device_Status_DeviceInfo_NetworkInterface) MakeFullFieldMask() *Device_Status_DeviceInfo_NetworkInterface_FieldMask {
  5965  	return FullDevice_Status_DeviceInfo_NetworkInterface_FieldMask()
  5966  }
  5967  
  5968  func (o *Device_Status_DeviceInfo_NetworkInterface) MakeRawFullFieldMask() gotenobject.FieldMask {
  5969  	return FullDevice_Status_DeviceInfo_NetworkInterface_FieldMask()
  5970  }
  5971  
  5972  func (o *Device_Status_DeviceInfo_NetworkInterface) MakeDiffFieldMask(other *Device_Status_DeviceInfo_NetworkInterface) *Device_Status_DeviceInfo_NetworkInterface_FieldMask {
  5973  	if o == nil && other == nil {
  5974  		return &Device_Status_DeviceInfo_NetworkInterface_FieldMask{}
  5975  	}
  5976  	if o == nil || other == nil {
  5977  		return FullDevice_Status_DeviceInfo_NetworkInterface_FieldMask()
  5978  	}
  5979  
  5980  	res := &Device_Status_DeviceInfo_NetworkInterface_FieldMask{}
  5981  	if o.GetInterfaceName() != other.GetInterfaceName() {
  5982  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorInterfaceName})
  5983  	}
  5984  
  5985  	if len(o.GetIpAddressV4()) == len(other.GetIpAddressV4()) {
  5986  		for i, lValue := range o.GetIpAddressV4() {
  5987  			rValue := other.GetIpAddressV4()[i]
  5988  			if lValue != rValue {
  5989  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorIpAddressV4})
  5990  				break
  5991  			}
  5992  		}
  5993  	} else {
  5994  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorIpAddressV4})
  5995  	}
  5996  
  5997  	if len(o.GetExternalIpAddressV4()) == len(other.GetExternalIpAddressV4()) {
  5998  		for i, lValue := range o.GetExternalIpAddressV4() {
  5999  			rValue := other.GetExternalIpAddressV4()[i]
  6000  			if lValue != rValue {
  6001  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorExternalIpAddressV4})
  6002  				break
  6003  			}
  6004  		}
  6005  	} else {
  6006  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorExternalIpAddressV4})
  6007  	}
  6008  
  6009  	if len(o.GetIpAddressV6()) == len(other.GetIpAddressV6()) {
  6010  		for i, lValue := range o.GetIpAddressV6() {
  6011  			rValue := other.GetIpAddressV6()[i]
  6012  			if lValue != rValue {
  6013  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorIpAddressV6})
  6014  				break
  6015  			}
  6016  		}
  6017  	} else {
  6018  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorIpAddressV6})
  6019  	}
  6020  
  6021  	if len(o.GetExternalIpAddressV6()) == len(other.GetExternalIpAddressV6()) {
  6022  		for i, lValue := range o.GetExternalIpAddressV6() {
  6023  			rValue := other.GetExternalIpAddressV6()[i]
  6024  			if lValue != rValue {
  6025  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorExternalIpAddressV6})
  6026  				break
  6027  			}
  6028  		}
  6029  	} else {
  6030  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorExternalIpAddressV6})
  6031  	}
  6032  	{
  6033  		subMask := o.GetAsInfo().MakeDiffFieldMask(other.GetAsInfo())
  6034  		if subMask.IsFull() {
  6035  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorAsInfo})
  6036  		} else {
  6037  			for _, subpath := range subMask.Paths {
  6038  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldSubPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorAsInfo, subPath: subpath})
  6039  			}
  6040  		}
  6041  	}
  6042  	{
  6043  		subMask := o.GetCarrier().MakeDiffFieldMask(other.GetCarrier())
  6044  		if subMask.IsFull() {
  6045  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorCarrier})
  6046  		} else {
  6047  			for _, subpath := range subMask.Paths {
  6048  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldSubPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorCarrier, subPath: subpath})
  6049  			}
  6050  		}
  6051  	}
  6052  	return res
  6053  }
  6054  
  6055  func (o *Device_Status_DeviceInfo_NetworkInterface) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  6056  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_NetworkInterface))
  6057  }
  6058  
  6059  func (o *Device_Status_DeviceInfo_NetworkInterface) Clone() *Device_Status_DeviceInfo_NetworkInterface {
  6060  	if o == nil {
  6061  		return nil
  6062  	}
  6063  	result := &Device_Status_DeviceInfo_NetworkInterface{}
  6064  	result.InterfaceName = o.InterfaceName
  6065  	result.IpAddressV4 = make([]string, len(o.IpAddressV4))
  6066  	for i, sourceValue := range o.IpAddressV4 {
  6067  		result.IpAddressV4[i] = sourceValue
  6068  	}
  6069  	result.ExternalIpAddressV4 = make([]string, len(o.ExternalIpAddressV4))
  6070  	for i, sourceValue := range o.ExternalIpAddressV4 {
  6071  		result.ExternalIpAddressV4[i] = sourceValue
  6072  	}
  6073  	result.IpAddressV6 = make([]string, len(o.IpAddressV6))
  6074  	for i, sourceValue := range o.IpAddressV6 {
  6075  		result.IpAddressV6[i] = sourceValue
  6076  	}
  6077  	result.ExternalIpAddressV6 = make([]string, len(o.ExternalIpAddressV6))
  6078  	for i, sourceValue := range o.ExternalIpAddressV6 {
  6079  		result.ExternalIpAddressV6[i] = sourceValue
  6080  	}
  6081  	result.AsInfo = o.AsInfo.Clone()
  6082  	result.Carrier = o.Carrier.Clone()
  6083  	return result
  6084  }
  6085  
  6086  func (o *Device_Status_DeviceInfo_NetworkInterface) CloneRaw() gotenobject.GotenObjectExt {
  6087  	return o.Clone()
  6088  }
  6089  
  6090  func (o *Device_Status_DeviceInfo_NetworkInterface) Merge(source *Device_Status_DeviceInfo_NetworkInterface) {
  6091  	o.InterfaceName = source.GetInterfaceName()
  6092  	for _, sourceValue := range source.GetIpAddressV4() {
  6093  		exists := false
  6094  		for _, currentValue := range o.IpAddressV4 {
  6095  			if currentValue == sourceValue {
  6096  				exists = true
  6097  				break
  6098  			}
  6099  		}
  6100  		if !exists {
  6101  			var newDstElement string
  6102  			newDstElement = sourceValue
  6103  			o.IpAddressV4 = append(o.IpAddressV4, newDstElement)
  6104  		}
  6105  	}
  6106  
  6107  	for _, sourceValue := range source.GetExternalIpAddressV4() {
  6108  		exists := false
  6109  		for _, currentValue := range o.ExternalIpAddressV4 {
  6110  			if currentValue == sourceValue {
  6111  				exists = true
  6112  				break
  6113  			}
  6114  		}
  6115  		if !exists {
  6116  			var newDstElement string
  6117  			newDstElement = sourceValue
  6118  			o.ExternalIpAddressV4 = append(o.ExternalIpAddressV4, newDstElement)
  6119  		}
  6120  	}
  6121  
  6122  	for _, sourceValue := range source.GetIpAddressV6() {
  6123  		exists := false
  6124  		for _, currentValue := range o.IpAddressV6 {
  6125  			if currentValue == sourceValue {
  6126  				exists = true
  6127  				break
  6128  			}
  6129  		}
  6130  		if !exists {
  6131  			var newDstElement string
  6132  			newDstElement = sourceValue
  6133  			o.IpAddressV6 = append(o.IpAddressV6, newDstElement)
  6134  		}
  6135  	}
  6136  
  6137  	for _, sourceValue := range source.GetExternalIpAddressV6() {
  6138  		exists := false
  6139  		for _, currentValue := range o.ExternalIpAddressV6 {
  6140  			if currentValue == sourceValue {
  6141  				exists = true
  6142  				break
  6143  			}
  6144  		}
  6145  		if !exists {
  6146  			var newDstElement string
  6147  			newDstElement = sourceValue
  6148  			o.ExternalIpAddressV6 = append(o.ExternalIpAddressV6, newDstElement)
  6149  		}
  6150  	}
  6151  
  6152  	if source.GetAsInfo() != nil {
  6153  		if o.AsInfo == nil {
  6154  			o.AsInfo = new(Device_Status_DeviceInfo_NetworkInterface_ASInfo)
  6155  		}
  6156  		o.AsInfo.Merge(source.GetAsInfo())
  6157  	}
  6158  	if source.GetCarrier() != nil {
  6159  		if o.Carrier == nil {
  6160  			o.Carrier = new(Device_Status_DeviceInfo_NetworkInterface_Carrier)
  6161  		}
  6162  		o.Carrier.Merge(source.GetCarrier())
  6163  	}
  6164  }
  6165  
  6166  func (o *Device_Status_DeviceInfo_NetworkInterface) MergeRaw(source gotenobject.GotenObjectExt) {
  6167  	o.Merge(source.(*Device_Status_DeviceInfo_NetworkInterface))
  6168  }
  6169  
  6170  func (o *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo) GotenObjectExt() {}
  6171  
  6172  func (o *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo) MakeFullFieldMask() *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask {
  6173  	return FullDevice_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask()
  6174  }
  6175  
  6176  func (o *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo) MakeRawFullFieldMask() gotenobject.FieldMask {
  6177  	return FullDevice_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask()
  6178  }
  6179  
  6180  func (o *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo) MakeDiffFieldMask(other *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo) *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask {
  6181  	if o == nil && other == nil {
  6182  		return &Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask{}
  6183  	}
  6184  	if o == nil || other == nil {
  6185  		return FullDevice_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask()
  6186  	}
  6187  
  6188  	res := &Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask{}
  6189  	if o.GetActiveControlPlaneInterface() != other.GetActiveControlPlaneInterface() {
  6190  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPathSelectorActiveControlPlaneInterface})
  6191  	}
  6192  	if o.GetUsesProxy() != other.GetUsesProxy() {
  6193  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPathSelectorUsesProxy})
  6194  	}
  6195  	if o.GetIsFallback() != other.GetIsFallback() {
  6196  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPathSelectorIsFallback})
  6197  	}
  6198  	return res
  6199  }
  6200  
  6201  func (o *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  6202  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_ControlPlaneInterfaceInfo))
  6203  }
  6204  
  6205  func (o *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo) Clone() *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo {
  6206  	if o == nil {
  6207  		return nil
  6208  	}
  6209  	result := &Device_Status_DeviceInfo_ControlPlaneInterfaceInfo{}
  6210  	result.ActiveControlPlaneInterface = o.ActiveControlPlaneInterface
  6211  	result.UsesProxy = o.UsesProxy
  6212  	result.IsFallback = o.IsFallback
  6213  	return result
  6214  }
  6215  
  6216  func (o *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo) CloneRaw() gotenobject.GotenObjectExt {
  6217  	return o.Clone()
  6218  }
  6219  
  6220  func (o *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo) Merge(source *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo) {
  6221  	o.ActiveControlPlaneInterface = source.GetActiveControlPlaneInterface()
  6222  	o.UsesProxy = source.GetUsesProxy()
  6223  	o.IsFallback = source.GetIsFallback()
  6224  }
  6225  
  6226  func (o *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo) MergeRaw(source gotenobject.GotenObjectExt) {
  6227  	o.Merge(source.(*Device_Status_DeviceInfo_ControlPlaneInterfaceInfo))
  6228  }
  6229  
  6230  func (o *Device_Status_DeviceInfo_HardwareInformation_Capability) GotenObjectExt() {}
  6231  
  6232  func (o *Device_Status_DeviceInfo_HardwareInformation_Capability) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask {
  6233  	return FullDevice_Status_DeviceInfo_HardwareInformation_Capability_FieldMask()
  6234  }
  6235  
  6236  func (o *Device_Status_DeviceInfo_HardwareInformation_Capability) MakeRawFullFieldMask() gotenobject.FieldMask {
  6237  	return FullDevice_Status_DeviceInfo_HardwareInformation_Capability_FieldMask()
  6238  }
  6239  
  6240  func (o *Device_Status_DeviceInfo_HardwareInformation_Capability) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_Capability) *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask {
  6241  	if o == nil && other == nil {
  6242  		return &Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask{}
  6243  	}
  6244  	if o == nil || other == nil {
  6245  		return FullDevice_Status_DeviceInfo_HardwareInformation_Capability_FieldMask()
  6246  	}
  6247  
  6248  	res := &Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask{}
  6249  	if o.GetName() != other.GetName() {
  6250  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCapability_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCapability_FieldPathSelectorName})
  6251  	}
  6252  	if o.GetDescription() != other.GetDescription() {
  6253  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCapability_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCapability_FieldPathSelectorDescription})
  6254  	}
  6255  	return res
  6256  }
  6257  
  6258  func (o *Device_Status_DeviceInfo_HardwareInformation_Capability) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  6259  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_Capability))
  6260  }
  6261  
  6262  func (o *Device_Status_DeviceInfo_HardwareInformation_Capability) Clone() *Device_Status_DeviceInfo_HardwareInformation_Capability {
  6263  	if o == nil {
  6264  		return nil
  6265  	}
  6266  	result := &Device_Status_DeviceInfo_HardwareInformation_Capability{}
  6267  	result.Name = o.Name
  6268  	result.Description = o.Description
  6269  	return result
  6270  }
  6271  
  6272  func (o *Device_Status_DeviceInfo_HardwareInformation_Capability) CloneRaw() gotenobject.GotenObjectExt {
  6273  	return o.Clone()
  6274  }
  6275  
  6276  func (o *Device_Status_DeviceInfo_HardwareInformation_Capability) Merge(source *Device_Status_DeviceInfo_HardwareInformation_Capability) {
  6277  	o.Name = source.GetName()
  6278  	o.Description = source.GetDescription()
  6279  }
  6280  
  6281  func (o *Device_Status_DeviceInfo_HardwareInformation_Capability) MergeRaw(source gotenobject.GotenObjectExt) {
  6282  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_Capability))
  6283  }
  6284  
  6285  func (o *Device_Status_DeviceInfo_HardwareInformation_OS) GotenObjectExt() {}
  6286  
  6287  func (o *Device_Status_DeviceInfo_HardwareInformation_OS) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask {
  6288  	return FullDevice_Status_DeviceInfo_HardwareInformation_OS_FieldMask()
  6289  }
  6290  
  6291  func (o *Device_Status_DeviceInfo_HardwareInformation_OS) MakeRawFullFieldMask() gotenobject.FieldMask {
  6292  	return FullDevice_Status_DeviceInfo_HardwareInformation_OS_FieldMask()
  6293  }
  6294  
  6295  func (o *Device_Status_DeviceInfo_HardwareInformation_OS) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_OS) *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask {
  6296  	if o == nil && other == nil {
  6297  		return &Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask{}
  6298  	}
  6299  	if o == nil || other == nil {
  6300  		return FullDevice_Status_DeviceInfo_HardwareInformation_OS_FieldMask()
  6301  	}
  6302  
  6303  	res := &Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask{}
  6304  	if o.GetOperatingSystem() != other.GetOperatingSystem() {
  6305  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationOS_FieldPathSelectorOperatingSystem})
  6306  	}
  6307  	if o.GetKernelVersion() != other.GetKernelVersion() {
  6308  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationOS_FieldPathSelectorKernelVersion})
  6309  	}
  6310  	if o.GetOsImage() != other.GetOsImage() {
  6311  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationOS_FieldPathSelectorOsImage})
  6312  	}
  6313  	if o.GetContainerRuntimeVersion() != other.GetContainerRuntimeVersion() {
  6314  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationOS_FieldPathSelectorContainerRuntimeVersion})
  6315  	}
  6316  	return res
  6317  }
  6318  
  6319  func (o *Device_Status_DeviceInfo_HardwareInformation_OS) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  6320  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_OS))
  6321  }
  6322  
  6323  func (o *Device_Status_DeviceInfo_HardwareInformation_OS) Clone() *Device_Status_DeviceInfo_HardwareInformation_OS {
  6324  	if o == nil {
  6325  		return nil
  6326  	}
  6327  	result := &Device_Status_DeviceInfo_HardwareInformation_OS{}
  6328  	result.OperatingSystem = o.OperatingSystem
  6329  	result.KernelVersion = o.KernelVersion
  6330  	result.OsImage = o.OsImage
  6331  	result.ContainerRuntimeVersion = o.ContainerRuntimeVersion
  6332  	return result
  6333  }
  6334  
  6335  func (o *Device_Status_DeviceInfo_HardwareInformation_OS) CloneRaw() gotenobject.GotenObjectExt {
  6336  	return o.Clone()
  6337  }
  6338  
  6339  func (o *Device_Status_DeviceInfo_HardwareInformation_OS) Merge(source *Device_Status_DeviceInfo_HardwareInformation_OS) {
  6340  	o.OperatingSystem = source.GetOperatingSystem()
  6341  	o.KernelVersion = source.GetKernelVersion()
  6342  	o.OsImage = source.GetOsImage()
  6343  	o.ContainerRuntimeVersion = source.GetContainerRuntimeVersion()
  6344  }
  6345  
  6346  func (o *Device_Status_DeviceInfo_HardwareInformation_OS) MergeRaw(source gotenobject.GotenObjectExt) {
  6347  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_OS))
  6348  }
  6349  
  6350  func (o *Device_Status_DeviceInfo_HardwareInformation_BIOS) GotenObjectExt() {}
  6351  
  6352  func (o *Device_Status_DeviceInfo_HardwareInformation_BIOS) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask {
  6353  	return FullDevice_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask()
  6354  }
  6355  
  6356  func (o *Device_Status_DeviceInfo_HardwareInformation_BIOS) MakeRawFullFieldMask() gotenobject.FieldMask {
  6357  	return FullDevice_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask()
  6358  }
  6359  
  6360  func (o *Device_Status_DeviceInfo_HardwareInformation_BIOS) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_BIOS) *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask {
  6361  	if o == nil && other == nil {
  6362  		return &Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask{}
  6363  	}
  6364  	if o == nil || other == nil {
  6365  		return FullDevice_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask()
  6366  	}
  6367  
  6368  	res := &Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask{}
  6369  	if o.GetVendor() != other.GetVendor() {
  6370  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBIOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPathSelectorVendor})
  6371  	}
  6372  	if o.GetBiosVersion() != other.GetBiosVersion() {
  6373  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBIOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPathSelectorBiosVersion})
  6374  	}
  6375  	if o.GetReleaseDate() != other.GetReleaseDate() {
  6376  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBIOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPathSelectorReleaseDate})
  6377  	}
  6378  	return res
  6379  }
  6380  
  6381  func (o *Device_Status_DeviceInfo_HardwareInformation_BIOS) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  6382  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_BIOS))
  6383  }
  6384  
  6385  func (o *Device_Status_DeviceInfo_HardwareInformation_BIOS) Clone() *Device_Status_DeviceInfo_HardwareInformation_BIOS {
  6386  	if o == nil {
  6387  		return nil
  6388  	}
  6389  	result := &Device_Status_DeviceInfo_HardwareInformation_BIOS{}
  6390  	result.Vendor = o.Vendor
  6391  	result.BiosVersion = o.BiosVersion
  6392  	result.ReleaseDate = o.ReleaseDate
  6393  	return result
  6394  }
  6395  
  6396  func (o *Device_Status_DeviceInfo_HardwareInformation_BIOS) CloneRaw() gotenobject.GotenObjectExt {
  6397  	return o.Clone()
  6398  }
  6399  
  6400  func (o *Device_Status_DeviceInfo_HardwareInformation_BIOS) Merge(source *Device_Status_DeviceInfo_HardwareInformation_BIOS) {
  6401  	o.Vendor = source.GetVendor()
  6402  	o.BiosVersion = source.GetBiosVersion()
  6403  	o.ReleaseDate = source.GetReleaseDate()
  6404  }
  6405  
  6406  func (o *Device_Status_DeviceInfo_HardwareInformation_BIOS) MergeRaw(source gotenobject.GotenObjectExt) {
  6407  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_BIOS))
  6408  }
  6409  
  6410  func (o *Device_Status_DeviceInfo_HardwareInformation_System) GotenObjectExt() {}
  6411  
  6412  func (o *Device_Status_DeviceInfo_HardwareInformation_System) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask {
  6413  	return FullDevice_Status_DeviceInfo_HardwareInformation_System_FieldMask()
  6414  }
  6415  
  6416  func (o *Device_Status_DeviceInfo_HardwareInformation_System) MakeRawFullFieldMask() gotenobject.FieldMask {
  6417  	return FullDevice_Status_DeviceInfo_HardwareInformation_System_FieldMask()
  6418  }
  6419  
  6420  func (o *Device_Status_DeviceInfo_HardwareInformation_System) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_System) *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask {
  6421  	if o == nil && other == nil {
  6422  		return &Device_Status_DeviceInfo_HardwareInformation_System_FieldMask{}
  6423  	}
  6424  	if o == nil || other == nil {
  6425  		return FullDevice_Status_DeviceInfo_HardwareInformation_System_FieldMask()
  6426  	}
  6427  
  6428  	res := &Device_Status_DeviceInfo_HardwareInformation_System_FieldMask{}
  6429  	if o.GetManufacturer() != other.GetManufacturer() {
  6430  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorManufacturer})
  6431  	}
  6432  	if o.GetProductName() != other.GetProductName() {
  6433  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorProductName})
  6434  	}
  6435  	if o.GetVersion() != other.GetVersion() {
  6436  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorVersion})
  6437  	}
  6438  	if o.GetSerialNumber() != other.GetSerialNumber() {
  6439  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorSerialNumber})
  6440  	}
  6441  	{
  6442  		subMask := o.GetConfiguration().MakeDiffFieldMask(other.GetConfiguration())
  6443  		if subMask.IsFull() {
  6444  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorConfiguration})
  6445  		} else {
  6446  			for _, subpath := range subMask.Paths {
  6447  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystem_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorConfiguration, subPath: subpath})
  6448  			}
  6449  		}
  6450  	}
  6451  	return res
  6452  }
  6453  
  6454  func (o *Device_Status_DeviceInfo_HardwareInformation_System) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  6455  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_System))
  6456  }
  6457  
  6458  func (o *Device_Status_DeviceInfo_HardwareInformation_System) Clone() *Device_Status_DeviceInfo_HardwareInformation_System {
  6459  	if o == nil {
  6460  		return nil
  6461  	}
  6462  	result := &Device_Status_DeviceInfo_HardwareInformation_System{}
  6463  	result.Manufacturer = o.Manufacturer
  6464  	result.ProductName = o.ProductName
  6465  	result.Version = o.Version
  6466  	result.SerialNumber = o.SerialNumber
  6467  	result.Configuration = o.Configuration.Clone()
  6468  	return result
  6469  }
  6470  
  6471  func (o *Device_Status_DeviceInfo_HardwareInformation_System) CloneRaw() gotenobject.GotenObjectExt {
  6472  	return o.Clone()
  6473  }
  6474  
  6475  func (o *Device_Status_DeviceInfo_HardwareInformation_System) Merge(source *Device_Status_DeviceInfo_HardwareInformation_System) {
  6476  	o.Manufacturer = source.GetManufacturer()
  6477  	o.ProductName = source.GetProductName()
  6478  	o.Version = source.GetVersion()
  6479  	o.SerialNumber = source.GetSerialNumber()
  6480  	if source.GetConfiguration() != nil {
  6481  		if o.Configuration == nil {
  6482  			o.Configuration = new(Device_Status_DeviceInfo_HardwareInformation_System_Configuration)
  6483  		}
  6484  		o.Configuration.Merge(source.GetConfiguration())
  6485  	}
  6486  }
  6487  
  6488  func (o *Device_Status_DeviceInfo_HardwareInformation_System) MergeRaw(source gotenobject.GotenObjectExt) {
  6489  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_System))
  6490  }
  6491  
  6492  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU) GotenObjectExt() {}
  6493  
  6494  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask {
  6495  	return FullDevice_Status_DeviceInfo_HardwareInformation_CPU_FieldMask()
  6496  }
  6497  
  6498  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU) MakeRawFullFieldMask() gotenobject.FieldMask {
  6499  	return FullDevice_Status_DeviceInfo_HardwareInformation_CPU_FieldMask()
  6500  }
  6501  
  6502  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_CPU) *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask {
  6503  	if o == nil && other == nil {
  6504  		return &Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask{}
  6505  	}
  6506  	if o == nil || other == nil {
  6507  		return FullDevice_Status_DeviceInfo_HardwareInformation_CPU_FieldMask()
  6508  	}
  6509  
  6510  	res := &Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask{}
  6511  
  6512  	if len(o.GetProcessors()) == len(other.GetProcessors()) {
  6513  		for i, lValue := range o.GetProcessors() {
  6514  			rValue := other.GetProcessors()[i]
  6515  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  6516  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPU_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPU_FieldPathSelectorProcessors})
  6517  				break
  6518  			}
  6519  		}
  6520  	} else {
  6521  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPU_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPU_FieldPathSelectorProcessors})
  6522  	}
  6523  	return res
  6524  }
  6525  
  6526  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  6527  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_CPU))
  6528  }
  6529  
  6530  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU) Clone() *Device_Status_DeviceInfo_HardwareInformation_CPU {
  6531  	if o == nil {
  6532  		return nil
  6533  	}
  6534  	result := &Device_Status_DeviceInfo_HardwareInformation_CPU{}
  6535  	result.Processors = make([]*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor, len(o.Processors))
  6536  	for i, sourceValue := range o.Processors {
  6537  		result.Processors[i] = sourceValue.Clone()
  6538  	}
  6539  	return result
  6540  }
  6541  
  6542  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU) CloneRaw() gotenobject.GotenObjectExt {
  6543  	return o.Clone()
  6544  }
  6545  
  6546  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU) Merge(source *Device_Status_DeviceInfo_HardwareInformation_CPU) {
  6547  	for _, sourceValue := range source.GetProcessors() {
  6548  		exists := false
  6549  		for _, currentValue := range o.Processors {
  6550  			if proto.Equal(sourceValue, currentValue) {
  6551  				exists = true
  6552  				break
  6553  			}
  6554  		}
  6555  		if !exists {
  6556  			var newDstElement *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor
  6557  			if sourceValue != nil {
  6558  				newDstElement = new(Device_Status_DeviceInfo_HardwareInformation_CPU_Processor)
  6559  				newDstElement.Merge(sourceValue)
  6560  			}
  6561  			o.Processors = append(o.Processors, newDstElement)
  6562  		}
  6563  	}
  6564  
  6565  }
  6566  
  6567  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU) MergeRaw(source gotenobject.GotenObjectExt) {
  6568  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_CPU))
  6569  }
  6570  
  6571  func (o *Device_Status_DeviceInfo_HardwareInformation_Block) GotenObjectExt() {}
  6572  
  6573  func (o *Device_Status_DeviceInfo_HardwareInformation_Block) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask {
  6574  	return FullDevice_Status_DeviceInfo_HardwareInformation_Block_FieldMask()
  6575  }
  6576  
  6577  func (o *Device_Status_DeviceInfo_HardwareInformation_Block) MakeRawFullFieldMask() gotenobject.FieldMask {
  6578  	return FullDevice_Status_DeviceInfo_HardwareInformation_Block_FieldMask()
  6579  }
  6580  
  6581  func (o *Device_Status_DeviceInfo_HardwareInformation_Block) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_Block) *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask {
  6582  	if o == nil && other == nil {
  6583  		return &Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask{}
  6584  	}
  6585  	if o == nil || other == nil {
  6586  		return FullDevice_Status_DeviceInfo_HardwareInformation_Block_FieldMask()
  6587  	}
  6588  
  6589  	res := &Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask{}
  6590  
  6591  	if len(o.GetDisks()) == len(other.GetDisks()) {
  6592  		for i, lValue := range o.GetDisks() {
  6593  			rValue := other.GetDisks()[i]
  6594  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  6595  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlock_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlock_FieldPathSelectorDisks})
  6596  				break
  6597  			}
  6598  		}
  6599  	} else {
  6600  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlock_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlock_FieldPathSelectorDisks})
  6601  	}
  6602  	return res
  6603  }
  6604  
  6605  func (o *Device_Status_DeviceInfo_HardwareInformation_Block) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  6606  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_Block))
  6607  }
  6608  
  6609  func (o *Device_Status_DeviceInfo_HardwareInformation_Block) Clone() *Device_Status_DeviceInfo_HardwareInformation_Block {
  6610  	if o == nil {
  6611  		return nil
  6612  	}
  6613  	result := &Device_Status_DeviceInfo_HardwareInformation_Block{}
  6614  	result.Disks = make([]*Device_Status_DeviceInfo_HardwareInformation_Block_Disk, len(o.Disks))
  6615  	for i, sourceValue := range o.Disks {
  6616  		result.Disks[i] = sourceValue.Clone()
  6617  	}
  6618  	return result
  6619  }
  6620  
  6621  func (o *Device_Status_DeviceInfo_HardwareInformation_Block) CloneRaw() gotenobject.GotenObjectExt {
  6622  	return o.Clone()
  6623  }
  6624  
  6625  func (o *Device_Status_DeviceInfo_HardwareInformation_Block) Merge(source *Device_Status_DeviceInfo_HardwareInformation_Block) {
  6626  	for _, sourceValue := range source.GetDisks() {
  6627  		exists := false
  6628  		for _, currentValue := range o.Disks {
  6629  			if proto.Equal(sourceValue, currentValue) {
  6630  				exists = true
  6631  				break
  6632  			}
  6633  		}
  6634  		if !exists {
  6635  			var newDstElement *Device_Status_DeviceInfo_HardwareInformation_Block_Disk
  6636  			if sourceValue != nil {
  6637  				newDstElement = new(Device_Status_DeviceInfo_HardwareInformation_Block_Disk)
  6638  				newDstElement.Merge(sourceValue)
  6639  			}
  6640  			o.Disks = append(o.Disks, newDstElement)
  6641  		}
  6642  	}
  6643  
  6644  }
  6645  
  6646  func (o *Device_Status_DeviceInfo_HardwareInformation_Block) MergeRaw(source gotenobject.GotenObjectExt) {
  6647  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_Block))
  6648  }
  6649  
  6650  func (o *Device_Status_DeviceInfo_HardwareInformation_Network) GotenObjectExt() {}
  6651  
  6652  func (o *Device_Status_DeviceInfo_HardwareInformation_Network) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask {
  6653  	return FullDevice_Status_DeviceInfo_HardwareInformation_Network_FieldMask()
  6654  }
  6655  
  6656  func (o *Device_Status_DeviceInfo_HardwareInformation_Network) MakeRawFullFieldMask() gotenobject.FieldMask {
  6657  	return FullDevice_Status_DeviceInfo_HardwareInformation_Network_FieldMask()
  6658  }
  6659  
  6660  func (o *Device_Status_DeviceInfo_HardwareInformation_Network) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_Network) *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask {
  6661  	if o == nil && other == nil {
  6662  		return &Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask{}
  6663  	}
  6664  	if o == nil || other == nil {
  6665  		return FullDevice_Status_DeviceInfo_HardwareInformation_Network_FieldMask()
  6666  	}
  6667  
  6668  	res := &Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask{}
  6669  
  6670  	if len(o.GetNics()) == len(other.GetNics()) {
  6671  		for i, lValue := range o.GetNics() {
  6672  			rValue := other.GetNics()[i]
  6673  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  6674  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetwork_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPathSelectorNics})
  6675  				break
  6676  			}
  6677  		}
  6678  	} else {
  6679  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetwork_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPathSelectorNics})
  6680  	}
  6681  	return res
  6682  }
  6683  
  6684  func (o *Device_Status_DeviceInfo_HardwareInformation_Network) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  6685  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_Network))
  6686  }
  6687  
  6688  func (o *Device_Status_DeviceInfo_HardwareInformation_Network) Clone() *Device_Status_DeviceInfo_HardwareInformation_Network {
  6689  	if o == nil {
  6690  		return nil
  6691  	}
  6692  	result := &Device_Status_DeviceInfo_HardwareInformation_Network{}
  6693  	result.Nics = make([]*Device_Status_DeviceInfo_HardwareInformation_Network_NIC, len(o.Nics))
  6694  	for i, sourceValue := range o.Nics {
  6695  		result.Nics[i] = sourceValue.Clone()
  6696  	}
  6697  	return result
  6698  }
  6699  
  6700  func (o *Device_Status_DeviceInfo_HardwareInformation_Network) CloneRaw() gotenobject.GotenObjectExt {
  6701  	return o.Clone()
  6702  }
  6703  
  6704  func (o *Device_Status_DeviceInfo_HardwareInformation_Network) Merge(source *Device_Status_DeviceInfo_HardwareInformation_Network) {
  6705  	for _, sourceValue := range source.GetNics() {
  6706  		exists := false
  6707  		for _, currentValue := range o.Nics {
  6708  			if proto.Equal(sourceValue, currentValue) {
  6709  				exists = true
  6710  				break
  6711  			}
  6712  		}
  6713  		if !exists {
  6714  			var newDstElement *Device_Status_DeviceInfo_HardwareInformation_Network_NIC
  6715  			if sourceValue != nil {
  6716  				newDstElement = new(Device_Status_DeviceInfo_HardwareInformation_Network_NIC)
  6717  				newDstElement.Merge(sourceValue)
  6718  			}
  6719  			o.Nics = append(o.Nics, newDstElement)
  6720  		}
  6721  	}
  6722  
  6723  }
  6724  
  6725  func (o *Device_Status_DeviceInfo_HardwareInformation_Network) MergeRaw(source gotenobject.GotenObjectExt) {
  6726  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_Network))
  6727  }
  6728  
  6729  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU) GotenObjectExt() {}
  6730  
  6731  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask {
  6732  	return FullDevice_Status_DeviceInfo_HardwareInformation_GPU_FieldMask()
  6733  }
  6734  
  6735  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU) MakeRawFullFieldMask() gotenobject.FieldMask {
  6736  	return FullDevice_Status_DeviceInfo_HardwareInformation_GPU_FieldMask()
  6737  }
  6738  
  6739  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_GPU) *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask {
  6740  	if o == nil && other == nil {
  6741  		return &Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask{}
  6742  	}
  6743  	if o == nil || other == nil {
  6744  		return FullDevice_Status_DeviceInfo_HardwareInformation_GPU_FieldMask()
  6745  	}
  6746  
  6747  	res := &Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask{}
  6748  
  6749  	if len(o.GetGraphicCards()) == len(other.GetGraphicCards()) {
  6750  		for i, lValue := range o.GetGraphicCards() {
  6751  			rValue := other.GetGraphicCards()[i]
  6752  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  6753  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationGPU_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationGPU_FieldPathSelectorGraphicCards})
  6754  				break
  6755  			}
  6756  		}
  6757  	} else {
  6758  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationGPU_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationGPU_FieldPathSelectorGraphicCards})
  6759  	}
  6760  	return res
  6761  }
  6762  
  6763  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  6764  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_GPU))
  6765  }
  6766  
  6767  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU) Clone() *Device_Status_DeviceInfo_HardwareInformation_GPU {
  6768  	if o == nil {
  6769  		return nil
  6770  	}
  6771  	result := &Device_Status_DeviceInfo_HardwareInformation_GPU{}
  6772  	result.GraphicCards = make([]*Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard, len(o.GraphicCards))
  6773  	for i, sourceValue := range o.GraphicCards {
  6774  		result.GraphicCards[i] = sourceValue.Clone()
  6775  	}
  6776  	return result
  6777  }
  6778  
  6779  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU) CloneRaw() gotenobject.GotenObjectExt {
  6780  	return o.Clone()
  6781  }
  6782  
  6783  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU) Merge(source *Device_Status_DeviceInfo_HardwareInformation_GPU) {
  6784  	for _, sourceValue := range source.GetGraphicCards() {
  6785  		exists := false
  6786  		for _, currentValue := range o.GraphicCards {
  6787  			if proto.Equal(sourceValue, currentValue) {
  6788  				exists = true
  6789  				break
  6790  			}
  6791  		}
  6792  		if !exists {
  6793  			var newDstElement *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard
  6794  			if sourceValue != nil {
  6795  				newDstElement = new(Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard)
  6796  				newDstElement.Merge(sourceValue)
  6797  			}
  6798  			o.GraphicCards = append(o.GraphicCards, newDstElement)
  6799  		}
  6800  	}
  6801  
  6802  }
  6803  
  6804  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU) MergeRaw(source gotenobject.GotenObjectExt) {
  6805  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_GPU))
  6806  }
  6807  
  6808  func (o *Device_Status_DeviceInfo_HardwareInformation_PCIDevice) GotenObjectExt() {}
  6809  
  6810  func (o *Device_Status_DeviceInfo_HardwareInformation_PCIDevice) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask {
  6811  	return FullDevice_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask()
  6812  }
  6813  
  6814  func (o *Device_Status_DeviceInfo_HardwareInformation_PCIDevice) MakeRawFullFieldMask() gotenobject.FieldMask {
  6815  	return FullDevice_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask()
  6816  }
  6817  
  6818  func (o *Device_Status_DeviceInfo_HardwareInformation_PCIDevice) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_PCIDevice) *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask {
  6819  	if o == nil && other == nil {
  6820  		return &Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask{}
  6821  	}
  6822  	if o == nil || other == nil {
  6823  		return FullDevice_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask()
  6824  	}
  6825  
  6826  	res := &Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask{}
  6827  	if o.GetAddress() != other.GetAddress() {
  6828  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorAddress})
  6829  	}
  6830  	if o.GetVendor() != other.GetVendor() {
  6831  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorVendor})
  6832  	}
  6833  	if o.GetProduct() != other.GetProduct() {
  6834  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorProduct})
  6835  	}
  6836  	if o.GetName() != other.GetName() {
  6837  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorName})
  6838  	}
  6839  	if o.GetSubvendor() != other.GetSubvendor() {
  6840  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorSubvendor})
  6841  	}
  6842  	return res
  6843  }
  6844  
  6845  func (o *Device_Status_DeviceInfo_HardwareInformation_PCIDevice) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  6846  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_PCIDevice))
  6847  }
  6848  
  6849  func (o *Device_Status_DeviceInfo_HardwareInformation_PCIDevice) Clone() *Device_Status_DeviceInfo_HardwareInformation_PCIDevice {
  6850  	if o == nil {
  6851  		return nil
  6852  	}
  6853  	result := &Device_Status_DeviceInfo_HardwareInformation_PCIDevice{}
  6854  	result.Address = o.Address
  6855  	result.Vendor = o.Vendor
  6856  	result.Product = o.Product
  6857  	result.Name = o.Name
  6858  	result.Subvendor = o.Subvendor
  6859  	return result
  6860  }
  6861  
  6862  func (o *Device_Status_DeviceInfo_HardwareInformation_PCIDevice) CloneRaw() gotenobject.GotenObjectExt {
  6863  	return o.Clone()
  6864  }
  6865  
  6866  func (o *Device_Status_DeviceInfo_HardwareInformation_PCIDevice) Merge(source *Device_Status_DeviceInfo_HardwareInformation_PCIDevice) {
  6867  	o.Address = source.GetAddress()
  6868  	o.Vendor = source.GetVendor()
  6869  	o.Product = source.GetProduct()
  6870  	o.Name = source.GetName()
  6871  	o.Subvendor = source.GetSubvendor()
  6872  }
  6873  
  6874  func (o *Device_Status_DeviceInfo_HardwareInformation_PCIDevice) MergeRaw(source gotenobject.GotenObjectExt) {
  6875  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_PCIDevice))
  6876  }
  6877  
  6878  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo) GotenObjectExt() {}
  6879  
  6880  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask {
  6881  	return FullDevice_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask()
  6882  }
  6883  
  6884  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo) MakeRawFullFieldMask() gotenobject.FieldMask {
  6885  	return FullDevice_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask()
  6886  }
  6887  
  6888  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo) *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask {
  6889  	if o == nil && other == nil {
  6890  		return &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask{}
  6891  	}
  6892  	if o == nil || other == nil {
  6893  		return FullDevice_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask()
  6894  	}
  6895  
  6896  	res := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask{}
  6897  
  6898  	if len(o.GetMemory()) == len(other.GetMemory()) {
  6899  		for i, lValue := range o.GetMemory() {
  6900  			rValue := other.GetMemory()[i]
  6901  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  6902  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelectorMemory})
  6903  				break
  6904  			}
  6905  		}
  6906  	} else {
  6907  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelectorMemory})
  6908  	}
  6909  	return res
  6910  }
  6911  
  6912  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  6913  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo))
  6914  }
  6915  
  6916  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo) Clone() *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo {
  6917  	if o == nil {
  6918  		return nil
  6919  	}
  6920  	result := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo{}
  6921  	result.Memory = make([]*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory, len(o.Memory))
  6922  	for i, sourceValue := range o.Memory {
  6923  		result.Memory[i] = sourceValue.Clone()
  6924  	}
  6925  	return result
  6926  }
  6927  
  6928  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo) CloneRaw() gotenobject.GotenObjectExt {
  6929  	return o.Clone()
  6930  }
  6931  
  6932  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo) Merge(source *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo) {
  6933  	for _, sourceValue := range source.GetMemory() {
  6934  		exists := false
  6935  		for _, currentValue := range o.Memory {
  6936  			if proto.Equal(sourceValue, currentValue) {
  6937  				exists = true
  6938  				break
  6939  			}
  6940  		}
  6941  		if !exists {
  6942  			var newDstElement *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory
  6943  			if sourceValue != nil {
  6944  				newDstElement = new(Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory)
  6945  				newDstElement.Merge(sourceValue)
  6946  			}
  6947  			o.Memory = append(o.Memory, newDstElement)
  6948  		}
  6949  	}
  6950  
  6951  }
  6952  
  6953  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo) MergeRaw(source gotenobject.GotenObjectExt) {
  6954  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo))
  6955  }
  6956  
  6957  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo) GotenObjectExt() {}
  6958  
  6959  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask {
  6960  	return FullDevice_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask()
  6961  }
  6962  
  6963  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo) MakeRawFullFieldMask() gotenobject.FieldMask {
  6964  	return FullDevice_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask()
  6965  }
  6966  
  6967  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_HailoInfo) *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask {
  6968  	if o == nil && other == nil {
  6969  		return &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask{}
  6970  	}
  6971  	if o == nil || other == nil {
  6972  		return FullDevice_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask()
  6973  	}
  6974  
  6975  	res := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask{}
  6976  	if o.GetStatus() != other.GetStatus() {
  6977  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorStatus})
  6978  	}
  6979  	if o.GetCliVersion() != other.GetCliVersion() {
  6980  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorCliVersion})
  6981  	}
  6982  
  6983  	if len(o.GetModules()) == len(other.GetModules()) {
  6984  		for i, lValue := range o.GetModules() {
  6985  			rValue := other.GetModules()[i]
  6986  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  6987  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorModules})
  6988  				break
  6989  			}
  6990  		}
  6991  	} else {
  6992  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorModules})
  6993  	}
  6994  	return res
  6995  }
  6996  
  6997  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  6998  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_HailoInfo))
  6999  }
  7000  
  7001  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo) Clone() *Device_Status_DeviceInfo_HardwareInformation_HailoInfo {
  7002  	if o == nil {
  7003  		return nil
  7004  	}
  7005  	result := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo{}
  7006  	result.Status = o.Status
  7007  	result.CliVersion = o.CliVersion
  7008  	result.Modules = make([]*Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo, len(o.Modules))
  7009  	for i, sourceValue := range o.Modules {
  7010  		result.Modules[i] = sourceValue.Clone()
  7011  	}
  7012  	return result
  7013  }
  7014  
  7015  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo) CloneRaw() gotenobject.GotenObjectExt {
  7016  	return o.Clone()
  7017  }
  7018  
  7019  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo) Merge(source *Device_Status_DeviceInfo_HardwareInformation_HailoInfo) {
  7020  	o.Status = source.GetStatus()
  7021  	o.CliVersion = source.GetCliVersion()
  7022  	for _, sourceValue := range source.GetModules() {
  7023  		exists := false
  7024  		for _, currentValue := range o.Modules {
  7025  			if proto.Equal(sourceValue, currentValue) {
  7026  				exists = true
  7027  				break
  7028  			}
  7029  		}
  7030  		if !exists {
  7031  			var newDstElement *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo
  7032  			if sourceValue != nil {
  7033  				newDstElement = new(Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo)
  7034  				newDstElement.Merge(sourceValue)
  7035  			}
  7036  			o.Modules = append(o.Modules, newDstElement)
  7037  		}
  7038  	}
  7039  
  7040  }
  7041  
  7042  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo) MergeRaw(source gotenobject.GotenObjectExt) {
  7043  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_HailoInfo))
  7044  }
  7045  
  7046  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo) GotenObjectExt() {}
  7047  
  7048  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask {
  7049  	return FullDevice_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask()
  7050  }
  7051  
  7052  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo) MakeRawFullFieldMask() gotenobject.FieldMask {
  7053  	return FullDevice_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask()
  7054  }
  7055  
  7056  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo) *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask {
  7057  	if o == nil && other == nil {
  7058  		return &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask{}
  7059  	}
  7060  	if o == nil || other == nil {
  7061  		return FullDevice_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask()
  7062  	}
  7063  
  7064  	res := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask{}
  7065  	if o.GetStatus() != other.GetStatus() {
  7066  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorStatus})
  7067  	}
  7068  	if o.GetDriverVersion() != other.GetDriverVersion() {
  7069  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorDriverVersion})
  7070  	}
  7071  	if o.GetCudaVersion() != other.GetCudaVersion() {
  7072  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorCudaVersion})
  7073  	}
  7074  
  7075  	if len(o.GetGpus()) == len(other.GetGpus()) {
  7076  		for i, lValue := range o.GetGpus() {
  7077  			rValue := other.GetGpus()[i]
  7078  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  7079  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorGpus})
  7080  				break
  7081  			}
  7082  		}
  7083  	} else {
  7084  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorGpus})
  7085  	}
  7086  	return res
  7087  }
  7088  
  7089  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  7090  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo))
  7091  }
  7092  
  7093  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo) Clone() *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo {
  7094  	if o == nil {
  7095  		return nil
  7096  	}
  7097  	result := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo{}
  7098  	result.Status = o.Status
  7099  	result.DriverVersion = o.DriverVersion
  7100  	result.CudaVersion = o.CudaVersion
  7101  	result.Gpus = make([]*Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo, len(o.Gpus))
  7102  	for i, sourceValue := range o.Gpus {
  7103  		result.Gpus[i] = sourceValue.Clone()
  7104  	}
  7105  	return result
  7106  }
  7107  
  7108  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo) CloneRaw() gotenobject.GotenObjectExt {
  7109  	return o.Clone()
  7110  }
  7111  
  7112  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo) Merge(source *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo) {
  7113  	o.Status = source.GetStatus()
  7114  	o.DriverVersion = source.GetDriverVersion()
  7115  	o.CudaVersion = source.GetCudaVersion()
  7116  	for _, sourceValue := range source.GetGpus() {
  7117  		exists := false
  7118  		for _, currentValue := range o.Gpus {
  7119  			if proto.Equal(sourceValue, currentValue) {
  7120  				exists = true
  7121  				break
  7122  			}
  7123  		}
  7124  		if !exists {
  7125  			var newDstElement *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo
  7126  			if sourceValue != nil {
  7127  				newDstElement = new(Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo)
  7128  				newDstElement.Merge(sourceValue)
  7129  			}
  7130  			o.Gpus = append(o.Gpus, newDstElement)
  7131  		}
  7132  	}
  7133  
  7134  }
  7135  
  7136  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo) MergeRaw(source gotenobject.GotenObjectExt) {
  7137  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo))
  7138  }
  7139  
  7140  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus) GotenObjectExt() {}
  7141  
  7142  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask {
  7143  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask()
  7144  }
  7145  
  7146  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus) MakeRawFullFieldMask() gotenobject.FieldMask {
  7147  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask()
  7148  }
  7149  
  7150  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask {
  7151  	if o == nil && other == nil {
  7152  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask{}
  7153  	}
  7154  	if o == nil || other == nil {
  7155  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask()
  7156  	}
  7157  
  7158  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask{}
  7159  	{
  7160  		subMask := o.GetModem().MakeDiffFieldMask(other.GetModem())
  7161  		if subMask.IsFull() {
  7162  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPathSelectorModem})
  7163  		} else {
  7164  			for _, subpath := range subMask.Paths {
  7165  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPathSelectorModem, subPath: subpath})
  7166  			}
  7167  		}
  7168  	}
  7169  	return res
  7170  }
  7171  
  7172  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  7173  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus))
  7174  }
  7175  
  7176  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus {
  7177  	if o == nil {
  7178  		return nil
  7179  	}
  7180  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus{}
  7181  	result.Modem = o.Modem.Clone()
  7182  	return result
  7183  }
  7184  
  7185  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus) CloneRaw() gotenobject.GotenObjectExt {
  7186  	return o.Clone()
  7187  }
  7188  
  7189  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus) {
  7190  	if source.GetModem() != nil {
  7191  		if o.Modem == nil {
  7192  			o.Modem = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem)
  7193  		}
  7194  		o.Modem.Merge(source.GetModem())
  7195  	}
  7196  }
  7197  
  7198  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus) MergeRaw(source gotenobject.GotenObjectExt) {
  7199  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus))
  7200  }
  7201  
  7202  func (o *Device_Status_DeviceInfo_HardwareInformation_System_Configuration) GotenObjectExt() {}
  7203  
  7204  func (o *Device_Status_DeviceInfo_HardwareInformation_System_Configuration) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask {
  7205  	return FullDevice_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask()
  7206  }
  7207  
  7208  func (o *Device_Status_DeviceInfo_HardwareInformation_System_Configuration) MakeRawFullFieldMask() gotenobject.FieldMask {
  7209  	return FullDevice_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask()
  7210  }
  7211  
  7212  func (o *Device_Status_DeviceInfo_HardwareInformation_System_Configuration) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_System_Configuration) *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask {
  7213  	if o == nil && other == nil {
  7214  		return &Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask{}
  7215  	}
  7216  	if o == nil || other == nil {
  7217  		return FullDevice_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask()
  7218  	}
  7219  
  7220  	res := &Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask{}
  7221  	if o.GetChassis() != other.GetChassis() {
  7222  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPathSelectorChassis})
  7223  	}
  7224  	if o.GetUuid() != other.GetUuid() {
  7225  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPathSelectorUuid})
  7226  	}
  7227  	if o.GetSkuNumber() != other.GetSkuNumber() {
  7228  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPathSelectorSkuNumber})
  7229  	}
  7230  	if o.GetFamily() != other.GetFamily() {
  7231  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPathSelectorFamily})
  7232  	}
  7233  	return res
  7234  }
  7235  
  7236  func (o *Device_Status_DeviceInfo_HardwareInformation_System_Configuration) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  7237  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_System_Configuration))
  7238  }
  7239  
  7240  func (o *Device_Status_DeviceInfo_HardwareInformation_System_Configuration) Clone() *Device_Status_DeviceInfo_HardwareInformation_System_Configuration {
  7241  	if o == nil {
  7242  		return nil
  7243  	}
  7244  	result := &Device_Status_DeviceInfo_HardwareInformation_System_Configuration{}
  7245  	result.Chassis = o.Chassis
  7246  	result.Uuid = o.Uuid
  7247  	result.SkuNumber = o.SkuNumber
  7248  	result.Family = o.Family
  7249  	return result
  7250  }
  7251  
  7252  func (o *Device_Status_DeviceInfo_HardwareInformation_System_Configuration) CloneRaw() gotenobject.GotenObjectExt {
  7253  	return o.Clone()
  7254  }
  7255  
  7256  func (o *Device_Status_DeviceInfo_HardwareInformation_System_Configuration) Merge(source *Device_Status_DeviceInfo_HardwareInformation_System_Configuration) {
  7257  	o.Chassis = source.GetChassis()
  7258  	o.Uuid = source.GetUuid()
  7259  	o.SkuNumber = source.GetSkuNumber()
  7260  	o.Family = source.GetFamily()
  7261  }
  7262  
  7263  func (o *Device_Status_DeviceInfo_HardwareInformation_System_Configuration) MergeRaw(source gotenobject.GotenObjectExt) {
  7264  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_System_Configuration))
  7265  }
  7266  
  7267  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor) GotenObjectExt() {}
  7268  
  7269  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask {
  7270  	return FullDevice_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask()
  7271  }
  7272  
  7273  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor) MakeRawFullFieldMask() gotenobject.FieldMask {
  7274  	return FullDevice_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask()
  7275  }
  7276  
  7277  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor) *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask {
  7278  	if o == nil && other == nil {
  7279  		return &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask{}
  7280  	}
  7281  	if o == nil || other == nil {
  7282  		return FullDevice_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask()
  7283  	}
  7284  
  7285  	res := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask{}
  7286  	if o.GetVendor() != other.GetVendor() {
  7287  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorVendor})
  7288  	}
  7289  	if o.GetModel() != other.GetModel() {
  7290  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorModel})
  7291  	}
  7292  
  7293  	if len(o.GetCapabilities()) == len(other.GetCapabilities()) {
  7294  		for i, lValue := range o.GetCapabilities() {
  7295  			rValue := other.GetCapabilities()[i]
  7296  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  7297  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCapabilities})
  7298  				break
  7299  			}
  7300  		}
  7301  	} else {
  7302  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCapabilities})
  7303  	}
  7304  	if o.GetNumThreads() != other.GetNumThreads() {
  7305  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorNumThreads})
  7306  	}
  7307  	if o.GetNumCores() != other.GetNumCores() {
  7308  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorNumCores})
  7309  	}
  7310  	if o.GetNumEnabledCores() != other.GetNumEnabledCores() {
  7311  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorNumEnabledCores})
  7312  	}
  7313  	if o.GetName() != other.GetName() {
  7314  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorName})
  7315  	}
  7316  	if o.GetSerial() != other.GetSerial() {
  7317  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorSerial})
  7318  	}
  7319  	if o.GetFrequencyMhz() != other.GetFrequencyMhz() {
  7320  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorFrequencyMhz})
  7321  	}
  7322  	if o.GetMaxFrequencyMhz() != other.GetMaxFrequencyMhz() {
  7323  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorMaxFrequencyMhz})
  7324  	}
  7325  
  7326  	if len(o.GetCacheInfo()) == len(other.GetCacheInfo()) {
  7327  		for i, lValue := range o.GetCacheInfo() {
  7328  			rValue := other.GetCacheInfo()[i]
  7329  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  7330  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCacheInfo})
  7331  				break
  7332  			}
  7333  		}
  7334  	} else {
  7335  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCacheInfo})
  7336  	}
  7337  	if o.GetDriver() != other.GetDriver() {
  7338  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorDriver})
  7339  	}
  7340  	if o.GetLatency() != other.GetLatency() {
  7341  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorLatency})
  7342  	}
  7343  	if o.GetClock() != other.GetClock() {
  7344  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorClock})
  7345  	}
  7346  	return res
  7347  }
  7348  
  7349  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  7350  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor))
  7351  }
  7352  
  7353  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor) Clone() *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor {
  7354  	if o == nil {
  7355  		return nil
  7356  	}
  7357  	result := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor{}
  7358  	result.Vendor = o.Vendor
  7359  	result.Model = o.Model
  7360  	result.Capabilities = make([]*Device_Status_DeviceInfo_HardwareInformation_Capability, len(o.Capabilities))
  7361  	for i, sourceValue := range o.Capabilities {
  7362  		result.Capabilities[i] = sourceValue.Clone()
  7363  	}
  7364  	result.NumThreads = o.NumThreads
  7365  	result.NumCores = o.NumCores
  7366  	result.NumEnabledCores = o.NumEnabledCores
  7367  	result.Name = o.Name
  7368  	result.Serial = o.Serial
  7369  	result.FrequencyMhz = o.FrequencyMhz
  7370  	result.MaxFrequencyMhz = o.MaxFrequencyMhz
  7371  	result.CacheInfo = make([]*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache, len(o.CacheInfo))
  7372  	for i, sourceValue := range o.CacheInfo {
  7373  		result.CacheInfo[i] = sourceValue.Clone()
  7374  	}
  7375  	result.Driver = o.Driver
  7376  	result.Latency = o.Latency
  7377  	result.Clock = o.Clock
  7378  	return result
  7379  }
  7380  
  7381  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor) CloneRaw() gotenobject.GotenObjectExt {
  7382  	return o.Clone()
  7383  }
  7384  
  7385  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor) Merge(source *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor) {
  7386  	o.Vendor = source.GetVendor()
  7387  	o.Model = source.GetModel()
  7388  	for _, sourceValue := range source.GetCapabilities() {
  7389  		exists := false
  7390  		for _, currentValue := range o.Capabilities {
  7391  			if proto.Equal(sourceValue, currentValue) {
  7392  				exists = true
  7393  				break
  7394  			}
  7395  		}
  7396  		if !exists {
  7397  			var newDstElement *Device_Status_DeviceInfo_HardwareInformation_Capability
  7398  			if sourceValue != nil {
  7399  				newDstElement = new(Device_Status_DeviceInfo_HardwareInformation_Capability)
  7400  				newDstElement.Merge(sourceValue)
  7401  			}
  7402  			o.Capabilities = append(o.Capabilities, newDstElement)
  7403  		}
  7404  	}
  7405  
  7406  	o.NumThreads = source.GetNumThreads()
  7407  	o.NumCores = source.GetNumCores()
  7408  	o.NumEnabledCores = source.GetNumEnabledCores()
  7409  	o.Name = source.GetName()
  7410  	o.Serial = source.GetSerial()
  7411  	o.FrequencyMhz = source.GetFrequencyMhz()
  7412  	o.MaxFrequencyMhz = source.GetMaxFrequencyMhz()
  7413  	for _, sourceValue := range source.GetCacheInfo() {
  7414  		exists := false
  7415  		for _, currentValue := range o.CacheInfo {
  7416  			if proto.Equal(sourceValue, currentValue) {
  7417  				exists = true
  7418  				break
  7419  			}
  7420  		}
  7421  		if !exists {
  7422  			var newDstElement *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache
  7423  			if sourceValue != nil {
  7424  				newDstElement = new(Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache)
  7425  				newDstElement.Merge(sourceValue)
  7426  			}
  7427  			o.CacheInfo = append(o.CacheInfo, newDstElement)
  7428  		}
  7429  	}
  7430  
  7431  	o.Driver = source.GetDriver()
  7432  	o.Latency = source.GetLatency()
  7433  	o.Clock = source.GetClock()
  7434  }
  7435  
  7436  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor) MergeRaw(source gotenobject.GotenObjectExt) {
  7437  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor))
  7438  }
  7439  
  7440  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache) GotenObjectExt() {}
  7441  
  7442  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask {
  7443  	return FullDevice_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask()
  7444  }
  7445  
  7446  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache) MakeRawFullFieldMask() gotenobject.FieldMask {
  7447  	return FullDevice_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask()
  7448  }
  7449  
  7450  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache) *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask {
  7451  	if o == nil && other == nil {
  7452  		return &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask{}
  7453  	}
  7454  	if o == nil || other == nil {
  7455  		return FullDevice_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask()
  7456  	}
  7457  
  7458  	res := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask{}
  7459  	if o.GetType() != other.GetType() {
  7460  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPathSelectorType})
  7461  	}
  7462  	if o.GetSizeBytes() != other.GetSizeBytes() {
  7463  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPathSelectorSizeBytes})
  7464  	}
  7465  	return res
  7466  }
  7467  
  7468  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  7469  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache))
  7470  }
  7471  
  7472  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache) Clone() *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache {
  7473  	if o == nil {
  7474  		return nil
  7475  	}
  7476  	result := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache{}
  7477  	result.Type = o.Type
  7478  	result.SizeBytes = o.SizeBytes
  7479  	return result
  7480  }
  7481  
  7482  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache) CloneRaw() gotenobject.GotenObjectExt {
  7483  	return o.Clone()
  7484  }
  7485  
  7486  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache) Merge(source *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache) {
  7487  	o.Type = source.GetType()
  7488  	o.SizeBytes = source.GetSizeBytes()
  7489  }
  7490  
  7491  func (o *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache) MergeRaw(source gotenobject.GotenObjectExt) {
  7492  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache))
  7493  }
  7494  
  7495  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk) GotenObjectExt() {}
  7496  
  7497  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask {
  7498  	return FullDevice_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask()
  7499  }
  7500  
  7501  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk) MakeRawFullFieldMask() gotenobject.FieldMask {
  7502  	return FullDevice_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask()
  7503  }
  7504  
  7505  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_Block_Disk) *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask {
  7506  	if o == nil && other == nil {
  7507  		return &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask{}
  7508  	}
  7509  	if o == nil || other == nil {
  7510  		return FullDevice_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask()
  7511  	}
  7512  
  7513  	res := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask{}
  7514  	if o.GetName() != other.GetName() {
  7515  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorName})
  7516  	}
  7517  	if o.GetSizeBytes() != other.GetSizeBytes() {
  7518  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorSizeBytes})
  7519  	}
  7520  	if o.GetDriveType() != other.GetDriveType() {
  7521  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorDriveType})
  7522  	}
  7523  	if o.GetVendor() != other.GetVendor() {
  7524  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorVendor})
  7525  	}
  7526  	if o.GetModel() != other.GetModel() {
  7527  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorModel})
  7528  	}
  7529  	if o.GetSerialNumber() != other.GetSerialNumber() {
  7530  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorSerialNumber})
  7531  	}
  7532  	if o.GetWwn() != other.GetWwn() {
  7533  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorWwn})
  7534  	}
  7535  
  7536  	if len(o.GetPartitions()) == len(other.GetPartitions()) {
  7537  		for i, lValue := range o.GetPartitions() {
  7538  			rValue := other.GetPartitions()[i]
  7539  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  7540  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorPartitions})
  7541  				break
  7542  			}
  7543  		}
  7544  	} else {
  7545  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorPartitions})
  7546  	}
  7547  	return res
  7548  }
  7549  
  7550  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  7551  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_Block_Disk))
  7552  }
  7553  
  7554  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk) Clone() *Device_Status_DeviceInfo_HardwareInformation_Block_Disk {
  7555  	if o == nil {
  7556  		return nil
  7557  	}
  7558  	result := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk{}
  7559  	result.Name = o.Name
  7560  	result.SizeBytes = o.SizeBytes
  7561  	result.DriveType = o.DriveType
  7562  	result.Vendor = o.Vendor
  7563  	result.Model = o.Model
  7564  	result.SerialNumber = o.SerialNumber
  7565  	result.Wwn = o.Wwn
  7566  	result.Partitions = make([]*Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition, len(o.Partitions))
  7567  	for i, sourceValue := range o.Partitions {
  7568  		result.Partitions[i] = sourceValue.Clone()
  7569  	}
  7570  	return result
  7571  }
  7572  
  7573  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk) CloneRaw() gotenobject.GotenObjectExt {
  7574  	return o.Clone()
  7575  }
  7576  
  7577  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk) Merge(source *Device_Status_DeviceInfo_HardwareInformation_Block_Disk) {
  7578  	o.Name = source.GetName()
  7579  	o.SizeBytes = source.GetSizeBytes()
  7580  	o.DriveType = source.GetDriveType()
  7581  	o.Vendor = source.GetVendor()
  7582  	o.Model = source.GetModel()
  7583  	o.SerialNumber = source.GetSerialNumber()
  7584  	o.Wwn = source.GetWwn()
  7585  	for _, sourceValue := range source.GetPartitions() {
  7586  		exists := false
  7587  		for _, currentValue := range o.Partitions {
  7588  			if proto.Equal(sourceValue, currentValue) {
  7589  				exists = true
  7590  				break
  7591  			}
  7592  		}
  7593  		if !exists {
  7594  			var newDstElement *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition
  7595  			if sourceValue != nil {
  7596  				newDstElement = new(Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition)
  7597  				newDstElement.Merge(sourceValue)
  7598  			}
  7599  			o.Partitions = append(o.Partitions, newDstElement)
  7600  		}
  7601  	}
  7602  
  7603  }
  7604  
  7605  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk) MergeRaw(source gotenobject.GotenObjectExt) {
  7606  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_Block_Disk))
  7607  }
  7608  
  7609  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition) GotenObjectExt() {}
  7610  
  7611  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask {
  7612  	return FullDevice_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask()
  7613  }
  7614  
  7615  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition) MakeRawFullFieldMask() gotenobject.FieldMask {
  7616  	return FullDevice_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask()
  7617  }
  7618  
  7619  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition) *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask {
  7620  	if o == nil && other == nil {
  7621  		return &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask{}
  7622  	}
  7623  	if o == nil || other == nil {
  7624  		return FullDevice_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask()
  7625  	}
  7626  
  7627  	res := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask{}
  7628  	if o.GetName() != other.GetName() {
  7629  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPathSelectorName})
  7630  	}
  7631  	if o.GetSizeBytes() != other.GetSizeBytes() {
  7632  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPathSelectorSizeBytes})
  7633  	}
  7634  	if o.GetMountPoint() != other.GetMountPoint() {
  7635  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPathSelectorMountPoint})
  7636  	}
  7637  	if o.GetType() != other.GetType() {
  7638  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPathSelectorType})
  7639  	}
  7640  	return res
  7641  }
  7642  
  7643  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  7644  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition))
  7645  }
  7646  
  7647  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition) Clone() *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition {
  7648  	if o == nil {
  7649  		return nil
  7650  	}
  7651  	result := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition{}
  7652  	result.Name = o.Name
  7653  	result.SizeBytes = o.SizeBytes
  7654  	result.MountPoint = o.MountPoint
  7655  	result.Type = o.Type
  7656  	return result
  7657  }
  7658  
  7659  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition) CloneRaw() gotenobject.GotenObjectExt {
  7660  	return o.Clone()
  7661  }
  7662  
  7663  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition) Merge(source *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition) {
  7664  	o.Name = source.GetName()
  7665  	o.SizeBytes = source.GetSizeBytes()
  7666  	o.MountPoint = source.GetMountPoint()
  7667  	o.Type = source.GetType()
  7668  }
  7669  
  7670  func (o *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition) MergeRaw(source gotenobject.GotenObjectExt) {
  7671  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition))
  7672  }
  7673  
  7674  func (o *Device_Status_DeviceInfo_HardwareInformation_Network_NIC) GotenObjectExt() {}
  7675  
  7676  func (o *Device_Status_DeviceInfo_HardwareInformation_Network_NIC) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask {
  7677  	return FullDevice_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask()
  7678  }
  7679  
  7680  func (o *Device_Status_DeviceInfo_HardwareInformation_Network_NIC) MakeRawFullFieldMask() gotenobject.FieldMask {
  7681  	return FullDevice_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask()
  7682  }
  7683  
  7684  func (o *Device_Status_DeviceInfo_HardwareInformation_Network_NIC) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_Network_NIC) *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask {
  7685  	if o == nil && other == nil {
  7686  		return &Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask{}
  7687  	}
  7688  	if o == nil || other == nil {
  7689  		return FullDevice_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask()
  7690  	}
  7691  
  7692  	res := &Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask{}
  7693  	if o.GetName() != other.GetName() {
  7694  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorName})
  7695  	}
  7696  	if o.GetMacAddress() != other.GetMacAddress() {
  7697  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorMacAddress})
  7698  	}
  7699  	if o.GetVirtual() != other.GetVirtual() {
  7700  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorVirtual})
  7701  	}
  7702  	if o.GetDescription() != other.GetDescription() {
  7703  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorDescription})
  7704  	}
  7705  	if o.GetProductName() != other.GetProductName() {
  7706  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorProductName})
  7707  	}
  7708  	if o.GetVendor() != other.GetVendor() {
  7709  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorVendor})
  7710  	}
  7711  	if o.GetSubvendor() != other.GetSubvendor() {
  7712  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorSubvendor})
  7713  	}
  7714  
  7715  	if len(o.GetSetting()) == len(other.GetSetting()) {
  7716  		for i, lValue := range o.GetSetting() {
  7717  			rValue := other.GetSetting()[i]
  7718  			if lValue != rValue {
  7719  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorSetting})
  7720  				break
  7721  			}
  7722  		}
  7723  	} else {
  7724  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorSetting})
  7725  	}
  7726  	return res
  7727  }
  7728  
  7729  func (o *Device_Status_DeviceInfo_HardwareInformation_Network_NIC) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  7730  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_Network_NIC))
  7731  }
  7732  
  7733  func (o *Device_Status_DeviceInfo_HardwareInformation_Network_NIC) Clone() *Device_Status_DeviceInfo_HardwareInformation_Network_NIC {
  7734  	if o == nil {
  7735  		return nil
  7736  	}
  7737  	result := &Device_Status_DeviceInfo_HardwareInformation_Network_NIC{}
  7738  	result.Name = o.Name
  7739  	result.MacAddress = o.MacAddress
  7740  	result.Virtual = o.Virtual
  7741  	result.Description = o.Description
  7742  	result.ProductName = o.ProductName
  7743  	result.Vendor = o.Vendor
  7744  	result.Subvendor = o.Subvendor
  7745  	result.Setting = map[string]string{}
  7746  	for key, sourceValue := range o.Setting {
  7747  		result.Setting[key] = sourceValue
  7748  	}
  7749  	return result
  7750  }
  7751  
  7752  func (o *Device_Status_DeviceInfo_HardwareInformation_Network_NIC) CloneRaw() gotenobject.GotenObjectExt {
  7753  	return o.Clone()
  7754  }
  7755  
  7756  func (o *Device_Status_DeviceInfo_HardwareInformation_Network_NIC) Merge(source *Device_Status_DeviceInfo_HardwareInformation_Network_NIC) {
  7757  	o.Name = source.GetName()
  7758  	o.MacAddress = source.GetMacAddress()
  7759  	o.Virtual = source.GetVirtual()
  7760  	o.Description = source.GetDescription()
  7761  	o.ProductName = source.GetProductName()
  7762  	o.Vendor = source.GetVendor()
  7763  	o.Subvendor = source.GetSubvendor()
  7764  	if source.GetSetting() != nil {
  7765  		if o.Setting == nil {
  7766  			o.Setting = make(map[string]string, len(source.GetSetting()))
  7767  		}
  7768  		for key, sourceValue := range source.GetSetting() {
  7769  			o.Setting[key] = sourceValue
  7770  		}
  7771  	}
  7772  }
  7773  
  7774  func (o *Device_Status_DeviceInfo_HardwareInformation_Network_NIC) MergeRaw(source gotenobject.GotenObjectExt) {
  7775  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_Network_NIC))
  7776  }
  7777  
  7778  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard) GotenObjectExt() {}
  7779  
  7780  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask {
  7781  	return FullDevice_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask()
  7782  }
  7783  
  7784  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard) MakeRawFullFieldMask() gotenobject.FieldMask {
  7785  	return FullDevice_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask()
  7786  }
  7787  
  7788  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard) *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask {
  7789  	if o == nil && other == nil {
  7790  		return &Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask{}
  7791  	}
  7792  	if o == nil || other == nil {
  7793  		return FullDevice_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask()
  7794  	}
  7795  
  7796  	res := &Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask{}
  7797  	if o.GetIndex() != other.GetIndex() {
  7798  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelectorIndex})
  7799  	}
  7800  	{
  7801  		subMask := o.GetDevice().MakeDiffFieldMask(other.GetDevice())
  7802  		if subMask.IsFull() {
  7803  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelectorDevice})
  7804  		} else {
  7805  			for _, subpath := range subMask.Paths {
  7806  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelectorDevice, subPath: subpath})
  7807  			}
  7808  		}
  7809  	}
  7810  	return res
  7811  }
  7812  
  7813  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  7814  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard))
  7815  }
  7816  
  7817  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard) Clone() *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard {
  7818  	if o == nil {
  7819  		return nil
  7820  	}
  7821  	result := &Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard{}
  7822  	result.Index = o.Index
  7823  	result.Device = o.Device.Clone()
  7824  	return result
  7825  }
  7826  
  7827  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard) CloneRaw() gotenobject.GotenObjectExt {
  7828  	return o.Clone()
  7829  }
  7830  
  7831  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard) Merge(source *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard) {
  7832  	o.Index = source.GetIndex()
  7833  	if source.GetDevice() != nil {
  7834  		if o.Device == nil {
  7835  			o.Device = new(Device_Status_DeviceInfo_HardwareInformation_PCIDevice)
  7836  		}
  7837  		o.Device.Merge(source.GetDevice())
  7838  	}
  7839  }
  7840  
  7841  func (o *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard) MergeRaw(source gotenobject.GotenObjectExt) {
  7842  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard))
  7843  }
  7844  
  7845  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory) GotenObjectExt() {}
  7846  
  7847  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_FieldMask {
  7848  	return FullDevice_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_FieldMask()
  7849  }
  7850  
  7851  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory) MakeRawFullFieldMask() gotenobject.FieldMask {
  7852  	return FullDevice_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_FieldMask()
  7853  }
  7854  
  7855  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory) *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_FieldMask {
  7856  	if o == nil && other == nil {
  7857  		return &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_FieldMask{}
  7858  	}
  7859  	if o == nil || other == nil {
  7860  		return FullDevice_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_FieldMask()
  7861  	}
  7862  
  7863  	res := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_FieldMask{}
  7864  	if o.GetDescription() != other.GetDescription() {
  7865  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemory_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemory_FieldPathSelectorDescription})
  7866  	}
  7867  	if o.GetSizeBytes() != other.GetSizeBytes() {
  7868  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemory_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemory_FieldPathSelectorSizeBytes})
  7869  	}
  7870  
  7871  	if len(o.GetMemoryBanks()) == len(other.GetMemoryBanks()) {
  7872  		for i, lValue := range o.GetMemoryBanks() {
  7873  			rValue := other.GetMemoryBanks()[i]
  7874  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
  7875  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemory_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemory_FieldPathSelectorMemoryBanks})
  7876  				break
  7877  			}
  7878  		}
  7879  	} else {
  7880  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemory_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemory_FieldPathSelectorMemoryBanks})
  7881  	}
  7882  	return res
  7883  }
  7884  
  7885  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  7886  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory))
  7887  }
  7888  
  7889  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory) Clone() *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory {
  7890  	if o == nil {
  7891  		return nil
  7892  	}
  7893  	result := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory{}
  7894  	result.Description = o.Description
  7895  	result.SizeBytes = o.SizeBytes
  7896  	result.MemoryBanks = make([]*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank, len(o.MemoryBanks))
  7897  	for i, sourceValue := range o.MemoryBanks {
  7898  		result.MemoryBanks[i] = sourceValue.Clone()
  7899  	}
  7900  	return result
  7901  }
  7902  
  7903  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory) CloneRaw() gotenobject.GotenObjectExt {
  7904  	return o.Clone()
  7905  }
  7906  
  7907  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory) Merge(source *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory) {
  7908  	o.Description = source.GetDescription()
  7909  	o.SizeBytes = source.GetSizeBytes()
  7910  	for _, sourceValue := range source.GetMemoryBanks() {
  7911  		exists := false
  7912  		for _, currentValue := range o.MemoryBanks {
  7913  			if proto.Equal(sourceValue, currentValue) {
  7914  				exists = true
  7915  				break
  7916  			}
  7917  		}
  7918  		if !exists {
  7919  			var newDstElement *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank
  7920  			if sourceValue != nil {
  7921  				newDstElement = new(Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank)
  7922  				newDstElement.Merge(sourceValue)
  7923  			}
  7924  			o.MemoryBanks = append(o.MemoryBanks, newDstElement)
  7925  		}
  7926  	}
  7927  
  7928  }
  7929  
  7930  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory) MergeRaw(source gotenobject.GotenObjectExt) {
  7931  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory))
  7932  }
  7933  
  7934  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank) GotenObjectExt() {
  7935  }
  7936  
  7937  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank_FieldMask {
  7938  	return FullDevice_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank_FieldMask()
  7939  }
  7940  
  7941  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank) MakeRawFullFieldMask() gotenobject.FieldMask {
  7942  	return FullDevice_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank_FieldMask()
  7943  }
  7944  
  7945  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank) *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank_FieldMask {
  7946  	if o == nil && other == nil {
  7947  		return &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank_FieldMask{}
  7948  	}
  7949  	if o == nil || other == nil {
  7950  		return FullDevice_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank_FieldMask()
  7951  	}
  7952  
  7953  	res := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank_FieldMask{}
  7954  	if o.GetDescription() != other.GetDescription() {
  7955  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldPathSelectorDescription})
  7956  	}
  7957  	if o.GetProduct() != other.GetProduct() {
  7958  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldPathSelectorProduct})
  7959  	}
  7960  	if o.GetVendor() != other.GetVendor() {
  7961  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldPathSelectorVendor})
  7962  	}
  7963  	if o.GetSerial() != other.GetSerial() {
  7964  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldPathSelectorSerial})
  7965  	}
  7966  	if o.GetSlot() != other.GetSlot() {
  7967  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldPathSelectorSlot})
  7968  	}
  7969  	if o.GetSizeBytes() != other.GetSizeBytes() {
  7970  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldPathSelectorSizeBytes})
  7971  	}
  7972  	if o.GetFrequencyHz() != other.GetFrequencyHz() {
  7973  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldPathSelectorFrequencyHz})
  7974  	}
  7975  	if o.GetWidthBits() != other.GetWidthBits() {
  7976  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryMemoryBank_FieldPathSelectorWidthBits})
  7977  	}
  7978  	return res
  7979  }
  7980  
  7981  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  7982  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank))
  7983  }
  7984  
  7985  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank) Clone() *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank {
  7986  	if o == nil {
  7987  		return nil
  7988  	}
  7989  	result := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank{}
  7990  	result.Description = o.Description
  7991  	result.Product = o.Product
  7992  	result.Vendor = o.Vendor
  7993  	result.Serial = o.Serial
  7994  	result.Slot = o.Slot
  7995  	result.SizeBytes = o.SizeBytes
  7996  	result.FrequencyHz = o.FrequencyHz
  7997  	result.WidthBits = o.WidthBits
  7998  	return result
  7999  }
  8000  
  8001  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank) CloneRaw() gotenobject.GotenObjectExt {
  8002  	return o.Clone()
  8003  }
  8004  
  8005  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank) Merge(source *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank) {
  8006  	o.Description = source.GetDescription()
  8007  	o.Product = source.GetProduct()
  8008  	o.Vendor = source.GetVendor()
  8009  	o.Serial = source.GetSerial()
  8010  	o.Slot = source.GetSlot()
  8011  	o.SizeBytes = source.GetSizeBytes()
  8012  	o.FrequencyHz = source.GetFrequencyHz()
  8013  	o.WidthBits = source.GetWidthBits()
  8014  }
  8015  
  8016  func (o *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank) MergeRaw(source gotenobject.GotenObjectExt) {
  8017  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_Memory_MemoryBank))
  8018  }
  8019  
  8020  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo) GotenObjectExt() {}
  8021  
  8022  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask {
  8023  	return FullDevice_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask()
  8024  }
  8025  
  8026  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo) MakeRawFullFieldMask() gotenobject.FieldMask {
  8027  	return FullDevice_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask()
  8028  }
  8029  
  8030  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo) *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask {
  8031  	if o == nil && other == nil {
  8032  		return &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask{}
  8033  	}
  8034  	if o == nil || other == nil {
  8035  		return FullDevice_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask()
  8036  	}
  8037  
  8038  	res := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask{}
  8039  	if o.GetDevId() != other.GetDevId() {
  8040  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorDevId})
  8041  	}
  8042  	if o.GetControlProtoVersion() != other.GetControlProtoVersion() {
  8043  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorControlProtoVersion})
  8044  	}
  8045  	if o.GetFirmwareVersion() != other.GetFirmwareVersion() {
  8046  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorFirmwareVersion})
  8047  	}
  8048  	if o.GetLoggerVersion() != other.GetLoggerVersion() {
  8049  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorLoggerVersion})
  8050  	}
  8051  	if o.GetBoardName() != other.GetBoardName() {
  8052  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorBoardName})
  8053  	}
  8054  	if o.GetSerialNumber() != other.GetSerialNumber() {
  8055  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorSerialNumber})
  8056  	}
  8057  	if o.GetPartNumber() != other.GetPartNumber() {
  8058  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorPartNumber})
  8059  	}
  8060  	if o.GetProductName() != other.GetProductName() {
  8061  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorProductName})
  8062  	}
  8063  	if o.GetNeuralNetworkCoreClockRate() != other.GetNeuralNetworkCoreClockRate() {
  8064  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorNeuralNetworkCoreClockRate})
  8065  	}
  8066  	return res
  8067  }
  8068  
  8069  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  8070  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo))
  8071  }
  8072  
  8073  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo) Clone() *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo {
  8074  	if o == nil {
  8075  		return nil
  8076  	}
  8077  	result := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo{}
  8078  	result.DevId = o.DevId
  8079  	result.ControlProtoVersion = o.ControlProtoVersion
  8080  	result.FirmwareVersion = o.FirmwareVersion
  8081  	result.LoggerVersion = o.LoggerVersion
  8082  	result.BoardName = o.BoardName
  8083  	result.SerialNumber = o.SerialNumber
  8084  	result.PartNumber = o.PartNumber
  8085  	result.ProductName = o.ProductName
  8086  	result.NeuralNetworkCoreClockRate = o.NeuralNetworkCoreClockRate
  8087  	return result
  8088  }
  8089  
  8090  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo) CloneRaw() gotenobject.GotenObjectExt {
  8091  	return o.Clone()
  8092  }
  8093  
  8094  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo) Merge(source *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo) {
  8095  	o.DevId = source.GetDevId()
  8096  	o.ControlProtoVersion = source.GetControlProtoVersion()
  8097  	o.FirmwareVersion = source.GetFirmwareVersion()
  8098  	o.LoggerVersion = source.GetLoggerVersion()
  8099  	o.BoardName = source.GetBoardName()
  8100  	o.SerialNumber = source.GetSerialNumber()
  8101  	o.PartNumber = source.GetPartNumber()
  8102  	o.ProductName = source.GetProductName()
  8103  	o.NeuralNetworkCoreClockRate = source.GetNeuralNetworkCoreClockRate()
  8104  }
  8105  
  8106  func (o *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo) MergeRaw(source gotenobject.GotenObjectExt) {
  8107  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo))
  8108  }
  8109  
  8110  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo) GotenObjectExt() {}
  8111  
  8112  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask {
  8113  	return FullDevice_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask()
  8114  }
  8115  
  8116  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo) MakeRawFullFieldMask() gotenobject.FieldMask {
  8117  	return FullDevice_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask()
  8118  }
  8119  
  8120  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo) *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask {
  8121  	if o == nil && other == nil {
  8122  		return &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask{}
  8123  	}
  8124  	if o == nil || other == nil {
  8125  		return FullDevice_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask()
  8126  	}
  8127  
  8128  	res := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask{}
  8129  	if o.GetId() != other.GetId() {
  8130  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPathSelectorId})
  8131  	}
  8132  	if o.GetProductName() != other.GetProductName() {
  8133  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPathSelectorProductName})
  8134  	}
  8135  	return res
  8136  }
  8137  
  8138  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  8139  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo))
  8140  }
  8141  
  8142  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo) Clone() *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo {
  8143  	if o == nil {
  8144  		return nil
  8145  	}
  8146  	result := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo{}
  8147  	result.Id = o.Id
  8148  	result.ProductName = o.ProductName
  8149  	return result
  8150  }
  8151  
  8152  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo) CloneRaw() gotenobject.GotenObjectExt {
  8153  	return o.Clone()
  8154  }
  8155  
  8156  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo) Merge(source *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo) {
  8157  	o.Id = source.GetId()
  8158  	o.ProductName = source.GetProductName()
  8159  }
  8160  
  8161  func (o *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo) MergeRaw(source gotenobject.GotenObjectExt) {
  8162  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo))
  8163  }
  8164  
  8165  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings) GotenObjectExt() {
  8166  }
  8167  
  8168  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask {
  8169  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask()
  8170  }
  8171  
  8172  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings) MakeRawFullFieldMask() gotenobject.FieldMask {
  8173  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask()
  8174  }
  8175  
  8176  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask {
  8177  	if o == nil && other == nil {
  8178  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask{}
  8179  	}
  8180  	if o == nil || other == nil {
  8181  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask()
  8182  	}
  8183  
  8184  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask{}
  8185  	if o.GetDrxCycle() != other.GetDrxCycle() {
  8186  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPathSelectorDrxCycle})
  8187  	}
  8188  	if o.GetMicoMode() != other.GetMicoMode() {
  8189  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPathSelectorMicoMode})
  8190  	}
  8191  	return res
  8192  }
  8193  
  8194  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  8195  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings))
  8196  }
  8197  
  8198  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings {
  8199  	if o == nil {
  8200  		return nil
  8201  	}
  8202  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings{}
  8203  	result.DrxCycle = o.DrxCycle
  8204  	result.MicoMode = o.MicoMode
  8205  	return result
  8206  }
  8207  
  8208  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings) CloneRaw() gotenobject.GotenObjectExt {
  8209  	return o.Clone()
  8210  }
  8211  
  8212  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings) {
  8213  	o.DrxCycle = source.GetDrxCycle()
  8214  	o.MicoMode = source.GetMicoMode()
  8215  }
  8216  
  8217  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings) MergeRaw(source gotenobject.GotenObjectExt) {
  8218  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings))
  8219  }
  8220  
  8221  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr) GotenObjectExt() {}
  8222  
  8223  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask {
  8224  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask()
  8225  }
  8226  
  8227  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr) MakeRawFullFieldMask() gotenobject.FieldMask {
  8228  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask()
  8229  }
  8230  
  8231  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask {
  8232  	if o == nil && other == nil {
  8233  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask{}
  8234  	}
  8235  	if o == nil || other == nil {
  8236  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask()
  8237  	}
  8238  
  8239  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask{}
  8240  	{
  8241  		subMask := o.GetRegistrationSettings().MakeDiffFieldMask(other.GetRegistrationSettings())
  8242  		if subMask.IsFull() {
  8243  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPathSelectorRegistrationSettings})
  8244  		} else {
  8245  			for _, subpath := range subMask.Paths {
  8246  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPathSelectorRegistrationSettings, subPath: subpath})
  8247  			}
  8248  		}
  8249  	}
  8250  	return res
  8251  }
  8252  
  8253  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  8254  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr))
  8255  }
  8256  
  8257  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr {
  8258  	if o == nil {
  8259  		return nil
  8260  	}
  8261  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr{}
  8262  	result.RegistrationSettings = o.RegistrationSettings.Clone()
  8263  	return result
  8264  }
  8265  
  8266  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr) CloneRaw() gotenobject.GotenObjectExt {
  8267  	return o.Clone()
  8268  }
  8269  
  8270  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr) {
  8271  	if source.GetRegistrationSettings() != nil {
  8272  		if o.RegistrationSettings == nil {
  8273  			o.RegistrationSettings = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings)
  8274  		}
  8275  		o.RegistrationSettings.Merge(source.GetRegistrationSettings())
  8276  	}
  8277  }
  8278  
  8279  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr) MergeRaw(source gotenobject.GotenObjectExt) {
  8280  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr))
  8281  }
  8282  
  8283  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings) GotenObjectExt() {}
  8284  
  8285  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask {
  8286  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask()
  8287  }
  8288  
  8289  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings) MakeRawFullFieldMask() gotenobject.FieldMask {
  8290  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask()
  8291  }
  8292  
  8293  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask {
  8294  	if o == nil && other == nil {
  8295  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask{}
  8296  	}
  8297  	if o == nil || other == nil {
  8298  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask()
  8299  	}
  8300  
  8301  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask{}
  8302  	if o.GetApn() != other.GetApn() {
  8303  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPathSelectorApn})
  8304  	}
  8305  	if o.GetIpType() != other.GetIpType() {
  8306  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPathSelectorIpType})
  8307  	}
  8308  	if o.GetPassword() != other.GetPassword() {
  8309  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPathSelectorPassword})
  8310  	}
  8311  	if o.GetUser() != other.GetUser() {
  8312  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPathSelectorUser})
  8313  	}
  8314  	return res
  8315  }
  8316  
  8317  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  8318  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings))
  8319  }
  8320  
  8321  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings {
  8322  	if o == nil {
  8323  		return nil
  8324  	}
  8325  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings{}
  8326  	result.Apn = o.Apn
  8327  	result.IpType = o.IpType
  8328  	result.Password = o.Password
  8329  	result.User = o.User
  8330  	return result
  8331  }
  8332  
  8333  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings) CloneRaw() gotenobject.GotenObjectExt {
  8334  	return o.Clone()
  8335  }
  8336  
  8337  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings) {
  8338  	o.Apn = source.GetApn()
  8339  	o.IpType = source.GetIpType()
  8340  	o.Password = source.GetPassword()
  8341  	o.User = source.GetUser()
  8342  }
  8343  
  8344  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings) MergeRaw(source gotenobject.GotenObjectExt) {
  8345  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings))
  8346  }
  8347  
  8348  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer) GotenObjectExt() {}
  8349  
  8350  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask {
  8351  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask()
  8352  }
  8353  
  8354  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer) MakeRawFullFieldMask() gotenobject.FieldMask {
  8355  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask()
  8356  }
  8357  
  8358  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask {
  8359  	if o == nil && other == nil {
  8360  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask{}
  8361  	}
  8362  	if o == nil || other == nil {
  8363  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask()
  8364  	}
  8365  
  8366  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask{}
  8367  	if o.GetDbusPath() != other.GetDbusPath() {
  8368  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelectorDbusPath})
  8369  	}
  8370  	{
  8371  		subMask := o.GetSettings().MakeDiffFieldMask(other.GetSettings())
  8372  		if subMask.IsFull() {
  8373  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelectorSettings})
  8374  		} else {
  8375  			for _, subpath := range subMask.Paths {
  8376  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelectorSettings, subPath: subpath})
  8377  			}
  8378  		}
  8379  	}
  8380  	return res
  8381  }
  8382  
  8383  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  8384  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer))
  8385  }
  8386  
  8387  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer {
  8388  	if o == nil {
  8389  		return nil
  8390  	}
  8391  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer{}
  8392  	result.DbusPath = o.DbusPath
  8393  	result.Settings = o.Settings.Clone()
  8394  	return result
  8395  }
  8396  
  8397  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer) CloneRaw() gotenobject.GotenObjectExt {
  8398  	return o.Clone()
  8399  }
  8400  
  8401  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer) {
  8402  	o.DbusPath = source.GetDbusPath()
  8403  	if source.GetSettings() != nil {
  8404  		if o.Settings == nil {
  8405  			o.Settings = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings)
  8406  		}
  8407  		o.Settings.Merge(source.GetSettings())
  8408  	}
  8409  }
  8410  
  8411  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer) MergeRaw(source gotenobject.GotenObjectExt) {
  8412  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer))
  8413  }
  8414  
  8415  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps) GotenObjectExt() {}
  8416  
  8417  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask {
  8418  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask()
  8419  }
  8420  
  8421  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps) MakeRawFullFieldMask() gotenobject.FieldMask {
  8422  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask()
  8423  }
  8424  
  8425  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask {
  8426  	if o == nil && other == nil {
  8427  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask{}
  8428  	}
  8429  	if o == nil || other == nil {
  8430  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask()
  8431  	}
  8432  
  8433  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask{}
  8434  	{
  8435  		subMask := o.GetInitialBearer().MakeDiffFieldMask(other.GetInitialBearer())
  8436  		if subMask.IsFull() {
  8437  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelectorInitialBearer})
  8438  		} else {
  8439  			for _, subpath := range subMask.Paths {
  8440  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelectorInitialBearer, subPath: subpath})
  8441  			}
  8442  		}
  8443  	}
  8444  	if o.GetUeModeOperation() != other.GetUeModeOperation() {
  8445  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelectorUeModeOperation})
  8446  	}
  8447  	return res
  8448  }
  8449  
  8450  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  8451  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps))
  8452  }
  8453  
  8454  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps {
  8455  	if o == nil {
  8456  		return nil
  8457  	}
  8458  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps{}
  8459  	result.InitialBearer = o.InitialBearer.Clone()
  8460  	result.UeModeOperation = o.UeModeOperation
  8461  	return result
  8462  }
  8463  
  8464  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps) CloneRaw() gotenobject.GotenObjectExt {
  8465  	return o.Clone()
  8466  }
  8467  
  8468  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps) {
  8469  	if source.GetInitialBearer() != nil {
  8470  		if o.InitialBearer == nil {
  8471  			o.InitialBearer = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer)
  8472  		}
  8473  		o.InitialBearer.Merge(source.GetInitialBearer())
  8474  	}
  8475  	o.UeModeOperation = source.GetUeModeOperation()
  8476  }
  8477  
  8478  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps) MergeRaw(source gotenobject.GotenObjectExt) {
  8479  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps))
  8480  }
  8481  
  8482  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp) GotenObjectExt() {}
  8483  
  8484  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask {
  8485  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask()
  8486  }
  8487  
  8488  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp) MakeRawFullFieldMask() gotenobject.FieldMask {
  8489  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask()
  8490  }
  8491  
  8492  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask {
  8493  	if o == nil && other == nil {
  8494  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask{}
  8495  	}
  8496  	if o == nil || other == nil {
  8497  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask()
  8498  	}
  8499  
  8500  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask{}
  8501  	{
  8502  		subMask := o.GetFivegNr().MakeDiffFieldMask(other.GetFivegNr())
  8503  		if subMask.IsFull() {
  8504  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorFivegNr})
  8505  		} else {
  8506  			for _, subpath := range subMask.Paths {
  8507  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorFivegNr, subPath: subpath})
  8508  			}
  8509  		}
  8510  	}
  8511  
  8512  	if len(o.GetEnabledLocks()) == len(other.GetEnabledLocks()) {
  8513  		for i, lValue := range o.GetEnabledLocks() {
  8514  			rValue := other.GetEnabledLocks()[i]
  8515  			if lValue != rValue {
  8516  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorEnabledLocks})
  8517  				break
  8518  			}
  8519  		}
  8520  	} else {
  8521  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorEnabledLocks})
  8522  	}
  8523  	{
  8524  		subMask := o.GetEps().MakeDiffFieldMask(other.GetEps())
  8525  		if subMask.IsFull() {
  8526  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorEps})
  8527  		} else {
  8528  			for _, subpath := range subMask.Paths {
  8529  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorEps, subPath: subpath})
  8530  			}
  8531  		}
  8532  	}
  8533  	if o.GetImei() != other.GetImei() {
  8534  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorImei})
  8535  	}
  8536  	if o.GetOperatorCode() != other.GetOperatorCode() {
  8537  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorOperatorCode})
  8538  	}
  8539  	if o.GetOperatorName() != other.GetOperatorName() {
  8540  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorOperatorName})
  8541  	}
  8542  	if o.GetPacketServiceState() != other.GetPacketServiceState() {
  8543  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorPacketServiceState})
  8544  	}
  8545  	if o.GetPco() != other.GetPco() {
  8546  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorPco})
  8547  	}
  8548  	if o.GetRegistrationState() != other.GetRegistrationState() {
  8549  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorRegistrationState})
  8550  	}
  8551  	return res
  8552  }
  8553  
  8554  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  8555  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp))
  8556  }
  8557  
  8558  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp {
  8559  	if o == nil {
  8560  		return nil
  8561  	}
  8562  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp{}
  8563  	result.FivegNr = o.FivegNr.Clone()
  8564  	result.EnabledLocks = make([]string, len(o.EnabledLocks))
  8565  	for i, sourceValue := range o.EnabledLocks {
  8566  		result.EnabledLocks[i] = sourceValue
  8567  	}
  8568  	result.Eps = o.Eps.Clone()
  8569  	result.Imei = o.Imei
  8570  	result.OperatorCode = o.OperatorCode
  8571  	result.OperatorName = o.OperatorName
  8572  	result.PacketServiceState = o.PacketServiceState
  8573  	result.Pco = o.Pco
  8574  	result.RegistrationState = o.RegistrationState
  8575  	return result
  8576  }
  8577  
  8578  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp) CloneRaw() gotenobject.GotenObjectExt {
  8579  	return o.Clone()
  8580  }
  8581  
  8582  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp) {
  8583  	if source.GetFivegNr() != nil {
  8584  		if o.FivegNr == nil {
  8585  			o.FivegNr = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr)
  8586  		}
  8587  		o.FivegNr.Merge(source.GetFivegNr())
  8588  	}
  8589  	for _, sourceValue := range source.GetEnabledLocks() {
  8590  		exists := false
  8591  		for _, currentValue := range o.EnabledLocks {
  8592  			if currentValue == sourceValue {
  8593  				exists = true
  8594  				break
  8595  			}
  8596  		}
  8597  		if !exists {
  8598  			var newDstElement string
  8599  			newDstElement = sourceValue
  8600  			o.EnabledLocks = append(o.EnabledLocks, newDstElement)
  8601  		}
  8602  	}
  8603  
  8604  	if source.GetEps() != nil {
  8605  		if o.Eps == nil {
  8606  			o.Eps = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps)
  8607  		}
  8608  		o.Eps.Merge(source.GetEps())
  8609  	}
  8610  	o.Imei = source.GetImei()
  8611  	o.OperatorCode = source.GetOperatorCode()
  8612  	o.OperatorName = source.GetOperatorName()
  8613  	o.PacketServiceState = source.GetPacketServiceState()
  8614  	o.Pco = source.GetPco()
  8615  	o.RegistrationState = source.GetRegistrationState()
  8616  }
  8617  
  8618  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp) MergeRaw(source gotenobject.GotenObjectExt) {
  8619  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp))
  8620  }
  8621  
  8622  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma) GotenObjectExt() {}
  8623  
  8624  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask {
  8625  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask()
  8626  }
  8627  
  8628  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma) MakeRawFullFieldMask() gotenobject.FieldMask {
  8629  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask()
  8630  }
  8631  
  8632  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask {
  8633  	if o == nil && other == nil {
  8634  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask{}
  8635  	}
  8636  	if o == nil || other == nil {
  8637  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask()
  8638  	}
  8639  
  8640  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask{}
  8641  	if o.GetActivationState() != other.GetActivationState() {
  8642  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorActivationState})
  8643  	}
  8644  	if o.GetCdma1XRegistrationState() != other.GetCdma1XRegistrationState() {
  8645  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorCdma1xRegistrationState})
  8646  	}
  8647  	if o.GetEsn() != other.GetEsn() {
  8648  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorEsn})
  8649  	}
  8650  	if o.GetEvdoRegistrationState() != other.GetEvdoRegistrationState() {
  8651  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorEvdoRegistrationState})
  8652  	}
  8653  	if o.GetMeid() != other.GetMeid() {
  8654  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorMeid})
  8655  	}
  8656  	if o.GetNid() != other.GetNid() {
  8657  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorNid})
  8658  	}
  8659  	if o.GetSid() != other.GetSid() {
  8660  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorSid})
  8661  	}
  8662  	return res
  8663  }
  8664  
  8665  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  8666  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma))
  8667  }
  8668  
  8669  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma {
  8670  	if o == nil {
  8671  		return nil
  8672  	}
  8673  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma{}
  8674  	result.ActivationState = o.ActivationState
  8675  	result.Cdma1XRegistrationState = o.Cdma1XRegistrationState
  8676  	result.Esn = o.Esn
  8677  	result.EvdoRegistrationState = o.EvdoRegistrationState
  8678  	result.Meid = o.Meid
  8679  	result.Nid = o.Nid
  8680  	result.Sid = o.Sid
  8681  	return result
  8682  }
  8683  
  8684  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma) CloneRaw() gotenobject.GotenObjectExt {
  8685  	return o.Clone()
  8686  }
  8687  
  8688  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma) {
  8689  	o.ActivationState = source.GetActivationState()
  8690  	o.Cdma1XRegistrationState = source.GetCdma1XRegistrationState()
  8691  	o.Esn = source.GetEsn()
  8692  	o.EvdoRegistrationState = source.GetEvdoRegistrationState()
  8693  	o.Meid = source.GetMeid()
  8694  	o.Nid = source.GetNid()
  8695  	o.Sid = source.GetSid()
  8696  }
  8697  
  8698  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma) MergeRaw(source gotenobject.GotenObjectExt) {
  8699  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma))
  8700  }
  8701  
  8702  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality) GotenObjectExt() {}
  8703  
  8704  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask {
  8705  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask()
  8706  }
  8707  
  8708  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality) MakeRawFullFieldMask() gotenobject.FieldMask {
  8709  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask()
  8710  }
  8711  
  8712  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask {
  8713  	if o == nil && other == nil {
  8714  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask{}
  8715  	}
  8716  	if o == nil || other == nil {
  8717  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask()
  8718  	}
  8719  
  8720  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask{}
  8721  	if o.GetRecent() != other.GetRecent() {
  8722  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPathSelectorRecent})
  8723  	}
  8724  	if o.GetValue() != other.GetValue() {
  8725  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPathSelectorValue})
  8726  	}
  8727  	return res
  8728  }
  8729  
  8730  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  8731  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality))
  8732  }
  8733  
  8734  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality {
  8735  	if o == nil {
  8736  		return nil
  8737  	}
  8738  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality{}
  8739  	result.Recent = o.Recent
  8740  	result.Value = o.Value
  8741  	return result
  8742  }
  8743  
  8744  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality) CloneRaw() gotenobject.GotenObjectExt {
  8745  	return o.Clone()
  8746  }
  8747  
  8748  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality) {
  8749  	o.Recent = source.GetRecent()
  8750  	o.Value = source.GetValue()
  8751  }
  8752  
  8753  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality) MergeRaw(source gotenobject.GotenObjectExt) {
  8754  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality))
  8755  }
  8756  
  8757  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic) GotenObjectExt() {}
  8758  
  8759  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask {
  8760  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask()
  8761  }
  8762  
  8763  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic) MakeRawFullFieldMask() gotenobject.FieldMask {
  8764  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask()
  8765  }
  8766  
  8767  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask {
  8768  	if o == nil && other == nil {
  8769  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask{}
  8770  	}
  8771  	if o == nil || other == nil {
  8772  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask()
  8773  	}
  8774  
  8775  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask{}
  8776  
  8777  	if len(o.GetAccessTechnologies()) == len(other.GetAccessTechnologies()) {
  8778  		for i, lValue := range o.GetAccessTechnologies() {
  8779  			rValue := other.GetAccessTechnologies()[i]
  8780  			if lValue != rValue {
  8781  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorAccessTechnologies})
  8782  				break
  8783  			}
  8784  		}
  8785  	} else {
  8786  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorAccessTechnologies})
  8787  	}
  8788  
  8789  	if len(o.GetBearers()) == len(other.GetBearers()) {
  8790  		for i, lValue := range o.GetBearers() {
  8791  			rValue := other.GetBearers()[i]
  8792  			if lValue != rValue {
  8793  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorBearers})
  8794  				break
  8795  			}
  8796  		}
  8797  	} else {
  8798  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorBearers})
  8799  	}
  8800  	if o.GetCarrierConfiguration() != other.GetCarrierConfiguration() {
  8801  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCarrierConfiguration})
  8802  	}
  8803  	if o.GetCarrierConfigurationRevision() != other.GetCarrierConfigurationRevision() {
  8804  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCarrierConfigurationRevision})
  8805  	}
  8806  
  8807  	if len(o.GetCurrentBands()) == len(other.GetCurrentBands()) {
  8808  		for i, lValue := range o.GetCurrentBands() {
  8809  			rValue := other.GetCurrentBands()[i]
  8810  			if lValue != rValue {
  8811  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCurrentBands})
  8812  				break
  8813  			}
  8814  		}
  8815  	} else {
  8816  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCurrentBands})
  8817  	}
  8818  
  8819  	if len(o.GetCurrentCapabilities()) == len(other.GetCurrentCapabilities()) {
  8820  		for i, lValue := range o.GetCurrentCapabilities() {
  8821  			rValue := other.GetCurrentCapabilities()[i]
  8822  			if lValue != rValue {
  8823  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCurrentCapabilities})
  8824  				break
  8825  			}
  8826  		}
  8827  	} else {
  8828  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCurrentCapabilities})
  8829  	}
  8830  	if o.GetCurrentModes() != other.GetCurrentModes() {
  8831  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCurrentModes})
  8832  	}
  8833  	if o.GetDevice() != other.GetDevice() {
  8834  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorDevice})
  8835  	}
  8836  	if o.GetDeviceIdentifier() != other.GetDeviceIdentifier() {
  8837  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorDeviceIdentifier})
  8838  	}
  8839  
  8840  	if len(o.GetDrivers()) == len(other.GetDrivers()) {
  8841  		for i, lValue := range o.GetDrivers() {
  8842  			rValue := other.GetDrivers()[i]
  8843  			if lValue != rValue {
  8844  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorDrivers})
  8845  				break
  8846  			}
  8847  		}
  8848  	} else {
  8849  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorDrivers})
  8850  	}
  8851  	if o.GetEquipmentIdentifier() != other.GetEquipmentIdentifier() {
  8852  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorEquipmentIdentifier})
  8853  	}
  8854  	if o.GetHardwareRevision() != other.GetHardwareRevision() {
  8855  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorHardwareRevision})
  8856  	}
  8857  	if o.GetManufacturer() != other.GetManufacturer() {
  8858  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorManufacturer})
  8859  	}
  8860  	if o.GetModel() != other.GetModel() {
  8861  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorModel})
  8862  	}
  8863  
  8864  	if len(o.GetOwnNumbers()) == len(other.GetOwnNumbers()) {
  8865  		for i, lValue := range o.GetOwnNumbers() {
  8866  			rValue := other.GetOwnNumbers()[i]
  8867  			if lValue != rValue {
  8868  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorOwnNumbers})
  8869  				break
  8870  			}
  8871  		}
  8872  	} else {
  8873  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorOwnNumbers})
  8874  	}
  8875  	if o.GetPlugin() != other.GetPlugin() {
  8876  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPlugin})
  8877  	}
  8878  
  8879  	if len(o.GetPorts()) == len(other.GetPorts()) {
  8880  		for i, lValue := range o.GetPorts() {
  8881  			rValue := other.GetPorts()[i]
  8882  			if lValue != rValue {
  8883  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPorts})
  8884  				break
  8885  			}
  8886  		}
  8887  	} else {
  8888  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPorts})
  8889  	}
  8890  	if o.GetPowerState() != other.GetPowerState() {
  8891  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPowerState})
  8892  	}
  8893  	if o.GetPrimaryPort() != other.GetPrimaryPort() {
  8894  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPrimaryPort})
  8895  	}
  8896  	if o.GetPrimarySimSlot() != other.GetPrimarySimSlot() {
  8897  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPrimarySimSlot})
  8898  	}
  8899  	if o.GetRevision() != other.GetRevision() {
  8900  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorRevision})
  8901  	}
  8902  	{
  8903  		subMask := o.GetSignalQuality().MakeDiffFieldMask(other.GetSignalQuality())
  8904  		if subMask.IsFull() {
  8905  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSignalQuality})
  8906  		} else {
  8907  			for _, subpath := range subMask.Paths {
  8908  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSignalQuality, subPath: subpath})
  8909  			}
  8910  		}
  8911  	}
  8912  	if o.GetSim() != other.GetSim() {
  8913  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSim})
  8914  	}
  8915  
  8916  	if len(o.GetSimSlots()) == len(other.GetSimSlots()) {
  8917  		for i, lValue := range o.GetSimSlots() {
  8918  			rValue := other.GetSimSlots()[i]
  8919  			if lValue != rValue {
  8920  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSimSlots})
  8921  				break
  8922  			}
  8923  		}
  8924  	} else {
  8925  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSimSlots})
  8926  	}
  8927  	if o.GetState() != other.GetState() {
  8928  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorState})
  8929  	}
  8930  	if o.GetStateFailedReason() != other.GetStateFailedReason() {
  8931  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorStateFailedReason})
  8932  	}
  8933  
  8934  	if len(o.GetSupportedBands()) == len(other.GetSupportedBands()) {
  8935  		for i, lValue := range o.GetSupportedBands() {
  8936  			rValue := other.GetSupportedBands()[i]
  8937  			if lValue != rValue {
  8938  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedBands})
  8939  				break
  8940  			}
  8941  		}
  8942  	} else {
  8943  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedBands})
  8944  	}
  8945  
  8946  	if len(o.GetSupportedCapabilities()) == len(other.GetSupportedCapabilities()) {
  8947  		for i, lValue := range o.GetSupportedCapabilities() {
  8948  			rValue := other.GetSupportedCapabilities()[i]
  8949  			if lValue != rValue {
  8950  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedCapabilities})
  8951  				break
  8952  			}
  8953  		}
  8954  	} else {
  8955  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedCapabilities})
  8956  	}
  8957  
  8958  	if len(o.GetSupportedIpFamilies()) == len(other.GetSupportedIpFamilies()) {
  8959  		for i, lValue := range o.GetSupportedIpFamilies() {
  8960  			rValue := other.GetSupportedIpFamilies()[i]
  8961  			if lValue != rValue {
  8962  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedIpFamilies})
  8963  				break
  8964  			}
  8965  		}
  8966  	} else {
  8967  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedIpFamilies})
  8968  	}
  8969  
  8970  	if len(o.GetSupportedModes()) == len(other.GetSupportedModes()) {
  8971  		for i, lValue := range o.GetSupportedModes() {
  8972  			rValue := other.GetSupportedModes()[i]
  8973  			if lValue != rValue {
  8974  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedModes})
  8975  				break
  8976  			}
  8977  		}
  8978  	} else {
  8979  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedModes})
  8980  	}
  8981  	if o.GetUnlockRequired() != other.GetUnlockRequired() {
  8982  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorUnlockRequired})
  8983  	}
  8984  
  8985  	if len(o.GetUnlockRetries()) == len(other.GetUnlockRetries()) {
  8986  		for i, lValue := range o.GetUnlockRetries() {
  8987  			rValue := other.GetUnlockRetries()[i]
  8988  			if lValue != rValue {
  8989  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorUnlockRetries})
  8990  				break
  8991  			}
  8992  		}
  8993  	} else {
  8994  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorUnlockRetries})
  8995  	}
  8996  	return res
  8997  }
  8998  
  8999  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  9000  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic))
  9001  }
  9002  
  9003  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic {
  9004  	if o == nil {
  9005  		return nil
  9006  	}
  9007  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic{}
  9008  	result.AccessTechnologies = make([]string, len(o.AccessTechnologies))
  9009  	for i, sourceValue := range o.AccessTechnologies {
  9010  		result.AccessTechnologies[i] = sourceValue
  9011  	}
  9012  	result.Bearers = make([]string, len(o.Bearers))
  9013  	for i, sourceValue := range o.Bearers {
  9014  		result.Bearers[i] = sourceValue
  9015  	}
  9016  	result.CarrierConfiguration = o.CarrierConfiguration
  9017  	result.CarrierConfigurationRevision = o.CarrierConfigurationRevision
  9018  	result.CurrentBands = make([]string, len(o.CurrentBands))
  9019  	for i, sourceValue := range o.CurrentBands {
  9020  		result.CurrentBands[i] = sourceValue
  9021  	}
  9022  	result.CurrentCapabilities = make([]string, len(o.CurrentCapabilities))
  9023  	for i, sourceValue := range o.CurrentCapabilities {
  9024  		result.CurrentCapabilities[i] = sourceValue
  9025  	}
  9026  	result.CurrentModes = o.CurrentModes
  9027  	result.Device = o.Device
  9028  	result.DeviceIdentifier = o.DeviceIdentifier
  9029  	result.Drivers = make([]string, len(o.Drivers))
  9030  	for i, sourceValue := range o.Drivers {
  9031  		result.Drivers[i] = sourceValue
  9032  	}
  9033  	result.EquipmentIdentifier = o.EquipmentIdentifier
  9034  	result.HardwareRevision = o.HardwareRevision
  9035  	result.Manufacturer = o.Manufacturer
  9036  	result.Model = o.Model
  9037  	result.OwnNumbers = make([]string, len(o.OwnNumbers))
  9038  	for i, sourceValue := range o.OwnNumbers {
  9039  		result.OwnNumbers[i] = sourceValue
  9040  	}
  9041  	result.Plugin = o.Plugin
  9042  	result.Ports = make([]string, len(o.Ports))
  9043  	for i, sourceValue := range o.Ports {
  9044  		result.Ports[i] = sourceValue
  9045  	}
  9046  	result.PowerState = o.PowerState
  9047  	result.PrimaryPort = o.PrimaryPort
  9048  	result.PrimarySimSlot = o.PrimarySimSlot
  9049  	result.Revision = o.Revision
  9050  	result.SignalQuality = o.SignalQuality.Clone()
  9051  	result.Sim = o.Sim
  9052  	result.SimSlots = make([]string, len(o.SimSlots))
  9053  	for i, sourceValue := range o.SimSlots {
  9054  		result.SimSlots[i] = sourceValue
  9055  	}
  9056  	result.State = o.State
  9057  	result.StateFailedReason = o.StateFailedReason
  9058  	result.SupportedBands = make([]string, len(o.SupportedBands))
  9059  	for i, sourceValue := range o.SupportedBands {
  9060  		result.SupportedBands[i] = sourceValue
  9061  	}
  9062  	result.SupportedCapabilities = make([]string, len(o.SupportedCapabilities))
  9063  	for i, sourceValue := range o.SupportedCapabilities {
  9064  		result.SupportedCapabilities[i] = sourceValue
  9065  	}
  9066  	result.SupportedIpFamilies = make([]string, len(o.SupportedIpFamilies))
  9067  	for i, sourceValue := range o.SupportedIpFamilies {
  9068  		result.SupportedIpFamilies[i] = sourceValue
  9069  	}
  9070  	result.SupportedModes = make([]string, len(o.SupportedModes))
  9071  	for i, sourceValue := range o.SupportedModes {
  9072  		result.SupportedModes[i] = sourceValue
  9073  	}
  9074  	result.UnlockRequired = o.UnlockRequired
  9075  	result.UnlockRetries = make([]string, len(o.UnlockRetries))
  9076  	for i, sourceValue := range o.UnlockRetries {
  9077  		result.UnlockRetries[i] = sourceValue
  9078  	}
  9079  	return result
  9080  }
  9081  
  9082  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic) CloneRaw() gotenobject.GotenObjectExt {
  9083  	return o.Clone()
  9084  }
  9085  
  9086  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic) {
  9087  	for _, sourceValue := range source.GetAccessTechnologies() {
  9088  		exists := false
  9089  		for _, currentValue := range o.AccessTechnologies {
  9090  			if currentValue == sourceValue {
  9091  				exists = true
  9092  				break
  9093  			}
  9094  		}
  9095  		if !exists {
  9096  			var newDstElement string
  9097  			newDstElement = sourceValue
  9098  			o.AccessTechnologies = append(o.AccessTechnologies, newDstElement)
  9099  		}
  9100  	}
  9101  
  9102  	for _, sourceValue := range source.GetBearers() {
  9103  		exists := false
  9104  		for _, currentValue := range o.Bearers {
  9105  			if currentValue == sourceValue {
  9106  				exists = true
  9107  				break
  9108  			}
  9109  		}
  9110  		if !exists {
  9111  			var newDstElement string
  9112  			newDstElement = sourceValue
  9113  			o.Bearers = append(o.Bearers, newDstElement)
  9114  		}
  9115  	}
  9116  
  9117  	o.CarrierConfiguration = source.GetCarrierConfiguration()
  9118  	o.CarrierConfigurationRevision = source.GetCarrierConfigurationRevision()
  9119  	for _, sourceValue := range source.GetCurrentBands() {
  9120  		exists := false
  9121  		for _, currentValue := range o.CurrentBands {
  9122  			if currentValue == sourceValue {
  9123  				exists = true
  9124  				break
  9125  			}
  9126  		}
  9127  		if !exists {
  9128  			var newDstElement string
  9129  			newDstElement = sourceValue
  9130  			o.CurrentBands = append(o.CurrentBands, newDstElement)
  9131  		}
  9132  	}
  9133  
  9134  	for _, sourceValue := range source.GetCurrentCapabilities() {
  9135  		exists := false
  9136  		for _, currentValue := range o.CurrentCapabilities {
  9137  			if currentValue == sourceValue {
  9138  				exists = true
  9139  				break
  9140  			}
  9141  		}
  9142  		if !exists {
  9143  			var newDstElement string
  9144  			newDstElement = sourceValue
  9145  			o.CurrentCapabilities = append(o.CurrentCapabilities, newDstElement)
  9146  		}
  9147  	}
  9148  
  9149  	o.CurrentModes = source.GetCurrentModes()
  9150  	o.Device = source.GetDevice()
  9151  	o.DeviceIdentifier = source.GetDeviceIdentifier()
  9152  	for _, sourceValue := range source.GetDrivers() {
  9153  		exists := false
  9154  		for _, currentValue := range o.Drivers {
  9155  			if currentValue == sourceValue {
  9156  				exists = true
  9157  				break
  9158  			}
  9159  		}
  9160  		if !exists {
  9161  			var newDstElement string
  9162  			newDstElement = sourceValue
  9163  			o.Drivers = append(o.Drivers, newDstElement)
  9164  		}
  9165  	}
  9166  
  9167  	o.EquipmentIdentifier = source.GetEquipmentIdentifier()
  9168  	o.HardwareRevision = source.GetHardwareRevision()
  9169  	o.Manufacturer = source.GetManufacturer()
  9170  	o.Model = source.GetModel()
  9171  	for _, sourceValue := range source.GetOwnNumbers() {
  9172  		exists := false
  9173  		for _, currentValue := range o.OwnNumbers {
  9174  			if currentValue == sourceValue {
  9175  				exists = true
  9176  				break
  9177  			}
  9178  		}
  9179  		if !exists {
  9180  			var newDstElement string
  9181  			newDstElement = sourceValue
  9182  			o.OwnNumbers = append(o.OwnNumbers, newDstElement)
  9183  		}
  9184  	}
  9185  
  9186  	o.Plugin = source.GetPlugin()
  9187  	for _, sourceValue := range source.GetPorts() {
  9188  		exists := false
  9189  		for _, currentValue := range o.Ports {
  9190  			if currentValue == sourceValue {
  9191  				exists = true
  9192  				break
  9193  			}
  9194  		}
  9195  		if !exists {
  9196  			var newDstElement string
  9197  			newDstElement = sourceValue
  9198  			o.Ports = append(o.Ports, newDstElement)
  9199  		}
  9200  	}
  9201  
  9202  	o.PowerState = source.GetPowerState()
  9203  	o.PrimaryPort = source.GetPrimaryPort()
  9204  	o.PrimarySimSlot = source.GetPrimarySimSlot()
  9205  	o.Revision = source.GetRevision()
  9206  	if source.GetSignalQuality() != nil {
  9207  		if o.SignalQuality == nil {
  9208  			o.SignalQuality = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality)
  9209  		}
  9210  		o.SignalQuality.Merge(source.GetSignalQuality())
  9211  	}
  9212  	o.Sim = source.GetSim()
  9213  	for _, sourceValue := range source.GetSimSlots() {
  9214  		exists := false
  9215  		for _, currentValue := range o.SimSlots {
  9216  			if currentValue == sourceValue {
  9217  				exists = true
  9218  				break
  9219  			}
  9220  		}
  9221  		if !exists {
  9222  			var newDstElement string
  9223  			newDstElement = sourceValue
  9224  			o.SimSlots = append(o.SimSlots, newDstElement)
  9225  		}
  9226  	}
  9227  
  9228  	o.State = source.GetState()
  9229  	o.StateFailedReason = source.GetStateFailedReason()
  9230  	for _, sourceValue := range source.GetSupportedBands() {
  9231  		exists := false
  9232  		for _, currentValue := range o.SupportedBands {
  9233  			if currentValue == sourceValue {
  9234  				exists = true
  9235  				break
  9236  			}
  9237  		}
  9238  		if !exists {
  9239  			var newDstElement string
  9240  			newDstElement = sourceValue
  9241  			o.SupportedBands = append(o.SupportedBands, newDstElement)
  9242  		}
  9243  	}
  9244  
  9245  	for _, sourceValue := range source.GetSupportedCapabilities() {
  9246  		exists := false
  9247  		for _, currentValue := range o.SupportedCapabilities {
  9248  			if currentValue == sourceValue {
  9249  				exists = true
  9250  				break
  9251  			}
  9252  		}
  9253  		if !exists {
  9254  			var newDstElement string
  9255  			newDstElement = sourceValue
  9256  			o.SupportedCapabilities = append(o.SupportedCapabilities, newDstElement)
  9257  		}
  9258  	}
  9259  
  9260  	for _, sourceValue := range source.GetSupportedIpFamilies() {
  9261  		exists := false
  9262  		for _, currentValue := range o.SupportedIpFamilies {
  9263  			if currentValue == sourceValue {
  9264  				exists = true
  9265  				break
  9266  			}
  9267  		}
  9268  		if !exists {
  9269  			var newDstElement string
  9270  			newDstElement = sourceValue
  9271  			o.SupportedIpFamilies = append(o.SupportedIpFamilies, newDstElement)
  9272  		}
  9273  	}
  9274  
  9275  	for _, sourceValue := range source.GetSupportedModes() {
  9276  		exists := false
  9277  		for _, currentValue := range o.SupportedModes {
  9278  			if currentValue == sourceValue {
  9279  				exists = true
  9280  				break
  9281  			}
  9282  		}
  9283  		if !exists {
  9284  			var newDstElement string
  9285  			newDstElement = sourceValue
  9286  			o.SupportedModes = append(o.SupportedModes, newDstElement)
  9287  		}
  9288  	}
  9289  
  9290  	o.UnlockRequired = source.GetUnlockRequired()
  9291  	for _, sourceValue := range source.GetUnlockRetries() {
  9292  		exists := false
  9293  		for _, currentValue := range o.UnlockRetries {
  9294  			if currentValue == sourceValue {
  9295  				exists = true
  9296  				break
  9297  			}
  9298  		}
  9299  		if !exists {
  9300  			var newDstElement string
  9301  			newDstElement = sourceValue
  9302  			o.UnlockRetries = append(o.UnlockRetries, newDstElement)
  9303  		}
  9304  	}
  9305  
  9306  }
  9307  
  9308  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic) MergeRaw(source gotenobject.GotenObjectExt) {
  9309  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic))
  9310  }
  9311  
  9312  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G) GotenObjectExt() {}
  9313  
  9314  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G_FieldMask {
  9315  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G_FieldMask()
  9316  }
  9317  
  9318  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G) MakeRawFullFieldMask() gotenobject.FieldMask {
  9319  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G_FieldMask()
  9320  }
  9321  
  9322  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G_FieldMask {
  9323  	if o == nil && other == nil {
  9324  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G_FieldMask{}
  9325  	}
  9326  	if o == nil || other == nil {
  9327  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G_FieldMask()
  9328  	}
  9329  
  9330  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G_FieldMask{}
  9331  	if o.GetErrorRate() != other.GetErrorRate() {
  9332  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal5G_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal5G_FieldPathSelectorErrorRate})
  9333  	}
  9334  	if o.GetRsrp() != other.GetRsrp() {
  9335  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal5G_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal5G_FieldPathSelectorRsrp})
  9336  	}
  9337  	if o.GetRsrq() != other.GetRsrq() {
  9338  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal5G_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal5G_FieldPathSelectorRsrq})
  9339  	}
  9340  	if o.GetSnr() != other.GetSnr() {
  9341  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal5G_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal5G_FieldPathSelectorSnr})
  9342  	}
  9343  	return res
  9344  }
  9345  
  9346  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  9347  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G))
  9348  }
  9349  
  9350  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G {
  9351  	if o == nil {
  9352  		return nil
  9353  	}
  9354  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G{}
  9355  	result.ErrorRate = o.ErrorRate
  9356  	result.Rsrp = o.Rsrp
  9357  	result.Rsrq = o.Rsrq
  9358  	result.Snr = o.Snr
  9359  	return result
  9360  }
  9361  
  9362  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G) CloneRaw() gotenobject.GotenObjectExt {
  9363  	return o.Clone()
  9364  }
  9365  
  9366  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G) {
  9367  	o.ErrorRate = source.GetErrorRate()
  9368  	o.Rsrp = source.GetRsrp()
  9369  	o.Rsrq = source.GetRsrq()
  9370  	o.Snr = source.GetSnr()
  9371  }
  9372  
  9373  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G) MergeRaw(source gotenobject.GotenObjectExt) {
  9374  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G))
  9375  }
  9376  
  9377  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X) GotenObjectExt() {}
  9378  
  9379  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X_FieldMask {
  9380  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X_FieldMask()
  9381  }
  9382  
  9383  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X) MakeRawFullFieldMask() gotenobject.FieldMask {
  9384  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X_FieldMask()
  9385  }
  9386  
  9387  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X_FieldMask {
  9388  	if o == nil && other == nil {
  9389  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X_FieldMask{}
  9390  	}
  9391  	if o == nil || other == nil {
  9392  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X_FieldMask()
  9393  	}
  9394  
  9395  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X_FieldMask{}
  9396  	if o.GetEcio() != other.GetEcio() {
  9397  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalCdma1X_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalCdma1X_FieldPathSelectorEcio})
  9398  	}
  9399  	if o.GetErrorRate() != other.GetErrorRate() {
  9400  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalCdma1X_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalCdma1X_FieldPathSelectorErrorRate})
  9401  	}
  9402  	if o.GetRssi() != other.GetRssi() {
  9403  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalCdma1X_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalCdma1X_FieldPathSelectorRssi})
  9404  	}
  9405  	return res
  9406  }
  9407  
  9408  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  9409  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X))
  9410  }
  9411  
  9412  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X {
  9413  	if o == nil {
  9414  		return nil
  9415  	}
  9416  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X{}
  9417  	result.Ecio = o.Ecio
  9418  	result.ErrorRate = o.ErrorRate
  9419  	result.Rssi = o.Rssi
  9420  	return result
  9421  }
  9422  
  9423  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X) CloneRaw() gotenobject.GotenObjectExt {
  9424  	return o.Clone()
  9425  }
  9426  
  9427  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X) {
  9428  	o.Ecio = source.GetEcio()
  9429  	o.ErrorRate = source.GetErrorRate()
  9430  	o.Rssi = source.GetRssi()
  9431  }
  9432  
  9433  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X) MergeRaw(source gotenobject.GotenObjectExt) {
  9434  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X))
  9435  }
  9436  
  9437  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo) GotenObjectExt() {}
  9438  
  9439  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo_FieldMask {
  9440  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo_FieldMask()
  9441  }
  9442  
  9443  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo) MakeRawFullFieldMask() gotenobject.FieldMask {
  9444  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo_FieldMask()
  9445  }
  9446  
  9447  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo_FieldMask {
  9448  	if o == nil && other == nil {
  9449  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo_FieldMask{}
  9450  	}
  9451  	if o == nil || other == nil {
  9452  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo_FieldMask()
  9453  	}
  9454  
  9455  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo_FieldMask{}
  9456  	if o.GetEcio() != other.GetEcio() {
  9457  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalEvdo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalEvdo_FieldPathSelectorEcio})
  9458  	}
  9459  	if o.GetErrorRate() != other.GetErrorRate() {
  9460  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalEvdo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalEvdo_FieldPathSelectorErrorRate})
  9461  	}
  9462  	if o.GetIo() != other.GetIo() {
  9463  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalEvdo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalEvdo_FieldPathSelectorIo})
  9464  	}
  9465  	if o.GetRssi() != other.GetRssi() {
  9466  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalEvdo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalEvdo_FieldPathSelectorRssi})
  9467  	}
  9468  	if o.GetSinr() != other.GetSinr() {
  9469  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalEvdo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalEvdo_FieldPathSelectorSinr})
  9470  	}
  9471  	return res
  9472  }
  9473  
  9474  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  9475  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo))
  9476  }
  9477  
  9478  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo {
  9479  	if o == nil {
  9480  		return nil
  9481  	}
  9482  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo{}
  9483  	result.Ecio = o.Ecio
  9484  	result.ErrorRate = o.ErrorRate
  9485  	result.Io = o.Io
  9486  	result.Rssi = o.Rssi
  9487  	result.Sinr = o.Sinr
  9488  	return result
  9489  }
  9490  
  9491  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo) CloneRaw() gotenobject.GotenObjectExt {
  9492  	return o.Clone()
  9493  }
  9494  
  9495  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo) {
  9496  	o.Ecio = source.GetEcio()
  9497  	o.ErrorRate = source.GetErrorRate()
  9498  	o.Io = source.GetIo()
  9499  	o.Rssi = source.GetRssi()
  9500  	o.Sinr = source.GetSinr()
  9501  }
  9502  
  9503  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo) MergeRaw(source gotenobject.GotenObjectExt) {
  9504  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo))
  9505  }
  9506  
  9507  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm) GotenObjectExt() {}
  9508  
  9509  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm_FieldMask {
  9510  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm_FieldMask()
  9511  }
  9512  
  9513  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm) MakeRawFullFieldMask() gotenobject.FieldMask {
  9514  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm_FieldMask()
  9515  }
  9516  
  9517  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm_FieldMask {
  9518  	if o == nil && other == nil {
  9519  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm_FieldMask{}
  9520  	}
  9521  	if o == nil || other == nil {
  9522  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm_FieldMask()
  9523  	}
  9524  
  9525  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm_FieldMask{}
  9526  	if o.GetErrorRate() != other.GetErrorRate() {
  9527  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalGsm_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalGsm_FieldPathSelectorErrorRate})
  9528  	}
  9529  	if o.GetRssi() != other.GetRssi() {
  9530  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalGsm_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalGsm_FieldPathSelectorRssi})
  9531  	}
  9532  	return res
  9533  }
  9534  
  9535  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  9536  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm))
  9537  }
  9538  
  9539  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm {
  9540  	if o == nil {
  9541  		return nil
  9542  	}
  9543  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm{}
  9544  	result.ErrorRate = o.ErrorRate
  9545  	result.Rssi = o.Rssi
  9546  	return result
  9547  }
  9548  
  9549  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm) CloneRaw() gotenobject.GotenObjectExt {
  9550  	return o.Clone()
  9551  }
  9552  
  9553  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm) {
  9554  	o.ErrorRate = source.GetErrorRate()
  9555  	o.Rssi = source.GetRssi()
  9556  }
  9557  
  9558  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm) MergeRaw(source gotenobject.GotenObjectExt) {
  9559  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm))
  9560  }
  9561  
  9562  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte) GotenObjectExt() {}
  9563  
  9564  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte_FieldMask {
  9565  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte_FieldMask()
  9566  }
  9567  
  9568  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte) MakeRawFullFieldMask() gotenobject.FieldMask {
  9569  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte_FieldMask()
  9570  }
  9571  
  9572  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte_FieldMask {
  9573  	if o == nil && other == nil {
  9574  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte_FieldMask{}
  9575  	}
  9576  	if o == nil || other == nil {
  9577  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte_FieldMask()
  9578  	}
  9579  
  9580  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte_FieldMask{}
  9581  	if o.GetErrorRate() != other.GetErrorRate() {
  9582  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalLte_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalLte_FieldPathSelectorErrorRate})
  9583  	}
  9584  	if o.GetRsrp() != other.GetRsrp() {
  9585  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalLte_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalLte_FieldPathSelectorRsrp})
  9586  	}
  9587  	if o.GetRsrq() != other.GetRsrq() {
  9588  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalLte_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalLte_FieldPathSelectorRsrq})
  9589  	}
  9590  	if o.GetRssi() != other.GetRssi() {
  9591  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalLte_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalLte_FieldPathSelectorRssi})
  9592  	}
  9593  	if o.GetSnr() != other.GetSnr() {
  9594  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalLte_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalLte_FieldPathSelectorSnr})
  9595  	}
  9596  	return res
  9597  }
  9598  
  9599  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  9600  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte))
  9601  }
  9602  
  9603  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte {
  9604  	if o == nil {
  9605  		return nil
  9606  	}
  9607  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte{}
  9608  	result.ErrorRate = o.ErrorRate
  9609  	result.Rsrp = o.Rsrp
  9610  	result.Rsrq = o.Rsrq
  9611  	result.Rssi = o.Rssi
  9612  	result.Snr = o.Snr
  9613  	return result
  9614  }
  9615  
  9616  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte) CloneRaw() gotenobject.GotenObjectExt {
  9617  	return o.Clone()
  9618  }
  9619  
  9620  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte) {
  9621  	o.ErrorRate = source.GetErrorRate()
  9622  	o.Rsrp = source.GetRsrp()
  9623  	o.Rsrq = source.GetRsrq()
  9624  	o.Rssi = source.GetRssi()
  9625  	o.Snr = source.GetSnr()
  9626  }
  9627  
  9628  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte) MergeRaw(source gotenobject.GotenObjectExt) {
  9629  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte))
  9630  }
  9631  
  9632  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh) GotenObjectExt() {}
  9633  
  9634  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh_FieldMask {
  9635  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh_FieldMask()
  9636  }
  9637  
  9638  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh) MakeRawFullFieldMask() gotenobject.FieldMask {
  9639  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh_FieldMask()
  9640  }
  9641  
  9642  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh_FieldMask {
  9643  	if o == nil && other == nil {
  9644  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh_FieldMask{}
  9645  	}
  9646  	if o == nil || other == nil {
  9647  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh_FieldMask()
  9648  	}
  9649  
  9650  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh_FieldMask{}
  9651  	if o.GetRate() != other.GetRate() {
  9652  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalRefresh_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalRefresh_FieldPathSelectorRate})
  9653  	}
  9654  	return res
  9655  }
  9656  
  9657  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  9658  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh))
  9659  }
  9660  
  9661  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh {
  9662  	if o == nil {
  9663  		return nil
  9664  	}
  9665  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh{}
  9666  	result.Rate = o.Rate
  9667  	return result
  9668  }
  9669  
  9670  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh) CloneRaw() gotenobject.GotenObjectExt {
  9671  	return o.Clone()
  9672  }
  9673  
  9674  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh) {
  9675  	o.Rate = source.GetRate()
  9676  }
  9677  
  9678  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh) MergeRaw(source gotenobject.GotenObjectExt) {
  9679  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh))
  9680  }
  9681  
  9682  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold) GotenObjectExt() {}
  9683  
  9684  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold_FieldMask {
  9685  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold_FieldMask()
  9686  }
  9687  
  9688  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold) MakeRawFullFieldMask() gotenobject.FieldMask {
  9689  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold_FieldMask()
  9690  }
  9691  
  9692  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold_FieldMask {
  9693  	if o == nil && other == nil {
  9694  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold_FieldMask{}
  9695  	}
  9696  	if o == nil || other == nil {
  9697  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold_FieldMask()
  9698  	}
  9699  
  9700  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold_FieldMask{}
  9701  	if o.GetErrorRate() != other.GetErrorRate() {
  9702  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalThreshold_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalThreshold_FieldPathSelectorErrorRate})
  9703  	}
  9704  	if o.GetRssi() != other.GetRssi() {
  9705  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalThreshold_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalThreshold_FieldPathSelectorRssi})
  9706  	}
  9707  	return res
  9708  }
  9709  
  9710  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  9711  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold))
  9712  }
  9713  
  9714  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold {
  9715  	if o == nil {
  9716  		return nil
  9717  	}
  9718  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold{}
  9719  	result.ErrorRate = o.ErrorRate
  9720  	result.Rssi = o.Rssi
  9721  	return result
  9722  }
  9723  
  9724  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold) CloneRaw() gotenobject.GotenObjectExt {
  9725  	return o.Clone()
  9726  }
  9727  
  9728  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold) {
  9729  	o.ErrorRate = source.GetErrorRate()
  9730  	o.Rssi = source.GetRssi()
  9731  }
  9732  
  9733  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold) MergeRaw(source gotenobject.GotenObjectExt) {
  9734  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold))
  9735  }
  9736  
  9737  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts) GotenObjectExt() {}
  9738  
  9739  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts_FieldMask {
  9740  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts_FieldMask()
  9741  }
  9742  
  9743  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts) MakeRawFullFieldMask() gotenobject.FieldMask {
  9744  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts_FieldMask()
  9745  }
  9746  
  9747  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts_FieldMask {
  9748  	if o == nil && other == nil {
  9749  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts_FieldMask{}
  9750  	}
  9751  	if o == nil || other == nil {
  9752  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts_FieldMask()
  9753  	}
  9754  
  9755  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts_FieldMask{}
  9756  	if o.GetEcio() != other.GetEcio() {
  9757  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalUmts_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalUmts_FieldPathSelectorEcio})
  9758  	}
  9759  	if o.GetErrorRate() != other.GetErrorRate() {
  9760  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalUmts_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalUmts_FieldPathSelectorErrorRate})
  9761  	}
  9762  	if o.GetRscp() != other.GetRscp() {
  9763  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalUmts_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalUmts_FieldPathSelectorRscp})
  9764  	}
  9765  	if o.GetRssi() != other.GetRssi() {
  9766  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalUmts_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalUmts_FieldPathSelectorRssi})
  9767  	}
  9768  	return res
  9769  }
  9770  
  9771  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  9772  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts))
  9773  }
  9774  
  9775  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts {
  9776  	if o == nil {
  9777  		return nil
  9778  	}
  9779  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts{}
  9780  	result.Ecio = o.Ecio
  9781  	result.ErrorRate = o.ErrorRate
  9782  	result.Rscp = o.Rscp
  9783  	result.Rssi = o.Rssi
  9784  	return result
  9785  }
  9786  
  9787  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts) CloneRaw() gotenobject.GotenObjectExt {
  9788  	return o.Clone()
  9789  }
  9790  
  9791  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts) {
  9792  	o.Ecio = source.GetEcio()
  9793  	o.ErrorRate = source.GetErrorRate()
  9794  	o.Rscp = source.GetRscp()
  9795  	o.Rssi = source.GetRssi()
  9796  }
  9797  
  9798  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts) MergeRaw(source gotenobject.GotenObjectExt) {
  9799  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts))
  9800  }
  9801  
  9802  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal) GotenObjectExt() {}
  9803  
  9804  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal_FieldMask {
  9805  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal_FieldMask()
  9806  }
  9807  
  9808  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal) MakeRawFullFieldMask() gotenobject.FieldMask {
  9809  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal_FieldMask()
  9810  }
  9811  
  9812  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal_FieldMask {
  9813  	if o == nil && other == nil {
  9814  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal_FieldMask{}
  9815  	}
  9816  	if o == nil || other == nil {
  9817  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal_FieldMask()
  9818  	}
  9819  
  9820  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal_FieldMask{}
  9821  	{
  9822  		subMask := o.GetFiveG().MakeDiffFieldMask(other.GetFiveG())
  9823  		if subMask.IsFull() {
  9824  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorFiveG})
  9825  		} else {
  9826  			for _, subpath := range subMask.Paths {
  9827  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorFiveG, subPath: subpath})
  9828  			}
  9829  		}
  9830  	}
  9831  	{
  9832  		subMask := o.GetCdma1X().MakeDiffFieldMask(other.GetCdma1X())
  9833  		if subMask.IsFull() {
  9834  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorCdma1X})
  9835  		} else {
  9836  			for _, subpath := range subMask.Paths {
  9837  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorCdma1X, subPath: subpath})
  9838  			}
  9839  		}
  9840  	}
  9841  	{
  9842  		subMask := o.GetEvdo().MakeDiffFieldMask(other.GetEvdo())
  9843  		if subMask.IsFull() {
  9844  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorEvdo})
  9845  		} else {
  9846  			for _, subpath := range subMask.Paths {
  9847  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorEvdo, subPath: subpath})
  9848  			}
  9849  		}
  9850  	}
  9851  	{
  9852  		subMask := o.GetGsm().MakeDiffFieldMask(other.GetGsm())
  9853  		if subMask.IsFull() {
  9854  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorGsm})
  9855  		} else {
  9856  			for _, subpath := range subMask.Paths {
  9857  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorGsm, subPath: subpath})
  9858  			}
  9859  		}
  9860  	}
  9861  	{
  9862  		subMask := o.GetLteSignal().MakeDiffFieldMask(other.GetLteSignal())
  9863  		if subMask.IsFull() {
  9864  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorLteSignal})
  9865  		} else {
  9866  			for _, subpath := range subMask.Paths {
  9867  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorLteSignal, subPath: subpath})
  9868  			}
  9869  		}
  9870  	}
  9871  	{
  9872  		subMask := o.GetRefresh().MakeDiffFieldMask(other.GetRefresh())
  9873  		if subMask.IsFull() {
  9874  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorRefresh})
  9875  		} else {
  9876  			for _, subpath := range subMask.Paths {
  9877  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorRefresh, subPath: subpath})
  9878  			}
  9879  		}
  9880  	}
  9881  	{
  9882  		subMask := o.GetThreshold().MakeDiffFieldMask(other.GetThreshold())
  9883  		if subMask.IsFull() {
  9884  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorThreshold})
  9885  		} else {
  9886  			for _, subpath := range subMask.Paths {
  9887  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorThreshold, subPath: subpath})
  9888  			}
  9889  		}
  9890  	}
  9891  	{
  9892  		subMask := o.GetUmts().MakeDiffFieldMask(other.GetUmts())
  9893  		if subMask.IsFull() {
  9894  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorUmts})
  9895  		} else {
  9896  			for _, subpath := range subMask.Paths {
  9897  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignal_FieldPathSelectorUmts, subPath: subpath})
  9898  			}
  9899  		}
  9900  	}
  9901  	return res
  9902  }
  9903  
  9904  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
  9905  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal))
  9906  }
  9907  
  9908  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal {
  9909  	if o == nil {
  9910  		return nil
  9911  	}
  9912  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal{}
  9913  	result.FiveG = o.FiveG.Clone()
  9914  	result.Cdma1X = o.Cdma1X.Clone()
  9915  	result.Evdo = o.Evdo.Clone()
  9916  	result.Gsm = o.Gsm.Clone()
  9917  	result.LteSignal = o.LteSignal.Clone()
  9918  	result.Refresh = o.Refresh.Clone()
  9919  	result.Threshold = o.Threshold.Clone()
  9920  	result.Umts = o.Umts.Clone()
  9921  	return result
  9922  }
  9923  
  9924  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal) CloneRaw() gotenobject.GotenObjectExt {
  9925  	return o.Clone()
  9926  }
  9927  
  9928  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal) {
  9929  	if source.GetFiveG() != nil {
  9930  		if o.FiveG == nil {
  9931  			o.FiveG = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal5G)
  9932  		}
  9933  		o.FiveG.Merge(source.GetFiveG())
  9934  	}
  9935  	if source.GetCdma1X() != nil {
  9936  		if o.Cdma1X == nil {
  9937  			o.Cdma1X = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalCdma1X)
  9938  		}
  9939  		o.Cdma1X.Merge(source.GetCdma1X())
  9940  	}
  9941  	if source.GetEvdo() != nil {
  9942  		if o.Evdo == nil {
  9943  			o.Evdo = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalEvdo)
  9944  		}
  9945  		o.Evdo.Merge(source.GetEvdo())
  9946  	}
  9947  	if source.GetGsm() != nil {
  9948  		if o.Gsm == nil {
  9949  			o.Gsm = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalGsm)
  9950  		}
  9951  		o.Gsm.Merge(source.GetGsm())
  9952  	}
  9953  	if source.GetLteSignal() != nil {
  9954  		if o.LteSignal == nil {
  9955  			o.LteSignal = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalLte)
  9956  		}
  9957  		o.LteSignal.Merge(source.GetLteSignal())
  9958  	}
  9959  	if source.GetRefresh() != nil {
  9960  		if o.Refresh == nil {
  9961  			o.Refresh = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalRefresh)
  9962  		}
  9963  		o.Refresh.Merge(source.GetRefresh())
  9964  	}
  9965  	if source.GetThreshold() != nil {
  9966  		if o.Threshold == nil {
  9967  			o.Threshold = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalThreshold)
  9968  		}
  9969  		o.Threshold.Merge(source.GetThreshold())
  9970  	}
  9971  	if source.GetUmts() != nil {
  9972  		if o.Umts == nil {
  9973  			o.Umts = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalUmts)
  9974  		}
  9975  		o.Umts.Merge(source.GetUmts())
  9976  	}
  9977  }
  9978  
  9979  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal) MergeRaw(source gotenobject.GotenObjectExt) {
  9980  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal))
  9981  }
  9982  
  9983  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus) GotenObjectExt() {}
  9984  
  9985  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask {
  9986  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask()
  9987  }
  9988  
  9989  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus) MakeRawFullFieldMask() gotenobject.FieldMask {
  9990  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask()
  9991  }
  9992  
  9993  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask {
  9994  	if o == nil && other == nil {
  9995  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask{}
  9996  	}
  9997  	if o == nil || other == nil {
  9998  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask()
  9999  	}
 10000  
 10001  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask{}
 10002  	if o.GetDbusPath() != other.GetDbusPath() {
 10003  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorDbusPath})
 10004  	}
 10005  	if o.GetActive() != other.GetActive() {
 10006  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorActive})
 10007  	}
 10008  	if o.GetEid() != other.GetEid() {
 10009  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorEid})
 10010  	}
 10011  
 10012  	if len(o.GetEmergencyNumbers()) == len(other.GetEmergencyNumbers()) {
 10013  		for i, lValue := range o.GetEmergencyNumbers() {
 10014  			rValue := other.GetEmergencyNumbers()[i]
 10015  			if lValue != rValue {
 10016  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorEmergencyNumbers})
 10017  				break
 10018  			}
 10019  		}
 10020  	} else {
 10021  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorEmergencyNumbers})
 10022  	}
 10023  	if o.GetEsimStatus() != other.GetEsimStatus() {
 10024  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorEsimStatus})
 10025  	}
 10026  	if o.GetGid1() != other.GetGid1() {
 10027  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorGid1})
 10028  	}
 10029  	if o.GetGid2() != other.GetGid2() {
 10030  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorGid2})
 10031  	}
 10032  	if o.GetIccid() != other.GetIccid() {
 10033  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorIccid})
 10034  	}
 10035  	if o.GetImsi() != other.GetImsi() {
 10036  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorImsi})
 10037  	}
 10038  	if o.GetOperatorCode() != other.GetOperatorCode() {
 10039  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorOperatorCode})
 10040  	}
 10041  	if o.GetOperatorName() != other.GetOperatorName() {
 10042  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorOperatorName})
 10043  	}
 10044  	if o.GetRemovability() != other.GetRemovability() {
 10045  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorRemovability})
 10046  	}
 10047  	if o.GetSimType() != other.GetSimType() {
 10048  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorSimType})
 10049  	}
 10050  	return res
 10051  }
 10052  
 10053  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
 10054  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus))
 10055  }
 10056  
 10057  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus {
 10058  	if o == nil {
 10059  		return nil
 10060  	}
 10061  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus{}
 10062  	result.DbusPath = o.DbusPath
 10063  	result.Active = o.Active
 10064  	result.Eid = o.Eid
 10065  	result.EmergencyNumbers = make([]string, len(o.EmergencyNumbers))
 10066  	for i, sourceValue := range o.EmergencyNumbers {
 10067  		result.EmergencyNumbers[i] = sourceValue
 10068  	}
 10069  	result.EsimStatus = o.EsimStatus
 10070  	result.Gid1 = o.Gid1
 10071  	result.Gid2 = o.Gid2
 10072  	result.Iccid = o.Iccid
 10073  	result.Imsi = o.Imsi
 10074  	result.OperatorCode = o.OperatorCode
 10075  	result.OperatorName = o.OperatorName
 10076  	result.Removability = o.Removability
 10077  	result.SimType = o.SimType
 10078  	return result
 10079  }
 10080  
 10081  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus) CloneRaw() gotenobject.GotenObjectExt {
 10082  	return o.Clone()
 10083  }
 10084  
 10085  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus) {
 10086  	o.DbusPath = source.GetDbusPath()
 10087  	o.Active = source.GetActive()
 10088  	o.Eid = source.GetEid()
 10089  	for _, sourceValue := range source.GetEmergencyNumbers() {
 10090  		exists := false
 10091  		for _, currentValue := range o.EmergencyNumbers {
 10092  			if currentValue == sourceValue {
 10093  				exists = true
 10094  				break
 10095  			}
 10096  		}
 10097  		if !exists {
 10098  			var newDstElement string
 10099  			newDstElement = sourceValue
 10100  			o.EmergencyNumbers = append(o.EmergencyNumbers, newDstElement)
 10101  		}
 10102  	}
 10103  
 10104  	o.EsimStatus = source.GetEsimStatus()
 10105  	o.Gid1 = source.GetGid1()
 10106  	o.Gid2 = source.GetGid2()
 10107  	o.Iccid = source.GetIccid()
 10108  	o.Imsi = source.GetImsi()
 10109  	o.OperatorCode = source.GetOperatorCode()
 10110  	o.OperatorName = source.GetOperatorName()
 10111  	o.Removability = source.GetRemovability()
 10112  	o.SimType = source.GetSimType()
 10113  }
 10114  
 10115  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus) MergeRaw(source gotenobject.GotenObjectExt) {
 10116  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus))
 10117  }
 10118  
 10119  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem) GotenObjectExt() {}
 10120  
 10121  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem) MakeFullFieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask {
 10122  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask()
 10123  }
 10124  
 10125  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem) MakeRawFullFieldMask() gotenobject.FieldMask {
 10126  	return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask()
 10127  }
 10128  
 10129  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem) MakeDiffFieldMask(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask {
 10130  	if o == nil && other == nil {
 10131  		return &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask{}
 10132  	}
 10133  	if o == nil || other == nil {
 10134  		return FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask()
 10135  	}
 10136  
 10137  	res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask{}
 10138  	{
 10139  		subMask := o.GetThreeGPp().MakeDiffFieldMask(other.GetThreeGPp())
 10140  		if subMask.IsFull() {
 10141  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorThreeGPp})
 10142  		} else {
 10143  			for _, subpath := range subMask.Paths {
 10144  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorThreeGPp, subPath: subpath})
 10145  			}
 10146  		}
 10147  	}
 10148  	{
 10149  		subMask := o.GetCdma().MakeDiffFieldMask(other.GetCdma())
 10150  		if subMask.IsFull() {
 10151  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorCdma})
 10152  		} else {
 10153  			for _, subpath := range subMask.Paths {
 10154  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorCdma, subPath: subpath})
 10155  			}
 10156  		}
 10157  	}
 10158  	if o.GetDbusPath() != other.GetDbusPath() {
 10159  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorDbusPath})
 10160  	}
 10161  	{
 10162  		subMask := o.GetGeneric().MakeDiffFieldMask(other.GetGeneric())
 10163  		if subMask.IsFull() {
 10164  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorGeneric})
 10165  		} else {
 10166  			for _, subpath := range subMask.Paths {
 10167  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorGeneric, subPath: subpath})
 10168  			}
 10169  		}
 10170  	}
 10171  	{
 10172  		subMask := o.GetSignal().MakeDiffFieldMask(other.GetSignal())
 10173  		if subMask.IsFull() {
 10174  			res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorSignal})
 10175  		} else {
 10176  			for _, subpath := range subMask.Paths {
 10177  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldSubPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorSignal, subPath: subpath})
 10178  			}
 10179  		}
 10180  	}
 10181  
 10182  	if len(o.GetSimStatus()) == len(other.GetSimStatus()) {
 10183  		for i, lValue := range o.GetSimStatus() {
 10184  			rValue := other.GetSimStatus()[i]
 10185  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
 10186  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorSimStatus})
 10187  				break
 10188  			}
 10189  		}
 10190  	} else {
 10191  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorSimStatus})
 10192  	}
 10193  	return res
 10194  }
 10195  
 10196  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
 10197  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem))
 10198  }
 10199  
 10200  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem) Clone() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem {
 10201  	if o == nil {
 10202  		return nil
 10203  	}
 10204  	result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem{}
 10205  	result.ThreeGPp = o.ThreeGPp.Clone()
 10206  	result.Cdma = o.Cdma.Clone()
 10207  	result.DbusPath = o.DbusPath
 10208  	result.Generic = o.Generic.Clone()
 10209  	result.Signal = o.Signal.Clone()
 10210  	result.SimStatus = map[string]*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus{}
 10211  	for key, sourceValue := range o.SimStatus {
 10212  		result.SimStatus[key] = sourceValue.Clone()
 10213  	}
 10214  	return result
 10215  }
 10216  
 10217  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem) CloneRaw() gotenobject.GotenObjectExt {
 10218  	return o.Clone()
 10219  }
 10220  
 10221  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem) Merge(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem) {
 10222  	if source.GetThreeGPp() != nil {
 10223  		if o.ThreeGPp == nil {
 10224  			o.ThreeGPp = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp)
 10225  		}
 10226  		o.ThreeGPp.Merge(source.GetThreeGPp())
 10227  	}
 10228  	if source.GetCdma() != nil {
 10229  		if o.Cdma == nil {
 10230  			o.Cdma = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma)
 10231  		}
 10232  		o.Cdma.Merge(source.GetCdma())
 10233  	}
 10234  	o.DbusPath = source.GetDbusPath()
 10235  	if source.GetGeneric() != nil {
 10236  		if o.Generic == nil {
 10237  			o.Generic = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic)
 10238  		}
 10239  		o.Generic.Merge(source.GetGeneric())
 10240  	}
 10241  	if source.GetSignal() != nil {
 10242  		if o.Signal == nil {
 10243  			o.Signal = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Signal)
 10244  		}
 10245  		o.Signal.Merge(source.GetSignal())
 10246  	}
 10247  	if source.GetSimStatus() != nil {
 10248  		if o.SimStatus == nil {
 10249  			o.SimStatus = make(map[string]*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus, len(source.GetSimStatus()))
 10250  		}
 10251  		for key, sourceValue := range source.GetSimStatus() {
 10252  			if sourceValue != nil {
 10253  				if o.SimStatus[key] == nil {
 10254  					o.SimStatus[key] = new(Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus)
 10255  				}
 10256  				o.SimStatus[key].Merge(sourceValue)
 10257  			}
 10258  		}
 10259  	}
 10260  }
 10261  
 10262  func (o *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem) MergeRaw(source gotenobject.GotenObjectExt) {
 10263  	o.Merge(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem))
 10264  }
 10265  
 10266  func (o *Device_Status_DeviceInfo_NetworkInterface_ASInfo) GotenObjectExt() {}
 10267  
 10268  func (o *Device_Status_DeviceInfo_NetworkInterface_ASInfo) MakeFullFieldMask() *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask {
 10269  	return FullDevice_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask()
 10270  }
 10271  
 10272  func (o *Device_Status_DeviceInfo_NetworkInterface_ASInfo) MakeRawFullFieldMask() gotenobject.FieldMask {
 10273  	return FullDevice_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask()
 10274  }
 10275  
 10276  func (o *Device_Status_DeviceInfo_NetworkInterface_ASInfo) MakeDiffFieldMask(other *Device_Status_DeviceInfo_NetworkInterface_ASInfo) *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask {
 10277  	if o == nil && other == nil {
 10278  		return &Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask{}
 10279  	}
 10280  	if o == nil || other == nil {
 10281  		return FullDevice_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask()
 10282  	}
 10283  
 10284  	res := &Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask{}
 10285  	if o.GetAsn() != other.GetAsn() {
 10286  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorAsn})
 10287  	}
 10288  	if o.GetName() != other.GetName() {
 10289  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorName})
 10290  	}
 10291  	if o.GetDomain() != other.GetDomain() {
 10292  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorDomain})
 10293  	}
 10294  
 10295  	if len(o.GetRoutes()) == len(other.GetRoutes()) {
 10296  		for i, lValue := range o.GetRoutes() {
 10297  			rValue := other.GetRoutes()[i]
 10298  			if lValue != rValue {
 10299  				res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorRoutes})
 10300  				break
 10301  			}
 10302  		}
 10303  	} else {
 10304  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorRoutes})
 10305  	}
 10306  	if o.GetAsnType() != other.GetAsnType() {
 10307  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorAsnType})
 10308  	}
 10309  	return res
 10310  }
 10311  
 10312  func (o *Device_Status_DeviceInfo_NetworkInterface_ASInfo) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
 10313  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_NetworkInterface_ASInfo))
 10314  }
 10315  
 10316  func (o *Device_Status_DeviceInfo_NetworkInterface_ASInfo) Clone() *Device_Status_DeviceInfo_NetworkInterface_ASInfo {
 10317  	if o == nil {
 10318  		return nil
 10319  	}
 10320  	result := &Device_Status_DeviceInfo_NetworkInterface_ASInfo{}
 10321  	result.Asn = o.Asn
 10322  	result.Name = o.Name
 10323  	result.Domain = o.Domain
 10324  	result.Routes = make([]string, len(o.Routes))
 10325  	for i, sourceValue := range o.Routes {
 10326  		result.Routes[i] = sourceValue
 10327  	}
 10328  	result.AsnType = o.AsnType
 10329  	return result
 10330  }
 10331  
 10332  func (o *Device_Status_DeviceInfo_NetworkInterface_ASInfo) CloneRaw() gotenobject.GotenObjectExt {
 10333  	return o.Clone()
 10334  }
 10335  
 10336  func (o *Device_Status_DeviceInfo_NetworkInterface_ASInfo) Merge(source *Device_Status_DeviceInfo_NetworkInterface_ASInfo) {
 10337  	o.Asn = source.GetAsn()
 10338  	o.Name = source.GetName()
 10339  	o.Domain = source.GetDomain()
 10340  	for _, sourceValue := range source.GetRoutes() {
 10341  		exists := false
 10342  		for _, currentValue := range o.Routes {
 10343  			if currentValue == sourceValue {
 10344  				exists = true
 10345  				break
 10346  			}
 10347  		}
 10348  		if !exists {
 10349  			var newDstElement string
 10350  			newDstElement = sourceValue
 10351  			o.Routes = append(o.Routes, newDstElement)
 10352  		}
 10353  	}
 10354  
 10355  	o.AsnType = source.GetAsnType()
 10356  }
 10357  
 10358  func (o *Device_Status_DeviceInfo_NetworkInterface_ASInfo) MergeRaw(source gotenobject.GotenObjectExt) {
 10359  	o.Merge(source.(*Device_Status_DeviceInfo_NetworkInterface_ASInfo))
 10360  }
 10361  
 10362  func (o *Device_Status_DeviceInfo_NetworkInterface_Carrier) GotenObjectExt() {}
 10363  
 10364  func (o *Device_Status_DeviceInfo_NetworkInterface_Carrier) MakeFullFieldMask() *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask {
 10365  	return FullDevice_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask()
 10366  }
 10367  
 10368  func (o *Device_Status_DeviceInfo_NetworkInterface_Carrier) MakeRawFullFieldMask() gotenobject.FieldMask {
 10369  	return FullDevice_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask()
 10370  }
 10371  
 10372  func (o *Device_Status_DeviceInfo_NetworkInterface_Carrier) MakeDiffFieldMask(other *Device_Status_DeviceInfo_NetworkInterface_Carrier) *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask {
 10373  	if o == nil && other == nil {
 10374  		return &Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask{}
 10375  	}
 10376  	if o == nil || other == nil {
 10377  		return FullDevice_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask()
 10378  	}
 10379  
 10380  	res := &Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask{}
 10381  	if o.GetName() != other.GetName() {
 10382  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPathSelectorName})
 10383  	}
 10384  	if o.GetMobileCountryCode() != other.GetMobileCountryCode() {
 10385  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPathSelectorMobileCountryCode})
 10386  	}
 10387  	if o.GetMobileNetworkCode() != other.GetMobileNetworkCode() {
 10388  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPathSelectorMobileNetworkCode})
 10389  	}
 10390  	if o.GetLocationAreaCode() != other.GetLocationAreaCode() {
 10391  		res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPathSelectorLocationAreaCode})
 10392  	}
 10393  	return res
 10394  }
 10395  
 10396  func (o *Device_Status_DeviceInfo_NetworkInterface_Carrier) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
 10397  	return o.MakeDiffFieldMask(other.(*Device_Status_DeviceInfo_NetworkInterface_Carrier))
 10398  }
 10399  
 10400  func (o *Device_Status_DeviceInfo_NetworkInterface_Carrier) Clone() *Device_Status_DeviceInfo_NetworkInterface_Carrier {
 10401  	if o == nil {
 10402  		return nil
 10403  	}
 10404  	result := &Device_Status_DeviceInfo_NetworkInterface_Carrier{}
 10405  	result.Name = o.Name
 10406  	result.MobileCountryCode = o.MobileCountryCode
 10407  	result.MobileNetworkCode = o.MobileNetworkCode
 10408  	result.LocationAreaCode = o.LocationAreaCode
 10409  	return result
 10410  }
 10411  
 10412  func (o *Device_Status_DeviceInfo_NetworkInterface_Carrier) CloneRaw() gotenobject.GotenObjectExt {
 10413  	return o.Clone()
 10414  }
 10415  
 10416  func (o *Device_Status_DeviceInfo_NetworkInterface_Carrier) Merge(source *Device_Status_DeviceInfo_NetworkInterface_Carrier) {
 10417  	o.Name = source.GetName()
 10418  	o.MobileCountryCode = source.GetMobileCountryCode()
 10419  	o.MobileNetworkCode = source.GetMobileNetworkCode()
 10420  	o.LocationAreaCode = source.GetLocationAreaCode()
 10421  }
 10422  
 10423  func (o *Device_Status_DeviceInfo_NetworkInterface_Carrier) MergeRaw(source gotenobject.GotenObjectExt) {
 10424  	o.Merge(source.(*Device_Status_DeviceInfo_NetworkInterface_Carrier))
 10425  }