Ë
    |¾j2 ã                  ó†  — U d Z ddlmZ ddlZddlZddlZddlZddlZddl	m	Z	m
Z
 ddlmZmZmZmZmZmZmZmZmZ ddlZddlZddlmZ ddlmZ dd	lmZmZmZmZmZmZmZm Z m!Z!m"Z" dd
l#m$Z$ ddl%m&Z&m'Z' ddl(m)Z)m*Z* ddl+m,Z, ddl-m.Z.m/Z/ ddl0m1Z1m2Z2m3Z3m4Z4m5Z5 ddlm6Z6  edd¬«      Z7eee8ef   ddf   Z9eee:   ee8   ee:ef   ee8ef   df   Z;de<d<   ejz                  r;ddl>m?Z? ddl@mAZA ddlmBZBmCZCmDZD ddlmEZE ddlFmGZGmHZH ddlImJZK ddlLmMZMmNZNmOZO ddlLmPZQ ne6ZRdZSej¨                  ZU G d„ dej¬                  ¬ «      ZWej°                  dddeYddd!œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d'd"„«       ZZej°                  ddeYddd#œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d(d$„«       ZZdddddddd%œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d)d&„ZZ e$eY«      Z[y)*zLogic for creating models.é    )ÚannotationsN)ÚcopyÚdeepcopy)	ÚAnyÚClassVarÚDictÚ	GeneratorÚLiteralÚSetÚTupleÚTypeVarÚUnion)ÚPydanticUndefined)Ú	TypeAliasé   )
Ú_configÚ_decoratorsÚ_fieldsÚ_forward_refÚ	_genericsÚ_mock_val_serÚ_model_constructionÚ_reprÚ_typing_extraÚ_utils)Úgetattr_migration)ÚAliasChoicesÚ	AliasPath)ÚGetCoreSchemaHandlerÚGetJsonSchemaHandler)Ú
ConfigDict)ÚPydanticUndefinedAnnotationÚPydanticUserError)ÚDEFAULT_REF_TEMPLATEÚGenerateJsonSchemaÚJsonSchemaModeÚJsonSchemaValueÚmodel_json_schema)ÚPydanticDeprecatedSince20ÚModelÚ	BaseModel)Úboundr   ÚIncEx)Ú	Signature)ÚPath)Ú
CoreSchemaÚSchemaSerializerÚSchemaValidator)ÚUnpack)ÚAbstractSetIntStrÚMappingIntStrAny)ÚProtocol)ÚComputedFieldInfoÚ	FieldInfoÚModelPrivateAttr)ÚField)r+   Úcreate_modelc                  óÈ
  ‡ — e Zd ZU dZej
                  r~ded<   	 ded<   	 ded<   	 ded	<   d
ed<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<    ed ¬!«      Zd"ed#<    ed ¬!«      Z	d$ed%<    ed ¬!«      Z
d"ed&<   nAi Zi Z ej                  «       Zd'Z ej$                  d(d)d*¬+«      Z ej$                  d(d,d*¬+«      Zd-Z e«       Zd Zd Zdƒd.„Zd/e_        ed„d0„«       Zed…d1„«       Zed†d‡d2„«       Z d'd d3œdˆd4„Z!d5d'd'd'd d d d d d/d d6œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d‰d7„Z"d'd'd'd'd d d d d d/d d8œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dŠd9„Z#ed/e$e%d:f	 	 	 	 	 	 	 	 	 d‹d;„«       Z&edŒd<„«       Z'd�d=„Z(ed d/d>d'd?œ	 	 	 	 	 	 	 	 	 dŽd@„«       Z)ed'd'd'dAœ	 	 	 	 	 	 	 	 	 	 	 d�dB„«       Z*ed'd'dCœ	 	 	 	 	 	 	 	 	 d�dD„«       Z+ed'd'dCœ	 	 	 	 	 	 	 	 	 d‘dE„«       Z,ed’dF„«       Z-e	 	 	 	 	 	 d“dG„«       Z.ed”dH„«       Z/	 	 	 	 d•dI„Z0d–dJ„Z1d†d—dK„Z2ej
                  sd˜ˆ fdL„Z3d™dM„Z4d˜dN„Z5d™dO„Z6dšdP„Z7d›dQ„Z8ej
                  sdœdR„Z9ej
                  rd�dS„Z:dždT„Z;dŸdU„Z<d dV„Z=e>j~                  j€                  Z@e>j~                  j‚                  ZAe>j~                  j„                  ZBe>j~                  j†                  ZCdŸdW„ZDe eEjŒ                  dXd'¬Y«      d¡dZ„«       «       ZGe eEjŒ                  d[d'¬Y«      d…d\„«       «       ZH eEjŒ                  d]d'¬Y«      d'd'd d d d d^œ	 	 	 	 	 	 	 	 	 	 	 	 	 d¢d_„«       ZI eEjŒ                  d`d'¬Y«      d'd'd d d d eJeJdaœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d£db„«       ZKe eEjŒ                  dcd'¬Y«      d¤dd„«       «       ZLe eEjŒ                  ded'¬Y«      d'dfd'd dgœ	 	 	 	 	 	 	 	 	 	 	 	 	 d¥dh„«       «       ZMe eEjŒ                  did'¬Y«      d'dfd'd dgœ	 	 	 	 	 	 	 	 	 	 	 	 	 d¦dj„«       «       ZNe eEjŒ                  dkd'¬Y«      d¤dl„«       «       ZOe eEjŒ                  dmd'¬Y«      d†d‡dn„«       «       ZP eEjŒ                  dod'¬Y«      d'd'd'd dpœ	 	 	 	 	 	 	 	 	 	 	 d§dq„«       ZQe eEjŒ                  drd'¬Y«      d/e$f	 	 	 	 	 d¨ds„«       «       ZRe eEjŒ                  dtd'¬Y«      d/e$duœ	 	 	 	 	 	 	 d©dv„«       «       ZSe eEjŒ                  dwd'¬Y«      dªdx„«       «       ZTe eEjŒ                  dyd'¬Y«      d«dz„«       «       ZU eEjŒ                  d{d'¬Y«      d¬d|„«       ZV eEjŒ                  d}d'¬Y«      d¬d~„«       ZWe eEjŒ                  dd'¬Y«      d¬d€„«       «       ZX eEjŒ                  d�d'¬Y«      d¬d‚„«       ZYˆ xZZS )­r+   a}  Usage docs: https://docs.pydantic.dev/2.7/concepts/models/

    A base class for creating Pydantic models.

    Attributes:
        __class_vars__: The names of classvars defined on the model.
        __private_attributes__: Metadata about the private attributes of the model.
        __signature__: The signature for instantiating the model.

        __pydantic_complete__: Whether model building is completed, or if there are still undefined fields.
        __pydantic_core_schema__: The pydantic-core schema used to build the SchemaValidator and SchemaSerializer.
        __pydantic_custom_init__: Whether the model has a custom `__init__` function.
        __pydantic_decorators__: Metadata containing the decorators defined on the model.
            This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1.
        __pydantic_generic_metadata__: Metadata for generic models; contains data used for a similar purpose to
            __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
        __pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models.
        __pydantic_post_init__: The name of the post-init method for the model, if defined.
        __pydantic_root_model__: Whether the model is a `RootModel`.
        __pydantic_serializer__: The pydantic-core SchemaSerializer used to dump instances of the model.
        __pydantic_validator__: The pydantic-core SchemaValidator used to validate instances of the model.

        __pydantic_extra__: An instance attribute with the values of extra fields from validation when
            `model_config['extra'] == 'allow'`.
        __pydantic_fields_set__: An instance attribute with the names of fields explicitly set.
        __pydantic_private__: Instance attribute with the values of private attributes set on the model instance.
    zClassVar[ConfigDict]Úmodel_configzClassVar[dict[str, FieldInfo]]Úmodel_fieldsz&ClassVar[dict[str, ComputedFieldInfo]]Úmodel_computed_fieldszClassVar[set[str]]Ú__class_vars__z%ClassVar[dict[str, ModelPrivateAttr]]Ú__private_attributes__zClassVar[Signature]Ú__signature__zClassVar[bool]Ú__pydantic_complete__zClassVar[CoreSchema]Ú__pydantic_core_schema__Ú__pydantic_custom_init__z$ClassVar[_decorators.DecoratorInfos]Ú__pydantic_decorators__z+ClassVar[_generics.PydanticGenericMetadata]Ú__pydantic_generic_metadata__zClassVar[dict[str, Any] | None]Ú__pydantic_parent_namespace__z+ClassVar[None | Literal['model_post_init']]Ú__pydantic_post_init__Ú__pydantic_root_model__zClassVar[SchemaSerializer]Ú__pydantic_serializer__zClassVar[SchemaValidator]Ú__pydantic_validator__F)Úinitúdict[str, Any] | NoneÚ__pydantic_extra__úset[str]Ú__pydantic_fields_set__Ú__pydantic_private__NzXPydantic models should inherit from BaseModel, BaseModel cannot be instantiated directlyÚ	validatorzbase-model-instantiated)Ú
val_or_serÚcodeÚ
serializer)Ú__dict__rQ   rO   rR   c               óB   — d}| j                   j                  || ¬«       y)a/  Create a new model by parsing and validating input data from keyword arguments.

        Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be
        validated to form a valid model.

        `self` is explicitly positional-only to allow `self` as a field name.
        T)Úself_instanceN©rL   Úvalidate_python)ÚselfÚdataÚ__tracebackhide__s      úP/var/www/html/candidateportal/venv/lib/python3.12/site-packages/pydantic/main.pyÚ__init__zBaseModel.__init__¦   s#   € ð !ÐØ×#Ñ#×3Ñ3°DÈÐ3ÕMó    Tc                ó   — | j                   S )z¡Get extra fields set during validation.

        Returns:
            A dictionary of extra fields, or `None` if `config.extra` is not set to `"allow"`.
        )rO   ©r\   s    r_   Úmodel_extrazBaseModel.model_extraµ   s   € ð ×&Ñ&Ð&ra   c                ó   — | j                   S )zìReturns the set of fields that have been explicitly set on this model instance.

        Returns:
            A set of strings representing the fields that have been set,
                i.e. that were not filled from defaults.
        )rQ   rc   s    r_   Úmodel_fields_setzBaseModel.model_fields_set¾   s   € ð ×+Ñ+Ð+ra   c                óz  — | j                  | «      }i }t        «       }| j                  j                  «       D �]x  \  }}|j                  �=|j                  |v r/|j                  |j                  «      ||<   |j                  |«       ||vrÍ|j                  �Át        |j                  t        «      r|j                  j                  n|j                  g}|D ]  }	t        |	t        «      r+|	|v r'|j                  |	«      ||<   |j                  |«        nDt        |	t        «      sŒO|	j                  |«      }
|
t        usŒi|
||<   |j                  |«        n ||vs�Œ'||v r'|j                  |«      ||<   |j                  |«       �ŒR|j                  «       r�Œd|j!                  d¬«      ||<   �Œ{ |€|}| j"                  j%                  d«      dk(  r$|j                  «       D ��ci c]  \  }}||“Œ
 c}}nd}t'        |d|«       t'        |d|«       | j(                  st'        |d|«       | j*                  ra|j-                  d«       t/        |d	«      rB|j0                  �6|j                  «       D ]#  \  }}||j2                  v sŒ||j0                  |<   Œ% |S | j(                  st'        |d	d«       |S c c}}w )
a_  Creates a new instance of the `Model` class with validated data.

        Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
        Default values are respected, but no other validation is performed.

        !!! note
            `model_construct()` generally respects the `model_config.extra` setting on the provided model.
            That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
            and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
            Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
            an error if extra values are passed, but they will be ignored.

        Args:
            _fields_set: The set of field names accepted for the Model instance.
            values: Trusted or pre-validated data dictionary.

        Returns:
            A new instance of the `Model` class with validated data.
        NT)Úcall_default_factoryÚextraÚallowrW   rQ   rO   rR   )Ú__new__Úsetr>   ÚitemsÚaliasÚpopÚaddÚvalidation_aliasÚ
isinstancer   ÚchoicesÚstrr   Úsearch_dict_for_pathr   Úis_requiredÚget_defaultr=   ÚgetÚ_object_setattrrJ   rI   Úmodel_post_initÚhasattrrR   rA   )ÚclsÚ_fields_setÚvaluesÚmÚfields_valuesÚ
fields_setÚnameÚfieldÚvalidation_aliasesrn   ÚvalueÚkÚvÚ_extras                 r_   Úmodel_constructzBaseModel.model_constructÈ   s¡  € ð* �K‰K˜ÓˆØ(*ˆÜ“Uˆ
à×+Ñ+×1Ñ1Ó3ó 	W‰KˆD�%Ø�{‰{Ð&¨5¯;©;¸&Ñ+@Ø&,§j¡j°·±Ó&=�˜dÑ#Ø—‘˜tÔ$à˜JÑ&¨U×-CÑ-CÐ-Oô " %×"8Ñ"8¼,ÔGð ×*Ñ*×2Ò2à×0Ñ0Ð1ð #ð 0ò 
"�EÜ! %¬Ô-°%¸6±/Ø.4¯j©j¸Ó.?˜ dÑ+Ø"Ÿ™ tÔ,ÙÜ# E¬9Õ5Ø %× :Ñ :¸6Ó B˜Ø Ô(9Ò9Ø27˜M¨$Ñ/Ø&ŸN™N¨4Ô0Ù!ð
"ð ˜:Ó%Ø˜6‘>Ø*0¯*©*°TÓ*:�M $Ñ'Ø—N‘N 4Ö(Ø×*Ñ*Ö,Ø*/×*;Ñ*;ÐQUÐ*;Ó*V�M $Ó'ð;	Wð< ÐØ$ˆKð 25×1AÑ1A×1EÑ1EÀgÓ1NÐRYÒ1Y˜fŸl™l›n×-‘d�a˜ˆQ�‰TÔ-Ð_cð 	ô 	˜˜: }Ô5Ü˜Ð4°kÔBØ×*Ò*Ü˜AÐ3°VÔ<à×%Ò%Ø×Ñ˜dÔ#ä�qÐ0Ô1°a×6LÑ6LÐ6XØ"ŸL™L›Nò 6‘D�A�qØ˜A×4Ñ4Ò4Ø45˜×.Ñ.¨qÒ1ð6ð ˆð ×,Ò,ô ˜AÐ5°tÔ<àˆùó) .s   Ç)J7)ÚupdateÚdeepc               óÄ  — |r| j                  «       n| j                  «       }|r»| j                  j                  d«      dk(  rY|j	                  «       D ]E  \  }}|| j
                  v r||j                  |<   Œ$|j                  €i |_        ||j                  |<   ŒG n|j                  j                  |«       |j                  j                  |j                  «       «       |S )a¤  Usage docs: https://docs.pydantic.dev/2.7/concepts/serialization/#model_copy

        Returns a copy of the model.

        Args:
            update: Values to change/add in the new model. Note: the data is not validated
                before creating the new model. You should trust this data.
            deep: Set to `True` to make a deep copy of the model.

        Returns:
            New model instance.
        ri   rj   )Ú__deepcopy__Ú__copy__r=   rx   rm   r>   rW   rO   rŠ   rQ   Úkeys)r\   rŠ   r‹   Úcopiedr†   r‡   s         r_   Ú
model_copyzBaseModel.model_copy  sÄ   € ñ )-�×"Ñ"Ô$°$·-±-³/ˆÙØ× Ñ ×$Ñ$ WÓ-°Ò8Ø"ŸL™L›Nò 9‘D�A�qØ˜D×-Ñ-Ñ-Ø-.˜Ÿ™¨Ò*à!×4Ñ4Ð<Ø8:˜FÔ5Ø78˜×1Ñ1°!Ò4ñ9ð —‘×&Ñ& vÔ.Ø×*Ñ*×1Ñ1°&·+±+³-Ô@Øˆra   Úpython)ÚmodeÚincludeÚexcludeÚcontextÚby_aliasÚexclude_unsetÚexclude_defaultsÚexclude_noneÚ
round_tripÚwarningsÚserialize_as_anyc               óP   — | j                   j                  | |||||||||	|
|¬«      S )aî  Usage docs: https://docs.pydantic.dev/2.7/concepts/serialization/#modelmodel_dump

        Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

        Args:
            mode: The mode in which `to_python` should run.
                If mode is 'json', the output will only contain JSON serializable types.
                If mode is 'python', the output may contain non-JSON-serializable Python objects.
            include: A set of fields to include in the output.
            exclude: A set of fields to exclude from the output.
            context: Additional context to pass to the serializer.
            by_alias: Whether to use the field's alias in the dictionary key if defined.
            exclude_unset: Whether to exclude fields that have not been explicitly set.
            exclude_defaults: Whether to exclude fields that are set to their default value.
            exclude_none: Whether to exclude fields that have a value of `None`.
            round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T].
            warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors,
                "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError].
            serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.

        Returns:
            A dictionary representation of the model.
        )r“   r—   r”   r•   r–   r˜   r™   rš   r›   rœ   r�   )rK   Ú	to_python)r\   r“   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   r�   s               r_   Ú
model_dumpzBaseModel.model_dump5  sG   € ðL ×+Ñ+×5Ñ5ØØØØØØØ'Ø-Ø%Ø!ØØ-ð 6ó 
ð 	
ra   ©Úindentr”   r•   r–   r—   r˜   r™   rš   r›   rœ   r�   c               ól   — | j                   j                  | |||||||||	|
|¬«      j                  «       S )a-  Usage docs: https://docs.pydantic.dev/2.7/concepts/serialization/#modelmodel_dump_json

        Generates a JSON representation of the model using Pydantic's `to_json` method.

        Args:
            indent: Indentation to use in the JSON output. If None is passed, the output will be compact.
            include: Field(s) to include in the JSON output.
            exclude: Field(s) to exclude from the JSON output.
            context: Additional context to pass to the serializer.
            by_alias: Whether to serialize using field aliases.
            exclude_unset: Whether to exclude fields that have not been explicitly set.
            exclude_defaults: Whether to exclude fields that are set to their default value.
            exclude_none: Whether to exclude fields that have a value of `None`.
            round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T].
            warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors,
                "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError].
            serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.

        Returns:
            A JSON string representation of the model.
        r¡   )rK   Úto_jsonÚdecode)r\   r¢   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   r�   s               r_   Úmodel_dump_jsonzBaseModel.model_dump_jsonj  sP   € ðH ×+Ñ+×3Ñ3ØØØØØØØ'Ø-Ø%Ø!ØØ-ð 4ó 
÷ ‰&‹(ð	ra   Ú
validationc                ó"   — t        | ||||¬«      S )aä  Generates a JSON schema for a model class.

        Args:
            by_alias: Whether to use attribute aliases or not.
            ref_template: The reference template.
            schema_generator: To override the logic used to generate the JSON schema, as a subclass of
                `GenerateJsonSchema` with your desired modifications
            mode: The mode in which to generate the schema.

        Returns:
            The JSON schema for the given model class.
        )r—   Úref_templateÚschema_generatorr“   )r(   )r|   r—   r©   rª   r“   s        r_   r(   zBaseModel.model_json_schema�  s   € ô( !Ø˜(°ÐP`Ðgkô
ð 	
ra   c                ó  — t        | t        j                  «      st        d«      ‚|D �cg c])  }t	        |t
        «      r|nt        j                  |«      ‘Œ+ }}dj                  |«      }| j                  › d|› d�S c c}w )a}  Compute the class name for parametrizations of generic classes.

        This method can be overridden to achieve a custom naming scheme for generic BaseModels.

        Args:
            params: Tuple of types of the class. Given a generic class
                `Model` with 2 type variables and a concrete model `Model[str, int]`,
                the value `(str, int)` would be passed to `params`.

        Returns:
            String representing the new class where `params` are passed to `cls` as type variables.

        Raises:
            TypeError: Raised when trying to generate concrete names for non-generic models.
        z;Concrete names should only be generated for generic models.ú, ú[ú])
Ú
issubclassÚtypingÚGenericÚ	TypeErrorrr   rt   r   Údisplay_as_typeÚjoinÚ__name__)r|   ÚparamsÚparamÚparam_namesÚparams_components        r_   Úmodel_parametrized_namez!BaseModel.model_parametrized_nameµ  s~   € ô" ˜#œvŸ~™~Ô.ÜÐYÓZÐZð
 gmÖmÐ]b¤
¨5´#Ô 6‘u¼E×<QÑ<QÐRWÓ<XÑXÐmˆÐmØŸ9™9 [Ó1ÐØ—,‘,�˜qÐ!1Ð 2°!Ð4Ð4ùò ns   ª.A=c                 ó   — y)zÕOverride this method to perform additional initialization after `__init__` and `model_construct`.
        This is useful if you want to do some validation that requires the entire model to be initialized.
        N© )r\   Ú_BaseModel__contexts     r_   rz   zBaseModel.model_post_initÐ  s   € ð 	ra   é   )ÚforceÚraise_errorsÚ_parent_namespace_depthÚ_types_namespacec               ó@  — |s| j                   ryd| j                  v rt        | d«       |�|j                  «       }n˜|dkD  r^t	        j
                  |¬«      xs i }t        j                  | j                  «      xs i }i |¥|¥}t        j                  |«      | _        nt        j                  | j                  «      }t	        j                  | |«      }i | j                  ¥ddi¥}t        j                  | | j                  t        j                  |d¬«      ||¬«      S )	a1  Try to rebuild the pydantic-core schema for the model.

        This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
        the initial attempt to build the schema, and automatic rebuilding fails.

        Args:
            force: Whether to force the rebuilding of the model schema, defaults to `False`.
            raise_errors: Whether to raise errors, defaults to `True`.
            _parent_namespace_depth: The depth level of the parent namespace, defaults to 2.
            _types_namespace: The types namespace, defaults to `None`.

        Returns:
            Returns `None` if the schema is already "complete" and rebuilding was not required.
            If rebuilding _was_ required, returns `True` if rebuilding was successful, otherwise `False`.
        NrD   r   )Úparent_depthÚdefer_buildF)Úcheck)rÀ   Útypes_namespace)rC   rW   Údelattrr   r   Úparent_frame_namespacer   Úunpack_lenient_weakvaluedictrH   Úbuild_lenient_weakvaluedictÚget_cls_types_namespacer=   Úcomplete_model_classrµ   r   ÚConfigWrapper)	r|   r¿   rÀ   rÁ   rÂ   rÇ   Úframe_parent_nsÚcls_parent_nsÚconfigs	            r_   Úmodel_rebuildzBaseModel.model_rebuildÖ  s  € ñ0 ˜×2Ò2Øà)¨S¯\©\Ñ9Ü˜Ð7Ô8ØÐ+Ø9I×9NÑ9NÓ9P‘à*¨QÒ.Ü&3×&JÑ&JÐXoÔ&pÒ&vÐtv�Oä+×HÑHÈ×IjÑIjÓkÒqÐoqð "ð 'K¨Ð&J¸/Ð&J�OÜ8K×8gÑ8gÐhwÓ8x�CÕ5ä&9×&VÑ&VØ×9Ñ9ó'�Oô #0×"GÑ"GÈÈ_Ó"]�ð @˜×(Ñ(Ð?¨-¸Ñ?ˆFÜ&×;Ñ;ØØ—‘Ü×%Ñ% f°EÔ:Ø)Ø /ôð ra   ©ÚstrictÚfrom_attributesr–   c               óD   — d}| j                   j                  ||||¬«      S )aº  Validate a pydantic model instance.

        Args:
            obj: The object to validate.
            strict: Whether to enforce types strictly.
            from_attributes: Whether to extract data from object attributes.
            context: Additional context to pass to the validator.

        Raises:
            ValidationError: If the object could not be validated.

        Returns:
            The validated model instance.
        TrÓ   rZ   )r|   ÚobjrÔ   rÕ   r–   r^   s         r_   Úmodel_validatezBaseModel.model_validate  s1   € ð0 !ÐØ×)Ñ)×9Ñ9Ø˜°Èð :ó 
ð 	
ra   ©rÔ   r–   c               óB   — d}| j                   j                  |||¬«      S )aÑ  Usage docs: https://docs.pydantic.dev/2.7/concepts/json/#json-parsing

        Validate the given JSON data against the Pydantic model.

        Args:
            json_data: The JSON data to validate.
            strict: Whether to enforce types strictly.
            context: Extra variables to pass to the validator.

        Returns:
            The validated Pydantic model.

        Raises:
            ValueError: If `json_data` is not a JSON string.
        TrÙ   )rL   Úvalidate_json)r|   Ú	json_datarÔ   r–   r^   s        r_   Úmodel_validate_jsonzBaseModel.model_validate_json+  s)   € ð0 !ÐØ×)Ñ)×7Ñ7¸	È&ÐZaÐ7ÓbÐbra   c               óB   — d}| j                   j                  |||¬«      S )aR  Validate the given object contains string data against the Pydantic model.

        Args:
            obj: The object contains string data to validate.
            strict: Whether to enforce types strictly.
            context: Extra variables to pass to the validator.

        Returns:
            The validated Pydantic model.
        TrÙ   )rL   Úvalidate_strings)r|   r×   rÔ   r–   r^   s        r_   Úmodel_validate_stringsz BaseModel.model_validate_stringsF  s)   € ð& !ÐØ×)Ñ)×:Ñ:¸3ÀvÐW^Ð:Ó_Ð_ra   c               ód   — d| j                   v r| j                  d   s| j                  S  ||«      S )aÇ  Hook into generating the model's CoreSchema.

        Args:
            source: The class we are generating a schema for.
                This will generally be the same as the `cls` argument if this is a classmethod.
            handler: Call into Pydantic's internal JSON schema generation.
                A callable that calls into Pydantic's internal CoreSchema generation logic.

        Returns:
            A `pydantic-core` `CoreSchema`.
        rD   Úorigin)rW   rG   rD   )r|   ÚsourceÚhandlers      r_   Ú__get_pydantic_core_schema__z&BaseModel.__get_pydantic_core_schema__\  s6   € ð &¨¯©Ñ5ð ×4Ñ4°XÒ>Ø×3Ñ3Ð3á�v‹Ðra   c               ó   —  ||«      S )a_  Hook into generating the model's JSON schema.

        Args:
            core_schema: A `pydantic-core` CoreSchema.
                You can ignore this argument and call the handler with a new CoreSchema,
                wrap this CoreSchema (`{'type': 'nullable', 'schema': current_schema}`),
                or just call the handler with the original schema.
            handler: Call into Pydantic's internal JSON schema generation.
                This will raise a `pydantic.errors.PydanticInvalidForJsonSchema` if JSON schema
                generation fails.
                Since this gets called by `BaseModel.model_json_schema` you can override the
                `schema_generator` argument to that function to change JSON schema generation globally
                for a type.

        Returns:
            A JSON schema, as a Python object.
        r¼   )r|   Úcore_schemarä   s      r_   Ú__get_pydantic_json_schema__z&BaseModel.__get_pydantic_json_schema__t  s   € ñ0 �{Ó#Ð#ra   c                 ó   — y)aˆ  This is intended to behave just like `__init_subclass__`, but is called by `ModelMetaclass`
        only after the class is actually fully initialized. In particular, attributes like `model_fields` will
        be present when this is called.

        This is necessary because `__init_subclass__` will always be called by `type.__new__`,
        and it would require a prohibitively large refactor to the `ModelMetaclass` to ensure that
        `type.__new__` was called in such a manner that the class would already be sufficiently initialized.

        This will receive the same `kwargs` that would be passed to the standard `__init_subclass__`, namely,
        any kwargs passed to the class definition that aren't used internally by pydantic.

        Args:
            **kwargs: Any keyword arguments passed to the class definition that aren't used internally
                by pydantic.
        Nr¼   ©r|   Úkwargss     r_   Ú__pydantic_init_subclass__z$BaseModel.__pydantic_init_subclass__Ž  s   € ð" 	ra   c                ó¶  ‡— t        j                  | |«      }|�|S | t        u rt        d«      ‚t	        | d«      st        | › d�«      ‚| j
                  d   s*t        j                  | j                  vrt        | › d�«      ‚t        |t        «      s|f}t        j                  | |«       t        t        | j
                  d   |«      «      Št        j                  ‰j!                  «       ‰j#                  «       «      r‰r| }t        j$                  | ||«       |S | j
                  d   }|s|}nt        ˆfd„|D «       «      }| j
                  d   xs | }|j'                  |«      }t        t        j(                  ‰j#                  «       «      D �ci c]  }|d “Œ c}«      }	t        j*                  ||«      5 }
|
�|
cd d d «       S t        j,                  | |||«      }|�|cd d d «       S 	 |j/                  d	¬
«       t        j2                  ||||	«      }t        j$                  | ||||«       d d d «       |S c c}w # t0        $ r Y ŒKw xY w# 1 sw Y   S xY w)NzAType parameters should be placed on typing.Generic, not BaseModelÚ__parameters__zG cannot be parametrized because it does not inherit from typing.GenericÚ
parametersz is not a generic classÚargsc              3  óJ   •K  — | ]  }t        j                  |‰«      –— Œ y ­w©N)r   Úreplace_types)Ú.0ÚargÚtypevars_maps     €r_   ú	<genexpr>z.BaseModel.__class_getitem__.<locals>.<genexpr>À  s   øè ø€ Ò_ÈCœY×4Ñ4°S¸,×GÑ_ùs   ƒ #râ   é   )rÁ   )r   Úget_cached_generic_type_earlyr+   r²   r{   rG   r°   r±   Ú	__bases__rr   ÚtupleÚcheck_parameters_countÚdictÚzipr   Úall_identicalr�   r~   Úset_cached_generic_typerº   Úiter_contained_typevarsÚgeneric_recursion_self_typeÚget_cached_generic_type_laterÒ   r"   Úcreate_generic_submodel)r|   Útypevar_valuesÚcachedÚsubmodelÚparent_argsrð   râ   Ú
model_namer·   r¶   Úmaybe_self_typerö   s              @r_   Ú__class_getitem__zBaseModel.__class_getitem__¡  ss  ø€ ô ×8Ñ8¸¸nÓMˆØÐØˆMà”)ÑÜÐ_Ó`Ð`Ü�sÐ,Ô-Ü˜s˜eÐ#jÐkÓlÐlØ×0Ñ0°Ò>Ä6Ç>Á>ÐY\×YfÑYfÑCfÜ˜s˜eÐ#:Ð;Ó<Ð<ä˜.¬%Ô0Ø,Ð.ˆNÜ×(Ñ(¨¨nÔ=ô DHÜ�×1Ñ1°,Ñ?ÀÓPóD
ˆô ×Ñ × 1Ñ 1Ó 3°\×5HÑ5HÓ5JÔKÑP\ØˆHÜ×-Ñ-¨c°>À8ÔLðJ ˆðG ×;Ñ;¸FÑCˆKÙØ%‘äÓ_ÐS^Ô_Ó_�à×6Ñ6°xÑ@ÒGÀCˆFØ×7Ñ7¸Ó=ˆJÜÜ*3×*KÑ*KÈL×L_ÑL_ÓLaÓ*bÖc �˜‘ÒcóˆFô ×6Ñ6°v¸tÓDð _ÈØ"Ð.Ø*÷_ñ _ô #×?Ñ?ÀÀ^ÐU[Ð]aÓb�ØÐ%Ø!÷_ñ _ðà×(Ñ(ÀÐ(ÔCô %×<Ñ<¸ZÈÐQUÐW]Ó^�ô ×1Ñ1°#°~ÀxÐQWÐY]Ô^÷+_ð. ˆùò5 døô 3ò ñ ð	ú÷_ð. ˆús<   Æ
H:Æ9IÇIÇ-H?Ç?1IÈ?	IÉIÉ
IÉIÉIc           
     óÜ  — t        | «      }|j                  |«      }t        |dt        | j                  «      «       t        |dt        | j
                  «      «       t        |dt        | j                  «      «       t        | d«      r| j                  €t        |dd«       |S t        |d| j                  j                  «       D ��ci c]  \  }}|t        usŒ||“Œ c}}«       |S c c}}w )z$Returns a shallow copy of the model.rW   rO   rQ   rR   N)Útyperk   ry   r   rW   rO   rQ   r{   rR   rm   r   )r\   r|   r   r†   r‡   s        r_   rŽ   zBaseModel.__copy__á  sÒ   € ä�4‹jˆØ�K‰K˜ÓˆÜ˜˜:¤t¨D¯M©MÓ':Ô;Ü˜Ð/´°d×6MÑ6MÓ1NÔOÜ˜Ð4´d¸4×;WÑ;WÓ6XÔYä�tÐ3Ô4¸×8QÑ8QÐ8YÜ˜AÐ5°tÔ<ð ˆô ØØ&Ø"&×";Ñ";×"AÑ"AÓ"C×b™$˜!˜QÀqÔPaÒGa��A‘Óbôð ˆùó cs   ÃC(ÃC(c                óú  — t        | «      }|j                  |«      }t        |dt        | j                  |¬«      «       t        |dt        | j
                  |¬«      «       t        |dt        | j                  «      «       t        | d«      r| j                  €t        |dd«       |S t        |dt        | j                  j                  «       D ��ci c]  \  }}|t        usŒ||“Œ c}}|¬«      «       |S c c}}w )z!Returns a deep copy of the model.rW   )ÚmemorO   rQ   rR   N)r  rk   ry   r   rW   rO   r   rQ   r{   rR   rm   r   )r\   r  r|   r   r†   r‡   s         r_   r�   zBaseModel.__deepcopy__ô  sâ   € ä�4‹jˆØ�K‰K˜ÓˆÜ˜˜:¤x°·±ÀDÔ'IÔJÜ˜Ð/´¸$×:QÑ:QÐX\Ô1]Ô^ô 	˜Ð4´d¸4×;WÑ;WÓ6XÔYä�tÐ3Ô4¸×8QÑ8QÐ8YÜ˜AÐ5°tÔ<ð ˆô ØØ&Ü¨4×+DÑ+D×+JÑ+JÓ+L×k¡4 1 aÐPQÔYjÒPj˜!˜Q™$ÓkÐrvÔwôð ˆùó ls   ÃC7Ã"C7c                ót  •— t         j                  | d«      }||v r<||   }t        |d«      r|j                  | t	        | «      «      S 	 | j
                  |   S 	 t         j                  | d«      }|r	 ||   S t        | j                  |«      rt        ‰| �  |«      S t        t	        | «      j                  ›d|›�«      ‚# t        $ r)}t        t	        | «      j                  ›d|›�«      |‚d }~ww xY w# t        $ r d }Y Œ’w xY w# t        $ r)}t        t	        | «      j                  ›d|›�«      |‚d }~ww xY w)NrA   Ú__get__ú object has no attribute rO   )ÚobjectÚ__getattribute__r{   r  r  rR   ÚKeyErrorÚAttributeErrorrµ   Ú	__class__Úsuper)r\   ÚitemÚprivate_attributesÚ	attributeÚexcÚpydantic_extrar  s         €r_   Ú__getattr__zBaseModel.__getattr__  s`  ø€ Ü!'×!8Ñ!8¸Ð?WÓ!XÐØÐ)Ñ)Ø.¨tÑ4�	Ü˜9 iÔ0Ø$×,Ñ,¨T´4¸³:Ó>Ð>ðoà×4Ñ4°TÑ:Ð:ð*Ü%+×%<Ñ%<¸TÐCWÓ%X�Nñ "ðsØ-¨dÑ3Ð3ô ˜tŸ~™~¨tÔ4Ü$™wÑ7¸Ó=Ð=ô -´°T³
×0CÑ0CÐ/FÐF_Ð`dÐ_gÐ-hÓiÐiøô)  ò oÜ(¬D°«J×,?Ñ,?Ð+BÐB[Ð\`Ð[cÐ)dÓeÐknÐnûðoûô &ò *Ø%)’Nð*ûô $ò sÜ,´°T³
×0CÑ0CÐ/FÐF_Ð`dÐ_gÐ-hÓiÐorÐrûðsúsB   Á	B? ÁC4 Á2D Â?	C1Ã$C,Ã,C1Ã4DÄDÄ	D7Ä$D2Ä2D7c           
     ó¶  — || j                   v r?t        |›d| j                  j                  › d| j                  j                  › d|› d�«      ‚t	        j
                  |«      sf| j                  �|| j                  vrt        | ||«       y | j                  |   }t        |d«      r|j                  | |«       y || j                  |<   y | j                  ||«       t        | j                  |d «      }t        |t        «      r|j                  | |«       y | j                  j!                  dd «      r| j"                  j%                  | ||«       y | j                  j!                  d«      dk7  r4|| j&                  vr&t)        d	| j                  j                  › d
|› d	�«      ‚| j                  j!                  d«      dk(  rS|| j&                  vrE| j*                  r|| j*                  v r|| j,                  |<   y 	 t        | |«       t        | ||«       y || j.                  |<   | j0                  j3                  |«       y # t        $ r || j,                  |<   Y y w xY w)Nz is a ClassVar of `zR` and cannot be set on an instance. If you want to set a value on the class, use `ú.z
 = value`.Ú__set__Úvalidate_assignmentri   rj   ú"z" object has no field ")r@   r  r  rµ   r   Úis_valid_field_namerR   rA   ry   r{   r!  Ú_check_frozenÚgetattrrr   Úpropertyr=   rx   rL   r"  r>   Ú
ValueErrorrd   rO   rW   rQ   rp   )r\   r‚   r…   r  Úattrs        r_   Ú__setattr__zBaseModel.__setattr__-  sB  € Ø�t×*Ñ*Ñ*Ü$Ø�hÐ1°$·.±.×2IÑ2IÐ1Jð KEØEIÇ^Á^×E\ÑE\ÐD]Ð]^Ð_cÐ^dÐdnðpóð ô ×0Ñ0°Ô6Ø×,Ñ,Ð4¸ÀD×D_ÑD_Ñ8_Ü# D¨$°Ô6ð ð !%× ;Ñ ;¸DÑ A�IÜ˜y¨)Ô4Ø!×)Ñ)¨$°Ô6ð ð ;@˜×1Ñ1°$Ñ7Øà×Ñ˜t UÔ+ä˜4Ÿ>™>¨4°Ó6ˆDÜ˜$¤Ô)Ø—‘˜T 5Õ)Ø×"Ñ"×&Ñ&Ð'<¸dÔCØ×+Ñ+×?Ñ?ÀÀdÈEÕRØ×"Ñ"×&Ñ& wÓ/°7Ò:¸tÈ4×K\ÑK\Ñ?\ä  1 T§^¡^×%<Ñ%<Ð$=Ð=TÐUYÐTZÐZ[Ð!\Ó]Ð]Ø×"Ñ"×&Ñ& wÓ/°7Ò:¸tÈ4×K\ÑK\Ñ?\Ø×#Ò#¨°×0@Ñ0@Ñ(@Ø49�D×+Ñ+¨DÒ1ð;Ü  dÔ+ô (¨¨d°EÕ:à&+�—‘˜dÑ#Ø×,Ñ,×0Ñ0°Õ6øô *ò >à8=˜×/Ñ/°Ó5ð>ús   Ç8H= È=IÉIc                óN  — || j                   v r<| j                   |   }t        |d«      r|j                  | «       y 	 | j                  |= y | j                  |d «       || j                  v rt        j                  | |«       y | j                  �|| j                  v r| j                  |= y 	 t        j                  | |«       y # t        $ r)}t        t        | «      j                  ›d|›�«      |‚d }~ww xY w# t
        $ r$ t        t        | «      j                  ›d|›�«      ‚w xY w)NÚ
__delete__r  )rA   r{   r,  rR   r  r  r  rµ   r%  r>   r  Ú__delattr__rO   )r\   r  r  r  s       r_   r-  zBaseModel.__delattr__X  s0  € Ø�t×2Ñ2Ñ2Ø ×7Ñ7¸Ñ=�	Ü˜9 lÔ3Ø×(Ñ(¨Ô.Øðoà×1Ñ1°$Ð7Øð ×Ñ˜t TÔ*à�t×(Ñ(Ñ(Ü×"Ñ" 4¨Õ.Ø×(Ñ(Ð4¸À×AXÑAXÑ9XØ×+Ñ+¨DÑ1ðfÜ×&Ñ& t¨TÕ2øô  ò oÜ(¬D°«J×,?Ñ,?Ð+BÐB[Ð\`Ð[cÐ)dÓeÐknÐnûðoûô &ò fÜ(¬D°«J×,?Ñ,?Ð+BÐB[Ð\`Ð[cÐ)dÓeÐeðfús#   ½C Â+C7 Ã	C4Ã$C/Ã/C4Ã7-D$c                ó  — | j                   j                  dd «      rd}n*t        | j                  j                  |«      dd«      rd}ny ||f|dœ}t        j
                  j                  | j                  j                  |g«      ‚)NÚfrozenÚfrozen_instanceFÚfrozen_field©r  ÚlocÚinput)	r=   rx   r&  r>   Úpydantic_coreÚValidationErrorÚfrom_exception_datar  rµ   )r\   r‚   r…   ÚtypÚerrors        r_   r%  zBaseModel._check_frozenr  s}   € Ø×Ñ× Ñ  ¨4Ô0Ø#‰CÜ�T×&Ñ&×*Ñ*¨4Ó0°(¸EÔBØ ‰CààØ�7Øñ1
ˆô
 ×+Ñ+×?Ñ?ÀÇÁ×@WÑ@WÐZ_ÐY`ÓaÐara   c                óÌ   — | j                   }|r,|j                  «       D ��ci c]  \  }}|t        usŒ||“Œ }}}| j                  | j                  | j
                  |dœS c c}}w )N)rW   rO   rQ   rR   )rR   rm   r   rW   rO   rQ   )r\   Úprivater†   r‡   s       r_   Ú__getstate__zBaseModel.__getstate__€  se   € Ø×+Ñ+ˆÙØ(/¯©«×V¡  1¸1ÔDUÒ;U�q˜!‘tÐVˆGÑVàŸ™Ø"&×"9Ñ"9Ø'+×'CÑ'CØ$+ñ	
ð 	
ùó Ws
   ¢A ³A c                ó„   — t        | d|d   «       t        | d|d   «       t        | d|d   «       t        | d|d   «       y )NrQ   rO   rR   rW   )ry   )r\   Ústates     r_   Ú__setstate__zBaseModel.__setstate__‹  sL   € Ü˜Ð7¸Ð?XÑ9YÔZÜ˜Ð2°EÐ:NÑ4OÔPÜ˜Ð4°eÐ<RÑ6SÔTÜ˜˜j¨%°
Ñ*;Õ<ra   c                ó>  — t        |t        «      �r)| j                  d   xs | j                  }|j                  d   xs |j                  }||k(  r4t	        | dd «      t	        |dd «      k(  r| j
                  |j
                  k(  sy| j                  |j                  k(  ryt        | «      j                  j                  «       }| j                  j                  «       |k  r|j                  j                  «       |k  ry|rt        j                  |Ž nd„ }	  || j                  «       ||j                  «      k(  S t        S # t        $ rR t        j                  | j                  «      }t        j                  |j                  «      } ||«       ||«      k(  cY S w xY w)Nrâ   rR   FTc                ó"   — t         j                  S rò   )r   Ú	_SENTINEL)Ú_s    r_   ú<lambda>z"BaseModel.__eq__.<locals>.<lambda>¹  s   € Ô[a×[kÑ[k€ ra   )rr   r+   rG   r  r&  rO   rW   r  r>   r�   ÚoperatorÚ
itemgetterr  r   ÚSafeGetItemProxyÚNotImplemented)r\   ÚotherÚ	self_typeÚ
other_typer>   ÚgetterÚself_fields_proxyÚother_fields_proxys           r_   Ú__eq__zBaseModel.__eq__“  st  € Ü˜%¤Õ+ð !×>Ñ>¸xÑHÒZÈDÏNÉN�	Ø"×@Ñ@ÀÑJÒ]ÈeÏoÉo�
ð  Ò+Ü Ð&<¸dÓCÄwÈuÐVlÐnrÓGsÒsØ×/Ñ/°5×3KÑ3KÒKà ð —=‘= E§N¡NÒ2àô  $ D›z×6Ñ6×;Ñ;Ó=�Ø—=‘=×%Ñ%Ó'¨<Ò7¸E¿N¹N×<OÑ<OÓ<QÐUaÒ<aØ ñ @Lœ×,Ñ,¨lÑ;ÑQk�ð
SÙ! $§-¡-Ó0±F¸5¿>¹>Ó4JÑJÐJô &Ð%øô  ò Sô )/×(?Ñ(?ÀÇÁÓ(NÐ%Ü)/×)@Ñ)@ÀÇÁÓ)PÐ&Ù!Ð"3Ó4¹Ð?QÓ8RÑRÒRðSús   Ä$E ÅAFÆFc                 ó   — y)aâ  This signature is included purely to help type-checkers check arguments to class declaration, which
            provides a way to conveniently set model_config key/value pairs.

            ```py
            from pydantic import BaseModel

            class MyModel(BaseModel, extra='allow'):
                ...
            ```

            However, this may be deceiving, since the _actual_ calls to `__init_subclass__` will not receive any
            of the config arguments, and will only receive any keyword arguments passed during class initialization
            that are _not_ expected keys in ConfigDict. (This is due to the way `ModelMetaclass.__new__` works.)

            Args:
                **kwargs: Keyword arguments passed to the class definition, which set model_config

            Note:
                You may want to override `__pydantic_init_subclass__` instead, which behaves similarly but is called
                *after* the class is fully initialized.
            Nr¼   rê   s     r_   Ú__init_subclass__zBaseModel.__init_subclass__Ï  s   � ra   c              #  ó   K  — | j                   j                  «       D ��cg c]  \  }}|j                  d«      rŒ||f‘Œ c}}E d{  –—†  | j                  }|r|j                  «       E d{  –—†  yyc c}}w 7 Œ27 Œ­w)zSo `dict(model)` works.rC  N)rW   rm   Ú
startswithrO   )r\   r†   r‡   ri   s       r_   Ú__iter__zBaseModel.__iter__æ  sl   è ø€ à)-¯©×)<Ñ)<Ó)>×X™v  1ÀaÇlÁlÐSVÕFW�Q˜’FÓX×XÐXØ×'Ñ'ˆÙØ—{‘{“}×$Ñ$ð ùó YÐXøð %ús3   ‚A> A4ºA4Á A>ÁA:Á%A>Á-A<Á.A>Á<A>c                óL   — | j                  «       › d| j                  d«      › d�S )Nú(r¬   ú))Ú__repr_name__Ú__repr_str__rc   s    r_   Ú__repr__zBaseModel.__repr__í  s+   € Ø×$Ñ$Ó&Ð' q¨×):Ñ):¸4Ó)@Ð(AÀÐCÐCra   c              #  ó¤  ‡ K  — ‰ j                   j                  «       D ]6  \  }}‰ j                  j                  |«      }|sŒ$|j                  sŒ1||f–— Œ8 	 t
        j                  ‰ d«      }|�d„ |j                  «       D «       E d {  –—†  ˆ fd„‰ j                  j                  «       D «       E d {  –—†  y # t        $ r d }Y ŒZw xY w7 ŒA7 Œ­w)NrO   c              3  ó*   K  — | ]  \  }}||f–— Œ y ­wrò   r¼   )rô   r†   r‡   s      r_   r÷   z*BaseModel.__repr_args__.<locals>.<genexpr>   s   è ø€ ÒB¡4 1 a˜˜AœÑBùs   ‚c              3  óZ   •K  — | ]"  \  }}|j                   sŒ|t        ‰|«      f–— Œ$ y ­wrò   )Úreprr&  )rô   r†   r‡   r\   s      €r_   r÷   z*BaseModel.__repr_args__.<locals>.<genexpr>  s*   øè ø€ Òc©d¨a°Ð\]×\bÓ\b�Qœ  aÓ(Ô)Ñcùs   ƒ+˜+)	rW   rm   r>   rx   r^  r  r  r  r?   )r\   r†   r‡   rƒ   r  s   `    r_   Ú__repr_args__zBaseModel.__repr_args__ð  sÃ   øè ø€ Ø—M‘M×'Ñ'Ó)ò 	‰DˆAˆqØ×%Ñ%×)Ñ)¨!Ó,ˆEÚ˜Ÿ›Ø˜�d“
ð	ð	"Ü#×4Ñ4°TÐ;OÓPˆNð Ð%ÙB¨>×+?Ñ+?Ó+AÔB×BÐBÛc°d×6PÑ6P×6VÑ6VÓ6XÔc×cÑcøô ò 	"Ø!ŠNð	"úð CøØcúsS   ƒ>CÁCÁCÁB; Á.CÂ
CÂ*CÂ5CÂ6CÂ;C	ÃCÃC	Ã	CÃCc                ó$   — | j                  d«      S )Nú )rY  rc   s    r_   Ú__str__zBaseModel.__str__	  s   € Ø× Ñ  Ó%Ð%ra   úEThe `__fields__` attribute is deprecated, use `model_fields` instead.©Úcategoryc                óP   — t        j                  dt        ¬«       | j                  S )Nrc  rd  )rœ   Úwarnr)   r>   rc   s    r_   Ú
__fields__zBaseModel.__fields__  s$   € ô
 	�‰ØSÔ^wõ	
ð × Ñ Ð ra   úMThe `__fields_set__` attribute is deprecated, use `model_fields_set` instead.c                óP   — t        j                  dt        ¬«       | j                  S )Nri  rd  )rœ   rg  r)   rQ   rc   s    r_   Ú__fields_set__zBaseModel.__fields_set__  s$   € ô 	�‰Ø[Ü.õ	
ð ×+Ñ+Ð+ra   ú:The `dict` method is deprecated; use `model_dump` instead.©r”   r•   r—   r˜   r™   rš   c               óf   — t        j                  dt        ¬«       | j                  ||||||¬«      S )Nrl  rd  rm  )rœ   rg  r)   r    )r\   r”   r•   r—   r˜   r™   rš   s          r_   rý   zBaseModel.dict#  s<   € ô 	�‰ÐRÔ]vÕwØ�‰ØØØØ'Ø-Ø%ð ó 
ð 	
ra   ú?The `json` method is deprecated; use `model_dump_json` instead.)r”   r•   r—   r˜   r™   rš   ÚencoderÚmodels_as_dictc               óÌ   — t        j                  dt        ¬«       |t        urt	        d«      ‚|t        urt	        d«      ‚|	rt	        d«      ‚| j                  ||||||¬«      S )Nro  rd  zMThe `encoder` argument is no longer supported; use field serializers instead.zUThe `models_as_dict` argument is no longer supported; use a model serializer instead.z9`dumps_kwargs` keyword arguments are no longer supported.rm  )rœ   rg  r)   r   r²   r¦   )
r\   r”   r•   r—   r˜   r™   rš   rp  rq  Údumps_kwargss
             r_   ÚjsonzBaseModel.json8  s{   € ô 	�‰ØMÔXqõ	
ð Ô+Ñ+ÜÐkÓlÐlØÔ!2Ñ2ÜÐsÓtÐtÙÜÐWÓXÐXØ×#Ñ#ØØØØ'Ø-Ø%ð $ó 
ð 	
ra   úCThe `parse_obj` method is deprecated; use `model_validate` instead.c                óZ   — t        j                  dt        ¬«       | j                  |«      S )Nru  rd  ©rœ   rg  r)   rØ   ©r|   r×   s     r_   Ú	parse_objzBaseModel.parse_objX  s)   € ô 	�‰ØQÔ\uõ	
ð ×!Ñ! #Ó&Ð&ra   ú�The `parse_raw` method is deprecated; if your data is JSON use `model_validate_json`, otherwise load the data then use `model_validate` instead.Úutf8)Úcontent_typeÚencodingÚprotoÚallow_picklec               óè  — t        j                  dt        ¬«       ddlm} 	 |j                  |||||¬«      }| j%                  |«      S # t        t        f$ r˜}dd l}	t        |t        «      rd}
n.t        ||	j                  «      rd}
nt        |t        «      rd	}
nd
}
t        j                  |
t        |«      «      d|dœ}t        j                  j!                  | j"                  |g«      ‚d }~ww xY w)Nrz  rd  r   ©Úparse©r~  r|  r}  r  r   zvalue_error.unicodedecodezvalue_error.jsondecodeÚvalue_errorÚ
type_error)Ú__root__r2  )rœ   rg  r)   Ú
deprecatedr‚  Úload_str_bytesr(  r²   rt  rr   ÚUnicodeDecodeErrorÚJSONDecodeErrorr5  ÚPydanticCustomErrorrt   r6  r7  rµ   rØ   )r|   Úbr|  r}  r~  r  r‚  r×   r  rt  Útype_strr9  s               r_   Ú	parse_rawzBaseModel.parse_raw`  sø   € ô 	�‰ðIä.õ	
õ
 	&ð	[Ø×&Ñ&ØØØ)Ø!Ø)ð 'ó ˆCð8 ×!Ñ! #Ó&Ð&øô+ œIÐ&ò 	[Ûô ˜#Ô1Ô2Ø6‘Ü˜C ×!5Ñ!5Ô6Ø3‘Ü˜C¤Ô,Ø(‘à'�ô
 &×9Ñ9¸(ÄCÈÃHÓMØ$Øñ	5ˆEô  ×/Ñ/×CÑCÀCÇLÁLÐSXÐRYÓZÐZûð)	[ús   £A
 Á
C1ÁBC,Ã,C1ú˜The `parse_file` method is deprecated; load the data from file, then if your data is JSON use `model_validate_json`, otherwise `model_validate` instead.c               ó’   — t        j                  dt        ¬«       ddlm} |j                  |||||¬«      }| j                  |«      S )Nr�  rd  r   r�  rƒ  )rœ   rg  r)   r‡  r‚  Ú	load_filery  )r|   Úpathr|  r}  r~  r  r‚  r×   s           r_   Ú
parse_filezBaseModel.parse_file•  sQ   € ô 	�‰ðMä.õ	
õ
 	&à�o‰oØØØ%ØØ%ð ó 
ˆð �}‰}˜SÓ!Ð!ra   úqThe `from_orm` method is deprecated; set `model_config['from_attributes']=True` and use `model_validate` instead.c                ó¬   — t        j                  dt        ¬«       | j                  j	                  dd «      st        dd ¬«      ‚| j                  |«      S )Nr”  rd  rÕ   zHYou must set the config attribute `from_attributes=True` to use from_orm©rU   )rœ   rg  r)   r=   rx   r#   rØ   rx  s     r_   Úfrom_ormzBaseModel.from_orm´  sX   € ô 	�‰ðWä.õ	
ð
 ×Ñ×#Ñ#Ð$5°tÔ<Ü#ØZÐaeôð ð ×!Ñ! #Ó&Ð&ra   úDThe `construct` method is deprecated; use `model_construct` instead.c                ó`   — t        j                  dt        ¬«        | j                  dd|i|¤ŽS )Nr˜  rd  r}   r¼   )rœ   rg  r)   r‰   )r|   r}   r~   s      r_   Ú	constructzBaseModel.constructÆ  s3   € ô 	�‰ØRÔ]võ	
ð #ˆs×"Ñ"ÑE¨{ÐE¸fÑEÐEra   ú™The `copy` method is deprecated; use `model_copy` instead. See the docstring of `BaseModel.copy` for details about how to handle `include` and `exclude`.)r”   r•   rŠ   r‹   c          
     óô  — t        j                  dt        ¬«       ddlm} t        |j                  | dd||d¬«      fi |xs i ¤Ž}| j                  €d}n6| j                  j                  «       D ��	ci c]  \  }}	|	t        usŒ||	“Œ }}}	| j                  €d}
n}| j                  j                  «       }
t        | j                  «      D ]  }||vsŒ|
j                  |«       Œ t        |«      D ]%  }|| j                  v sŒ|j                  |«      |
|<   Œ' |r| j                  |j                  «       z  }nt!        | j                  «      }|r|t!        |«      z  }|j#                  | |||
||¬«      S c c}	}w )	a�  Returns a copy of the model.

        !!! warning "Deprecated"
            This method is now deprecated; use `model_copy` instead.

        If you need `include` or `exclude`, use:

        ```py
        data = self.model_dump(include=include, exclude=exclude, round_trip=True)
        data = {**data, **(update or {})}
        copied = self.model_validate(data)
        ```

        Args:
            include: Optional set or mapping specifying which fields to include in the copied model.
            exclude: Optional set or mapping specifying which fields to exclude in the copied model.
            update: Optional dictionary of field-value pairs to override field values in the copied model.
            deep: If True, the values of fields that are Pydantic models will be deep-copied.

        Returns:
            A copy of the model with included, excluded and updated fields as specified.
        r›  rd  r   ©Úcopy_internalsF)Úto_dictr—   r”   r•   r˜   N)r‹   )rœ   rg  r)   r‡  rž  rý   Ú_iterrR   rm   r   rO   r   Úlistro   rQ   r�   rl   Ú_copy_and_set_values)r\   r”   r•   rŠ   r‹   rž  r~   r;  r†   r‡   ri   r�   s               r_   r   zBaseModel.copyÎ  s†  € ôF 	�‰ðmä.õ	
õ
 	/äØ× Ñ Ø˜e¨e¸WÈgÐejð !ó ñ
ð Š|˜ñ	
ˆð ×$Ñ$Ð,Ø‰Gà(,×(AÑ(A×(GÑ(GÓ(I×h¡  1ÈQÔVgÒMg�q˜!‘tÐhˆGÑhà×"Ñ"Ð*Ø+/‰Eà×+Ñ+×0Ñ0Ó2ˆEÜ˜$×1Ñ1Ó2ò !�Ø˜F’?Ø—I‘I˜a•Lð!ô ˜&“\ò -�Ø˜×/Ñ/Ò/Ø%Ÿz™z¨!›}�E˜!’Hð-ñ
 Ø×5Ñ5¸¿¹»ÑE‰Jä˜T×9Ñ9Ó:ˆJñ Øœ#˜g›,Ñ&ˆJà×2Ñ2°4¸ÀÈUÐT[ÐbfÐ2ÓgÐgùó/ is   Á3E4ÂE4úCThe `schema` method is deprecated; use `model_json_schema` instead.c                ó^   — t        j                  dt        ¬«       | j                  ||¬«      S )Nr£  rd  ©r—   r©   )rœ   rg  r)   r(   )r|   r—   r©   s      r_   ÚschemazBaseModel.schema  s.   € ô
 	�‰ØQÔ\uõ	
ð ×$Ñ$¨hÀ\Ð$ÓRÐRra   úWThe `schema_json` method is deprecated; use `model_json_schema` and json.dumps instead.r¥  c               ó˜   — t        j                  dt        ¬«       dd l}ddlm}  |j                  | j                  ||¬«      fd|i|¤ŽS )Nr§  rd  r   r   )Úpydantic_encoderr¥  Údefault)rœ   rg  r)   rt  Údeprecated.jsonr©  Údumpsr(   )r|   r—   r©   rs  rt  r©  s         r_   Úschema_jsonzBaseModel.schema_json$  sV   € ô 	�‰ØeÜ.õ	
ó 	å5àˆt�z‰zØ×!Ñ!¨8À,Ð!ÓOñ
à$ð
ð ñ
ð 	
ra   úBThe `validate` method is deprecated; use `model_validate` instead.c                óZ   — t        j                  dt        ¬«       | j                  |«      S )Nr®  rd  rw  )r|   r…   s     r_   ÚvalidatezBaseModel.validate:  s)   € ô 	�‰ØPÔ[tõ	
ð ×!Ñ! %Ó(Ð(ra   úLThe `update_forward_refs` method is deprecated; use `model_rebuild` instead.c                óx   — t        j                  dt        ¬«       |rt        d«      ‚| j	                  d¬«       y )Nr±  rd  z,`localns` arguments are not longer accepted.T)r¿   )rœ   rg  r)   r²   rÒ   )r|   Úlocalnss     r_   Úupdate_forward_refszBaseModel.update_forward_refsB  s8   € ô 	�‰ØZÜ.õ	
ñ ÜÐJÓKÐKØ×Ñ ÐÕ%ra   úHThe private method `_iter` will be removed and should no longer be used.c                óp   — t        j                  dt        ¬«       ddlm}  |j
                  | g|¢­i |¤ŽS )Nrµ  rd  r   r�  )rœ   rg  r)   r‡  rž  r   ©r\   rð   rë   rž  s       r_   r   zBaseModel._iterP  s8   € ô 	�‰ØVÜ.õ	
õ 	/à#ˆ~×#Ñ# DÐ:¨4Ò:°6Ñ:Ð:ra   úWThe private method `_copy_and_set_values` will be removed and should no longer be used.c                óp   — t        j                  dt        ¬«       ddlm}  |j
                  | g|¢­i |¤ŽS )Nr¸  rd  r   r�  )rœ   rg  r)   r‡  rž  r¢  r·  s       r_   r¢  zBaseModel._copy_and_set_values\  s8   € ô
 	�‰ØeÜ.õ	
õ 	/à2ˆ~×2Ñ2°4ÐI¸$ÒIÀ&ÑIÐIra   úMThe private method `_get_value` will be removed and should no longer be used.c                óp   — t        j                  dt        ¬«       ddlm}  |j
                  | g|¢­i |¤ŽS )Nrº  rd  r   r�  )rœ   rg  r)   r‡  rž  Ú
_get_value)r|   rð   rë   rž  s       r_   r¼  zBaseModel._get_valuei  s8   € ô 	�‰Ø[Ü.õ	
õ 	/à(ˆ~×(Ñ(¨Ð>¨tÒ>°vÑ>Ð>ra   úRThe private method `_calculate_keys` will be removed and should no longer be used.c                óp   — t        j                  dt        ¬«       ddlm}  |j
                  | g|¢­i |¤ŽS )Nr½  rd  r   r�  )rœ   rg  r)   r‡  rž  Ú_calculate_keysr·  s       r_   r¿  zBaseModel._calculate_keysw  s8   € ô
 	�‰Ø`Ü.õ	
õ 	/à-ˆ~×-Ñ-¨dÐD°TÒD¸VÑDÐDra   )r]   r   ÚreturnÚNone)rÀ  rN   )rÀ  rP   rò   )r|   útype[Model]r}   zset[str] | Noner~   r   rÀ  r*   )r\   r*   rŠ   rN   r‹   ÚboolrÀ  r*   )r“   zLiteral['json', 'python'] | strr”   r-   r•   r-   r–   rN   r—   rÃ  r˜   rÃ  r™   rÃ  rš   rÃ  r›   rÃ  rœ   ú'bool | Literal['none', 'warn', 'error']r�   rÃ  rÀ  údict[str, Any])r¢   z
int | Noner”   r-   r•   r-   r–   rN   r—   rÃ  r˜   rÃ  r™   rÃ  rš   rÃ  r›   rÃ  rœ   rÄ  r�   rÃ  rÀ  rt   )
r—   rÃ  r©   rt   rª   ztype[GenerateJsonSchema]r“   r&   rÀ  rÅ  )r¶   ztuple[type[Any], ...]rÀ  rt   )r½   r   rÀ  rÁ  )
r¿   rÃ  rÀ   rÃ  rÁ   ÚintrÂ   rN   rÀ  úbool | None)r|   rÂ  r×   r   rÔ   rÇ  rÕ   rÇ  r–   rN   rÀ  r*   )
r|   rÂ  rÜ   zstr | bytes | bytearrayrÔ   rÇ  r–   rN   rÀ  r*   )
r|   rÂ  r×   r   rÔ   rÇ  r–   rN   rÀ  r*   )rã   útype[BaseModel]rä   r   rÀ  r0   )rç   r0   rä   r    rÀ  r'   )rë   r   rÀ  rÁ  )r  z!type[Any] | tuple[type[Any], ...]rÀ  z3type[BaseModel] | _forward_ref.PydanticRecursiveRef)r\   r*   rÀ  r*   )r\   r*   r  zdict[int, Any] | NonerÀ  r*   )r  rt   rÀ  r   )r‚   rt   r…   r   rÀ  rÁ  )rÀ  údict[Any, Any])r>  rÉ  rÀ  rÁ  )rI  r   rÀ  rÃ  )rë   zUnpack[ConfigDict])rÀ  ÚTupleGenerator)rÀ  rt   )rÀ  z_repr.ReprArgs)rÀ  zdict[str, FieldInfo])r”   r-   r•   r-   r—   rÃ  r˜   rÃ  r™   rÃ  rš   rÃ  rÀ  útyping.Dict[str, Any])r”   r-   r•   r-   r—   rÃ  r˜   rÃ  r™   rÃ  rš   rÃ  rp  z"typing.Callable[[Any], Any] | Nonerq  rÃ  rs  r   rÀ  rt   )r|   rÂ  r×   r   rÀ  r*   )r|   rÂ  rŒ  zstr | bytesr|  ú
str | Noner}  rt   r~  úDeprecatedParseProtocol | Noner  rÃ  rÀ  r*   )r|   rÂ  r’  z
str | Pathr|  rÌ  r}  rt   r~  rÍ  r  rÃ  rÀ  r*   )r\   r*   r”   ú+AbstractSetIntStr | MappingIntStrAny | Noner•   rÎ  rŠ   ztyping.Dict[str, Any] | Noner‹   rÃ  rÀ  r*   )r—   rÃ  r©   rt   rÀ  rË  )r—   rÃ  r©   rt   rs  r   rÀ  rt   )r|   rÂ  r…   r   rÀ  r*   )r³  r   rÀ  rÁ  )rð   r   rë   r   rÀ  r   )[rµ   Ú
__module__Ú__qualname__Ú__doc__r°   ÚTYPE_CHECKINGÚ__annotations__Ú_FieldrO   rQ   rR   r>   r?   r   ÚDecoratorInfosrF   rH   r   Ú
MockValSerrL   rK   Ú	__slots__r!   r=   rC   rJ   r`   Ú__pydantic_base_init__r'  rd   rf   Úclassmethodr‰   r‘   r    r¦   r$   r%   r(   rº   rz   rÒ   rØ   rÝ   rà   rå   rè   rì   r  rŽ   r�   r  r*  r-  r%  r<  r?  rO  rQ  rT  rZ  r_  r   ÚRepresentationrX  rY  Ú
__pretty__Ú__rich_repr__rb  Útyping_extensionsr‡  rh  rk  rý   r   rt  ry  rŽ  r“  r—  rš  r   r¦  r­  r°  r´  r   r¢  r¼  r¿  Ú__classcell__)r  s   @r_   r+   r+   B   s	  ø… ñð8 ×Òð +Ó*ð	ð 5Ó4ð	ð  FÓEØgà*Ó*Ø EÓEØ*Ó*à-Ó-Ø"6Ó6Ø"0Ó0Ø!EÓEØ'RÓRØ'FÓFØ KÓKØ!/Ó/Ø!;Ó;Ø 9Ó9ñ
 5;ÀÔ4FÐÐ1ÓFÙ,2¸Ô,>Ð Ó>Ù6<À%Ô6HÐÐ3ÔHð
 ˆØ "Ðà"< +×"<Ñ"<Ó">ÐØ(,Ð%à!9 ×!9Ñ!9ØfØ"Ø*ô"
Ðð
 #; -×":Ñ":ØfØ#Ø*ô#
Ðð d€Iá“<€LØ!ÐØ#Ðó
Nð '+€HÔ#àò'ó ð'ð ò,ó ð,ð óNó ðNð` DHÐV[õ ð> 19ØØØ)-ØØ#Ø!&Ø"Ø Ø<@Ø!&ñ3
ð .ð3
ð ð	3
ð
 ð3
ð 'ð3
ð ð3
ð ð3
ð ð3
ð ð3
ð ð3
ð :ð3
ð ð3
ð 
ó3
ðp "ØØØ)-ØØ#Ø!&Ø"Ø Ø<@Ø!&ñ1ð ð1ð ð	1ð
 ð1ð 'ð1ð ð1ð ð1ð ð1ð ð1ð ð1ð :ð1ð ð1ð 
ó1ðf ð Ø0Ø5GØ+ð
àð
ð ð
ð 3ð	
ð
 ð
ð 
ò
ó ð
ð. ò5ó ð5ó4ð ð Ø!Ø'(Ø26ñ5ð ð5ð ð	5ð
 "%ð5ð 0ð5ð 
ò5ó ð5ðn ð
 #Ø'+Ø)-ñ
Øð
àð
ð ð	
ð
 %ð
ð 'ð
ð 
ò
ó ð
ð8 ð
 #Ø)-ñcØðcà*ðcð ð	cð
 'ðcð 
òcó ðcð4 ð
 #Ø)-ñ`Øð`àð`ð ð	`ð
 'ð`ð 
ò`ó ð`ð* òó ðð. ð$àð$ð &ð$ð
 
ò$ó ð$ð2 òó ðð$>Ø>ð>à	<ó>ó@ô&ð* ×Òõ	jó@)	7óV	fó4bó	
ó=ð ×Òó5	&ðn ×Òó
	ó.%óDódð( ×(Ñ(×6Ñ6€MØ×'Ñ'×4Ñ4€LØ×%Ñ%×0Ñ0€JØ×(Ñ(×6Ñ6€Mó&ð Ø!Ð×!Ñ!ØOÐZ^ôò!óó ð!ð Ø!Ð×!Ñ!ØWØôò,ó	ó ð
,ð "Ð×!Ñ!Ð"^ÐimÔnð ØØØ#Ø!&Ø"ñ
ð ð
ð ð	
ð
 ð
ð ð
ð ð
ð ð
ð 
ò
ó oð
ð( "Ð×!Ñ!Ð"cÐnrÔsð ØØØ#Ø!&Ø"Ø6GØ0ñ
ð ð
ð ð	
ð
 ð
ð ð
ð ð
ð ð
ð 4ð
ð ð
ð ð
ð 
ò
ó tð
ð> Ø!Ð×!Ñ!Ð"gÐrvÔwò'ó xó ð'ð Ø!Ð×!Ñ!ð	Eàôð $(ØØ04Ø"ñ-'Øð-'àð-'ð !ð	-'ð
 ð-'ð .ð-'ð ð-'ð 
ò-'óó ð-'ð^ Ø!Ð×!Ñ!ð	Iàôð $(ØØ04Ø"ñ"Øð"àð"ð !ð	"ð
 ð"ð .ð"ð ð"ð 
ò"óó ð"ð2 Ø!Ð×!Ñ!ð	Sàôò

'óó ð
'ð Ø!Ð×!Ñ!Ð"hÐswÔxóFó yó ðFð "Ð×!Ñ!ð	iàôð @DØ?CØ/3ØñEhØðEhð =ðEhð =ð	Ehð
 -ðEhð ðEhð 
òEhóð
EhðN Ø!Ð×!Ñ!Ð"gÐrvÔwà"Ð8LðSØðSØ25ðSà	òSó xó ðSð Ø!Ð×!Ñ!ØaØôð
 "&Ð;Oñ
Øð
Ø58ð
Øadð
à	ò
ó	ó ð

ð" Ø!Ð×!Ñ!Ð"fÐquÔvò)ó wó ð)ð Ø!Ð×!Ñ!ØVØôò&ó	ó ð
&ð "Ð×!Ñ!ØRÐ]aôò;óð;ð "Ð×!Ñ!ØaØôòJó	ðJð Ø!Ð×!Ñ!ØWØôò?ó	ó ð
?ð "Ð×!Ñ!Ø\ØôòEó	ôEra   )Ú	metaclass)Ú
__config__rÑ  Ú__base__rÏ  Ú__validators__Ú__cls_kwargs__c                ó   — y rò   r¼   ©Ú__model_namerà  rÑ  rá  rÏ  râ  rã  Úfield_definitionss           r_   r;   r;   …  ó   € ð ra   )rà  rÑ  rÏ  râ  rã  c                ó   — y rò   r¼   rå  s           r_   r;   r;   ”  rè  ra   )rà  rÑ  rá  rÏ  râ  rã  r×  c               ó˜  — |�t        j                  dt        «       |�#|�t        dd¬«      ‚t	        |t
        «      s0|f}n,t        j                  t        j                  d   t        «      f}|xs i }i }	i }
|j                  «       D ]Á  \  }}t        j                  |«      st        j                  d|› d�t        «       t	        |t
        «      rt        j                  d	|«      }	 |\  }}nPt        j                  |«      r7t!        j"                  |«      ^}}}ddlm} t	        ||«      st        dd¬«      ‚d|}}|r||
|<   ||	|<   ŒÃ |€$t)        j*                  d«      }|j,                  d   }|
|dœ}|r|j/                  d|i«       |r|j/                  |«       |j/                  |	«       |r"t1        j2                  |«      j4                  |d<   t7        j8                  |«      }t7        j:                  | ||¬«      \  }}}||ur||d<   |j/                  |«        || ||fd|dœ|¤ŽS # t        $ r}t        d
d¬«      |‚d}~ww xY w)a2  Usage docs: https://docs.pydantic.dev/2.7/concepts/models/#dynamic-model-creation

    Dynamically creates and returns a new Pydantic model, in other words, `create_model` dynamically creates a
    subclass of [`BaseModel`][pydantic.BaseModel].

    Args:
        __model_name: The name of the newly created model.
        __config__: The configuration of the new model.
        __doc__: The docstring of the new model.
        __base__: The base class or classes for the new model.
        __module__: The name of the module that the model belongs to;
            if `None`, the value is taken from `sys._getframe(1)`
        __validators__: A dictionary of methods that validate fields.
        __cls_kwargs__: A dictionary of keyword arguments for class creation, such as `metaclass`.
        __slots__: Deprecated. Should not be passed to `create_model`.
        **field_definitions: Attributes of the new model. They should be passed in the format:
            `<name>=(<type>, <default value>)`, `<name>=(<type>, <FieldInfo>)`, or `typing.Annotated[<type>, <FieldInfo>]`.
            Any additional metadata in `typing.Annotated[<type>, <FieldInfo>, ...]` will be ignored.

    Returns:
        The new [model][pydantic.BaseModel].

    Raises:
        PydanticUserError: If `__base__` and `__config__` are both passed.
    Nz.__slots__ should not be passed to create_modelzFto avoid confusion `__config__` and `__base__` cannot be used togetherzcreate-model-config-baser–  r*   z3fields may not start with an underscore, ignoring "r#  ztuple[str, Any]z4Field definitions should be a `(<type>, <default>)`.zcreate-model-field-definitionsr   )r8   z<Field definitions should be a Annotated[<type>, <FieldInfo>]rµ   )rÓ  rÏ  rÑ  r=   )ÚkwdsÚ__orig_bases__F)Ú#__pydantic_reset_parent_namespace__Ú_create_model_module)rœ   rg  ÚRuntimeWarningr#   rr   rû   r°   ÚcastÚTyper+   rm   r   r$  r(  r   Úis_annotatedrÝ  Úget_argsÚfieldsr8   ÚsysÚ	_getframeÚ	f_globalsrŠ   r   rÎ   Úconfig_dictÚtypesÚresolve_basesÚprepare_class)ræ  rà  rÑ  rá  rÏ  râ  rã  r×  rç  rô  r   Úf_nameÚf_defÚf_annotationÚf_valueÚerC  r8   ÚfÚ	namespaceÚresolved_basesÚmetaÚnsrë  s                           r_   r;   r;   £  s}  € ðJ Ðä�‰ÐFÌÔWàÐØÐ!Ü#ØXØ/ôð ô ˜(¤EÔ*Ø �{‰Hä—K‘K¤§¡¨GÑ 4´iÓ@ÐBˆà#Ò) r€Nà€FØ€Kà*×0Ñ0Ó2ò !‰ˆ�Ü×*Ñ*¨6Ô2Ü�M‰MÐOÐPVÈxÐWXÐYÔ[iÔjÜ�eœUÔ#Ü—K‘KÐ 1°5Ó9ˆEðØ(-Ñ%�™gô ×'Ñ'¨Ô.Ü*;×*DÑ*DØó+Ð'ˆ\˜7 Qõ *ä˜g yÔ1Ü'ØRØ9ôð ð %)¨%˜'ˆLáØ".ˆK˜ÑØ ˆˆvŠð=!ð@ ÐÜ�M‰M˜!ÓˆØ—[‘[ Ñ,ˆ
à4?ÈzÑ Z€IÙØ×Ñ˜) WÐ-Ô.ÙØ×Ñ˜Ô(Ø×Ñ�VÔÙÜ$+×$9Ñ$9¸*Ó$E×$QÑ$Qˆ	�.Ñ!Ü×(Ñ(¨Ó2€NÜ×(Ñ(¨°~ÈNÔ[�N€Dˆ"ˆdØ˜XÑ%Ø'ˆÐÑØ×Ñ�RÔáØØØðð -2Ø'ñð ñð øôW ò Ü'ØJØ9ôð ðûðús   Ã(H-È-	I	È6IÉI	)ræ  rt   rà  úConfigDict | NonerÑ  rÌ  rá  rÁ  rÏ  rt   râ  údict[str, classmethod] | Nonerã  rN   rç  r   rÀ  rÈ  )ræ  rt   rà  r  rÑ  rÌ  rá  z%type[Model] | tuple[type[Model], ...]rÏ  rt   râ  r  rã  rN   rç  r   rÀ  rÂ  )ræ  rt   rà  r  rÑ  rÌ  rá  z,type[Model] | tuple[type[Model], ...] | NonerÏ  rÌ  râ  r  rã  rN   r×  ztuple[str, ...] | Nonerç  r   rÀ  rÂ  )\rÑ  Ú
__future__r   Ú_annotationsrE  rõ  rù  r°   rœ   r   r   r   r   r   r	   r
   r   r   r   r   r5  rÝ  r   r   Ú	_internalr   r   r   r   r   r   r   r   r   r   Ú
_migrationr   Úaliasesr   r   Úannotated_handlersr   r    rÑ   r!   Úerrorsr"   r#   Újson_schemar$   r%   r&   r'   r(   r)   r*   rt   rÊ  rÆ  r-   rÓ  rÒ  Úinspectr.   Úpathlibr/   r0   r1   r2   r3   Ú_internal._utilsr4   r5   Údeprecated.parser6   ÚDeprecatedParseProtocolrô  r7   r8   r9   r:   rÔ  ÚDeprecationWarningÚ__all__Úobject_setattrry   ÚModelMetaclassr+   Úoverloadrµ   r;   r  r¼   ra   r_   ú<module>r     s¨  ðÚ  Ý 2ã Û 
Û Û Û ß ß V× VÕ Vã Û Ý +Ý '÷÷ ÷ õ *ß ,ß JÝ ß Bß uÕ uÝ /ñ 	�˜{Ô+€Ø˜5  c ™?¨D°$Ð6Ñ7€à˜˜S™ 3 s¡8¨T°#°s°(©^¸TÀ#ÀsÀ(¹^ÈTÐQÑR€€yÓ Rð 
×ÒÝ!ÝçKÑKÝ(çEÝEßFÑFÞ'ð 3Ðà
%€à%×4Ñ4€ô@EÐ-×<Ñ<õ @EðF* ‡�ð %)ØØØØ48Ø,0ñØðð "ðð ð	ð
 ðð ðð 2ðð *ðð ðð òó ðð ‡�ð %)ØàØ48Ø,0ñØðð "ðð ð	ð
 4ðð ðð 2ðð *ðð ðð òó ðð" %)ØØ=AØ!Ø48Ø,0Ø(,ñrØðrð "ðrð ð	rð
 ;ðrð ðrð 2ðrð *ðrð &ðrð ðrð órñj   Ó)�ra   