ÿØÿà 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dVl                  &   @   s$  d Z dZd ZdZdZdZdZdZddlZddl	Z	ddl
Z
ddlZdd	lT d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/g&Zd0d1 Zd2d
 Zd3d Zd4d Zd5d Zd6d Zd7d Zejje_d8d Zd9d Zd:d Zd;d Zzdd<lmZ W n ek
r$   dZY nX d=d Zd>d Zd?d Zd@d Z dAdB Z!zddClm"Z" W n ek
rx   e!Z#Y n
X dDd  Z#zddElm$Z$m%Z& W n ek
r   e#Z'Y nX dFdG Z(dHdI Z)dJd) Z'e*e	dKoe	+ dL dMkZ,dQdNd+Z-dOd/ Z.zddPlm/Z0 W n ek
r   Y nX dS )R...\;/z.;C:\binZnul    N)*normcaseisabsjoin
splitdrivesplitsplitextbasenamedirnamecommonprefixgetsizegetmtimegetatimegetctimeislinkexistslexistsisdirisfileismount
expanduser
expandvarsnormpathabspathcurdirpardirseppathsepdefpathaltsepextsepdevnullrealpathsupports_unicode_filenamesrelpathsamefilesameopenfilesamestat
commonpathc                 C   s   t | trdS dS d S )N   \/\/)
isinstancebytespath r4   /usr/lib64/python3.8/ntpath.py_get_bothseps"   s    
r6   c                 C   s8   t | } t| tr$| dd S | dd S d S )N   /   \r   r   )osfspathr0   r1   replacelowersr4   r4   r5   r   ,   s    

c                 C   sj   t | } t| tr,| dddrBdS n| dddrBdS t| d } t| d	koh| d	 t| kS )
Nr7   r8      \\?\Tr   r   \\?\   r   )	r9   r:   r0   r1   r;   
startswithr   lenr6   r=   r4   r4   r5   r	   =   s    

c           
   
   G   sT  t | } t| tr"d}d}d}nd}d}d}z|sD| d d |  t| \}}tt j|D ]~}t|\}}	|	r|	d |kr|s|s|}|	}q\n*|r||kr| | kr|}|	}q\|}|r|d |kr|| }||	 }q\|r|d |kr|r|dd  |kr|| | W S || W S  ttt	fk
rN   t
jd	| f|   Y nX d S )
Nr8   r.      :r   r/   :r   r
   )r9   r:   r0   r1   r   mapr<   	TypeErrorAttributeErrorBytesWarninggenericpath_check_arg_types)
r3   pathsr!   sepscolonZresult_driveZresult_pathpZp_driveZp_pathr4   r4   r5   r
   M   sL    



c                 C   s  t | } t| dkrt| tr0d}d}d}nd}d}d}| ||}|dd |d kr|dd	 |kr||d}|d
kr| d d | fS |||d }||d kr| d d | fS |d
krt| }| d | | |d  fS |dd |kr| d d | dd  fS | d d | fS )N   r8   r7   rD   r   r   rE   r      rF   rA   )r9   r:   rC   r0   r1   r;   find)rP   r!   r$   rO   ZnormpindexZindex2r4   r4   r5   r   |   s.    

$c                 C   sx   t | } t| }t| \}} t| }|rD| |d  |krD|d8 }q&| d | | |d   }}||pj|}|| |fS NrA   )r9   r:   r6   r   rC   rstrip)rP   rN   diheadtailr4   r4   r5   r      s    

c                 C   s8   t | } t| tr$t| dddS t| dddS d S )Nr8   r7      .r   r   r   )r9   r:   r0   r1   rK   	_splitextrP   r4   r4   r5   r      s    

c                 C   s   t | d S rU   r   r]   r4   r4   r5   r      s    c                 C   s   t | d S )Nr   r^   r]   r4   r4   r5   r      s    c              
   C   s8   zt | }W n tttfk
r*   Y dS X t|jS )NF)r9   lstatOSError
ValueErrorrI   statS_ISLNKst_moder3   str4   r4   r5   r      s
    c              	   C   s.   zt | }W n ttfk
r(   Y dS X dS )NFT)r9   r_   r`   ra   re   r4   r4   r5   r      s
    )_getvolumepathnamec                 C   st   t | } t| }t| } t| \}}|rD|d |krD| pB||kS ||krPdS trl| |t| |kS dS d S )Nr   TF)r9   r:   r6   r   r   rg   rV   )r3   rN   rootrestr4   r4   r5   r     s    
c                 C   s   t | } t| trd}nd}| |s,| S dt|  }}||k r\| | t| kr\|d7 }q:dt jkrrt jd }nFdt jkr| S zt jd }W n tk
r   d}Y nX t	|t jd }t| trt 
|}|dkrt	t|| d| }|| |d   S )N   ~~rA   ZUSERPROFILEZHOMEPATHZ	HOMEDRIVE )r9   r:   r0   r1   rB   rC   r6   environKeyErrorr
   fsencoder   )r3   tilderX   nuserhomedriver4   r4   r5   r   !  s.    








c                 C   s2  t | } t| trhd| kr(d| kr(| S dd l}t|j|j d d}d}d}d}d}d}tt d	d }nFd
| kr|d| kr|| S dd l}|j|j d }d}d}d}d}d
}t j}| d d }	d}
t	| }|
|k r.| |
|
d  }||krX| |
d d  } t	| }z&| 
|}
|	|| d |
d   7 }	W n* tk
rR   |	||  7 }	|d }
Y nX n||krJ| |
d |
d  |kr|	|7 }	|
d7 }
n| |
d d  } t	| }z| 
|}
W n* tk
r   |	||  7 }	|d }
Y nhX | d |
 }z.|d krt t jt | }n|| }W n" tk
r<   || | }Y nX |	|7 }	n||kr| |
d |
d  |kr|	|7 }	|
d7 }
q$| |
d |
d  |kr^| |
d d  } t	| }z| 
|}
W n. tk
r   |	|| |  7 }	|d }
Y nlX | d |
 }z.|d kr"t t jt | }n|| }W n& tk
rR   || | | }Y nX |	|7 }	n| d d }|
d7 }
| |
|
d  }|r||kr||7 }|
d7 }
| |
|
d  }qz.|d krt t jt | }n|| }W n tk
r   || }Y nX |	|7 }	|r$|
d8 }
n|	|7 }	|
d7 }
q|	S )N   $   %r   z_-ascii   '   {   }environb$%'{}rA   rQ   )r9   r:   r0   r1   stringZascii_lettersZdigitsgetattrrm   rC   rT   ra   ro   fsdecodern   )r3   r   ZvarcharsZquoteZpercentZbraceZrbraceZdollarrm   resrT   Zpathlencvarvaluer4   r4   r5   r   Q  s    













c           	      C   sP  t | } t| tr*d}d}d}d}d}nd}d}d}d	}d
}| |rL| S | ||} t| \}} | |r||7 }| |} | |}d}|t	|k r,|| r|| |kr||= q|| |kr"|dkr||d  |kr||d |d = |d8 }n&|dkr|
|r||= n|d7 }q|d7 }q|sB|sB|| ||| S )Nr8   r7   r[      ..)s   \\.\r?   r   r   r   r   )z\\.\r@   r   rA   )r9   r:   r0   r1   rB   r;   r   lstripr   rC   endswithappendr
   )	r3   r!   r$   r   r    Zspecial_prefixesprefixcompsrX   r4   r4   r5   r     sF    









c                 C   s@   t | } t| s8t| tr&t  }nt  }t|| } t| S N)	r9   r:   r	   r0   r1   getcwdbgetcwdr
   r   )r3   cwdr4   r4   r5   _abspath_fallback  s    



r   )_getfullpathnamec              	   C   s4   zt t| W S  ttfk
r.   t|  Y S X d S r   )r   r   r`   ra   r   r2   r4   r4   r5   r     s    )_getfinalpathnamereadlinkc              
   C   s   d}t  }t| |kr|t|  z:| }t| } t| s\t|sJ|} W qttt|| } W q
 t	k
r } z|j
|krW Y q W 5 d }~X Y q
 tk
r   Y qY q
X q
| S )N)rA   rQ   rR             2   C   W   i&  i(  i)  )setr   add_nt_readlinkr	   r   r   r
   r   r`   winerrorra   )r3   allowed_winerrorseenZold_pathexr4   r4   r5   _readlink_deep  s&    
r   c                 C   s   d}d}| rzt | } |r$t| |n| W S  tk
r } z|j|krF z0t| }|| krt|rft||n|W  W Y TS W n tk
r   Y nX t| \} }| r|s| |  W Y S |rt||n|}W 5 d }~X Y qX q|S )N)rA   rQ   rR   r   r   r   r   r   r   {   i  i  rl   )r   r
   r`   r   r   r   )r3   r   rZ   r   new_pathnamer4   r4   r5   _getfinalpathname_nonstrictC  s(    
 &r   c           	   
   C   s^  t | } t| trBd}d}d}t }t| tttkrjdS n(d}d}d}t }t| ttkrjdS | 	|}|st
| st|| } zt| } d	}W n0 tk
r } z|j}t| } W 5 d }~X Y nX |sZ| 	|rZ| 	|r|| t|d   }n| t|d  }zt|| kr"|} W n4 tk
rX } z|j|krH|} W 5 d }~X Y nX | S )
Nr?   s   \\?\UNC\s   \\s   \\.\NULr@   z\\?\UNC\z\\z\\.\NULr   )r   r0   r1   r9   r   r   ro   r&   r   rB   r	   r
   r   r`   r   r   rC   )	r3   r   Z
unc_prefixZnew_unc_prefixr   Z
had_prefixZinitial_winerrorr   Zspathr4   r4   r5   r'   q  sD    



getwindowsversionrR   rQ   c                 C   sf  t | } t| tr"d}d}d}nd}d}d}|d kr:|}| sFtdt |}ztt|}tt| }t|\}}t|\}	}
t|t|	krtd|	|f d	d
 |	|D }dd
 |
	|D }d}t
||D ]$\}}t|t|kr q|d7 }q|gt||  ||d   }|s(|W S t| W S  tttttfk
r`   td| |  Y nX d S )Nr8   r[   r   r   r   r   zno path specifiedz&path is on mount %r, start on mount %rc                 S   s   g | ]}|r|qS r4   r4   .0xr4   r4   r5   
<listcomp>  s      zrelpath.<locals>.<listcomp>c                 S   s   g | ]}|r|qS r4   r4   r   r4   r4   r5   r     s      r   rA   r)   )r9   r:   r0   r1   ra   r   r   r   r   r   ziprC   r
   rH   rI   rJ   DeprecationWarningrK   rL   )r3   startr!   r   r    Z	start_absZpath_absZstart_driveZ
start_restZ
path_driveZ	path_rest
start_list	path_listrX   Ze1Ze2rel_listr4   r4   r5   r)     sJ    


 

c              	      s  | st dtttj| } t| d tr8dd dndd dz@ fd	d
| D }fdd
|D }ztfdd|D \}W n t k
r   t dd Y nX ttdd |D dkrt dt	| d 
 \}}|}fdd
|D }fdd
|D }t|}t|}t|D ]*\}	}
|
||	 kr*|d |	 } qfq*|d t| }|rt| n|}|| W S  ttfk
r   tjd|    Y nX d S )Nz%commonpath() arg is an empty sequencer   r8   r7   r[   r   r   r   c                    s    g | ]}t |  qS r4   )r   r;   r<   )r   rP   )r$   r!   r4   r5   r     s     zcommonpath.<locals>.<listcomp>c                    s   g | ]\}}|  qS r4   r^   r   rW   rP   r!   r4   r5   r     s     c                 3   s"   | ]\}}|d d  kV  qd S rU   r4   r   r   r4   r5   	<genexpr>  s     zcommonpath.<locals>.<genexpr>z%Can't mix absolute and relative pathsc                 s   s   | ]\}}|V  qd S r   r4   r   r4   r4   r5   r     s     rA   zPaths don't have the same drivec                    s   g | ]}|r| kr|qS r4   r4   r   r   r   r4   r5   r     s       c                    s   g | ]} fd d|D qS )c                    s   g | ]}|r| kr|qS r4   r4   r   r   r4   r5   r     s       z)commonpath.<locals>.<listcomp>.<listcomp>r4   )r   r>   r   r4   r5   r     s     r-   )r-   )ra   tuplerG   r9   r:   r0   r1   r   rC   r   r;   r   minmax	enumerater
   rH   rI   rK   rL   )rM   Zdrivesplitssplit_pathsr	   rs   r3   commons1s2rX   r   r   r4   )r$   r   r!   r5   r-     sF    

)_isdir)N)1r   r    r%   r!   r"   r$   r#   r&   r9   sysrb   rK   __all__r6   r   r	   r
   r   r   r   r\   __doc__r   r   r   r   ntrg   ImportErrorr   r   r   r   r   r   r   r   r   r   r'   r   r   hasattrr   r(   r)   r-   r   r   r4   r4   r4   r5   <module>   s                             
/8

0q2

*.2
84