Ë
    \Rði‘  ã                  óZ   — d Z ddlmZ ddlZddlZ G d„ de«      Z ed«      Z ed«      Zy)z_Provides the PackURI value type.

Also some useful known pack URI strings such as PACKAGE_URI.
é    )ÚannotationsNc                  óº   — e Zd ZdZ ej
                  d«      Zdd„Zedd„«       Z	e
dd„«       Ze
dd„«       Ze
d„ «       Ze
d„ «       Ze
d	„ «       Zdd
„Ze
d„ «       Zy)ÚPackURIzxProvides access to pack URI components such as the baseURI and the filename slice.

    Behaves as |str| otherwise.
    z([a-zA-Z]+)([1-9][0-9]*)?c                ó^   — |d   dk7  rd}t        ||z  «      ‚t        j                  | |«      S )Nr   ú/z'PackURI must begin with slash, got '%s')Ú
ValueErrorÚstrÚ__new__)ÚclsÚpack_uri_strÚtmpls      úK/var/www/html/Extract/venv/lib/python3.12/site-packages/docx/opc/packuri.pyr
   zPackURI.__new__   s4   € Ø˜‰?˜cÒ!Ø<ˆDÜ˜T LÑ0Ó1Ð1Ü�{‰{˜3 Ó-Ð-ó    c                ón   — t        j                  | |«      }t        j                  |«      }t        |«      S )zIThe absolute PackURI formed by translating `relative_ref` onto `baseURI`.)Ú	posixpathÚjoinÚabspathr   )ÚbaseURIÚrelative_refÚ
joined_uriÚabs_uris       r   Úfrom_rel_refzPackURI.from_rel_ref   s/   € ô —^‘^ G¨\Ó:ˆ
Ü×#Ñ# JÓ/ˆÜ�wÓÐr   c                ó2   — t        j                  | «      d   S )zÐThe base URI of this pack URI, the directory portion, roughly speaking.

        E.g. ``'/ppt/slides'`` for ``'/ppt/slides/slide1.xml'``. For the package pseudo-
        partname '/', baseURI is '/'.
        r   ©r   Úsplit©Úselfs    r   r   zPackURI.baseURI!   ó   € ô �‰˜tÓ$ QÑ'Ð'r   c                ób   — t        j                  | «      d   }|j                  d«      r|dd S |S )z‡The extension portion of this pack URI, e.g. ``'xml'`` for ``'/word/document.xml'``.

        Note the period is not included.
        é   ú.N)r   ÚsplitextÚ
startswith)r   Úraw_exts     r   ÚextzPackURI.ext*   s7   € ô ×$Ñ$ TÓ*¨1Ñ-ˆØ%×0Ñ0°Ô5ˆw�q�rˆ{ÐB¸7ÐBr   c                ó2   — t        j                  | «      d   S )z¯The "filename" portion of this pack URI, e.g. ``'slide1.xml'`` for
        ``'/ppt/slides/slide1.xml'``.

        For the package pseudo-partname '/', filename is ''.
        r    r   r   s    r   ÚfilenamezPackURI.filename4   r   r   c                óä   — | j                   }|syt        j                  |«      d   }| j                  j	                  |«      }|€y|j                  d«      rt        |j                  d«      «      S y)z½Return partname index as integer for tuple partname or None for singleton
        partname, e.g. ``21`` for ``'/ppt/slides/slide21.xml'`` and |None| for
        ``'/ppt/presentation.xml'``.Nr   é   )r'   r   r"   Ú_filename_reÚmatchÚgroupÚint)r   r'   Ú	name_partr+   s       r   ÚidxzPackURI.idx=   sg   € ð
 —=‘=ˆÙØÜ×&Ñ& xÓ0°Ñ3ˆ	Ø×!Ñ!×'Ñ'¨	Ó2ˆØˆ=ØØ�;‰;�qŒ>Ü�u—{‘{ 1“~Ó&Ð&Ør   c                ó   — | dd S )zºThe pack URI with the leading slash stripped off, the form used as the Zip
        file membername for the package item.

        Returns '' for the package pseudo-partname '/'.
        r    N© r   s    r   Ú
membernamezPackURI.membernameM   s   € ð �A�Bˆxˆr   c                óB   — |dk(  r| dd S t        j                  | |«      S )zãReturn string containing relative reference to package item from `baseURI`.

        E.g. PackURI('/ppt/slideLayouts/slideLayout1.xml') would return
        '../slideLayouts/slideLayout1.xml' for baseURI '/ppt/slides'.
        r   r    N)r   Úrelpath)r   r   s     r   r   zPackURI.relative_refV   s(   € ð # cš>ˆt�A�BˆxÐO¬y×/@Ñ/@ÀÀwÓ/OÐOr   c                óx   — d| j                   z  }t        j                  | j                  d|«      }t	        |«      S )z¿The pack URI of the .rels part corresponding to the current pack URI.

        Only produces sensible output if the pack URI is a partname or the package
        pseudo-partname '/'.
        z%s.relsÚ_rels)r'   r   r   r   r   )r   Úrels_filenameÚrels_uri_strs      r   Úrels_urizPackURI.rels_uri`   s3   € ð " D§M¡MÑ1ˆÜ —~‘~ d§l¡l°G¸]ÓKˆÜ�|Ó$Ð$r   N)r   r	   )r   r	   r   r	   Úreturnr   )r:   r	   )r   r	   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚreÚcompiler*   r
   Ústaticmethodr   Úpropertyr   r%   r'   r/   r2   r   r9   r1   r   r   r   r      s³   „ ñð
 �2—:‘:Ð9Ó:€Ló.ð ò ó ð ð ò(ó ð(ð òCó ðCð ñ(ó ð(ð ñó ðð ñó ðóPð ñ%ó ñ%r   r   r   z/[Content_Types].xml)	r>   Ú
__future__r   r   r?   r	   r   ÚPACKAGE_URIÚCONTENT_TYPES_URIr1   r   r   ú<module>rF      s;   ðñõ
 #ã Û 	ô]%ˆcô ]%ñ@ �c‹l€ÙÐ2Ó3Ñ r   