File: //opt/alt/python37/lib/python3.7/site-packages/svgwrite/data/__pycache__/svgparser.cpython-37.pyc
B
s�]� � @ s` d ddgZ ddlZddlT ddlmZ ddd d
ddd
ddddddddddddddddddd gZed!�Zed"�d# Z ed$�d# Z
ee�Z
ed%�ee� e
Zeee
�d& e
�ee
d& �A Zeeee� �ee
e �A Zeee�e
�eee�e �A Zd'd(� Zd)d*� Ze� Zeeed+�Zd,d-� Ze� Zeeed+�Zd.d/� Zd0d1� Zd2d3� Ze� Zeeed+�Z dS )4�is_valid_transferlist�is_valid_pathdata�is_valid_animation_timing� N)�*)�partialZfocusinZfocusoutZactivateZclickZ mousedownZmouseupZ mouseoverZ mousemoveZmouseoutZDOMSubtreeModifiedZDOMNodeInsertedZDOMNodeRemovedZDOMNodeRemovedFromDocumentZDOMNodeInsertedtoDocumentZDOMAttrModifiedZDOMCharacterDataModifiedZSVGLoadZ SVGUnloadZSVGAbortZSVGErrorZ SVGResizeZ SVGScrollZSVGZoomZ
beginEventZendEventZrepeatEventz+ -�,)r � �;�E�.c C s, y|j | dd� dS tk
r& dS X d S )NT)ZparseAllF)ZparseStringZParseException)Zterm�parser� r
�
/svgparser.py�has_valid_syntax$ s
r c C s� t d�d t tt�t d d } t d�d t ttt � d }t d�d t ttt � d }t d�d t ttt t t � d }t d�d t d }t d �d t d }| |B |B |B |B |B }|tt| � S )
N�matrix�(� �)� translate�scale�rotate�skewX�skewY)�Literal�numberZSuppress�comma�Optional�
ZeroOrMore)r r r r r r Z transformr
r
r �build_transferlist_parser, s $ (r )r c C s| t } | t | }ttA }td�}| tt| � }|tt| � }td�}td�| }td�| }td�| } td�| }
|t | t | }td�| tt| � }|t | }
td�|
tt|
� }|t | }td �| tt| � }td
�| tt| � }|t | t t t | t | t | }td�| tt| � }||B | B |
B |B |B |B |B |B }t|t|� �S )Nz0 1zZ zzM mzL lzH hzV vzC czS szQ qzT tzA a)r r �integer_constant�scientific_constant�oneOfr Z OneOrMore)Z
coordinateZcoordinate_pairZnonnegative_number�flagZcomma_delimited_coordinatesZ comma_delimited_coordinate_pairsZ closepathZmovetoZlinetoZhorizontal_linetoZvertical_linetoZcurveto_argument_sequenceZcurvetoZ smooth_curveto_argument_sequenceZsmooth_curvetoZ*quadratic_bezier_curveto_argument_sequenceZquadratic_bezier_curvetoZsmooth_quadratic_bezier_curvetoZelliptical_arc_argumentZelliptical_arcZdrawto_commandr
r
r �build_pathdata_parser; s, ,
$r# c
C s� t tdd�} t}t}| }| }t}td�}|td| � t|� }|d | td| � }|d | d | td| � } | |B |B S )N� )�exactz
h min s msr �:)�Word�numsr r! r )
�digit2Z timecount�fraction�seconds�minutesZhoursZmetricZ
timecount_valZpartial_clock_valZfull_clock_valr
r
r �build_clock_val_parserm s r- c
C s� t tdd�} t}| }| }| }| }| }t tdd�}td�t| d | B }|d | td| td| � � } | t|� }
|d | d | }|d |
}||
B |B S ) Nr$ )r% � �Zr&