
    j              	          S r SrS rSS jr\S:X  a  SSKr\R                  R                  \R                  R                  \R                  R                  \
5      S	S
5      5      r\R                  " \SS9  \" SSSSS/S9\" SSSS/S9\" SSSS/S9/r\" \S5       HW  u  rr\R                  R                  \S\ S35      r\" \SSS9 r\R+                  \" S0 \D65        SSS5        \" S\5        MY     gg! , (       d  f       N= f)a  Number line SVG generator for AGS Math instruments.

generate(start, end, interval, marked_points) -> str  (self-contained SVG)

  - Ink horizontal line with arrowheads at BOTH ends.
  - Gold tick markers at every `interval` with numeric labels below.
  - Crimson filled highlight dots at each value in `marked_points`.
  - Width auto-sizes to the number of ticks (range / interval).
z<style>svg{--crimson:#960000;--gold:#BF9237;--lime:#88C808;--steel:#4A6488;--cream:#FAF5EE;--ink:#2A2A2A;--border:#D0ACAC;}</style>c                 |    [        U [        U 5      -
  5      S:  a  [        [        [        U 5      5      5      $ SU -  $ )Ng&.>z%g)absroundstrint)vs    <C:\allgifted\mathapi11v2\tools\svg_generators\number_line.py_fmtr	      s4    
1uQx<43uQx=!!1H        
      Nc                   ^ ^^^ Uc  / n[        T 5      m [        T5      m[        U5      n[        [        TT -
  U-  5      5      nUnSmSnXV-  mTST-  -   nSnSn	UUUU 4S jn
/ nUR                  S[        U5       SU S	[        U5       S
U S3	5        UR                  [        5        UR                  S[        U5      S-
   SUS-
   S35        UR                  S5        TS-
  nUT-
  S-   nUR                  SUS SU	 SUS SU	 S3	5        [        US-   5       H`  nT X-  -   nU
" U5      nUR                  SUS SU	S-
   SUS SU	S-    S3	5        UR                  SUS SU	S-    S[        U5       S35        Mb     U H/  n[        U5      nU
" U5      nUR                  SUS S U	 S!35        M1     UR                  S"5        S#R                  U5      $ )$N2   8      x   7   c                 &   > TU T-
  TT-
  -  T-  -   $ )N )valuePADendline_wstarts    r   xposgenerate.<locals>.xpos)   s     eeme4v===r
   z/<svg xmlns="http://www.w3.org/2000/svg" width="z
" height="z" viewBox="0 0  z">z<rect x="3" y="3" width="   zG" rx="14" ry="14" fill="none" stroke="var(--border)" stroke-width="3"/>a*  <defs><marker id="arrL" markerWidth="12" markerHeight="12" refX="6" refY="6" orient="auto"><path d="M11,1 L2,6 L11,11 Z" fill="var(--ink)"/></marker><marker id="arrR" markerWidth="12" markerHeight="12" refX="6" refY="6" orient="auto"><path d="M1,1 L10,6 L1,11 Z" fill="var(--ink)"/></marker></defs>   z
<line x1="z.2fz" y1="z" x2="z" y2="zZ" stroke="var(--ink)" stroke-width="3" marker-start="url(#arrL)" marker-end="url(#arrR)"/>r   	   z@" stroke="var(--gold)" stroke-width="3" stroke-linecap="round"/>z	<text x="z" y="   zQ" font-family="sans-serif" font-size="14" fill="var(--ink)" text-anchor="middle">z</text>z<circle cx="z" cy="zH" r="7" fill="var(--crimson)" stroke="var(--cream)" stroke-width="1.5"/>z</svg>
)floatr   r   appendSTYLEranger	   join)r   r   intervalmarked_pointsn_ticksspanSTEP_PXwidthheightyr   partsx_leftx_rightivalxmpr   r   s   ``                @@r   generater7      s\   %LE
*CXH%u012GD
CG^FQWEF
A> > E	LL
9#e* F(/#e*Qvhb	B 
LL 
LL
#CJqL>F1H: FH 	I 
LL	 2XFckBG	LL
VCLqc}F1# F> 	? 7Q;al"I3vacU&3vacU CM N	
 	#weAbD6 *EEI#YKwX	
   2YH1S's +9 :	
  
LL99Ur
   __main__z..samplesT)exist_ok      )r   r   r(   r)   d   (      number_line_z.svgwzutf-8)encodingwrote)r   r   r   Nr   )__doc__r%   r	   r7   __name__ospathabspathr'   dirname__file__outmakedirsdictr9   	enumerater3   kwpopenfwriteprintr   r
   r   <module>rV      s  O K\ z
''//"'',,rwwx'@$	R
SCKKd#1"qA?1#2$?21q<G
 7A&2GGLLQCt45!S7+qGGHNrN# ,gq	 '  ,+s   C;;
D		