+
     h  c                  sv    ^ RI Ht ^ RIt^ RIHtHt ^ RIHt ^RIH	t	 ^RI
HtHt ^RIHtHt  ! R R	4      tR# )
i    )annotationsN)IntEnumunique)Any)cbor)Ctap2Info)PinProtocol_PinUvc                  s    ] tR t^'tRt] ! R R]4      4       t] ! R R]4      4       t]	R R l4       t
RR	 R
 lltRR ltR R ltR R ltRR R lltRtR# )ConfigzImplementation of the CTAP2.1 Authenticator Config API.

:param ctap: An instance of a CTAP2 object.
:param pin_uv_protocol: An instance of a PinUvAuthProtocol.
:param pin_uv_token: A valid PIN/UV Auth Token for the current CTAP session.
c                  s&    ] tR t^/t^t^t^t^tRtR# )
Config.CMD N)	__name__
__module____qualname____firstlineno__ENABLE_ENTERPRISE_ATTTOGGLE_ALWAYS_UVSET_MIN_PIN_LENGTHZVENDOR_PROTOTYPE__static_attributes__r       7/usr/lib/python3.14/site-packages/fido2/ctap2/config.pyCMDr
   /   s     $!r   r   c                  s"    ] tR t^6t^t^t^tRtR# )Config.PARAMr   N)r   r   r   r   NEW_MIN_PIN_LENGTHMIN_PIN_LENGTH_RPIDSFORCE_CHANGE_PINr   r   r   r   PARAMr   6   s    !#r   r   c               s     V ^8  d   QhRRRR/# )   infor   returnboolr   Zformat   "r   __annotate__Config.__annotate__=   s     5 54 5D 5r   c                	s<    V P                   P                  R 4      RJ # )Z	authnrCfgT)ZoptionsZget)r      &r   is_supportedZConfig.is_supported<   s    ||,44r   Nc               s$    V ^8  d   QhRRRRRR/# )r   ctapr   pin_uv_protocolzPinProtocol | Nonepin_uv_tokenzbytes | Noner   r    r!   r   r"   r#   @   s(     
 

 ,
 #	
r   c                	s    V P                  VP                  4      '       g   \        R 4      hWn        V'       d   V'       d   \	        W#4      V n        R# RV n        R# )z%Authenticator does not support ConfigN)r%   r   Z
ValueErrorr&   r   pin_uv)selfr&   r'   r(   s   &&&&r   __init__ZConfig.__init__@   sN       ++DEE	 < ?1 	  	r   c                	s   V P                   '       d   R\        P                  ! RV4      ,           pVe   V\        P                  ! V4      ,          pV P                   P
                  P                  pV P                   P
                  P                  V P                   P                  V4      pMRpRpV P                  P                  WWE4      # )s   z<BNs!   )r)   structZpackr   ZencodeZprotocolZVERSIONZauthenticateZtokenr&   Zconfig)r*   Zsub_cmdparamsZmsgr'   Zpin_uv_params   &&&   r   _callZConfig._callP   s    ;;;(6;;tW+EEC!t{{6**"kk22::O;;//<<T[[=N=NPSTL"OLyyOOr   c                   V ^8  d   QhRR/# r   r   Noner   r    r!   r   r"   r#   \   s     5 5t 5r   c                X    V P                  \        P                  P                  4       R# )zNEnables Enterprise Attestation.

If already enabled, this command is ignored.
N)r.   r	   r   r   r*   r$   r   enable_enterprise_attestationZ$Config.enable_enterprise_attestation\   s    
 	

6::334r   c               r/   r0   r   r    r!   r   r"   r#   c   s     0 0$ 0r   c                r2   )zhToggle the alwaysUV setting.

When true, the Authenticator always requires UV for credential assertion.
N)r.   r	   r   r   r3   r$   r   toggle_always_uvZConfig.toggle_always_uvc   s    
 	

6::../r   c               s(    V ^8  d   QhRRRRRRRR/# )	r   min_pin_lengthz
int | Nonerp_idszlist[str] | Noneforce_change_pinr   r   r1   r   r    r!   r   r"   r#   j   s2     : :": !: 	:
 
:r   c                s   \         P                  P                  V/pVe   W\         P                  P                  &   Ve   W$\         P                  P                  &   V P                  \         P                  P                  V4       R# )a`  Set the minimum PIN length allowed when setting/changing the PIN.

:param min_pin_length: The minimum PIN length the Authenticator should allow.
:param rp_ids: A list of RP IDs which should be allowed to get the current
    minimum PIN length.
:param force_change_pin: True if the Authenticator should enforce changing the
    PIN before the next use.
N)r	   r   r   r   r   r.   r   r   )r*   r6   r7   r8   r-   s   &&&& r   set_min_pin_lengthZConfig.set_min_pin_lengthj   sa     #),,"?"?AQ!R%6D6<<2238>6<<445

6::00&9r   )r&   r)   )NN)N)NNF)r   r   r   r   Z__doc__r   r   r   r   Zstaticmethodr%   r+   r.   r4   r5   r9   r   r   r   r   r	   r	   '   sp      g          
 5 5
 
P50: :r   r	   )Z
__future__r    r,   Zenumr   r   Ztypingr   Z r   Zbaser   r   Zpinr   r   r	   r   r   r   <module>r:      s(   8 #       $V: V:r   