o
    ß­j%<  ã                   @   sš  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 d dlmZmZmZmZmZmZ d dlmZ d dlmZmZmZ d dlmZmZmZ d dlmZ zd dlZesUJ ‚d d	lm Z  W n e!ym   G d
d„ de"ƒZ Y nw G dd„ deƒZ#G dd„ de#ƒZ$G dd„ de#ƒZ%G dd„ de#ƒZ&G dd„ de#ƒZ'G dd„ de#ƒZ(G dd„ deƒZ)G dd„ deƒZ*G dd„ de#ƒZ+G dd„ de#ƒZ,G d d!„ d!e#ƒZ-ee-e.f Z/G d"d#„ d#ed$d%�Z0G d&d'„ d'eƒZ1G d(d)„ d)e#ƒZ2G d*d+„ d+e#ƒZ3G d,d-„ d-e#ƒZ4G d.d/„ d/e4ƒZ5G d0d1„ d1e4ƒZ6G d2d3„ d3e#ƒZ7G d4d5„ d5e#ƒZ8G d6d7„ d7e#ƒZ9G d8d9„ d9e#ƒZ:G d:d;„ d;e#ƒZ;G d<d=„ d=eƒZ<G d>d?„ d?e#ƒZ=G d@dA„ dAeƒZ>G dBdC„ dCe=ƒZ?G dDdE„ dEe=ƒZ@G dFdG„ dGe@ƒZAG dHdI„ dIe#ƒZBG dJdK„ dKeBƒZCG dLdM„ dMeBƒZDG dNdO„ dOeBƒZEG dPdQ„ dQeBƒZFG dRdS„ dSe#ƒZGG dTdU„ dUe=ƒZHG dVdW„ dWe=ƒZIee?e@eHeIeAf ZJG dXdY„ dYe#ƒZKG dZd[„ d[e#ƒZLG d\d]„ d]e#ƒZMee-ƒ ee:ƒ ee2ƒ dS )^é    )ÚEnum)	ÚAnyÚCallableÚDictÚIterableÚListÚOptionalÚSetÚTypeÚUnion)ÚPYDANTIC_V2Ú
CoreSchemaÚGetJsonSchemaHandlerÚJsonSchemaValueÚ_model_rebuildÚ"with_info_plain_validator_function)Úlogger)ÚAnyUrlÚ	BaseModelÚField)Ú	AnnotatedÚLiteralÚ	TypedDict)Ú
deprecatedN)ÚEmailStrc                   @   sœ   e Zd Zedeedef  fdd„ƒZededefdd„ƒZ	eded	edefd
d„ƒZ
edededefdd„ƒZedee deegef defdd„ƒZdS )r   Úreturn.c                 c   s   � | j V  d S ©N)Úvalidate)Úcls© r   úS/var/www/html/CropPilot/venv/lib/python3.10/site-packages/fastapi/openapi/models.pyÚ__get_validators__   s   €zEmailStr.__get_validators__Úvc                 C   ó   t  d¡ t|ƒS ©Nzpemail-validator not installed, email fields will be treated as str.
To install, run: pip install email-validator©r   ÚwarningÚstr)r   r"   r   r   r    r      ó   ÿzEmailStr.validateÚ_EmailStr__input_valueÚ_c                 C   r#   r$   r%   )r   r)   r*   r   r   r    Ú	_validate%   r(   zEmailStr._validateÚcore_schemaÚhandlerc                 C   s
   dddœS )NÚstringÚemail)ÚtypeÚformatr   )r   r,   r-   r   r   r    Ú__get_pydantic_json_schema__-   ó   
z%EmailStr.__get_pydantic_json_schema__Úsourcec                 C   s
   t | jƒS r   )r   r+   )r   r4   r-   r   r   r    Ú__get_pydantic_core_schema__3   r3   z%EmailStr.__get_pydantic_core_schema__N)Ú__name__Ú
__module__Ú__qualname__Úclassmethodr   r   r   r!   r'   r   r+   r   r   r   r2   r
   r5   r   r   r   r    r      s.    ÿÿþÿÿþr   c                   @   s*   e Zd ZerddiZdS G dd„ dƒZdS )ÚBaseModelWithConfigÚextraÚallowc                   @   ó   e Zd ZdZdS )zBaseModelWithConfig.Configr<   N©r6   r7   r8   r;   r   r   r   r    ÚConfig@   ó    r?   N)r6   r7   r8   r   Úmodel_configr?   r   r   r   r    r:   :   s    r:   c                   @   s>   e Zd ZU dZee ed< dZee ed< dZ	ee
 ed< dS )ÚContactNÚnameÚurlr/   )r6   r7   r8   rC   r   r'   Ú__annotations__rD   r   r/   r   r   r   r   r    rB   D   ó   
 rB   c                   @   ó6   e Zd ZU eed< dZee ed< dZee ed< dS )ÚLicenserC   NÚ
identifierrD   )	r6   r7   r8   r'   rE   rI   r   rD   r   r   r   r   r    rH   J   ó   
 rH   c                   @   sn   e Zd ZU eed< dZee ed< dZee ed< dZee ed< dZ	ee
 ed< dZee ed< eed< dS )	ÚInfoÚtitleNÚsummaryÚdescriptionÚtermsOfServiceÚcontactÚlicenseÚversion)r6   r7   r8   r'   rE   rM   r   rN   rO   rP   rB   rQ   rH   r   r   r   r    rK   P   s   
 rK   c                   @   sH   e Zd ZU dZeeee  edd�f e	d< ee	d< dZ
ee e	d< dS )ÚServerVariableNé   )Ú
min_lengthÚenumÚdefaultrN   )r6   r7   r8   rV   r   r   r   r'   r   rE   rN   r   r   r   r    rS   Z   s   
 "rS   c                   @   sF   e Zd ZU eeef ed< dZee ed< dZ	ee
eef  ed< dS )ÚServerrD   NrN   Ú	variables)r6   r7   r8   r   r   r'   rE   rN   r   rY   r   rS   r   r   r   r    rX   `   s   
 rX   c                   @   s    e Zd ZU edd�Zeed< dS )Ú	Referenceú$ref©ÚaliasÚrefN)r6   r7   r8   r   r^   r'   rE   r   r   r   r    rZ   f   s   
 rZ   c                   @   s.   e Zd ZU eed< dZeeeef  ed< dS )ÚDiscriminatorÚpropertyNameNÚmapping)r6   r7   r8   r'   rE   ra   r   r   r   r   r   r    r_   j   s   
 r_   c                   @   s^   e Zd ZU dZee ed< dZee ed< dZee ed< dZ	ee
 ed< dZee
 ed< dS )ÚXMLNrC   Ú	namespaceÚprefixÚ	attributeÚwrapped)r6   r7   r8   rC   r   r'   rE   rc   rd   re   Úboolrf   r   r   r   r    rb   o   s   
 rb   c                   @   s&   e Zd ZU dZee ed< eed< dS )ÚExternalDocumentationNrN   rD   )r6   r7   r8   rN   r   r'   rE   r   r   r   r   r    rh   w   s   
 rh   c                   @   sæ  e Zd ZU eddd�Zee ed< eddd�Zee ed< eddd�Z	ee ed< edd	d�Z
ee ed
< eddd�Zee ed< eddd�Zee ed< eddd�Zee ed< eddd�Zeeedf  ed< eddd�Zee ed< dZeed  ed< dZeed  ed< dZeed  ed< eddd�Zed ed< eddd�Zed ed< dZed ed< eddd�Zed ed< dZeeedf  ed < dZeed  ed!< dZeeded f  ed"< dZed ed#< dZeeedf  ed$< dZeeedf  ed%< dZ ed ed&< dZ!ed ed'< dZ"ed ed(< dZ#ed ed)< dZ$ee ed*< dZ%eee&  ed+< dZ'ee& ed,< edd-d.�Z(ee) ed/< dZ*ee) ed0< dZ+ee) ed1< dZ,ee) ed2< dZ-ee) ed3< edd-d4�Z.ee/ ed5< edd-d4�Z0ee/ ed6< dZ1ee ed7< edd-d4�Z2ee/ ed8< edd-d4�Z3ee/ ed9< dZ4ee5 ed:< edd-d4�Z6ee/ ed;< edd-d4�Z7ee/ ed<< edd-d4�Z8ee/ ed=< edd-d4�Z9ee/ ed>< dZ:eee  ed?< dZ;eeee<e f  ed@< dZ=ee edA< dZ>ee edB< dZ?ee edC< dZ@ed edD< dZAee edE< dZBee edF< dZCee& edG< dZDee5 edH< dZEee5 edI< dZFee5 edJ< dZGeee&  edK< dZHeeI edL< dZJeeK edM< dZLeeM edN< dZNeOee& ePdOƒf edP< dS )QÚSchemaNz$schema©rW   r]   Úschema_z$vocabularyÚ
vocabularyz$idÚidz$anchorÚanchorz$dynamicAnchorÚdynamicAnchorr[   r^   z$dynamicRefÚ
dynamicRefz$defsÚSchemaOrBoolÚdefsz$commentÚcommentÚallOfÚanyOfÚoneOfÚnotÚnot_ÚifÚif_ÚthenÚelseÚelse_ÚdependentSchemasÚprefixItemsÚitemsÚcontainsÚ
propertiesÚpatternPropertiesÚadditionalPropertiesÚpropertyNamesÚunevaluatedItemsÚunevaluatedPropertiesr0   rV   Úconstr   )rW   ÚgtÚ
multipleOfÚmaximumÚexclusiveMaximumÚminimumÚexclusiveMinimum)rW   ÚgeÚ	maxLengthÚ	minLengthÚpatternÚmaxItemsÚminItemsÚuniqueItemsÚmaxContainsÚminContainsÚmaxPropertiesÚminPropertiesÚrequiredÚdependentRequiredr1   ÚcontentEncodingÚcontentMediaTypeÚcontentSchemarL   rN   rW   r   ÚreadOnlyÚ	writeOnlyÚexamplesÚdiscriminatorÚxmlÚexternalDocsznDeprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, although still supported. Use examples instead.Úexample)Qr6   r7   r8   r   rk   r   r'   rE   rl   rm   rn   ro   r^   rp   rr   r   rs   rt   r   ru   rv   rx   rz   r{   r}   r~   r   r€   r   r�   r‚   rƒ   r„   r…   r†   r‡   r0   rV   r   rˆ   rŠ   Úfloatr‹   rŒ   r�   rŽ   r�   Úintr‘   r’   r“   r”   r•   rg   r–   r—   r˜   r™   rš   r›   r	   r1   rœ   r�   rž   rL   rN   rW   r   rŸ   r    r¡   r¢   r_   r£   rb   r¤   rh   r¥   r   Útyping_deprecatedr   r   r   r    ri   |   sŠ   
  úÿÿÿri   c                   @   s\   e Zd ZU ee ed< ee ed< ee ed< ee ed< er%ddiZ	d	S G dd„ dƒZ
d	S )
ÚExamplerM   rN   ÚvalueÚexternalValuer;   r<   c                   @   r=   )zExample.Configr<   Nr>   r   r   r   r    r?   ã   r@   r?   N)r6   r7   r8   r   r'   rE   r   r   r   Ú__pydantic_config__r?   r   r   r   r    r©   Ø   s   
 r©   F)Útotalc                   @   ó   e Zd ZdZdZdZdZdS )ÚParameterInTypeÚqueryÚheaderÚpathÚcookieN)r6   r7   r8   r°   r±   r²   r³   r   r   r   r    r¯   ç   ó
    r¯   c                   @   sn   e Zd ZU dZee ed< dZeeee	de
f f  ed< dZee ed< dZee ed< dZee ed< dS )ÚEncodingNÚcontentTypeÚHeaderÚheadersÚstyleÚexplodeÚallowReserved)r6   r7   r8   r¶   r   r'   rE   r¸   r   r   rZ   r¹   rº   rg   r»   r   r   r   r    rµ   î   s   
  rµ   c                   @   sv   e Zd ZU eddd�Zeeeef  e	d< dZ
ee e	d< dZeeeeeef f  e	d< dZeeeef  e	d< dS )Ú	MediaTypeNÚschemarj   rk   r¥   r¡   Úencoding)r6   r7   r8   r   rk   r   r   ri   rZ   rE   r¥   r   r¡   r   r'   r©   r¾   rµ   r   r   r   r    r¼   ö   s
   
   r¼   c                   @   sÖ   e Zd ZU dZee ed< dZee ed< dZ	ee ed< dZ
ee ed< dZee ed< dZee ed< eddd	�Zeeeef  ed
< dZee ed< dZeeeeeef f  ed< dZeeeef  ed< dS )ÚParameterBaseNrN   rš   r   r¹   rº   r»   r½   rj   rk   r¥   r¡   Úcontent)r6   r7   r8   rN   r   r'   rE   rš   rg   r   r¹   rº   r»   r   rk   r   ri   rZ   r¥   r   r¡   r   r©   rÀ   r¼   r   r   r   r    r¿   ý   s   
   r¿   c                   @   s(   e Zd ZU eed< edd�Zeed< dS )Ú	ParameterrC   Úinr\   Úin_N)r6   r7   r8   r'   rE   r   rÃ   r¯   r   r   r   r    rÁ     s   
 rÁ   c                   @   s   e Zd ZdS )r·   N)r6   r7   r8   r   r   r   r    r·     s    r·   c                   @   s>   e Zd ZU dZee ed< eeef ed< dZ	ee
 ed< dS )ÚRequestBodyNrN   rÀ   rš   )r6   r7   r8   rN   r   r'   rE   r   r¼   rš   rg   r   r   r   r    rÄ     rF   rÄ   c                   @   s†   e Zd ZU dZee ed< dZee ed< dZee	ee
eef f  ed< dZee
eef  ed< dZee ed< dZee ed< dS )ÚLinkNÚoperationRefÚoperationIdÚ
parametersÚrequestBodyrN   Úserver)r6   r7   r8   rÆ   r   r'   rE   rÇ   rÈ   r   r   r   rÉ   rN   rÊ   rX   r   r   r   r    rÅ     s   
  rÅ   c                   @   sn   e Zd ZU eed< dZeeeee	e
f f  ed< dZeeeef  ed< dZeeeeee
f f  ed< dS )ÚResponserN   Nr¸   rÀ   Úlinks)r6   r7   r8   r'   rE   r¸   r   r   r   r·   rZ   rÀ   r¼   rÌ   rÅ   r   r   r   r    rË   $  s
   
  $rË   c                   @   s"  e Zd ZU dZeee  ed< dZee ed< dZ	ee ed< dZ
ee ed< dZee ed< dZeeeeef   ed< dZeeeef  ed< dZeeeeeef f  ed	< dZeeeeeed
f ef f  ed< dZee ed< dZeeeeee f   ed< dZeee  ed< dS )Ú	OperationNÚtagsrM   rN   r¤   rÇ   rÈ   rÉ   Ú	responsesÚPathItemÚ	callbacksr   ÚsecurityÚservers)r6   r7   r8   rÎ   r   r   r'   rE   rM   rN   r¤   rh   rÇ   rÈ   r   rÁ   rZ   rÉ   rÄ   rÏ   r   rË   r   rÑ   r   rg   rÒ   rÓ   rX   r   r   r   r    rÍ   +  s   
  ( rÍ   c                   @   sö   e Zd ZU eddd�Zee ed< dZee ed< dZ	ee ed< dZ
ee ed< dZee ed< dZee ed	< dZee ed
< dZee ed< dZee ed< dZee ed< dZee ed< dZeee  ed< dZeeeeef   ed< dS )rÐ   Nr[   rj   r^   rM   rN   ÚgetÚputÚpostÚdeleteÚoptionsÚheadÚpatchÚtracerÓ   rÈ   )r6   r7   r8   r   r^   r   r'   rE   rM   rN   rÔ   rÍ   rÕ   rÖ   r×   rØ   rÙ   rÚ   rÛ   rÓ   r   rX   rÈ   r   rÁ   rZ   r   r   r   r    rÐ   ;  s   
  rÐ   c                   @   r®   )ÚSecuritySchemeTypeÚapiKeyÚhttpÚoauth2ÚopenIdConnectN)r6   r7   r8   rÝ   rÞ   rß   rà   r   r   r   r    rÜ   K  r´   rÜ   c                   @   s0   e Zd ZU edd�Zeed< dZee	 ed< dS )ÚSecurityBaser0   r\   Útype_NrN   )
r6   r7   r8   r   râ   rÜ   rE   rN   r   r'   r   r   r   r    rá   R  s   
 rá   c                   @   s   e Zd ZdZdZdZdS )ÚAPIKeyInr°   r±   r³   N)r6   r7   r8   r°   r±   r³   r   r   r   r    rã   W  s    rã   c                   @   s>   e Zd ZU eejdd�Zeed< edd�Ze	ed< e
ed< dS )	ÚAPIKeyr0   rj   râ   rÂ   r\   rÃ   rC   N)r6   r7   r8   r   rÜ   rÝ   râ   rE   rÃ   rã   r'   r   r   r   r    rä   ]  s   
 rä   c                   @   ó,   e Zd ZU eejdd�Zeed< eed< dS )ÚHTTPBaser0   rj   râ   ÚschemeN)	r6   r7   r8   r   rÜ   rÞ   râ   rE   r'   r   r   r   r    ræ   c  ó   
 ræ   c                   @   s.   e Zd ZU dZed ed< dZee ed< dS )Ú
HTTPBearerÚbearerrç   NÚbearerFormat)	r6   r7   r8   rç   r   rE   rë   r   r'   r   r   r   r    ré   h  s   
 ré   c                   @   s2   e Zd ZU dZee ed< i Zeeef ed< dS )Ú	OAuthFlowNÚ
refreshUrlÚscopes)	r6   r7   r8   rí   r   r'   rE   rî   r   r   r   r   r    rì   m  s   
 rì   c                   @   ó   e Zd ZU eed< dS )ÚOAuthFlowImplicitÚauthorizationUrlN©r6   r7   r8   r'   rE   r   r   r   r    rð   r  ó   
 rð   c                   @   rï   )ÚOAuthFlowPasswordÚtokenUrlNrò   r   r   r   r    rô   v  ró   rô   c                   @   rï   )ÚOAuthFlowClientCredentialsrõ   Nrò   r   r   r   r    rö   z  ró   rö   c                   @   s   e Zd ZU eed< eed< dS )ÚOAuthFlowAuthorizationCoderñ   rõ   Nrò   r   r   r   r    r÷   ~  s   
 r÷   c                   @   sN   e Zd ZU dZee ed< dZee ed< dZ	ee
 ed< dZee ed< dS )Ú
OAuthFlowsNÚimplicitÚpasswordÚclientCredentialsÚauthorizationCode)r6   r7   r8   rù   r   rð   rE   rú   rô   rû   rö   rü   r÷   r   r   r   r    rø   ƒ  s
   
 rø   c                   @   rå   )ÚOAuth2r0   rj   râ   ÚflowsN)	r6   r7   r8   r   rÜ   rß   râ   rE   rø   r   r   r   r    rý   Š  rè   rý   c                   @   rå   )ÚOpenIdConnectr0   rj   râ   ÚopenIdConnectUrlN)	r6   r7   r8   r   rÜ   rà   râ   rE   r'   r   r   r   r    rÿ   �  s
   
 ÿrÿ   c                   @   sX  e Zd ZU dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d	< dZeeeeeeef e	ef f  e
d
< dZeeeeee	f f  e
d< dS )Ú
ComponentsNÚschemasrÏ   rÈ   r¡   ÚrequestBodiesr¸   ÚsecuritySchemesrÌ   rÑ   Ú	pathItems)r6   r7   r8   r  r   r   r'   r   ri   rZ   rE   rÏ   rË   rÈ   rÁ   r¡   r©   r  rÄ   r¸   r·   r  ÚSecuritySchemerÌ   rÅ   rÑ   rÐ   r   r  r   r   r   r    r  ™  s   
         *$r  c                   @   rG   )ÚTagrC   NrN   r¤   )	r6   r7   r8   r'   rE   rN   r   r¤   rh   r   r   r   r    r  §  rJ   r  c                   @   sÖ   e Zd ZU eed< eed< dZee ed< dZee	e
  ed< dZeeeeeef f  ed< dZeeeeeef f  ed< dZee ed< dZee	eee	e f   ed	< dZee	e  ed
< dZee ed< dS )ÚOpenAPIÚopenapiÚinfoNÚjsonSchemaDialectrÓ   ÚpathsÚwebhooksÚ
componentsrÒ   rÎ   r¤   )r6   r7   r8   r'   rE   rK   r  r   rÓ   r   rX   r  r   r   rÐ   r   r  rZ   r  r  rÒ   rÎ   r  r¤   rh   r   r   r   r    r  ­  s   
    r  )NrV   r   Útypingr   r   r   r   r   r   r	   r
   r   Úfastapi._compatr   r   r   r   r   r   Úfastapi.loggerr   Úpydanticr   r   r   Útyping_extensionsr   r   r   r   r¨   Úemail_validatorr   ÚImportErrorr'   r:   rB   rH   rK   rS   rX   rZ   r_   rb   rh   ri   rg   rq   r©   r¯   rµ   r¼   r¿   rÁ   r·   rÄ   rÅ   rË   rÍ   rÐ   rÜ   rá   rã   rä   ræ   ré   rì   rð   rô   rö   r÷   rø   rý   rÿ   r  r  r  r  r   r   r   r    Ú<module>   sv    , þ$

Y	