
    4)di                    V    d dl mZ d dlZd dlZ G d d          Z G d d          ZdS )    )annotationsNc                       e Zd ZdZdZd Zedd            Zej        dd	            Zdd
Z	edd            Z
e
j        dd            Z
ddZedd            Zej        dd            Z fdZ xZS )Optionsz;Internal class to create singleton module options instance.Nc                    |                      d           d| _        d| _        d| _        t	          j        d          }|rdnd| _        d S )NFsaturateNO_COLORT)set_lsb0_bytealignedmxfp_overflowno_colorosgetenv)selfr   s     b/var/www/menimich/repos/protonApp/venv/lib/python3.11/site-packages/bitstring/bitstring_options.py__init__zOptions.__init__   sN    e!'9Z(( (3e    returnstrc                    | j         S N)_mxfp_overflowr   s    r   r   zOptions.mxfp_overflow   s    ""r   valueNonec                L    d}||vrt          d| d| d          || _        d S )N)r   overflowzmxfp_overflow must be one of z, not .)
ValueErrorr   )r   r   allowed_valuess      r   r   zOptions.mxfp_overflow   sC    1&&[^[[SX[[[\\\#r   c                      fdt                     D             }d                    d |                                D                       S )Nc                    i | ]E}|                     d           t          t          |                    4|t          |          FS )_)
startswithcallablegetattr).0attrr   s     r   
<dictcomp>z$Options.__repr__.<locals>.<dictcomp>!   s~      I  I  IDT__]`MaMa  Ijrsz{  BF  tG  tG  kH  kH  IdGD$//  I  I  Ir   
c              3  *   K   | ]\  }}| d |V  dS )z: N )r&   r'   r   s      r   	<genexpr>z#Options.__repr__.<locals>.<genexpr>"   s4      TT+$D--E--TTTTTTr   )dirjoinitems)r   
attributess   ` r   __repr__zOptions.__repr__    sd     I  I  I  ICII  I  I  I
yyTTAQAQASASTTTTTTr   boolc                    | j         S r   )_lsb0r   s    r   lsb0zOptions.lsb0$   s
    zr   c                0    |                      |           d S r   )r	   r   r   s     r   r5   zOptions.lsb0(   s    er   c                   t          |          | _        t          j        j        }t          j        j        }t          j        j        }||j	        |j
        |j        d||j        |j        |j        |j        d||j        |j        |j        |j        |j        |j        di}||j        |j        |j        d||j        |j        |j        |j        d||j        |j        |j        |j        |j        |j        di}| j        r|n|}|                                D ]0\  }}	|	                                D ]\  }
}tA          ||
|           1d S )N)_find_rfind_findall)_ror_rol_append_prepend)__setitem____delitem__getindexgetslicegetslice_withstepinvert)!r2   r4   	bitstringbitsBits	bitarray_BitArraybitstoreBitStore
_find_lsb0_rfind_lsb0_findall_lsb0	_rol_msb0	_ror_msb0_append_lsb0_append_msb0setitem_lsb0delitem_lsb0getindex_lsb0getslice_lsb0getslice_withstep_lsb0invert_lsb0
_find_msb0_rfind_msb0_findall_msb0setitem_msb0delitem_msb0getindex_msb0getslice_msb0getslice_withstep_msb0invert_msb0r/   setattr)r   r   rH   rJ   rL   lsb0_methodsmsb0_methodsmethodsclsmethod_dictr'   methods               r   r	   zOptions.set_lsb0,   s   %[[
~"&/%. DOt7GUYUghhx18;MZbZo#+#8: :h&;HLa#+#9xG],4,KW_Wkm m	
 DOt7GUYUghhx18;MZbZo#+#8: :h&;HLa#+#9xG],4,KW_Wkm m	
 #'*>,,, ' 	+ 	+C + 1 1 3 3 + +fT6****+	+ 	+r   c                    | j         S r   )r
   r   s    r   bytealignedzOptions.bytealignedG   s      r   c                .    t          |          | _        d S r   )r2   r
   r7   s     r   rk   zOptions.bytealignedK   s     KKr   c                z    | j         -t          t          |                               |           | _         | j         S r   )	_instancesuperr   __new__)rg   	__class__s    r   rp   zOptions.__new__O   s2    = !'3//77<<CM}r   )r   r   )r   r   r   r   )r   r2   )r   r2   r   r   )__name__
__module____qualname____doc__rn   r   propertyr   setterr1   r5   r	   rk   rp   __classcell__rq   s   @r   r   r      sH       EEI4 4 4 # # # X# $ $ $ $U U U U    X 
[   [+ + + +6 ! ! ! X! ( ( ( (        r   r   c                        e Zd Zd fdZ xZS )Colour
use_colourr2   r   c                    t                                          |           }|rd| _        d| _        d| _        d| _        ndx| _        x| _        x| _        | _        |S )Nz[34mz[35mz[32mz[0m )ro   rp   bluepurplegreenoff)rg   r|   xrq   s      r   rp   zColour.__new__V   s_    GGOOC   	=!CH#CJ"CICGG:<<CH<sz<CIr   )r|   r2   r   r{   )rr   rs   rt   rp   rx   ry   s   @r   r{   r{   U   s=        	 	 	 	 	 	 	 	 	 	r   r{   )
__future__r   rF   r   r   r{   r+   r   r   <module>r      s    " " " " " "     				K K K K K K K K\
 
 
 
 
 
 
 
 
 
r   