§
    
Á³gÑ-  ã                   óV  — d dl Z d dlZd dlZd dlmZmZmZ d dlmZm	Z	m
Z
mZmZ d dlmZmZ d dlmZmZmZmZmZ  e j        e¦  «        Z ej        d¦  «        Z ej        d¦  «        Z ej        d¦  «        Z ej        d	¦  «        Z G d
„ de¦  «        Z ej        e¦  «         dS )é    N)ÚListÚOptionalÚTuple)Ú
HiddenTextÚdisplay_pathÚis_console_interactiveÚis_installable_dirÚsplit_auth_from_netloc)ÚCommandArgsÚmake_command)ÚAuthInfoÚRemoteNotFoundErrorÚ
RevOptionsÚVersionControlÚvcszurl="([^"]+)"zcommitted-rev="(\d+)"z\s*revision="(\d+)"z<url>(.*)</url>c                   ó¬  ‡ — e Zd ZdZdZdZdZedede	fd„¦   «         Z
ededee         fd	„¦   «         Zed
edefd„¦   «         Zedededeeeee         ee         f         f         fˆ fd„¦   «         Zededeeee         ef         fˆ fd„¦   «         Zedee         dee         defd„¦   «         Zed
edefd„¦   «         Zed
edeee         ef         fd„¦   «         Zededee         de	fd„¦   «         Zd%dee	         ddfˆ fd„Zdeedf         fd„Zdeedf         fd„Zdefd„Zdeded ed!eddf
d"„Z deded eddfd#„Z!deded eddfd$„Z"ˆ xZ#S )&Ú
SubversionÚsvnz.svnÚcheckout)zsvn+sshzsvn+httpz	svn+httpszsvn+svnzsvn+fileÚ
remote_urlÚreturnc                 ó   — dS )NT© )Úclsr   s     úZ/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pip/_internal/vcs/subversion.pyÚshould_add_vcs_url_prefixz$Subversion.should_add_vcs_url_prefix$   s   € àˆtó    Úrevc                 ó
   — d| gS )Nz-rr   )r   s    r   Úget_base_rev_argszSubversion.get_base_rev_args(   s   € à�cˆ{Ðr   Úlocationc                 óê  — d}t          j        |¦  «        D ]Î\  }}}| j        |vrg |dd…<   Œ|                     | j        ¦  «         t           j                             || j        d¦  «        }t           j                             |¦  «        sŒw|                      |¦  «        \  }}||k    r
|€J ‚|dz   }n|r|                     |¦  «        sg |dd…<   Œ¾t          ||¦  «        }ŒÏt          |¦  «        S )zR
        Return the maximum revision for all files under a given location
        r   NÚentriesú/)ÚosÚwalkÚdirnameÚremoveÚpathÚjoinÚexistsÚ_get_svn_url_revÚ
startswithÚmaxÚstr)	r   r!   ÚrevisionÚbaseÚdirsÚ_Ú
entries_fnÚdirurlÚlocalrevs	            r   Úget_revisionzSubversion.get_revision,   s  € ð ˆåœW XÑ.Ô.ð 	/ð 	/‰MˆD�$˜ØŒ{ $Ð&Ð&Ø��Q�Q�Q‘ØØ�KŠK˜œÑ$Ô$Ð$ÝœŸš d¨C¬K¸ÑCÔCˆJÝ”7—>’> *Ñ-Ô-ð àà"×3Ò3°DÑ9Ô9ÑˆF�Hà�xÒÐØÐ)Ð)Ð)Ø ‘|��Øð  6×#4Ò#4°TÑ#:Ô#:ð Ø��Q�Q�Q‘ØÝ˜8 XÑ.Ô.ˆHˆHÝ�8‰}Œ}Ðr   ÚnetlocÚschemec                 ór   •— |dk    r"t          ¦   «                              ||¦  «        S t          |¦  «        S )z™
        This override allows the auth information to be passed to svn via the
        --username and --password options instead of via the URL.
        Ússh)ÚsuperÚget_netloc_and_authr
   )r   r8   r9   Ú	__class__s      €r   r=   zSubversion.get_netloc_and_authI   s8   ø€ ð �UŠ?ˆ?õ ‘7”7×.Ò.¨v°vÑ>Ô>Ð>å% fÑ-Ô-Ð-r   Úurlc                 óŒ   •— t          ¦   «                              |¦  «        \  }}}|                     d¦  «        rd|z   }|||fS )Nzssh://zsvn+)r<   Úget_url_rev_and_authr-   )r   r?   r   Ú	user_passr>   s       €r   rA   zSubversion.get_url_rev_and_authX   sM   ø€ õ $™gœg×:Ò:¸3Ñ?Ô?ÑˆˆS�)Ø�>Š>˜(Ñ#Ô#ð 	Ø˜3‘,ˆCØ�C˜Ð"Ð"r   ÚusernameÚpasswordc                 ó.   — g }| r|d| gz  }|r|d|gz  }|S )Nz
--usernamez
--passwordr   )rC   rD   Ú
extra_argss      r   Úmake_rev_argszSubversion.make_rev_args`   s=   € ð #%ˆ
Øð 	3Ø˜<¨Ð2Ñ2ˆJØð 	3Ø˜<¨Ð2Ñ2ˆJàÐr   c                 ó  — |}t          |¦  «        sX|}t          j                             |¦  «        }||k    r"t                               d|¦  «         t          ‚t          |¦  «        ¯X|                      |¦  «        \  }}|€t          ‚|S )NzMCould not find Python project for directory %s (tried all parent directories))r	   r%   r)   r'   ÚloggerÚwarningr   r,   )r   r!   Úorig_locationÚlast_locationr?   Ú_revs         r   Úget_remote_urlzSubversion.get_remote_urll   sŸ   € ð !ˆÝ$ XÑ.Ô.ð 	*Ø$ˆMÝ”w—’ xÑ0Ô0ˆHØ˜=Ò(Ð(õ —’ð*à!ñô ð õ
 *Ð)õ % XÑ.Ô.ð 	*ð ×(Ò(¨Ñ2Ô2‰	ˆˆTØˆ;Ý%Ð%àˆ
r   c                 ó”  — ddl m} t          j                             || j        d¦  «        }t          j                             |¦  «        r<t          |¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   nd}d }| 	                    d¦  «        s*| 	                    d¦  «        s| 	                    d¦  «        rct          t          t          j        |                     d¦  «        ¦  «        ¦  «        }|d         d= |d         d	         }d
„ |D ¦   «         dgz   }�n| 	                    d¦  «        rlt                               |¦  «        }	|	st#          d|›�¦  «        ‚|	                     d¦  «        }d„ t&                               |¦  «        D ¦   «         dgz   }nƒ	 |                      dd|gdd¬¦  «        }
t,                               |
¦  «        }	|	€J ‚|	                     d¦  «        }d„ t.                               |
¦  «        D ¦   «         }n# |$ r d g }}Y nw xY w|rt1          |¦  «        }nd}||fS )Nr   )ÚInstallationErrorr#   Ú Ú8Ú9Ú10z

é   c                 ón   — g | ]2}t          |¦  «        d k    ¯|d          ¯t          |d          ¦  «        ‘Œ3S )é	   )ÚlenÚint)Ú.0Úds     r   ú
<listcomp>z/Subversion._get_svn_url_rev.<locals>.<listcomp>”   s5   € ÐFÐFÐF !µ#°a±&´&¸1²*°*ÀÀ1Ä°*•C˜˜!œ‘I”I°*°*°*r   z<?xmlzBadly formatted data: é   c                 óR   — g | ]$}t          |                     d ¦  «        ¦  «        ‘Œ%S ©r]   ©rY   Úgroup©rZ   Úms     r   r\   z/Subversion._get_svn_url_rev.<locals>.<listcomp>š   s(   € ÐHÐHÐH¨•C˜Ÿš ™
œ
‘O”OÐHÐHÐHr   Úinfoz--xmlFT©Úshow_stdoutÚstdout_onlyc                 óR   — g | ]$}t          |                     d ¦  «        ¦  «        ‘Œ%S r_   r`   rb   s     r   r\   z/Subversion._get_svn_url_rev.<locals>.<listcomp>«   s(   € ÐTÐTÐT¨A�˜AŸGšG A™JœJ™œÐTÐTÐTr   )Úpip._internal.exceptionsrP   r%   r)   r*   r'   r+   ÚopenÚreadr-   ÚlistÚmapr/   Ú
splitlinesÚsplitÚ_svn_xml_url_reÚsearchÚ
ValueErrorra   Ú_svn_rev_reÚfinditerÚrun_commandÚ_svn_info_xml_url_reÚ_svn_info_xml_rev_rer.   )r   r!   rP   Úentries_pathÚfÚdatar?   r#   ÚrevsÚmatchÚxmlr   s               r   r,   zSubversion._get_svn_url_rev„   s   € à>Ð>Ð>Ð>Ð>Ð>å”w—|’| H¨c¬k¸9ÑEÔEˆÝŒ7�>Š>˜,Ñ'Ô'ð 	Ý�lÑ#Ô#ð   qØ—v’v‘x”x�ð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  øð ˆDàˆØ�?Š?˜3ÑÔð 	% 4§?¢?°3Ñ#7Ô#7ð 	%¸4¿?º?È4Ñ;PÔ;Pð 	%Ý�3�sœ~¨t¯zªz¸*Ñ/EÔ/EÑFÔFÑGÔGˆGØ˜”
˜1�Ø˜!”*˜Q”-ˆCØFÐF wÐFÑFÔFÈ!ÈÑLˆD‰DØ�_Š_˜WÑ%Ô%ð 	%Ý#×*Ò*¨4Ñ0Ô0ˆEØð DÝ Ð!B¸$Ð!BÐ!BÑCÔCÐCØ—+’+˜a‘.”.ˆCØHÐH­[×-AÒ-AÀ$Ñ-GÔ-GÐHÑHÔHÈAÈ3ÑNˆDˆDð%ð —o’oØ˜W hÐ/Ø %Ø $ð &ñ ô �õ
 -×3Ò3°CÑ8Ô8�ØÐ(Ð(Ð(Ø—k’k !‘n”n�ØTÐTÕ1E×1NÒ1NÈsÑ1SÔ1SÐTÑTÔT��øØ$ð %ð %ð %Ø  "�T���ð%øøøð ð 	Ý�d‘)”)ˆCˆCàˆCà�Cˆxˆs%   ÁA<Á<B ÂB Æ0A2H# È#	H/È.H/ÚdestÚnamec                 ó   — dS )z&Always assume the versions don't matchFr   )r   r~   r   s      r   Úis_commit_id_equalzSubversion.is_commit_id_equal¶   s	   € ð ˆur   NÚuse_interactivec                 ó„   •— |€t          ¦   «         }|| _        d | _        t          ¦   «                              ¦   «          d S ©N)r   r‚   Ú_vcs_versionr<   Ú__init__)Úselfr‚   r>   s     €r   r†   zSubversion.__init__»   sB   ø€ ØÐ"Ý4Ñ6Ô6ˆOØ.ˆÔð 8<ˆÔå‰Œ×ÒÑÔÐÐÐr   .c                 óŽ  — d}|                       dgdd¬¦  «        }|                     |¦  «        sdS |t          |¦  «        d…                              ¦   «         d         }|                     d	¦  «        d                              d
¦  «        }	 t          t          t          |¦  «        ¦  «        }n# t          $ r Y dS w xY w|S )a  Query the version of the currently installed Subversion client.

        :return: A tuple containing the parts of the version information or
            ``()`` if the version returned from ``svn`` could not be parsed.
        :raises: BadCommand: If ``svn`` is not installed.
        zsvn, version z	--versionFTre   r   Nr   ú-ú.)	ru   r-   rX   ro   Ú	partitionÚtuplerm   rY   rr   )r‡   Úversion_prefixÚversionÚversion_listÚparsed_versions        r   Úcall_vcs_versionzSubversion.call_vcs_versionÉ   sØ   € ð )ˆØ×"Ò" K =¸eÐQUÐ"ÑVÔVˆØ×!Ò! .Ñ1Ô1ð 	Ø�2à�#˜nÑ-Ô-Ð/Ð/Ô0×6Ò6Ñ8Ô8¸Ô;ˆØ×(Ò(¨Ñ-Ô-¨aÔ0×6Ò6°sÑ;Ô;ˆð	Ý"¥3¥s¨LÑ#9Ô#9Ñ:Ô:ˆNˆNøÝð 	ð 	ð 	Ø�2�2ð	øøøð Ðs   Â"B4 Â4
CÃCc                 óX   — | j         �| j         S |                      ¦   «         }|| _         |S )a�  Return the version of the currently installed Subversion client.

        If the version of the Subversion client has already been queried,
        a cached value will be used.

        :return: A tuple containing the parts of the version information or
            ``()`` if the version returned from ``svn`` could not be parsed.
        :raises: BadCommand: If ``svn`` is not installed.
        )r…   r‘   )r‡   Úvcs_versions     r   Úget_vcs_versionzSubversion.get_vcs_versionå   s7   € ð ÔÐ(ð Ô$Ð$à×+Ò+Ñ-Ô-ˆØ'ˆÔØÐr   c                 óT   — | j         sdgS |                      ¦   «         }|dk    rdgS g S )aC  Return options to be used on calls to Subversion that contact the server.

        These options are applicable for the following ``svn`` subcommands used
        in this class.

            - checkout
            - switch
            - update

        :return: A list of command line arguments to pass to ``svn``.
        z--non-interactive)r]   é   z--force-interactive)r‚   r”   )r‡   Úsvn_versions     r   Úget_remote_call_optionsz"Subversion.get_remote_call_optionsù   sF   € ð Ô#ð 	)ð (Ð(Ð(à×*Ò*Ñ,Ô,ˆð ˜&Ò Ð Ø)Ð*Ð*àˆ	r   Úrev_optionsÚ	verbosityc                 ó2  — |                      ¦   «         }t                               d||t          |¦  «        ¦  «         |dk    rd}nd}t	          d||                      ¦   «         |                     ¦   «         ||¦  «        }|                      |¦  «         d S )NzChecking out %s%s to %sr   z--quietrQ   r   )Ú
to_displayrI   rd   r   r   r˜   Úto_argsru   )r‡   r~   r?   r™   rš   Úrev_displayÚflagÚcmd_argss           r   Ú	fetch_newzSubversion.fetch_new  s«   € ð "×,Ò,Ñ.Ô.ˆÝ�ŠØ%ØØÝ˜ÑÔñ		
ô 	
ð 	
ð ˜Š>ˆ>ØˆDˆDàˆDÝØØØ×(Ò(Ñ*Ô*Ø×ÒÑ!Ô!ØØñ
ô 
ˆð 	×Ò˜Ñ"Ô"Ð"Ð"Ð"r   c                 óž   — t          d|                      ¦   «         |                     ¦   «         ||¦  «        }|                      |¦  «         d S )NÚswitch©r   r˜   r�   ru   ©r‡   r~   r?   r™   r    s        r   r£   zSubversion.switch0  sT   € ÝØØ×(Ò(Ñ*Ô*Ø×ÒÑ!Ô!ØØñ
ô 
ˆð 	×Ò˜Ñ"Ô"Ð"Ð"Ð"r   c                 óœ   — t          d|                      ¦   «         |                     ¦   «         |¦  «        }|                      |¦  «         d S )NÚupdater¤   r¥   s        r   r§   zSubversion.update:  sQ   € ÝØØ×(Ò(Ñ*Ô*Ø×ÒÑ!Ô!Øñ	
ô 
ˆð 	×Ò˜Ñ"Ô"Ð"Ð"Ð"r   r„   )$Ú__name__Ú
__module__Ú__qualname__r   r'   Ú	repo_nameÚschemesÚclassmethodr/   Úboolr   Ústaticmethodr   r    r7   r   r   r=   r   rA   r   r   rG   rN   rY   r,   r�   r†   r‘   r”   r˜   r   r¡   r£   r§   Ú__classcell__)r>   s   @r   r   r      s|  ø€ € € € € Ø€DØ€GØ€IØI€Gàð°3ð ¸4ð ð ð ñ „[ðð ð˜sð  t¨C¤yð ð ð ñ „\ðð ð Cð ¨Cð ð ð ñ „[ðð8 ð.Øð.Ø"%ð.à	ˆs�E˜( 3œ-¨°#¬Ð6Ô7Ð7Ô	8ð.ð .ð .ð .ð .ñ „[ð.ð ð# sð #¨u°S¸(À3¼-ÈÐ5QÔ/Rð #ð #ð #ð #ð #ñ „[ð#ð ð	Ø˜3”-ð	Ø+3°JÔ+?ð	à	ð	ð 	ð 	ñ „\ð	ð ð cð ¨cð ð ð ñ „[ðð. ð/¨ð /°°h¸s´mÀSÐ6HÔ0Ið /ð /ð /ñ „[ð/ðb ð cð °¸#´ð À4ð ð ð ñ „[ððð ¨°¬ð À$ð ð ð ð ð ð ð %¨¨S¨¤/ð ð ð ð ð8  s¨C x¤ð ð ð ð ð(¨ð ð ð ð ð>#Øð#Ø(ð#Ø7Að#ØNQð#à	ð#ð #ð #ð #ð0#˜3ð # Zð #¸jð #ÈTð #ð #ð #ð #ð#˜3ð # Zð #¸jð #ÈTð #ð #ð #ð #ð #ð #ð #ð #r   r   ) Úloggingr%   ÚreÚtypingr   r   r   Úpip._internal.utils.miscr   r   r   r	   r
   Úpip._internal.utils.subprocessr   r   Ú pip._internal.vcs.versioncontrolr   r   r   r   r   Ú	getLoggerr¨   rI   Úcompilerp   rs   rw   rv   r   Úregisterr   r   r   ú<module>rº      s�  ðØ €€€Ø 	€	€	€	Ø 	€	€	€	Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð ð ð ð ð ð ð EÐ DÐ DÐ DÐ DÐ DÐ DÐ Dðð ð ð ð ð ð ð ð ð ð ð ð ð ð 
ˆÔ	˜8Ñ	$Ô	$€à�"”*˜_Ñ-Ô-€ØˆbŒjÐ1Ñ2Ô2€Ø!�r”zÐ"8Ñ9Ô9Ð Ø!�r”zÐ"4Ñ5Ô5Ð ðc#ð c#ð c#ð c#ð c#�ñ c#ô c#ð c#ðL	 €„ˆZÑ Ô Ð Ð Ð r   