� u��gB����ddlZddlZddlmZmZmZmZmZmZm Z m Z d*de de dee fd�Z e d��Ze dej� ��Ze d ��Ze d ��Ze d ��Ze d ��Ze d��Ze d��Ze d��Ze d��Ze d��Ze d��Ze d��Ze d��Ze d��ZGd�de��ZGd�de��ZGd�d��Z Gd�de!��Z"Gd�d ��Z#d!ee de de fd"�Z$d#e#dee fd$�Z%d#e#de fd%�Z&d#e#de fd&�Z'd#e#defd'�Z(d(ee deefd)�Z)dS)+�N)�IO�Iterator�Match� NamedTuple�Optional�Pattern�Sequence�Tuple�string� extra_flags�returnc�F�tj|tj|z��S�N)�re�compile�UNICODE)r r s �]/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/dotenv/parser.py� make_regexrs�� �:�f�b�j�;�6� 7� 7�7�z (\r\n|\n|\r)z\s*)r z [^\S\r\n]*z(?:export[^\S\r\n]+)?z '([^']+)'z ([^=\#\s]+)z (=[^\S\r\n]*)z'((?:\\'|[^'])*)'z"((?:\\"|[^"])*)"z ([^\r\n]*)z(?:[^\S\r\n]*#[^\r\n]*)?z[^\S\r\n]*(?:\r\n|\n|\r|$)z[^\r\n]*(?:\r|\n|\r\n)?z\\[\\'\"abfnrtv]z\\[\\']c�$�eZdZUeed<eed<dS)�Originalr �lineN)�__name__� __module__� __qualname__�str�__annotations__�int�rrrrs"������� �K�K�K� �I�I�I�I�Irrc�P�eZdZUeeed<eeed<eed<eed<dS)�Binding�key�value�original�errorN)rrrrrrr�boolrrrr!r!!sE������� �#����� �C�=�������� �K�K�K�K�Krr!c�R�eZdZdededdfd�Zed d���Zd d�Zd eddfd �Z dS) �Position�charsrr Nc�"�||_||_dSr�r)r)�selfr)rs r�__init__zPosition.__init__)s���� ��� � � rc��|dd���S)Nr�r+r)�clss r�startzPosition.start-s���s���#�#�#�#r�otherc�6�|j|_|j|_dSrr+)r,r2s r�setz Position.set1s���[�� ��J�� � � rr c��|xjt|��z c_|xjttjt |����z c_dSr)r)�lenrr�findall�_newline)r,r s r�advancezPosition.advance5s@�� � � �c�&�k�k�!� � � � � �S���H�f�5�5�6�6�6� � � � r)r r()r2r(r N) rrrrr-� classmethodr1r4rr9rrrr(r((s��������c����������$�$�$��[�$�����7�c�7�d�7�7�7�7�7�7rr(c��eZdZdS)�ErrorN)rrrrrrr<r<:s�������Drr<c��eZdZdeeddfd�Zdefd�Zd d�Zde fd�Z de defd �Z de defd �Z d eedeefd �ZdS)�Reader�streamr Nc��|���|_t���|_t���|_dSr)�readr r(r1�position�mark)r,r?s rr-zReader.__init__?s7���k�k�m�m�� � ���(�(�� ��N�N�$�$�� � � rc�F�|jjt|j��kSr)rBr)r6r �r,s r�has_nextzReader.has_nextDs���}�"�S���%5�%5�5�5rc�D�|j�|j��dSr)rCr4rBrEs r�set_markzReader.set_markGs�� � � � �d�m�$�$�$�$�$rc�z�t|j|jj|jj�|jj���S)N)r r)rr rCr)rBrrEs r� get_markedzReader.get_markedJs8����;�t�y��t�}�/B�B�C���� � � � r�countc�N�|j|jj|jj|z�Sr)r rBr))r,rKs r�peekz Reader.peekPs#���{�4�=�.�t�}�/B�U�/J�J�K�Krc���|j|jj|jj|z�}t|��|krt d���|j�|��|S)Nzread: End of string)r rBr)r6r<r9)r,rK�results rrAz Reader.readSs]����T�]�0���1D�u�1L�L�M�� �v�;�;�� � ��-�.�.� .� � ���f�%�%�%�� r�regexc�,�|�|j|jj��}|�t d���|j�|j|���|������|���S)Nzread_regex: Pattern not found) �matchr rBr)r<r9r1�end�groups)r,rPrRs r� read_regexzReader.read_regexZsp��� � �D�K���)<�=�=�� �=��7�8�8� 8� � ���d�k�%�+�+�-�-�� � � � �*C�D�E�E�E��|�|�~�~�r)r N)rrrrrr-r&rFrHrrJrrMrArr rUrrrr>r>>s�������%�r�#�w�%�4�%�%�%�%� 6�$�6�6�6�6�%�%�%�%� �H� � � � � L�#�L�#�L�L�L�L��#��#�������� ���#�������rr>rPc�h�dttdtfd�}|�||��S)NrRr c�R�tj|�d��d��S)Nrzunicode-escape)�codecs�decode�group)rRs r� decode_matchz$decode_escapes.<locals>.decode_matchcs���}�U�[�[��^�^�-=�>�>�>r)rr�sub)rPr r[s r�decode_escapesr]bs>��?�E�#�J�?�3�?�?�?�?� �9�9�\�6� *� *�*r�readerc��|�d��}|dkrdS|dkr|�t��\}n|�t��\}|S)Nr/�#�')rMrU�_single_quoted_key� _unquoted_key)r^�charr"s r� parse_keyreisZ�� �;�;�q�>�>�D� �s�{�{��t� �����"�"�#5�6�6�����"�"�=�1�1��� �Jrc��|�t��\}tjdd|�����S)Nz\s+#.*�)rU�_unquoted_valuerr\�rstrip)r^�parts r�parse_unquoted_valuerkts7������0�0�G�T� �6�)�R�� &� &� -� -� /� /�/rc�2�|�d��}|dkr1|�t��\}tt|��S|dkr1|�t ��\}tt |��S|dvrdSt|��S)Nr/ra�")rg� � rg)rMrU�_single_quoted_valuer]�_single_quote_escapes�_double_quoted_value�_double_quote_escapesrk)r^rdr#s r� parse_valuertys��� �;�;�q�>�>�D� �t�|�|��$�$�%9�:�:����3�U�;�;�;� �����$�$�%9�:�:����3�U�;�;�;� �$� $� $��s�#�F�+�+�+rc�2�|��� |�t��|���s%t dd|���d���S|�t ��t|��}|�t��|� d��dkr*|�t��t|��}nd}|�t��|�t��t |||���d���S#t$rB|�t��t dd|���d���cYSwxYw)NF)r"r#r$r%r/�=T)rHrU�_multiline_whitespacerFr!rJ�_exportre� _whitespacerM� _equal_signrt�_comment� _end_of_liner<� _rest_of_line)r^r"r#s r� parse_bindingr~�s��� �O�O����  ����/�0�0�0���� � � �����*�*�,�,�� ��� � ���'�"�"�"���������+�&�&�&� �;�;�q�>�>�S� � � � � �k� *� *� *�#.�v�#6�#6�E�E��E����(�#�#�#����,�'�'�'�����&�&�(�(��  � � � �� � � � ����-�(�(�(�����&�&�(�(��  � � � � � � ���s�AE �)C E � A F�Fr?c#�K�t|��}|���r't|��V�|����%dSdSr)r>rFr~)r?r^s r� parse_streamr��s_���� �F�^�^�F� �/�/� � �$��F�#�#�#�#�#� �/�/� � �$�$�$�$�$r)r)*rXr�typingrrrrrrr r rrrr8� MULTILINErwryrxrbrcrzrprrrhr{r|r}rsrqrr!r(� Exceptionr<r>r]rerkrtr~r�rrr�<module>r�sc�� � � � � � � � �.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�8�8�s�8��8�W�S�\�8�8�8�8� �:�o� &� &��"� �6�r�|�D�D�D���j��'�'� � �*�-� .� .���Z� �-�-��� �>�*�*� ��j�)�*�*� �!�z�"6�7�7��!�z�"6�7�7���*�]�+�+�� �:�1� 2� 2���z�7�8�8� �� �5�6�6� �"� �#6�7�7��"� �:�.�.�������z���� �����j����7�7�7�7�7�7�7�7�$ � � � � �I� � � �!�!�!�!�!�!�!�!�H+�'�#�,�+��+��+�+�+�+��f���#������0��0�C�0�0�0�0� ,�� ,�3� ,� ,� ,� ,�" �&�" �W�" �" �" �" �J$��C��$�X�g�%6�$�$�$�$�$�$r
Memory