
    vKg!                     X    S r  " S S5      r " S S5      r " S S5      r " S S5      rg	)
zThe Proxy implementation.c                   (    \ rS rSrSr\S 5       rSrg)ProxyTypeFactory   zFactory for proxy types.c                 
    XS.$ )Nff_valuestring r   s     _/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/selenium/webdriver/common/proxy.pymakeProxyTypeFactory.make   s    $77    r	   N)__name__
__module____qualname____firstlineno____doc__staticmethodr   __static_attributes__r	   r   r
   r   r      s    "8 8r   r   c                   $   \ rS rSrSr\R                  SS5      r\R                  SS5      r\R                  SS5      r	\R                  S	S
5      r
\R                  SS5      r\R                  SS5      r\R                  SS5      r\S 5       rSrg)	ProxyType   zSet of possible types of proxy.

Each proxy type has 2 properties:    'ff_value' is value of Firefox
profile preference,    'string' is id of proxy type.
    DIRECT   MANUAL   PAC   	RESERVED1   
AUTODETECT   SYSTEM   UNSPECIFIEDc                 "   [        U[        5      (       a  SU;   a  US   n[        U5      R                  5       n[	        U 5       H:  n[        X5      n[        U[        5      (       d  M%  SU;   d  M-  US   U:X  d  M8  Us  $    [        SU 35      e)Nr   zNo proxy type is found for )
isinstancedictstrupperdirgetattr	Exception)clsvalueattr
attr_values       r
   loadProxyType.load+   s    eT""x5'8(OEE
  "HD +J*d++J0F:V^K_chKh!!  5eW=>>r   r	   N)r   r   r   r   r   r   r   r   r   r   
RESERVED_1r!   r#   r%   classmethodr2   r   r	   r   r
   r   r      s     ""1h/F""1h/F


5
)C!&&q+6J!&&q,7J""1h/F"''=9K? ?r   r   c                   &    \ rS rSrS rS rS rSrg)_ProxyTypeDescriptor7   c                     Xl         X l        g Nnamep_type)selfr<   r=   s      r
   __init___ProxyTypeDescriptor.__init__8   s    	r   c                 ,    [        XR                  5      $ r:   )r,   r<   )r>   objr.   s      r
   __get___ProxyTypeDescriptor.__get__<   s    sII&&r   c                     U R                   S:X  a   [        U[        5      (       d  [        S5      e[	        US5      " U R
                  5        [        USU R
                  5        [        XR                   U5        g )N
autodetectz,Autodetect proxy value needs to be a boolean _verify_proxy_type_compatibility	proxyType)r<   r'   bool
ValueErrorr,   r=   setattr)r>   rB   r/   s      r
   __set___ProxyTypeDescriptor.__set__?   sX    99$Zt-D-DKLL78E[$++.YY&r   r;   N)r   r   r   r   r?   rC   rL   r   r	   r   r
   r7   r7   7   s    ''r   r7   c                   6   \ rS rSrSr\R                  rSrSr	Sr
SrSrSrSrSrSrSr\" S\R&                  5      r \" S\R*                  5      r \" S\R*                  5      r \" S	\R*                  5      r \" S
\R2                  5      r \" S\R*                  5      r \" S\R*                  5      r \" S\R*                  5      r \" S\R*                  5      r \" S\R*                  5      r SS jr \!S 5       r"\"RF                  SS j5       r"S r$S r%Sr&g)ProxyG   zIProxy contains information about proxy type and necessary proxy
settings.F NrF   ftpProxy	httpProxynoProxyproxyAutoconfigUrlsslProxy
socksProxysocksUsernamesocksPasswordsocksVersionc                 |   U(       Ga4  SU;   a'  US   (       a  [         R                  US   5      U l        SU;   a  US   (       a
  US   U l        SU;   a  US   (       a
  US   U l        SU;   a  US   (       a
  US   U l        SU;   a  US   (       a
  US   U l        SU;   a  US   (       a
  US   U l        SU;   a  US   (       a
  US   U l        SU;   a  US   (       a
  US   U l	        S	U;   a  US	   (       a
  US	   U l
        S
U;   a  US
   (       a
  US
   U l        SU;   a  US   (       a  US   U l        gggg)z]Creates a new Proxy.

:Args:
 - raw: raw proxy data. If None, default class values are used.
rH   rR   rS   rT   rU   rV   rF   rW   rX   rY   rZ   N)r   r2   
proxy_type	ftp_proxy
http_proxyno_proxyproxy_autoconfig_urlrV   auto_detectsocks_proxysocks_usernamesocks_passwordsocks_version)r>   raws     r
   r?   Proxy.__init__   sH    c!c+&6"+..[1A"BS S_!$Zc!c+&6"%k"2CC	N #I#s*s3G/H,/0D,E)S S_ #Js"s<'8#&|#4 s"s<'8#&|#4 #%#o*>&)/&:##%#o*>&)/&:#$^)<%(%8" *=$+ r   c                     U R                   $ )z"Returns proxy type as `ProxyType`.)rH   )r>   s    r
   r\   Proxy.proxy_type  s     ~~r   c                 2    U R                  U5        Xl        g)z3Sets proxy type.

:Args:
 - value: The proxy type.
N)rG   rH   )r>   r/   s     r
   r\   ri     s     	--e4r   c                 |    U R                   [        R                  U4;  a  [        SU SU R                    S35      eg )NzSpecified proxy type (z') not compatible with current setting ())rH   r   r%   rJ   )r>   compatible_proxys     r
   rG   &Proxy._verify_proxy_type_compatibility  sK    >>)"7"79I!JJ()9(::abfbpbpaqqrs  Kr   c                     SU R                   S   R                  5       0n/ SQnU H  n[        X5      nU(       d  M  XAU'   M     U$ )NrH   r   )
rF   rR   rS   rU   rV   rT   rW   rX   rY   rZ   )rH   lowerr,   )r>   
proxy_capsproxiesproxyr1   s        r
   to_capabilitiesProxy.to_capabilities!  sP    !4>>(#;#A#A#CD

 E -Jz$.5!  r   )ra   r]   r^   r_   rH   r`   r\   rd   rb   rc   re   rV   r:   )returnN)'r   r   r   r   r   r   r%   rH   rF   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r7   r!   ra   r   r]   r^   r_   r   r`   	ssl_proxyrb   rc   rd   re   r?   propertyr\   setterrG   rt   r   r	   r   r
   rO   rO   G   s~    %%IJHIGHJMML '|Y5I5IJK %Z1A1ABI &k93C3CDJ $Iy/?/?@H 00DimmT %Z1A1ABI '|Y5E5EFK */9;K;KLN */9;K;KLN )9I9IJM9<    r   rO   N)r   r   r   r7   rO   r	   r   r
   <module>rz      s4   "  8 8? ?6' ' l lr   