Xj dZddlmZddlmZmZmZddlmZddl m Z m Z m Z er ddl mZddlmZGdd e ZGd d e Zy ) zOCustom element classes that correspond to the document part, e.g. .) annotations) TYPE_CHECKINGCallableList) CT_SectPr)BaseOxmlElement ZeroOrMore ZeroOrOne)CT_Tbl)CT_Pc>eZdZUdZedZded<eddZy) CT_DocumentzB```` element, the root element of a document.xml file.zw:bodyCT_Bodybodyc(d}|j|S)aAll `w:sectPr` elements directly accessible from document element. Note this does not include a `sectPr` child in a paragraphs wrapped in revision marks or other intervening layer, perhaps `w:sdt` or customXml elements. `w:sectPr` elements appear in document order. The last one is always `w:body/w:sectPr`, all preceding are `w:p/w:pPr/w:sectPr`. z/./w:body/w:p/w:pPr/w:sectPr | ./w:body/w:sectPrxpath)selfrs f/mnt/ssd/data/Dropbox/adrian/vault-secondbrain/venv/lib/python3.12/site-packages/docx/oxml/document.py sectPr_lstzCT_Document.sectPr_lstsBzz%  N)returnzList[CT_SectPr]) __name__ __module__ __qualname____doc__r r__annotations__propertyrrrrrs&Lh'D''  ! !rrceZdZUdZded<ded<ded<ded <d ed <ed d Zedd ZeddZ ded<ddZ dZ e ddZ y)rzN`w:body`, the container element for the main document story in `document.xml`.zCallable[[], CT_P]add_pzCallable[[], CT_SectPr]get_or_add_sectPrz List[CT_P]p_lstz List[CT_Tbl]tbl_lstzCallable[[CT_Tbl], CT_Tbl] _insert_tblzw:p)w:sectPr) successorszw:tblr&rzCT_SectPr | NonesectPrc|j}|jj|j|j dD]}|j ||S)apReturn `w:sectPr` element for new section added at end of document. The last `w:sectPr` becomes the second-to-last, with the new `w:sectPr` being an exact clone of the previous one, except that all header and footer references are removed (and are therefore now "inherited" from the prior section). A copy of the previously-last `w:sectPr` will now appear in a new `w:p` at the end of the document. The returned `w:sectPr` is the sentinel `w:sectPr` for the document (and as implemented, `is` the prior sentinel `w:sectPr` with headers and footers removed). z#w:headerReference|w:footerReference)r"r! set_sectPrclonerremove)rsentinel_sectPr hdrftr_refs radd_section_breakzCT_Body.add_section_break3s`002  5 5 78)//0UV /J  " ": . /rcR|jdD]}|j|y)z~Remove all content child elements from this element. Leave the element if it is present. z./*[not(self::w:sectPr)]N)rr,)r content_elms r clear_contentzCT_Body.clear_contentIs)  ::&@A %K KK $ %rc$|jdS)zGenerate all `w:p` and `w:tbl` elements in this document-body. Elements appear in document order. Elements shaded by nesting in a `w:ins` or other "wrapper" element will not be included. z./w:p | ./w:tblr)rs rinner_content_elementszCT_Body.inner_content_elementsQszz+,,rN)rr)rzList[CT_P | CT_Tbl])rrrrrr ptblr r(r/r2rr4rrrrr#spX ..  ++5]3A W 7C(r F ,%--rrN)r __future__rtypingrrrdocx.oxml.sectionrdocx.oxml.xmlchemyrr r docx.oxml.tabler docx.oxml.text.paragraphr rrrrrr=s;U"00'EE&-!/!(5-o5-r