o
    éÇh>E  ã                   @   s°  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 d dlmZ er.d dlmZ dZded d	d
ddfdd„ZG dd„ dƒZG dd„ deeƒZG dd„ de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!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/d0„ d0e#ƒZ&G d1d2„ d2e#ƒZ'G d3d4„ d4e#ƒZ(G d5d6„ d6e#ƒZ)G d7d8„ d8e#ƒZ*G d9d:„ d:eƒZ+G d;d<„ d<eƒZ,G d=d>„ d>eƒZ-G d?d@„ d@eƒZ.G dAdB„ dBeƒZ/G dCdD„ dDe/ƒZ0G dEdF„ dFe/ƒZ1G dGdH„ dHe/ƒZ2G dIdJ„ dJeƒZ3G dKdL„ dLeƒZ4G dMdN„ dNeƒZ5G dOdP„ dPeƒZ6G dQdR„ dReƒZ7G dSdT„ dTeƒZ8G dUdV„ dVeƒZ9G dWdX„ dXeƒZ:G dYdZ„ dZeƒZ;G d[d\„ d\eƒZ<G d]d^„ d^eƒZ=G d_d`„ d`eƒZ>G dadb„ dbeƒZ?G dcdd„ ddeƒZ@G dedf„ dfeƒZAG dgdh„ dheƒZBG didj„ djeƒZCG dkdl„ dleƒZDG dmdn„ dneƒZEG dodp„ dpeƒZFG dqdr„ dreƒZGG dsdt„ dteGƒZHG dudv„ dveGƒZIG dwdx„ dxeGƒZJG dydz„ dzeGƒZKG d{d|„ d|eƒZLG d}d~„ d~eƒZMG dd€„ d€eƒZNG dd‚„ d‚eƒZOG dƒd„„ d„eƒZPG d…d†„ d†eƒZQG d‡dˆ„ dˆeƒZRG d‰dŠ„ dŠeƒZSG d‹dŒ„ dŒeƒZTG ddŽ„ dŽeƒZUG dd„ deƒZVG d‘d’„ d’eƒZWG d“d”„ d”eƒZXG d•d–„ d–eƒZYG d—d˜„ d˜eƒZZG d™dš„ dšeƒZ[G d›dœ„ dœeƒZ\G ddž„ 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ƒZaG d§d¨„ d¨eƒZbG d©dª„ dªeƒZcG d«d¬„ d¬eƒZdG d­d®„ d®eƒZeG d¯d°„ d°eƒZfG d±d²„ d²eƒZgG d³d´„ d´eƒZhG dµd¶„ d¶eƒZiG d·d¸„ d¸eƒZjG d¹dº„ dºeƒZkG d»d¼„ d¼eƒZlG d½d¾„ d¾eƒZmG d¿dÀ„ dÀeƒZnG dÁdÂ„ dÂeƒZoG dÃdÄ„ dÄeƒZpG dÅdÆ„ dÆeƒZqG dÇdÈ„ dÈeƒZrG dÉdÊ„ dÊeƒZsG dËdÌ„ dÌeƒZtG dÍdÎ„ dÎeƒZuG dÏdÐ„ dÐeƒZvG dÑdÒ„ dÒeƒZwdÓS )Ôé    )ÚDecimal)ÚPath)ÚTYPE_CHECKINGÚAnyÚCallableÚSequenceÚSetÚTupleÚTypeÚUnion)Údisplay_as_type)Ú
DictStrAny)]ÚPydanticTypeErrorÚPydanticValueErrorÚConfigErrorÚMissingErrorÚ
ExtraErrorÚNoneIsNotAllowedErrorÚNoneIsAllowedErrorÚWrongConstantErrorÚNotNoneErrorÚ	BoolErrorÚ
BytesErrorÚ	DictErrorÚ
EmailErrorÚUrlErrorÚUrlSchemeErrorÚUrlSchemePermittedErrorÚUrlUserInfoErrorÚUrlHostErrorÚUrlHostTldErrorÚUrlPortErrorÚUrlExtraErrorÚ	EnumErrorÚIntEnumErrorÚEnumMemberErrorÚIntegerErrorÚ
FloatErrorÚ	PathErrorÚPathNotExistsErrorÚPathNotAFileErrorÚPathNotADirectoryErrorÚPyObjectErrorÚSequenceErrorÚ	ListErrorÚSetErrorÚFrozenSetErrorÚ
TupleErrorÚTupleLengthErrorÚListMinLengthErrorÚListMaxLengthErrorÚListUniqueItemsErrorÚSetMinLengthErrorÚSetMaxLengthErrorÚFrozenSetMinLengthErrorÚFrozenSetMaxLengthErrorÚAnyStrMinLengthErrorÚAnyStrMaxLengthErrorÚStrErrorÚStrRegexErrorÚNumberNotGtErrorÚNumberNotGeErrorÚNumberNotLtErrorÚNumberNotLeErrorÚNumberNotMultipleErrorÚDecimalErrorÚDecimalIsNotFiniteErrorÚDecimalMaxDigitsErrorÚDecimalMaxPlacesErrorÚDecimalWholeDigitsErrorÚDateTimeErrorÚ	DateErrorÚDateNotInThePastErrorÚDateNotInTheFutureErrorÚ	TimeErrorÚDurationErrorÚHashableErrorÚ	UUIDErrorÚUUIDVersionErrorÚArbitraryTypeErrorÚ
ClassErrorÚSubclassErrorÚ	JsonErrorÚJsonTypeErrorÚPatternErrorÚDataclassTypeErrorÚCallableErrorÚIPvAnyAddressErrorÚIPvAnyInterfaceErrorÚIPvAnyNetworkErrorÚIPv4AddressErrorÚIPv6AddressErrorÚIPv4NetworkErrorÚIPv6NetworkErrorÚIPv4InterfaceErrorÚIPv6InterfaceErrorÚ
ColorErrorÚStrictBoolErrorÚNotDigitErrorÚLuhnValidationErrorÚInvalidLengthForBrandÚInvalidByteSizeÚInvalidByteSizeUnitÚMissingDiscriminatorÚInvalidDiscriminatorÚclsÚPydanticErrorMixinÚctxr   Úreturnc                 C   s   | di |¤ŽS )aŽ  
    For built-in exceptions like ValueError or TypeError, we need to implement
    __reduce__ to override the default behaviour (instead of __getstate__/__setstate__)
    By default pickle protocol 2 calls `cls.__new__(cls, *args)`.
    Since we only use kwargs, we need a little constructor to change that.
    Note: the callable can't be a lambda as pickle looks in the namespace to find it
    N© ro   )rk   rm   ro   ro   úf/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/pydantic/v1/errors.pyÚ
cls_kwargsl   s   rq   c                   @   sd   e Zd ZU eed< eed< deddfdd„Zdefdd	„Zdee	d
 ee
d  df f fdd„ZdS )rl   ÚcodeÚmsg_templaterm   rn   Nc                 K   s
   || _ d S ©N)Ú__dict__)Úselfrm   ro   ro   rp   Ú__init__{   s   
zPydanticErrorMixin.__init__c                 C   s   | j jdi | j¤ŽS )Nro   )rs   Úformatru   ©rv   ro   ro   rp   Ú__str__~   ó   zPydanticErrorMixin.__str__).rl   r   c                 C   s   t | j| jffS rt   )rq   Ú	__class__ru   ry   ro   ro   rp   Ú
__reduce__   s   zPydanticErrorMixin.__reduce__)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__r   rw   rz   r	   r   r
   r}   ro   ro   ro   rp   rl   w   s   
 *c                   @   ó   e Zd ZdS )r   N©r~   r   r€   ro   ro   ro   rp   r   …   ó    r   c                   @   rƒ   )r   Nr„   ro   ro   ro   rp   r   ‰   r…   r   c                   @   rƒ   )r   Nr„   ro   ro   ro   rp   r      r…   r   c                   @   ó   e Zd ZdZdS )r   zfield requiredN©r~   r   r€   rs   ro   ro   ro   rp   r   ‘   ó    r   c                   @   r†   )r   zextra fields not permittedNr‡   ro   ro   ro   rp   r   •   rˆ   r   c                   @   ó   e Zd ZdZdZdS )r   znone.not_allowedznone is not an allowed valueN©r~   r   r€   rr   rs   ro   ro   ro   rp   r   ™   ó    r   c                   @   r‰   )r   znone.allowedzvalue is not noneNrŠ   ro   ro   ro   rp   r   ž   r‹   r   c                   @   ó   e Zd ZdZdefdd„ZdS )r   Úconstrn   c                 C   ó    d  dd„ | jD ƒ¡}d|› S )Nú, c                 s   s    | ]}t |ƒV  qd S rt   )Úrepr©Ú.0Úvro   ro   rp   Ú	<genexpr>§   s   € z-WrongConstantError.__str__.<locals>.<genexpr>zunexpected value; permitted: )ÚjoinÚ	permitted©rv   r–   ro   ro   rp   rz   ¦   ó   
zWrongConstantError.__str__N©r~   r   r€   rr   r   rz   ro   ro   ro   rp   r   £   ó    r   c                   @   r‰   )r   Únot_nonezvalue is not NoneNrŠ   ro   ro   ro   rp   r   «   r‹   r   c                   @   r†   )r   z&value could not be parsed to a booleanNr‡   ro   ro   ro   rp   r   °   rˆ   r   c                   @   r†   )r   zbyte type expectedNr‡   ro   ro   ro   rp   r   ´   rˆ   r   c                   @   r†   )r   zvalue is not a valid dictNr‡   ro   ro   ro   rp   r   ¸   rˆ   r   c                   @   r†   )r   z"value is not a valid email addressNr‡   ro   ro   ro   rp   r   ¼   rˆ   r   c                   @   r†   )r   ÚurlN)r~   r   r€   rr   ro   ro   ro   rp   r   À   rˆ   r   c                   @   r‰   )r   ú
url.schemezinvalid or missing URL schemeNrŠ   ro   ro   ro   rp   r   Ä   r‹   r   c                       s.   e Zd ZdZdZdee f‡ fdd„Z‡  ZS )r   r   zURL scheme not permittedÚallowed_schemesc                    ó   t ƒ j|d d S )N)rž   ©Úsuperrw   )rv   rž   ©r|   ro   rp   rw   Í   ó   z UrlSchemePermittedError.__init__)	r~   r   r€   rr   rs   r   r   rw   Ú__classcell__ro   ro   r¢   rp   r   É   ó    r   c                   @   r‰   )r   zurl.userinfoz$userinfo required in URL but missingNrŠ   ro   ro   ro   rp   r   Ñ   r‹   r   c                   @   r‰   )r   úurl.hostzURL host invalidNrŠ   ro   ro   ro   rp   r   Ö   r‹   r   c                   @   r‰   )r    r¦   z+URL host invalid, top level domain requiredNrŠ   ro   ro   ro   rp   r    Û   r‹   r    c                   @   r‰   )r!   zurl.portz*URL port invalid, port cannot exceed 65535NrŠ   ro   ro   ro   rp   r!   à   r‹   r!   c                   @   r‰   )r"   z	url.extraz>URL invalid, extra characters found after valid URL: {extra!r}NrŠ   ro   ro   ro   rp   r"   å   r‹   r"   c                   @   rŒ   )r%   Úenumrn   c                 C   rŽ   )Nr   c                 s   s    | ]}t |jƒV  qd S rt   )r   Úvaluer‘   ro   ro   rp   r”   î   s   € z*EnumMemberError.__str__.<locals>.<genexpr>z4value is not a valid enumeration member; permitted: )r•   Úenum_valuesr—   ro   ro   rp   rz   í   r˜   zEnumMemberError.__str__Nr™   ro   ro   ro   rp   r%   ê   rš   r%   c                   @   r†   )r&   zvalue is not a valid integerNr‡   ro   ro   ro   rp   r&   ò   rˆ   r&   c                   @   r†   )r'   zvalue is not a valid floatNr‡   ro   ro   ro   rp   r'   ö   rˆ   r'   c                   @   r†   )r(   zvalue is not a valid pathNr‡   ro   ro   ro   rp   r(   ú   rˆ   r(   c                       s&   e Zd Zdeddf‡ fdd„Z‡  ZS )Ú_PathValueErrorÚpathrn   Nc                   ó   t ƒ jt|ƒd d S )N)r«   )r¡   rw   r   )rv   r«   r¢   ro   rp   rw   ÿ   ó   z_PathValueError.__init__)r~   r   r€   r   rw   r¤   ro   ro   r¢   rp   rª   þ   s    rª   c                   @   r‰   )r)   zpath.not_existsz1file or directory at path "{path}" does not existNrŠ   ro   ro   ro   rp   r)     r‹   r)   c                   @   r‰   )r*   zpath.not_a_filez&path "{path}" does not point to a fileNrŠ   ro   ro   ro   rp   r*     r‹   r*   c                   @   r‰   )r+   zpath.not_a_directoryz+path "{path}" does not point to a directoryNrŠ   ro   ro   ro   rp   r+     r‹   r+   c                   @   r†   )r,   zOensure this value contains valid import path or valid callable: {error_message}Nr‡   ro   ro   ro   rp   r,     rˆ   r,   c                   @   r†   )r-   zvalue is not a valid sequenceNr‡   ro   ro   ro   rp   r-     rˆ   r-   c                   @   r†   )ÚIterableErrorzvalue is not a valid iterableNr‡   ro   ro   ro   rp   r®     rˆ   r®   c                   @   r†   )r.   zvalue is not a valid listNr‡   ro   ro   ro   rp   r.     rˆ   r.   c                   @   r†   )r/   zvalue is not a valid setNr‡   ro   ro   ro   rp   r/   "  rˆ   r/   c                   @   r†   )r0   zvalue is not a valid frozensetNr‡   ro   ro   ro   rp   r0   &  rˆ   r0   c                   @   r†   )Ú
DequeErrorzvalue is not a valid dequeNr‡   ro   ro   ro   rp   r¯   *  rˆ   r¯   c                   @   r†   )r1   zvalue is not a valid tupleNr‡   ro   ro   ro   rp   r1   .  rˆ   r1   c                       s2   e Zd ZdZdZdededdf‡ fdd„Z‡  ZS )	r2   ztuple.lengthz>wrong tuple length {actual_length}, expected {expected_length}Úactual_lengthÚexpected_lengthrn   Nc                   s   t ƒ j||d d S )N)r°   r±   r    )rv   r°   r±   r¢   ro   rp   rw   6  r{   zTupleLengthError.__init__©r~   r   r€   rr   rs   Úintrw   r¤   ro   ro   r¢   rp   r2   2  ó    "r2   c                       ó.   e Zd ZdZdZdeddf‡ fdd„Z‡  ZS )r3   zlist.min_itemsú2ensure this value has at least {limit_value} itemsÚlimit_valuern   Nc                   rŸ   ©N)r·   r    ©rv   r·   r¢   ro   rp   rw   >  r£   zListMinLengthError.__init__r²   ro   ro   r¢   rp   r3   :  r¥   r3   c                       rµ   )r4   zlist.max_itemsú1ensure this value has at most {limit_value} itemsr·   rn   Nc                   rŸ   r¸   r    r¹   r¢   ro   rp   rw   F  r£   zListMaxLengthError.__init__r²   ro   ro   r¢   rp   r4   B  r¥   r4   c                   @   r‰   )r5   zlist.unique_itemszthe list has duplicated itemsNrŠ   ro   ro   ro   rp   r5   J  r‹   r5   c                       rµ   )r6   zset.min_itemsr¶   r·   rn   Nc                   rŸ   r¸   r    r¹   r¢   ro   rp   rw   S  r£   zSetMinLengthError.__init__r²   ro   ro   r¢   rp   r6   O  r¥   r6   c                       rµ   )r7   zset.max_itemsrº   r·   rn   Nc                   rŸ   r¸   r    r¹   r¢   ro   rp   rw   [  r£   zSetMaxLengthError.__init__r²   ro   ro   r¢   rp   r7   W  r¥   r7   c                       rµ   )r8   zfrozenset.min_itemsr¶   r·   rn   Nc                   rŸ   r¸   r    r¹   r¢   ro   rp   rw   c  r£   z FrozenSetMinLengthError.__init__r²   ro   ro   r¢   rp   r8   _  r¥   r8   c                       rµ   )r9   zfrozenset.max_itemsrº   r·   rn   Nc                   rŸ   r¸   r    r¹   r¢   ro   rp   rw   k  r£   z FrozenSetMaxLengthError.__init__r²   ro   ro   r¢   rp   r9   g  r¥   r9   c                       rµ   )r:   zany_str.min_lengthz7ensure this value has at least {limit_value} charactersr·   rn   Nc                   rŸ   r¸   r    r¹   r¢   ro   rp   rw   s  r£   zAnyStrMinLengthError.__init__r²   ro   ro   r¢   rp   r:   o  r¥   r:   c                       rµ   )r;   zany_str.max_lengthz6ensure this value has at most {limit_value} charactersr·   rn   Nc                   rŸ   r¸   r    r¹   r¢   ro   rp   rw   {  r£   zAnyStrMaxLengthError.__init__r²   ro   ro   r¢   rp   r;   w  r¥   r;   c                   @   r†   )r<   zstr type expectedNr‡   ro   ro   ro   rp   r<     rˆ   r<   c                       rµ   )r=   z	str.regexz'string does not match regex "{pattern}"Úpatternrn   Nc                   rŸ   )N)r»   r    )rv   r»   r¢   ro   rp   rw   ‡  r£   zStrRegexError.__init__)r~   r   r€   rr   rs   r   rw   r¤   ro   ro   r¢   rp   r=   ƒ  r¥   r=   c                       s0   e Zd Zdeeeef ddf‡ fdd„Z‡  ZS )Ú_NumberBoundErrorr·   rn   Nc                   rŸ   r¸   r    r¹   r¢   ro   rp   rw   Œ  r£   z_NumberBoundError.__init__)	r~   r   r€   r   r³   Úfloatr   rw   r¤   ro   ro   r¢   rp   r¼   ‹  s    (r¼   c                   @   r‰   )r>   znumber.not_gtz/ensure this value is greater than {limit_value}NrŠ   ro   ro   ro   rp   r>     r‹   r>   c                   @   r‰   )r?   znumber.not_gez;ensure this value is greater than or equal to {limit_value}NrŠ   ro   ro   ro   rp   r?   •  r‹   r?   c                   @   r‰   )r@   znumber.not_ltz,ensure this value is less than {limit_value}NrŠ   ro   ro   ro   rp   r@   š  r‹   r@   c                   @   r‰   )rA   znumber.not_lez8ensure this value is less than or equal to {limit_value}NrŠ   ro   ro   ro   rp   rA   Ÿ  r‹   rA   c                   @   r‰   )ÚNumberNotFiniteErrorznumber.not_finite_numberz$ensure this value is a finite numberNrŠ   ro   ro   ro   rp   r¾   ¤  r‹   r¾   c                       s8   e Zd ZdZdZdeeeef ddf‡ fdd„Z	‡  Z
S )rB   znumber.not_multiplez0ensure this value is a multiple of {multiple_of}Úmultiple_ofrn   Nc                   rŸ   )N)r¿   r    )rv   r¿   r¢   ro   rp   rw   ­  r£   zNumberNotMultipleError.__init__)r~   r   r€   rr   rs   r   r³   r½   r   rw   r¤   ro   ro   r¢   rp   rB   ©  s    (rB   c                   @   r†   )rC   úvalue is not a valid decimalNr‡   ro   ro   ro   rp   rC   ±  rˆ   rC   c                   @   r‰   )rD   zdecimal.not_finiterÀ   NrŠ   ro   ro   ro   rp   rD   µ  r‹   rD   c                       rµ   )rE   zdecimal.max_digitsz?ensure that there are no more than {max_digits} digits in totalÚ
max_digitsrn   Nc                   rŸ   )N)rÁ   r    )rv   rÁ   r¢   ro   rp   rw   ¾  r£   zDecimalMaxDigitsError.__init__r²   ro   ro   r¢   rp   rE   º  r¥   rE   c                       rµ   )rF   zdecimal.max_placeszBensure that there are no more than {decimal_places} decimal placesÚdecimal_placesrn   Nc                   rŸ   )N)rÂ   r    )rv   rÂ   r¢   ro   rp   rw   Æ  r£   zDecimalMaxPlacesError.__init__r²   ro   ro   r¢   rp   rF   Â  r¥   rF   c                       rµ   )rG   zdecimal.whole_digitszQensure that there are no more than {whole_digits} digits before the decimal pointÚwhole_digitsrn   Nc                   rŸ   )N)rÃ   r    )rv   rÃ   r¢   ro   rp   rw   Î  r£   z DecimalWholeDigitsError.__init__r²   ro   ro   r¢   rp   rG   Ê  r¥   rG   c                   @   r†   )rH   zinvalid datetime formatNr‡   ro   ro   ro   rp   rH   Ò  rˆ   rH   c                   @   r†   )rI   zinvalid date formatNr‡   ro   ro   ro   rp   rI   Ö  rˆ   rI   c                   @   r‰   )rJ   zdate.not_in_the_pastzdate is not in the pastNrŠ   ro   ro   ro   rp   rJ   Ú  r‹   rJ   c                   @   r‰   )rK   zdate.not_in_the_futurezdate is not in the futureNrŠ   ro   ro   ro   rp   rK   ß  r‹   rK   c                   @   r†   )rL   zinvalid time formatNr‡   ro   ro   ro   rp   rL   ä  rˆ   rL   c                   @   r†   )rM   zinvalid duration formatNr‡   ro   ro   ro   rp   rM   è  rˆ   rM   c                   @   r†   )rN   zvalue is not a valid hashableNr‡   ro   ro   ro   rp   rN   ì  rˆ   rN   c                   @   r†   )rO   zvalue is not a valid uuidNr‡   ro   ro   ro   rp   rO   ð  rˆ   rO   c                       rµ   )rP   zuuid.versionz(uuid version {required_version} expectedÚrequired_versionrn   Nc                   rŸ   )N)rÄ   r    )rv   rÄ   r¢   ro   rp   rw   ø  r£   zUUIDVersionError.__init__r²   ro   ro   r¢   rp   rP   ô  r¥   rP   c                       ó2   e Zd ZdZdZdee ddf‡ fdd„Z‡  ZS )rQ   Úarbitrary_typez.instance of {expected_arbitrary_type} expectedÚexpected_arbitrary_typern   Nc                   r¬   )N)rÇ   ©r¡   rw   r   )rv   rÇ   r¢   ro   rp   rw      r­   zArbitraryTypeError.__init__©	r~   r   r€   rr   rs   r
   r   rw   r¤   ro   ro   r¢   rp   rQ   ü  r´   rQ   c                   @   r‰   )rR   Úclassza class is expectedNrŠ   ro   ro   ro   rp   rR     r‹   rR   c                       rÅ   )rS   Úsubclassz%subclass of {expected_class} expectedÚexpected_classrn   Nc                   r¬   )N)rÌ   rÈ   )rv   rÌ   r¢   ro   rp   rw     r­   zSubclassError.__init__rÉ   ro   ro   r¢   rp   rS   	  r´   rS   c                   @   r†   )rT   zInvalid JSONNr‡   ro   ro   ro   rp   rT     rˆ   rT   c                   @   r‰   )rU   Újsonz+JSON object must be str, bytes or bytearrayNrŠ   ro   ro   ro   rp   rU     r‹   rU   c                   @   r‰   )rV   Úregex_patternzInvalid regular expressionNrŠ   ro   ro   ro   rp   rV     r‹   rV   c                   @   r‰   )rW   Ú	dataclassz0instance of {class_name}, tuple or dict expectedNrŠ   ro   ro   ro   rp   rW     r‹   rW   c                   @   r†   )rX   z{value} is not callableNr‡   ro   ro   ro   rp   rX   $  rˆ   rX   c                   @   r‰   )r#   Úenum_instancez${value} is not a valid Enum instanceNrŠ   ro   ro   ro   rp   r#   (  r‹   r#   c                   @   r‰   )r$   Úint_enum_instancez'{value} is not a valid IntEnum instanceNrŠ   ro   ro   ro   rp   r$   -  r‹   r$   c                   @   r†   )rY   z)value is not a valid IPv4 or IPv6 addressNr‡   ro   ro   ro   rp   rY   2  rˆ   rY   c                   @   r†   )rZ   z+value is not a valid IPv4 or IPv6 interfaceNr‡   ro   ro   ro   rp   rZ   6  rˆ   rZ   c                   @   r†   )r[   z)value is not a valid IPv4 or IPv6 networkNr‡   ro   ro   ro   rp   r[   :  rˆ   r[   c                   @   r†   )r\   z!value is not a valid IPv4 addressNr‡   ro   ro   ro   rp   r\   >  rˆ   r\   c                   @   r†   )r]   z!value is not a valid IPv6 addressNr‡   ro   ro   ro   rp   r]   B  rˆ   r]   c                   @   r†   )r^   z!value is not a valid IPv4 networkNr‡   ro   ro   ro   rp   r^   F  rˆ   r^   c                   @   r†   )r_   z!value is not a valid IPv6 networkNr‡   ro   ro   ro   rp   r_   J  rˆ   r_   c                   @   r†   )r`   z#value is not a valid IPv4 interfaceNr‡   ro   ro   ro   rp   r`   N  rˆ   r`   c                   @   r†   )ra   z#value is not a valid IPv6 interfaceNr‡   ro   ro   ro   rp   ra   R  rˆ   ra   c                   @   r†   )rb   z$value is not a valid color: {reason}Nr‡   ro   ro   ro   rp   rb   V  rˆ   rb   c                   @   r†   )rc   zvalue is not a valid booleanNr‡   ro   ro   ro   rp   rc   Z  rˆ   rc   c                   @   r‰   )rd   zpayment_card_number.digitszcard number is not all digitsNrŠ   ro   ro   ro   rp   rd   ^  r‹   rd   c                   @   r‰   )re   zpayment_card_number.luhn_checkzcard number is not luhn validNrŠ   ro   ro   ro   rp   re   c  r‹   re   c                   @   r‰   )rf   z,payment_card_number.invalid_length_for_brandz3Length for a {brand} card must be {required_length}NrŠ   ro   ro   ro   rp   rf   h  r‹   rf   c                   @   r†   )rg   z/could not parse value and unit from byte stringNr‡   ro   ro   ro   rp   rg   m  rˆ   rg   c                   @   r†   )rh   z%could not interpret byte unit: {unit}Nr‡   ro   ro   ro   rp   rh   q  rˆ   rh   c                   @   r‰   )ri   z)discriminated_union.missing_discriminatorz7Discriminator {discriminator_key!r} is missing in valueNrŠ   ro   ro   ro   rp   ri   u  r‹   ri   c                       s:   e Zd ZdZdZdededee ddf‡ fdd	„Z‡  Z	S )
rj   z)discriminated_union.invalid_discriminatorzuNo match for discriminator {discriminator_key!r} and value {discriminator_value!r} (allowed values: {allowed_values})Údiscriminator_keyÚdiscriminator_valueÚallowed_valuesrn   Nc                   s"   t ƒ j||d tt|ƒ¡d d S )Nr   )rÒ   rÓ   rÔ   )r¡   rw   r•   Úmapr   )rv   rÒ   rÓ   rÔ   r¢   ro   rp   rw     s
   
ýzInvalidDiscriminator.__init__)
r~   r   r€   rr   rs   r   r   r   rw   r¤   ro   ro   r¢   rp   rj   z  s
    ÿ*rj   N)xÚdecimalr   Úpathlibr   Útypingr   r   r   r   r   r	   r
   r   Úpydantic.v1.typingr   r   Ú__all__rq   rl   Ú	TypeErrorr   Ú
ValueErrorr   ÚRuntimeErrorr   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/   r0   r¯   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r¼   r>   r?   r@   rA   r¾   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   r#   r$   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   ro   ro   ro   rp   Ú<module>   sÖ    (a