// Equals tests equality against another Text.
961499
func (e Text) Equals(other core.DxfElement) bool {
	if otherText, ok := other.(*Text); ok {
		return e.BaseEntity.Equals(otherText.BaseEntity) &&
			core.FloatEquals(e.Thickness, otherText.Thickness) &&
			e.FirstAlignmentPoint.Equals(otherText.FirstAlignmentPoint) &&
			core.FloatEquals(e.Height, otherText.Height) &&
			e.Value == otherText.Value &&
			core.FloatEquals(e.Rotation, otherText.Rotation) &&
			core.FloatEquals(e.RelativeXScale, otherText.RelativeXScale) &&
			core.FloatEquals(e.ObliqueAngle, otherText.ObliqueAngle) &&
			e.StyleName == otherText.StyleName &&
			e.MirroredX == otherText.MirroredX &&
			e.MirroredY == otherText.MirroredY &&
			e.HorizontalJustification == otherText.HorizontalJustification &&
			e.SecondAlignmentPoint.Equals(otherText.SecondAlignmentPoint) &&
			e.ExtrusionDirection.Equals(otherText.ExtrusionDirection) &&
			e.VerticalJustification == otherText.VerticalJustification
	}
	return false
}
474878
func (msg *Message) Equals(m *Message) bool {
	return reflect.DeepEqual(msg, m)
}
545593
func (v *value) Equals(to Value) bool {
	vto, ok := to.(*value)
	if !ok {
		return false
	}
	if vv, ok := isValue(v.raw); ok {
		if vtov, ok := isValue(vto.raw); ok {
			return vv == vtov
		}
	}
	return reflect.DeepEqual(v.raw, vto.raw)
}
667294
func (pubKey PubKeyEd25519) Equals(other crypto.PubKey) bool {
	if otherEd, ok := other.(PubKeyEd25519); ok {
		return bytes.Equal(pubKey[:], otherEd[:])
	} else {
		return false
	}
}
286244
func Equals(a interface{}, b interface{}) BoolPredicate {
	return func() bool {
		switch aval := a.(type) {
		case string:
			bval, ok := b.(string)
			return ok && aval == bval
		case []string:
			bval, ok := b.([]string)
			if !ok {
				return false
			}
			if len(aval) != len(bval) {
				return false
			}
			for i := range aval {
				if aval[i] != bval[i] {
					return false
				}
			}
			return true
		default:
			return false
		}
	}
}
1074227
func (n ACIdentifier) Equals(o ACIdentifier) bool {
	return strings.ToLower(string(n)) == strings.ToLower(string(o))
}
328686
func (pk PubKeyMultisigThreshold) Equals(other crypto.PubKey) bool {
	otherKey, sameType := other.(PubKeyMultisigThreshold)
	if !sameType {
		return false
	}
	if pk.K != otherKey.K || len(pk.PubKeys) != len(otherKey.PubKeys) {
		return false
	}
	for i := 0; i < len(pk.PubKeys); i++ {
		if !pk.PubKeys[i].Equals(otherKey.PubKeys[i]) {
			return false
		}
	}
	return true
}
513365
func (v *Plugin_Goodbye_Result) Equals(rhs *Plugin_Goodbye_Result) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}

	return true
}
729440
func (l *Label) Equals(b *Label) bool {
	if !l.IsAnySource() && l.Source != b.Source {
		return false
	}
	return l.Key == b.Key && l.Value == b.Value
}
791121
func (v *EchoResponse) Equals(rhs *EchoResponse) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !(v.Message == rhs.Message) {
		return false
	}
	if !(v.Count == rhs.Count) {
		return false
	}

	return true
}
427999
func (v *TApplicationException) Equals(rhs *TApplicationException) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !_String_EqualsPtr(v.Message, rhs.Message) {
		return false
	}
	if !_ExceptionType_EqualsPtr(v.Type, rhs.Type) {
		return false
	}

	return true
}
1123141
func (s String) Equals(other DxfElement) bool {
	if sStr, ok := other.(*String); ok {
		return s.value == sStr.value
	}
	return false
}
1363814
func (c *CommandLabelV2) Equals(other CommandLabel) bool {
	if c.GetPeriod() != other.GetPeriod() {
		return false
	}
	if c.GetResult() != other.GetResult() {
		return false
	}
	if !utils.StringSlicesEqual(c.GetCommand(), other.GetCommand()) {
		return false
	}
	return true
}
441566
func (ls Labels) Equals(o Labels) bool {
	if len(ls) != len(o) {
		return false
	}
	for i, l := range ls {
		if o[i] != l {
			return false
		}
	}
	return true
}
333489
func (s1 StringSet) Equals(s2 StringSet) bool {
	if len(s1) != len(s2) {
		return false
	}
	for key, _ := range s1 {
		if _, ok := s2[key]; !ok {
			return false
		}
	}
	return true
}
81484
func (v *OneField) Equals(rhs *OneField) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !((v.Field == nil && rhs.Field == nil) || (v.Field != nil && rhs.Field != nil && v.Field.Equals(rhs.Field))) {
		return false
	}

	return true
}
1134165
func (bb BoundingBox) Equals(test BoundingBox) bool {
	bblen := len(bb)
	testlen := len(test)
	if (bblen == 0) && (testlen == 0) {
		return true
	}
	if (bblen == 0) || (testlen == 0) || (bblen != testlen) {
		return false
	}
	for inx := 0; inx < bblen; inx++ {
		if bb[inx] != test[inx] {
			return false
		}
	}
	return true
}