Ë
    \Rði½/  ã                  ó   — d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
 ddlmZ ddlmZmZ ddlmZmZmZmZmZ ddlmZ erdd	lmZ dd
lmZ  G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z y)z@Custom element classes related to paragraph properties (CT_PPr).é    )Úannotations)ÚTYPE_CHECKINGÚCallable)ÚWD_ALIGN_PARAGRAPHÚWD_LINE_SPACINGÚWD_TAB_ALIGNMENTÚWD_TAB_LEADER)ÚCT_DecimalNumber)ÚST_SignedTwipsMeasureÚST_TwipsMeasure)ÚBaseOxmlElementÚ	OneOrMoreÚOptionalAttributeÚRequiredAttributeÚ	ZeroOrOne)ÚLength)Ú	CT_SectPr)Ú	CT_Stringc                  ó‚   — e Zd ZU dZ ede«      Zded<    ede«      Zded<    ede	«      Z
ded<    ed	e	«      Zded
<   y)ÚCT_Indz6``<w:ind>`` element, specifying paragraph indentation.zw:leftúLength | NoneÚleftzw:rightÚrightzw:firstLineÚ	firstLinez	w:hangingÚhangingN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   Ú__annotations__r   r   r   r   © ó    úP/var/www/html/Extract/venv/lib/python3.12/site-packages/docx/oxml/text/parfmt.pyr   r      se   … Ù@á+ØÐ'ó€Dˆ-ó ñ -ØÐ(ó€Eˆ=ó ñ  1Ø�ó €Iˆ}ó ñ /Ø�_ó€Gˆ]ô r"   r   c                  ó.   — e Zd ZU dZ ede«      Zded<   y)ÚCT_Jcz7``<w:jc>`` element, specifying paragraph justification.úw:valr   ÚvalN)r   r   r   r   r   r   r'   r    r!   r"   r#   r%   r%   .   s   … ÙAá/ØÐ#ó€CÐ	ô r"   r%   c                  ó`  — e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   d
ed<   dZ ededd ¬«      Zded<    ededd ¬«      Z ededd ¬«      Z	 ededd ¬«      Z
 ededd ¬«      Z ededd ¬«      Z ededd ¬«      Z ed ed!d ¬«      Z ed"ed#d ¬«      Zd$ed%<    ed&ed'd ¬«      Z ed(ed)d ¬«      Zd*ed+<    ed,ed-d ¬«      Z[edHd.„«       Zej*                  dId/„«       ZedHd0„«       Zej*                  dId1„«       ZedHd2„«       Zej*                  dId3„«       ZedJd4„«       Zej*                  d5„ «       Zed6„ «       Zej*                  d7„ «       Zed8„ «       Zej*                  d9„ «       Zed:„ «       Zej*                  d;„ «       Zed<„ «       Zej*                  d=„ «       Zed>„ «       Zej*                  d?„ «       Zed@„ «       Zej*                  dA„ «       ZedB„ «       Zej*                  dC„ «       ZedKdD„«       Z e j*                  dLdE„«       Z edF„ «       Z!e!j*                  dG„ «       Z!y)MÚCT_PPrz?``<w:pPr>`` element, containing the properties for a paragraph.zCallable[[], CT_Ind]Úget_or_add_indzCallable[[], CT_String]Úget_or_add_pStylezCallable[[], CT_SectPr]Úget_or_add_sectPrzCallable[[CT_SectPr], None]Ú_insert_sectPrzCallable[[], None]Ú_remove_pStyleÚ_remove_sectPr)$úw:pStyleú
w:keepNextúw:keepLinesúw:pageBreakBeforez	w:framePrúw:widowControlúw:numPrzw:suppressLineNumberszw:pBdrzw:shdúw:tabszw:suppressAutoHyphensz	w:kinsokuz
w:wordWrapzw:overflowPunctzw:topLinePunctzw:autoSpaceDEzw:autoSpaceDNzw:bidizw:adjustRightIndzw:snapToGridú	w:spacingúw:indzw:contextualSpacingzw:mirrorIndentszw:suppressOverlapúw:jczw:textDirectionzw:textAlignmentzw:textboxTightWrapúw:outlineLvlzw:divIdz
w:cnfStylezw:rPrúw:sectPrzw:pPrChanger0   é   N©Ú
successorszCT_String | NoneÚpStyler1   é   r2   é   r3   é   r4   é   r5   é   r6   é   r7   é   r8   é   zCT_Ind | NoneÚindr9   é   r:   é   r
   Ú
outlineLvlr;   é#   c                óv   — | j                   }|€y|j                  }|�t        | «      S |j                  }|€y|S )z©A |Length| value calculated from the values of `w:ind/@w:firstLine` and
        `w:ind/@w:hanging`.

        Returns |None| if the `w:ind` child is not present.
        N)rH   r   r   r   )ÚselfrH   r   r   s       r#   Úfirst_line_indentzCT_PPr.first_line_indentz   sI   € ð �h‰hˆØˆ;ØØ—+‘+ˆØÐÜ˜7˜(Ó#Ð#Ø—M‘Mˆ	ØÐØØÐr"   c                óŽ   — | j                   €|€y | j                  «       }d x|_        |_        |€y |dk  r	| |_        y ||_        y )Nr   )rH   r*   r   r   ©rN   ÚvaluerH   s      r#   rO   zCT_PPr.first_line_indentŒ   sN   € à�8‰8Ð  ØØ×!Ñ!Ó#ˆØ&*Ð*ˆŒ˜œØˆ=ØØ�QŠYØ ˜&ˆC�Kà!ˆC�Mr"   c                ó8   — | j                   }|€y|j                  S )z6The value of `w:ind/@w:left` or |None| if not present.N)rH   r   ©rN   rH   s     r#   Úind_leftzCT_PPr.ind_left™   s   € ð �h‰hˆØˆ;ØØ�x‰xˆr"   c                óP   — |€| j                   €y | j                  «       }||_        y ©N)rH   r*   r   rQ   s      r#   rU   zCT_PPr.ind_left¡   s(   € àˆ=˜TŸX™XÐ-ØØ×!Ñ!Ó#ˆØˆ�r"   c                ó8   — | j                   }|€y|j                  S )z7The value of `w:ind/@w:right` or |None| if not present.N)rH   r   rT   s     r#   Ú	ind_rightzCT_PPr.ind_right¨   s   € ð �h‰hˆØˆ;ØØ�y‰yÐr"   c                óP   — |€| j                   €y | j                  «       }||_        y rW   )rH   r*   r   rQ   s      r#   rY   zCT_PPr.ind_right°   s(   € àˆ=˜TŸX™XÐ-ØØ×!Ñ!Ó#ˆØˆ�	r"   c                óJ   — | j                   �| j                   j                  S dS )z=Value of the `<w:jc>` child element or |None| if not present.N)Újcr'   ©rN   s    r#   Újc_valzCT_PPr.jc_val·   s    € ð #Ÿg™gÐ1ˆt�w‰w�{‰{Ð;°tÐ;r"   c                óT   — |€| j                  «        y || j                  «       _        y rW   )Ú
_remove_jcÚget_or_add_jcr'   ©rN   rR   s     r#   r^   zCT_PPr.jc_val¼   s%   € àˆ=Ø�O‰OÔØØ#(ˆ×ÑÓÕ r"   c                ó8   — | j                   }|€y|j                  S )z7The value of `keepLines/@val` or |None| if not present.N)Ú	keepLinesr'   )rN   rd   s     r#   ÚkeepLines_valzCT_PPr.keepLines_valÃ   s    € ð —N‘Nˆ	ØÐØØ�}‰}Ðr"   c                óT   — |€| j                  «        y || j                  «       _        y rW   )Ú_remove_keepLinesÚget_or_add_keepLinesr'   rb   s     r#   re   zCT_PPr.keepLines_valË   s$   € àˆ=Ø×"Ñ"Õ$à.3ˆD×%Ñ%Ó'Õ+r"   c                ó8   — | j                   }|€y|j                  S )z6The value of `keepNext/@val` or |None| if not present.N)ÚkeepNextr'   )rN   rj   s     r#   ÚkeepNext_valzCT_PPr.keepNext_valÒ   s    € ð —=‘=ˆØÐØØ�|‰|Ðr"   c                óT   — |€| j                  «        y || j                  «       _        y rW   )Ú_remove_keepNextÚget_or_add_keepNextr'   rb   s     r#   rk   zCT_PPr.keepNext_valÚ   s$   € àˆ=Ø×!Ñ!Õ#à-2ˆD×$Ñ$Ó&Õ*r"   c                ó8   — | j                   }|€y|j                  S )z=The value of `pageBreakBefore/@val` or |None| if not present.N)ÚpageBreakBeforer'   )rN   rp   s     r#   ÚpageBreakBefore_valzCT_PPr.pageBreakBefore_valá   s$   € ð ×.Ñ.ˆØÐ"ØØ×"Ñ"Ð"r"   c                óT   — |€| j                  «        y || j                  «       _        y rW   )Ú_remove_pageBreakBeforeÚget_or_add_pageBreakBeforer'   rb   s     r#   rq   zCT_PPr.pageBreakBefore_valé   s$   € àˆ=Ø×(Ñ(Õ*à49ˆD×+Ñ+Ó-Õ1r"   c                ó8   — | j                   }|€y|j                  S )z;The value of `w:spacing/@w:after` or |None| if not present.N)ÚspacingÚafter©rN   rv   s     r#   Úspacing_afterzCT_PPr.spacing_afterð   s   € ð —,‘,ˆØˆ?ØØ�}‰}Ðr"   c                óL   — |€| j                   €y || j                  «       _        y rW   )rv   Úget_or_add_spacingrw   rb   s     r#   ry   zCT_PPr.spacing_afterø   s$   € àˆ=˜TŸ\™\Ð1ØØ*/ˆ×ÑÓ!Õ'r"   c                ó8   — | j                   }|€y|j                  S )z<The value of `w:spacing/@w:before` or |None| if not present.N)rv   Úbeforerx   s     r#   Úspacing_beforezCT_PPr.spacing_beforeþ   s   € ð —,‘,ˆØˆ?ØØ�~‰~Ðr"   c                óL   — |€| j                   €y || j                  «       _        y rW   )rv   r{   r}   rb   s     r#   r~   zCT_PPr.spacing_before  s$   € àˆ=˜TŸ\™\Ð1ØØ+0ˆ×ÑÓ!Õ(r"   c                ó8   — | j                   }|€y|j                  S )z:The value of `w:spacing/@w:line` or |None| if not present.N)rv   Úlinerx   s     r#   Úspacing_linezCT_PPr.spacing_line  s   € ð —,‘,ˆØˆ?ØØ�|‰|Ðr"   c                óL   — |€| j                   €y || j                  «       _        y rW   )rv   r{   r�   rb   s     r#   r‚   zCT_PPr.spacing_line  s$   € àˆ=˜TŸ\™\Ð1ØØ).ˆ×ÑÓ!Õ&r"   c                óx   — | j                   }|€y|j                  }|€|j                  �t        j                  S |S )au  The value of `w:spacing/@w:lineRule` as a member of the :ref:`WdLineSpacing`
        enumeration.

        Only the `MULTIPLE`, `EXACTLY`, and `AT_LEAST` members are used. It is the
        responsibility of the client to calculate the use of `SINGLE`, `DOUBLE`, and
        `MULTIPLE` based on the value of `w:spacing/@w:line` if that behavior is
        desired.
        N)rv   ÚlineRuler�   r   ÚMULTIPLE)rN   rv   r…   s      r#   Úspacing_lineRulezCT_PPr.spacing_lineRule  s@   € ð —,‘,ˆØˆ?ØØ×#Ñ#ˆØÐ §¡Ð 8Ü"×+Ñ+Ð+Øˆr"   c                óL   — |€| j                   €y || j                  «       _        y rW   )rv   r{   r…   rb   s     r#   r‡   zCT_PPr.spacing_lineRule,  s$   € àˆ=˜TŸ\™\Ð1ØØ-2ˆ×ÑÓ!Õ*r"   c                ó8   — | j                   }|€y|j                  S )zGString contained in `./w:pStyle/@val`, or None if child is not present.N)r?   r'   )rN   r?   s     r#   ÚstylezCT_PPr.style2  s   € ð —‘ˆØˆ>ØØ�z‰zÐr"   c                óX   — |€| j                  «        y| j                  «       }||_        y)z‹Set `./w:pStyle/@val` `style`, adding a new element if necessary.

        If `style` is |None|, remove `./w:pStyle` when present.
        N)r.   r+   r'   )rN   rŠ   r?   s      r#   rŠ   zCT_PPr.style:  s-   € ð ˆ=Ø×ÑÔ!ØØ×'Ñ'Ó)ˆØˆ�
r"   c                ó8   — | j                   }|€y|j                  S )z:The value of `widowControl/@val` or |None| if not present.N)ÚwidowControlr'   )rN   r�   s     r#   ÚwidowControl_valzCT_PPr.widowControl_valF  s$   € ð ×(Ñ(ˆØÐØØ×ÑÐr"   c                óT   — |€| j                  «        y || j                  «       _        y rW   )Ú_remove_widowControlÚget_or_add_widowControlr'   rb   s     r#   rŽ   zCT_PPr.widowControl_valN  s$   € àˆ=Ø×%Ñ%Õ'à16ˆD×(Ñ(Ó*Õ.r"   )Úreturnr   )rR   r   )r’   zWD_ALIGN_PARAGRAPH | None)r’   ú
str | None)rŠ   r“   )"r   r   r   r   r    Ú_tag_seqr   r?   rj   rd   rp   r�   ÚnumPrÚtabsrv   rH   r\   rK   ÚsectPrÚpropertyrO   ÚsetterrU   rY   r^   re   rk   rq   ry   r~   r‚   r‡   rŠ   rŽ   r!   r"   r#   r)   r)   6   s„  … ÙIà(Ó(Ø.Ó.Ø.Ó.Ø/Ó/Ø&Ó&Ø&Ó&ð%€HñL  )Ø˜x¨¨˜|ô €FÐó ñ ˜°(¸1¸2°,Ô?€HÙ˜-°H¸Q¸R°LÔA€IÙÐ 3ÀÈÈÀÔM€OÙÐ-¸(À1À2¸,ÔG€LÙ�i¨H°Q°R¨LÔ9€EÙ�X¨(°2°3¨-Ô8€DÙ˜°¸¸°Ô>€GÙ"Ø˜H R S˜Mô€Cˆó ñ 
�6 h¨r¨s mÔ	4€BÙ#,Ø 8¨B¨C =ô$€JÐ ó ñ �z¨h°r°s¨mÔ<€FØàòó ðð" ×Ñò
"ó ð
"ð òó ðð ‡_�_òó ðð òó ðð ×Ñòó ðð ò<ó ð<ð ‡]�]ñ)ó ð)ð ñó ðð ×Ññ4ó ð4ð ñó ðð ×Ññ3ó ð3ð ñ#ó ð#ð ×Ññ:ó  ð:ð ñó ðð ×Ññ0ó ð0ð
 ñó ðð ×Ññ1ó ð1ð
 ñó ðð ×Ññ/ó ð/ð
 ñó ðð" ×Ññ3ó ð3ð
 òó ðð ‡\�\ò	ó ð	ð ñ ó ð ð ×Ññ7ó ñ7r"   r)   c                  óX   — e Zd ZdZ ede«      Z ede«      Z ede«      Z	 ede
«      Zy)Ú
CT_Spacingzk``<w:spacing>`` element, specifying paragraph spacing attributes such as space
    before and line spacing.zw:afterzw:beforezw:linez
w:lineRuleN)r   r   r   r   r   r   rw   r}   r   r�   r   r…   r!   r"   r#   r›   r›   V  s:   „ ñ ñ ˜i¨Ó9€EÙ˜z¨?Ó;€FÙ˜XÐ'<Ó=€DÙ  ¨Ó?�Hr"   r›   c                  ó†   — e Zd ZU dZ ede«      Zded<    ede	e	j                  ¬«      Zded<    ed	e«      Zd
ed<   dd„Zy)Ú
CT_TabStopz´`<w:tab>` element, representing an individual tab stop.

    Overloaded to use for a tab-character in a run, which also uses the w:tab tag but
    only needs a __str__ method.
    r&   r   r'   zw:leader)ÚdefaultzWD_TAB_LEADER | NoneÚleaderzw:posr   Úposc                 ó   — y)z®Text equivalent of a `w:tab` element appearing in a run.

        Allows text of run inner-content to be accessed consistently across all text
        inner-content.
        ú	r!   r]   s    r#   Ú__str__zCT_TabStop.__str__q  s   € ð r"   N)r’   Ústr)r   r   r   r   r   r   r'   r    r   r	   ÚSPACESrŸ   r   r    r£   r!   r"   r#   r�   r�   `  s`   … ññ .ØÐ!ó€CÐ	ó ñ $5Ø�M¨=×+?Ñ+?ô$€FÐ ó ñ $ØÐ&ó€Cˆó ôr"   r�   c                  ó*   — e Zd ZdZ edd¬«      Zd„ Zy)ÚCT_TabStopszC``<w:tabs>`` element, container for a sorted sequence of tab stops.zw:tabr!   r=   c                óò   — | j                  «       }|||c|_        |_        |_        | j                  D ]0  }|j                  |j                  k  sŒ|j                  |«       |c S  | j                  |«       |S )z<Insert a newly created `w:tab` child element in `pos` order.)Ú_new_tabr    r'   rŸ   Útab_lstÚaddpreviousÚappend)rN   r    ÚalignrŸ   Únew_tabÚtabs         r#   Úinsert_tab_in_orderzCT_TabStops.insert_tab_in_order  sj   € à—-‘-“/ˆØ36¸¸vÐ0ˆŒ�W”[ '¤.Ø—<‘<ò 	ˆCØ�{‰{˜SŸW™WÓ$Ø—‘ Ô(Ø’ð	ð 	�‰�GÔØˆr"   N)r   r   r   r   r   r¯   r°   r!   r"   r#   r§   r§   z  s   „ ÙMá
�G¨Ô
+€Có	r"   r§   N)!r   Ú
__future__r   Útypingr   r   Údocx.enum.textr   r   r   r	   Údocx.oxml.sharedr
   Údocx.oxml.simpletypesr   r   Údocx.oxml.xmlchemyr   r   r   r   r   Údocx.sharedr   Údocx.oxml.sectionr   r   r   r%   r)   r›   r�   r§   r!   r"   r#   ú<module>r¹      s…   ðÙ Få "ç *÷ó õ .ß H÷õ õ áÝ+Ý*ôˆ_ô ô"ˆOô ô]7ˆ_ô ]7ô@	@�ô @ô�ô ô4�/õ r"   