§
    ¥”j„9  ã                  óÜ  — 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ej        dk     rd dlZej	        Z	nej	        Z	d dl
mZ ej        dk     r ed¦  «        Znej        Z ej        dd¬¦  «        Z ej        d	¦  «        Z ej        d
e	¬¦  «        Z ej        d¬¦  «         G d„ dej        eef         ¦  «        ¦   «         Zej        Zej        Zd0d„Zd1d„Zd2d„Zd3d„Zd4d#„Zd5d'„Zd5d(„Zej        dk     r7 ej        d¬)¦  «        d6d*„¦   «         Z ej        d¬)¦  «        d6d+„¦   «         Z n6 ej        d¬)¦  «        d6d,„¦   «         Z ej        d¬)¦  «        d6d-„¦   «         Z  ej        d¬¦  «         G d.„ d/ej        e         ¦  «        ¦   «         Z!ej"        Z"ej#        j$        Z$ej#        j%        Z%ej&        Z&ej'        Z'ej(        Z(ej)        Z)ej*        Z*ej+        Z+ej,        Z-ej.        Z.dS )7é    )ÚannotationsN)é   é   )Údeclarative_asn1©r   é
   ÚTT)Ú	covariantÚUÚTag)Úbound)Úfrozenc                  ó(   — e Zd ZU dZded<   ded<   dS )ÚVarianta  
    A tagged variant for CHOICE fields with the same underlying type.

    Use this when you have multiple CHOICE alternatives with the same type
    and need to distinguish between them:

        foo: (
            Annotated[Variant[int, typing.Literal["IntA"]], Implicit(0)]
            | Annotated[Variant[int, typing.Literal["IntB"]], Implicit(1)]
        )

    Usage:
        example = Example(foo=Variant(5, "IntA"))
        decoded.foo.value  # The int value
        decoded.foo.tag    # "IntA" or "IntB"
    r   ÚvalueÚstrÚtagN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__© ó    úl/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/cryptography/hazmat/asn1/asn1.pyr   r       s.   € € € € € € ðð ð" €H€H�HØ€H€H�H€H€Hr   r   Ú
field_typeÚtypeÚreturnÚboolc                ó¢   — t          t          d¦  «        rt          j        t          j        fnt          j        f}t          j        | ¦  «        |v S )NÚ	UnionType)ÚhasattrÚtypesr!   ÚtypingÚUnionÚ
get_origin)r   Úunion_typess     r   Ú	_is_unionr(   ;   sH   € õ •5˜+Ñ&Ô&ð	�Œ�&œ,Ð'Ð'åŒlˆ_ð õ
 Ô˜ZÑ(Ô(¨KÐ7Ð7r   ÚmetadataÚtupleÚ
field_namer   údeclarative_asn1.Annotationc                ó”  — d }d }d }| D ]©}t          |t          ¦  «        r|�t          d|› d�¦  «        ‚|j        }Œ4t          |t          j        ¦  «        r|�t          d|› d�¦  «        ‚|}Œft          |t          j        ¦  «        r|�t          d|› d�¦  «        ‚|}Œ˜t          d|› �¦  «        ‚t	          j        |||¬¦  «        S )Nz-multiple DEFAULT annotations found in field 'ú'z7multiple IMPLICIT/EXPLICIT annotations found in field 'z*multiple SIZE annotations found in field 'zunsupported annotation: )ÚdefaultÚencodingÚsize)Ú
isinstanceÚDefaultÚ	TypeErrorr   r   ÚEncodingÚSizeÚ
Annotation)r)   r+   r/   r0   r1   Úraw_annotations         r   Ú_extract_annotationr9   G   s?  € ð €GØ€HØ€DØ"ð Ið IˆÝ�n¥gÑ.Ô.ð 	IØÐ"Ýð&Ø"ð&ð &ð &ñô ð ð %Ô*ˆGˆGÝ˜Õ(8Ô(AÑBÔBð 	IØÐ#Ýð&Ø"ð&ð &ð &ñô ð ð &ˆHˆHÝ˜Õ(8Ô(=Ñ>Ô>ð 	IØÐÝØNÀÐNÐNÐNñô ð ð "ˆDˆDåÐG°~ÐGÐGÑHÔHÐHåÔ&Ø (°ðñ ô ð r   ú
typing.Anyúdeclarative_asn1.AnnotatedTypec                óN	  ‡‡— t          j        | ¦  «        t           j        u r,t          | j        ‰¦  «        }t          j        | ¦  «        ^} }nt          j        ¦   «         }|j        �ft          j        | ¦  «        t          j
        t          fvr?| t          j        t          j        t          t          t           fvrt#          d‰› d�¦  «        ‚| t$          u rGt'          |j        t*          ¦  «        rt#          d‰› d�¦  «        ‚|j        �t#          d‰› d�¦  «        ‚t/          | d¦  «        r{| j        }t'          |t          j        j        t          j        j        f¦  «        st#          d|› �¦  «        ‚t          j        t          j        t          j        |¦  «        |¦  «        S t=          | ¦  «        �rùt          j        | ¦  «        }t?          |¦  «        dk    r·t@          |v r®|d         tC          d ¦  «        u r|d	         n|d         }|t$          u rt#          d
¦  «        ‚tE          |‰¦  «        }|j#         $                    ¦   «         st#          d¦  «        ‚|j        �t#          d¦  «        ‚t          j         %                    |¦  «        }�nút'          |j        t*          ¦  «        rt#          d¦  «        ‚ˆfd„|D ¦   «         }	|	d	         j&        d uŠtO          ˆfd„|	D ¦   «         ¦  «        rt#          d¦  «        ‚‰r;d„ |	D ¦   «         }
t?          |	¦  «        t?          |
¦  «        k    rt#          d¦  «        ‚t          j         (                    |	¦  «        }t@          |v rCt          j         %                    t          j        |t          j        ¦   «         ¦  «        ¦  «        n|}nßt          j        | ¦  «        t          j
        u rHtE          t          j        | ¦  «        d	         ‰¦  «        }t          j         )                    |¦  «        }nwt          j        | ¦  «        t          u rHtE          t          j        | ¦  «        d	         ‰¦  «        }t          j                             |¦  «        }nt          j*        | ¦  «        }t          j        ||¦  «        S )Nzfield 'z­' has a SIZE annotation, but SIZE annotations are only supported for fields of types: [SEQUENCE OF, SET OF, BIT STRING, OCTET STRING, UTF8String, PrintableString, IA5String]zW' has an IMPLICIT annotation, but IMPLICIT annotations are not supported for TLV types.zT' has a DEFAULT annotation, but DEFAULT annotations are not supported for TLV types.Ú__asn1_root__zunsupported root type: é   é   r   z=optional TLV types (`TLV | None`) are not currently supportedzƒoptional (`X | None`) types cannot have `X` annotated: annotations must apply to the union (i.e: `Annotated[X | None, annotation]`)z@optional (`X | None`) types should not have a DEFAULT annotationzCCHOICE (`X | Y | ...`) types should not have an IMPLICIT annotationc                óR   •— g | ]#}|t          d ¦  «        u¯t          |‰¦  «        ‘Œ$S ©N)r   Ú_type_to_variant)Ú.0Úargr+   s     €r   ú
<listcomp>z)_normalize_field_type.<locals>.<listcomp>Â   s>   ø€ ð ð ð àØ�d 4™jœjÐ(Ð(õ !  jÑ1Ô1à(Ð(Ð(r   c              3  ó2   •K  — | ]}|j         d u‰k    V — Œd S rA   ©Útag_name)rC   ÚvÚare_union_types_taggeds     €r   ú	<genexpr>z(_normalize_field_type.<locals>.<genexpr>Ë   sD   øè è € ð ð àð ” 4Ð'Ð,BÒBðð ð ð ð ð r   zbWhen using `asn1.Variant` in a union, all the other types in the union must also be `asn1.Variant`c                ó   — h | ]	}|j         ’Œ
S r   rG   )rC   rI   s     r   ú	<setcomp>z(_normalize_field_type.<locals>.<setcomp>Õ   s   € Ð5Ð5Ð5 q˜œ
Ð5Ð5Ð5r   zBWhen using `asn1.Variant` in a union, the tags used must be unique)+r$   r&   Ú	Annotatedr9   Ú__metadata__Úget_argsr   r7   r1   ÚbuiltinsÚlistÚSetOfÚbytesr   Ú	BitStringÚ	IA5StringÚPrintableStringr4   ÚTLVr2   r0   ÚImplicitr/   r"   r=   ÚTypeÚSequenceÚSetÚAnnotatedTypeÚcastr(   ÚlenÚNoneTyper   Ú_normalize_field_typeÚ
annotationÚis_emptyÚOptionrH   ÚanyÚChoiceÚ
SequenceOfÚnon_root_python_to_rust)r   r+   rb   Ú_Ú	root_typeÚ
union_argsÚoptional_typeÚannotated_typeÚrust_field_typeÚvariantsÚtagsÚrust_choice_typeÚ
inner_typerJ   s    `           @r   ra   ra   j   s"  øø€ õ
 Ô˜Ñ$Ô$­Ô(8Ð8Ð8Ý(¨Ô)@À*ÑMÔMˆ
Ýœ¨Ñ4Ô4ˆˆ
�Q�Qå%Ô0Ñ2Ô2ˆ
à„Ð"ÝÔ˜*Ñ%Ô%­h¬m½UÐ-CÐCÐCØåŒNÝŒLÝÝÝð
ð
ð 
õ ð*�jð *ð *ð *ñ
ô 
ð 	
ð •SÐÐÝ�jÔ)­8Ñ4Ô4ð 		ÝðH˜*ð Hð Hð Hñô ð ð ÔÐ+ÝðG˜*ð Gð Gð Gñô ð õ
 ˆz˜?Ñ+Ô+ð `OØÔ,ˆ	ÝØÝÔ"Ô+Õ-=Ô-BÔ-FÐGñ
ô 
ð 	Cõ ÐA°iÐAÐAÑBÔBÐBÝÔ-ÝŒKÕ(Ô-¨yÑ9Ô9¸:ñ
ô 
ð 	
õ 
�:Ñ	Ô	ñ VOÝ”_ ZÑ0Ô0ˆ
Ýˆz‰?Œ?˜aÒÐ¥H°
Ð$:Ð$:ð ",¨A¤µ$°t±*´*Ð!<Ð!<�
˜1”�À*ÈQÄ-ð ð ¥Ð#Ð#Ýð*ñô ð õ 3°=À*ÑMÔMˆNà!Ô,×5Ò5Ñ7Ô7ð Ýð?ñô ð ð Ô!Ð-Ýð!ñô ð õ
 /Ô3×:Ò:¸>ÑJÔJˆO‰Oõ ˜*Ô-­xÑ8Ô8ð åð!ñô ð ðð ð ð à%ðñ ô ˆHð &.¨a¤[Ô%9ÀÐ%EÐ"Ýð ð ð ð à!ðñ ô ñ ô ð õ  ðEñô ð ð
 &ð Ø5Ð5¨HÐ5Ñ5Ô5�Ý�x‘=”=¥C¨¡I¤IÒ-Ð-Ý#ð)ñô ð õ
  0Ô4×;Ò;¸HÑEÔEÐõ ˜zÐ)Ð)õ !Ô%×,Ò,Ý$Ô2Ø(Õ*:Ô*EÑ*GÔ*Gñô ñô ð ð &ð ˆOõ 
Ô	˜:Ñ	&Ô	&­(¬-Ð	7Ð	7Ý*ÝŒO˜JÑ'Ô'¨Ô*¨Jñ
ô 
ˆ
õ +Ô/×:Ò:¸:ÑFÔFˆˆÝ	Ô	˜:Ñ	&Ô	&­%Ð	/Ð	/Ý*ÝŒO˜JÑ'Ô'¨Ô*¨Jñ
ô 
ˆ
õ +Ô/×5Ò5°jÑAÔAˆˆå*ÔBÀ:ÑNÔNˆåÔ)¨/¸:ÑFÔFÐFr   Útúdeclarative_asn1.Variantc                óì  — t          j        | ¦  «        t           j        u }|rt          j        | ¦  «        d         n| }t          j        |¦  «        t          u røt          j        |¦  «        \  }}t          j        |¦  «        t           j        urt          d¦  «        ‚t          j        |¦  «        d         }t          |d¦  «        r|j        }nt          j
        |¦  «        }|r)t          j        |t          | j        |¦  «        ¦  «        }n&t          j        |t          j        ¦   «         ¦  «        }t          j        t          ||¦  «        S t          j        |t          | |¦  «        d ¦  «        S )Nr   z˜When using `asn1.Variant` in a type annotation, the second type parameter must be a `typing.Literal` type. E.g: `Variant[int, typing.Literal["MyInt"]]`.r=   )r$   r&   rN   rP   r   ÚLiteralr4   r"   r=   r   rh   r]   r9   rO   r7   ra   )	rs   r+   Úis_annotatedrr   Ú
value_typeÚtag_literalrH   Ú	rust_typeÚann_types	            r   rB   rB   ú   sj  € õ Ô$ QÑ'Ô'­6Ô+;Ð;€LØ*6Ð=•” Ñ#Ô# AÔ&Ð&¸A€Jõ Ô˜Ñ$Ô$­Ð/Ð/Ý"(¤/°*Ñ"=Ô"=Ñˆ
�KÝÔ˜[Ñ)Ô)µ´Ð?Ð?Ýð;ñô ð õ
 ”? ;Ñ/Ô/°Ô2ˆå�:˜Ñ/Ô/ð 	MØ"Ô0ˆIˆIå(Ô@ÀÑLÔLˆIàð 		Ý'Ô5ØÝ# A¤N°JÑ?Ô?ñô ˆHˆHõ
 (Ô5ØÝ Ô+Ñ-Ô-ñô ˆHõ
  Ô'­°¸8ÑDÔDÐDõ  Ô'ØÝ! ! ZÑ0Ô0Øñ
ô 
ð 	
r   Ú
raw_fieldsúdict[str, type]ú)dict[str, declarative_asn1.AnnotatedType]c                óh   — i }|                       ¦   «         D ]\  }}t          ||¦  «        }|||<   Œ|S rA   )Úitemsra   )r|   Úfieldsr+   r   Úannotated_field_types        r   Ú_annotate_fieldsrƒ   %  sM   € ð €FØ",×"2Ò"2Ñ"4Ô"4ð 2ð 2Ñˆ
�Jõ  5°ZÀÑLÔLÐØ1ˆˆzÑÐà€Mr   Úclsútype[U]ÚNonec                ó®   — t          j        | d¬¦  «        }t          j                             | t          |¦  «        ¦  «        }t          | d|¦  «         d S ©NT)Úinclude_extrasr=   )r$   Úget_type_hintsr   rZ   r[   rƒ   Úsetattr©r„   r|   Úroots      r   Ú_register_asn1_sequencerŽ   2  sP   € ÝÔ& s¸4Ð@Ñ@Ô@€JÝÔ ×)Ò)¨#Õ/?À
Ñ/KÔ/KÑLÔL€DåˆC� $Ñ'Ô'Ð'Ð'Ð'r   c                ó®   — t          j        | d¬¦  «        }t          j                             | t          |¦  «        ¦  «        }t          | d|¦  «         d S rˆ   )r$   rŠ   r   rZ   r\   rƒ   r‹   rŒ   s      r   Ú_register_asn1_setr�   9  sP   € ÝÔ& s¸4Ð@Ñ@Ô@€JÝÔ ×$Ò$ SÕ*:¸:Ñ*FÔ*FÑGÔG€DåˆC� $Ñ'Ô'Ð'Ð'Ð'r   )Úkw_only_defaultc                óÆ   — t           j        dk    r" t          j        dddd¬¦  «        | ¦  «        }n t          j        dd¬¦  «        | ¦  «        }t	          |¦  «         |S ©Nr   FT©ÚreprÚeqÚ
match_argsÚkw_only)r•   r–   )ÚsysÚversion_infoÚdataclassesÚ	dataclassrŽ   ©r„   Údataclass_clss     r   ÚsequencerŸ   F  s”   € õ Ô˜wÒ&Ð&ð	�KÔ1ØØð !ð ð	ñ 	ô 	ð ñ	ô 	ˆMˆMð�KÔ1ØØðñ ô ð ñô ˆMõ 	  Ñ.Ô.Ð.ØÐr   c                óÆ   — t           j        dk    r" t          j        dddd¬¦  «        | ¦  «        }n t          j        dd¬¦  «        | ¦  «        }t	          |¦  «         |S r“   )r™   rš   r›   rœ   r�   r�   s     r   Úsetr¡   ]  s”   € õ Ô˜wÒ&Ð&ð	�KÔ1ØØð !ð ð	ñ 	ô 	ð ñ	ô 	ˆMˆMð�KÔ1ØØðñ ô ð ñô ˆMõ 	˜=Ñ)Ô)Ð)ØÐr   c                óf   —  t          j        dddd¬¦  «        | ¦  «        }t          |¦  «         |S ©NFTr”   )r›   rœ   rŽ   r�   s     r   rŸ   rŸ   v  sN   € ð
�Ô-ØØØØð	
ñ 
ô 
ð
 ñô ˆõ 	  Ñ.Ô.Ð.ØÐr   c                óf   —  t          j        dddd¬¦  «        | ¦  «        }t          |¦  «         |S r£   )r›   rœ   r�   r�   s     r   r¡   r¡   ƒ  sN   € ð
�Ô-ØØØØð	
ñ 
ô 
ð
 ñô ˆõ 	˜=Ñ)Ô)Ð)ØÐr   c                  ó   — e Zd ZU ded<   dS )r3   r   r   N)r   r   r   r   r   r   r   r3   r3   ’  s   € € € € € € à€H€H�H€H€Hr   r3   )r   r   r   r   )r)   r*   r+   r   r   r,   )r   r:   r+   r   r   r;   )rs   r:   r+   r   r   rt   )r|   r}   r   r~   )r„   r…   r   r†   )r„   r…   r   r…   )/Ú
__future__r   rQ   r›   r™   r#   r$   rš   Útyping_extensionsÚLiteralStringÚ"cryptography.hazmat.bindings._rustr   r   r`   ÚTypeVarr	   r   r   rœ   ÚGenericr   Ú
decode_derÚ
encode_derr(   r9   ra   rB   rƒ   rŽ   r�   Údataclass_transformrŸ   r¡   r3   rS   r5   ÚExplicitrY   r6   rW   rV   ÚUTCTimeÚGeneralizedTimerU   ÚTlvrX   ÚNullr   r   r   ú<module>r´      sp  ðð
 #Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø 
€
€
€
Ø €€€Ø €€€àÔ�gÒÐØÐÐÐà%Ô3€M€MàÔ(€Mà ?Ð ?Ð ?Ð ?Ð ?Ð ?àÔ�gÒÐØˆt�D‰zŒz€H€HàŒ~€Hà€F„N�3 $Ð'Ñ'Ô'€Ø€F„N�3ÑÔ€Ø€f„n�U -Ð0Ñ0Ô0€ð €Ô˜dÐ#Ñ#Ô#ðð ð ð ð ˆfŒn˜Q ˜VÔ$ñ ô ñ $Ô#ðð, Ô(€
ØÔ(€
ð	8ð 	8ð 	8ð 	8ð ð  ð  ð  ðFKGð KGð KGð KGð`(
ð (
ð (
ð (
ðV
ð 
ð 
ð 
ð(ð (ð (ð (ð(ð (ð (ð (ð Ô�gÒÐà*ÐÔ*¸4Ð@Ñ@Ô@ðð ð ñ AÔ@ðð, +ÐÔ*¸4Ð@Ñ@Ô@ðð ð ñ AÔ@ðð ð0  €VÔ°Ð5Ñ5Ô5ð
ð 
ð 
ñ 6Ô5ð
ð  €VÔ°Ð5Ñ5Ô5ð
ð 
ð 
ñ 6Ô5ð
ð €Ô˜dÐ#Ñ#Ô#ðð ð ð ð ˆfŒn˜QÔñ ô ñ $Ô#ðð 	Ô€àÔ$Ô-€ØÔ$Ô-€ØÔ€à"Ô2€ØÔ&€	Ø
Ô
"€Ø"Ô2€ØÔ&€	ØÔ€ØÔ€€€r   