ó
    Üµ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Ø”D—H’H˜Q“K‘Ñ ¬$¯(ª(°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  p¼U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  p¼U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  pïU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      @g¤p=
×£à?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  € Üˆt‹9�r‰>€DÜ�‹[˜2Ñ€FØ�Q‰hÐ€BØˆq‰�2‰€AØ€EØ	‡L�LØ
9¸$¸¸zÈ$Èð PØ�v˜Q˜t˜f Bð	(ôð 
‡L�L”Ôð 
‡L�LØ
# D¨¡F 8¨:°d¸1±f°Xð >@ð 	Aôð
 
‡L�LØ
�r�d˜&   E¨!¨ð -4ð 	5ôô �2ŽYˆØ�!‰eˆØˆq‰5�A‹:Ü˜  Q¡¨Ó,‰FˆBÜ˜  R¡¨Ó-‰FˆBØ�L‰LØ˜R ˜H F¨2¨c¨(°&¸¸C¸ÀÀrÈ#Àhð ORð Söô
 ˜  Q¡¨Ó,‰FˆBÜ˜  R¡¨Ó-‰FˆBØ�L‰LØ˜R ˜H F¨2¨c¨(°&¸¸C¸ÀÀrÈ#Àhð OTð Uöñ ô$ �1�bŽ\ˆØ�"‰fˆÜ�R˜Q ™V SÓ)‰ˆØ�‰Ø˜˜3�x˜u R¨ Hð -Ü˜d 4™i›.Ð)ð *@Ø@A¸sÀ'ðKö	
ñ ð  ‘}Ñ$¨Ñ,€HØ�s‰l€GÜ�˜˜T™ 8Ó,�F€BˆÜ�˜˜T™ 7Ó+�F€BˆØ	‡L�LØ
�R�D˜˜r˜d &¨¨C¨°°r¸#°hð ?Hð 	Iôð 
‡L�LØ
�R�D˜˜r˜d &¨¨C¨°°r¸#°hð ?Hð 	Iôð
 
‡L�L�< ˜t 6¨"¨Ð-HÐIÔJà	‡L�L�ÔØ�9‰9�UÓÐ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ÓÛØ
�'‰'�,‰,�r—w‘w—‘ xÓ0°$¸	Ó
B€CØ
�'‰'�/‰/˜#Ó
€CØ‡K‚K�˜dÒ#Ú)€GÙ˜w¨Ö*‰	ˆ‰6ˆAˆqØ�G‰G�L‰L˜  q c¨Ð.Ó/ˆÙ�!�S 7Ò+¨qØ�G‰G‘H˜Q “NÔ#÷ ,áˆg�qÖò	 +ð ÷ ,Õ+ús   Â;C+Ã+
C9	