
    'hf                     \    S SK JrJr  S SKJr   " S S5      r " S S5      r " S S5      rg	)
    )OptionalUnion)command_builderc                   $    \ rS rSrSrSrSrSrSrg)PermissionState   z*Represents the possible permission states.granteddeniedprompt N)	__name__
__module____qualname____firstlineno____doc__GRANTEDDENIEDPROMPT__static_attributes__r       s/var/www/home/psychics-availability/venv/lib/python3.13/site-packages/selenium/webdriver/common/bidi/permissions.pyr   r      s    4GFFr   r   c                   4    \ rS rSrSrS\4S jrS\4S jrSr	g)	PermissionDescriptor   z#Represents a permission descriptor.namec                     Xl         g Nr   )selfr   s     r   __init__PermissionDescriptor.__init__"       	r   returnc                     SU R                   0$ )Nr   r   )r   s    r   to_dictPermissionDescriptor.to_dict%   s    		""r   r   N)
r   r   r   r   r   strr    dictr%   r   r   r   r   r   r      s    -S # #r   r   c                   R    \ rS rSrSrS r SS\\\4   S\S\S\	\   S	S4
S
 jjr
Srg)Permissions)   z0
BiDi implementation of the permissions module.
c                     Xl         g r   conn)r   r.   s     r   r    Permissions.__init__.   r"   r   N
descriptorstateoriginuser_contextr#   c                    U[         R                  [         R                  [         R                  4;  aB  [         R                   S[         R                   S[         R                   3n[	        SU 35      e[        U[        5      (       a  [        U5      nOUnUR                  5       UUS.nUb  XGS'   U R                  R                  [        SU5      5        g)a  Sets a permission state for a given permission descriptor.

Parameters:
-----------
    descriptor: The permission name (str) or PermissionDescriptor object.
               Examples: "geolocation", "camera", "microphone"
    state: The permission state (granted, denied, prompt).
    origin: The origin for which the permission is set.
    user_context: The user context id (optional).

Raises:
------
    ValueError: If the permission state is invalid.
z, z*Invalid permission state. Must be one of: )r0   r1   r2   NuserContextzpermissions.setPermission)r   r   r   r   
ValueError
isinstancer'   r   r%   r.   executer   )r   r0   r1   r2   r3   valid_statespermission_descriptorparamss           r   set_permissionPermissions.set_permission1   s    * 00/2H2H/J`J`aa-556b9O9O8PPRSbSiSiRjkLI,XYYj#&&$8$D!$.! 0779
 #$0=!		/*EvNOr   r-   r   )r   r   r   r   r   r    r   r'   r   r   r<   r   r   r   r   r*   r*   )   sa     '+'P#334'P 'P 	'P
 sm'P 
'P 'Pr   r*   N)typingr   r   %selenium.webdriver.common.bidi.commonr   r   r   r*   r   r   r   <module>r@      s-   $ # A # #/P /Pr   