
    wdfv$                     H   d Z ddlmZ ddlmZ ddlZdZ eg d          Z eg d          Z	 eg d          Z
 G d	 d
e          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d d e          Z G d! d"e          Z G d# d$e          Z G d% d&e          Z G d' d(e          Z G d) d*e          Z G d+ d,e          Z G d- d.e          Z G d/ d0e          Z G d1 d2e          Z G d3 d4e          Z  G d5 d6e          Z! G d7 d8e          Z" G d9 d:e          Z# G d; d<e          Z$ G d= d>e          Z% G d? d@e          Z& G dA dBe          Z' G dC dDe          Z( G dE d4e          Z  G dF dGe          Z) G dH dIe          Z* G dJ dKe          Z+ G dL dMe          Z, G dN dOe          Z- G dP dQe          Z. G dR dSe          Z/ G dT dUe          Z0 G dV dWe          Z1 G dX dYe          Z2 G dZ d[e          Z3 G d\ d]e          Z4 G d^ d_e          Z5 G d` dae          Z6 G db dce          Z7 G dd dee          Z8 G df dge          Z9 G dh die          Z: G dj dke          Z; G dl dme          Z< G dn doe          Z= G dp dqe          Z>dS )rz
This module consists of classes specific to HTML5-SVG Elements. In general this module does not include
- Elements that are not specific to SVG (eg. <a>)
- Elements that are deprecated
    )html_tag)dom_tagNa  
This file is part of Dominate.

Dominate is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.

Dominate is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General
Public License along with Dominate.  If not, see
<http://www.gnu.org/licenses/>.
)	accesskeyclassr   contenteditablecontextmenudir	draggableiditemhiddenlangitemprop
spellcheckstylesubjecttabindextitle)Donbeginonendonrepeatonabortonerroronresizeonscrollonunloadoncopyoncutonpasteoncancel	oncanplayoncanplaythroughonchangeonclickoncloseoncuechange
ondblclickondrag	ondragendondragenter
ondragexitondragleave
ondragoverondragstartondropondurationchange	onemptiedonendedr   onfocusoninput	oninvalid	onkeydown
onkeypressonkeyuponloadonloadeddataonloadedmetadataonloadstartonmousedownonmouseenteronmouseleaveonmousemove
onmouseoutonmouseover	onmouseuponmousewheelonpauseonplay	onplaying
onprogressonratechangeonresetr   r   onseeked	onseekingonselectonshow	onstalledonsubmit	onsuspendontimeupdateontoggleonvolumechange	onwaiting)%accent	alignmentarabicbaselinecapclipcolordominantenablefillfloodfontglyphhorizimageletterlightingmarkeroverlinepaintpanosepointer	renderingshapestopstrikethroughstroketext	underlineunicodeunitsvvectorvertwordwritingxc                   $    e Zd Zed             ZdS )svg_tagc                     t          j        |           } |                     d          }|d         t          v r|                     dd          S | S )N_r   -)r   clean_attributesplitDASHED_ATTRIBUTESreplace)	attributewordss     Q/var/www/book.euthymeo.com/html/venv/lib/python3.11/site-packages/dominate/svg.pyr   zsvg_tag.clean_attribute<   sO    (33IOOC  EQx$$$sC(((    N)__name__
__module____qualname__staticmethodr    r   r   r|   r|   ;   s-          <  r   r|   c                       e Zd ZdS )svgNr   r   r   r   r   r   r   r   E           $r   r   c                       e Zd ZdZdS )animatez
  The  animate SVG element is used to animate an attribute or property of an element over time.
  It's normally inserted inside the element or referenced by the href attribute of the target element.
  Nr   r   r   __doc__r   r   r   r   r   I             $r   r   c                       e Zd ZdZdS )animateMotionzZ
  The <animateMotion> element causes a referenced element to move along a motion path.
  Nr   r   r   r   r   r   Q             $r   r   c                       e Zd ZdZdZdS )animateTransformz
  The animateTransform element animates a transformation attribute on its target element, thereby allowing
  animations to control translation, scaling, rotation, and/or skewing.
  TN)r   r   r   r   	is_singler   r   r   r   r   X   s          )))r   r   c                       e Zd ZdZdS )circlezp
  The <circle> SVG element is an SVG basic shape, used to draw circles based on a center point and a radius.
  Nr   r   r   r   r   r   `   r   r   r   c                       e Zd ZdZdS )clipPathzd
  The <clipPath> SVG element defines a clipping path, to be used used by the clip-path property.
  Nr   r   r   r   r   r   g   r   r   r   c                       e Zd ZdZdS )defsz
  The <defs> element is used to store graphical objects that will be used at a later time. Objects created inside a
  <defs> element are not rendered directly. To display them you have to reference them
  (with a <use> element for example).
  Nr   r   r   r   r   r   n            
 $r   r   c                       e Zd ZdZdS )desczx
  The <desc> element provides an accessible, long-text description of any SVG container element or graphics element.
  Nr   r   r   r   r   r   w   r   r   r   c                       e Zd ZdZdS )ellipsez+
  An ellipse element for svg containers
  Nr   r   r   r   r   r   ~   r   r   r   c                       e Zd ZdZdS )gzJ
  The <g> SVG element is a container used to group other SVG elements.
  Nr   r   r   r   r   r      r   r   r   c                       e Zd ZdZdS )rd   zy
  The <image> SVG element includes images inside SVG documents. It can display raster image files or other SVG files.
  Nr   r   r   r   rd   rd      r   r   rd   c                       e Zd ZdZdS )linez[
  The <line> element is an SVG basic shape used to create a line connecting two points.
  Nr   r   r   r   r   r      r   r   r   c                       e Zd ZdZdS )linearGradientz
  The <linearGradient> element lets authors define linear gradients that can be applied to fill or
  stroke of graphical elements.
  Nr   r   r   r   r   r      r   r   r   c                       e Zd ZdZdS )rg   z
  The <marker> element defines the graphic that is to be used for drawing arrowheads or polymarkers on a given <path>, <line>, <polyline> or <polygon> element.
  Nr   r   r   r   rg   rg      r   r   rg   c                       e Zd ZdZdS )maskz
  The <mask> element defines an alpha mask for compositing the current object into the background.
  A mask is used/referenced using the mask property.
  Nr   r   r   r   r   r      r   r   r   c                       e Zd ZdZdS )mpathz
  The <mpath> sub-element for the <animateMotion> element provides the ability to reference an
  external <path> element as the definition of a motion path.
  Nr   r   r   r   r   r      r   r   r   c                       e Zd ZdZdS )patternz
  The <pattern> element defines a graphics object which can be redrawn at repeated x and y-coordinate
  intervals ("tiled") to cover an area.
  Nr   r   r   r   r   r      r   r   r   c                       e Zd ZdZdS )polygonz*
  A polygon element for svg containers
  Nr   r   r   r   r   r      r   r   r   c                       e Zd ZdZdS )polylinez+
  A polyline element for svg containers
  Nr   r   r   r   r   r      r   r   r   c                       e Zd ZdZdS )radialGradientz
  The <radialGradient> element lets authors define radial gradients that can be applied to fill
  or stroke of graphical elements.
  Nr   r   r   r   r   r      r   r   r   c                       e Zd ZdZdS tspanz
  The SVG <tspan> element define a subtext within a <text> element or another <tspan> element.
  It allows to adjust the style and/or position of that subtext as needed.
  Nr   r   r   r   r   r      r   r   r   c                       e Zd ZdZdS )pathz'
  A path element for svg containers
  Nr   r   r   r   r   r      r   r   r   c                       e Zd ZdZdS )rectz,
  A rectangle element for svg containers
  Nr   r   r   r   r   r      r   r   r   c                       e Zd ZdZdS )rn   z
  The SVG <stop> element defines a color and its position to use on a gradient.
  This element is always a child of a <linearGradient> or <radialGradient> element.
  Nr   r   r   r   rn   rn      r   r   rn   c                       e Zd ZdZdS )switcha  
  The <switch> SVG element evaluates any requiredFeatures, requiredExtensions and systemLanguage attributes
  on its direct child elements in order, and then renders the first child where these attributes evaluate to true.
  Other direct children will be bypassed and therefore not rendered. If a child element is a container element,
  like <g>, then its subtree is also processed/rendered or bypassed/not rendered.
  Nr   r   r   r   r   r      s          $r   r   c                       e Zd ZdZdS )symbolz
  The use of symbol elements for graphics that are used multiple times in the same document adds structure and
   semantics. Documents that are rich in structure may be rendered graphically, as speech, or as Braille,
   and thus promote accessibility.
  Nr   r   r   r   r   r      r   r   r   c                       e Zd ZdZdS )rq   z
  The SVG <text> element draws a graphics element consisting of text. It's possible to apply a gradient,
   pattern, clipping path, mask, or filter to <text>, like any other SVG graphics element.
  Nr   r   r   r   rq   rq   	  r   r   rq   c                       e Zd ZdZdS )textPathz
  To render text along the shape of a <path>, enclose the text in a <textPath> element that has an href
  attribute with a reference to the <path> element.
  Nr   r   r   r   r   r     r   r   r   c                       e Zd ZdZdS )r   z|
  The <title> element provides an accessible, short-text description of any SVG container
  element or graphics element.
  Nr   r   r   r   r   r     r   r   r   c                       e Zd ZdZdS r   r   r   r   r   r   r   !  r   r   c                       e Zd ZdZdS )useze
  The <use> element takes nodes from within the SVG document, and duplicates them somewhere else.
  Nr   r   r   r   r   r   )  r   r   r   c                       e Zd ZdZdS )viewzT
  A view is a defined way to view the image, like a zoom level or a detail view.
  Nr   r   r   r   r   r   0  r   r   r   c                       e Zd ZdS )filterNr   r   r   r   r   r   8  r   r   r   c                       e Zd ZdS )feBlendNr   r   r   r   r   r   ;  r   r   r   c                       e Zd ZdS )feColorMatrixNr   r   r   r   r   r   >  r   r   r   c                       e Zd ZdS )feComponentTransferNr   r   r   r   r   r   A  r   r   r   c                       e Zd ZdS )feCompositeNr   r   r   r   r   r   D  r   r   r   c                       e Zd ZdS )feConvolveMatrixNr   r   r   r   r   r   G  r   r   r   c                       e Zd ZdS )feDiffuseLightingNr   r   r   r   r   r   J  r   r   r   c                       e Zd ZdS )feDisplacementMapNr   r   r   r   r   r   M  r   r   r   c                       e Zd ZdS )feFloodNr   r   r   r   r   r   P  r   r   r   c                       e Zd ZdS )feGaussianBlurNr   r   r   r   r   r   S  r   r   r   c                       e Zd ZdS )feImageNr   r   r   r   r   r   V  r   r   r   c                       e Zd ZdS )feMergeNr   r   r   r   r   r   Y  r   r   r   c                       e Zd ZdS )feMorphologyNr   r   r   r   r   r   \  r   r   r   c                       e Zd ZdS )feOffsetNr   r   r   r   r   r   _  r   r   r   c                       e Zd ZdS )feSpecularLightingNr   r   r   r   r   r   b  r   r   r   c                       e Zd ZdS )feTileNr   r   r   r   r   r   e  r   r   r   c                       e Zd ZdS )feTurbulenceNr   r   r   r   r   r   h  r   r   r   c                       e Zd ZdS )feDistantLightNr   r   r   r   r   r   k  r   r   r   c                       e Zd ZdS )fePointLightNr   r   r   r   r   r   n  r   r   r   c                       e Zd ZdS )feSpotLightNr   r   r   r   r   r   q  r   r   r   )?r   dominate.tagsr   dominate.dom_tagr   numbers__license__set_ATTR_GLOBAL_ATTR_EVENTSr   r|   r   r   r   r   r   r   r   r   r   r   rd   r   r   rg   r   r   r   r   r   r   r   r   r   rn   r   r   rq   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      sh	   
 # " " " " " $ $ $ $ $ $ & s      s      C          h       '       g       G       w       W       w       7       7       g              G       7       W       W       7       G       g       g       w       W       G       7       7       7       W       W       7       w       G       G       '       7       W       g       G       '       '       w                     g       W       g       g       7       w              W       7       W       7       '     r   