+
    i                     >   R t ^ RIt^ RIHt ^ RIHt  ! R R4      t ! R R]4      t ! R R	]4      t	 ! R
 R]4      t
 ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t]]	]
]]]]].tR tRR ltR# )z/Contains classes for generating hatch patterns.N)_api)Pathc                       ] tR t^	tRtRtR# )HatchPatternBasez#The base class for a hatch pattern. N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       p/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/matplotlib/hatch.pyr   r   	   s    -r   r   c                   ,   a  ] tR t^t o R tR tRtV tR# )HorizontalHatchc                    \        VP                  R 4      VP                  R4      ,           V,          4      V n        V P                  ^,          V n        R# )-+Nintcount	num_linesnum_verticesselfhatchdensitys   &&&r   __init__HorizontalHatch.__init__   ;    ekk#.S1AAWLM NNQ.r   c                    \         P                  ! R RV P                  RRR7      w  r4W4R,          ,          pR VR	&   W1R
&   RVR&   W1R&   \        P                  VR&   \        P
                  VR&   R#               ?FT)retstepg       @    N      Nr'   Nr%   r&   r%   r)   r(   r&   r(   r)   nplinspacer   r   MOVETOLINETOr   verticescodesstepsstepsizes   &&&  r   set_vertices_and_codes&HorizontalHatch.set_vertices_and_codes   sk    ++c3.24B!!kkdkkdr   r   r   Nr   r   r	   r
   r   r8   r   __classdictcell____classdict__s   @r   r   r           /	" 	"r   r   c                   ,   a  ] tR t^t o R tR tRtV tR# )VerticalHatchc                    \        VP                  R 4      VP                  R4      ,           V,          4      V n        V P                  ^,          V n        R# )|r   Nr   r   s   &&&r   r   VerticalHatch.__init__    r   r   c                    \         P                  ! R RV P                  RRR7      w  r4W4R,          ,          pW1R	&   R VR
&   W1R&   RVR&   \        P                  VR&   \        P
                  VR&   R# r!   r.   r3   s   &&&  r   r8   $VerticalHatch.set_vertices_and_codes$   sk    ++c3.24B!!kkdkkdr   r:   Nr;   r=   s   @r   rA   rA      r?   r   rA   c                   ,   a  ] tR t^0t o R tR tRtV tR# )NorthEastHatchc                   \        VP                  R 4      VP                  R4      ,           VP                  R4      ,           V,          4      V n        V P                  '       d"   V P                  ^,           ^,          V n        R# ^ V n        R# )/xXNr   r   s   &&&r   r   NorthEastHatch.__init__1   sc    [[C 005;;s3CCwNP>>>!%!!3q 8D !Dr   c                   \         P                  ! RR V P                  ^,           4      pRV,           VR&   RV,
          VR&   RV,           VR	&   RV,
          VR
&   \        P                  VR&   \        P
                  VR&   R# g      ?r"   r%   r#   r(   Ng      r*   r+   r,   r-   r.   r   r4   r5   r6   s   &&& r   r8   %NorthEastHatch.set_vertices_and_codes9   o    D#t~~'9:%K%K%K%Kkkdkkdr   r:   Nr;   r=   s   @r   rH   rH   0   s     "" "r   rH   c                   ,   a  ] tR t^Ct o R tR tRtV tR# )SouthEastHatchc                   \        VP                  R 4      VP                  R4      ,           VP                  R4      ,           V,          4      V n        V P                  '       d"   V P                  ^,           ^,          V n        R# ^ V n        R# )\rK   rL   Nr   r   s   &&&r   r   SouthEastHatch.__init__D   sg    [[S!11EKK4DD >>>!%!!3q 8D !Dr   c                   \         P                  ! RR V P                  ^,           4      pRV,           VR&   RV,           VR&   RV,           VR	&   RV,           VR
&   \        P                  VR&   \        P
                  VR&   R# rO   r.   rP   s   &&& r   r8   %SouthEastHatch.set_vertices_and_codesM   rR   r   r:   Nr;   r=   s   @r   rT   rT   C   s     "" "r   rT   c                   0   a  ] tR t^Wt o RtR tR tRtV tR# )ShapesFc                   V P                   ^ 8X  d   ^ V n        ^ V n        R# V P                   ^,          ^,           V P                   ^,           ,          V P                   ^,          V P                   ,          ,           V n        V P                  \        V P                  4      ,          V P
                  '       d   ^M^,          V n        R# )r&   N)num_rows
num_shapesr   lenshape_verticesfilledr   s   &&&r   r   Shapes.__init__Z   s    ==ADO !D $ 2Q 64==1;LM $ 2dmmC DDO!%!$T%8%8!9":'+{{{!";Dr   c                ,   R V P                   ,          pV P                  V,          V P                  ,          pV P                  pV P                  '       g@   \
        P                  ! WDRRR1,          R,          .4      p\
        P                  ! WU.4      p. p. p\        V P                   ^,           4       F  pV^,          ^ 8X  d+   \
        P                  ! ^ ^V P                   ^,           4      p	M7\
        P                  ! V^,          ^V^,          ,
          V P                   4      p	W,          p
V	 F-  pVP                  WKV
.,           4       VP                  V4       K/  	  K  	  \
        P                  ! WaR7       \
        P                  ! WrR7       R# )r#   Ng?)out)
r]   r`   sizeshape_codesra   r/   concatenateranger0   append)r   r4   r5   offsetr`   rg   vertices_partscodes_partsrowcolsrow_poscol_poss   &&&         r   r8   Shapes.set_vertices_and_codese   s)   t}}$,,v5		A&&{{{^^"!5!;<>N..+)CDK*+CQw!|{{1a):;{{6A:q6A:~t}}MlG%%n7I&IJ"";/   , 	~4
{.r   )r^   r   N)	r   r   r	   r
   ra   r   r8   r   r<   r=   s   @r   r[   r[   W   s     F	</ /r   r[   c                   2   a a ] tR t^|t oV 3R ltRtVtV ;t# )Circlesc                   < \         P                  ! 4       pVP                  V n        VP                  V n        \        SV `  W4       R # )N)r   unit_circler4   r`   r5   rg   superr   r   r   r   path	__class__s   &&& r   r   Circles.__init__}   s6    !"mm::(r   )rg   r`   )r   r   r	   r
   r   r   r<   __classcell__rz   r>   s   @@r   rt   rt   |   s     ) )r   rt   c                   6   a a ] tR t^t oRtV 3R ltRtVtV ;t# )SmallCirclesg?c                `   < VP                  R 4      V,          V n        \        SV `  W4       R# )oNr   r]   rw   r   r   r   r   rz   s   &&&r   r   SmallCircles.__init__   %    S)W4(r   r]   	r   r   r	   r
   rf   r   r   r<   r|   r}   s   @@r   r   r      s     D) )r   r   c                   6   a a ] tR t^t oRtV 3R ltRtVtV ;t# )LargeCirclesgffffff?c                `   < VP                  R 4      V,          V n        \        SV `  W4       R# )ONr   r   s   &&&r   r   LargeCircles.__init__   r   r   r   r   r}   s   @@r   r   r      s     D) )r   r   c                   :   a a ] tR t^t oRtRtV 3R ltRtVtV ;t	# )SmallFilledCirclesg?Tc                `   < VP                  R 4      V,          V n        \        SV `  W4       R# ).Nr   r   s   &&&r   r   SmallFilledCircles.__init__   r   r   r   
r   r   r	   r
   rf   ra   r   r   r<   r|   r}   s   @@r   r   r      s     DF) )r   r   c                   :   a a ] tR t^t oRtRtV 3R ltRtVtV ;t	# )StarsTc                  < VP                  R 4      V,          V n        \        P                  ! ^4      pVP                  V n        \        P                  ! \        V P
                  4      \        P                  \        P                  R7      V n        \        P                  V P                  ^ &   \        SV `9  W4       R# )*)dtypeN)r   r]   r   unit_regular_starr4   r`   r/   fullr_   r2   	code_typerg   r1   rw   r   rx   s   &&& r   r   Stars.__init__   s    S)W4%%a("mm773t':':#;T[[)-9"kk(r   )r]   rg   r`   gUUUUUU?r   r}   s   @@r   r   r      s     DF) )r   r   c           	         \        R 4      pV e{   \        V 4      P                  V4      pV'       dW   RP                  \        V4      4      pRP                  \        V4      4      p\        P
                  ! RRRV RV R2R7       R# R# R# )	z-+|/\xXoO.*N z3.4z3.11z#hatch must consist of a string of "z3" or None, but found the following invalid values "z`". Passing invalid values is deprecated since %(since)s and will become an error in %(removal)s.)removalmessage)set
differencejoinsortedr   warn_deprecated)r   valid_hatch_patternsinvalidsvalids   &   r   _validate_hatch_patternr      s    ~.u:(()=>GGF#789Ewwvh/0H  =eW E$: &SS  r   c                X   \        V4      p\         Uu. uF  pV! W4      NK  	  pp\        V Uu. uF  qDP                  NK  	  up4      pV^ 8X  d    \	        \
        P                  ! R4      4      # \
        P                  ! V^34      p\
        P                  ! V\        P                  4      p^ pV Fa  pVP                  ^ 8w  g   K  WhWP                  ,            p	WxWP                  ,            p
VP                  W4       WP                  ,          pKc  	  \	        Wg4      # u upi u upi )z
Given a hatch specifier, *hatchpattern*, generates Path to render
the hatch in a unit square.  *density* is the number of lines per
unit square.
)r&   r'   )	r   _hatch_typessumr   r   r/   emptyr   r8   )hatchpatternr   
hatch_typepatternspatternr   r4   r5   cursorvertices_chunkcodes_chunks   &&         r   get_pathr      s    'lG #/0".J <1".  0HEH,,HEFLqBHHV$%%xxq)*HHH\4>>2EF1$%V6J6J-JKNv0D0D'DEK**>G***F    %0Es
   D"D')   )r   numpyr/   
matplotlibr   matplotlib.pathr   r   r   rA   rH   rT   r[   rt   r   r   r   r   r   r   r   r   r   r   <module>r      s    5    	 	
"& """$ """% "&"% "("/ "/J)f ))7 ))7 )) ))F ) 		"!r   