
    h                     :    S SK r S rS rS rS r " S S\5      rg)    Nc                  *    U  H  nUS:w  d  M  Us  $    g)Nr   g         )argsargs     N/var/www/html/env/lib/python3.13/site-packages/fontTools/svgLib/path/shapes.py_prefer_non_zeror      s    !8J      c                 H    SU -  R                  S5      R                  S5      $ )Nz%.3f0.)rstrip)ns    r   _ntosr      s"    QJs#**3//r	   c                 <    SU ;   a  U R                  SS5      S   $ U $ )N}   )split)tags    r   _strip_xml_nsr      s%     $'#:399S!Q636r	   c           	          [         R                  " SU 5      nU(       d  [        e[        S [         R                  " SUR                  S5      5       5       5      n[        U5      S:w  a  [        SU -  5      eU$ )Nzmatrix\((.*)\)c              3   8   #    U  H  n[        U5      v   M     g 7fN)float).0ps     r   	<genexpr>_transform.<locals>.<genexpr>   s     H%G588%Gs   z\s+|,r      zwrong # of terms in %s)rematchNotImplementedErrortupler   grouplen
ValueError)	raw_valuer    matrixs      r   
_transformr(      sc    
 HH&	2E!!HRXXhA%GHHF
6{a1I=>>Mr	   c                       \ rS rSrS rSS jrS rS rS rS r	S r
S	 rSS
 jrSS jrS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rSrg) PathBuilder$   c                      / U l         / U l        g r   paths
transformsselfs    r   __init__PathBuilder.__init__%   s    
r	   c                 p    U R                   R                  U5        U R                  R                  S 5        g r   )r.   appendr/   )r1   initial_paths     r   _start_pathPathBuilder._start_path)   s&    

,'t$r	   c                 &    U R                  S5        g )Nz)_addr0   s    r   	_end_pathPathBuilder._end_path-   s    		#r	   c                 b    U R                   S   nU(       a	  USU-   -  nOUnX R                   S'   g )N )r.   )r1   path_snippetpaths      r   r;   PathBuilder._add0   s1    zz"~C,&&DD

2r	   c                 ^    U R                  U< [        U5      < S[        U5      < 35        g N,r;   r   r1   cxys       r   _movePathBuilder._move8       		q%(E!H56r	   c                 (    U R                  SX5        g )NMrL   r1   rJ   rK   s      r   rP   PathBuilder.M;       

3r	   c                 (    U R                  SX5        g )NmrQ   rR   s      r   rV   PathBuilder.m>   rT   r	   c                     U R                  SU[        U5      [        U5      U[        U5      [        U5      4-  5        g )Nz%s%s,%s 0 %d 1 %s,%srG   )r1   rI   rxryrJ   rK   	large_arcs          r   _arcPathBuilder._arcA   s7    		"%)U2Y	58U1XFG	
r	   c                 ,    U R                  SXX4U5        g )NAr\   r1   rY   rZ   rJ   rK   r[   s         r   r_   PathBuilder.AG       		#rqY/r	   c                 ,    U R                  SXX4U5        g )Nar`   ra   s         r   re   PathBuilder.aJ   rc   r	   c                 D    U R                  U< [        U5      < 35        g r   rG   )r1   rI   rJ   s      r   _vhlinePathBuilder._vhlineM   s    		AuQx()r	   c                 (    U R                  SU5        g )NHrh   r1   rJ   s     r   rk   PathBuilder.HP       S!r	   c                 (    U R                  SU5        g )Nhrl   rm   s     r   rq   PathBuilder.hS   ro   r	   c                 (    U R                  SU5        g )NVrl   r1   rK   s     r   rt   PathBuilder.VV   ro   r	   c                 (    U R                  SU5        g )Nvrl   ru   s     r   rx   PathBuilder.vY   ro   r	   c                 ^    U R                  U< [        U5      < S[        U5      < 35        g rE   rG   rH   s       r   _linePathBuilder._line\   rN   r	   c                 (    U R                  SX5        g )NLr{   rR   s      r   r~   PathBuilder.L_   rT   r	   c                 (    U R                  SX5        g )Nlr   rR   s      r   r   PathBuilder.lb   rT   r	   c                    [        UR                  R                  SS5      5      n[        UR                  R                  SS5      5      n[        UR                  R                  SS5      5      n[        UR                  R                  SS5      5      nU R                  5         U R	                  X#5        U R                  XE5        g )Nx1r   y1x2y2)r   attribgetr7   rP   r~   )r1   liner   r   r   r   s         r   _parse_linePathBuilder._parse_linee   s    4;;??4+,4;;??4+,4;;??4+,4;;??4+,rrr	   c                    [        UR                  R                  SS5      5      n[        UR                  R                  SS5      5      n[        UR                  R                  S5      5      n[        UR                  R                  S5      5      n[        UR                  R                  SS5      5      n[        UR                  R                  SS5      5      n[        Xg5      n[        Xv5      nU R	                  5         U R                  X&-   U5        U R                  X$-   U-
  5        US:  a  U R                  XgX$-   X7-   5        U R                  X5-   U-
  5        US:  a  U R                  XgX$-   U-
  X5-   5        U R                  X&-   5        US:  a  U R                  XgX#U-   U-
  5        U R                  X7-   5        US:  a  U R                  XgX&-   U5        U R                  5         g )NrJ   r   rK   widthheightrY   rZ   )
r   r   r   r   r7   rP   rk   r_   rt   r<   )r1   rectrJ   rK   wrq   rY   rZ   s           r   _parse_rectPathBuilder._parse_recto   s~   $++//#q)*$++//#q)*$++//'*+$++//(+,4;;??4+,4;;??4+,b%b% 	qvqqurz6FF215!&)qurz6FF2152:qu-qv6FF21!ebj)qv6FF2161%r	   c                 ^    SUR                   ;   a  U R                  UR                   S   S9  g g )Nd)r6   r   r7   )r1   rB   s     r   _parse_pathPathBuilder._parse_path   s-    $++$++c*:; r	   c                     SUR                   ;   a2  U R                  SUR                   S   -   5        U R                  5         g g NpointsrP   )r   r7   r<   r1   polys     r   _parse_polygonPathBuilder._parse_polygon   s9    t{{"S4;;x#889NN #r	   c                 h    SUR                   ;   a"  U R                  SUR                   S   -   5        g g r   r   r   s     r   _parse_polylinePathBuilder._parse_polyline   s/    t{{"S4;;x#889 #r	   c                 x   [        UR                  R                  SS5      5      n[        UR                  R                  SS5      5      n[        UR                  R                  S5      5      nU R                  5         U R	                  X$-
  U5        U R                  XDX$-   USS9  U R                  XDX$-
  USS9  g )Ncxr   cyrr   r[   r   r   r   r7   rP   r_   )r1   circler   r   r   s        r   _parse_circlePathBuilder._parse_circle   s    6==$$T1-.6==$$T1-.&--##C() 	rvrqRVR1-qRVR1-r	   c                    [        UR                  R                  SS5      5      n[        UR                  R                  SS5      5      n[        UR                  R                  S5      5      n[        UR                  R                  S5      5      nU R                  5         U R	                  X$-
  U5        U R                  XEX$-   USS9  U R                  XEX$-
  USS9  g )Nr   r   r   rY   rZ   r   r   r   )r1   ellipser   r   rY   rZ   s         r   _parse_ellipsePathBuilder._parse_ellipse   s    7>>%%dA./7>>%%dA./7>>%%d+,7>>%%d+, 	rwrrwa0rrwa0r	   c                    [        UR                  5      n[        U SUR                  5       -  S 5      n[	        U5      (       d  gU" U5        SUR
                  ;   a%  [        UR
                  S   5      U R                  S'   g)Nz	_parse_%sF	transformr?   T)r   r   getattrlowercallabler   r(   r/   )r1   elr   parse_fns       r   add_path_from_element!PathBuilder.add_path_from_element   si    BFF#4syy{!:DA!!"))#",RYY{-C"DDOOBr	   r-   N) )r   )__name__
__module____qualname____firstlineno__r2   r7   r<   r;   rL   rP   rV   r\   r_   re   rh   rk   rq   rt   rx   r{   r~   r   r   r   r   r   r   r   r   r   __static_attributes__r   r	   r   r*   r*   $   s    %7
00*78<
:	.
1r	   r*   )r   r   r   r   r(   objectr*   r   r	   r   <module>r      s*    	0
7S& Sr	   