
    ~Zi                       S r SSKJr  SSKJr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  SSKJrJrJrJrJr  SS	KJrJrJrJr  \(       a  SS
KJr  \R<                  \R>                  \R@                  S.r!   S         S S jjr"   S!       S"S jjr#S#S jr$ " S S\5      r% " S S\5      r& " S S\5      r' " S S\5      r( " S S\5      r)\" S\%5        \" S\&5        \" S\)5        \" S\'5        \" S\(5        g)$zMOPC-local oxml module to handle OPC-local concerns like relationship parsing.    )annotations)TYPE_CHECKINGCallablecast)etree)	NAMESPACE)RELATIONSHIP_TARGET_MODE)	parse_xmlregister_element_cls)ST_ContentTypeST_ExtensionST_TargetMode	XsdAnyUriXsdId)BaseOxmlElementOptionalAttributeRequiredAttribute
ZeroOrMore)PackURI)ctprrNc                ,    [         R                  " XX#S9$ N)encodingpretty_print
standaloner   tostring)elementr   r   r   s       g/var/www/eduai.edurigo.com/question_generate/ques_gen_env/lib/python3.13/site-packages/pptx/opc/oxml.pyoxml_to_encoded_bytesr"   $   s     >>     c                ,    [         R                  " XX#S9$ r   r   )elmr   r   r   s       r!   oxml_tostringr&   /   s     >>#|ccr#   c                .    [         R                  " U SSS9$ )zyProduce XML-file bytes for `part_elm`, suitable for writing directly to a `.xml` file.

Includes XML-declaration header.
UTF-8Tr   r   r   )part_elms    r!   serialize_part_xmlr+   8   s    
 >>(WFFr#   c                  R    \ rS rSr% Sr\" S\5      rS\S'   \" S\	5      r
S\S'   Srg	)

CT_Default@   zo`<Default>` element.

Specifies the default content type to be applied to a part with the specified extension.
	Extensionstr	extensionContentTypecontentType N)__name__
__module____qualname____firstlineno____doc__r   r   r1   __annotations__r   r3   __static_attributes__r4   r#   r!   r-   r-   @   s7    
 '\Is  )~K 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_OverrideN   zh`<Override>` element.

Specifies the content type to be applied for a part with the specified partname.
PartNamer0   partNamer2   r3   r4   N)r5   r6   r7   r8   r9   r   r   r@   r:   r   r3   r;   r4   r#   r!   r=   r=   N   s7    
 &IHc  )~K r#   r=   c                      \ rS rSr% Sr\" S\5      rS\S'   \" S\	5      r
S\S'   \" S\	5      rS\S	'   \" S
\\R                  S9rS\S'   \\R                  4         SS jj5       rSrg)CT_Relationship\   z\`<Relationship>` element.

Represents a single relationship from a source to a target part.
Idr0   rIdTypereltypeTarget
target_ref
TargetMode)default
targetModec                ~    [        [        [        S[        S    S35      5      nXl        X%l        X5l        XEl        U$ )zTReturn a new `<Relationship>` element.

`target_ref` is either a partname or a URI.
z<Relationship xmlns="r   "/>)r   rB   r
   nsmaprE   rG   rI   rL   )clsrE   rG   rI   target_moderelationships         r!   newCT_Relationship.newk   sC     OY9NuUY{m[^7_-`a&","-r#   r4   N)
rE   r0   rG   r0   rI   r0   rQ   r0   returnrB   )r5   r6   r7   r8   r9   r   r   rE   r:   r   rG   rI   r   r   RTMINTERNALrL   classmethodrS   r;   r4   r#   r!   rB   rB   \   s    
 !u-C-$VY7GS7')J  (mS\\J  IL #14CF	 r#   rB   c                      \ rS rSr% SrS\S'   S\S'   \" S5      r S         SS jjr\	SS	 j5       r
\SS
 j5       rSrg)CT_Relationships{   z<`<Relationships>` element, the root element in a .rels file.zlist[CT_Relationship]relationship_lstz,Callable[[CT_Relationship], CT_Relationship]_insert_relationshippr:Relationshipc                    U(       a  [         R                  O[         R                  n[        R	                  XX55      nU R                  U5      $ )zFAdd a child `<Relationship>` element with attributes set as specified.)rV   EXTERNALrW   rB   rS   r]   )selfrE   rG   targetis_externalrQ   rR   s          r!   add_relCT_Relationships.add_rel   s8     '2clls||&**3M((66r#   c                J    [        [        [        S[        S    S35      5      $ )z'Return a new `<Relationships>` element.z<Relationships xmlns="r   rN   )r   rZ   r
   rO   rP   s    r!   rS   CT_Relationships.new   s&     $i2HtUX0Y&Z[[r#   c                    [        U SSS9$ )zReturn XML bytes, with XML-declaration, for this `<Relationships>` element.

Suitable for saving in a .rels stream, not pretty printed and with an XML declaration at
the top.
r(   Tr)   )r"   )ra   s    r!   xml_file_bytesCT_Relationships.xml_file_bytes   s     %TGMMr#   r4   N)F)
rE   r0   rG   r0   rb   r0   rc   boolrU   rB   )rU   rZ   )rU   bytes)r5   r6   r7   r8   r9   r:   r   rR   rd   rX   rS   propertyrj   r;   r4   r#   r!   rZ   rZ   {   s|    F++FF/0L HM77!$7.17@D7	7 \ \ N Nr#   rZ   c                      \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   \" S5      r\" S5      rSS jr	SS jr
\SS j5       rSrg)CT_Types   zd`<Types>` element.

The container element for Default and Override elements in [Content_Types].xml.
zlist[CT_Default]default_lstzlist[CT_Override]override_lstzCallable[..., CT_Default]_add_defaultzCallable[..., CT_Override]_add_override
ct:Defaultct:Overridec                     U R                  XS9$ )zHAdd a child `<Default>` element with attributes set to parameter values.)r1   r3   )rt   )ra   extcontent_types      r!   add_defaultCT_Types.add_default   s      3 IIr#   c                     U R                  XS9$ )zIAdd a child `<Override>` element with attributes set to parameter values.)r@   r3   )ru   )ra   partnamerz   s      r!   add_overrideCT_Types.add_override   s    !!8!NNr#   c                J    [        [        [        S[        S    S35      5      $ )zReturn a new `<Types>` element.z<Types xmlns="r   rN   )r   rp   r
   rO   rg   s    r!   rS   CT_Types.new   s#     Hi.tS(IJKKr#   r4   N)ry   r0   rz   r0   rU   r-   )r~   r   rz   r0   rU   r=   )rU   rp   )r5   r6   r7   r8   r9   r:   r   rK   overrider{   r   rX   rS   r;   r4   r#   r!   rp   rp      sW    
 "!##++--&G-(HJO L Lr#   rp   rv   rw   zct:Typesr^   zpr:Relationships)zutf-8FN)
r    r   r   r0   r   rl   r   bool | NonerU   rm   )NFN)r%   r   r   z
str | Noner   rl   r   r   )r*   r   rU   rm   )*r9   
__future__r   typingr   r   r   lxmlr   pptx.opc.constantsr   NSr	   rV   	pptx.oxmlr
   r   pptx.oxml.simpletypesr   r   r   r   r   pptx.oxml.xmlchemyr   r   r   r   pptx.opc.packurir   OPC_CONTENT_TYPESOPC_RELATIONSHIPSOFC_RELATIONSHIPSrO   r"   r&   r+   r-   r=   rB   rZ   rp   r4   r#   r!   <module>r      sQ   S " 0 0  . > 5   ( 




				 "	  	
   "	d	dd d 	dG / o >N N>L L: \: . ]K 0 Z * & 8 ')9 :r#   