
    5j[              	      \   % S r SSKJr  SSKrSSKrSSKJr  SSK	J
r
JrJrJrJrJr  SSKJrJr  SSKJrJrJrJr  SSKJrJrJr  S	S
KJrJrJr  S	SK J!r!  S	SK"J#r#  S	SK$J%r%  \(       a  SSK&q&Sr'S\(S'   OSq&/ SQr)\RT                   " S S\RV                  5      5       r,\r- \\\," SS/S94   r. \\\," SSS/S94   r/ \\\," SS/S94   r0 \\\," SSS/S94   r1 \\\," S/S94   r2 \\\," S/S94   r3 \\\," S/ SQS94   r4 \\\," S/ S QS94   r5 \\\," S!S"/S94   r6 \\\," S#S$/S%S&S'S(94   r7 \\\," S)S*/S+S,94   r8 \\\," S-/S%S.S/94   r9 \\\," / S0QS%S1S/94   r: \\\," / S2QS3S,94   r; \\\," / S4QS3S,94   r< \\\," S5S6/S%S7S/94   r= \\\," S8/SS994   r> SOS: jr?\(       a  \\@S;4   rAO
 " S< S=5      rA " S> S?\R                  5      rCS@rDS\(SA'   SBrES\(SC'   SDrFS\(SE'   \(       a  \DrG\ErH\FrIO " SF SG5      rG " SH SI5      rH " SJ SK5      rISPSL jrJ\J" 5       rKSMrL SQSN jrM\!" \N5      rOg)RzEThe networks module contains types for common network-related fields.    )annotationsN)version)IPv4AddressIPv4InterfaceIPv4NetworkIPv6AddressIPv6InterfaceIPv6Network)TYPE_CHECKINGAny)MultiHostUrlPydanticCustomErrorUrlcore_schema)	AnnotatedSelf	TypeAlias   )_fields_repr_schema_generation_shared)getattr_migration)GetCoreSchemaHandler)JsonSchemaValuez7str | bytes | int | tuple[str | bytes | int, str | int]r   NetworkType)AnyUrl
AnyHttpUrlFileUrlFtpUrlHttpUrlWebsocketUrlAnyWebsocketUrlUrlConstraintsEmailStr	NameEmailIPvAnyAddressIPvAnyInterfaceIPvAnyNetworkPostgresDsnCockroachDsnAmqpDsnRedisDsnMongoDsnKafkaDsnNatsDsnvalidate_emailMySQLDsn
MariaDBDsnClickHouseDsnSnowflakeDsnc                  x    \ rS rSr% SrSrS\S'   SrS\S'   SrS\S	'   Sr	S
\S'   Sr
S\S'   SrS
\S'   SS jrSrg)r#   9   a  Url constraints.

Attributes:
    max_length: The maximum length of the url. Defaults to `None`.
    allowed_schemes: The allowed schemes. Defaults to `None`.
    host_required: Whether the host is required. Defaults to `None`.
    default_host: The default host. Defaults to `None`.
    default_port: The default port. Defaults to `None`.
    default_path: The default path. Defaults to `None`.
Nz
int | None
max_lengthzlist[str] | Noneallowed_schemeszbool | Nonehost_requiredz
str | Nonedefault_hostdefault_portdefault_pathc                    [        U R                  U R                  b  [        U R                  5      OS U R                  U R
                  U R                  U R                  45      $ N)hashr7   r8   tupler9   r:   r;   r<   selfs    P/root/lseg-credit/backend/venv/lib/python3.13/site-packages/pydantic/networks.py__hash__UrlConstraints.__hash__M   s[    /3/C/C/Od**+UY""!!!!!!	
 		
     )returnint)__name__
__module____qualname____firstlineno____doc__r7   __annotations__r8   r9   r:   r;   r<   rD   __static_attributes__rG   rF   rC   r#   r#   9   sK    	 "J
!(,O%,!%M;%#L*##L*##L*#

rF   r#   httphttps)r8   i#  )r7   r8   wswssfileftpT)	postgres
postgresqlzpostgresql+asyncpgzpostgresql+pg8000zpostgresql+psycopgzpostgresql+psycopg2zpostgresql+psycopg2cffizpostgresql+py-postgresqlzpostgresql+pygresql)r9   r8   )cockroachdbzcockroachdb+psycopg2zcockroachdb+asyncpgamqpamqpsredisrediss	localhosti  z/0)r8   r:   r;   r<   mongodbzmongodb+srvii  )r8   r;   kafkai#  )r8   r:   r;   )natstlsrS   rT   i~  )mysqlzmysql+mysqlconnectorzmysql+aiomysqlzmysql+asyncmyzmysql+mysqldbzmysql+pymysqlzmysql+cymysqlzmysql+pyodbci  )mariadbzmariadb+mariadbconnectorzmariadb+pymysqlzclickhouse+nativezclickhouse+asynchi(#  	snowflake)r8   r9   c                      SS K q [        S5      R                  S5      S   S:X  d  [        S5      eg ! [         a  n [        S5      U eS n A ff = f)Nr   zCemail-validator is not installed, run `pip install pydantic[email]`zemail-validator.2zKemail-validator version >= 2.0 required, run pip install -U email-validator)email_validatorImportErrorr   	partition)es    rC   import_email_validatorrm     s_    h $%//4Q73>ghh ?  h_`fgghs   3 
AA		A.c                  l    \ rS rSrSr\      SS j5       r\      S	S j5       r\S
S j5       rSr	g)r$   i  a  
Info:
    To use this type, you need to install the optional
    [`email-validator`](https://github.com/JoshData/python-email-validator) package:

    ```bash
    pip install email-validator
    ```

Validate email addresses.

```py
from pydantic import BaseModel, EmailStr

class Model(BaseModel):
    email: EmailStr

print(Model(email='contact@mail.com'))
#> email='contact@mail.com'
```
c                ~    [        5         [        R                  " U R                  [        R                  " 5       5      $ r>   )rm   r    no_info_after_validator_function	_validate
str_schemacls_source_handlers      rC   __get_pydantic_core_schema__%EmailStr.__get_pydantic_core_schema__  s*     #$??{OeOeOghhrF   c                6    U" U5      nUR                  SSS9  U$ )Nstringemailtypeformatupdatert   r   handlerfield_schemas       rC   __get_pydantic_json_schema__%EmailStr.__get_pydantic_json_schema__  s'     #;/LXg>rF   c                   [        U5      S   $ )Nr   )r0   rt   input_values     rC   rq   EmailStr._validate  s    !+.q11rF   rG   Nru   z	type[Any]rv   r   rH   core_schema.CoreSchemar   r   r   z._schema_generation_shared.GetJsonSchemaHandlerrH   r   )r   strrH   r   )
rJ   rK   rL   rM   rN   classmethodrw   r   rq   rP   rG   rF   rC   r$   r$     s|    	, 
	i	i +	i $		i 
	i 
	 4	 ?m	 	  
	  
	2 
	2rF   r$   c                      \ rS rSrSrSrSS jrSS jr\      SS j5       r	\      SS j5       r
\SS j5       rSS	 jrS
rg)r%   i  a`  
Info:
    To use this type, you need to install the optional
    [`email-validator`](https://github.com/JoshData/python-email-validator) package:

    ```bash
    pip install email-validator
    ```

Validate a name and email address combination, as specified by
[RFC 5322](https://datatracker.ietf.org/doc/html/rfc5322#section-3.4).

The `NameEmail` has two properties: `name` and `email`.
In case the `name` is not provided, it's inferred from the email address.

```py
from pydantic import BaseModel, NameEmail

class User(BaseModel):
    email: NameEmail

user = User(email='Fred Bloggs <fred.bloggs@example.com>')
print(user.email)
#> Fred Bloggs <fred.bloggs@example.com>
print(user.email.name)
#> Fred Bloggs

user = User(email='fred.bloggs@example.com')
print(user.email)
#> fred.bloggs <fred.bloggs@example.com>
print(user.email.name)
#> fred.bloggs
```
namer{   c                    Xl         X l        g r>   r   )rB   r   r{   s      rC   __init__NameEmail.__init__  s    	
rF   c                    [        U[        5      =(       a1    U R                  U R                  4UR                  UR                  4:H  $ r>   )
isinstancer%   r   r{   )rB   others     rC   __eq__NameEmail.__eq__  s6    %+dDJJ0GEJJX]XcXcKd0ddrF   c                6    U" U5      nUR                  SSS9  U$ )Nrz   z
name-emailr|   r   r   s       rC   r   &NameEmail.__get_pydantic_json_schema__  s'     {+,?rF   c                F   [        5         [        R                  " U R                  [        R                  " [        R
                  " 5       [        R                  " [        R                  " U 5      [        R
                  " 5       /SSS9[        R                  " 5       S95      $ )Nname_email_typezInput is not a valid NameEmail)custom_error_typecustom_error_message)json_schemapython_schemaserialization)	rm   r   rp   rq   json_or_python_schemarr   union_schemais_instance_schemato_string_ser_schemars   s      rC   rw   &NameEmail.__get_pydantic_core_schema__  s|     	 ;;MM--'224)66 33C8+:P:P:RS&7)I
 *>>@
 	
rF   c               Z    [        U[        5      (       a  [        U5      u  p#U " X#5      $ U$ r>   )r   r   r0   )rt   r   r   r{   s       rC   rq   NameEmail._validate%  s,    k3''(5KDt##rF   c                    SU R                   ;   a  SU R                    SU R                   S3$ U R                    SU R                   S3$ )N@"z" <>z <r   rA   s    rC   __str__NameEmail.__str__-  sF    $))tyykTZZL22))Btzzl!,,rF   )r{   r   N)r   r   r{   r   )r   r   rH   boolr   r   )r   z
Self | strrH   r   )rH   r   )rJ   rK   rL   rM   rN   	__slots__r   r   r   r   rw   rq   r   rP   rG   rF   rC   r%   r%     s    !F  Ie 0;i	  

 '
 
 	
 
(  -rF   r%   zIPv4Address | IPv6AddressIPvAnyAddressTypezIPv4Interface | IPv6InterfaceIPvAnyInterfaceTypezIPv4Network | IPv6NetworkIPvAnyNetworkTypec                  z    \ rS rSrSrSrS	S jr\      S
S j5       r\      SS j5       r	\SS j5       r
Srg)r&   i>  a&  Validate an IPv4 or IPv6 address.

```py
from pydantic import BaseModel
from pydantic.networks import IPvAnyAddress

class IpModel(BaseModel):
    ip: IPvAnyAddress

print(IpModel(ip='127.0.0.1'))
#> ip=IPv4Address('127.0.0.1')

try:
    IpModel(ip='http://www.example.com')
except ValueError as e:
    print(e.errors())
    '''
    [
        {
            'type': 'ip_any_address',
            'loc': ('ip',),
            'msg': 'value is not a valid IPv4 or IPv6 address',
            'input': 'http://www.example.com',
        }
    ]
    '''
```
rG   c                     [        U5      $ ! [         a     Of = f [        U5      $ ! [         a    [        SS5      ef = f)z!Validate an IPv4 or IPv6 address.ip_any_addressz)value is not a valid IPv4 or IPv6 address)r   
ValueErrorr   r   rt   values     rC   __new__IPvAnyAddress.__new__^  sU    "5)) i"5)) i)*:<ghhi   
 

) A c                *    0 nUR                  SSS9  U$ )Nrz   ipvanyaddressr|   r   r   s       rC   r   *IPvAnyAddress.__get_pydantic_json_schema__j  "     LXoFrF   c                f    [         R                  " U R                  [         R                  " 5       S9$ N)r   r    no_info_plain_validator_functionrq   r   rs   s      rC   rw   *IPvAnyAddress.__get_pydantic_core_schema__r  )     ??[-M-M-O rF   c                   U " U5      $ r>   rG   r   s     rC   rq   IPvAnyAddress._validate|      {##rF   N)r   r   rH   r   r   r   )r   r   rH   r   rJ   rK   rL   rM   rN   r   r   r   r   rw   rq   rP   rG   rF   rC   r&   r&   >  s    	: 	
	i 
	 4	 ?m	 	  
	  
		 +	 $		 
	 
	$ 
	$rF   r&   c                  z    \ rS rSrSrSrS	S jr\      S
S j5       r\      SS j5       r	\SS j5       r
Srg)r'   i  #Validate an IPv4 or IPv6 interface.rG   c                     [        U5      $ ! [         a     Of = f [        U5      $ ! [         a    [        SS5      ef = f)r   ip_any_interfacez+value is not a valid IPv4 or IPv6 interface)r   r   r	   r   r   s     rC   r   IPvAnyInterface.__new__  sU    $U++ m$U++ m)*<>kllmr   c                *    0 nUR                  SSS9  U$ )Nrz   ipvanyinterfacer|   r   r   s       rC   r   ,IPvAnyInterface.__get_pydantic_json_schema__  s#     LX6GHrF   c                f    [         R                  " U R                  [         R                  " 5       S9$ r   r   rs   s      rC   rw   ,IPvAnyInterface.__get_pydantic_core_schema__  r   rF   c                   U " U5      $ r>   rG   r   s     rC   rq   IPvAnyInterface._validate  r   rF   N)r   r   rH   r   r   r   )r   r   rH   r   r   rG   rF   rC   r'   r'     s    1	
	m 
	 4	 ?m	 	  
	  
		 +	 $		 
	 
	$ 
	$rF   r'   c                  z    \ rS rSrSrSrS	S jr\      S
S j5       r\      SS j5       r	\SS j5       r
Srg)r(   i  !Validate an IPv4 or IPv6 network.rG   c                     [        U5      $ ! [         a     Of = f [        U5      $ ! [         a    [        SS5      ef = f)r   ip_any_networkz)value is not a valid IPv4 or IPv6 network)r   r   r
   r   r   s     rC   r   IPvAnyNetwork.__new__  sU    "5)) i"5)) i)*:<ghhir   c                *    0 nUR                  SSS9  U$ )Nrz   ipvanynetworkr|   r   r   s       rC   r   *IPvAnyNetwork.__get_pydantic_json_schema__  r   rF   c                f    [         R                  " U R                  [         R                  " 5       S9$ r   r   rs   s      rC   rw   *IPvAnyNetwork.__get_pydantic_core_schema__  r   rF   c                   U " U5      $ r>   rG   r   s     rC   rq   IPvAnyNetwork._validate  r   rF   N)r   r   rH   r   r   r   )r   r   rH   r   r   rG   rF   rC   r(   r(     s    /		i 
	 4	 ?m	 	  
	  
		 +	 $		 
	 
	$ 
	$rF   r(   c            	     `    Sn SU  SU  S3nSnSn[         R                  " SU SU S	U S
35      $ )Nz[\w!#$%&\'*+\-/=?^_`{|}~]z((?:z+\s+)*z+)z"((?:[^"]|\")+)"z<\s*(.+)\s*>z\s*(?:|z)?\s*z\s*)recompile)
name_charsunquoted_name_groupquoted_name_groupemail_groups       rC   _build_pretty_email_regexr     sP    -J!*VJ<rB+!K:: 34A6G5Hk]Z]^__rF   i   c           
        [         c
  [        5         [        U 5      [        :  a  [	        SSSS[         S305      e[
        R                  U 5      nSnU(       a  UR                  5       u  p4n U=(       d    UnU R                  5       n [         R                  " USS9nUR                  nUc   eU=(       d    UR                  nX%4$ ! [         R                   a+  n[	        SSS[        UR                  S	   5      05      UeSnAff = f)
ad  Email address validation using [email-validator](https://pypi.org/project/email-validator/).

Note:
    Note that:

    * Raw IP address (literal) domain parts are not allowed.
    * `"John Doe <local_part@domain.com>"` style "pretty" email addresses are processed.
    * Spaces are striped from the beginning and end of addresses, but no error is raised.
Nvalue_errorz,value is not a valid email address: {reason}reasonzLength must not exceed z charactersF)check_deliverabilityr   )ri   rm   lenMAX_EMAIL_LENGTHr   pretty_email_regex	fullmatchgroupsstripr0   EmailNotValidErrorr   args
normalized
local_part)r   mr   unquoted_namequoted_namer{   partsrl   s           rC   r0   r0     s     
5z$$!:01A0B+NO
 	
 	$$U+AD,-HHJ)E+KKME..u5Q E#5##D; -- !IHVYZ[Z`Z`abZcVdKe
	s   	C D&DD)rH   None)rH   zre.Pattern[str])r   r   rH   ztuple[str, str])PrN   
__future__r   _annotationsdataclasses_dataclassesr   importlib.metadatar   	ipaddressr   r   r   r   r	   r
   typingr   r   pydantic_corer   r   r   r   typing_extensionsr   r   r   	_internalr   r   r   
_migrationr   annotated_handlersr   r   r   ri   r   rO   __all__	dataclassPydanticMetadatar#   r   r   r    r"   r!   r   r   r)   r*   r+   r,   r-   r.   r/   r1   r2   r3   r4   rm   r   r$   Representationr%   r   r   r   r&   r'   r(   r   r   r   r0   rJ   __getattr__rG   rF   rC   <module>r     s   K 2 " 	 & f f % M M 8 8 @ @ ) 4 (VKV O: 
W-- 
 
@ 
$ sNFG;LMMN

 C4&RYIZ[[
\KX Cu!NNO
 ntUZm\\] CAA
B 
3w??	@
 

"9v 

 C8IJJ
K GX#6[_crvwy \>9mB\kp#qqr S.'Q\koppq #?khlmo 	
   R
 ,.AB  $i c"H*2 *2ZV-$$ V-r  ; 9 :!@ Y @: 9 :%M)O%M@$ @$D%$ %$N'$ '$T` /0  
&R  )rF   