<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    YI~dp                 @   s  d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZdddddddd	d
dddgZ	G dd de
ZG dd dZe ZG dd dZe Zei ZG dd dZedZedZedZdZdZdZe dZG dd deZG dd dedZG d d dZG d!d" d"Zeed#d#dd#dd$d%dZ d&d' Z!d(d) Z"dded*d+d,Z#d-d. Z$d/d0 Z%d1d2 Z&d3d4 Z'd5d6 Z(d7d8 Z)d9d: Z*d;d< Z+d=d> Z,d?d@ Z-dAdB Z.dCdD Z/dEdF Z0dGdH Z1dIdJ Z2dKdL Z3dddde1de2de2e3e2e3e2e3e2e3dMZ4dNdO Z5dcd#d#d#dPdPdPdQdRdZ6dSd Z7dTdU Z8dVd Z9e:dWdXd	Z;dYdZ Z<e=d[d\d
Z>d]d^ Z?d_dd#d#d#dPdPdPd`dadZ@dbd ZAdS )d    N	dataclassfieldFieldFrozenInstanceErrorInitVarMISSINGfieldsasdictastuplemake_dataclassreplaceis_dataclassc               @   s   e Zd ZdS )r   N)__name__
__module____qualname__ r   r   0/opt/alt/python37/lib64/python3.7/dataclasses.pyr      s    c               @   s   e Zd Zdd ZdS )_HAS_DEFAULT_FACTORY_CLASSc             C   s   dS )Nz	<factory>r   )selfr   r   r   __repr__   s    z#_HAS_DEFAULT_FACTORY_CLASS.__repr__N)r   r   r   r   r   r   r   r   r      s   r   c               @   s   e Zd ZdS )_MISSING_TYPEN)r   r   r   r   r   r   r   r      s   r   c               @   s   e Zd Zdd Zdd ZdS )_FIELD_BASEc             C   s
   || _ d S )N)name)r   r   r   r   r   __init__   s    z_FIELD_BASE.__init__c             C   s   | j S )N)r   )r   r   r   r   r      s    z_FIELD_BASE.__repr__N)r   r   r   r   r   r   r   r   r   r      s   r   _FIELD_FIELD_CLASSVAR_FIELD_INITVARZ__dataclass_fields__Z__dataclass_params__Z__post_init__z^(?:\s*(\w+)\s*\.)?\s*(\w+)c               @   s   e Zd Zdd ZdS )_InitVarMetac             C   s   | S )Nr   )r   paramsr   r   r   __getitem__   s    z_InitVarMeta.__getitem__N)r   r   r   r   r   r   r   r   r      s   r   c               @   s   e Zd ZdS )r   N)r   r   r   r   r   r   r   r      s   )	metaclassc               @   s(   e Zd ZdZdd Zdd Zdd ZdS )	r   )
r   typedefaultdefault_factoryreprhashinitcomparemetadata_field_typec             C   sR   d | _ d | _|| _|| _|| _|| _|| _|| _|d kr<tnt	
|| _d | _d S )N)r   r!   r"   r#   r&   r$   r%   r'   _EMPTY_METADATAtypesMappingProxyTyper(   r)   )r   r"   r#   r&   r$   r%   r'   r(   r   r   r   r      s    zField.__init__c             C   sV   d| j d| jd| jd| jd| jd| jd| jd| jd	| jd
| j	 dS )NzField(name=z,type=z	,default=z,default_factory=z,init=z,repr=z,hash=z	,compare=z
,metadata=z,_field_type=))
r   r!   r"   r#   r&   r$   r%   r'   r(   r)   )r   r   r   r   r      s    zField.__repr__c             C   s(   t t| jdd }|r$|| j|| d S )N__set_name__)getattrr!   r"   )r   ownerr   funcr   r   r   r.     s    zField.__set_name__N)r   r   r   	__slots__r   r   r.   r   r   r   r   r      s   c               @   s    e Zd ZdZdd Zdd ZdS )_DataclassParams)r&   r$   eqorderunsafe_hashfrozenc             C   s(   || _ || _|| _|| _|| _|| _d S )N)r&   r$   r4   r5   r6   r7   )r   r&   r$   r4   r5   r6   r7   r   r   r   r     s    z_DataclassParams.__init__c             C   s6   d| j d| jd| jd| jd| jd| jdS )Nz_DataclassParams(init=z,repr=z,eq=z,order=z,unsafe_hash=z,frozen=r-   )r&   r$   r4   r5   r6   r7   )r   r   r   r   r   '  s    z_DataclassParams.__repr__N)r   r   r   r2   r   r   r   r   r   r   r3     s   r3   T)r"   r#   r&   r$   r%   r'   r(   c             C   s,   | t k	r|t k	rtdt| ||||||S )Nz/cannot specify both default and default_factory)r   
ValueErrorr   )r"   r#   r&   r$   r%   r'   r(   r   r   r   r   5  s    c                s(   |sdS dd  fdd|D  dS )Nz()(,c                s   g | ]}  d |j  qS ).)r   ).0f)obj_namer   r   
<listcomp>T  s    z_tuple_str.<locals>.<listcomp>z,))join)r>   r   r   )r>   r   
_tuple_strK  s    rA   c                s"   t   t fdd}|S )Nc          	      sD   t | t f}| krdS  | z| }W d  | X |S )Nz...)id_thread	get_identadddiscard)r   keyresult)repr_runninguser_functionr   r   wrapper^  s    
z _recursive_repr.<locals>.wrapper)set	functoolswraps)rJ   rK   r   )rI   rJ   r   _recursive_reprY  s    rO   )globalslocalsreturn_typec      
      C   s   |d kri }d|krt |d< d}|tk	r4||d< d}d|}ddd |D }d	|  d
| d| d| }d| }d| d| d|  }i }	t|||	 |	d f |S )NZBUILTINS Z_return_typez->_return_typer:   
c             s   s   | ]}d | V  qdS )z  Nr   )r<   br   r   r   	<genexpr>z  s    z_create_fn.<locals>.<genexpr>z def r9   r-   z:
z, zdef __create_fn__(z):
z	
 return Z__create_fn__)builtinsr   r@   keysexec)
r   argsZbodyrP   rQ   rR   Zreturn_annotationZtxtZ
local_varsnsr   r   r   
_create_fnl  s     
r\   c             C   s0   | rd| d|d| dS | d| d| S )NzBUILTINS.object.__setattr__(r:   r-   r;   =r   )r7   r   value	self_namer   r   r   _field_assign  s    r`   c             C   s   d| j  }| jtk	rV| jr@| j||< | d| j  d| j  }q| j||< | d}n8| jr| jtkrn| j }q| jtk	r| j||< | j }nd S | jtkrd S t|| j ||S )NZ_dflt_z() if z is _HAS_DEFAULT_FACTORY else z())r   r#   r   r&   r"   r)   r   r`   )r=   r7   rP   r_   Zdefault_namer^   r   r   r   _field_init  s"    






ra   c             C   sV   | j tkr| jtkrd}n&| j tk	r2d| j }n| jtk	r@d}| j d| j | S )NrS   z=_dflt_z=_HAS_DEFAULT_FACTORYz:_type_)r"   r   r#   r   )r=   r"   r   r   r   _init_param  s    

rb   c             C   s   d}xB| D ]:}|j r
|jtkr(|jtks.d}q
|r
td|jdq
W dd | D }|ttd g }x(| D ] }t||||}	|	rp|	|	 qpW |rd
d	d
 | D }
|	| dt d|
 d |sdg}td|gdd | D  |||d dS )NFTznon-default argument z follows default argumentc             S   s   i | ]}|j d |j qS )Z_type_)r!   r   )r<   r=   r   r   r   
<dictcomp>  s    z_init_fn.<locals>.<dictcomp>)r   _HAS_DEFAULT_FACTORYr:   c             s   s   | ]}|j tkr|jV  qd S )N)r)   r   r   )r<   r=   r   r   r   rV     s    z_init_fn.<locals>.<genexpr>r;   r9   r-   passr   c             S   s   g | ]}|j rt|qS r   )r&   rb   )r<   r=   r   r   r   r?     s    z_init_fn.<locals>.<listcomp>)rQ   rP   rR   )r&   r"   r   r#   	TypeErrorr   updaterd   ra   appendr@   _POST_INIT_NAMEr\   )r   r7   has_post_initr_   rP   Zseen_defaultr=   rQ   Z
body_lineslineZ
params_strr   r   r   _init_fn  s6    


rl   c             C   s2   t dddddd | D  d g|d}t|S )	Nr   )r   z(return self.__class__.__qualname__ + f"(z, c             S   s    g | ]}|j  d |j  dqS )z={self.z!r})r   )r<   r=   r   r   r   r?     s   z_repr_fn.<locals>.<listcomp>z)")rP   )r\   r@   rO   )r   rP   fnr   r   r   _repr_fn  s    rn   c             C   sp   | t d}|r,dddd |D  d }nd}tdd	d
| dddf||dtddd
| dddf||dfS )N)clsr   r9   r:   c             s   s   | ]}t |jV  qd S )N)r$   r   )r<   r=   r   r   r   rV     s    z'_frozen_get_del_attr.<locals>.<genexpr>z,)z()__setattr__)r   r   r^   z if type(self) is cls or name in :z> raise FrozenInstanceError(f"cannot assign to field {name!r}")z)super(cls, self).__setattr__(name, value))rQ   rP   __delattr__)r   r   z; raise FrozenInstanceError(f"cannot delete field {name!r}")z"super(cls, self).__delattr__(name))r   r@   r\   )ro   r   rP   rQ   Z
fields_strr   r   r   _frozen_get_del_attr  s&    

rs   c             C   s$   t | ddd| | | dg|dS )N)r   otherz%if other.__class__ is self.__class__:z return zreturn NotImplemented)rP   )r\   )r   op
self_tupleother_tuplerP   r   r   r   _cmp_fn2  s    rx   c             C   s$   t d| }tddd| dg|dS )Nr   __hash__)r   zreturn hash(r-   )rP   )rA   r\   )r   rP   rv   r   r   r   _hash_fn@  s
    
rz   c             C   s$   | |j kp"t| |jko"| j|j kS )N)ClassVarr!   Z_GenericAliasZ
__origin__)a_typetypingr   r   r   _is_classvarH  s    
r~   c             C   s
   | |j kS )N)r   )r|   dataclassesr   r   r   _is_initvarP  s    r   c       	      C   s   t | }|rd }|d}|s2tj|jj}n2tj|j}|rd|j||krdtj|jj}|r|||d|rdS dS )N      TF)_MODULE_IDENTIFIER_REmatchgroupsysmodulesgetr   __dict__)	Z
annotationro   Za_moduler|   Zis_type_predicater   r[   Zmodule_namemoduler   r   r   _is_typeV  s    )

r   c             C   s8  t | |t}t|tr|}nt|tjr,t}t|d}||_||_t	|_
tjd}|rt||st|jtrt|j| ||jtrt|_
|j
t	krtjt }t||st|jtrt|j| ||jtrt|_
|j
ttfkr|jtk	rtd|j d|j
t	kr4t|jtttfr4tdt|j d|j d|S )N)r"   r}   zfield z cannot have a default factoryzmutable default z for field z$ is not allowed: use default_factory)r/   r   
isinstancer   r+   MemberDescriptorTyper   r   r!   r   r)   r   r   r   r~   strr   r{   r   r   r   r   r   r#   rf   r"   listdictrL   r8   )ro   Za_namer|   r"   r=   r}   r   r   r   r   
_get_field  s:    






	 r   c             C   s   || j krdS t| || dS )NTF)r   setattr)ro   r   r^   r   r   r   _set_new_attribute  s    
r   c             C   s   d S )Nr   )ro   r   rP   r   r   r   _hash_set_none  s    r   c             C   s   dd |D }t ||S )Nc             S   s(   g | ] }|j d kr|jrn|j r|qS )N)r%   r'   )r<   r=   r   r   r   r?     s    z_hash_add.<locals>.<listcomp>)rz   )ro   r   rP   fldsr   r   r   	_hash_add  s    r   c             C   s   t d| j d S )Nz-Cannot overwrite attribute __hash__ in class )rf   r   )ro   r   rP   r   r   r   _hash_exception  s    r   ))FFFF)FFFT)FFTF)FFTT)FTFF)FTFT)FTTF)FTTT)TFFF)TFFT)TFTF)TFTT)TTFF)TTFT)TTTF)TTTTc                s  i } j tjkr tj j  j}ni }t tt|||||| d}	d}
xX jddd D ]D}t|t	d }|rXd}
x|
 D ]}|||j< qzW t|tjrXd}	qXW  jdi } fdd| D }xT|D ]L}|||j< tt |jd tr|jtkrt |j qt |j|j qW x< j D ].\}}t|tr&||kr&t|dq&W |
r|	rr|srtd	|	s|rtd
t t	|  jdt}|tkp|d kod jk }|r|std|rt t}dd |
 D }t dt|||d|krdnd| dd |
 D }|rTdd |D }t dt|| |rdd |D }td|}td|}t dtdd|||d |rdd |D }td|}td|}xFdD ]>\}}t |t|||||drtd| d j dqW |rLx>t ||D ].}t |j|rtd|j d j qW tt |t |t ||f }|r|| || _!t ds jt"t#$ %dd   _& S )!NFr   T__annotations__c                s   g | ]\}}t  ||qS r   )r   )r<   r   r!   )ro   r   r   r?   Q  s   z"_process_class.<locals>.<listcomp>z& is a field but has no type annotationz5cannot inherit non-frozen dataclass from a frozen onez5cannot inherit frozen dataclass from a non-frozen onery   __eq__z eq must be true if order is truec             S   s   g | ]}|j ttfkr|qS r   )r)   r   r   )r<   r=   r   r   r   r?     s    r   r   Z__dataclass_self__c             S   s   g | ]}|j tkr|qS r   )r)   r   )r<   r=   r   r   r   r?     s    c             S   s   g | ]}|j r|qS r   )r$   )r<   r=   r   r   r   r?     s    r   c             S   s   g | ]}|j r|qS r   )r'   )r<   r=   r   r   r   r?     s    rt   z==)rP   c             S   s   g | ]}|j r|qS r   )r'   )r<   r=   r   r   r   r?     s    ))__lt__<)__le__z<=)__gt__>)__ge__z>=zCannot overwrite attribute z
 in class z). Consider using functools.total_ordering__doc__z -> NonerS   )'r   r   r   r   r   _PARAMSr3   __mro__r/   _FIELDSvaluesr   r7   r   itemsr   r   r"   r   delattrrf   r8   hasattrri   r   rl   rn   rA   rx   r   rs   _hash_actionboolry   r   inspectZ	signaturer   r   )ro   r&   r$   r4   r5   r6   r7   r   rP   Zany_frozen_baseZhas_dataclass_basesrU   Zbase_fieldsr=   Zcls_annotationsZ
cls_fieldsr   r^   Z
class_hashZhas_explicit_hashrj   r   Z
field_listrv   rw   ru   rm   Zhash_actionr   )ro   r   _process_class  s    











r   F)r&   r$   r4   r5   r6   r7   c               s*    fdd}| d kr"|S || S )Nc                s   t |  S )N)r   )ro   )r4   r7   r&   r5   r$   r6   r   r   wrap  s    zdataclass.<locals>.wrapr   )_clsr&   r$   r4   r5   r6   r7   r   r   )r4   r7   r&   r5   r$   r6   r   r     s    c             C   sB   yt | t}W n tk
r*   tdY nX tdd | D S )Nz0must be called with a dataclass type or instancec             s   s   | ]}|j tkr|V  qd S )N)r)   r   )r<   r=   r   r   r   rV     s    zfields.<locals>.<genexpr>)r/   r   AttributeErrorrf   tupler   )Zclass_or_instancer   r   r   r   r     s
    c             C   s   t t| tS )N)r   r!   r   )objr   r   r   _is_dataclass_instance  s    r   c             C   s    t | tr| nt| }t|tS )N)r   r!   r   r   )r   ro   r   r   r   r     s    )dict_factoryc            C   s   t | stdt| |S )Nz0asdict() should be called on dataclass instances)r   rf   _asdict_inner)r   r   r   r   r   r	     s    c                s   t | rHg }x2t| D ]&}tt| |j }||j|f qW  |S t| trvt| drvt	|  fdd| D  S t| t
tfrt	|  fdd| D S t| trt	|  fdd|  D S t| S d S )N_fieldsc                s   g | ]}t | qS r   )r   )r<   v)r   r   r   r?   F  s    z!_asdict_inner.<locals>.<listcomp>c             3   s   | ]}t | V  qd S )N)r   )r<   r   )r   r   r   rV   K  s    z _asdict_inner.<locals>.<genexpr>c             3   s&   | ]\}}t | t | fV  qd S )N)r   )r<   kr   )r   r   r   rV   M  s   )r   r   r   r/   r   rh   r   r   r   r!   r   r   r   copydeepcopy)r   r   rH   r=   r^   r   )r   r   r   +  s    
r   )tuple_factoryc            C   s   t | stdt| |S )Nz1astuple() should be called on dataclass instances)r   rf   _astuple_inner)r   r   r   r   r   r
   T  s    c                s   t | rBg }x,t| D ] }tt| |j }|| qW  |S t| trpt| drpt	|  fdd| D  S t| t
tfrt	|  fdd| D S t| trt	|  fdd|  D S t| S d S )Nr   c                s   g | ]}t | qS r   )r   )r<   r   )r   r   r   r?   z  s    z"_astuple_inner.<locals>.<listcomp>c             3   s   | ]}t | V  qd S )N)r   )r<   r   )r   r   r   rV     s    z!_astuple_inner.<locals>.<genexpr>c             3   s&   | ]\}}t | t | fV  qd S )N)r   )r<   r   r   )r   r   r   rV     s   )r   r   r   r/   r   rh   r   r   r   r!   r   r   r   r   r   )r   r   rH   r=   r^   r   )r   r   r   l  s    
r   r   )bases	namespacer&   r$   r4   r5   r6   r7   c         	      s   d kri  n    t }
i }x|D ]}t|tr>|}d}nDt|dkrT|\}}n.t|dkrt|\}}}| |< ntd|t|tr| std|t|rtd|||
krtd||
	| |||< q&W | d< t
| |i  fd	d
}t|||||||	dS )Nz
typing.Anyr      zInvalid field: z'Field names must be valid identifiers: z"Field names must not be keywords: zField name duplicated: r   c                s
   |   S )N)rg   )r[   )r   r   r   <lambda>      z make_dataclass.<locals>.<lambda>)r&   r$   r4   r5   r6   r7   )r   rL   r   r   lenrf   isidentifierkeyword	iskeywordrE   r+   	new_classr   )Zcls_namer   r   r   r&   r$   r4   r5   r6   r7   seenZannsitemr   tpspecro   r   )r   r   r     s6    






c              O   s   t | dkr tdt |  d| r,| \}nd|kr@|d}ntdt|sXtdx~t|t D ]l}|jtkrxqh|j	s|j
|krhtd|j
 dqh|j
|krh|jtkrtd	|j
d
t||j
||j
< qhW |jf |S )Nr   z*replace() takes 1 positional argument but z were givenr   z7replace() missing 1 required positional argument: 'obj'z1replace() should be called on dataclass instanceszfield zC is declared with init=False, it cannot be specified with replace()zInitVar z! must be specified with replace())r   rf   popr   r/   r   r   r)   r   r&   r   r8   r   	__class__)rZ   Zchangesr   r=   r   r   r   r     s*    



)N)Brer   r   r+   r   r   rW   rM   rC   __all__r   r   r   rd   r   r   r,   r*   r   r   r   r   r   r   ri   compiler   r!   r   r   r   r3   r   rA   rO   r\   r`   ra   rb   rl   rn   rs   rx   rz   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r
   r   r   r   r   r   r   r   <module>   s    

:62;R A
)@