Ë
    ¯ŒjÕ  ã                  óÒ   — d Z ddlmZ ddlZddlmZ ej                  rddlmZ e	e   Z
i Zdd„Zej                  ddœdd	„«       Zej                  ddœ	 	 	 	 	 dd
„«       Zddœdd„Zy)a!  A registry of :class:`Schema <marshmallow.Schema>` classes. This allows for string
lookup of schemas, which may be used with
class:`fields.Nested <marshmallow.fields.Nested>`.

.. warning::

    This module is treated as private API.
    Users should not need to use this module directly.
é    )ÚannotationsN)ÚRegistryError)ÚSchemac                ó8  ‡— |j                   Š‰› d| › �}| t        v r4t        ˆfd„t        |    D «       «      st        |    j                  |«       n| t        vr
|gt        | <   |t        vr&t        j	                  |g «      j                  |«       y|gt        |<   y)a¤  Add a class to the registry of serializer classes. When a class is
    registered, an entry for both its classname and its full, module-qualified
    path are added to the registry.

    Example: ::

        class MyClass:
            pass


        register("MyClass", MyClass)
        # Registry:
        # {
        #   'MyClass': [path.to.MyClass],
        #   'path.to.MyClass': [path.to.MyClass],
        # }

    Ú.c              3  ó<   •K  — | ]  }|j                   ‰k(  –— Œ y ­w©N)Ú
__module__)Ú.0ÚeachÚmodules     €úd/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/marshmallow/class_registry.pyÚ	<genexpr>zregister.<locals>.<genexpr>9   s   øè ø€ ð *Ù.B dˆ�‰˜6Õ!Ñ.Bùs   ƒN)r
   Ú	_registryÚanyÚappendÚ
setdefault)Ú	classnameÚclsÚfullpathr   s      @r   Úregisterr      sŸ   ø€ ð( �^‰^€Fð �˜˜9˜+Ð&€Hð ”IÑ¤có *Ü.7¸	Ò.Bó*ô 'ô 	�)Ñ×#Ñ# CÕ(Ø	œ)Ñ	#Ø #˜uŒ	�)Ñð ”yÑ Ü×Ñ˜X rÓ*×1Ñ1°#Õ6ð  #˜eŒ	�(Òó    .)Úallc                ó   — y r	   © ©r   r   s     r   Ú	get_classr   H   s   € ØRUr   c                ó   — y r	   r   r   s     r   r   r   L   s   € ð r   Fc               óÀ   — 	 t         |    }t        |«      dkD  r|r	t         |    S t        d| ›d�«      ‚t         |    d   S # t        $ r}t        d| ›d�«      |‚d}~ww xY w)z½Retrieve a class from the registry.

    :raises: `marshmallow.exceptions.RegistryError` if the class cannot be found
        or if there are multiple entries for the given class name.
    zClass with name z1 was not found. You may need to import the class.Né   zMultiple classes with name z8 were found. Please use the full, module-qualified path.r   )r   ÚKeyErrorr   Úlen)r   r   ÚclassesÚerrors       r   r   r   R   s’   € ðÜ˜IÑ&ˆô ˆ7ƒ|�aÒÙÜ˜YÑ'Ð'ÜØ)¨)¨ð 7%ð %ó
ð 	
ô
 �YÑ Ñ"Ð"øô ò ÜØ˜y˜mð ,#ð #ó
ð ð	ûðús   ‚	? ¿	AÁAÁA)r   Ústrr   Ú
SchemaTypeÚreturnÚNone)r   r%   r   ztyping.Literal[False]r'   r&   )r   r%   r   ztyping.Literal[True]r'   zlist[SchemaType])r   r%   r   Úboolr'   zlist[SchemaType] | SchemaType)Ú__doc__Ú
__future__r   ÚtypingÚmarshmallow.exceptionsr   ÚTYPE_CHECKINGÚmarshmallowr   Útyper&   r   r   Úoverloadr   r   r   r   Ú<module>r2      s‹   ðñõ #ã å 0à	×ÒÝ"à�f‘€Jð €	ó'$ðT ‡�Ø>AÔ Uó Ø Uð ‡�à36ñØðØ0ðàòó ðð
 .3ö #r   