관리-도구
편집 파일: _url.cpython-311.pyc
� ���ct�td���������������������������d�dl�Z�d�dlZd�dlZd�dlmZmZ�d�dlmZ�d�dlm Z �d�dl mZmZm Z mZmZmZ�d�dlZd�dlmZmZ�ddlmZmZ�d d d d d�Z�e��������������Zded efd�Z�G�d��d������������Zd��Ze�G�d��d��������������������������Zd��ZdZ �e�j!��������e ������������d����������������a"�e�j!��������e ������������d����������������a#ed����������������Z$ed����������������Z%ee e d�d���������������Z&dS�)�����N)�Mapping�Sequence)�suppress)� ip_address)�SplitResult� parse_qsl�quote�urljoin�urlsplit� urlunsplit)� MultiDict�MultiDictProxy����)�_Quoter� _Unquoter�P���i���)�http�https�ws�wss�obj�returnc�����������������������d|�_���������|�S�)N�yarl)� __module__)r���s��� �k/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib64/python3.11/site-packages/yarl/_url.py�rewrite_moduler������s�������C�N��J�����c��������������������(�����e�Zd�ZdZd��Zefd�Zd��ZdS�)�cached_propertyaR��Use as a class method decorator. It operates almost exactly like the Python `@property` decorator, but it puts the result of the method it decorates into the instance dict after the first call, effectively replacing the function it decorates with an instance variable. It is, in Python parlance, a data descriptor. c������������������v�����||�_��������� �|j��������|�_��������n#�t����������$�r �d|�_��������Y�nw�xY�w|j��������|�_��������d�S�)N��)�wrapped�__doc__�AttributeError�__name__�name)�selfr#���s��� r����__init__zcached_property.__init__!���sM��������� �"�?�D�L�L���� �� �� ��D�L�L�L� �����$�� � � s������*�*c�����������������������|�|�S�|j������������������������������|�j��������|������������}||ur|S�|����������������������|������������}||j���������|�j��������<���|S��N)�_cache�getr'���r#���)r(����inst�owner� _sentinel�vals��� r����__get__zcached_property.__get__)���sW�������<��K��k�o�o�d�i��3�3���i����J��l�l�4� � ��!$���D�I��� r���c������������������ �����t����������d�������������)Nzcached property is read-only)r%���)r(���r.����values��� r����__set__zcached_property.__set__3���s�������;�<�<�<r���N)r&���r����__qualname__r$���r)����sentinelr2���r5�����r���r���r ���r ������sU�����������������%��%��%��.6���������=��=��=��=��=r���r ���c����������������������g�}|�D�]d}|dk����rAt����������t����������������������5��|������������������������������������ddd�������������n#�1�swxY�w�Y����I|dk����r|���������������������|��������������e|�r|�d���������dv�r|���������������������d�������������|S�)z1Drop '.' and '..' from a sequence of str segments�..N�.����r;���r:���r"���)r���� IndexError�pop�append)�segments� resolved_path�segs��� r����_normalize_path_segmentsrD���7���s���������M���&��&���$�;�;���*�%�%�� $�� $��!�!�#�#�#� $�� $�� $�� $�� $�� $�� $�� $�� $�� $�� $����� $�� $�� $�� $�� �C�Z�Z�� � ��%�%�%����!�H�R�L�K�/�/�� ���R� � � ��s����A�A � A c������������ ��������n����e�Zd�ZdZ�ed�������������Z�e��������������Z�eddd�������������Z�edd�������������Z�edd d d�������������Z �edd d �������������Z �edd d� ������������Z�edd�������������Z�ed�������������Z �e��������������Z�ed�������������Z�ed �������������Zdaddd�d�Zedddddddddddd�d���������������Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd ��Zd!��Zd"��Zd#��Zd$��Z d%e!fd&�Z"d'��Z#d(��Z$d)��Z%d*��Z&d+��Z'd,��Z(e)d-����������������Z*e)d.����������������Z+e,d/����������������Z-e)d0����������������Z.e,d1����������������Z/e)d2����������������Z0e,d3����������������Z1e)d4����������������Z2e,d5����������������Z3e)d6����������������Z4e)d7����������������Z5e)d8����������������Z6e,d9����������������Z7e,d:����������������Z8e)d;����������������Z9e,d<����������������Z:e,d=����������������Z;e,d>����������������Z<e)d?����������������Z=e,d@����������������Z>e,dA����������������Z?e,dB����������������Z@e,dC����������������ZAe,dD����������������ZBe,dE����������������ZCe,dF����������������ZDe,dG����������������ZEe,dH����������������ZFe,dI����������������ZGeHdJ����������������ZIdbdK�ZJedL����������������ZKedbdM���������������ZLe �dcdN���������������ZMdO��ZNdP��ZOdQ��ZPdR��ZQdS��ZRddT�dU�ZSedV����������������ZTeHdW����������������ZUdX��ZVdY��ZWdZ��ZXd[��ZYd\��ZZd]��Z[d^��Z\ddT�d_�Z]d`��Z^dS�)d�URL)r,����_valF)�requotez@:z/+)�safe� protectedrH���)rI���rJ���z?/:@z=+&;T)rI���rJ����qsrH���)rI���rJ���rK���)rI���rK���rH���)rI���rH���)rI����+)�unsafe)rK���r"���N)�encoded�strictc����������������������|�t����������j��������d�������������t����������|������������|�u�r|S�t����������|������������t����������u�rt ����������|������������}nit����������|������������t ����������u�r|st ����������d�������������nAt����������|t����������������������rt ����������t����������|������������������������}nt����������d�������������|�s |d���������sd}d}nh|j ��������}|�t ����������d������������� �|j ��������}n"#�t����������$�r}t ����������d������������|�d�}~ww�xY�w|����������������������|j��������|j ��������||dd� ������������}|����������������������|d ���������������������}|r|����������������������|������������}|����������������������||��������������|����������������������|d���������������������} |����������������������|d ���������������������} t����������|d���������||| | ������������}t&�������������������������������|�������������}||_��������i�|_��������|S�)Nzstrict parameter is ignoredz$Cannot apply decoding to SplitResultz#Constructor parameter should be strr���r"���z/Invalid URL: host is required for absolute urlsz/Invalid URL: port can't be converted to integerT)�encoderH���������host�path��������r���)�warnings�warn�type�strr���r���� ValueError� isinstance� TypeError�hostname�port�_make_netloc�username�password�_PATH_REQUOTER�_normalize_path� _validate_authority_uri_abs_path�_QUERY_REQUOTER�_FRAGMENT_REQUOTER�object�__new__rG���r,���)�clsr1���rN���rO����netlocrT���r`����erU����query�fragmentr(���s��� r���rj���zURL.__new__����s��������M�7�8�8�8���9�9�����J���9�9�����3�-�-�C�C� �#�Y�Y�+� %� %��� I� �!G�H�H�H� I� ��S� !� !�� C��3�s�8�8�$�$�C�C��A�B�B�B��� E��q�6�� �������|���<�$�%V�W�W�W���8�D�D��!�������$�I�������������� ��)�)��L�#�,��d�4�QU��*��������%�%�c�!�f�-�-�D��� 1��*�*�4�0�0���0�0�d��0�F�F�F��'�'��A��/�/�E��-�-�c�!�f�5�5�H��c�!�f�f�d�E�8�D�D�C��~�~�c�"�"���� �����s����"C*��* D �4D�D )�scheme� authority�userrc���rT���r`���rU���rn����query_stringro���rN���c���������� ������������|r|s|s|s|rt����������d�������������|r|st����������d�������������|r| rt����������d�������������|� |�|�|�| �| �t����������d�������������|rG|r|}njt����������d|ddd������������} |����������������������| j��������| j��������| j��������| j��������d�������������}n(|s |s|s|sd}n|����������������������|||||�|�� ������������}|sm|����������������������|������������}|r|�� ��������������������|������������}|�� ��������������������||� �������������|����������������������| ������������} |����������������������| ������������} �|�t����������|||| | ������������d�������������}|r|� ��������������������|������������S�|S�)zCreates and returns a new URLz@Can't mix "authority" with "user", "password", "host" or "port".z/Can't build URL with "port" but without "host".z6Only one of "query" or "query_string" should be passedNz}NoneType is illegal for "scheme", "authority", "host", "path", "query_string", and "fragment" args, use empty string instead.r"���T)rQ���)rQ����encode_hostrS����rN���)r\���r^���r���ra���rb���rc���r_���r`����_PATH_QUOTERre���rf���� _QUERY_QUOTER�_FRAGMENT_QUOTER� with_query)rk���rp���rq���rr���rc���rT���r`���rU���rn���rs���ro���rN���rl����tmp�urls��� r����buildz URL.build����s*�����$��� �$�� �(�� �d�� �d�� ��S����� ���� Q��� Q��O�P�P�P��� W�\�� W��U�V�V�V��N�� ��|��|��#����Q����� � ��� ��� �"���!�"�i��R��<�<���)�)��L�#�,���c�h�t��*���������� �h�� �t�� �D�� ��F�F��%�%��h��d�w�;�PW�K��&�����F���� 6��#�#�D�)�)�D��� 1��*�*�4�0�0���0�0�d��0�F�F�F��,�,�\�:�:�L��+�+�H�5�5�H��c�����l�H�E�E�t� �� �� ����� ��>�>�%�(�(�(��Jr���c������������������(�����t����������d|��d��������������)NzInheriting a class z from URL is forbidden)r^���)rk���s��� r����__init_subclass__zURL.__init_subclass__��s�������K�c�K�K�K�L�L�Lr���c�����������������������|�j���������}|j��������s8|������������������������������������r$|j��������s|j��������r|���������������������d�������������}t ����������|������������S��N�/�rU���)rG���rU����is_absolutern���ro����_replacer����r(���r1���s��� r����__str__zURL.__str__ ��sW�������i���x�� )�D�,�,�.�.�� )�C�I�� )���� )��,�,�C�,�(�(�C��#���r���c������������������@�����|�j���������j����������dt����������|���������������d�S�)Nz('z'))� __class__r&���r[����r(���s��� r����__repr__zURL.__repr__&��s$�������.�)�:�:�S��Y�Y�:�:�:�:r���c������������������F�����t����������|����������������������������������d������������S�)N�ascii)r[���rQ���r����s��� r���� __bytes__z URL.__bytes__)��s�������4�y�y����(�(�(r���c������������������(����t����������|������������t����������urt����������S�|�j��������}|j��������s*|������������������������������������r|���������������������d�������������}|j��������}|j��������s*|�����������������������������������r|���������������������d�������������}||k����S�r����)rZ���rF����NotImplementedrG���rU���r����r����)r(����other�val1�val2s��� r����__eq__z URL.__eq__,��s��������E�{�{�c�!�!�!�!��y���y�� +�T�-�-�/�/�� +��=�=�c�=�*�*�D��z���y�� +�U�.�.�0�0�� +��=�=�c�=�*�*�D��t�|�r���c������������������������|�j������������������������������d������������}|�Q|�j��������}|j��������s*|������������������������������������r|���������������������d�������������}t ����������|������������x}|�j���������d<���|S�)N�hashr����r����)r,���r-���rG���rU���r����r����r����)r(����retr1���s��� r����__hash__zURL.__hash__:��sm�������k�o�o�f�%�%���;��)�C��8�� -�� 0� 0� 2� 2�� -��l�l��l�,�,��(,�S� � �1�C�$�+�f�%�� r���c������������������\�����t����������|������������t����������urt����������S�|�j��������|j��������k����S�r+����rZ���rF���r����rG����r(���r����s��� r����__le__z URL.__le__C���(�������E�{�{�c�!�!�!�!��y�E�J�&�&r���c������������������\�����t����������|������������t����������urt����������S�|�j��������|j��������k�����S�r+���r����r����s��� r����__lt__z URL.__lt__H���(�������E�{�{�c�!�!�!�!��y�5�:�%�%r���c������������������\�����t����������|������������t����������urt����������S�|�j��������|j��������k����S�r+���r����r����s��� r����__ge__z URL.__ge__M��r����r���c������������������\�����t����������|������������t����������urt����������S�|�j��������|j��������k����S�r+���r����r����s��� r����__gt__z URL.__gt__R��r����r���c������������������h�����t����������|������������t����������urt����������S�|����������������������|f������������S�r+���)rZ���r[���r�����_make_child�r(���r'���s��� r����__truediv__zURL.__truediv__W��s/�������D�z�z�S� � �!�!������(�(�(r���c������������������,�����|�����������������������|������������S�r+���)�update_query)r(���rn���s��� r����__mod__zURL.__mod__\��s������� � ��'�'�'r���r���c������������������|�����t����������|�j��������j��������p#|�j��������j��������p|�j��������j��������p|�j��������j��������������������S�r+���)�boolrG���rl���rU���rn���ro���r����s��� r����__bool__zURL.__bool___��s8��������I��W�� ��W�$�)�/�W�T�Y�EW� �� �� r���c�����������������������|�j���������fS�r+���)rG���r����s��� r����__getstate__zURL.__getstate__d��s������� �|�r���c�����������������������|d����������/t����������|d���������t����������������������r|d���������d���������|�_��������n |^|�_��������}i�|�_��������d�S�)Nr���r���rG���)r]����dictrG���r,���)r(����state�unuseds��� r����__setstate__zURL.__setstate__g��sH��������8�� �5��8�T� :� :���a���(�D�I�I�!&��D�I������r���c�����������������������|�j���������duS�)z�A check for absolute URLs. Return True for absolute ones (having scheme or starting with //), False otherwise. N)�raw_hostr����s��� r���r����zURL.is_absoluteo��s��������}�D�(�(r���c������������������p�����|�j����������dS�t�������������������������������|�j��������������������}|�dS�|�j���������|k����S�)z�A check for default port. Return True if port is default for specified scheme, e.g. 'http://python.org' or 'http://python.org:80', False otherwise. NF)r`���� DEFAULT_PORTSr-���rp���)r(����defaults��� r����is_default_portzURL.is_default_portx��s=��������9���5��#�#�D�K�0�0���?��5��y�G�#�#r���c������������������$����|�������������������������������������st����������d�������������|�j��������j��������st����������d�������������|�j��������}|����������������������dd|j��������|j��������������������}|���������������������|ddd�������������}t����������|d�������������S�)z}Return an URL with scheme, host and port parts only. user, password, path, query and fragment are removed. �URL should be absolutezURL should have schemeNr"���)rl���rU���rn���ro���Trv���) r����r\���rG���rp���ra���r_���r`���r����rF���)r(����vrl���r1���s��� r����originz URL.origin���s�����������!�!�� 7��5�6�6�6��y��� 7��5�6�6�6��I���"�"�4��q�z�1�6�B�B���j�j��R�r�B�j�G�G���3��%�%�%�%r���c�����������������������|�������������������������������������st����������d�������������|�j�����������������������������dd�������������}t ����������|d�������������S�)zhReturn a relative part of the URL. scheme, user, password, host and port are removed. r����r"���)rp���rl���Trv���)r����r\���rG���r����rF���r����s��� r����relativezURL.relative���sT����������!�!�� 7��5�6�6�6��i� � ��2� �6�6���3��%�%�%�%r���c�����������������������|�j���������j��������S�)zdScheme for absolute URLs. Empty string for relative URLs or URLs starting with // )rG���rp���r����s��� r���rp���z URL.scheme������������y��r���c�����������������������|�j���������j��������S�)zQEncoded authority part of URL. Empty string for relative URLs. )rG���rl���r����s��� r���� raw_authorityzURL.raw_authority���r����r���c������������������^�����|�����������������������|�j��������|�j��������|�j��������|�j��������d�������������S�)zQDecoded authority part of URL. Empty string for relative URLs. F�ru���)ra���rr���rc���rT���r`���r����s��� r���rq���z URL.authority���s4�������� � ��I�t�}�d�i�����!�� �� �� r���c������������������&�����|�j���������j��������}|sdS�|S�)zEEncoded user part of URL. None if user is missing. N)rG���rb����r(���r����s��� r����raw_userzURL.raw_user���s ��������i� ���� ��4�� r���c������������������6�����|�����������������������|�j��������������������S�)zEDecoded user part of URL. None if user is missing. )� _UNQUOTERr����r����s��� r���rr���zURL.user���s��������~�~�d�m�,�,�,r���c�����������������������|�j���������j��������S�)zMEncoded password part of URL. None if password is missing. )rG���rc���r����s��� r����raw_passwordzURL.raw_password������������y�!�!r���c������������������6�����|�����������������������|�j��������������������S�)zMDecoded password part of URL. None if password is missing. )r����r����r����s��� r���rc���zURL.password������������~�~�d�/�0�0�0r���c�����������������������|�j���������j��������S�)zDEncoded host part of URL. None for relative URLs. )rG���r_���r����s��� r���r����zURL.raw_host���s��������y�!�!r���c������������������B�����|�j���������}|�dS�d|v�r|S�t����������|������������S�)zDDecoded host part of URL. None for relative URLs. N�%)r�����_idna_decode)r(����raws��� r���rT���zURL.host���s3��������m���;��4��#�:�:���J��C� � � r���c������������������b�����|�j���������j��������p#t�������������������������������|�j���������j��������������������S�)z�Port part of URL, with scheme-based fallback. None for relative URLs or URLs without explicit port and scheme without default port substitution. )rG���r`���r����r-���rp���r����s��� r���r`���zURL.port��s&��������y�~�D��!2�!2�4�9�3C�!D�!D�Dr���c�����������������������|�j���������j��������S�)zyPort part of URL, without scheme-based fallback. None for relative URLs or URLs without explicit port. )rG���r`���r����s��� r���� explicit_portzURL.explicit_port ��s��������y�~�r���c������������������N�����|�j���������j��������}|s|������������������������������������rd}|S�)zNEncoded path of URL. / for absolute URLs without path part. r����)rG���rU���r����r����s��� r����raw_pathzURL.raw_path��s2��������i�n���� �t�'�'�)�)�� ��C�� r���c������������������6�����|�����������������������|�j��������������������S�)zNDecoded path of URL. / for absolute URLs without path part. )�_PATH_UNQUOTERr����r����s��� r���rU���zURL.path"��s��������"�"�4�=�1�1�1r���c������������������f�����t����������t����������|�j��������d�������������������������}t����������|������������S�)z�A MultiDictProxy representing parsed query parameters in decoded representation. Empty value if URL has no query part. T��keep_blank_values)r ���r����raw_query_stringr���r����s��� r���rn���z URL.query+��s/�������� �$�"7�4�P�P�P�Q�Q���c�"�"�"r���c�����������������������|�j���������j��������S�)zOEncoded query part of URL. Empty string if query is missing. )rG���rn���r����s��� r���r����zURL.raw_query_string6��s��������y��r���c������������������6�����|�����������������������|�j��������������������S�)zODecoded query part of URL. Empty string if query is missing. )�_QS_UNQUOTERr����r����s��� r���rs���zURL.query_string?��s�������� � ��!6�7�7�7r���c������������������@�����|�j���������s|�j��������S�|�j����������d|�j������������S�)zDecoded path of URL with query.�?)rs���rU���r����s��� r����path_qszURL.path_qsH��s0�������� �� ��9���)�1�1�d�/�1�1�1r���c������������������@�����|�j���������s|�j��������S�|�j����������d|�j������������S�)zEncoded path of URL with query.r����)r����r����r����s��� r����raw_path_qszURL.raw_path_qsO��s0��������$�� !��=� ��-�9�9�$�"7�9�9�9r���c�����������������������|�j���������j��������S�)zUEncoded fragment part of URL. Empty string if fragment is missing. )rG���ro���r����s��� r����raw_fragmentzURL.raw_fragmentV��r����r���c������������������6�����|�����������������������|�j��������������������S�)zUDecoded fragment part of URL. Empty string if fragment is missing. )r����r����r����s��� r���ro���zURL.fragment_��r����r���c������������������H����|�j���������j��������}|������������������������������������r(|sdg}nndg|dd�������������������������������d������������z���}nL|���������������������d������������r"dg|dd�������������������������������d������������z���}n|���������������������d������������}t����������|������������S�)zjA tuple containing encoded *path* parts. ('/',) for absolute URLs if *path* is missing. r����r���N)rG���rU���r�����split� startswith�tuple)r(���rU����partss��� r���� raw_partsz URL.raw_partsh��s���������y�~�������� (��� 4��������Q�R�R����s� 3� 3�3������s�#�#�� (����Q�R�R����s� 3� 3�3���� � �3�����U�|�|�r���c������������������D�������t������������fd���j��������D���������������������������S�)zjA tuple containing decoded *path* parts. ('/',) for absolute URLs if *path* is missing. c��������������3����B����K����|�]}�����������������������|������������V����d�S�r+����r����)�.0�partr(���s��� �r���� <genexpr>zURL.parts.<locals>.<genexpr>���s/�����������E�E�d�T�^�^�D�)�)�E�E�E�E�E�Er���)r����r����r����s���`r���r����z URL.parts|��s*���������E�E�E�E�d�n�E�E�E�E�E�Er���c������������������R����|�j���������}|r|dk����r;|�j��������s|�j��������r+t����������|�j�����������������������������dd�������������d�������������S�|�S�|���������������������d������������}|�j�����������������������������d���������������������|dd����������������������dd�������������}t����������|d�������������S�) z]A new URL with last part of path removed and cleaned up query and fragment. r����r"���)rn���ro���Trv���Nr<����rU���rn���ro���)r����r����r����rF���rG���r����r�����join)r(���rU���r����r1���s��� r����parentz URL.parent���s���������}���� �t�s�{�{�� �� T�D�$9�� T��4�9�-�-�B��-�D�D�d�S�S�S�S��K�� � �3�����i� � �c�h�h�u�S�b�S�z�&:�&:�"�r� �R�R���3��%�%�%�%r���c������������������t�����|�j���������}|������������������������������������r|dd����������}|sdS�|d���������S�|d���������S�)zThe last part of raw_parts.r���Nr"���r<���)r����r����)r(���r����s��� r����raw_namezURL.raw_name���sM���������������� ��!�"�"�I�E��� !��r��R�y� ���9�r���c������������������6�����|�����������������������|�j��������������������S�)zThe last part of parts.)r����r����r����s��� r���r'���zURL.name���s��������~�~�d�m�,�,�,r���c�����������������������|�j���������}|���������������������d������������}d|cxk�����rt����������|������������dz ��k�����r n�n ||d�����������S�dS�)Nr;���r���r���r"���)r�����rfind�len)r(���r'����is��� r���� raw_suffixzURL.raw_suffix���sV�������}���J�J�s�O�O���q� � � � �3�t�9�9�q�=� � � � � �����8�O��2r���c������������������6�����|�����������������������|�j��������������������S�r+���)r����r��r����s��� r����suffixz URL.suffix���s�������~�~�d�o�.�.�.r���c������������������������|�j���������}|���������������������d������������rdS�|���������������������d������������}t����������d��|���������������������d������������dd�����������D���������������������������S�)Nr;���r8���c��������������3���� ���K����|�] }d�|z���V���� dS��r;���Nr8���)r����r��s��� r���r����z#URL.raw_suffixes.<locals>.<genexpr>���s&����������D�D�f�S�6�\�D�D�D�D�D�Dr���r���)r�����endswith�lstripr����r����r����s��� r����raw_suffixeszURL.raw_suffixes���sc�������}���=�=����� ��2��{�{�3�����D�D�� � �3������0C�D�D�D�D�D�Dr���c������������������D�������t������������fd���j��������D���������������������������S�)Nc��������������3����B����K����|�]}�����������������������|������������V����d�S�r+���r����)r����r��r(���s��� �r���r����zURL.suffixes.<locals>.<genexpr>���s/�����������L�L��T�^�^�F�+�+�L�L�L�L�L�Lr���)r����r��r����s���`r����suffixeszURL.suffixes���s)��������L�L�L�L�$�:K�L�L�L�L�L�Lr���c�����������������������t����������|�������������dk����r7t����������|������������dk����r&|���������������������d������������st����������d�������������dS�dS�dS�)znEnsure that path in URL with authority starts with a leading slash. Raise ValueError if not. r���r����zCPath in a URL with authority should start with a slash ('/') if setN)r��r����r\���rS���s��� r���rf���z$URL._validate_authority_uri_abs_path���sU��������t�9�9�q�=�=�S��Y�Y��]�]�4�?�?�3�3G�3G�]��U����� ���=�]�]�]�]r���c�����������������������g�}t����������|������������D�]�}|s�|d���������dk����rt����������d|�d��������������|r|n|����������������������|������������}d|v�r0|d��t����������|���������������������d������������������������D���������������z ��}�q|dk����r|���������������������|���������������|������������������������������������|�j��������j��������}|r,g�|���������������������d���������������������������������d�������������|�}|�� ����������������������������������r"t����������|������������}|r|d���������dk����rdg|�}d���������������������|������������}t����������|�j��������� ��������������������|dd�������������d � ������������S�)zIadd segments to self._val.path, accounting for absolute vs relative pathsr���r����zAppending path z! starting from slash is forbiddenc��������������3����*���K����|�]}|r |d�k����� |V����dS�r ��r8���)r�����subs��� r���r����z"URL._make_child.<locals>.<genexpr>���s7���������������s��GJ�c�z�z�C�z�z�z�z���r���r;���r"���r����Trv���)�reversedr\���rw���r����r@����reverserG���rU����rstripr����rD���r����rF���r����)r(���rA���rN����parsedrC����old_path�new_paths��� r���r����zURL._make_child���s���������H�%�%�� #�� #�C��� ���1�v��}�}� �N�c�N�N�N�������!�<�#�#�d�&7�&7��&<�&<�C��c�z�z������#+�C�I�I�c�N�N�#;�#;���������������� � �c�"�"�"���������9�>���� A�@�x���s�+�+�1�1�#�6�6�@��@�F������� '�-�f�5�5�F��� '�&��)�r�/�/����v����8�8�F�#�#����I���H�B���D�D�d� �� �� �� r���c�����������������������d}|����������������������d������������rd}|dd�����������}|���������������������d������������}|d���������������������t����������|������������������������z���S�)Nr"���r����r���)r����r����r����rD���)rk���rU����prefixrA���s��� r���re���zURL._normalize_path���s`����������?�?�3���� ���F�����8�D��:�:�c�?�?������!9�(�!C�!C�D�D�D�Dr���c������������������<���� �|����������������������d������������\��}}}t����������|������������}|j��������}|r|d|z���z ��}|j��������dk����rd|z���dz���}nM#�t����������$�r@�|�����������������������������������}|s|�����������������������������������r|cY�S�t����������|������������}Y�nw�xY�w|S�)Nr���������[�])� partitionr���� compressed�versionr\����lower�isascii�_idna_encode)rk���rT����human�ip�sep�zones��� r����_encode_hostzURL._encode_host���s������� (� �N�N�3�/�/�M�B��T��B���B���=�D��� #���d� �"���z�Q����T�z�C�'������� &�� &�� &��:�:�<�<�D� ��� ������� �������%�%�D�D�D� &������s����(A��6B�B�Bc����������������������|r|�j���������n|�j��������}|r|����������������������|������������} n|} |�| dz���t����������|������������z���} |�(|sd}n |r�||������������}|r�||������������}|dz���|z���}n|r |r�||������������}|r|dz���| z���} | S�)N�:r"����@)� _REQUOTER�_QUOTERr*��r[���) rk���rr���rc���rT���r`���rQ���ru���rH����quoterr����s ��� r���ra���zURL._make_netloc��s��������#*�:����s�{���� ��"�"�4�(�(�C�C��C�����)�c�$�i�i�'�C����� (������(�!�6�$�<�<�D��� ,�!�6�(�+�+���#�:��(�D�D� �� �f�� ��6�$�<�<�D��� #���*�s�"�C�� r���c����������������������t����������|t����������������������st����������d�������������|������������������������������������st ����������d�������������t����������|�j�����������������������������|������������������������������������������������d�������������S�)z&Return a new URL with scheme replaced.zInvalid scheme typez3scheme replacement is not allowed for relative URLs)rp���Trv���) r]���r[���r^���r����r\���rF���rG���r����r#��)r(���rp���s��� r����with_schemezURL.with_scheme(��sw��������&�#�&�&�� 3��1�2�2�2����!�!�� T��R�S�S�S��4�9�%�%�V�\�\�^�^�%�<�<�d�K�K�K�Kr���c����������� �������v����|�j���������}|�d}nAt����������|t����������������������r|����������������������|������������}|j��������}nt����������d�������������|������������������������������������st����������d�������������t����������|�j���������� ��������������������|�� ��������������������|||j��������|j���������������������������������d�������������S�)z�Return a new URL with user replaced. Autoencode user if needed. Clear user/password if user is None. NzInvalid user typez1user replacement is not allowed for relative URLs�rl���Trv���) rG���r]���r[���r/��rc���r^���r����r\���rF���r����ra���r_���r`���)r(���rr���r1���rc���s��� r���� with_userz URL.with_user1��s���������i���<��H�H� ��c� "� "�� 1��<�<��%�%�D��|�H�H��/�0�0�0����!�!�� R��P�Q�Q�Q���I����(�(��x���s�x�P�P�� �� �� ��� �� �� �� r���c����������� �������n����|�n:t����������|t����������������������r|����������������������|������������}nt����������d�������������|������������������������������������st����������d�������������|�j��������}t����������|�j�����������������������������|�� ��������������������|j ��������||j��������|j���������������������������������d�������������S�)z�Return a new URL with password replaced. Autoencode password if needed. Clear password if argument is None. NzInvalid password typez5password replacement is not allowed for relative URLsr4��Trv���) r]���r[���r/��r^���r����r\���rG���rF���r����ra���rb���r_���r`���)r(���rc���r1���s��� r���� with_passwordzURL.with_passwordK��s����������� ��#� &� &�� 5��|�|�H�-�-�H�H��3�4�4�4����!�!�� V��T�U�U�U��i����I����(�(���x���s�x�X�X�� �� �� ��� �� �� �� r���c����������� �������^����t����������|t����������������������st����������d�������������|������������������������������������st ����������d�������������|st ����������d�������������|�j��������}t ����������|�j�����������������������������|����������������������|j ��������|j ��������||j���������������������������������d�������������S�)z�Return a new URL with host replaced. Autoencode host if needed. Changing host for relative URLs is not allowed, use .join() instead. zInvalid host typez1host replacement is not allowed for relative URLszhost removing is not allowedr4��Trv���)r]���r[���r^���r����r\���rG���rF���r����ra���rb���rc���r`���)r(���rT���r1���s��� r���� with_hostz URL.with_hostd��s���������$��$�$�� 1��/�0�0�0����!�!�� R��P�Q�Q�Q��� =��;�<�<�<��i����I����(�(���s�|�T�3�8�T�T�� �� �� ��� �� �� �� r���c����������� ������������|�gt����������|t����������������������st����������|t����������������������st����������dt ����������|����������������������������|dk�����s|dk����rt����������d|����������������|������������������������������������st����������d�������������|�j��������}t����������|�j��������� ��������������������|�� ��������������������|j��������|j��������|j ��������|�������������������������d� ������������S�) z`Return a new URL with port replaced. Clear port to default if None is passed. Nz port should be int or None, got r���i����z&port must be between 0 and 65535, got z1port replacement is not allowed for relative URLsr4��Trv���)r]���r�����intr^���rZ���r\���r����rG���rF���r����ra���rb���rc���r_���)r(���r`���r1���s��� r���� with_portz URL.with_port|��s�����������$��%�%�� Q�Z��c�-B�-B�� Q�� O�4��:�:� O� O�P�P�P��a�x�x�4�%�<�<� �!P�$�!P�!P�Q�Q�Q����!�!�� R��P�Q�Q�Q��i����I����(�(���s�|�S�\�SW�X�X�� �� �� ��� �� �� �� r���rv���c�����������������"����|s>|�����������������������|������������}|������������������������������������r|����������������������|������������}t����������|������������dk����r|d���������dk����rd|z���}t ����������|�j�����������������������������|dd�������������d�������������S�)z$Return a new URL with path replaced.r���r����r"���r����Trv���)rw���r����re���r��rF���rG���r����)r(���rU���rN���s��� r���� with_pathz URL.with_path���s��������� 2��$�$�T�*�*�D����!�!�� 2��+�+�D�1�1���t�9�9�q�=�=�T�!�W��^�^���:�D��4�9�%�%�4�r�B�%�G�G�QU�V�V�V�Vr���c��������������#������K����|D�]�\��}}t����������|t����������t����������f������������r5|D�]1}�||������������dz����||����������������������|������������������������z���V����2�V�||������������dz����||����������������������|������������������������z���V�����d�S�)N�=)r]����listr����� _query_var)rk���r0���pairs�keyr1���r����s��� r����_query_seq_pairszURL._query_seq_pairs���s������������� F�� F�H�C���#��e�}�-�-�� F���H��H�A� �&��+�+��+�f�f�S�^�^�A�5F�5F�.G�.G�G�G�G�G�G�H���f�S�k�k�C�'�&�&�����1D�1D�*E�*E�E�E�E�E�E� F�� Fr���c����������������������t����������|�������������}t����������|t����������������������r|�S�t����������|t����������������������rbt ����������j��������|�������������rt ����������d�������������t ����������j��������|�������������rt ����������d�������������t����������t����������|�������������������������S�t����������|t����������������������r%|t����������urt����������t����������|�������������������������S�t����������d���������������������|�|�������������������������)Nzfloat('inf') is not supportedzfloat('nan') is not supportedzMInvalid variable type: value should be str, int or float, got {!r} of type {})rZ���� issubclassr[����float�math�isinfr\����isnanr;��r����r^����format)r����rk���s��� r���rB��zURL._query_var���s��������1�g�g���c�3���� ��H��c�5�!�!�� !��z�!�}�}�� B� �!@�A�A�A��z�!�}�}�� B� �!@�A�A�A��u�Q�x�x�=�=� ��c�3���� �C�t�O�O��s�1�v�v�;�;��� ����3��� �� �� r���c�������������������������|r%t����������|������������dk����rt����������d�������������|}n+t����������|������������dk����r |d���������}nt����������d�������������|�d�}�nt����������|t����������������������rC��j���������d���������������������������������������������|�����������������������������������������������������������}n�t����������|t����������������������r��� ��������������������|������������}nt����������|t����������t����������t����������f������������rt����������d�������������t����������|t����������������������r*��j���������d������������������������fd�|D���������������������������}nt����������d�������������|S�)Nr���z7Either kwargs or single query parameter must be presentr����&zAInvalid query type: bytes, bytearray and memoryview are forbiddenc��������������3����x����K����|�]4\��}}��|������������d�z����������������������������|������������������������z���V����5dS�)r@��N)rB��)r�����kr����r0��r(���s��� ��r���r����z%URL._get_str_query.<locals>.<genexpr>���s_���������������AE��A���q� � �C��&�&�����);�);�"<�"<�<�����������r���zRInvalid query type: only str, mapping or sequence of (key, value) pairs is allowed)r��r\���r]���r����_QUERY_PART_QUOTERr����rE���itemsr[���rx����bytes� bytearray� memoryviewr^���r���)r(����args�kwargsrn���r0��s���` @r����_get_str_queryzURL._get_str_query���s���������� X��4�y�y�1�}�}� �M��������E�E� ��Y�Y�!�^�^���G�E�E��V�W�W�W��=��E�E� ��w� '� '�� ��,�F��H�H�T�2�2�6�5�;�;�=�=�I�I�J�J�E�E� ��s� #� #�� ��&�&�u�-�-�E�E� ���y�*�=� >� >�� ��S����� ����x� (� (�� ��,�F� ��H�H�����������IN����������E�E���<����� � ��r���c������������������������|�j���������|i�|��pd}t����������|�j�����������������������������|�j��������j��������|�������������d�������������S�)a[��Return a new URL with query part replaced. Accepts any Mapping (e.g. dict, multidict.MultiDict instances) or str, autoencode the argument if needed. A sequence of (key, value) pairs is supported as well. It also can take an arbitrary number of keyword arguments. Clear query if None is passed. r"���)rU���rn���Trv���)rX��rF���rG���r����rU���)r(���rV��rW��� new_querys��� r���rz���zURL.with_query���sU�������(�D�'��8��8�8�>�B� ���I���D�I�N�)��D�D�d� �� �� �� r���c������������������0�����|�j���������|i�|��}d}|�Gt����������t����������|d�������������������������}t����������|�j��������������������}|���������������������|�������������t����������|�j�����������������������������|�����������������������|������������pd�������������d�������������S�)z)Return a new URL with query part updated.NTr����r"���)rn���rv���)rX��r ���r���rn����updaterF���rG���r����)r(���rV��rW���srn���rZ��s��� r���r����zURL.update_query���s��������D���0��0�0�����=�!�)�A��"F�"F�"F�G�G�I��d�j�)�)�E��L�L��#�#�#���I���T�%8�%8��%?�%?�%E�2��F�F�PT� �� �� �� r���c������������������������|�d}n9t����������|t����������������������st����������d�������������|����������������������|������������}|�j��������|k����r|�S�t����������|�j�����������������������������|�������������d�������������S�)z�Return a new URL with fragment replaced. Autoencode fragment if needed. Clear fragment to default if None is passed. Nr"���zInvalid fragment type)ro���Trv���)r]���r[���r^���ry���r����rF���rG���r����)r(���ro���r����s��� r���� with_fragmentzURL.with_fragment��s~����������L�L��H�c�*�*�� ;��3�4�4�4��0�0��:�:�L����,�,��K��4�9�%�%�|�%�<�<�d�K�K�K�Kr���c������������������"����t����������|t����������������������st����������d�������������d|v�rt����������d�������������|����������������������|������������}|dv�rt����������d�������������t����������|�j��������������������}|������������������������������������r4t����������|������������dk����r|� ��������������������|�������������n||d<���d|d <���n||d<���|d ���������dk����rd|d <���t����������|�j�����������������������������d� ��������������������|������������dd� ������������d�������������S�) z�Return a new URL with name (last part of path) replaced. Query and fragment parts are cleaned up. Name is encoded if needed. zInvalid name typer����zSlash in name is not allowedr=���z. and .. values are forbiddenr���r<���r"���r���r����Trv���)r]���r[���r^���r\���rw���rA��r����r����r��r@���rF���rG���r����r����)r(���r'���r����s��� r���� with_namez URL.with_name��s"�������$��$�$�� 1��/�0�0�0��$�;�;��;�<�<�<�� � ��&�&���;����<�=�=�=��T�^�$�$�������� ��5�z�z�Q������T�"�"�"�"� ��b� ��E�!�H�H��E�"�I��Q�x�3�����a����I���C�H�H�U�O�O�2���K�K�� �� �� �� r���c������������������\����t����������|t����������������������st����������d�������������|r|���������������������d������������r|dk����rt ����������d|���������������|�j��������}|st ����������|��d��������������|�j��������}|s||z���}n|dt����������|�����������������������|z���}|����������������������|������������S�)z�Return a new URL with suffix (file extension of name) replaced. Query and fragment parts are cleaned up. suffix is encoded if needed. zInvalid suffix typer;���zInvalid suffix z has an empty nameN) r]���r[���r^���r����r\���r����r��r��ra��)r(���r��r'���� old_suffixs��� r����with_suffixzURL.with_suffix4��s���������&�#�&�&�� 3��1�2�2�2��� ;�&�+�+�C�0�0�� ;�F�c�M�M��9�v�9�9�:�:�:��}���� <���:�:�:�;�;�;��_� ��� 5��&�=�D�D��*�3�z�?�?�*�*�+�f�4�D��~�~�d�#�#�#r���c�����������������������t����������|t����������������������st����������d�������������t����������t����������t ����������|�������������t ����������|������������������������d�������������S�)u_��Join URLs Construct a full (“absolute”) URL by combining a “base URL” (self) with another URL (url). Informally, this uses components of the base URL, in particular the addressing scheme, the network location and (part of) the path, to provide missing components in the relative URL. zurl should be URLTrv���)r]���rF���r^���r ���r[���)r(���r|���s��� r���r����zURL.joinI��sN��������#�s�#�#�� 1��/�0�0�0��7�3�t�9�9�c�#�h�h�/�/��>�>�>�>r���c�����������������0�����|�����������������������||�������������S�)zAReturn a new URL with the elements in other appended to the path.rv���)r����)r(���rN���r����s��� r����joinpathzURL.joinpathZ��s����������w��7�7�7r���c�����������������������t����������|�j��������d������������}t����������|�j��������d������������}|�j��������}|r|����������������������|�j��������d�������������}t����������|�j��������d������������}d���������������������d��|�j�������������������������������������������D���������������������������}t����������|�j ��������d������������}t����������t����������|�j��������|�� ��������������������||||�j��������j��������d� ������������|||������������������������S�) z<Return decoded human readable string for URL representation.z#/:?@T)r&��z#?rN��c��������������3�������K����|�]9\��}}d�����������������������t����������|d������������t����������|d������������������������V����:dS�)z{}={}z#&+;=N)rL���_human_quote)r����rP��r����s��� r���r����z!URL.human_repr.<locals>.<genexpr>f��s\����������� �� ���1�� �N�N�<��7�3�3�\�!�W�5M�5M�N�N� �� �� �� �� �� r���r"���Fr����)rj��rr���rc���rT���r*��rU���r����rn���rR��ro���r���r���rp���ra���rG���r`���)r(���rr���rc���rT���rU���rs���ro���s��� r���� human_reprzURL.human_repr^��s������D�I�w�/�/���� �w�7�7���y���� <��$�$�T�Y�d�$�;�;�D��D�I�t�,�,���x�x�� �� �� �(�(�*�*� �� �� �� �� ��� �� �r�2�2�������!�!�����I�N� %��"��������� �� � �� �� r���)r"���)F)FTF)_r&���r���r6���� __slots__r���r/��r.��rw���rd���rx���rg���rQ��ry���rh���r���r����r����r����rj����classmethodr}���r���r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r�����propertyrp���r����r ���rq���r����rr���r����rc���r����rT���r`���r����r����rU���rn���r����rs���r����r����r����ro���r����r����r����r����r'���r��r��r��r���staticmethodrf���r����re���r*��ra���r2��r5��r7��r9��r<��r>��rE��rB��rX��rz���r����r_��ra��rd��r����rg��rk��r8���r���r���rF���rF���O���s��������������N�#�I��g�e�$�$�$�G��� � �I��7���e�D�D�D�L��W�$�$�7�7�7�N��G��6�d�E�R�R�R�M��g�6�V��E�E�E�O� ��f��u�E�E�E���w�F�E�:�:�:�� ��f�-�-�-��� ���I��Y�c�*�*�*�N��9��%�%�%�L�.��d��.��.��.��.��.�`����� �� � � �����D��D��D��D���[�D�LM��M��M������;��;��;�)��)��)�����������'��'��'� &��&��&� '��'��'� &��&��&� )��)��)� (��(��(� �$�� �� �� �� � ����������)��)��)� $�� $�� $�&��&��&� &�� &�� &��� �� ���X� ��� �� ���X� ��� �� ���_� ��� �� ���X� ���-��-���_�-���"��"���X�"���1��1���_�1���"��"���X�"���!��!���_�!� ��E��E���X�E��������X���� �� ���X� ���2��2���_�2���#��#���_�#��������X����8��8���_�8���2��2���_�2���:��:���_�:���"��"���X�"���1��1���_�1��������_��&��F��F���_�F���&��&���_�&��� �� ���_� ���-��-���_�-��������_����/��/���_�/���E��E���_�E���M��M���_�M��������\�� �� �� �� �@��E��E���[�E����������[��*��QV��������[��2L��L��L� �� �� �4 �� �� �2 �� �� �0 �� �� �,�*/��W��W��W��W��W���F��F���[�F��� �� ���\� �$&��&��&�P �� �� �( �� �� �L��L��L�& �� �� �@$��$��$�*?��?��?�"�(-��8��8��8��8��8� �� �� �� �� r���rF���c������������������������|�s|�S�d|z���D�]-}||�v�r'|�����������������������|dt����������|������������d��������������}��.|������������������������������������r|�S�d���������������������d��|�D���������������������������S�)Nr�����02Xr"���c��������������3����`���K����|�])}|������������������������������������r|nt����������|������������V����*d�S�r+���)�isprintabler ���)r�����cs��� r���r����z_human_quote.<locals>.<genexpr>���s9����������A�A�!�� � ���5�1�1�U�1�X�X�A�A�A�A�A�Ar���)�replace�ordrs��r����)r]��rM���rt��s��� r���rj��rj��|��s������������ �6�\��/��/����6�6�� � �!�-��Q���-�-�-�.�.�A���}�}������� �7�7�A�A�q�A�A�A�A�A�Ar�������c������������������������ �t����������j��������|����������������������d������������������������S�#�t����������$�r+�|����������������������d���������������������������������d������������cY�S�w�xY�w)Nr�����idna)ry���decoderQ����UnicodeError)r����s��� r���r����r�������sd������2��{�3�:�:�g�.�.�/�/�/����2��2��2��z�z�'�"�"�)�)�&�1�1�1�1�1�2���s����&)��2A�Ac������������������������ �t����������j��������|�d����������������������������������d������������S�#�t����������$�r+�|����������������������d���������������������������������d������������cY�S�w�xY�w)NT)�uts46r����ry��)ry��rQ���rz��r{��)rT���s��� r���r%��r%�����sk������3��{�4�t�,�,�,�3�3�G�<�<�<����3��3��3��{�{�6�"�"�)�)�'�2�2�2�2�2�3���s����(+��2A �A c�������������������j�����t�����������������������������������������������t����������������������������������������������d�S�r+���)r�����cache_clearr%��r8���r���r���r��r�����s,�������������������r���c�������������������h�����t����������������������������������������������t���������������������������������������������d�S�)N)�idna_encode�idna_decode)r%��� cache_infor����r8���r���r���r���r������s1�������$�.�.�0�0�#�.�.�0�0�����r�����idna_encode_size�idna_decode_sizec������������������������t����������j��������|�������������t����������j��������������������a�t����������j��������|������������t����������j��������������������ad�S�r+���)� functools� lru_cacher%���__wrapped__r����r���s��� r����cache_configurer������sD�������9�9�&�'7�8�8��9Q�R�R�L�8�9�&�'7�8�8��9Q�R�R�L�L�Lr���)'r���rI��rX����collections.abcr���r���� contextlibr���� ipaddressr����urllib.parser���r���r ���r ���r���r���ry��� multidictr ���r����_quotingr���r���r����ri���r7���r���r ���rD���rF���rj��� _MAXCACHEr���r����r%��r��r���r���r8���r���r����<module>r������sV�����������������������-��-��-��-��-��-��-��-�������������� �� �� �� �� �� ��U��U��U��U��U��U��U��U��U��U��U��U��U��U��U��U�������/��/��/��/��/��/��/��/��(��(��(��(��(��(��(��(��c��C�@�@� ��6�8�8������6��������� =��=��=��=��=��=��=��=�>�����0��i ��i ��i ��i ��i ��i ��i ����i �X!B��B��B�� � �����Y���2��2�� ��2�����Y���3��3�� ��3���������� �����������(1�I��S��S��S��S����S��S��Sr���