
    vKg                     P   S SK r S SKrS SKJr  S SKJr   " S S\R                  5      rS\R                  S\R                  S\
S	\R                  4S
 jrS\R                  S\R                  S	\R                  4S jrS\R                  S\R                  S	\R                  4S jrg)    N)serializable)	typecheckc                   ~    \ rS rSr% Sr\R                  \R                  \\R                  4      \
S'    S rS rSrg)StateObject   z
An object with serializable state.

State attributes can either be serializable types(str, tuple, bool, ...)
or StateObject instances themselves.
_stateobject_attributesc                     0 nU R                   R                  5        H  u  p#[        X5      n[        X45      X'   M     U$ )z
Retrieve object state.
)r   itemsgetattr	get_state)selfstateattrclsvals        m/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/seleniumwire/thirdparty/mitmproxy/stateobject.pyr   StateObject.get_state   sA     55;;=ID$%C#C-EK >     c           	      z   UR                  5       nU R                  R                  5        Hl  u  p#UR                  U5      nUc  [	        XU5        M'  [        XS5      n[        US5      (       a  UR                  U5        MW  [	        X[        X45      5        Mn     U(       a  [        SR                  U5      5      eg)z;
Load object state from data returned by a get_state call.
N	set_statez$Unexpected State in __setstate__: {})copyr   r
   popsetattrr   hasattrr   make_objectRuntimeWarningformat)r   r   r   r   r   currs         r   r   StateObject.set_state!   s     

55;;=ID))D/C{C(t404--NN3'DC(=> >  !G!N!Nu!UVV r    N)__name__
__module____qualname____firstlineno____doc__typingClassVarMutableMappingstrAny__annotations__r   r   __static_attributes__r    r   r   r   r      s;     $__V-B-B3

?-STTWr   r   typeinfor   makereturnc           
        ^ Uc  g T(       a"  [        U S5      (       a  U R                  U5      $ T(       d!  [        US5      (       a  UR                  5       $ [        U 5      nUR	                  S5      (       a2  [
        R                  " U 5      nU Vs/ sH  n[        XET5      PM     sn$ UR	                  S5      (       af  [
        R                  " U 5      n[        U5      [        U5      :w  a  [        SR                  Xa5      5      e[        U4S j[        Xa5       5       5      $ UR	                  S5      (       aQ  [
        R                  " U 5      u  pxUR                  5        V	V
s0 sH  u  p[        XyT5      [        XT5      _M     sn
n	$ UR	                  S5      (       a   [         R"                  " U5        U$ U " U5      $ s  snf s  sn
n	f ! [$         a    [        S	U 35      ef = f)
N
from_stater   ztyping.Listztyping.Tuplez"Invalid data. Expected {}, got {}.c              3   >   >#    U H  u  p[        XT5      v   M     g 7f)N_process).0Txr.   s      r   	<genexpr>_process.<locals>.<genexpr>E   s       
-9TQHQ4  \s   ztyping.Dictz
typing.AnyzData not serializable: )r   r1   r   r)   
startswithr   sequence_typer4   tuple_typeslen
ValueErrorr   tuplezipmapping_typesr
   jsondumps	TypeError)r-   r   r.   typenamer6   r7   Tsk_clsv_clskvs     `        r   r4   r4   4   s   
{	'(L11""3''gc;//}}8}H=))##H-.12ct$c22			^	,	,""8,r7c#hAHHQRR 
-0\
 
 	
 
		]	+	+ ..x8 		
# Ut$hu&>>#
 	
 
		\	*	*
	>JJsO 
}3 3
  	>6se<==	>s   G'"G	$G G(c                     [        XS5      $ )z1Create an object based on the state given in val.Tr3   r-   r   s     r   r   r   \   s    H4((r   c                     [        XS5      $ )z)Get the state of the object given as val.Fr3   rL   s     r   r   r   a   s    H5))r   )rB   r&   +seleniumwire.thirdparty.mitmproxy.coretypesr   'seleniumwire.thirdparty.mitmproxy.utilsr   Serializabler   Typer*   boolr4   r   r   r    r   r   <module>rS      s      D =)W,++ )WX%y~~ %FJJ %d %vzz %P)).. )vzz )fjj )
*	 *VZZ *FJJ *r   