ó
    ˆ*£h«9  ã                  óì  • S r SSKJr  SSKJrJrJr  SSKJrJ	r	  SSK
Jr  SSKJr  SSKJr  SSKJrJrJrJr  SS	KJr  SS
KJrJrJrJrJrJr  \(       a  SSKJrJrJ r   SSK!J"r"   " S S\5      r# " S S\5      r$ " S S\5      r% " S S\5      r& " S S\5      r' " S S\5      r( " S S\5      r) " S S\5      r* " S S\5      r+ " S S \5      r, " S! S"\5      r- " S# S$\5      r. " S% S&\5      r/g')(z;lxml custom element classes for shape-related XML elements.é    )Úannotations)ÚTYPE_CHECKINGÚCallableÚcast)ÚMSO_AUTO_SHAPE_TYPEÚPP_PLACEHOLDER)Ú	parse_xml©Únsdecls)ÚBaseShapeElement)ÚST_CoordinateÚST_PositiveCoordinateÚ
XsdBooleanÚ	XsdString)ÚCT_TextBody)ÚBaseOxmlElementÚOneAndOnlyOneÚOptionalAttributeÚRequiredAttributeÚ
ZeroOrMoreÚ	ZeroOrOne)Ú#CT_ApplicationNonVisualDrawingPropsÚCT_NonVisualDrawingPropsÚCT_ShapeProperties)ÚLengthc                  óR   • \ rS rSr% Sr\" S\5      rS\S'   \" S\5      r	S\S'   Sr
g)ÚCT_AdjPoint2Dé&   z`a:pt` custom element class.Úxr   Úy© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   Ú__annotations__r    Ú__static_attributes__r!   ó    ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pptx/oxml/shapes/autoshape.pyr   r   &   s'   ‡ Ù&á! # }Ó5€A€vÓ5Ù! # }Ó5€A€vÖ5r)   r   c                  óF   • \ rS rSr% SrS\S'   Sr\" S\SS S	9rS
\S'   Sr	g)ÚCT_CustomGeometry2Dé-   z"`a:custGeom` custom element class.zCallable[[], CT_Path2DList]Úget_or_add_pathLst)úa:avLstza:gdLstza:ahLstza:cxnLstza:rectú	a:pathLstr0   é   N©Ú
successorszCT_Path2DList | NoneÚpathLstr!   )
r"   r#   r$   r%   r&   r'   Ú_tag_seqr   r4   r(   r!   r)   r*   r,   r,   -   s-   ‡ Ù,à3Ó3àS€HÙ$-Ø ¨¨ ñ%€GÐ!ö r)   r,   c                  óR   • \ rS rSr% Sr\" S\5      rS\S'   \" S\5      r	S\S'   Sr
g)ÚCT_GeomGuideé8   zr`a:gd` custom element class.

Defines a "guide", corresponding to a yellow diamond-shaped handle on an autoshape.
ÚnameÚstrÚfmlar!   N)r"   r#   r$   r%   r&   r   r   r9   r'   r;   r(   r!   r)   r*   r7   r7   8   s+   ‡ ññ
 " &¨)Ó4€Dˆ#Ó4Ù! &¨)Ó4€Dˆ#Ö4r)   r7   c                  ó>   • \ rS rSr% SrS\S'   S\S'   \" S5      rSrg	)
ÚCT_GeomGuideListéB   z`a:avLst` custom element class.zCallable[[], CT_GeomGuide]Ú_add_gdúlist[CT_GeomGuide]Úgd_lstza:gdr!   N)	r"   r#   r$   r%   r&   r'   r   Úgdr(   r!   r)   r*   r=   r=   B   s   ‡ Ù)à'Ó'àÓá	�FÓ	ƒBr)   r=   c                  óF   • \ rS rSr% Sr\" S5      r\" S\5      r	S\
S'   Srg)ÚCT_NonVisualDrawingShapePropséL   z!`p:cNvSpPr` custom element class.z	a:spLocksÚtxBoxzbool | Noner!   N)r"   r#   r$   r%   r&   r   ÚspLocksr   r   rF   r'   r(   r!   r)   r*   rD   rD   L   s%   ‡ Ù+á˜Ó$€GÙ*Ø�ó€Eˆ;ö r)   rD   c                  ó¸   • \ rS rSr% SrS\S'   S\S'   S\S'   \" S	S
S9r\" SS
S9r\" SS
S9r	\
" S\5      rS\S'   \
" S\5      rS\S'   SS jrSS jrSS jrS
rg)Ú	CT_Path2DéU   z`a:path` custom element class.zCallable[[], CT_Path2DClose]Ú
_add_closezCallable[[], CT_Path2DLineTo]Ú	_add_lnTozCallable[[], CT_Path2DMoveTo]Ú_add_moveToza:closer!   r2   za:lnToza:moveToÚwzLength | NoneÚhc                ó"   • U R                  5       $ )zkReturn a newly created `a:close` element.

The new `a:close` element is appended to this `a:path` element.
)rK   ©Úselfs    r*   Ú	add_closeÚCT_Path2D.add_closef   s   € ð
 �‰Ó Ð r)   c                ób   • U R                  5       nUR                  5       nXsUl        Ul        U$ )z�Return a newly created `a:lnTo` subtree with end point *(x, y)*.

The new `a:lnTo` element is appended to this `a:path` element.
)rL   Ú_add_ptr   r    )rR   r   r    ÚlnToÚpts        r*   Úadd_lnToÚCT_Path2D.add_lnTom   s-   € ð
 �~‰~ÓˆØ�\‰\‹^ˆØˆ
ˆŒˆbŒdØˆr)   c                ób   • U R                  5       nUR                  5       nXsUl        Ul        U$ )z�Return a newly created `a:moveTo` subtree with point `(x, y)`.

The new `a:moveTo` element is appended to this `a:path` element.
)rM   rV   r   r    )rR   r   r    ÚmoveTorX   s        r*   Ú
add_moveToÚCT_Path2D.add_moveTow   s0   € ð
 ×!Ñ!Ó#ˆØ�^‰^ÓˆØˆ
ˆŒˆbŒdØˆr)   N)ÚreturnÚCT_Path2DClose)r   r   r    r   r_   ÚCT_Path2DLineTo)r   r   r    r   )r"   r#   r$   r%   r&   r'   r   ÚcloserW   r\   r   r   rN   rO   rS   rY   r]   r(   r!   r)   r*   rI   rI   U   sz   ‡ Ù(à,Ó,Ø,Ó,Ø.Ó.á�y¨RÑ0€EÙ�h¨2Ñ.€DÙ˜
¨rÑ2€FÙ(ØÐ"ó€A€}ó ñ )ØÐ"ó€A€}ó ô!ô÷r)   rI   c                  ó   • \ rS rSrSrSrg)r`   é‚   z`a:close` custom element class.r!   N)r"   r#   r$   r%   r&   r(   r!   r)   r*   r`   r`   ‚   s   † Ü)r)   r`   c                  ó2   • \ rS rSr% SrS\S'   \" SSS9rSrg)	ra   é†   z`a:lnTo` custom element class.úCallable[[], CT_AdjPoint2D]rV   úa:ptr!   r2   N©	r"   r#   r$   r%   r&   r'   r   rX   r(   r!   r)   r*   ra   ra   †   s   ‡ Ù(à(Ó(á	�6 bÑ	)ƒBr)   ra   c                  ó<   • \ rS rSr% SrS\S'   \" SSS9rS
S jrSr	g	)ÚCT_Path2DListéŽ   z!`a:pathLst` custom element class.zCallable[[], CT_Path2D]Ú	_add_pathza:pathr!   r2   c                óB   • U R                  5       nXsUl        Ul        U$ )z.Return a newly created `a:path` child element.)rm   rN   rO   )rR   rN   rO   Úpaths       r*   Úadd_pathÚCT_Path2DList.add_path•   s    € à�~‰~ÓˆØˆˆŒ�”Øˆr)   N)rN   r   rO   r   )
r"   r#   r$   r%   r&   r'   r   ro   rp   r(   r!   r)   r*   rk   rk   Ž   s   ‡ Ù+à&Ó&á�h¨2Ñ.€D÷r)   rk   c                  ó2   • \ rS rSr% SrS\S'   \" SSS9rSrg)	ÚCT_Path2DMoveToéœ   z `a:moveTo` custom element class.rg   rV   rh   r!   r2   Nri   r!   r)   r*   rs   rs   œ   s   ‡ Ù*à(Ó(á	�6 bÑ	)ƒBr)   rs   c                  ó‚   • \ rS rSr% SrS\S'   S\S'   \" S5      rS\S	'   \" S
\	5      r
S\S
'   \SS j5       rSS jrSrg)ÚCT_PresetGeometry2Dé¤   z"`a:prstGeom` custom element class.zCallable[[], CT_GeomGuideList]Ú
_add_avLstzCallable[[], None]Ú_remove_avLstr/   zCT_GeomGuideList | NoneÚavLstÚprstr   c                ó<   • U R                   nUc  / $ UR                  $ )zLSequence of `a:gd` element children of `a:avLst`. Empty if none are present.)rz   rA   )rR   rz   s     r*   rA   ÚCT_PresetGeometry2D.gd_lst¯   s!   € ð —
‘
ˆØ‰=ØˆIØ�|‰|Ðr)   c                óš   • U R                  5         U R                  5       nU H%  u  p4UR                  5       nX5l        SU-  Ul        M'     g)zOReplace any `a:gd` element children of `a:avLst` with ones forme from `guides`.zval %dN)ry   rx   r?   r9   r;   )rR   Úguidesrz   r9   ÚvalrB   s         r*   Úrewrite_guidesÚ"CT_PresetGeometry2D.rewrite_guides·   sA   € à×ÑÔØ—‘Ó!ˆÛ‰IˆDØ—‘“ˆBØŒGØ ‘nˆBŽGò  r)   r!   N)r_   r@   )r   zlist[tuple[str, int]])r"   r#   r$   r%   r&   r'   r   rz   r   r   r{   ÚpropertyrA   r�   r(   r!   r)   r*   rv   rv   ¤   sR   ‡ Ù,à.Ó.Ø%Ó%á%.¨yÓ%9€EÐ"Ó9Ù 1ØÐ#ó!€DÐ
ó ð óó ð÷%r)   rv   c                  óz  • \ rS rSr% SrS\S'   \" S5      rS\S'   \" S5      rS	\S
'   \	" SSS9r
S\S'   S S jrS r\S 5       r\S 5       r\S 5       r\S 5       r\                S!S j5       r\S"S j5       r\          S#S j5       r\S 5       r\S 5       r\S$S j5       rS r\S 5       rSrg)%ÚCT_ShapeéÁ   z`p:sp` custom element class.zCallable[[], CT_TextBody]Úget_or_add_txBodyzp:nvSpPrÚCT_ShapeNonVisualÚnvSpPrzp:spPrr   ÚspPrzp:txBody)zp:extLstr2   zCT_TextBody | NoneÚtxBodyc                óˆ   • U R                   R                  nUc  [        S5      eUR                  5       nUR	                  XS9$ )Nzshape must be freeform)rN   rO   )rŠ   ÚcustGeomÚ
ValueErrorr.   rp   )rR   rN   rO   r�   r4   s        r*   rp   ÚCT_Shape.add_pathÊ   sE   € Ø—9‘9×%Ñ%ˆØÑÜÐ5Ó6Ð6Ø×-Ñ-Ó/ˆØ×Ñ !ÐÐ)Ð)r)   c                ó6   • U R                   R                  5       $ )zAReturn the `a:ln` grandchild element, newly added if not present.)rŠ   Úget_or_add_lnrQ   s    r*   r‘   ÚCT_Shape.get_or_add_lnÑ   s   € à�y‰y×&Ñ&Ó(Ð(r)   c                ó2   • U R                   R                  SL$ )z¬True if this shape has custom geometry, i.e. is a freeform shape.

A shape has custom geometry if it has a `p:spPr/a:custGeom`
descendant (instead of `p:spPr/a:prstGeom`).
N)rŠ   r�   rQ   s    r*   Úhas_custom_geometryÚCT_Shape.has_custom_geometryÕ   s   € ð �y‰y×!Ñ!¨Ð-Ð-r)   c                óf   • U R                   nUc  gU R                  R                  R                  SL$ )z”True if this shape is an auto shape.

A shape is an auto shape if it has a `a:prstGeom` element and does not have a txBox="1"
attribute on cNvSpPr.
FT)ÚprstGeomr‰   ÚcNvSpPrrF   ©rR   r—   s     r*   Úis_autoshapeÚCT_Shape.is_autoshapeÞ   s1   € ð —=‘=ˆØÑØØ�{‰{×"Ñ"×(Ñ(°Ð4Ð4r)   c                óF   • U R                   R                  R                  SL $ )z·True if this shape is a text box.

A shape is a text box if it has a `txBox` attribute on cNvSpPr that resolves to |True|.
The default when the txBox attribute is missing is |False|.
T)r‰   r˜   rF   rQ   s    r*   Ú
is_textboxÚCT_Shape.is_textboxê   s   € ð �{‰{×"Ñ"×(Ñ(¨DÐ0Ð0r)   c                ó.   • U R                   R                  $ )z4`a:ln` grand-child element or |None| if not present.)rŠ   ÚlnrQ   s    r*   r    ÚCT_Shape.lnó   s   € ð �y‰y�|‰|Ðr)   c                óœ   • S[        SS5      < SS< SS< SS< S	S< S
S< SS< SS< S3XX4XVU4-  n[        [        [        U5      5      $ )zAReturn a new `p:sp` element tree configured as a base auto shape.ú<p:sp ÚaÚpú >
  <p:nvSpPr>
    <p:cNvPr id="ú%dú" name="ú%súY"/>
    <p:cNvSpPr/>
    <p:nvPr/>
  </p:nvSpPr>
  <p:spPr>
    <a:xfrm>
      <a:off x="ú" y="ú"/>
      <a:ext cx="ú" cy="z("/>
    </a:xfrm>
    <a:prstGeom prst="a  ">
      <a:avLst/>
    </a:prstGeom>
  </p:spPr>
  <p:style>
    <a:lnRef idx="1">
      <a:schemeClr val="accent1"/>
    </a:lnRef>
    <a:fillRef idx="3">
      <a:schemeClr val="accent1"/>
    </a:fillRef>
    <a:effectRef idx="2">
      <a:schemeClr val="accent1"/>
    </a:effectRef>
    <a:fontRef idx="minor">
      <a:schemeClr val="lt1"/>
    </a:fontRef>
  </p:style>
  <p:txBody>
    <a:bodyPr rtlCol="0" anchor="ctr"/>
    <a:lstStyle/>
    <a:p>
      <a:pPr algn="ctr"/>
    </a:p>
  </p:txBody>
</p:sp>©r   r   r…   r	   )Úid_r9   r{   ÚleftÚtopÚwidthÚheightÚxmls           r*   Únew_autoshape_spÚCT_Shape.new_autoshape_spø   sP   � ôT !  cÖ*«D³$»»dÃDË$ÓPTðI$VðJ ˜ 5°$Ð7ñM&8ˆôN ”Hœi¨›nÓ-Ð-r)   c                ó’   • S[        SS5      < SS< SS< SS< S	S< S
S< SS< S3XX#XE4-  n[        [        [        U5      5      $ )z‹Return new `p:sp` element tree configured as freeform shape.

The returned shape has a `a:custGeom` subtree but no paths in its
path list.
r£   r¤   r¥   r¦   r§   r¨   r©   rª   r«   r¬   r­   a•  "/>
    </a:xfrm>
    <a:custGeom>
      <a:avLst/>
      <a:gdLst/>
      <a:ahLst/>
      <a:cxnLst/>
      <a:rect l="l" t="t" r="r" b="b"/>
      <a:pathLst/>
    </a:custGeom>
  </p:spPr>
  <p:style>
    <a:lnRef idx="1">
      <a:schemeClr val="accent1"/>
    </a:lnRef>
    <a:fillRef idx="3">
      <a:schemeClr val="accent1"/>
    </a:fillRef>
    <a:effectRef idx="2">
      <a:schemeClr val="accent1"/>
    </a:effectRef>
    <a:fontRef idx="minor">
      <a:schemeClr val="lt1"/>
    </a:fontRef>
  </p:style>
  <p:txBody>
    <a:bodyPr rtlCol="0" anchor="ctr"/>
    <a:lstStyle/>
    <a:p>
      <a:pPr algn="ctr"/>
    </a:p>
  </p:txBody>
</p:sp>r®   )Úshape_idr9   r   r    ÚcxÚcyr´   s          r*   Únew_freeform_spÚCT_Shape.new_freeform_sp&  sK   � ôb !  cÖ*«D³$»»dÃDË$ðS)PðT ˜Q 2Ð*ñW++ˆôX ”Hœi¨›nÓ-Ð-r)   c                óÄ  • [        [        [        S[        SS5       SU  SU S35      5      nUR                  R
                  R                  5       nX'l        XWl        X7l	        XGl
        [        R                  [        R                  [        R                  [        R                  [        R                   4nX(;   a$  UR#                  [$        R&                  " 5       5        U$ )zCReturn a new `p:sp` element tree configured as a placeholder shape.r£   r¤   r¥   r¦   r¨   zq"/>
    <p:cNvSpPr>
      <a:spLocks noGrp="1"/>
    </p:cNvSpPr>
    <p:nvPr/>
  </p:nvSpPr>
  <p:spPr/>
</p:sp>)r   r…   r	   r   r‰   ÚnvPrÚget_or_add_phÚtypeÚidxÚorientÚszr   ÚTITLEÚCENTER_TITLEÚSUBTITLEÚBODYÚOBJECTÚappendr   Únew)	r¯   r9   Úph_typerÂ   rÃ   rÁ   ÚspÚphÚ(placeholder_types_that_have_a_text_frames	            r*   Únew_placeholder_spÚCT_Shape.new_placeholder_sp[  sÅ   € ô
 ÜÜØœ  cÓ*Ð+ð ,$à$' 5¨°°ð 7ð	óó
ˆð  �Y‰Y�^‰^×)Ñ)Ó+ˆØŒØŒØŒ	ØŒô × Ñ Ü×'Ñ'Ü×#Ñ#Ü×ÑÜ×!Ñ!ð4
Ð0ð Ó>Ø�I‰I”k—o’oÓ'Ô(àˆ	r)   c                óT   • [         R                  5       nX`XX4U4-  n[        U5      nU$ )zDReturn a new `p:sp` element tree configured as a base textbox shape.)r…   Ú_textbox_sp_tmplr	   )	r¯   r9   r°   r±   r²   r³   Útmplr´   rÌ   s	            r*   Únew_textbox_spÚCT_Shape.new_textbox_spƒ  s1   € ô ×(Ñ(Ó*ˆØ˜4 s°6Ð:Ñ:ˆÜ�s‹^ˆØˆ	r)   c                ó:   • U R                   nUc  gUR                  $ )zKValue of `prst` attribute of `a:prstGeom` element or |None| if not present.N)r—   r{   r™   s     r*   r{   ÚCT_Shape.prst‹  s    € ð —=‘=ˆØÑØØ�}‰}Ðr)   c                ó.   • U R                   R                  $ )z{Reference to `a:prstGeom` child element.

|None| if this shape doesn't have one, for example, if it's a placeholder shape.
)rŠ   r—   rQ   s    r*   r—   ÚCT_Shape.prstGeom“  s   € ð �y‰y×!Ñ!Ð!r)   c                ó,   • [         R                  " 5       $ )N)r   Únew_p_txBodyrQ   s    r*   Ú_new_txBodyÚCT_Shape._new_txBody›  s   € Ü×'Ò'Ó)Ð)r)   c                 óT   • S[        SS5      < SS< SS< SS< S	S< S
S< SS< S3$ )Nr£   r¤   r¥   r¦   r§   r¨   r©   zc"/>
    <p:cNvSpPr txBox="1"/>
    <p:nvPr/>
  </p:nvSpPr>
  <p:spPr>
    <a:xfrm>
      <a:off x="r«   r¬   r­   zí"/>
    </a:xfrm>
    <a:prstGeom prst="rect">
      <a:avLst/>
    </a:prstGeom>
    <a:noFill/>
  </p:spPr>
  <p:txBody>
    <a:bodyPr wrap="none">
      <a:spAutoFit/>
    </a:bodyPr>
    <a:lstStyle/>
    <a:p/>
  </p:txBody>
</p:sp>r
   r!   r)   r*   rÒ   ÚCT_Shape._textbox_sp_tmplž  s%   � ô4 !  cÖ*«D³$»»dÃDË$ð/Pð	
r)   r!   N)rN   r   rO   r   r_   rI   )r¯   Úintr9   r:   r{   r:   r°   rà   r±   rà   r²   rà   r³   rà   r_   r…   )r¸   rà   r9   r:   r   rà   r    rà   r¹   rà   rº   rà   )
r¯   rà   r9   r:   rË   r   rÂ   r:   r_   r…   )r_   rv   )r"   r#   r$   r%   r&   r'   r   r‰   rŠ   r   r‹   rp   r‘   rƒ   r”   rš   r�   r    Ústaticmethodrµ   r»   rÏ   rÔ   r{   r—   rÜ   rÒ   r(   r!   r)   r*   r…   r…   Á   s“  ‡ Ù&à0Ó0á -¨jÓ 9€FÐÓ9Ù,¨XÓ6€DÐ
Ó6Ù!*¨:À-Ñ!P€FÐÓPô*ò)ð ñ.ó ð.ð ñ	5ó ð	5ð ñ1ó ð1ð ñó ðð ð+.Øð+.Øð+.Ø#&ð+.Ø.1ð+.Ø8;ð+.ØDGð+.ØQTð+.à	ó+.ó ð+.ðZ ó2.ó ð2.ðh ð%Øð%Øð%Ø&4ð%Ø>Að%à	ó%ó ð%ðN ñó ðð ñó ðð ó"ó ð"ò*ð ñ
ó ó
r)   r…   c                  óh   • \ rS rSr% Sr\" S5      rS\S'   \" S5      rS\S'   \" S	5      r	S
\S'   Sr
g)rˆ   i¼  z `p:nvSpPr` custom element class.zp:cNvPrr   ÚcNvPrz	p:cNvSpPrrD   r˜   zp:nvPrr   r¾   r!   N)r"   r#   r$   r%   r&   r   rã   r'   r˜   r¾   r(   r!   r)   r*   rˆ   rˆ   ¼  sH   ‡ Ù*á&3Øó'€EÐ#ó ñ .;Øó.€GÐ*ó ñ 	�hÓð 	Ð
-ö r)   rˆ   N)0r&   Ú
__future__r   Útypingr   r   r   Úpptx.enum.shapesr   r   Ú	pptx.oxmlr	   Úpptx.oxml.nsr   Úpptx.oxml.shapes.sharedr   Úpptx.oxml.simpletypesr   r   r   r   Úpptx.oxml.textr   Úpptx.oxml.xmlchemyr   r   r   r   r   r   r   r   r   Ú	pptx.utilr   r   r,   r7   r=   rD   rI   r`   ra   rk   rs   rv   r…   rˆ   r!   r)   r*   Ú<module>rî      sð   ðñ Bå "ç 0Ñ 0ç @Ý Ý  Ý 4÷ó õ '÷÷ ö ÷ñ õ
 !ô6�Oô 6ô˜/ô ô5�?ô 5ô�ô ôÐ$4ô ô*�ô *ôZ*�_ô *ô*�oô *ô�Oô ô*�oô *ô%˜/ô %ô:x
Ðô x
ôvÐ(õ r)   