K i"dZdgZGddZy)zMixin classes for sharing functionality between unrelated classes. This module is named with a leading underscore to signify to users that it's "private" and only intended for internal use by the biomechanics module. _NamedMixincTeZdZdZedefdZejdeddfdZy)raoMixin class for adding `name` properties. Valid names, as will typically be used by subclasses as a suffix when naming automatically-instantiated symbol attributes, must be nonzero length strings. Attributes ========== name : str The name identifier associated with the instance. Must be a string of length at least 1. returnc|jS)z,The name associated with the class instance.)_name)selfs g/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/physics/biomechanics/_mixin.pynamez_NamedMixin.nameszzr Nc4t|drdt|d}t|t|ts-dt|dt |dtd}t ||dvr*dt|d t td}t|||_y) NrzCan't set attribute `name` to z as it is immutable.zName z passed to `name` was of type z , must be .>z& is invalid, must be a nonzero length ) hasattrreprAttributeError isinstancestrtype TypeError ValueErrorr)rr msgs rr z_NamedMixin.name!s 4 !1$t*> !% %$$T |#A:,jQ0 C. 4<T |#I9+Q  S/ ! r )__name__ __module__ __qualname____doc__propertyrr setterr rrr sH c [[r N)r__all__rrr rrs /))r