Ë
    S>{iê  ã                  óÎ   — d Z ddlmZ ddlmZmZmZmZ ddlm	Z	 ddl
mZmZ er+ddlmZmZ dd	lmZ dd
lmZ ddlmZ eeegef   Zeegef   Z G d„ de«      Z G d„ de«      Zy)zATypes and utility functions used by various other internal tools.é    )Úannotations)ÚTYPE_CHECKINGÚAnyÚCallableÚLiteral)Úcore_schemaé   )ÚGetCoreSchemaHandlerÚGetJsonSchemaHandler)ÚGenerateJsonSchemaÚJsonSchemaValueé   )ÚCoreSchemaOrField)ÚGenerateSchema)ÚNamespacesTuplec                  ó(   — e Zd ZdZdd„Zdd„Zdd„Zy)	ÚGenerateJsonSchemaHandleraS  JsonSchemaHandler implementation that doesn't do ref unwrapping by default.

    This is used for any Annotated metadata so that we don't end up with conflicting
    modifications to the definition schema.

    Used internally by Pydantic, please do not rely on this implementation.
    See `GetJsonSchemaHandler` for the handler API.
    c                ó^   — || _         |xs |j                  | _        |j                  | _        y ©N)Úgenerate_json_schemaÚgenerate_innerÚhandlerÚmode)Úselfr   Úhandler_overrides      új/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pydantic/_internal/_schema_generation_shared.pyÚ__init__z"GenerateJsonSchemaHandler.__init__   s*   € Ø$8ˆÔ!Ø'ÒNÐ+?×+NÑ+NˆŒØ(×-Ñ-ˆ�	ó    c               ó$   — | j                  |«      S r   )r   )r   r   s     r   Ú__call__z"GenerateJsonSchemaHandler.__call__$   s   € Ø�|‰|˜KÓ(Ð(r   c                ót   — d|vr|S |d   }| j                   j                  |«      }|€t        d|› d�«      ‚|S )aj  Resolves `$ref` in the json schema.

        This returns the input json schema if there is no `$ref` in json schema.

        Args:
            maybe_ref_json_schema: The input json schema that may contains `$ref`.

        Returns:
            Resolved json schema.

        Raises:
            LookupError: If it can't find the definition for `$ref`.
        z$refúCould not find a ref for úK. Maybe you tried to call resolve_ref_schema from within a recursive model?)r   Úget_schema_from_definitionsÚLookupError)r   Úmaybe_ref_json_schemaÚrefÚjson_schemas       r   Úresolve_ref_schemaz,GenerateJsonSchemaHandler.resolve_ref_schema'   sa   € ð Ð.Ñ.Ø(Ð(Ø# FÑ+ˆØ×/Ñ/×KÑKÈCÓPˆØÐÜØ+¨C¨5ð 1]ð ]óð ð Ðr   N)r   r   r   zHandlerOverride | NoneÚreturnÚNone)r   r   r*   r   )r&   r   r*   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r    r)   © r   r   r   r      s   „ ñó.ó
)ôr   r   c                  ó\   — e Zd ZdZ	 d		 	 	 	 	 	 	 d
d„Zdd„Zdd„Zdd„Zedd„«       Z	dd„Z
y)ÚCallbackGetCoreSchemaHandlerzÇWrapper to use an arbitrary function as a `GetCoreSchemaHandler`.

    Used internally by Pydantic, please do not rely on this implementation.
    See `GetCoreSchemaHandler` for the handler API.
    c                ó.   — || _         || _        || _        y r   )Ú_handlerÚ_generate_schemaÚ	_ref_mode)r   r   Úgenerate_schemaÚref_modes       r   r   z%CallbackGetCoreSchemaHandler.__init__H   s   € ð  ˆŒØ /ˆÔØ!ˆ�r   c               óØ   — | j                  |«      }| j                  dk(  r:|j                  d«      }|�%| j                  j                  j                  |«      S |S | j                  |«      S )Núto-defr'   )r4   r6   Úgetr5   ÚdefsÚ"create_definition_reference_schemar)   )r   Úsource_typeÚschemar'   s       r   r    z%CallbackGetCoreSchemaHandler.__call__R   sc   € Ø—‘˜{Ó+ˆØ�>‰>˜XÒ%Ø—*‘*˜UÓ#ˆCØˆØ×,Ñ,×1Ñ1×TÑTÐU[Ó\Ð\ØˆMà×*Ñ*¨6Ó2Ð2r   c                ó.   — | j                   j                  S r   )r5   Ú_types_namespace©r   s    r   Ú_get_types_namespacez1CallbackGetCoreSchemaHandler._get_types_namespace\   s   € Ø×$Ñ$×5Ñ5Ð5r   c               ó8   — | j                   j                  |«      S r   )r5   r7   )r   r>   s     r   r7   z,CallbackGetCoreSchemaHandler.generate_schema_   s   € Ø×$Ñ$×4Ñ4°[ÓAÐAr   c                óJ   — | j                   j                  j                  «       S r   )r5   Úfield_name_stackr;   rB   s    r   Ú
field_namez'CallbackGetCoreSchemaHandler.field_nameb   s   € à×$Ñ$×5Ñ5×9Ñ9Ó;Ð;r   c                óÈ   — |d   dk(  r=|d   }| j                   j                  j                  |«      }|€t        d|› d�«      ‚|S |d   dk(  r| j	                  |d   «      S |S )a  Resolves reference in the core schema.

        Args:
            maybe_ref_schema: The input core schema that may contains reference.

        Returns:
            Resolved core schema.

        Raises:
            LookupError: If it can't find the definition for reference.
        Útypezdefinition-refÚ
schema_refr"   r#   Údefinitionsr?   )r5   r<   Úget_schema_from_refr%   r)   )r   Úmaybe_ref_schemar'   Ú
definitions       r   r)   z/CallbackGetCoreSchemaHandler.resolve_ref_schemaf   s�   € ð ˜FÑ#Ð'7Ò7Ø" <Ñ0ˆCØ×.Ñ.×3Ñ3×GÑGÈÓLˆJØÐ!Ü!Ø/°¨uð 5að aóð ð ÐØ˜fÑ%¨Ò6Ø×*Ñ*Ð+;¸HÑ+EÓFÐFØÐr   N)r:   )r   z'Callable[[Any], core_schema.CoreSchema]r7   r   r8   zLiteral['to-def', 'unpack']r*   r+   )r>   r   r*   úcore_schema.CoreSchema)r*   r   )r*   z
str | None)rM   rO   r*   rO   )r,   r-   r.   r/   r   r    rC   r7   ÚpropertyrG   r)   r0   r   r   r2   r2   A   s`   „ ñð 19ð	"à8ð"ð (ð"ð .ð	"ð
 
ó"ó3ó6óBð ò<ó ð<ô r   r2   N)r/   Ú
__future__r   Útypingr   r   r   r   Úpydantic_corer   Úannotated_handlersr
   r   r(   r   r   Ú_core_utilsr   r5   r   Ú_namespace_utilsr   ÚGetJsonSchemaFunctionÚHandlerOverrider   r2   r0   r   r   ú<module>rY      sl   ðÙ Gå "ç 8Ó 8å %ç KáßAÝ.Ý0Ý1à$Ð&7Ð9MÐ%NÐP_Ð%_Ñ`ÐØÐ 1Ð2°OÐCÑD€Oô)Ð 4ô )ôX< Ð#7õ < r   