Ë
    îO´jÐJ  ã                  óR  — 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Zej                  dk  rd dl	Z	e	j                  Z
nej                  Z
d dlm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j0                  Zej2                  Zej4                  ej6                  ej8                  fZ	 	 	 	 	 	 	 	 d!d„Zd"d„Zd#d„Z 	 	 	 	 	 	 d$d„Z!	 	 	 	 	 	 d%d„Z"	 	 	 	 	 	 d&d„Z#	 	 	 	 d'd„Z$d(d„Z%d(d„Z&ej                  dk  r5 e	jN                  d¬«      d)d„«       Z( e	jN                  d¬«      d)d„«       Z)n4 ejN                  d¬«      d)d„«       Z( ejN                  d¬«      d)d„«       Z)	 	 	 	 d*d„Z* ej*                  d¬«       G d„ d ej,                  e   «      «       Z+ejX                  Z,ejZ                  j\                  Z.ejZ                  j^                  Z/ej`                  Z0ejb                  Z1ejd                  Z2ejf                  Z3ejh                  Z4ejj                  Z5ejl                  Z7ejp                  Z8y)+é    )ÚannotationsN)é   é   )Údeclarative_asn1)Úx509©r   é
   ÚTT)Ú	covariantÚUÚTag)Úbound)Úfrozenc                  ó&   — e Zd ZU dZded<   ded<   y)Ú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__© ó    út/var/www/origus_pro_usr/data/www/origus.pro/core/.venv/lib/python3.12/site-packages/cryptography/hazmat/asn1/asn1.pyr   r   "   s   … ñð" ƒHØ	„Hr   r   c                óh   — | t         v r*t        |j                  t        «      rt	        d|› d�«      ‚y y )Núfield 'zY' has an IMPLICIT annotation, but IMPLICIT annotations are not supported for X.509 types.)Ú_X509_TYPESÚ
isinstanceÚencodingÚImplicitÚ	TypeError)Ú
field_typeÚ
annotationÚ
field_names      r   Ú_check_x509_field_annotationsr'   D   sD   € ð
 ”[Ñ ¤Z°
×0CÑ0CÄXÔ%NÜØ�j�\ð "Fð Fó
ð 	
ð &OÐ r   c                ó²   — 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_unionr0   P   sF   € ô ”5˜+Ô&ô 
�‰œ&Ÿ,™,Ñ'ä�l‰lˆ_ð ô
 ×Ñ˜ZÓ(¨KÐ7Ð7r   c                óv  — t         j                  dk  r| S t        | t        j                  «      r'| j
                  } t        | t        j                  «      rŒ't        j                  | «      }t        d„ |D «       «      }||k(  r| S t        | «      rt        j                  |   S t        j                  | «      |   S )N)r   é   c              3  ó2   K  — | ]  }t        |«      –— Œ y ­w©N)Ú_resolve_type_aliases)Ú.0Úargs     r   ú	<genexpr>z(_resolve_type_aliases.<locals>.<genexpr>i   s   è ø€ ÒE¸Ô/°×4ÑEùs   ‚)ÚsysÚversion_infor    r,   ÚTypeAliasTypeÚ	__value__Úget_argsÚtupler0   r-   r.   )r$   ÚargsÚresolved_argss      r   r5   r5   \   s¤   € ô ×Ñ˜'Ò!ØÐä
�Z¤×!5Ñ!5Ô
6Ø×)Ñ)ˆ
ô �Z¤×!5Ñ!5Õ
6ô �?‰?˜:Ó&€DÜÑEÀÔEÓE€MØ˜ÒàÐä�Ôô �|‰|˜MÑ*Ð*ô ×Ñ˜ZÓ(¨Ñ7Ð7r   c                óz  — d }d }d }| D ]™  }t        |t        «      r|�t        d|› d�«      ‚|j                  }Œ1t        |t        j
                  «      r|�t        d|› d�«      ‚|}Œ_t        |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: )Údefaultr!   Úsize)r    ÚDefaultr#   r   r   ÚEncodingÚSizeÚ
Annotation)Úmetadatar&   rC   r!   rD   Úraw_annotations         r   Ú_extract_annotationrK   €   s  € ð €GØ€HØ€DØ"ò IˆÜ�n¤gÔ.ØÐ"ÜðØ"�| 1ð&óð ð %×*Ñ*‰GÜ˜Ô(8×(AÑ(AÔBØÐ#ÜðØ"�| 1ð&óð ð &‰HÜ˜Ô(8×(=Ñ(=Ô>ØÐÜØ@ÀÀÈAÐNóð ð "‰DäÐ6°~Ð6FÐGÓHÐHð-Iô0 ×&Ñ&Ø (°ôð r   c                óæ	  ‡— t        | «      } t        j                  | «      t        j                  u r.t	        | j
                  |«      }t        j                  | «      ^} }nt        j                  «       }|j                  �kt        j                  | «      t        j                  t        fvr@| t        j                  t        j                  t        t         t"        fvrt%        d|› d�«      ‚| t&        u rDt)        |j*                  t,        «      rt%        d|› d�«      ‚|j.                  �t%        d|› d�«      ‚t1        | ||«       t3        | d«      r©| j4                  }t)        |t        j6                  j8                  t        j6                  j:                  t        j6                  j<                  f«      st%        d|› �«      ‚t        j>                  t        j@                  t        j6                  |«      |«      S tC        | «      �rõt        j                  | «      }tE        |«      dk(  r«tF        |v r£|d   tI        d «      u r|d	   n|d   }|t&        u rt%        d
«      ‚t1        |||«       tK        ||«      }|jL                  jO                  «       st%        d«      ‚|j.                  �t%        d«      ‚t        j6                  jQ                  |«      }�n t)        |j*                  t,        «      rt%        d«      ‚|D �	cg c]  }	|	tI        d «      urtS        |	|«      ‘Œ }
}	|
d	   jT                  d uŠtW        ˆfd„|
D «       «      rt%        d«      ‚‰r;|
D �ch c]  }|jT                  ’Œ }}tE        |
«      tE        |«      k7  rt%        d«      ‚t        j6                  jY                  |
«      }tF        |v rEt        j6                  jQ                  t        j>                  |t        j                  «       «      «      n|}nÙt        j                  | «      t        j                  u rBtK        t        j                  | «      d	   |«      }t        j6                  j[                  |«      }nrt        j                  | «      t        u rBtK        t        j                  | «      d	   |«      }t        j6                  j                  |«      }nt        j\                  | «      }t        j>                  ||«      S c c}	w c c}w )Nr   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              3  ó@   •K  — | ]  }|j                   d u‰k7  –— Œ y ­wr4   )Útag_name)r6   ÚvÚare_union_types_taggeds     €r   r8   z(_normalize_field_type.<locals>.<genexpr>  s(   øè ø€ ò àð —‘ 4Ð'Ð,BÕBñùs   ƒzbWhen using `asn1.Variant` in a union, all the other types in the union must also be `asn1.Variant`zBWhen using `asn1.Variant` in a union, the tags used must be unique)/r5   r,   r.   Ú	AnnotatedrK   Ú__metadata__r=   r   rH   rD   ÚbuiltinsÚlistÚSetOfÚbytesr   Ú	BitStringÚ	IA5StringÚPrintableStringr#   ÚTLVr    r!   r"   rC   r'   r*   rM   ÚTypeÚSequenceÚSetÚValueSetÚAnnotatedTypeÚcastr0   ÚlenÚNoneTypeÚtypeÚ_normalize_field_typer%   Úis_emptyÚOptionÚ_type_to_variantrQ   ÚanyÚChoiceÚ
SequenceOfÚnon_root_python_to_rust)r$   r&   r%   Ú_Ú	root_typeÚ
union_argsÚoptional_typeÚannotated_typeÚrust_field_typer7   ÚvariantsrR   ÚtagsÚrust_choice_typeÚ
inner_typerS   s                  @r   rg   rg   £   s«  ø€ ô ' zÓ2€Jô ×Ñ˜Ó$¬×(8Ñ(8Ñ8Ü(¨×)@Ñ)@À*ÓMˆ
ÜŸ™¨Ó4ˆˆ
‘Qä%×0Ñ0Ó2ˆ
à‡�Ð"Ü×Ñ˜*Ó%¬h¯m©m¼UÐ-CÑCØä�N‰NÜ�L‰LÜÜÜð
ñ
ô Ø�j�\ð "*ð *ó
ð 	
ð ”SÑÜ�j×)Ñ)¬8Ô4ÜØ˜*˜ð &Hð Hóð ð ×ÑÐ+ÜØ˜*˜ð &Gð Góð ô
 " *¨j¸*ÔEäˆz˜?Ô+Ø×,Ñ,ˆ	ÜØä ×%Ñ%×.Ñ.Ü ×%Ñ%×)Ñ)Ü ×%Ñ%×.Ñ.ðô
ô Ð5°i°[ÐAÓBÐBÜ×-Ñ-Ü�K‰KÔ(×-Ñ-¨yÓ9¸:ó
ð 	
ô 
�:Õ	Ü—_‘_ ZÓ0ˆ
Üˆz‹?˜aÒ¤H°
Ñ$:ð ",¨A¡´$°t³*Ñ!<�
˜1’À*ÈQÁ-ð ð ¤Ñ#Üð*óð ô *Ø˜z¨:ôô 3°=À*ÓMˆNà!×,Ñ,×5Ñ5Ô7Üð?óð ð ×!Ñ!Ð-Üð!óð ô
 /×3Ñ3×:Ñ:¸>ÓJŠOô ˜*×-Ñ-¬xÔ8äð!óð ð &öàØœd 4›jÑ(ô !  jÕ1ðˆHð ð &.¨a¡[×%9Ñ%9ÀÐ%EÐ"Üó à!ôô ô  ðEóð ñ
 &Ø,4Ö5 q˜Ÿ
›
Ð5�Ð5Ü�x“=¤C¨£IÒ-Ü#ð)óð ô
  0×4Ñ4×;Ñ;¸HÓEÐô ˜zÑ)ô !×%Ñ%×,Ñ,Ü$×2Ñ2Ø(Ô*:×*EÑ*EÓ*Góôð &ñ ô 
×	Ñ	˜:Ó	&¬(¯-©-Ñ	7Ü*Ü�O‰O˜JÓ'¨Ñ*¨Jó
ˆ
ô +×/Ñ/×:Ñ:¸:ÓF‰Ü	×	Ñ	˜:Ó	&¬%Ñ	/Ü*Ü�O‰O˜JÓ'¨Ñ*¨Jó
ˆ
ô +×/Ñ/×5Ñ5°jÓA‰ä*×BÑBÀ:ÓNˆä×)Ñ)¨/¸:ÓFÐFùògùò& 6s   Ë< S)ÍS.c                óø  — 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"]]`.rM   )r,   r.   rT   r=   r   ÚLiteralr#   r*   rM   r   rn   rb   rK   rU   rH   rg   )	Útr&   Úis_annotatedrx   Ú
value_typeÚtag_literalrQ   Ú	rust_typeÚann_types	            r   rj   rj   @  sB  € ô ×$Ñ$ QÓ'¬6×+;Ñ+;Ð;€LÙ*6”—‘ Ó# AÒ&¸A€Jô ×Ñ˜Ó$¬Ñ/Ü"(§/¡/°*Ó"=Ñˆ
�KÜ×Ñ˜[Ó)´·±Ñ?Üð;óð ô
 —?‘? ;Ó/°Ñ2ˆä�:˜Ô/Ø"×0Ñ0‰Iä(×@Ñ@ÀÓLˆIáÜ'×5Ñ5ØÜ# A§N¡N°JÓ?ó‰Hô
 (×5Ñ5ØÜ ×+Ñ+Ó-óˆHô
  ×'Ñ'¬°¸8ÓDÐDô  ×'Ñ'ØÜ! ! ZÓ0Øó
ð 	
r   c                ó\   — i }| j                  «       D ]  \  }}t        ||«      }|||<   Œ |S r4   )Úitemsrg   )Ú
raw_fieldsÚfieldsr&   r$   Úannotated_field_types        r   Ú_annotate_fieldsr†   k  sF   € ð €FØ",×"2Ñ"2Ó"4ò 2Ñˆ
�Jô  5°ZÀÓLÐØ1ˆˆzÒð	2ð €Mr   c                óž   — t        j                  | d¬«      }t        j                  j	                  | t        |«      «      }t        | d|«       y ©NT)Úinclude_extrasrM   )r,   Úget_type_hintsr   r^   r_   r†   Úsetattr©Úclsrƒ   Úroots      r   Ú_register_asn1_sequencer�   x  s>   € Ü×&Ñ& s¸4Ô@€JÜ× Ñ ×)Ñ)¨#Ô/?À
Ó/KÓL€DäˆC� $Õ'r   c                óž   — t        j                  | d¬«      }t        j                  j	                  | t        |«      «      }t        | d|«       y rˆ   )r,   rŠ   r   r^   r`   r†   r‹   rŒ   s      r   Ú_register_asn1_setr‘     s>   € Ü×&Ñ& s¸4Ô@€JÜ× Ñ ×$Ñ$ SÔ*:¸:Ó*FÓ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—   )r9   r:   ÚdataclassesÚ	dataclassr�   ©r�   Údataclass_clss     r   Úsequencerž   Œ  st   € ô ×Ñ˜wÒ&ð	œK×1Ñ1ØØð !ð ô	ð ó	‰MðœK×1Ñ1ØØôð óˆMô 	  Ô.ØÐr   c                ó¼   — t         j                  dk\  r  t        j                  dddd¬«      | «      }n t        j                  dd¬«      | «      }t	        |«       |S r”   )r9   r:   rš   r›   r‘   rœ   s     r   Úsetr    £  st   € ô ×Ñ˜wÒ&ð	œK×1Ñ1ØØð !ð ô	ð ó	‰MðœK×1Ñ1ØØôð óˆMô 	˜=Ô)ØÐr   c                óZ   —  t        j                  dddd¬«      | «      }t        |«       |S ©NFTr•   )rš   r›   r�   rœ   s     r   rž   rž   ¼  s<   € ð
œ×-Ñ-ØØØØô	
ð
 óˆô 	  Ô.ØÐr   c                óZ   —  t        j                  dddd¬«      | «      }t        |«       |S r¢   )rš   r›   r‘   rœ   s     r   r    r    É  s<   € ð
œ×-Ñ-ØØØØô	
ð
 óˆô 	˜=Ô)ØÐr   c                óB   ‡ ‡— t        j                  ‰ «      Šdˆˆ fd„}|S )a"  
    A class decorator that registers an `enum.Enum` subclass as an
    ASN.1 value set of the given underlying type. All the member
    values must be instances of `value_type`. Members are encoded as
    their value; decoding fails if the decoded value does not match
    any member.
    c                óh  •— t        | t        j                  «      st        d«      ‚t	        | «      }|st        d| j
                  › d�«      ‚|D ]k  }t        |j                  ‰«      rŒt        d|j                  › d| j
                  › d‰j
                  › dt        |j                  «      j
                  › d�	«      ‚ t        j                  ‰t        j                  «       «      }|D �ci c]  }|j                  |“Œ }}t        j                  j                  | ||«      }t        | d	|«       | S c c}w )
Nz8value sets can only be defined from enum.Enum subclasseszvalue set 'z' must have at least one memberzmember 'z' of value set 'z' must have a value of type 'z	', got: 'rB   rM   )Ú
issubclassÚenumÚEnumr#   rW   r   r    r   Únamerf   r   rb   rH   r^   ra   r‹   )r�   ÚmembersÚmemberÚinnerÚ	value_maprŽ   r   r}   s         €€r   Ú	decoratorzvalue_set.<locals>.decoratorã  s3  ø€ Ü˜#œtŸy™yÔ)ÜØJóð ô �s“)ˆÙÜØ˜cŸl™l˜^Ð+JÐKóð ð ò 	ˆFÜ˜fŸl™l¨JÕ7ÜØ˜vŸ{™{˜mÐ+;¸C¿L¹L¸>ð Jà"×+Ñ+Ð,ð -Ü˜VŸ\™\Ó*×3Ñ3Ð4°Að7óð ð	ô !×.Ñ.ØÔ'×2Ñ2Ó4ó
ˆð
 9@Ö@¨f�V—\‘\ 6Ñ)Ð@ˆ	Ð@Ü×$Ñ$×-Ñ-¨c°5¸)ÓDˆä��_ dÔ+Øˆ
ùò	 As   Ã)D/©r�   útype[U]Úreturnr°   )r   rn   )r}   r®   r   s   ` @r   Ú	value_setr²   ×  s"   ù€ ô !×8Ñ8¸ÓD€Iöð: Ðr   c                  ó   — e Zd ZU ded<   y)rE   r   r   N)r   r   r   r   r   r   r   rE   rE     s   … à„Hr   rE   )r$   ú
typing.Anyr%   údeclarative_asn1.Annotationr&   r   r±   ÚNone)r$   rf   r±   Úbool)r$   r´   r±   r´   )rI   r>   r&   r   r±   rµ   )r$   r´   r&   r   r±   zdeclarative_asn1.AnnotatedType)r{   r´   r&   r   r±   zdeclarative_asn1.Variant)rƒ   zdict[str, type]r±   z)dict[str, declarative_asn1.AnnotatedType])r�   r°   r±   r¶   r¯   )r}   rf   r±   z#typing.Callable[[type[U]], type[U]])9Ú
__future__r   rV   rš   r§   r9   r+   r,   r:   Útyping_extensionsÚLiteralStringÚ"cryptography.hazmat.bindings._rustr   r   Ú	rust_x509rf   re   ÚTypeVarr
   r   r   r›   ÚGenericr   Ú
decode_derÚ
encode_derÚCertificateÚCertificateSigningRequestÚCertificateRevocationListr   r'   r0   r5   rK   rg   rj   r†   r�   r‘   Údataclass_transformrž   r    r²   rE   rX   rF   ÚExplicitr"   rG   r\   r[   ÚUTCTimeÚGeneralizedTimerZ   ÚTlvr]   ÚNullr   r   r   ú<module>rÊ      s'  ðõ
 #ã Û Û Û 
Û Û à×Ñ�gÒÛà%×3Ñ3�Mà×(Ñ(€Må ?Ý @à×Ñ�gÒÙ�D‹z�Hà�~‰~€Hà€F‡N�N�3 $Ô'€Ø€F‡N�N�3Ó€Ø€f‡n�n�U -Ô0€ð €×Ñ˜dÔ#ôˆf�n‰n˜Q ˜VÑ$ó ó $ðð, ×(Ñ(€
Ø×(Ñ(€
ð ×ÑØ×'Ñ'Ø×'Ñ'ð€ð	
Øð	
à+ð	
ð ð	
ð 
ó		
ó	8ó!8ðH Øð Ø!$ð à ó ðFXGØðXGØ(+ðXGà#óXGðz(
Øð(
Ø"ð(
àó(
ðV
Øð
à.ó
ó(ó(ð ×Ñ�gÒà*Ð×*Ñ*¸4Ô@òó Aðð, +Ð×*Ñ*¸4Ô@òó Añð0  €V×Ñ°Ô5ò
ó 6ð
ð  €V×Ñ°Ô5ò
ó 6ð
ð)Øð)à(ó)ðZ €×Ñ˜dÔ#ôˆf�n‰n˜QÑó ó $ðð 	×Ñ€à×$Ñ$×-Ñ-€Ø×$Ñ$×-Ñ-€Ø×Ñ€à"×2Ñ2€Ø×&Ñ&€	Ø
×
"Ñ
"€Ø"×2Ñ2€Ø×&Ñ&€	Ø×Ñ€Ø×Ñ�r   