ÿØÿà 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
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
    ֦iv                        	 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 g d
Zd Z	 ddlmZmZmZ d Zd Zd Zd Zd Zd Zd Zej:                  j<                  e_        d Zd Z  e!ejD                  d      rd Z#nd Z#d Z$	 ddl%m&Z& d Z'd Z(dZ)da*da+d Z,	 dd l%m-Z. 	 dd"l%m/Z/ d# Z0	 dd%l%m1Z1m2Z3 e4fd&Z5e4fd'Z6d(d)d*Z7d,Z8d6d-Z9d. Z:	 dd/l%m;Z< dd0l%m=Z> dd1l%m?Z@ dd2l%mAZB 	 dd3l%mCZC d4 ZDy# e$ r d ZY w xY w# e$ r dZ&Y }w xY w# e$ r d! Z.Y uw xY w# e$ r d$ Z0Y yw xY w# e$ r	 d(d)d+Z7Y qw xY w# e$ r Y Zw xY w# e$ r d5 ZDY yw xY w)7...\;/z.;C:\binnul    N)*))normcaseisabsjoin
splitdrive	splitroot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
commonpath
isjunctionALLOW_MISSINGc                 &    t        | t              ryy)N   \/\/)
isinstancebytespaths    /usr/lib64/python3.12/ntpath.py_get_bothsepsr;   $   s    $    )LCMapStringExLOCALE_NAME_INVARIANTLCMAP_LOWERCASEc                 Z   	 t        j                  |       } | s| S t        | t              r]t	        j
                         }| j                  |d      j                  dd      } t        t        t        |       } | j                  |d      S t        t        t        | j                  dd            S )Nsurrogateescaper   r   )osfspathr6   r7   sysgetfilesystemencodingdecodereplace_LCMapStringEx_LOCALE_NAME_INVARIANT_LCMAP_LOWERCASEencode)sencodings     r:   r
   r
   4   s    	 IIaLHa002H#45==c4HA5/4A88H&788!"8"2"#))C"68 8r<   c                    	 t        j                  |       } t        | t              rFt        j                  t        j
                  |       j                  dd      j                               S | j                  dd      j                         S )Nr   r   )rB   rC   r6   r7   fsencodefsdecoderG   lower)rL   s    r:   r
   r
   G   sg    	 IIaLa;;r{{1~55c4@FFHIIyyd#))++r<   c                     	 t        j                  |       } t        | t              rd}d}d}nd}d}d}| d d j	                  ||      } | j                  |      s| j                  |d      ry	y
)N   \   /s   :\r   r   z:\      TF)rB   rC   r6   r7   rG   
startswith)rL   r$   r'   	colon_seps       r:   r   r   X   sq    )
		!A!U			"1fc"A 	||CALLA6r<   c                 8   t        j                  |       } t        | t              rd}d}d}nd}d}d}	 |s| d d |z    t	        |       \  }}}t        t         j                  |      D ]b  }t	        |      \  }	}
}|
r|	s|s|	}|
}|}|	r/|	|k7  r*|	j                         |j                         k7  r|	}|
}|}N|	}|r|d   |vr||z   }||z   }d |r|s|r|dd  ||z   vr||z   |z   S ||z   |z   S # t        t        t        f$ r t        j                  d	| g|   w xY w)
NrS   r4      :r   r5   :r   r   )rB   rC   r6   r7   r   maprQ   	TypeErrorAttributeErrorBytesWarninggenericpath_check_arg_types)r9   pathsr$   sepscolonresult_driveresult_rootresult_pathpp_drivep_rootp_paths               r:   r   r   l   s_   99T?D$!!HsN1:4.k;RYY&A&/l#GVV,#*L$$W4==?l&8&8&::#*L"(K"(K&{2d:)C/%.K+ '. \"#.edlB#%33k)K77~|4 $$VT:E:s   B/C, $C, ,-Dc                 0    	 t        |       \  }}}|||z   fS N)r   )ri   driveroottails       r:   r   r      s(    $ "!E4$+r<   c                     	 t        j                  |       } t        | t              rd}d}d}d}d}n
d}d}d}d	}d
}| j	                  ||      }|d d |k(  r||dd |k(  ri|d d j                         |k(  rdnd}|j                  ||      }|dk(  r| ||fS |j                  ||dz         }	|	dk(  r| ||fS | d |	 | |	|	dz    | |	dz   d  fS || d d | dd  fS |dd |k(  r!|dd |k(  r| d d | dd | dd  fS | d d || dd  fS ||| fS )NrS   rT   rZ      \\?\UNC\r<   r   r   r[   \\?\UNC\ rV         r\   rU   )rB   rC   r6   r7   rG   upperfind)
ri   r$   r'   re   
unc_prefixemptynormpstartindexindex2s
             r:   r   r      s   	 			!A!U$
#
IIfc"ERayC1: r*j8AaEJJsE*E{%&ZZUQY/F|%&Wf:q
3Qvz{^CC !BQ%12&&	qu	1:Ra5!Aa&!AB%'' Ra5%12&& eQr<   c                     	 t        j                  |       } t        |       }t        |       \  }}} t	        |       }|r| |dz
     |vr|dz  }|r| |dz
     |vr| d | | |d  }}||z   |j                  |      z   |fS NrV   )rB   rC   r;   r   lenrstrip)ri   rd   driheadrq   s          r:   r   r      s    ! 			!ADlGAq!AA
!A#d"	Q !A#d"2A!"$Dq54;;t$$d**r<   c                     t        j                  |       } t        | t              rt	        j
                  | ddd      S t	        j
                  | ddd      S )NrS   rT      .r   r   r   )rB   rC   r6   r7   ra   	_splitextri   s    r:   r   r     sG    
		!A!U$$QtT::$$Qc377r<   c                      	 t        |       d   S r   r   r   s    r:   r   r     s    38A;r<   c                      	 t        |       d   S )Nr   r   r   s    r:   r   r     s    78A;r<   st_reparse_tagc                     	 	 t        j                  |       }t        |j                  t        j                  k(        S # t        t        t        f$ r Y yw xY wNF)	rB   lstatOSError
ValueErrorr_   boolr   statIO_REPARSE_TAG_MOUNT_POINTr9   sts     r:   r1   r1     sP    /	$B B%%)H)HHII ^4 		s   > AAc                 0    	 t        j                  |        yr   )rB   rC   r8   s    r:   r1   r1   $  s    /
		$r<   c                 \    	 	 t        j                  |       }y# t        t        f$ r Y yw xY w)NFT)rB   r   r   r   r   s     r:   r   r   ,  s5    MXXd^  Z  s    ++)_getvolumepathnamec                 @   	 t        j                  |       } t        |       }t        |       } t	        |       \  }}}|r
|d   |v r| S |r|syt
        rL| j                  |      }t        |       j                  |      }|j                         |j                         k(  S y)Nr   TF)rB   rC   r;   r!   r   r   r   casefold)r9   rd   ro   rp   restxys          r:   r   r   B  s    #99T?DD4=D!$E4qT!xDKKd#**40zz|qzz|++r<   c                 :   	 t        j                  |       } t        | t              rd}nd}| j	                  |      s| S dt        |       }}||k  r+| |   t        |       vr|dz  }||k  r| |   t        |       vrdt         j                  v rt         j                  d   }nEdt         j                  vr| S 	 t         j                  d   }t        |t         j                  d         }|dk7  rs| d| }t        |t              rt        j                  |      }t         j                  j                  d      }||k7  r%|t        |      k7  r| S t        t        |      |      }t        | t              rt        j                  |      }|| |d  z   S # t        $ r d}Y w xY w)	N   ~~rV   USERPROFILEHOMEPATH	HOMEDRIVEru   USERNAME)rB   rC   r6   r7   rW   r   r;   environKeyErrorr   rP   getr   r   rO   )r9   tilder   nuserhomero   target_usercurrent_users           r:   r   r   _  s   0 99T?D$??5!c$iqA
a%DG=#66	Q a%DG=#66 

"::m,2::%	JJ{+E rzz*56Av1Qik5)++k2Kzz~~j1,& x11GH-{;H$;;x(d12h/  	E	s   7F FFz.'[^']*'?|%(%|[^%]*%?)|\$(\$|[-\w]+|\{[^}]*\}?)c                    	 t        j                  |       } t        | t              rld| vrd| vr| S t        s<dd l}|j                  t        j                         |j                        j                  at        }ddddt        t         dd       n\d| vrd| vr| S t        s.dd l}|j                  t        |j                        j                  at        }dd	d
dt         j                  fd} |||       S )N   $   %r      {   }environb$%{}c                    | j                   }|| d   S | |   }|dk(  r#|k(  r|S |j                        s| d   S |d d }n3|k(  r|S |j                        r|j                        s| d   S |dd }	 9t        j                  t        j
                  t        j                  |               S |   S # t        $ r | d   cY S w xY w)Nr   rV   r\   )	lastindexendswithrW   rB   rO   r   rP   r   )mr   namebracedollarr   percentrbraces      r:   replzexpandvars.<locals>.repl  s    KK	Q4K|>w==)t9Dv~u%}}V,Q4KAbz	{{2::bkk$.?#@AAt}$ 	Q4K	s   6:B6 1B6 6CC)rB   rC   r6   r7   _varsubbrecompile_varpatternrK   ASCIIsubgetattr_varsubr   )	r9   r   r   r   r   r   r   r   r   s	       @@@@@r:   r   r     s    - 99T?D$tD 0Kzz+"4"4"6AEEH"j$/d?s$Kjjbhh7;;G** 6 tT?r<   )_path_normpathc                    	 t        j                  |       } t        | t              r	d}d}d}d}nd}d}d}d}| j	                  ||      } t        |       \  }}} ||z   }| j                  |      }d	}	|	t        |      k  r_||	   r||	   |k(  r||	= n?||	   |k(  r2|	d	kD  r||	d
z
     |k7  r||	d
z
  |	d
z   = |	d
z  }	n|	d	k(  r|r||	= n|	d
z  }	n|	d
z  }	|	t        |      k  r_|s|s|j                  |       ||j                  |      z   S )NrS   rT   r      ..r   r   r   r   r   rV   )
rB   rC   r6   r7   rG   r   r   r   appendr   )
r9   r$   r'   r"   r#   ro   rp   prefixcompsr   s
             r:   r    r      s6   >yydE"CFFFCFFF||FC(%dOtT

3#e*n8uQx61!HqV#q5U1Q3Z61ac!A#gFA!VaFAQ #e*n eLL ''r<   )_getfullpathnamec                    	 	 t        t        |             S # t        t        f$ r Y nw xY wt	        j
                  |       } t        |       st        | t              rd}t        j                  }nd}t        j                  }t        |       \  }}} |s|rK	 t        t        ||z         |       } t        |       S # t        t        f$ r ||z   | z   } Y t        |       S w xY wt         |       |       } t        |       S )NrS   r   )r   r    r   r   rB   rC   r   r6   r7   getcwdbgetcwdr   r   )r9   r$   r   ro   rp   s        r:   r!   r!     s    4	#HTN33$ 		 yyT{$& )$E4. 0 >ED ~  , . 3;-D ~. FHd+~s    ))B8 8CCc                     	 t        j                  |       } t        |       sEt        | t              rt        j
                         }nt        j                         }t        ||       } t        |       S rn   )	rB   rC   r   r6   r7   r   r   r   r    )r9   cwds     r:   r!   r!     sN    4yyT{$&jjliikT?D~r<   )_getfinalpathnamereadlinkc                 p   d}t               }t        |       |vro|j                  t        |              	 | }t        |       } t	        |       s.t        |      s|} 	 | S t        t        t        |      |             } t        |       |vro| S # |$ r}|j                  |v rY d }~| S  d }~wt        $ r Y | S w xY w)N)rV   rv   rU             2   C   W   i&  i(  i)  )setr
   add_nt_readlinkr   r   r    r   r   winerrorr   )r9   ignored_errorallowed_winerrorseenold_pathexs         r:   _readlink_deepr   <  s     LutnD(HHXd^$#D) T{ "(+'  $D):D$ABD tnD(,  ! ;;"22
 	  s)   %B B B5B%$B%%B54B5c                 Z   d}| d d }| r	 t        |       } |rt        | |      S | S |S # |$ ry}|j                  |vr 	 t        | |      }|| k7  r|rt        ||      n|cY d }~S n# |$ r Y nw xY wt	        |       \  } }| r|s
| |z   cY d }~S |rt        ||      n|}Y d }~nd }~ww xY w| r)N)rV   rv   rU   r   r   r   r   5   A   r   r   {      i  i  r   r   )r   r   r   r   r   )r9   r   r   rq   r   new_pathr   s          r:   _getfinalpathname_nonstrictr   f  s    $ X BQx:(.+/tD$'9T9, + ! :;;&66
  .d<I KH4'7;tHd3I ($  #4[
d $;&+/tD$'T):	 sM   ( ( B&B!!A%B&$B!%A-*B!,A--B!B&B!!B&F)strictc                   t        |       } t        | t              rId}d}d}t        j                         }t        |       t        t        j                  t                    k(  r7yd}d}d}t        j                         }t        |       t        t              k(  ry| j                  |      }|t        u r	t        }d	}n|rd
}nt        }|st        |       st        ||       } 	 t        |       } d}|sU| j                  |      rD| j                  |      r|| t)        |      d  z   }
n| t)        |      d  }
	 t        |
      | k(  r|
} | S | S # t         $ r,}	|rt        t#        |	            d t        |       } Y d }	~	d }	~	w|$ r#}	|	j$                  }t'        | |      } Y d }	~	d }	~	ww xY w# t         $ r}	Y d }	~	| S d }	~	wt        $ r}	|	j$                  k(  r|
} Y d }	~	| S d }	~	ww xY w)Ns   \\?\rs   s   \\s   \\.\NULz\\?\rt   z\\z\\.\NULT r   r   )r    r6   r7   rB   r   r
   rO   r)   r   rW   r2   FileNotFoundErrorr   r   r   r   r   strr   r   r   )r9   r   r   rz   new_unc_prefixr   
had_prefixr   initial_winerrorr   spaths              r:   r*   r*     s   ~dE"F(J$N**,C~"++g*>!??$F'J#N))+C~'!22#__V,
]"-MFM#M%+T?D	L$T*D   doof5 z*&c*o.>)??S[\*!$U+t3 D tG  	"
 c"g&D0D>D 	L!{{.t=JLD	L$      ! ;;"22 D!sB   "E 4F& 	F#"E88F# FF#&	G5GGGc                    t        |       S rn   )r!   )r9   r   s     r:   r*   r*   9  s    t}r<   Tc                 N   	 t        j                  |       } t        | t              rd}d}d}nd}d}d}||}| st	        d      t        j                  |      }	 t        t        |            }t        t        |             }t        |      \  }}}	t        |      \  }
}}t        |      t        |
      k7  rt	        d|
d	|      |	j                  |      D cg c]  }|s|	 }}|j                  |      D cg c]  }|s|	 }}d
}t        ||      D ]#  \  }}t        |      t        |      k7  r n|dz  }% |gt        |      |z
  z  ||d  z   }|s|S t        | S c c}w c c}w # t        t        t        t        t         f$ r t#        j$                  d| |        w xY w)NrS   r   r   r   r   r   zno path specifiedzpath is on mount z, start on mount r   rV   r,   )rB   rC   r6   r7   r   r!   r    r   r
   r   zipr   r   r^   r_   r`   DeprecationWarningra   rb   )r9   r}   r$   r"   r#   	start_abspath_absstart_drive_
start_rest
path_drive	path_restr   
start_list	path_listr   e1e2rel_lists                      r:   r,   r,     s   -99T?D$},--IIeEHUO,	8D>*%.y%9"Q
#,X#6 
AyK HZ$88K) * * ",!1!1#!6<!6A!a!6
< ) 4: 41Q 4	:*i0FB|x|+FA 1
 8s:q01IabMAMX =: z><AST $$Ye<s>   BE- E#$E#(E- =E(E(	AE- E- #
E- -7F$c           
      b   	 | st        d      t        t        t        j                  |             } t        | d   t              rd}d}d}nd}d}d}	 | D cg c]+  }t        |j                  ||      j                               - }}|D cg c]  \  }}}|j                  |       }}}}t        |D ch c]  \  }}}|
 c}}}      d	k7  rt        d
      t        |D ch c]  \  }}}|
 c}}}      d	k7  rt        d      t        | d   j                  ||            \  }	}
}|j                  |      }|D cg c]  }|s||k7  s| }}|D cg c]  }|D cg c]  }|s||k7  s| c} }}}t        |      }t        |      }t        |      D ]  \  }}|||   k7  s|d | } n |d t        |       }|	|
z   |j                  |      z   S c c}w c c}}}w c c}}}w c c}}}w c c}w c c}w c c}}w # t         t"        f$ r t%        j&                  dg|    w xY w)Nz%commonpath() arg is an empty sequencer   rS   rT   r   r   r   r   rV   z%Can't mix absolute and relative pathszPaths don't have the same driver0   )r   tupler]   rB   rC   r6   r7   r   rG   rQ   r   r   minmax	enumerater   r^   r_   ra   rb   )rc   r$   r'   r"   ri   drivesplitsr   r   split_pathsro   rp   r9   commoncrL   s1s2r   s                     r:   r0   r0     s.   N@AA#bii'(E%(E"JOP%Qy63!7!=!=!?@%P3>?;1aqwws|;?-gaA-.!3DEE
 -gaA-.!3>??%eAh&6&6vs&CDtTC#9VqQ&[!V9DOPKq1:1aa6k1:KPbMDAqBqEz "
 HSW%Ft|chhv...5 Q?- .
 ::P ~& $$\:E:s   H 0GH G"+H :G)"H )G06AH G7G7G7H 	H&G<.G<4G<8H=2H 0,H H <HH 'H.)_path_isdir)_path_isfile)_path_islink)_path_exists)_path_isdevdrivec                 L    	 	 t        t        |             S # t        $ r Y yw xY wr   )r  r!   r   r8   s    r:   
isdevdriver  `  s+    N	#GDM22 		s    	##c                      	 yr   r   r8   s    r:   r  r  [  s    Nr<   rn   )Er"   r#   r(   r$   r%   r'   r&   r)   rB   rD   r   ra   __all__r;   _winapir=   rH   r>   rI   r?   rJ   r
   ImportErrorr   r   r   r   r   r   r   __doc__r   r   hasattrstat_resultr1   r   ntr   r   r   r   r   r   r   r   r    r   r!   r   r   r   r   r   r   r*   r+   r,   r0   r  r   r  r   r  r   r  r   r  r  r   r<   r:   <module>r'     s   
		

	

 	 
   !,- -
8H(+b.1r+*8 ((00 
 2>>+,J$%:-z @
:@&(-R)#6g> ,3 (T 9@ 0d "' DP " +p.b
	 ()))#u  	,,	,t  F  #("(#(T  
	
T  !& x  		  s}   C9 D #D *D" 4D0 E /E 9DDDDDD"D-,D-0D>=D>E	E	EE