�
J�g� � �0 � d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl m
Z
ddlmZ ddl
mZ dd lmZ n!# e$ r ej d
� � dd lmZ Y nw xY wddlmZ ddlmZmZmZmZmZmZmZ dd
lm Z m!Z! ddl"m#Z# ej$ e%� � Z&ddiZ'd� Z(ddd�Z) ej* d� � Z+ ej* d� � Z,e( G d� de-� � � � Z. ej* d� � Z/h d�Z0ddddddd d!�Z1ej2 d"z ej2 d#z dej2 d$�Z3e(dRd&�� � Z4e(dSd(�� � Z5e(d)� � � Z6e(d*� � � Z7e(d+� � � Z8 e7d,d-d.d/d0d1d2� � Z9e(d3� � � Z:e(d4� � � Z;e(d5� � � Z<e(d6� � � Z=e(d7� fd8�� � Z>e(d9� fd:�� � Z?d;� d<� d=� d>� d?� d@� dA� dB� dC� dD� dE� dF�Z@e(dG� � � ZAe( G dH� dI� � � � ZBe(dJ� � � ZC G dK� dLe� � ZDe(dM� � � ZE G dN� dO� � ZF G dP� dQe� � ZGdS )Tz�
Utilities to parse SVG graphics into fpdf.drawing objects.
The contents of this module are internal to fpdf2, and not part of the public API.
They may change at any time without prior warning or any deprecation period,
in non-backward-compatible ways.
� N)�Number)�
NamedTuple)�
parse_path)�BasePen� )�
PathPaintRule)�
fromstringzYdefusedxml could not be imported - fpdf2 will not be able to sanitize SVG images provided)�html)�color_from_hex_string�color_from_rgb_string�GraphicsContext�
GraphicsStyle�PaintedPath�ClippingPath� Transform)�
ImageCache�VectorImageInfo)�stream_content_for_raster_image�force_nodocumentFc �$ � dt | j <