HEX
Server: LiteSpeed
System: Linux 112.webhostingindonesia.co.id 5.14.0-570.62.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 10:10:59 EST 2025 x86_64
User: iyfwylsv (10313)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //opt/plesk/python/3/lib64/python3.10/urllib/__pycache__/parse.cpython-310.opt-2.pyc
o

�ņ�rɵ�@s	ddlZddlZddlZddlZddlZddlZgd�Zgd�Zgd�Zgd�Z	gd�Z
gd�Zgd�Zd	Z
d
Zgd�ZdZiZd
d�ZdZdZdd�Zeefdd�Zeefdd�Zdd�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd �d ee�ZGd!d"�d"ee�Zdd#lmZed$d%�Z ed&d'�Z!ed(d)�Z"d*e _#d+e j$_#d,e j%_#d-e!_#d.e!j&_#d/e!j'_#d0e!j(_#d1e!j)_#d2e!j%_#d3e"_#e!j&j#e"j&_#e!j'j#e"j'_#e!j(j#e"j(_#d4e"j*_#e!j)j#e"j)_#e!j%j#e"j%_#eZ+Gd5d$�d$e e�Z,Gd6d&�d&e!e�Z-Gd7d(�d(e"e�Z.Gd8d9�d9e e�Z/Gd:d;�d;e!e�Z0Gd<d=�d=e"e�Z1d>d?�Z2e2�[2d�dBdC�Z3dDdE�Z4d�dFdG�Z5dHdI�Z6dJdK�Z7dLdM�Z8d�dNdO�Z9dPdQ�Z:dRdS�Z;d�dTdU�Z<dVdW�Z=dXZ>da?dYdZ�Z@e�Ad[�ZBd�d^d_�ZC	`	ad�dbdc�ZD	`	ad�ddde�ZEd�dfdg�ZFeGdh�ZHeIeH�ZJiZKGdidj�djejL�ZMd�dldm�ZNd�dndo�ZOd�dpdq�ZPd`d@ddeOfdrds�ZQdtdu�ZRdvdw�ZSdxdy�ZTdzd{�ZUdaVd|d}�ZWd~d�ZXdaYd�d��ZZd�d��Z[d�d��Z\d�d��Z]d�d��Z^d�d��Z_da`d�d��Zad�d�d��Zbd�d�d��Zcd�d��Zdd�d��Zed�d��Zfd�d��Zgd�d��Zhd�d��Zid�d��Zjd�d��ZkdS)��N)�urlparse�
urlunparse�urljoin�	urldefrag�urlsplit�
urlunsplit�	urlencode�parse_qs�	parse_qsl�quote�
quote_plus�quote_from_bytes�unquote�unquote_plus�unquote_to_bytes�DefragResult�ParseResult�SplitResult�DefragResultBytes�ParseResultBytes�SplitResultBytes)��ftp�http�gopher�nntp�imap�wais�file�https�shttp�mms�prospero�rtsp�rtspu�sftp�svn�svn+ssh�ws�wss)rrrrr�telnetrrrr!rr �snewsr"r#r$�rsyncr&r'r%�nfs�gitzgit+sshr(r))rr�hdlr"rrrr r#r$�sip�sipsr!r%�tel)
rr/�mailto�newsr*rrr+r0r1)rrrrrr r!rr#r$r0r1)
rrr/rrr4rrrr r+rr"zAabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-.z!	

 )�	�
�
�cCs	t��t��dS�N)�_parse_cache�clear�
_safe_quoters�r=r=�4/opt/plesk/python/3/lib64/python3.10/urllib/parse.py�clear_cacheasr?�ascii�strictcCs|Sr9r=)�objr=r=r>�_nooppsrCcCs|�||�Sr9��encode)rB�encoding�errorsr=r=r>�_encode_resultssrHcst��fdd�|D��S)Nc3s$�|]
}|r|����ndVqdS)rN��decode��.0�x�rFrGr=r>�	<genexpr>ys�"z_decode_args.<locals>.<genexpr>)�tuple)�argsrFrGr=rNr>�_decode_argswsrRcGsVt|dt�}|dd�D]}|rt|t�|krtd��q
|r$|tfSt|�tfS)Nr�z$Cannot mix str and non-str arguments)�
isinstance�str�	TypeErrorrCrRrH)rQ�	str_input�argr=r=r>�_coerce_args{s�
rYc@�eZdZ	dZddd�ZdS)�_ResultMixinStrr=r@rAc�|j��fdd�|D��S)Nc3��|]	}|����VqdSr9rDrKrNr=r>rO���z)_ResultMixinStr.encode.<locals>.<genexpr>)�_encoded_counterpart��selfrFrGr=rNr>rE��z_ResultMixinStr.encodeN�r@rA)�__name__�
__module__�__qualname__�	__slots__rEr=r=r=r>r[��r[c@rZ)�_ResultMixinBytesr=r@rAcr\)Nc3r]r9rIrKrNr=r>rO�r^z+_ResultMixinBytes.decode.<locals>.<genexpr>)�_decoded_counterpartr`r=rNr>rJ�rbz_ResultMixinBytes.decodeNrc)rdrerfrgrJr=r=r=r>ri�rhric@sLeZdZ	dZedd��Zedd��Zedd��Zedd	��Ze	e
j�Zd
S)�_NetlocResultMixinBaser=cC�
|jdS)Nr��	_userinfo�rar=r=r>�username��
z_NetlocResultMixinBase.usernamecCrl)NrSrmror=r=r>�password�rqz_NetlocResultMixinBase.passwordcCsD|jd}|s	dSt|t�rdnd}|�|�\}}}|��||S)Nr�%�%)�	_hostinforTrU�	partition�lower)ra�hostname�	separator�percent�zoner=r=r>rx�s
z_NetlocResultMixinBase.hostnamecCsb|jd}|dur/|��r|��rt|�}ntd|����d|kr*dks/td��td��|S)NrSz+Port could not be cast to integer value as ri��zPort out of range 0-65535)ru�isdigit�isascii�int�
ValueError)ra�portr=r=r>r��s

�z_NetlocResultMixinBase.portN)
rdrerfrg�propertyrprrrxr��classmethod�types�GenericAlias�__class_getitem__r=r=r=r>rk�s




rkc@�(eZdZdZedd��Zedd��ZdS)�_NetlocResultMixinStrr=cC�J|j}|�d�\}}}|r|�d�\}}}|sd}||fSd}}||fS)N�@�:��netloc�
rpartitionrv�rar��userinfo�	have_info�hostinforp�
have_passwordrrr=r=r>rn���z_NetlocResultMixinStr._userinfocC�l|j}|�d�\}}}|�d�\}}}|r&|�d�\}}}|�d�\}}}n|�d�\}}}|s2d}||fS)Nr��[�]r�r��rar��_r��have_open_br�	bracketedrxr�r=r=r>ru��z_NetlocResultMixinStr._hostinfoN�rdrerfrgr�rnrur=r=r=r>r���
r�c@r�)�_NetlocResultMixinBytesr=cCr�)N�@�:r�r�r=r=r>rn�r�z!_NetlocResultMixinBytes._userinfocCr�)Nr��[�]r�r�r�r=r=r>ru�r�z!_NetlocResultMixinBytes._hostinfoNr�r=r=r=r>r��r�r�)�
namedtuplerzurl fragmentrz!scheme netloc path query fragmentrz(scheme netloc path params query fragmentz�
DefragResult(url, fragment)

A 2-tuple that contains the url without fragment identifier and the fragment
identifier as a separate argument.
z$The URL with no fragment identifier.z�
Fragment identifier separated from URL, that allows indirect identification of a
secondary resource by reference to a primary resource and additional identifying
information.
z�
SplitResult(scheme, netloc, path, query, fragment)

A 5-tuple that contains the different components of a URL. Similar to
ParseResult, but does not split params.
z%Specifies URL scheme for the request.z0
Network location where the request is made to.
z@
The hierarchical path, such as the path to a file to download.
z�
The query component, that contains non-hierarchical data, that along with data
in path component, identifies a resource in the scope of URI's scheme and
network location.
z�
Fragment identifier, that allows indirect identification of a secondary resource
by reference to a primary resource and additional identifying information.
zq
ParseResult(scheme, netloc, path, params, query, fragment)

A 6-tuple that contains components of a parsed URL.
z�
Parameters for last path element used to dereference the URI in order to provide
access to perform some operation on the resource.
c@�eZdZdZdd�ZdS)rr=cC�|jr|jd|jS|jS�N�#��fragment�urlror=r=r>�geturlK�zDefragResult.geturlN�rdrerfrgr�r=r=r=r>rI�c@r�)rr=cC�t|�Sr9�rror=r=r>r�S�zSplitResult.geturlNr�r=r=r=r>rQr�c@r�)rr=cCr�r9�rror=r=r>r�Xr�zParseResult.geturlNr�r=r=r=r>rVr�c@r�)rr=cCr�)N�#r�ror=r=r>r�^r�zDefragResultBytes.geturlNr�r=r=r=r>r\r�rc@r�)rr=cCr�r9r�ror=r=r>r�fr�zSplitResultBytes.geturlNr�r=r=r=r>rdr�rc@r�)rr=cCr�r9r�ror=r=r>r�kr�zParseResultBytes.geturlNr�r=r=r=r>rir�rcCs4ttfttfttff}|D]
\}}||_||_q
dSr9)rrrrrrr_rj)Z
_result_pairsZ_decodedZ_encodedr=r=r>�_fix_result_transcodingos��r�rTc
Csh	t||�\}}}t|||�}|\}}}}}|tvr%d|vr%t|�\}}nd}t||||||�}	||	�S)N�;r)rYr�uses_params�_splitparamsr)
r��scheme�allow_fragments�_coerce_result�splitresultr��queryr��params�resultr=r=r>r|srcCsRd|vr|�d|�d��}|dkr|dfSn|�d�}|d|�||dd�fS)N�/r�rrrS)�find�rfind)r��ir=r=r>r��s�
r�cCsHt|�}dD]}|�||�}|dkrt||�}q|||�||d�fS)Nz/?#r)�lenr��min)r��start�delim�c�wdelimr=r=r>�_splitnetloc�s
�r�cCs�|r|��rdSddl}|�dd�}|�dd�}|�dd�}|�dd�}|�d|�}||kr0dSdD]}||vrBtd	|d
d��q2dS)Nrr�rr�r��?�NFKCz/?#@:znetloc 'z' contains invalid z#characters under NFKC normalization)r}�unicodedata�replace�	normalizer)r�r��n�netloc2r�r=r=r>�_checknetloc�s"���r�cCsr|�d�d}|�d�\}}}|r+|rtd��|�d�\}}}|r*|�d�s*td��n|�d�\}}}t|�dS)Nr��r��Invalid IPv6 URLr�r�)r�rvr�
startswith�_check_bracketed_host)r��hostname_and_port�before_bracketr�r�rxr�r�r=r=r>�_check_bracketed_netloc�s�r�cCsD|�d�rt�d|�std��dSt�|�}t|tj�r td��dS)N�vz\Av[a-fA-F0-9]+\..+\ZzIPvFuture address is invalidz%An IPv4 address cannot be in brackets)r��re�matchr�	ipaddress�
ip_addressrT�IPv4Address)rx�ipr=r=r>r��s
�
�r�c
Cs�	t||�\}}}|�t�}|�t�}tD]}|�|d�}|�|d�}qt|�}|||t|�t|�f}t�	|d�}|r?||�St
t�tkrHt�d}}}	|�
d�}
|
dkrw|d|
�D]}|tvrenq]|d|
���||
dd�}}|dd�dkr�t|d�\}}d|vr�d|vs�d|vr�d|vr�td	��d|vr�d|vr�t|�|r�d
|vr�|�d
d�\}}	d|vr�|�dd�\}}t|�t|||||	�}|t|<||�S)Nrr�rrSr��//r�r�r�r�r�)rY�lstrip�_WHATWG_C0_CONTROL_OR_SPACE�strip�_UNSAFE_URL_BYTES_TO_REMOVEr��bool�typer:�getr��MAX_CACHE_SIZEr?r��scheme_charsrwr�rr��splitr�r)
r�r�r�r��b�key�cachedr�r�r�r�r�r�r=r=r>r�sJ


�"rcCs>	t|�\}}}}}}}|rd||f}|t|||||f��S)Nz%s;%s)rYr)�
componentsr�r�r�r�r�r�r�r=r=r>rs�rcCs�	t|�\}}}}}}|s|r|tvs|dd�dkr1|r)|dd�dkr)d|}d|p-d|}|r9|d|}|rA|d|}|rI|d|}||�S)	Nr�r�rSr�rr�r�r�)rY�uses_netloc)r�r�r�r�r�r�r�r=r=r>r"s� rc	Cs�	|s|S|s	|St||�\}}}t|d|�\}}}}}}	t|||�\}
}}}
}}|
|ks1|
tvr5||�S|
tvrI|rG|t|
|||
||f��S|}|sa|
sa|}|}
|sU|}|t|
|||
||f��S|�d�}|ddkro|d=|dd�dkr}|�d�}n||�d�}td|dd��|dd�<g}|D] }|dkr�z|��Wq�ty�Yq�w|dkr�q�|�	|�q�|ddvr�|�	d�|t|
|d�
|�p�d|
||f��S)Nrr����rS�..�.)r�r�)rYr�
uses_relativer�rr��filter�pop�
IndexError�append�join)�baser�r�r��bscheme�bnetloc�bpath�bparams�bquery�	bfragmentr�r��pathr�r�r��
base_parts�segments�
resolved_path�segr=r=r>r5sf
�
�
�
�
�
��rc	CsV	t|�\}}d|vr t|�\}}}}}}t|||||df�}nd}|}|t||��S)Nr�r)rYrrr)	r�r��sr��p�a�q�frag�defragr=r=r>rzsr�0123456789ABCDEFabcdefc	Cs�	|s|jdSt|t�r|�d�}|�d�}t|�dkr|S|dg}|j}tdur2dd�tD�a|dd�D]'}z|t|dd��||dd��Wq8ty_|d�||�Yq8wd�	|�S)	N��utf-8rtrSrcSs.i|]}tD]}||��t�||��qqSr=)�_hexdigrE�bytes�fromhex)rLrr�r=r=r>�
<dictcomp>�s
��z$unquote_to_bytes.<locals>.<dictcomp>r�)
r�rTrUrEr�r��
_hextobyter�KeyErrorr�)�string�bits�resr��itemr=r=r>r�s0



��
rz([-]+)r
r�cCs�	t|t�rt|��||�Sd|vr|j|S|durd}|dur#d}t�|�}|dg}|j}tdt|�d�D]}|t||��||��|||d�q8d�	|�S)Nrsr
r�rrSr�r)
rTrrrJr��_asciirer��ranger�r�)rrFrGrrr�r�r=r=r>r�s"
	


rF�&c	CsP	i}t|||||||d�}|D]\}	}
|	|vr ||	�|
�q|
g||	<q|S)N)rFrG�max_num_fieldsry)r
r�)�qs�keep_blank_values�strict_parsingrFrGrry�
parsed_result�pairs�name�valuer=r=r>r	�s�r	cCs"	t|�\}}t|�\}}|rt|ttf�std��|dur-d|�|�}	||	kr-td��g}
|�|�D]Z}|s;|s;q4|�dd�}t|�dkrY|rPtd|f��|rX|�d�nq4t|d�sa|r�|d�	d	d
�}
t
|
||d�}
||
�}
|d�	d	d
�}t
|||d�}||�}|
�|
|f�q4|
S)Nz*Separator must be of type string or bytes.rSzMax number of fields exceeded�=r�zbad query field: %rrr�+� rN)rYrTrUrr�countr�r�r�r�r)rrrrFrGrryr�r��
num_fields�r�
name_value�nvr!r"r=r=r>r
�s<�r
cCs	|�dd�}t|||�S)Nr$r%)r�r)rrFrGr=r=r>r5srsBABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-~c@s&eZdZ	dd�Zdd�Zdd�ZdS)�QuotercCs	t�|�|_dSr9)�_ALWAYS_SAFE�union�safe)rar.r=r=r>�__init__MszQuoter.__init__cCsd|jjt|�fS)Nz<%s %r>)�	__class__rd�dictror=r=r>�__repr__QszQuoter.__repr__cCs(||jvr	t|�nd�|�}|||<|S)Nz%{:02X})r.�chr�format)rar�rr=r=r>�__missing__UszQuoter.__missing__N)rdrerfr/r2r5r=r=r=r>r+Es
r+r�cCsd	t|t�r|s
|S|durd}|durd}|�||�}n|dur%td��|dur-td��t||�S)Nr
rAz,quote() doesn't support 'encoding' for bytesz*quote() doesn't support 'errors' for bytes)rTrUrErVr
)rr.rFrGr=r=r>r[s
&
rcCsf	t|t�r
d|vst|t�rd|vrt||||�St|t�r"d}nd}t|||||�}|�dd�S)Nr%� r$)rTrUrrr�)rr.rFrG�spacer=r=r>r�s�
rcs�	t|ttf�std��|sdSt|t�r|�dd�}n	tdd�|D��}|�t|�s0|��Szt	|�Wnt
yHt|�jt	|<�Ynwd�
�fdd�|D��S)Nz!quote_from_bytes() expected bytesrr@�ignorecSsg|]}|dkr|�qS)�r=)rLr�r=r=r>�
<listcomp>�sz$quote_from_bytes.<locals>.<listcomp>csg|]}�|��qSr=r=)rL�char��quoterr=r>r:�s)rTr�	bytearrayrVrUrE�rstrip�_ALWAYS_SAFE_BYTESrJr<rr+�__getitem__r�)�bsr.r=r<r>r
�s 
�r
c	Cs�	t|d�r|��}n%zt|�rt|dt�st�Wnty/t��\}}}td��|��wg}	|sm|D]5\}
}t|
t	�rE||
|�}
n	|t
|
�|||�}
t|t	�rY|||�}n	|t
|�|||�}|	�|
d|�q6n�|D]�\}
}t|
t	�r~||
|�}
n	|t
|
�|||�}
t|t	�r�|||�}|	�|
d|�qot|t
�r�|||||�}|	�|
d|�qozt|�}Wnty�|t
|�|||�}|	�|
d|�Yqow|D]}
t|
t	�r�||
|�}
n	|t
|
�|||�}
|	�|
d|
�q�qod�|	�S)N�itemsrz1not a valid non-string sequence or mapping objectr#r)
�hasattrrCr�rTrPrV�sys�exc_info�with_tracebackrrUr�r�)r��doseqr.rFrG�	quote_via�ty�va�tb�l�kr�rM�eltr=r=r>r�s^

���

�



�
�
rcC�tjdtdd�t|�S)Nz/urllib.parse.to_bytes() is deprecated as of 3.8r���
stacklevel)�warnings�warn�DeprecationWarning�	_to_bytes�r�r=r=r>�to_bytes	s�rXcCsH	t|t�r"z
|�d���}W|Sty!tdt|�d��w|S)N�ASCIIzURL z contains non-ASCII characters)rTrUrErJ�UnicodeError�reprrWr=r=r>rVs
���rVcCsb	t|���}|dd�dkr|dd�dkr|dd���}|dd�dkr/|dd���}|S)NrS�<r��>�zURL:)rUr�rWr=r=r>�unwraps r_cCrP)NzUurllib.parse.splittype() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�rQ)rSrTrU�
_splittyperWr=r=r>�	splittype*��racCsF	tdurt�dtj�at�|�}|r|��\}}|��|fSd|fS)Nz
([^/:]+):(.*))�	_typeprogr��compile�DOTALLr��groupsrw)r�r�r��datar=r=r>r`2s
r`cCrP)NzUurllib.parse.splithost() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�rQ)rSrTrU�
_splithostrWr=r=r>�	splithost?rbricCsZ	tdurt�dtj�at�|�}|r)|��\}}|r%|ddkr%d|}||fSd|fS)Nz//([^/#?]*)(.*)rr�)�	_hostprogr�rdrer�rf)r�r��	host_portrr=r=r>rhGs
rhcCrP)NzUurllib.parse.splituser() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�rQ)rSrTrU�
_splituser��hostr=r=r>�	splituserVrbrocCs&	|�d�\}}}|r||fSd|fS)Nr��r�)rn�userr�r=r=r>rl]srlcCrP)NzWurllib.parse.splitpasswd() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�rQ)rSrTrU�_splitpasswd)rqr=r=r>�splitpasswdcrbrscC�$	|�d�\}}}||r|fSdfS�Nr��rv)rqr��passwdr=r=r>rrj�rrcCrP)NzUurllib.parse.splitport() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�rQ)rSrTrU�
_splitportrmr=r=r>�	splitportprbrzcCsF	tdurt�dtj�at�|�}|r|��\}}|r||fS|dfS)Nz
(.*):([0-9]*))�	_portprogr�rdre�	fullmatchrf)rnr�r�r=r=r>ryys
ryr�cCstjdtdd�t||�S)NzVurllib.parse.splitnport() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�rQ)rSrTrU�_splitnport)rn�defportr=r=r>�
splitnport�s�
rcCsZ	|�d�\}}}|s|}||fS|r)|��r#|��r#t|�}||fSd}||fS||fSru)r�r|r}r~)rnr~r�r��nportr=r=r>r}�s��r}cCrP)NzVurllib.parse.splitquery() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�rQ)rSrTrU�_splitqueryrWr=r=r>�
splitquery�rbr�cC�&	|�d�\}}}|r||fS|dfS)Nr�rp)r�rr�r�r=r=r>r���
r�cCrP)NzTurllib.parse.splittag() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�rQ)rSrTrU�	_splittagrWr=r=r>�splittag�rbr�cCr�r�rp)r�rr��tagr=r=r>r��r�r�cCrP)NzUurllib.parse.splitattr() is deprecated as of 3.8, use urllib.parse.urlparse() insteadr�rQ)rSrTrU�
_splitattrrWr=r=r>�	splitattr�rbr�cCs 	|�d�}|d|dd�fS)Nr�rrS)r�)r��wordsr=r=r>r��s
r�cCrP)NzWurllib.parse.splitvalue() is deprecated as of 3.8, use urllib.parse.parse_qsl() insteadr�rQ)rSrTrU�_splitvalue)�attrr=r=r>�
splitvalue�rbr�cCrt)Nr#rv)r�r�r"r=r=r>r��rxr�)rT)r)T)r
r�)FFr
r�Nr)r�NN)rNN)r�)r�)lr�rEr��collectionsrSr��__all__r�r�r��non_hierarchical�
uses_query�
uses_fragmentr�r�r�r�r:r?�_implicit_encoding�_implicit_errorsrCrHrRrY�objectr[rirkr�r�r��_DefragResultBase�_SplitResultBase�_ParseResultBase�__doc__r�r�r�r�rr�r��
ResultBaserrrrrrr�rr�r�r�r�r�rrrrrrrrrdrrr	r
r�	frozensetr,rr@r<�defaultdictr+rrr
rrXrVr_rarcr`rirjrhrorlrsrrrzr{ryrr}r�r�r�r�r�r�r�r�r=r=r=r>�<module>s!
�
�&
��


	
	>
E


�*
�
B	

6

�Q