ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     U
    e5d                     @   s  d ddddddddd	d
ddgZ ddlmZ ddlmZ ddlmZ ddlmZ dZ	dZ
e	e
fdd Ze	e
fddZefddZefddZefddZefddZefddZefd d!Zefd"d#Zefd$d%Zefd&d'Zefd(d)Zefd*d+Zefd,d-Zd.efd/efd0efgd0efd1efd.efgd1efd0efd/efgd/efd.efd1efgd2Zd3d Zd4d Zzdd5lmZ W n ek
r   Y nX e Z e fd6dZ!zdd7lm!Z! W n ek
r   Y nX G d8d dZ"zdd9lm"Z" W n ek
r   Y nX G d:d	 d	eZ#d;d< Z$ed=d>d?d@dAgZ%G dBdC dCe&Z'e fe(e)he*e+e,fdDdEZ-dXdHdZ.dIdJ Z/zddKlm/Z/ W n ek
r   Y nX dLdM Z0dYdOdPZ1dQdR Z2dSdT Z3dUd
 Z4G dVd dZ5e Z6G dWd dZ7dNS )Zupdate_wrapperwrapsWRAPPER_ASSIGNMENTSWRAPPER_UPDATEStotal_ordering
cmp_to_key	lru_cachereducepartialpartialmethodsingledispatchsingledispatchmethodcached_property    )get_cache_token)
namedtuple)recursive_repr)RLock)
__module____name____qualname____doc____annotations__)__dict__c              	   C   sf   |D ]4}zt ||}W n tk
r*   Y qX t| || q|D ]}t | |t ||i  q>|| _| S N)getattrAttributeErrorsetattrupdate__wrapped__)wrapperwrappedassignedupdatedattrvalue r%   !/usr/lib64/python3.8/functools.pyr   "   s    c                 C   s   t t| ||dS )Nr    r!   r"   )r	   r   r'   r%   r%   r&   r   @   s     c                 C   s$   |  |}||kr|S | o"| |kS r   __lt__selfotherNotImplemented	op_resultr%   r%   r&   _gt_from_ltX   s    
r/   c                 C   s   |  |}|p| |kS r   r(   r*   r%   r%   r&   _le_from_lt_   s    
r0   c                 C   s   |  |}||kr|S | S r   r(   r*   r%   r%   r&   _ge_from_ltd   s    
r1   c                 C   s$   |  |}||kr|S | p"| |kS r   __le__r*   r%   r%   r&   _ge_from_lek   s    
r4   c                 C   s"   |  |}||kr|S |o | |kS r   r2   r*   r%   r%   r&   _lt_from_ler   s    
r5   c                 C   s   |  |}||kr|S | S r   r2   r*   r%   r%   r&   _gt_from_ley   s    
r6   c                 C   s$   |  |}||kr|S | o"| |kS r   __gt__r*   r%   r%   r&   _lt_from_gt   s    
r9   c                 C   s   |  |}|p| |kS r   r7   r*   r%   r%   r&   _ge_from_gt   s    
r:   c                 C   s   |  |}||kr|S | S r   r7   r*   r%   r%   r&   _le_from_gt   s    
r;   c                 C   s$   |  |}||kr|S | p"| |kS r   __ge__r*   r%   r%   r&   _le_from_ge   s    
r>   c                 C   s"   |  |}||kr|S |o | |kS r   r<   r*   r%   r%   r&   _gt_from_ge   s    
r?   c                 C   s   |  |}||kr|S | S r   r<   r*   r%   r%   r&   _lt_from_ge   s    
r@   r8   r3   r=   r)   )r)   r3   r8   r=   c                    sV    fddt D }|stdt|}t | D ]"\}}||kr.||_t || q. S )Nc                    s(   h | ] }t  |d t t|d k	r|qS r   )r   object).0opclsr%   r&   	<setcomp>   s      z!total_ordering.<locals>.<setcomp>z6must define at least one ordering operation: < > <= >=)_convert
ValueErrormaxr   r   )rE   rootsrootopnameopfuncr%   rD   r&   r      s    c                    s   G  fdddt }|S )Nc                       sZ   e Zd ZdgZdd Z fddZ fddZ fdd	Z fd
dZ fddZ	dZ
dS )zcmp_to_key.<locals>.Kobjc                 S   s
   || _ d S r   rN   )r+   rN   r%   r%   r&   __init__   s    zcmp_to_key.<locals>.K.__init__c                    s    | j |j dk S Nr   rO   r+   r,   mycmpr%   r&   r)      s    zcmp_to_key.<locals>.K.__lt__c                    s    | j |j dkS rQ   rO   rR   rS   r%   r&   r8      s    zcmp_to_key.<locals>.K.__gt__c                    s    | j |j dkS rQ   rO   rR   rS   r%   r&   __eq__   s    zcmp_to_key.<locals>.K.__eq__c                    s    | j |j dkS rQ   rO   rR   rS   r%   r&   r3      s    zcmp_to_key.<locals>.K.__le__c                    s    | j |j dkS rQ   rO   rR   rS   r%   r&   r=      s    zcmp_to_key.<locals>.K.__ge__N)r   r   r   	__slots__rP   r)   r8   rU   r3   r=   __hash__r%   rS   r%   r&   K   s   rX   )rA   )rT   rX   r%   rS   r&   r      s    )r   c                 C   sZ   t |}|tkr>zt|}W qB tk
r:   tdd Y qBX n|}|D ]}| ||}qF|S )Nz0reduce() of empty sequence with no initial value)iter_initial_missingnextStopIteration	TypeError)ZfunctionZsequenceinitialitr$   Zelementr%   r%   r&   r      s    )r   c                       sF   e Zd ZdZ fddZdd Ze dd Zdd	 Zd
d Z	  Z
S )r	   )funcargskeywordsr   __weakref__c                   sZ   t |stdt|dr4|j| }|j|}|j}tt| | }||_||_||_|S )Nz#the first argument must be callabler`   )	callabler]   hasattrra   rb   r`   superr	   __new__)rE   r`   ra   rb   r+   	__class__r%   r&   rg     s    


zpartial.__new__c                O   s   | j |}| j| j||S r   rb   r`   ra   )r+   ra   rb   r%   r%   r&   __call__%  s    
zpartial.__call__c                 C   s   t | j}t| jg}|dd | jD  |dd | j D  t | jdkrld| dd	| dS | dd	| dS )	Nc                 s   s   | ]}t |V  qd S r   )repr)rB   xr%   r%   r&   	<genexpr>-  s     z#partial.__repr__.<locals>.<genexpr>c                 s   s    | ]\}}| d |V  qdS )=Nr%   rB   kvr%   r%   r&   rn   .  s     	functoolsz
functools.(, ))
typer   rl   r`   extendra   rb   itemsr   join)r+   qualnamera   r%   r%   r&   __repr__)  s    
zpartial.__repr__c                 C   s*   t | | jf| j| j| jpd | jp$d ffS r   )rw   r`   ra   rb   r   r+   r%   r%   r&   
__reduce__3  s     zpartial.__reduce__c                 C   s   t |tstdt|dkr0tdt| |\}}}}t|rrt |trr|d k	r`t |trr|d k	rzt |tsztdt|}|d kri }nt|tk	rt|}|d kri }|| _|| _|| _	|| _
d S )Nz(argument to __setstate__ must be a tuple   zexpected 4 items in state, got zinvalid partial state)
isinstancetupler]   lenrd   dictrw   r   r`   ra   rb   )r+   stater`   ra   kwds	namespacer%   r%   r&   __setstate__7  s4    
zpartial.__setstate__)r   r   r   rV   rg   rk   r   r|   r~   r   __classcell__r%   r%   rh   r&   r	     s   
	)r	   c                   @   s@   e Zd Zdd Zde_dd Zdd Zdd	d
Zedd Z	dS )r
   c                  O   s   t | dkr| ^}}} nV| s&tdnHd|krZ|d}| ^}} dd l}|jdtdd ntdt | d  t| } t|st|d	std
	|t
|tr|j|_|j|  |_|j||_n||_| |_||_d S )N   z8descriptor '__init__' of partialmethod needs an argumentr`   r   z0Passing 'func' as keyword argument is deprecated)
stacklevelz8type 'partialmethod' takes at least one argument, got %d   __get__z${!r} is not callable or a descriptor)r   r]   popwarningswarnDeprecationWarningr   rd   re   formatr   r
   r`   ra   rb   )ra   rb   r+   r`   r   r%   r%   r&   rP   ]  s6    

 

zpartialmethod.__init__z#($self, func, /, *args, **keywords)c                 C   sN   d tt| j}d dd | j D }d}|j| jj| jj	| j
||dS )Nru   c                 s   s   | ]\}}d  ||V  qdS )z{}={!r}N)r   rp   r%   r%   r&   rn     s   z)partialmethod.__repr__.<locals>.<genexpr>z*{module}.{cls}({func}, {args}, {keywords}))modulerE   r`   ra   rb   )rz   maprl   ra   rb   ry   r   ri   r   r   r`   )r+   ra   rb   format_stringr%   r%   r&   r|     s    

zpartialmethod.__repr__c                    s    fdd} j |_  |_|S )Nc                   s     j |} j| f j||S r   rj   )cls_or_selfra   rb   r}   r%   r&   _method  s    
z3partialmethod._make_unbound_method.<locals>._method)__isabstractmethod___partialmethod)r+   r   r%   r}   r&   _make_unbound_method  s    z"partialmethod._make_unbound_methodNc                 C   s   t | jdd }d }|d k	rd|||}|| jk	rdt|f| j| j}z|j|_W n tk
rb   Y nX |d kr||  ||}|S )Nr   )	r   r`   r	   ra   rb   __self__r   r   r   )r+   rN   rE   getresultnew_funcr%   r%   r&   r     s    

zpartialmethod.__get__c                 C   s   t | jddS Nr   Fr   r`   r}   r%   r%   r&   r     s    z"partialmethod.__isabstractmethod__)N)
r   r   r   rP   __text_signature__r|   r   r   propertyr   r%   r%   r%   r&   r
   U  s   "
c                 C   s   t | tr| j} q | S r   )r   r	   r`   r`   r%   r%   r&   _unwrap_partial  s    
r   	CacheInfohitsmissesmaxsizecurrsizec                   @   s$   e Zd ZdZefddZdd ZdS )
_HashedSeq	hashvaluec                 C   s   || d d < ||| _ d S r   r   )r+   tuphashr%   r%   r&   rP     s    z_HashedSeq.__init__c                 C   s   | j S r   r   r}   r%   r%   r&   rW     s    z_HashedSeq.__hash__N)r   r   r   rV   r   rP   rW   r%   r%   r%   r&   r     s   r   c           
         s   | }|r&||7 }|  D ]}	||	7 }q|rh|| fdd| D 7 }|r|| fdd| D 7 }n$||dkr |d |kr|d S t|S )Nc                 3   s   | ]} |V  qd S r   r%   rB   rr   rw   r%   r&   rn     s     z_make_key.<locals>.<genexpr>c                 3   s   | ]} |V  qd S r   r%   r   r   r%   r&   rn     s     r   r   )ry   valuesr   )
ra   r   typedkwd_mark	fasttypesr   rw   r   keyitemr%   r   r&   	_make_key  s    
 r      Fc                    sn   t  tr dk r\d nDt rLt trL d } t| t}t||S  d k	r\td fdd}|S )Nr   r   z=Expected first argument to be an integer, a callable, or Nonec                    s   t |  t}t|| S r   )_lru_cache_wrapper
_CacheInfor   )user_functionr   r   r   r%   r&   decorating_function  s    z&lru_cache.<locals>.decorating_function)r   intrd   boolr   r   r   r]   )r   r   r   r   r   r%   r   r&   r     s    


c                    s   t  td\ i d 	djjt 
g d d gd d < dkrhfdd}nNd kr	fdd}n* 	
fdd}	
fdd	}	
fd
d}||_||_|S )N)r   r   r      r   Fc                     s    d7  | |}|S Nr   r%   )ra   r   r   )r   r   r%   r&   r   $  s    
z#_lru_cache_wrapper.<locals>.wrapperc                     sH   | |}|}|k	r*d7 |S d7 | |}| |< |S r   r%   )ra   r   r   r   )cache	cache_getr   make_keyr   sentinelr   r   r%   r&   r   -  s    

c               
      s>  
| |}	z |}|d k	r~|\}}}}||< ||<  }| |< < ||< |< d7 |W  5 Q R  S d7 W 5 Q R X | |}	 |krnr}	||	 < ||	< |	   }
 }d   < < |
= |	|< n6 }|||g}| |<  < |<  kW 5 Q R X |S r   r%   )ra   r   r   linkZ	link_prevZ	link_nextZ_keyr   ZlastZoldrootZoldkeyZ	oldresult)KEYNEXTPREVRESULTr   r   	cache_lenfullr   lockr   r   r   rK   r   r   r%   r&   r   <  sB    

c                
      s,      W  5 Q R  S Q R X d S r   r%   r%   )r   r   r   r   r   r   r%   r&   
cache_infou  s    z&_lru_cache_wrapper.<locals>.cache_infoc                	      s<   .     d d gd d < d dW 5 Q R X d S )Nr   F)clearr%   )r   r   r   r   r   rK   r%   r&   cache_clearz  s
    z'_lru_cache_wrapper.<locals>.cache_clear)rA   r   r   __len__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   rK   r   r   r   r&   r     s*    *9	r   )r   c                 C   s   g }dd | D } | s|S | D ]2}|d }| D ]}||dd  kr.d } qq. qRq|d krbt d|| | D ]}|d |krp|d= qpqd S )Nc                 S   s   g | ]}|r|qS r%   r%   rB   sr%   r%   r&   
<listcomp>  s      z_c3_merge.<locals>.<listcomp>r   r   zInconsistent hierarchy)RuntimeErrorappend)	sequencesr   s1	candidates2seqr%   r%   r&   	_c3_merge  s"    
r   Nc           
         s  t t| jD ]$\}tdrt| j| } q8qd} rDt ng  t| jd | }g }t| j|d  } D ]0t| rttfdd| jD st| qt|D ] 	 q fdd|D } fdd|D } fdd|D }	t
| gg| | |	 |g |g |g S )	N__abstractmethods__r   c                 3   s   | ]}t | V  qd S r   )
issubclass)rB   b)baser%   r&   rn     s    z_c3_mro.<locals>.<genexpr>c                    s   g | ]}t | d qS abcs_c3_mrorB   r   r   r%   r&   r     s     z_c3_mro.<locals>.<listcomp>c                    s   g | ]}t | d qS r   r   r   r   r%   r&   r     s     c                    s   g | ]}t | d qS r   r   r   r   r%   r&   r     s     )	enumeratereversed	__bases__re   r   listr   anyr   remover   )
rE   r   iboundaryexplicit_basesabstract_basesother_basesexplicit_c3_mrosabstract_c3_mrosother_c3_mrosr%   )r   r   r&   r     sD    
r   c                    s   t j  fddfddD fddfddD t g }D ]}g }| D ]0}| krht|rh|fdd|jD  qh|s|| qX|jtd	d
 |D ] }|D ]}||kr|| qqqXt|dS )Nc                    s   |  kot | dot| S )N__mro__)re   r   )typ)basesrE   r%   r&   
is_related  s    z _compose_mro.<locals>.is_relatedc                    s   g | ]} |r|qS r%   r%   rB   n)r   r%   r&   r     s      z _compose_mro.<locals>.<listcomp>c                    s&    D ]}| |kr| |j kr dS qdS )NTF)r   )r   r,   )typesr%   r&   is_strict_base  s    z$_compose_mro.<locals>.is_strict_basec                    s   g | ]} |s|qS r%   r%   r   )r   r%   r&   r     s      c                    s   g | ]}| kr|qS r%   r%   r   )type_setr%   r&   r     s      T)r   reverser   )setr   __subclasses__r   r   sortr   r   )rE   r   mror   foundsubsubclsr%   )r   rE   r   r   r   r   r&   _compose_mro  s*    

r  c                 C   st   t | | }d }|D ]R}|d k	r\||krX|| jkrX|| jkrXt||sXtd|| qj||kr|}q||S )NzAmbiguous dispatch: {} or {})r  keysr   r   r   r   r   )rE   registryr  matchtr%   r%   r&   
_find_impl  s"    
 r
  c                    s   dd l }dd l}i | d   fddd
 fdd	fdd}t| dd	| t< |_|_||_j	|_
t||  |S )Nr   c                    s|    d k	r"t  } |kr"  | z|  }W nH tk
rv   z|  }W n tk
rh   t| }Y nX || < Y nX |S r   )r   r   KeyErrorr
  )rE   current_tokenimpl)cache_tokendispatch_cacher  r%   r&   dispatch.  s    z singledispatch.<locals>.dispatchc                    s   |d krt  tr  fddS t di }|s@td d }ddlm} tt|| \} t  tstd|d	 d
| < d krt	 drt
   |S )Nc                    s
    | S r   r%   )f)rE   registerr%   r&   <lambda>N      z2singledispatch.<locals>.register.<locals>.<lambda>r   z(Invalid first argument to `register()`: zS. Use either `@register(some_class)` or plain `@register` on an annotated function.r   )get_type_hintszInvalid annotation for z. z is not a class.r   )r   rw   r   r]   typingr  r[   rY   ry   re   r   r   )rE   r`   annr  argname)r  r  r  r  rD   r&   r  E  s(    


z singledispatch.<locals>.registerc                     s&   | st  d | d j| |S )Nz( requires at least 1 positional argumentr   )r]   ri   )ra   kw)r  funcnamer%   r&   r   f  s    zsingledispatch.<locals>.wrapperr   zsingledispatch function)N)r   weakrefWeakKeyDictionaryr   rA   r  r  MappingProxyTyper  r   _clear_cacher   )r`   r   r  r   r%   )r  r  r  r  r  r  r&   r     s    !
c                   @   s4   e Zd Zdd Zd
ddZdddZedd	 ZdS )r   c                 C   s4   t |s t|ds t|dt|| _|| _d S )Nr   z  is not callable or a descriptor)rd   re   r]   r   
dispatcherr`   r+   r`   r%   r%   r&   rP     s    
zsingledispatchmethod.__init__Nc                 C   s   | j j||dS )Nr   )r  r  )r+   rE   methodr%   r%   r&   r    s    zsingledispatchmethod.registerc                    s0    fdd}j |_ j|_t|j |S )Nc                     s$   j | d j}| | |S rQ   )r  r  ri   r   )ra   kwargsr!  rE   rN   r+   r%   r&   r     s    z-singledispatchmethod.__get__.<locals>._method)r   r  r   r`   )r+   rN   rE   r   r%   r#  r&   r     s
    zsingledispatchmethod.__get__c                 C   s   t | jddS r   r   r}   r%   r%   r&   r     s    z)singledispatchmethod.__isabstractmethod__)N)N)r   r   r   rP   r  r   r   r   r%   r%   r%   r&   r   x  s
   


c                   @   s&   e Zd Zdd Zdd ZdddZdS )	r   c                 C   s    || _ d | _|j| _t | _d S r   )r`   attrnamer   r   r   r   r%   r%   r&   rP     s    zcached_property.__init__c                 C   s8   | j d kr|| _ n"|| j kr4td| j d|dd S )Nz?Cannot assign the same cached_property to two different names (z and z).)r$  r]   )r+   ownernamer%   r%   r&   __set_name__  s    

zcached_property.__set_name__Nc              	   C   s   |d kr| S | j d krtdz
|j}W n8 tk
r`   dt|jd| j d}t|d Y nX || j t}|tkr| jn || j t}|tkr| 	|}z||| j < W n8 tk
r   dt|jd| j d}t|d Y nX W 5 Q R X |S )NzGCannot use cached_property instance without calling __set_name__ on it.zNo '__dict__' attribute on z instance to cache z
 property.zThe '__dict__' attribute on z7 instance does not support item assignment for caching )
r$  r]   r   r   rw   r   r   
_NOT_FOUNDr   r`   )r+   instancer%  r   msgvalr%   r%   r&   r     s2    


zcached_property.__get__)N)r   r   r   rP   r'  r   r%   r%   r%   r&   r     s   	)r   F)N)8__all__abcr   collectionsr   reprlibr   _threadr   r   r   r   r   r-   r/   r0   r1   r4   r5   r6   r9   r:   r;   r>   r?   r@   rG   r   r   
_functoolsImportErrorrA   rZ   r   r	   r
   r   r   r   r   r   strr   rw   r   r   r   r   r   r   r  r
  r   r   r(  r   r%   r%   r%   r&   <module>   s         


AX	  

,t
-)\(