§
    |ØjZ2  ã                   ó*  — d dl mZ ddlZddlZ ed¦  «        Z ed¦  «        Z ed¦  «        Z ej        d¦  «        Z	 ej        d¦  «        Z
 ej        d	¦  «        Z ej        d
¦  «        Zd„ Zde
fde
fde
fdefdefde
fde
ffZd„ Zdefd„ZdS )é   )ÚEllipticalArcé    NÚMmZzLlHhVvCcSsQqTtAaÚAaÚ
MZLHVCSQTAz([MmZzLlHhVvCcSsQqTtAa])z\[-+]?(?:(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][-+]?[0-9]+)?|(?:\.[0-9]+(?:[eE][-+]?[0-9]+)?))z^[01]z[, 	]c              #   óB  K  — d }t                                | ¦  «        D ]}|t          v r|t          v r|nd }|V — Œ|r?	 t	          |¦  «        E d {V —† Œ6# t
          $ r}t          d|› |› d�¦  «        |‚d }~ww xY wt                               |¦  «        D ]}|V — ŒŒ€d S )NzInvalid arc command: 'ú')Ú
COMMAND_REÚsplitÚCOMMANDSÚARC_COMMANDSÚ_tokenize_arc_argumentsÚ
ValueErrorÚFLOAT_REÚfindall)ÚpathdefÚarc_cmdÚxÚeÚtokens        ú‘/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/fontTools/svgLib/path/parser.pyÚ_tokenize_pathr   "   sþ   è è € Ø€GÝ×Ò˜gÑ&Ô&ð ð ˆØ•ˆ=ˆ=Ø¥Ð,Ð,�a�a°$ˆGØˆGˆGˆGØàð 	ðPÝ2°1Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5øÝð Pð Pð PÝ Ð!G¸'Ð!GÀ1Ð!GÐ!GÐ!GÑHÔHÈaÐOøøøøðPøøøõ "×)Ò)¨!Ñ,Ô,ð ð �Ø����ððð s   ¿AÁ
A:ÁA5Á5A:ÚrxÚryzx-axis-rotationzlarge-arc-flagz
sweep-flagr   Úyc              #   ó&  K  — d„ t                                | ¦  «        D ¦   «         }|st          d| › d�¦  «        ‚|                     ¦   «          d}|r¤|                     ¦   «         }t
          |         \  }}|                     |¦  «        }|st          d|› d|›�¦  «        ‚|                     ¦   «         \  }}|||…         V — ||d …         }|r|                     |¦  «         |dk    rd}n|dz  }|°¤|dk    rt          d| › d�¦  «        ‚d S )	Nc                 ó   — g | ]}|¯|‘ŒS © r   )Ú.0Úss     r   ú
<listcomp>z+_tokenize_arc_arguments.<locals>.<listcomp>@   s   € Ð;Ð;Ð;�a¸Ð;�Ð;Ð;Ð;ó    zNot enough arguments: 'r	   r   zInvalid argument for 'z' parameter: é   r   )	ÚSEPARATOR_REr   r   ÚreverseÚpopÚARC_ARGUMENT_TYPESÚsearchÚspanÚappend)	ÚarcdefÚraw_argsÚiÚargÚnameÚpatternÚmatchÚjÚks	            r   r   r   ?   sV  è è € Ø;Ð;�<×-Ò-¨fÑ5Ô5Ð;Ñ;Ô;€HØð >ÝÐ<°6Ð<Ð<Ð<Ñ=Ô=Ð=Ø×ÒÑÔÐà	€AØ
ð Ø�lŠl‰nŒnˆå*¨1Ô-‰ˆˆgØ—’˜sÑ#Ô#ˆØð 	RÝÐP°dÐPÐPÈÐPÐPÑQÔQÐQà�zŠz‰|Œ|‰ˆˆ1Ø�!�A�#ŒhˆˆˆØ�!�"�"Œgˆàð 	!Ø�OŠO˜CÑ Ô Ð ð �Š6ˆ6ØˆAˆAà�‰FˆAð' ð ð* 	ˆA‚v€vÝÐ<°6Ð<Ð<Ð<Ñ=Ô=Ð=ð €vr"   )r   r   c           	      ób  ‡ ‡‡— t          |Ž }t          t          ‰ ¦  «        ¦  «        Š‰                     ¦   «          ‰r‰d         dvrt	          d‰ z  ¦  «        ‚d}d}dŠd}t          |d¦  «        }ˆˆˆ fd„}‰�r‰d         t          v r4‰}	‰                     ¦   «         Š‰t          v }
‰ 	                    ¦   «         ŠnH‰€Dt	          d‰ ›d	t          ‰                      ¦   «         ¦  «        t          ‰¦  «        z
  ›�¦  «        ‚‰}	‰d
vr'|s%|�#|                     |j        |j        f¦  «         d}‰dk    r |¦   «         } |¦   «         }t          |¦  «        t          |¦  «        dz  z   }|
r|}n||z  }|r|                     ¦   «          |                     |j        |j        f¦  «         |}d}dŠ�nÜ‰dk    rW|rQt#          j        ||dd¬¦  «        s!|                     |j        |j        f¦  «         |                     ¦   «          |}d}dŠ�n‰dk    rb |¦   «         } |¦   «         }t          |¦  «        t          |¦  «        dz  z   }|
s||z  }|                     |j        |j        f¦  «         |}�n‰dk    rU |¦   «         }t          |¦  «        |j        dz  z   }|
s
||j        z  }|                     |j        |j        f¦  «         |}�n¼‰dk    rX |¦   «         }|j        t          |¦  «        dz  z   }|
s||j        dz  z  }|                     |j        |j        f¦  «         |}�n^‰dk    rèt           |¦   «         ¦  «        t           |¦   «         ¦  «        dz  z   }t           |¦   «         ¦  «        t           |¦   «         ¦  «        dz  z   }t           |¦   «         ¦  «        t           |¦   «         ¦  «        dz  z   }|
s||z  }||z  }||z  }|                     |j        |j        f|j        |j        f|j        |j        f¦  «         |}|}�np‰dk    rÀ|	dvr|}n||z   |z
  }t           |¦   «         ¦  «        t           |¦   «         ¦  «        dz  z   }t           |¦   «         ¦  «        t           |¦   «         ¦  «        dz  z   }|
s
||z  }||z  }|                     |j        |j        f|j        |j        f|j        |j        f¦  «         |}|}�nª‰dk    r¤t           |¦   «         ¦  «        t           |¦   «         ¦  «        dz  z   }t           |¦   «         ¦  «        t           |¦   «         ¦  «        dz  z   }|
s
||z  }||z  }|                     |j        |j        f|j        |j        f¦  «         |}|}�n ‰dk    r||	dvr|}n||z   |z
  }t           |¦   «         ¦  «        t           |¦   «         ¦  «        dz  z   }|
s||z  }|                     |j        |j        f|j        |j        f¦  «         |}|}�n~‰dk    �rwt/          t          ‰                     ¦   «         ¦  «        ¦  «        }t/          t          ‰                     ¦   «         ¦  «        ¦  «        }t          ‰                     ¦   «         ¦  «        }t1          t3          ‰                     ¦   «         ¦  «        ¦  «        }t1          t3          ‰                     ¦   «         ¦  «        ¦  «        }t          ‰                     ¦   «         ¦  «        t          ‰                     ¦   «         ¦  «        dz  z   }|
s||z  }|r'|                     ||||||j        |j        f¦  «         n& ||||||||¦  «        }|                     |¦  «         |}‰�°|r|                     ¦   «          dS dS )a_  Parse SVG path definition (i.e. "d" attribute of <path> elements)
    and call a 'pen' object's moveTo, lineTo, curveTo, qCurveTo and closePath
    methods.

    If 'current_pos' (2-float tuple) is provided, the initial moveTo will
    be relative to that instead being absolute.

    If the pen has an "arcTo" method, it is called with the original values
    of the elliptical arc curve commands:

    .. code-block::

        pen.arcTo(rx, ry, rotation, arc_large, arc_sweep, (x, y))

    Otherwise, the arcs are approximated by series of cubic Bezier segments
    ("curveTo"), one every 90 degrees.
    éÿÿÿÿ)ÚMÚmz)Path must start with a moveto command: %rNFÚarcToc                  óv   •— 	 ‰                      ¦   «         S # t          $ r t          d‰ ›d‰›�¦  «        d ‚w xY w)Nz#Not enough coordinates for command z
 in path: )r&   Ú
IndexErrorr   )ÚcommandÚelementsr   s   €€€r   Ú	pop_coordzparse_path.<locals>.pop_coordŒ   sX   ø€ ð
	Ø—<’<‘>”>Ð!øÝð 	ð 	ð 	Ý�*ØGNÀwÀwÐPWÐPWÐXñô àðð	øøøs   ƒ —!8zUnallowed implicit command in z, position )r6   ÚZTr6   y              ð?ÚLr>   gVçž¯Ò<)Úrel_tolÚabs_tolÚHÚVÚCÚS)rD   rE   ÚQÚT)rF   rG   ÚA)ÚcomplexÚlistr   r%   r   Úhasattrr   r&   Ú	UPPERCASEÚupperÚlenr   ÚmoveToÚrealÚimagÚfloatÚendPathÚcmathÚiscloseÚlineToÚ	closePathÚcurveToÚqCurveToÚabsÚboolÚintr8   Údraw)r   ÚpenÚcurrent_posÚ	arc_classÚ	start_posÚsubpath_openÚlast_controlÚ
have_arcTor=   Úlast_commandÚabsoluter   r   ÚposÚcontrol1Úcontrol2ÚendÚcontrolr   r   ÚrotationÚ	arc_largeÚ	arc_sweepÚarcr;   r<   s   `                       @@r   Ú
parse_pathrp   _   sf  øøø€ õ, ˜;Ð'€Kå•N 7Ñ+Ô+Ñ,Ô,€Hà×ÒÑÔÐð
 ð P�H˜R”L¨
Ð2Ð2ÝÐDÀwÑNÑOÔOÐOð €IØ€LØ€GØ€Lå˜˜gÑ&Ô&€Jð
ð 
ð 
ð 
ð 
ð 
ð 
ð ñ NØ�BŒ<�8Ð#Ð#à"ˆLØ—l’l‘n”nˆGØ¥)Ð+ˆHØ—m’m‘o”oˆGˆGð ˆÝ �jà�w�w¥ G§M¢M¡O¤OÑ 4Ô 4µs¸8±}´}Ñ DÐ DðFñô ð ð #ˆLà˜*Ð$Ð$¨\Ð$¸iÐ>Sð
 �JŠJ˜	œ¨	¬Ð7Ñ8Ô8Ð8ØˆLà�cŠ>ˆ>à�	‘”ˆAØ�	‘”ˆAÝ˜‘(”(�U 1™XœX¨™]Ñ*ˆCØð #Ø!��à˜sÑ"�ð ð Ø—’‘”�à�JŠJ˜Ô(¨+Ô*:Ð;Ñ<Ô<Ð<ð
 $ˆIØˆLð
 ˆG‰Gà˜Š^ˆ^ð
 ð %Ý”}Ø °EÀ5ðñ ô ð Að —J’J 	¤°	´Ð?Ñ@Ô@Ð@Ø—’‘”�Ø'�Ø$�ØˆG‰Gà˜Š^ˆ^Ø�	‘”ˆAØ�	‘”ˆAÝ˜‘(”(�U 1™XœX¨™]Ñ*ˆCØð #Ø�{Ñ"�Ø�JŠJ˜œ #¤(Ð+Ñ,Ô,Ð,ØˆK‰Kà˜Š^ˆ^Ø�	‘”ˆAÝ˜‘(”(˜[Ô-°Ñ2Ñ2ˆCØð (Ø�{Ô'Ñ'�Ø�JŠJ˜œ #¤(Ð+Ñ,Ô,Ð,ØˆK‰Kà˜Š^ˆ^Ø�	‘”ˆAØÔ"¥U¨1¡X¤X°¡]Ñ2ˆCØð -Ø�{Ô'¨"Ñ,Ñ,�Ø�JŠJ˜œ #¤(Ð+Ñ,Ô,Ð,ØˆK‰Kà˜Š^ˆ^Ý˜Y˜Y™[œ[Ñ)Ô)­E°)°)±+´+Ñ,>Ô,>ÀÑ,CÑCˆHÝ˜Y˜Y™[œ[Ñ)Ô)­E°)°)±+´+Ñ,>Ô,>ÀÑ,CÑCˆHÝ˜	˜	™œÑ$Ô$¥u¨Y¨Y©[¬[Ñ'9Ô'9¸BÑ'>Ñ>ˆCàð #Ø˜KÑ'�Ø˜KÑ'�Ø�{Ñ"�à�KŠKØ” ¤Ð.Ø” ¤Ð.Ø”˜3œ8Ð$ñô ð ð
 ˆKØ#ˆL‰Là˜Š^ˆ^ð
  :Ð-Ð-ð '��ð
 '¨Ñ4°|ÑC�å˜Y˜Y™[œ[Ñ)Ô)­E°)°)±+´+Ñ,>Ô,>ÀÑ,CÑCˆHÝ˜	˜	™œÑ$Ô$¥u¨Y¨Y©[¬[Ñ'9Ô'9¸BÑ'>Ñ>ˆCàð #Ø˜KÑ'�Ø�{Ñ"�à�KŠKØ” ¤Ð.Ø” ¤Ð.Ø”˜3œ8Ð$ñô ð ð
 ˆKØ#ˆL‰Là˜Š^ˆ^Ý˜I˜I™KœKÑ(Ô(­5°°±´Ñ+=Ô+=ÀÑ+BÑBˆGÝ˜	˜	™œÑ$Ô$¥u¨Y¨Y©[¬[Ñ'9Ô'9¸BÑ'>Ñ>ˆCàð #Ø˜;Ñ&�Ø�{Ñ"�à�LŠL˜'œ,¨¬Ð5¸¼À#Ä(Ð7KÑLÔLÐLØˆKØ"ˆL‰Là˜Š^ˆ^ð
  :Ð-Ð-ð &��ð
 &¨Ñ3°lÑB�å˜	˜	™œÑ$Ô$¥u¨Y¨Y©[¬[Ñ'9Ô'9¸BÑ'>Ñ>ˆCàð #Ø�{Ñ"�à�LŠL˜'œ,¨¬Ð5¸¼À#Ä(Ð7KÑLÔLÐLØˆKØ"ˆL‰Là˜Š^‰^Ý•U˜8Ÿ<š<™>œ>Ñ*Ô*Ñ+Ô+ˆBÝ•U˜8Ÿ<š<™>œ>Ñ*Ô*Ñ+Ô+ˆBÝ˜XŸ\š\™^œ^Ñ,Ô,ˆHÝ�S §¢¡¤Ñ0Ô0Ñ1Ô1ˆIÝ�S §¢¡¤Ñ0Ô0Ñ1Ô1ˆIÝ˜Ÿš™œÑ'Ô'­%°·²±´Ñ*?Ô*?À"Ñ*DÑDˆCàð #Ø�{Ñ"�ð ð Ø—	’	ØØØØØØ”X˜sœxÐ(ñô ð ð ð  �iØ  R¨°9¸iÈñô �ð —’˜‘”�àˆKð] ñ Nðb ð Ø�Š‰Œˆˆˆðð r"   )ro   r   rT   ÚreÚsetr   r   rL   Úcompiler
   r   ÚBOOL_REr$   r   r'   r   rp   r   r"   r   ú<module>ru      s1  ðð Ð Ð Ð Ð Ð Ø €€€Ø 	€	€	€	àˆ3Ð%Ñ&Ô&€Øˆs�4‰yŒy€ØˆC�ÑÔ€	àˆRŒZÐ2Ñ3Ô3€
ð ˆ2Œ:ð	ñô €ð ˆ"Œ*�WÑ
Ô
€ØˆrŒz˜)Ñ$Ô$€ðð ð ð& 
ˆ8ÐØ	ˆ8ÐØ˜Ð!Ø�wÐØ�7ÐØˆ(€OØˆ(€OðÐ ð>ð >ð >ð@ *0¸=ð Kð Kð Kð Kð Kð Kr"   