
    ܵj                        S r SSKrSrS rSS jr\S:X  a  SSKr\R                  R                  \R                  R                  \
5      SS5      r\R                  R                  \5      r\R                  " \S	S
9  / SQr\" \S5       H[  u  ru  rr\R                  R                  \S\ S35      r\" \SSS9 r\R-                  \" \\5      5        SSS5        \" S\5        M]     gg! , (       d  f       N= f)a  Analog clock SVG generator for AGS Math instruments.

generate(hour, minute) -> str  (self-contained SVG)

Geometry: 12 at top, clockwise. Angles measured clockwise from 12 o'clock.
  - minute hand angle = minute * 6 deg
  - hour hand angle   = (hour%12 + minute/60) * 30 deg  (offset by minutes)
A clockwise angle `a` (deg) from the top maps to canvas coords via:
  x = cx + r * sin(rad(a))
  y = cy - r * cos(rad(a))
    Nz<style>svg{--crimson:#960000;--gold:#BF9237;--lime:#88C808;--steel:#4A6488;--cream:#FAF5EE;--ink:#2A2A2A;--border:#D0ACAC;}</style>c                     [         R                  " U5      nX[         R                  " U5      -  -   X[         R                  " U5      -  -
  4$ )z5Point at clockwise angle (deg from top) and radius r.)mathradianssincos)cxcyrang_degas        6C:\allgifted\mathapi11v2\tools/svg_generators/clock.py_ptr      s9    WADHHQK$((1+o!555    c                    [        U 5      S-  n [        U5      S-  nUS-  =p4US-  S-
  n/ nUR                  SU SU SU SU S	3	5        UR                  [        5        UR                  S
US-
   SUS-
   S35        UR                  SU SU SU S35        [        S5       H  nUS-  nUS-  S:X  aH  [	        X4US-
  U5      u  p[	        X4US-
  U5      u  pUR                  SU	S SU
S SUS SUS S3	5        MY  [	        X4US-
  U5      u  p[	        X4US-
  U5      u  pUR                  SU	S SU
S SUS SUS S3	5        M     [        SS5       HF  nUS-  n[	        X4US -
  U5      u  pUR                  S!US S"US S#[        US$-  5       S%U S&3	5        MH     XS'-  -   S(-  nUS)-  n[	        X4US*-  U5      u  nn[	        X4US+-  U5      u  nnUR                  SU SU SUS SUS S,3	5        UR                  SU SU SUS SUS S-3	5        UR                  SU SU S.35        UR                  S/5        S0R                  U5      $ )1N   <      
   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="18" ry="18" fill="none" stroke="var(--border)" stroke-width="4"/>z<circle cx="z" cy="z" r="z?" fill="var(--cream)" stroke="var(--border)" stroke-width="3"/>   r         z
<line x1="z.2fz" y1="z" x2="z" y2="zA" stroke="var(--steel)" stroke-width="4" stroke-linecap="round"/>   zC" stroke="var(--crimson)" stroke-width="2" stroke-linecap="round"/>         $   z	<text x="z" y="z&" font-family="sans-serif" font-size="g
ףp=
?zX" font-weight="bold" fill="var(--ink)" text-anchor="middle" dominant-baseline="central">z</text>g      N@g      >@g      @gp=
ף?g(\?z?" stroke="var(--ink)" stroke-width="7" stroke-linecap="round"/>z?" stroke="var(--ink)" stroke-width="4" stroke-linecap="round"/>z" r="6" fill="var(--ink)"/>z</svg>
)intappendSTYLEranger   join)hourminutesizer   r	   Rpartsiangx1y1x2y2ntxtyhour_angmin_anghxhymxmys                         r   generater9      s   t9r>D[2FQhBq2AE	LL
9$z$ PvQtfB	( 
LL 
LL
#DF8:d1fX >@ 	A
 
LL
rd&E! -4 	5 2Y!eq5A:Q,FBR-FBLLRHF2c(&Cr#h OR S
 Q,FBR-FBLLRHF2c(&Cr#h OT U $ 1b\"fRQVS)3xuRH -d4i.) *@@As'K	
  }$,HslGT8,FBT7+FB	LL
RDrd&Cr#h ?H 	I 
LL
RDrd&Cr#h ?H 	I
 
LL<t6"-HIJ	LL99Ur   __main__z..samplesT)exist_ok))   r   )r   r   )r      r   clock_z.svgwzutf-8)encodingwrote)r=   r   i@  )__doc__r   r"   r   r9   __name__ospathr$   dirname__file__outabspathmakedirsr;   	enumerater*   hmpopenfwriteprint r   r   <module>rU      s   
 O 6DN z
'',,rwwx0$	
BC
''//#
CKKd#)Gw*	6AqGGLLqc./!S7+qGGHQN# ,gq	 +  ,+s   ;C++
C9	