403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.51
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/__pycache__/turtle.cpython-313.opt-2.pyc
�

��iaL��`�SSKrSSKrSSKrSSKrSSKrSSKrSSKJrJ	r	J
r
 SSKJr SSKJ
r
 /SQr/SQr/SQrSS	/r\\-\-\-S
/-r/SQr0SS
_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S!_S"S!_S#S$_S%S&_S'S(_S)S*_S+S,S-S..ErS/rS0r\"\5 "S2S3\5rS4rS5rS6rSfS7jr"S8S9\R>5r \"\ \RBS:5 "S;S<\RD5r#\RBr!"S=S>\$5r%"S?S
\5r&"S@SA\5r'"SBSC\$5r("SDSE\$5r)"SFSG\%5r*"SHSI\$5r+"SJSK\$5r,"SLSM\$5r-"SNSO\,\+5r.\.r/SPr0"SQSR\*5r1"SSST\.5r2\2r3SgSUjr4SVr5\S'r6\6S(:wa\5"\65 SYr8SZr9S[r:S\r;S]r<\<"\\1S^S_\:5 \<"\\2S`Sa\95 \=r>\?Sb:XaScr@SdrASerB\A"5 \B"5 \C"5 gg!\a \"S15 GNif=f!\7a \"SW\65 Nt\a \"SX\6-5 N�f=f)h�N)�isfile�split�join)�deepcopy)�simpledialog)	�ScrolledCanvas�TurtleScreen�Screen�	RawTurtle�Turtle�RawPen�Pen�Shape�Vec2D)�addshape�bgcolor�bgpic�bye�clearscreen�	colormode�delay�exitonclick�	getcanvas�	getshapes�listen�mainloop�mode�numinput�onkey�
onkeypress�onkeyrelease�
onscreenclick�ontimer�register_shape�resetscreen�
screensize�setup�setworldcoordinates�	textinput�title�tracer�turtles�update�
window_height�window_width)O�back�backward�
begin_fill�
begin_poly�bk�circle�clear�
clearstamp�clearstamps�clone�color�degrees�distance�dot�down�end_fill�end_poly�fd�	fillcolor�filling�forward�get_poly�getpen�	getscreen�
get_shapepoly�	getturtle�goto�heading�
hideturtle�home�ht�isdown�	isvisible�left�lt�onclick�ondrag�	onrelease�pd�pen�pencolor�pendown�pensize�penup�pos�position�pu�radians�right�reset�
resizemode�rt�seth�
setheading�setpos�setposition�
setundobuffer�setx�sety�shape�	shapesize�shapetransform�shearfactor�
showturtle�speed�st�stamp�teleport�tilt�	tiltangle�towards�
turtlesize�undo�undobufferentries�up�width�write�xcor�ycor�write_docstringdict�done�
Terminator)rr1r4rArNrRrVr\r^rcrdrfrgrqrwrzr{r{��?�heightg�?�	canvwidthi��
canvheighti,�	leftright�	topbottomr�standardr��?r�
�undobuffersizei�rk�classicrX�blackrBrb�noresize�visibleT�language�english�
exampleturtle�turtle�screenzPython Turtle GraphicsF)�
examplescreenr*�
using_IDLEc� �[US5nUR5nSSS5 0nWH�nUR5nU(aURS5(aM2UR	S5upVUR5nUR5nUS;a[U5nOSU;a[U5nO[U5nXcU'M� U$!,(df   N�=f![
a [
SU<SU<35 M�f=f![
a NKf=f)N�r�#�=zBad line in config-file z:
)�True�False�Nonez''z""�.)
�open�	readlines�strip�
startswithr�
ValueError�print�eval�float�int)�filename�f�cfglines�cfgdict�line�key�values       �C:\Python313\\Lib\turtle.py�config_dictr��s���	
�h��	���;�;�=��
��G����z�z�|���t���s�+�+��	����C��J�C��i�i�k�����
���9�9���K�E�
��%�<�!�%�L�E���J�E����+�,�N�3
�	���	��x��E�F��	���
��
�s5�C�C�#D�5D�
C�C=�<C=�
D
�D
c�J�Sn0n0n[U5(a[U5nSU;aSUS-n[[5upE[	XA5n[U5(a[U5n[RU5 [RU5 g![
a SnNTf=f)Nz
turtle.cfg�importconfigz
turtle_%s.cfg�)rr�r�__file__r�	Exception�_CFGr-)r��default_cfg�cfgdict1�cfgdict2�head�tail�	cfg_file2s       r��
readconfigr��s����K��H��H�
�k����{�+����!�%���(@�@����8�_�
����+�	��i����y�)���K�K����K�K�������	��s�B�B"�!B"z"No configfile read, reason unknownc�P�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
Srg
)r��c�0�[RXU45$�N)�tuple�__new__)�cls�x�ys   r�r��
Vec2D.__new__�s���}�}�S�a�&�)�)�c�>�[USUS-USUS-5$�Nr��r��self�others  r��__add__�
Vec2D.__add__��)���T�!�W�U�1�X�%�t�A�w�u�Q�x�'7�8�8r�c��[U[5(aUSUS-USUS--$[USU-USU-5$r�)�
isinstancerr�s  r��__mul__�
Vec2D.__mul__�sQ���e�U�#�#���7�5��8�#�D��G�E�!�H�$4�4�4��T�!�W�U�]�D��G�E�M�2�2r�c��[U[5(d[U[5(a[USU-USU-5$[$r�)r�r�r�r�NotImplementedr�s  r��__rmul__�Vec2D.__rmul__�s>���e�S�!�!�Z��u�%=�%=���a�����Q���
�6�6��r�c�>�[USUS-
USUS-
5$r�r�r�s  r��__sub__�
Vec2D.__sub__r�r�c�*�[US*US*5$r�r��r�s r��__neg__�
Vec2D.__neg__s���d�1�g�X��Q��x�(�(r�c�(�[R"U6$r�)�math�hypotr�s r��__abs__�
Vec2D.__abs__s���z�z�4� � r�c��[US*US5n[R"U5n[R"U5[R"U5pC[USU-USU--USU-USU--5$)Nr�r)rr�r_�cos�sin)r��angle�perp�c�ss     r��rotate�Vec2D.rotatesv���d�1�g�X�t�A�w�'�����U�#���x�x��������1��T�!�W�Q�Y�t�A�w�q�y�(�$�q�'�!�)�D��G�A�I�*=�>�>r�c��USUS4$r��r�s r��__getnewargs__�Vec2D.__getnewargs__
s���Q���a��!�!r�c��SU-$)Nz(%.2f,%.2f)r�r�s r��__repr__�Vec2D.__repr__s
���t�#�#r�r�N)�__name__�
__module__�__qualname__�__firstlineno__r�r�r�r�r�r�r�r�r�r��__static_attributes__r�r�r�rr�s4��*�9�3��9�)�!�?�"�$r�rc��[UR5nUR5 UHn[X15 M URR5H(upE[
U5[R:XdM$XQU'M* gr�)	�list�	__bases__�reverse�__methodDict�__dict__�items�type�types�FunctionType)r��_dict�baseList�_superr�r�s      r�rrs`���C�M�M�"�H��������V�#���l�l�(�(�*�
����;�%�,�,�,��#�J�+r�c�<�0n[X5 UR5$r�)r�keys)r�rs  r��	__methodsr%s���E�����:�:�<�r�zTdef %(method)s(self, *args, **kw): return self.%(attribute)s.%(method)s(*args, **kw)c�\�0n[X5 0n[U5nUR5H'nUSSS:XdUSSS:Xd
Xs;dXv;aM!XGXW'M) UR5HCup�X�S.n
[	U[
5(a[X�S.-n[WU
5 [XX�5 ME g)Nr��_���)�method�func)r�	attribute)	rrr
rr��str�__stringBody�exec�setattr)�	fromClass�toClass�toPart�exclude�_dict_1r�mfc�exrr�d�
execStrings            r��__forwardmethodsr/s����G���"��E�
�I�
�C��l�l�n��
�b�q�6�S�=�B�r�s�G�s�N�b�m�r�y����E�I�	����
����,���f�c�"�"��6�H�H�
��Z����	�1�9�-�
&r�c�\�\rSrSrSSjrSSjrSrSrSrSr	S	r
S
rSrSr
S
rg)riDc���[RRXX#S9 UR5UlX#sUlUlXEsUlUlSUl	[R"XUUR[RSS9Ul[R"XRR[RS9Ul[R"XRR"S9UlURR'UR R(UR$R(S9 UR+SS	SS
9 UR-SS	SS
9 URR/S	US	SSS	S	SS9 UR$R/S	US	SS	S	S	SS9 UR R/S	US	S	SS	S	SS9 UR15 URR3S
UR45 g)N)r{r��white�)r{r��bg�relief�borderwidth)�command�orient)r')�xscrollcommand�yscrollcommandrr�)�weight�minsize�news��padx�in_�pady�row�column�rowspan�
columnspan�stickyz<Configure>)�TK�Frame�__init__�winfo_toplevel�_rootwindowr{r�r�r�r$�Canvas�SUNKEN�_canvas�	Scrollbar�xview�
HORIZONTAL�hscroll�yview�vscroll�	configure�set�rowconfigure�columnconfigure�gridra�bind�onResize)r��masterr{r�r�r�s      r�r9�ScrolledCanvas.__init__Js���
�����$�e��C��.�.�0���"'���
�D�K�*3�'���������y�y��V�$(�G�G�B�I�I�1�N����|�|�F�L�L�4F�4F�+-�=�=�:����|�|�F�L�L�4F�4F�G��������d�l�l�.>�.>�.2�l�l�.>�.>�	�	@����!�A�q��1����Q�q�!��4������q��1�!��!��&�	�	B������q��1�!��!��&�	�	B������q��1�!��!��&�	�	B��
�
�������m�T�]�]�;r�Nc�.�U(aXlU(aX lU(aX0lURR	UUR*S-UR*S-URS-URS-4S9 URRSURUR-
S--UR-5 URRSURUR-
S--UR-5 UR5 g)Nr#)r$�scrollregionr��)
r�r�r$r>�config�xview_movetor{�yview_movetor��
adjustScrolls�r�r�r�r$s    r�ra�ScrolledCanvas.resetcs����&�N��(�O�
��G������r�'+�~�~�o�q�&8�4�?�?�:J�A�:M�'+�~�~�q�'8�$�/�/�1�:L�&N�	�	O�	
���!�!�#�t�~�~��
�
�'B�R�'G�"H�?C�~�~�#N�	O����!�!�#�t������'C�b�'H�"I�>B�o�o�#N�	O����r�c�r�URR5nURR5nURRSURU-
-UR-5 URRSURU-
-UR-5 XR:dX R:aAURRSUSSSSSSS9 URRSUSSSSSSS9 gURR5 URR5 g)Nr�r�rr-r.)r>�winfo_width�winfo_heightrRr�rSr�rBrIrD�grid_forget)r��cwidth�cheights   r�rT�ScrolledCanvas.adjustScrollsus�����)�)�+���,�,�+�+�-�����!�!�#�t�~�~�f�'<�"=�d�n�n�"L�M����!�!�#�t���w�'>�"?����"O�P��N�N�"�g���&?��L�L���1�D�q�a�%&��a��
�
P��L�L���1�D�q�a�%&��a��
�
P�
�L�L�$�$�&��L�L�$�$�&r�c�$�UR5 gr�)rT)r��events  r�rK�ScrolledCanvas.onResize�s�����r�c�4�URR"U6$r�)r>�bbox�r��argss  r�rb�ScrolledCanvas.bbox�s���|�|� � �$�'�'r�c�:�URR"U0UD6$r�)r>�cget�r�rd�kwargss   r�rg�ScrolledCanvas.cget�s���|�|� � �$�1�&�1�1r�c�<�URR"U0UD6 gr�)r>rQrhs   r�rQ�ScrolledCanvas.config����	
�����T�,�V�,r�c�<�URR"U0UD6 gr�)r>rJrhs   r�rJ�ScrolledCanvas.bind�s��	
�����4�*�6�*r�c�<�URR"U0UD6 gr�)r>�unbindrhs   r�rq�ScrolledCanvas.unbind�rmr�c�8�URR5 gr�)r>�focus_forcer�s r�rt�ScrolledCanvas.focus_force�s��	
��� � �"r�)	r>r;r$r�r�r�rBrDr{)��i^iXrv�NNN)r�r�r�r�r9rarTrKrbrgrQrJrqrtr�r�r�r�rrDs<��25�DG�<�2�$'� �(�
2�
-�
+�
-�
#r�rr>c�>�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)�_Rooti�c�B�[RRU5 gr�)r7�Tkr9r�s r�r9�_Root.__init__�s��
�����t�r�c�\�[XX#U5UlURRSSS9 g)Nr��both)�expand�fill)rr>�pack)r�r{r�r[r\s     r��setupcanvas�_Root.setupcanvas�s)��%�d�6�7�K�����������0r�c��UR$r��r>r�s r��
_getcanvas�_Root._getcanvas�s���|�|�r�c�0�URSXX44-5 g)Nz%dx%d%+d%+d)�geometry)r�r{r��startx�startys     r��set_geometry�_Root.set_geometry�s���
�
�m�U�F�$C�C�Dr�c�(�URSU5 g)N�WM_DELETE_WINDOW)�wm_protocol)r��destroys  r��	ondestroy�_Root.ondestroy�s�����+�W�5r�c�"�UR5$r�)�winfo_screenwidthr�s r��	win_width�_Root.win_width�s���%�%�'�'r�c�"�UR5$r�)�winfo_screenheightr�s r��
win_height�_Root.win_height�s���&�&�(�(r�r�N)r�r�r�r�r9r�r�r�r�r�r�r�r�r�r�ryry�s&���1��E�6�(�)r�ryc�
�\rSrSrSrSrSrSrS%SjrSr	S%S	jr
S
rSrSr
S
rS&SjrSrS'SjrS'SjrS'SjrS'SjrSrS&SjrSrSrSrSrSrSrSrSrSrS(Sjr S r!S!r"S"r#S(S#jr$S$r%g))�TurtleScreenBasei�c�f�[R"SSURS9nUR5 U$)Nr�)r{r�rL)r7�
PhotoImage�cv�blank)r��imgs  r��_blankimage�TurtleScreenBase._blankimage�s(���m�m�!�A�d�g�g�>���	�	���
r�c�>�[R"XRS9$)N)�filerL)r7r�r�)r�r�s  r��_image�TurtleScreenBase._image�s���}�}�(�7�7�;�;r�c��Xl[U[5(a-URRnURRnOs[URR
S55n[URR
S55nURRU*S-U*S-US-US-4S9 X lX0lS=UlUl	g)Nr{r�r#�rOr�)
r�r�rr�r�r�rgrQ�xscale�yscale)r�r��w�hs    r�r9�TurtleScreenBase.__init__�s������b�.�)�)����!�!�A����"�"�A��D�G�G�L�L��)�*�A��D�G�G�L�L��*�+�A��G�G�N�N�A�2�q�5�1�"�a�%��A��q�!�t�*E�N�F�����$'�'���d�kr�c�8�URRSSSS9$)N)rrrrrrr��r��outline)r��create_polygonr�s r��_createpoly�TurtleScreenBase._createpoly�s!���w�w�%�%�&8�r�2�%�N�Nr�Nc��/nUHAup�URX�R-5 URU	*UR-5 MC URR"U/UQ76 UbURRXS9 UbURRXS9 UbURRXS9 U(aURR
U5 gg)N�r�)r��r{��appendr�r�r��coords�
itemconfigure�	tag_raise)
r��polyitem�	coordlistr�r�r{�top�clr�r�s
          r��	_drawpoly�TurtleScreenBase._drawpoly�s������D�A��I�I�a�+�+�o�&��I�I�q�b�4�;�;�&�'��	
�����x�%�"�%����G�G�!�!�(�!�6����G�G�!�!�(�!�<����G�G�!�!�(�!�8���G�G���h�'�r�c
�\�URRSSSSSS[RS9$)Nrr�r#)r�r{�capstyle)r��create_liner7�ROUNDr�s r��_createline�TurtleScreenBase._createlines3���w�w�"�"�1�a��A�B�a�.0�h�h�#�8�	8r�c��Ubf/nUHAupxURXpR-5 URU*UR-5 MC URR"U/UQ76 UbURRXS9 UbURRXS9 U(aURR
U5 gg)Nr�r�r�)	r��lineitemr�r�r{r�r�r�r�s	         r��	_drawline�TurtleScreenBase._drawlines���� ��B�!����	�	�!�k�k�/�*��	�	�1�"�t�{�{�*�+�"�
�G�G�N�N�8�)�b�)����G�G�!�!�(�!�6����G�G�!�!�(�!�8���G�G���h�'�r�c�:�URRU5 gr�)r��delete�r��items  r��_delete�TurtleScreenBase._delete"s��	
�����t�r�c�8�URR5 gr�)r�r-r�s r��_update�TurtleScreenBase._update(s��	
�����r�c�:�URRU5 gr�)r��after�r�rs  r��_delay�TurtleScreenBase._delay-s�����
�
�e�r�c�|�URRU5nSnU$![Ra SnU$f=f)NTF)r��	winfo_rgbr7�TclError)r�r:�rgb�oks    r��_iscolorstring�TurtleScreenBase._iscolorstring1sF��	��'�'�#�#�E�*�C��B��	���{�{�	��B��	�	�s�!�;�;c��Ub*URRUS9 UR5 gURRS5$)N)r$r$)r�rQr�rg)r�r:s  r��_bgcolor�TurtleScreenBase._bgcolor;s8�����G�G�N�N��N�&��L�L�N��7�7�<�<��%�%r�c	���UupgX`R-nXpR-nSSSS.nURRUS-
U*X(UXTS9n	URR	U	5up�p�X�S-
4$)N�swr��se)rQ�centerr`r�)�text�anchorr��font)r�r�r��create_textrb)r�r\�txt�alignr�rXr�r�r�r��x0�y0�x1�y1s              r��_write�TurtleScreenBase._writeDs|��
���
���O��
���O����T�;���w�w�"�"�1�Q�3���3���/7�#�F�������d�+������T�z�r�c�^^�Tc TRRUSU-5 gUU4SjnTRRUSU-XT5 g)N�<Button-%s>c��>�TRRUR5TR-TRR	UR
5*TR-p!T"X5 gr��r��canvasxr�r��canvasyr�r��r_r�r��funr�s   ��r��eventfun�+TurtleScreenBase._onclick.<locals>.eventfun[�L�����������0����<���������1�1�$�+�+�=���A�	r��r��
tag_unbind�tag_bind�r�r�r��num�addr�s` `   r��_onclick�TurtleScreenBase._onclickRsE����;��G�G���t�]�S�%8�9�
�
�G�G���T�=�3�#6��Fr�c�^^�Tc TRRUSU-5 gUU4SjnTRRUSU-XT5 g)Nz<Button%s-ButtonRelease>c��>�TRRUR5TR-TRR	UR
5*TR-p!T"X5 gr�r�r�s   ��r�r��-TurtleScreenBase._onrelease.<locals>.eventfunmrr�rrs` `   r��
_onrelease�TurtleScreenBase._onreleaseasJ����;��G�G���t�%?�#�%E�F�
�
�G�G���T�#=��#C�%�
,r�c�^^�Tc TRRUSU-5 gUU4SjnTRRUSU-XT5 g)Nz<Button%s-Motion>c�>�TRRUR5TR-TRR	UR
5*TR-p!T"X5 g![a gf=fr�)r�r�r�r�r�r�r�r�r�s   ��r�r��*TurtleScreenBase._ondrag.<locals>.eventfun�sc���� �G�G�O�O�E�G�G�4�T�[�[�@� �G�G�O�O�E�G�G�4�4�T�[�[�@����I�� ����s�A,A0�0
A=�<A=rrs` `   r��_ondrag�TurtleScreenBase._ondragtsG����;��G�G���t�%8�3�%>�?�
�
�G�G���T�#6��#<�h�Lr�c�^^�TcTRRSU-5 gUU4SjnTRRSU-XC5 g)Nr�c��>�TRRUR5TR-TRR	UR
5*TR-p!T"X5 gr�r�r�s   ��r�r��1TurtleScreenBase._onscreenclick.<locals>.eventfun�rr��r�rqrJ)r�r�rrr�s``   r��_onscreenclick�TurtleScreenBase._onscreenclick�s=����;��G�G�N�N�=�3�.�/�
�
�G�G�L�L���,�h�<r�c�^�Tc URRSU-S5 gU4SjnURRSU-U5 g)Nz<KeyRelease-%s>c�>�T"5 gr�r��r_r�s �r�r��0TurtleScreenBase._onkeyrelease.<locals>.eventfun������r�r�r�r�r�r�s `  r��
_onkeyrelease�TurtleScreenBase._onkeyrelease�s?����;��G�G�N�N�,�s�2�D�9�
��G�G�L�L�*�S�0�(�;r�c�^�Tc@UcURRSS5 gURRSU-S5 gU4SjnUcURRSU5 gURRSU-U5 g)Nz
<KeyPress>z
<KeyPress-%s>c�>�T"5 gr�r�rs �r�r��.TurtleScreenBase._onkeypress.<locals>.eventfun�rr�rrs `  r��_onkeypress�TurtleScreenBase._onkeypress�sk���
�;��{������|�T�2��������4�d�;�
��{������\�8�4������_�s�2�H�=r�c�8�URR5 gr�)r�rtr�s r��_listen�TurtleScreenBase._listen�s��	
�����r�c�~�US:XaURRU5 gURRX!5 g�Nr)r��
after_idler��r�r��ts   r��_ontimer�TurtleScreenBase._ontimer�s-��
��6��G�G���s�#��G�G�M�M�!�!r�c�8�URRSSUS9$)Nr��image)r��create_image)r�r2s  r��_createimage�TurtleScreenBase._createimage�s ���w�w�#�#�A�q��#�6�6r�c��UupEURRXUR-U*UR-45 URR	XS9 g�Nr1)r�r�r�r��
itemconfig)r�r�r\r2r�r�s      r��
_drawimage�TurtleScreenBase._drawimage�sH����������t�$�+�+�o��r�D�K�K�/?�@�A������4��-r�c�l�URRXS9 URRU5 gr7)r�r8�	tag_lower)r�r�r2s   r��	_setbgpic�TurtleScreenBase._setbgpic�s+��
	
�����4��-������$�r�c�8�URRU5$r�)r�rr�s  r��_type�TurtleScreenBase._type�s���w�w�|�|�D�!�!r�c��URRU5n[S[U5S5Vs/sHo2UX#S-*4PM nnU$s snf)Nrr#r�)r�r��range�len)r�r�r��i�pls     r��
_pointlist�TurtleScreenBase._pointlist�sR���W�W�^�^�D�
!��).�q�#�b�'�1�)=�
>�)=�A�!�u�r�A�#�w�h��)=��
>��
��?s�Ac�:�URRXX44S9 g)Nr�)r�rQ)r��srx1�sry1�srx2�sry2s     r��_setscrollregion�!TurtleScreenBase._setscrollregion�s�������T��$<��=r�c�T�URR5nUH�n[URRU55n/nU(a;USSupxUR	Xq-5 UR	X�-5 USSnU(aM;URR"U/UQ76 M� g)Nr#)r��find_allr�r�r�)	r��xscalefactor�yscalefactorrr��coordinates�newcoordlistr�r�s	         r��_rescale�TurtleScreenBase._rescale�s������ � �"���D��t�w�w�~�~�d�3�4�K��L��"�2�A�����#�#�A�$4�5��#�#�A�$4�5�)�!�"�o��	�+�

�G�G�N�N�4�/�,�/�r�c�H�[UR[5(dURUR4$Xs=La	Us=Lac/O O,URRURR4$UbXlUbX lURRXU5 gr�)r�r�rr�r�rarUs    r��_resize�TurtleScreenBase._resize�s}��
�$�'�'�>�2�2��>�>�4�?�?�2�2��0�b�0�0��7�7�$�$�d�g�g�&8�&8�8�8�� �&�N��!�(�O����
�
�i�R�0r�c���URR5nUS::aURSnURR5nUS::aURSnX4$)Nr�r{r�)r�rXrY)r�r{r�s   r��_window_size�TurtleScreenBase._window_size
sZ�����#�#�%���A�:��G�G�G�$�E����%�%�'���Q�;��W�W�X�&�F��}�r�c�L�URRR5 gr�)r��tkrr�s r�r�TurtleScreenBase.mainloops��	
���
�
���r�c�@�[R"XURS9$)N)�parent)r�	askstringr�)r�r*�prompts   r�r)�TurtleScreenBase.textinput$s���%�%�e�D�G�G�D�Dr�c	�D�[R"XUXEURS9$)N)�initialvalue�minvalue�maxvaluerb)r�askfloatr�)r�r*rd�default�minval�maxvals      r�r�TurtleScreenBase.numinput3s%��$�$�$�U��.4�,0�G�G�5�	5r�)r�r�r�r�r�)NNNFr��r�Nrw)&r�r�r�r�r�r�r9r�r�r�r�r�r�r�r�r�r�rrrrrr$r'r.r4r9r=r@rGrNrVrYr\rr)rr�r�r�r�r�r��s����<�(�O�
37�05�(�28�-1�-2�(�.��
��&��
G�,�&M�*=�$	<�>�$�
"�7�
.� �"�
�>�
0�
1�	�
�
E�5r�r�c��\rSrSrSrg)r�iOr�N�r�r�r�r�r�r�r�r�r�r�Os��	r�c��\rSrSrSrg)�TurtleGraphicsErroriXr�Nrqr�r�r�rsrsXs��r�rsc�(�\rSrSrSSjrSSjrSrg)ri]Nc�b�XlUS:Xa![U[5(a[U5nO|US:Xa_[U[5(aIUR5R
S5(a%[U5(a[RU5nOUS:Xa/nO[SU-5eX lg)N�polygonr2�.gif�compoundzThere is no shape type %s)r@r�r�r�r�lower�endswithrr	r�rs�_data)r��type_�datas   r�r9�Shape.__init__ds����
��I���$��%�%��T�{���
�g�
��$��$�$��:�:�<�(�(��0�0�V�D�\�\�'�.�.�t�4�D��
�j�
 ��D�%�&A�E�&I�J�J��
r�c��URS:wa[SUR-5eUcUnURRXU/5 g)Nrxz Cannot add component to %s Shape)r@rsr{r�)r��polyr�r�s    r��addcomponent�Shape.addcomponenttsP�� �:�:��#�%�&H�BF�*�*�'M�N�
N��?��G��
�
���4�w�/�0r�)r{r@r�)r�r�r�r�r9r�r�r�r�r�rr]s��� 1r�rc�@�\rSrSrS
SjrSSjrSrSrSrSr	S	r
g)�Tbufferi�c�D�XlS//U-UlSUlSUlg)NrF)�bufsize�buffer�ptr�cumulate)r�r�s  r�r9�Tbuffer.__init__�s%�����v�h��(��������
r�Nc��Uc-[UR5HnS/URU'M OXlS//U-UlSUlg)Nr)rCr�r�r�)r�r�rEs   r�ra�
Tbuffer.reset�sG���?��4�<�<�(��"&�����A��)�#�L� �6�(�W�,�D�K���r�c��URS:�atUR(d:URS-UR-UlXRUR'gURURR	U5 ggr�)r�r�r�r�r�r�s  r��push�Tbuffer.push�s]���<�<�!���=�=� �H�H�q�L�D�L�L�8���(,���D�H�H�%����D�H�H�%�,�,�T�2�r�c���URS:�aZURURnUcgS/URUR'URS-
UR-UlU$gr�)r�r�r�r�s  r��pop�Tbuffer.pop�s^���<�<�!���;�;�t�x�x�(�D��|��)-�����D�H�H�%� �H�H�q�L�D�L�L�8����
�r�c�T�URURRS/5-
$r�)r�r��countr�s r��nr_of_items�Tbuffer.nr_of_items�s"���|�|�d�k�k�/�/���7�7�7r�c�^�[UR5S-[UR5-$)N� )rr�r�r�s r�r��Tbuffer.__repr__�s#���4�;�;��#�%��D�H�H�
�5�5r�)r�r�r�r�)r�r�)r�r�r�r�r9rar�r�r�r�r�r�r�r�r�r��s ���
�3��8�6r�r�c��\rSrSrSr\S\S\S4SjrSrS"S	jrS
r	S"Sjr
SrS
rS"Sjr
SrSrSrS#SjrS"SjrSrSrSrSrSrSrS$SjrSrS"SjrS#SjrS%SjrS"SjrS&S jr\r \r!\r"\
r#\r$S!r%g)'r	i�Trrrc��[RX5 [SS5[SS5[SS5[SS5[SS5[SS5[SUR55S	.UlS
S0UlX lX@l[SUl	/Ul
UR5 [RS
:Xa;UR5nURSSSSS5 URSSSSS5 gg)Nrv)����r�r�r�rr�))r�)����)rr�)����)����	)����)����)r�r�)������)���r�)r�r�)r�r��rr�)�r�)�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r#r�)r�)��Q�#@���Q�@)�G�z. @��Q��@)r�r�)r�r�r�)���Q��r�)��Q���r�)�G�z. �r�)��Q�#�r�r�)r�r�)r�r�)r�r�)r�r�)g�g$�)r�r�)r�r�)r�r�)r�r�))r�r�)r�r�)r�r�)r�r�))r���G�z�)rg�����'@)r�r�)�rr)r�r�r�)r�r�r2)�arrowr�r5�square�triangler�r��nopicr�r�darwin�wm�
attributesr�z-topmost�1�0)r�r9rr��_shapes�_bgpics�_mode�_delayvaluer��
_colormode�_keysr6�sys�platformr:�call)r�r�rrr�
rootwindows      r�r9�TurtleScreen.__init__�s���!�!�$�+�#�9�.G�H�"�9�/&�'�
#�9�/H�I�#�9�/)�*�"�9�/+�,�"�9�.K�L�"�7�D�,<�,<�,>�?�%���* �"�~����
� ���{�+�����
��
�
���<�<�8�#��*�*�,�J��O�O�D�,��Z��E��O�O�D�,��Z��E�
$r�c���[SUl[SUlURS5 UR	S5UlSUlSUlSUl/Ul	URS5 S	HnURSU5 M URS5 URSSH'nURSU5 URSU5 M) S[lg)
Nrr�allr�r�r�rr")r�r#�)r�r�r�r�r4�_bgpic�
_bgpicname�_tracing�_updatecounter�_turtlesrrSr r�rr�_pen)r��btnr�s   r�r6�TurtleScreen.clear�s��� ��=����{�+������U���'�'��+���!�����
������
����W���C��L�L��s�#��������:�:�a�=�C��J�J�t�S�!��O�O�D�#�&�!���r�Nc�R�UcUR$UR5nUS;a[SU-5eXlUS;aXURUR*S-UR
*S-URS-UR
S-5 S=UlUlUR5 g)N�r��logo�worldzNo turtle-graphics-mode %s)r�r�r#r�)	r�ryrsrNr�r�r�r�ra�r�rs  r�r�TurtleScreen.modes���,�<��:�:���z�z�|���4�4�%�&B�T�&I�J�J��
��'�'��!�!�4�>�>�/�1�"4�t���6F��6I�'+�~�~�q�'8�$�/�/�1�:L�
N�(+�+�D�K�$�+��
�
�r�c�h�UR5S:waURS5 [X1-
5n[XB-
5nUR5upxURUS-
US-
5 URUR
p�URU-UlURU-UlXR-nU*UR
-nURU-n
URU-nURX�X�5 URURU	-UR
U
-5 UR5 g)Nr��)rr�r\r&r�r�r�r�rNrVr-)r��llx�lly�urx�ury�xspan�yspan�wx�wy�	oldxscale�	oldyscalerJrKrLrMs               r�r(� TurtleScreen.setworldcoordinates#s���,�9�9�;�'�!��I�I�g���c�i� ���c�i� ���"�"�$�������2��r�"�u�%�#�{�{�D�K�K�9��n�n�u�,����o�o��-����[�[� ���t�d�k�k�!���~�~��$������%�����d�$�5��
�
�d�k�k�)�+�T�[�[��-B�C����
r�c��UcKUR5RS5(a[SURU55nO,[	S5e[U[5(a[SU5nX RU'g)Nrwr2z;Bad arguments for register_shape.
Use  help(register_shape)rv)ryrzrr�rsr�r�r�)r��namerks   r�r$�TurtleScreen.register_shapeJso��.�=��z�z�|�$�$�V�,�,��g�t�{�{�4�'8�9��)�+H�J�J�
��u�
%�
%��)�U�+�E�"���T�r�c�,�[U5S:XaUSn[U[5(a5URU5(dUS:XaU$[	S[U5-5eUup#nURS:Xa$X#U4Vs/sHn[SU-5PM snup#nSUs=::aS::a"O OSUs=::aS::aO OSUs=::aS::dO [	S	[U5-5eS
X#U4-$![
[4a [	S[U5-5ef=fs snf)Nr�rr�zbad color string: %s�bad color arguments: %sr���o@��bad color sequence: %s�
#%02x%02x%02x)	rDr�rr�rs�	TypeErrorr�r��round)r�r:r��g�br�s      r��	_colorstr�TurtleScreen._colorstrms���u�:��?��!�H�E��e�S�!�!��"�"�5�)�)�U�b�[���)�*@�3�u�:�*M�N�N�	N��G�A�!��?�?�c�!�01�a�y�9�y�!�u�U�1�W�~�y�9�G�A�!��a��3��Q�!�]�s�]��a��3��%�&>��U��&K�L�L��!���*�*��
�:�&�	N�%�&?�#�e�*�&L�M�M�	N��:s� C&�;D�&(Dc	�X^�URS5(dU$[U5S:Xa"SVs/sHn[XUS-S5PM nnOB[U5S:Xa%USSVs/sHnS[XS5-PM nnO[SU-5e[	U4S	jU55$s snfs snf)
Nr�r�)r�r�r�r#r�r�r�zbad colorstring: %sc3�F># �UHoTR-S-v� M g7f)r�N)r�)�.0r�r�s  �r��	<genexpr>�&TurtleScreen._color.<locals>.<genexpr>�s����9�b�����(��,�b�s�!)r�rDr�rsr�)r��cstrrEr�r�s`    r��_color�TurtleScreen._color�s�������s�#�#��K��t�9��>�09�:�	�1�#�d�Q�q�S�k�2�&�	�B�:�B�
��Y�!�^�/3�A�B�x�8�x�!�"�S���"�%�%�x�B�8�B�%�&;�d�&B�C�C��9�b�9�9�9��;��8s�B"�!B'c�~�UcUR$US:Xa[U5UlgUS:Xa[U5Ulgg)Nr�r�)r�r�r�)r��cmodes  r�r�TurtleScreen.colormode�s<���=��?�?�"��C�<�#�E�l�D�O�
�c�\�!�%�j�D�O�r�c��URH.nURUR5 UR5 M0 gr�)r��_setmoder�ra)r�r�s  r�ra�TurtleScreen.reset�s+���m�m�F��O�O�D�J�J�'��L�L�N�$r�c��UR$r�)r�r�s r�r,�TurtleScreen.turtles�s���}�}�r�c��U(aURU5nOSnURU5nUbURU5nU$r�)r�r�r�r�rdr:s   r�r�TurtleScreen.bgcolor�sA��<��N�N�4�(�E��E��
�
�e�$�����K�K��&�E��r�c��UcUR$[U5UlSUlUb[U5UlUR(aUR	5 ggr*)r�r�r�r�r-)r��nrs   r�r+�TurtleScreen.tracer�sM��&
�9��=�=� ��A���
������"�5�z�D���=�=��K�K�M�r�c�B�UcUR$[U5Ulgr�)r�r�r�s  r�r�TurtleScreen.delays!���=��#�#�#��u�:��r�c���[R(dS[l[eURS:�a5U=RS-
slU=RUR-slgg)NTrr�)r	�_RUNNINGr�r�r�r�s r��
_incrementudc�TurtleScreen._incrementudcsP���$�$�$(�L�!����=�=�1�����1�$�����4�=�=�0��r�c���URnSUlUR5H#nUR5 UR5 M% XlUR	5 g�NT)r�r,�_update_data�_drawturtler�)r��tracingr-s   r�r-�TurtleScreen.updatesG���-�-����
�����A�
�N�N��
�M�M�O� � �
����r�c�(�UR5S$r*�r\r�s r�r/�TurtleScreen.window_width#���� � �"�1�%�%r�c�(�UR5S$�Nr�rr�s r�r.�TurtleScreen.window_height,r!r�c��UR$r�)r�r�s r�r�TurtleScreen.getcanvas5s
���w�w�r�c�H�[URR55$r�)�sortedr�r
r�s r�r�TurtleScreen.getshapesAs���d�l�l�'�'�)�*�*r�c�(�URXU5 gr�)r�r�r�r�rs    r�rS�TurtleScreen.onclickLs��	
���C�c�*r�c���Uc+X R;aURRU5 O*X R;aURRU5 URX5 gr�)r��remover�r�r�r�r�s   r�r�TurtleScreen.onkey]sP��.�;��j�j� ��
�
�!�!�#�&��
�
�
�
"��J�J���c�"����3�$r�c���Uc+X R;aURRU5 O-Ub*X R;aURRU5 URX5 gr�)r�r.r�r$r/s   r�r �TurtleScreen.onkeypress{sT��2�;��j�j� ��
�
�!�!�#�&��
�_��J�J�!6��J�J���c�"�����"r�c�$�UR5 gr�)r')r��xdummy�ydummys   r�r�TurtleScreen.listen�s
��	
���r�c�&�URX5 gr�)r.r,s   r�r#�TurtleScreen.ontimer�s��&	
�
�
�c�r�c���UcUR$XR;aURU5URU'URURURU5 Xlgr�)r�r�r�r=r�)r��picnames  r�r�TurtleScreen.bgpic�sT��"�?��?�?�"��,�,�&�$(�K�K��$8�D�L�L��!����t�{�{�D�L�L��$9�:�!�r�c�&�URXU5$r�)rYrUs    r�r&�TurtleScreen.screensize�s��"�|�|�I�2�6�6r�)
r�r�r�r�r�r�r�r�r�r�r�r�r�r��NNro�rrw)&r�r�r�r�rr�r9r6rr(r$r�rrrar,rr+rrr-r/r.rrrSrr rr#rr&r"r%rrr!r�r�r�r�r	r	�s����H� $�V����,�D��M�&F�P�< �D%�N!#�F+�6	:�)�*
��%�N�8
&�1�	�&�&�
�	+�+�"%�<#�@
��*"�07�&�M��K��K��H��Lr�r	c�j�\rSrSr\"SS5\"SS5\"SS5S.rSrSrSr\4Sjr	S	r
S+SjrSrS,S
jr
SrSrSrSrS-SS.S\SS
4SjjjrSrSrSrSrSrSrSrS+SjrSrS rS!rS+S"jrS+S#jr S$r!S%r"S-S&jr#S.S'jr$S-S(jr%S+S)jr&\r'\r(\r)\r*\r+\r,\r-\r.\"r/S*r0g
)/�
TNavigatori�r��)r�r�r�r�rr�c���URUlURUlXlSUlUR
5 SUlURU5 [RU5 gr�)
�DEFAULT_ANGLEOFFSET�_angleOffset�DEFAULT_ANGLEORIENT�_angleOrientr��
undobufferr;rrArar�s  r�r9�TNavigator.__init__�sT�� �4�4��� �4�4����
����������
��
�
�d������r�c�j�[SS5Ul[RURUlg)NrB)r�	_positionrA�START_ORIENTATIONr��_orientr�s r�ra�TNavigator.resets'��
�s�C����"�4�4�T�Z�Z�@��r�Nc��UcUR$US;agXlUS;aSUlSUlgURS-UlSUlg)Nr�)r�r�rr��@r)r�rErG�_fullcircler�s  r�r�TNavigator._setmodesX���<��:�:���4�4���
��(�(� !�D�� !�D�� $� 0� 0�� 3�D�� "�D�r�c�h�XlSU-UlURS:XaSUlgUS-Ulg)Nihr�rrP)rQ�
_degreesPerAUr�rE�r��
fullcircles  r��_setDegreesPerAU�TNavigator._setDegreesPerAUs4��%�� ��^����:�:��#� !�D�� *�2�
�D�r�c�&�URU5 gr�)rWrUs  r�r;�TNavigator.degrees#s��,	
���j�)r�c�B�UR[R5 gr�)rWr��taur�s r�r_�TNavigator.radians;s��	
���d�h�h�'r�c�^�URURU--nURU5 gr�)rKrM�_goto)r�r<�endes   r��_go�TNavigator._goIs%���~�~����x� 7�7���
�
�4�r�c�`�XR-nURRU5Ulgr�)rTrMr��r�r�s  r��_rotate�TNavigator._rotateNs&��
�#�#�#���|�|�*�*�5�1��r�c��Xlgr��rK)r��ends  r�r_�TNavigator._gotoSs���r�F��fill_gaprl�returnc�t�UbUOURSnUbUOURSn[XE5Ulgr�)rKr)r�r�r�rl�new_x�new_ys      r�rs�TNavigator.teleportWs8���]�����q�(9���]�����q�(9���u�,��r�c�&�URU5 gr��ra�r�r<s  r�rD�TNavigator.forward^s��*	
����r�c�(�URU*5 gr�rsrts  r�r0�TNavigator.backus��$	
���(��r�c�(�URU*5 gr��rerds  r�r`�TNavigator.right�s��&	
���e�V�r�c�&�URU5 gr�ryrds  r�rQ�TNavigator.left�s��&	
���U�r�c��UR$r�rhr�s r�r\�TNavigator.pos�s���~�~�r�c� �URS$r*rhr�s r�r}�TNavigator.xcor�����~�~�a� � r�c� �URS$r#rhr�s r�r~�TNavigator.ycor�r�r�c�n�UcUR[U65 gUR[X55 gr�)r_r)r�r�r�s   r�rJ�TNavigator.goto�s)��<
�9��J�J�u�a�y�!��J�J�u�Q�{�#r�c�J�URSS5 URS5 gr*)rJrer�s r�rM�TNavigator.homes��	
�	�	�!�Q������r�c�R�UR[XRS55 gr#�r_rrK)r�r�s  r�ri�TNavigator.setxs�� 	
�
�
�5��N�N�1�-�.�/r�c�T�UR[URSU55 gr*r�)r�r�s  r�rj�TNavigator.sety s �� 	
�
�
�5�����*�A�.�/r�c��Ub[X5n[U[5(aUnO?[U[5(a	[U6nO![U[5(aURn[WUR-
5$r�)rr�r�rArK�abs)r�r�r�r\s    r�r<�TNavigator.distance2sd��,
�=���+�C��a�����C�
��5�
!�
!���)�C�
��:�
&�
&��+�+�C��3����'�(�(r�c���Ub[X5n[U[5(aUnO?[U[5(a	[U6nO![U[5(aURnWUR-
up[[R"[R"X!55S5S-nX@R-nURURU--UR-$�Nr���v@)
rr�r�rArKr�r�r;�atan2rTrErGrQ)r�r�r�r\�results     r�rv�TNavigator.towardsRs���,
�=���+�C��a�����C�
��5�
!�
!���)�C�
��:�
&�
&��+�+�C��T�^�^�#����t�|�|�D�J�J�q�$4�5�r�:�U�B���$�$�$���!�!�D�$5�$5�f�$<�<��@P�@P�P�Pr�c��URup[[R"[R"X!55S5S-nX0R
-nURURU--UR-$r�)	rMr�r�r;r�rTrErGrQ)r�r�r�r�s    r�rK�TNavigator.headingusg���|�|����t�|�|�D�J�J�q�$4�5�r�:�U�B���$�$�$���!�!�D�$5�$5�f�$<�<��@P�@P�P�Pr�c��XR5-
UR-nURnX#S--U-US--
nURU5 g)N�@)rKrGrQre)r��to_angler��fulls    r�re�TNavigator.setheading�sM��.�L�L�N�*�D�,=�,=�=�������B�w���$�t�B�w�.�����U�r�c	��UR(a-URRS/5 SURlUR5nUcURnUcB[U5UR-nS[
[S[U5S--S5U-5-nSU-U-nSU-nS	U-[R"[R"U5UR-5-nUS
:aU*U*U*pvnUR5n	UR5n
US
:XaURS
S
5 OURS
5 URU5 [U5HGnURU5 UR!U5 URS
5 URU5 MI URU*5 US
:XaURX�5 URU5 UR(aSURlgg)N�seqTr��g@g�M@r�r�r�rF)rHr�r�rprQr�r��minr�r�r_rT�_tracerr�rerCra)r��radius�extent�stepsrp�fracr��w2�l�tr�dlrEs            r�r5�TNavigator.circle�s���<�?�?��O�O� � �%��)�'+�D�O�O�$��
�
����>��%�%�F��=��v�;�t�/�/�/�D��c�#�b��V��S��0�$�7��<�=�=�E��&�L�5� ��
�1�W���&�L�4�8�8�D�L�L��$4�T�5G�5G�$G�H�H���A�:��r�A�2��s�"�A�
�\�\�^��
�[�[�]���A�:��L�L��A���J�J�q�M����R���u��A��J�J�u���H�H�Q�K��J�J�q�M��L�L��O�	�
	
���b�S���A�:��L�L�� ��
�
�5���?�?�',�D�O�O�$�r�c��gr�r�)r�r�s  r�rp�TNavigator.speed���r�c��gr�r�)r��ar�s   r�r��TNavigator._tracer�r�r�c��gr�r�)r�rs  r�r��TNavigator._delay�r�r�)rErGrTrQr�rMrKrHr�)r�r>r?)1r�r�r�r�rrL�DEFAULT_MODErDrFr9rarrWr;r_rarer_�boolrsrDr0r`rQr\r}r~rJrMrirjr<rvrKrer5rpr�r�rAr4r1rcrRr]rfrgrdr�r�r�r�rArA�s��
�#�s�O��#�s�O��#�s�O�'���L�����(��A�
#�.�*�0(��
2�
�-�5�-�D�-�T�-��.�(�*�*�!�!�!$�F�0�$0�$)�@!Q�F
Q��8=-�B>�>�>�
�B�	
�B��H�	�B�	
�B��H�
�F��K��Dr�rAc��\rSrSr\S4Sjr\S\S4SjrSSjrSS	jrS
r	Sr
SrSS
jrSr
SrSrS SS.S\SS4SjjjrSrSrSrSSjrS!SjrS"SjrSrSr\r\	r\	r\
r\
r\r\r Sr!g)#�TPeni�rbc�H�XlSUl[RU5 gr�)�_resizemoderHr��_reset)r�rbs  r�r9�
TPen.__init__�s��%��������D�r�rXrBc��SUlSUlXlX lSUlSUlSUlSUlSUlSUl	SUl
g)Nr�Tr�)r�r�rB)r�rBrBr�)�_pensize�_shown�	_pencolor�
_fillcolor�_drawing�_speed�_stretchfactor�_shearfactor�_tilt�_shapetrafo�
_outlinewidth)r�rXrBs   r�r��TPen._reset�sO����
����!��#����
����&��������
�+�����r�Nc�n�UcUR$UR5nUS;aURUS9 gg)N)�auto�userr��rb)r�ryrW)r��rmodes  r�rb�TPen.resizemode
s<��,�=��#�#�#����
���0�0��H�H��H�&�1r�c�@�UcUR$URUS9 g)N)rZ)r�rW)r�r{s  r�rZ�TPen.pensize&s!��$�=��=�=� ������r�c�F�UR(dgURSS9 g�NF�rY�r�rWr�s r�r[�
TPen.penup=s���}�}�������r�c�F�UR(agURSS9 g)NTr�r�r�s r�rY�TPen.pendownKs���=�=�������r�c��UR$r�)r�r�s r�rO�TPen.isdownYs���}�}�r�c��SSSSSS.nUcUR$X;aX!nO'SUs=:aS:aO O[[U55nOSnURUS	9 g)
Nrr�r�r�r�)�fastest�fast�normal�slow�slowestr�g%@)rp)r�r�r�rW)r�rp�speedss   r�rp�
TPen.speedhs]��6�b�1�Q�!�M���=��;�;���?��M�E�
�5�
�4�
���e��%�E��E����u��r�c�8�U(a^[U5nUS:XaUS=p4OUS:XaUup4O	US:XaU=p4URW5nURW5nURX4S9 gURUR5URUR
54$)Nr�rr#r�)rXrB)rDr�rWrr�r�)r�rdr��pcolor�fcolors     r�r:�
TPen.color�s���<��D�	�A��A�v�"&�q�'�)����a��!%�����a��"&�&���^�^�F�+�F��^�^�F�+�F��H�H�f�H�7��;�;�t�~�~�.����D�O�O�0L�L�Lr�c��U(a1URU5nX R:XagURUS9 gURUR5$)N)rX)r�r�rWrr
s   r�rX�
TPen.pencolor�sD��B��N�N�4�(�E����&���H�H�e�H�$��;�;�t�~�~�.�.r�c��U(a1URU5nX R:XagURUS9 gURUR5$)N)rB)r�r�rWrr
s   r�rB�TPen.fillcolor�sD��B��N�N�4�(�E����'���H�H�u�H�%��;�;�t���/�/r�Frkrlrmc�n�UR5nU(aURSS9 URUS9 gr�)rOrW)r�r�r�rlrYs     r�rs�
TPen.teleport	s.���+�+�-����H�H�U�H�#������!r�c�"�URSS9 g)NT��shown�rWr�s r�ro�TPen.showturtle	s��	
���t��r�c�"�URSS9 g)NFr�r�r�s r�rL�TPen.hideturtle"	s��	
���u��r�c��UR$r�)r�r�s r�rP�TPen.isvisible2	s���{�{�r�c�X�URURURURURUR
URURURURURS.nU(d	U(dU$[U[5(aUnO0nURU5 0nUH	nX6XV'M UR(aURRSU45 SnSU;aURUS:waSnSU;aE[US[ 5(aUR#US45US'URUS:waSnSU;aURUS:waSnU(aUR%5 SU;a
USUlSU;a
USUlSU;a
USUlSU;a:[US[ 5(aUR#US45US'USUlS	U;a
US	UlS
U;a
US
UlSU;a)USn[U[&[(45(aX�4nX�lSU;a
USUlS
U;a
US
Ul	SU;a
USUlSU;a
USUl
SU;dSU;dSU;ayURup�URn[*R,"UR5[*R."UR5p�X�-X�U
-U--U	*U-X�X�--
-4UlUR35 g)N)r�rYrXrBrZrprb�
stretchfactorrnr�rtrWFrYTrXrZrBrprbr�rnr�r�rt)r�r�r�r�r�r�r�r�r�r�r�r��dictr-rHr�r�r��_newLiner�r�r�r�r�r�r�)r�rW�pendict�_pd�p�_p_bufr��newLine�sf�scx�scy�shf�sa�cas              r�rW�TPen.pen>	s���^#'�+�+�"&�-�-�"&�.�.�"&�/�/�"&�-�-�"&�+�+�"&�"2�"2�"&�"5�"5�"&�"3�"3�"&�"4�"4�"&�*�*����w��J��c�4� � ��A��A�	��������C��(�F�K���?�?��O�O� � �%���1�����>��}�}��)��,�����?��!�J�-��/�/� $����*�
�/?� @��*�
��~�~��:��.�����>��}�}��)��,�����M�M�O���>��i�L�D�M���?��z�]�D�N���>��i�L�D�M��!���!�K�.�%�0�0�!%����;��0A�!B��+����n�D�O��a�<��G�*�D�K��1�� ���D���a���?�#�B��"�s�E�l�+�+��X��"$���A�� !�-� 0�D����>�!"�9��D���a�<��G�*�D�K��Q�;��6��D�J��a��6�Q�;�-�1�2D��*�*�H�C��#�#�C��X�X�d�j�j�)�4�8�8�D�J�J�+?��!$���"�f�r�k�):�!$��R���3�6�k�):� <�D�����r�c��gr�r��r��usePoss  r�r��
TPen._newLine�	r�r�c��gr�r�)r�r��forceds   r�r��TPen._update�	r�r�c��gr�r�rcs  r�r�TPen._color�	r�r�c��gr�r�rcs  r�r��TPen._colorstr�	r�r�)
r�r�r�r�r�r�r�r�r�r�r�r�rHr�r>�T)TF)"r�r�r�r�r�r9r�rbrZr[rYrOrpr:rXrBr�rsrorLrPrWr�r�rr�r{rzr^rVr>rqrNr�r�r�r�r�r��s���#'�|�"4��
#�:�.�#�K�0��'�8 �. ��
�$�L*M�X'/�R'0�R"�5�"�D�"�T�"��� 
�{�~>�>�>�>�
�E�	�B�	�B�	�B��D�	�B�	�Br�r�c� �\rSrSrSrSrSrg)�_TurtleImagei�	c�@�XlSUlURU5 gr�)r�r@�	_setshape)r�r��
shapeIndexs   r�r9�_TurtleImage.__init__�	s������
����z�"r�c�T�URnXlURSs=:XaURUR:Xag URSs=:XaURUR:Xag URS;aUR	UR
5 O4URS:Xa$UR
HnUR	U5 M URURUlURS:XaUR
5UlgURS:Xa.URURSR5UlgURS:Xa=URURVs/sHo2R
5PM snUlggs snf)Nrvr2)r2rvrxr�)	r�rr@r�r��_itemr�r4r{)r�rr�r�s    r�r�_TurtleImage._setshape�	sR������$���:�:��F�f�n�n�Z�&@�&F�&F�F��G��:�:��D�F�N�N�:�$>�$D�$D�D��E��:�:�-�-��N�N�4�:�:�&�
�Z�Z�:�
%��
�
�����t�$�#��^�^�J�/�5�5��
��:�:��"��+�+�-�D�J�
�Z�Z�7�
"��,�,�V�^�^�G�-D�-J�-J�K�D�J�
�Z�Z�:�
%�*0�.�.��*D�*J�*J�L�*J�48�,�,�.�*J�L�D�J�&��Ls�F%)rr@r�rN)r�r�r�r�r9rr�r�r�r�rr�	s
��#�
Lr�rc��\rSrSr/rS\S\S\S4SjrSrSrS	r	S
r
SrSrS
r
S<SjrSrSrSrS<SS.S\SS4SjjjrSrS=SjrS>SjrS=SjrS=SjrSrS?SjrSrSrS@S jrS!rS"rS#r S$r!S=S%jr"S&r#S'r$S(r%SAS)jr&S*r'S+r(S,r)S=S-jr*S.r+SBS/jr,S0r-S1r.S2r/S3r0S4r1\1r2S=S5jr3SCS6jr4SCS7jr5SCS8jr6S9r7S:r8\r9S;r:g)Dri�	Nrkr�r�c�$�[U[5(aXlO�[U[5(a:U[R
;a[R
R
U5 XlO�[U[[45(ai[R
HnURU:XdMXPl OJ [U5Ul[R
R
UR5 O[SU-5eURn[RXR55 [RU5 URR
U5 UR!5Ul[%XR5UlSUlSUlS=UlUlX@lSUlUR!5UlUR6/UlUR4/Ul/UlX0l[AU5Ul!URE5 g)Nzbad canvas argument %sF)#r��_Screenr�r	r�screensr�rr<r�rsrAr9rr�r�r��drawingLineItemrr��_poly�
_creatingPoly�	_fillitem�	_fillpathr��_hidden_from_screen�currentLineItemrK�currentLiner�
stampItems�_undobuffersizer�rHr�)r��canvasrkr�r�r�s      r�r9�RawTurtle.__init__�	s����f�g�&�&� �K�
���
-�
-��Y�.�.�.��!�!�(�(��0� �K�
���� 8�
9�
9�#�+�+���9�9��&�"(�K��,�
+�6�2����!�!�(�(����5�%�&>��&G�H�H��������D�+�+�-�0��
�
�d�������t�$�%�1�1�3���"�6�1�����
�"���*.�.�������#(�� �%�1�1�3��� �N�N�+����*�*�+��
����-��!�.�1������r�c��[RU5 [RU5 UR	5 UR5 UR
5 gr�)rArar�r��_clearrr�r�s r�ra�RawTurtle.reset
s<��&	��������D�����
��������r�c�F�UbUS::aSUlg[U5Ulgr*)rHr�)r��sizes  r�rh�RawTurtle.setundobuffer6
s!���<�4�1�9�"�D�O�%�d�m�D�Or�c�R�URcgURR5$r*)rHr�r�s r�ry�RawTurtle.undobufferentriesI
s$���?�?�"�����*�*�,�,r�c��S=UlUlURHnURR	U5 M  URR5Ul/UlUR(a%URRUR5 UR/UlUR5 URUR5 gr�)r r!rr�r�r�r#r$r�r�rKr8rhr&r�s  r�r*�RawTurtle._clearV
s���*.�.������J�J�D��K�K����%��#�{�{�6�6�8�������=�=����#�#�D�N�N�3��*�*�+��
��������4�/�/�0r�c�D�UR5 UR5 gr�)r*r�r�s r�r6�RawTurtle.cleard
s��	
���
����r�c�.�URR5 URRS:wag[UR5S:�aGURRURURURUR5 ggr�)	r�rr�rDr$r�r#r�r�r�s r�r�RawTurtle._update_datas
so�����!�!�#��;�;�%�%��*���t��� ��"��K�K�!�!�$�"6�"6��8H�8H�"&�.�.�$�-�-�
A�#r�c��URnURS:XagURS:XaLUR5 UR5 UR	5 URUR5 gUR5 URS:Xa8UR5HnUR5 M UR	5 ggr�)	r�r�rrr�r�r�r�r,)r�r�r-s   r�r��RawTurtle._update{
s��������?�?�a���
�_�_��
!����������N�N���M�M�&�,�,�-������$�$��)����)�A��M�M�O�*���� �*r�c�8�URRX5$r�)r�r+)r��flagrs   r�r��RawTurtle._tracer�
s��&�{�{�!�!�$�.�.r�c�8�URRU5$r�)r�rrcs  r�r�RawTurtle._color�
s���{�{�!�!�$�'�'r�c�8�URRU5$r�)r�r�rcs  r�r��RawTurtle._colorstr�
s���{�{�$�$�T�*�*r�c��[U[5(aU$Uup#nUR
RS:Xa$X#U4Vs/sHn[SU-5PM snup#nSUs=::aS::a"O OSUs=::aS::aO OSUs=::aS::dO [	S[U5-5eSX#U4-$![[4a [	S[U5-5ef=fs snf)Nr�r�r�rr�r�r�)r�rr�r�rsr�r�r�)r�rdr�r�r�r�s      r��_cc�
RawTurtle._cc�
s����d�C� � ��K�	M��G�A�!��;�;�!�!�S�(�01�a�y�9�y�!�u�U�1�W�~�y�9�G�A�!��a��3��Q�!�]�s�]��a��3��%�&>��T��&J�K�K��!���*�*��
�:�&�	M�%�&?�#�d�)�&K�L�L�	M��:s�B)�C�)(CFrkrlrmc�z�UR5nUR5nU(aURSS9 U(aU(dUR5 UbUOURSnUbUOURSn[Xg5UlURUS9 U(aU(dUR
5 ggg)NFr�rr�)rOrCrWr?rKrr2)r�r�r�rlrY�was_fillingrorps        r�rs�RawTurtle.teleport�
s���F�+�+�-���l�l�n����H�H�U�H�#��x��M�M�O��]�����q�(9���]�����q�(9���u�,��������!��x��O�O�� (�;r�c�v�URnURUR5 URnSUlSUl[	U5nXlX lXl[XRR5UlURRU5 URURRRnUS:Xa UR5URlO�US:Xa8URURSR5URlO`US:XaZURURRRVs/sHoQR5PM snURlUR5UlUR#5 U$s snf)Nrvr2r�rx)r�r�r�r�rrrr�r�r�r@r�rr4r{r�r#r�)r�r�r��q�ttyper�s      r�r9�RawTurtle.clone�
sM�������
�
�d�m�m�$������������T�N������������(>�(>�?��������q�!����t�{�{�5�5�6�<�<���I��#�/�/�1�A�H�H�N�
�g�
�#�0�0�����1H�1N�1N�O�A�H�H�N�
�j�
 �$�n�n�T�[�[�-C�-C�D�J�J�L�J�8<�0�0�2�J�L�A�H�H�N�"�.�.�0���	�	�	�����	Ls�$F6c���UcURR$XRR5;a[	SU-5eURRU5 UR
5 g)NzThere is no shape named %s)r�rr�rrsrr�)r�r�s  r�rk�RawTurtle.shapesX��(�<��;�;�)�)�)��{�{�,�,�.�.�%�&B�T�&I�J�J������d�#����r�c�(�Xs=La	Us=LacO OURupXUR4$US:XdUS:Xa[S5eUbUcX4nO%X4nO!UbURSU4nOURnUcURnURSXCS9 g)Nrz(stretch_wid/stretch_len must not be zeror�)rbr�r�)r�r�rsrW)r��stretch_wid�stretch_lenr�r�s     r�rl�RawTurtle.shapesize*s���*�8��8�8�'+�':�':�$�K��T�-?�-?�?�?��!��{�a�/�%�&P�Q�Q��"��"� +� 8�
� +� 8�
�
�
$� �/�/��2�K�?�M� �/�/�M��?��(�(�G����F�,�	�	?r�c�B�UcUR$URSUS9 g)Nr�)rbrn)r�rW)r��shears  r�rn�RawTurtle.shearfactorRs%��&�=��$�$�$����F���6r�c�D�UcI[R"UR5*UR-nX R-UR
-$U*UR-UR-n[R"U5[R-nURSUS9 g)Nr�)rbrt)	r�r;r�rGrTrQr_r\rW)r�r�rts   r�ru�RawTurtle.tiltangleis���8�=��L�L����,�,�t�/@�/@�@�D��-�-�-��1A�1A�A�A��6�D�.�.�.��1B�1B�B�D��<�<��%����0�D��H�H��T�H�2r�c�F�URXR5-5 gr�)rurds  r�rt�RawTurtle.tilt�s��"	
���u�~�~�/�/�0r�c��Xs=LaUs=LaUs=LacUR$ URupVpxUbUnUbUnUbUnUbUnX-X#--
S:Xa[S5eXVXx4Ul[R"U*U5[R-n	[R
"U	5[R"U	5p�X�-X�--
X�-X�--
X�-X�--X�-X�--4up�p�X�4UlX�-UlX�l	URSS9 g)Nrz0Bad shape transform matrix: must not be singularr�r�)r�rsr�r�r\r�r�r�r�r�rW)r��t11�t12�t21�t22�m11�m12�m21�m22�alfarr�a11�a12�a21�a22s                r�rm�RawTurtle.shapetransform�s��(�+��+��+��#�#�#�,�!�-�-���#��?�#�C��?�#�C��?�#�C��?�#�C��9�s�y� �A�%�%�&X�Y�Y��c�/����z�z�3�$��$�t�x�x�/�����$�����$��B� �f�r�v�o�r�v���� �f�r�v�o�r�v����@���#�!�h����G����
����F��#r�c	�^�URnURup4URupV[XVUR-UR
-5nS[
U5-U-upVUVV	s/sH8up�X6U-XY--UR
--XE*U-Xi--UR--4PM: sn	n$s sn	nf)Nr�)r�rKrMrr�r�r�)
r�r�r��p0�p1�e0�e1�er�r�s
          r��
_polytrafo�RawTurtle._polytrafo�s������������������"�6�=�=�(�6�=�=�8�9����A��,�!�#���IM�O�IM�v����T�"�$�Y��
�
�-�-�r�3�q�5���:�v�}�}�2L�/L�M�IM�O�	O��Os�&?B)c���URRURRnURS:Xa)URURURS:H5$g)Nrvrx)r�r�r�rr@�
_getshapepolyr{)r�rks  r�rH�RawTurtle.get_shapepoly�sS�����#�#�D�K�K�$:�$:�;���;�;�)�#��%�%�e�k�k�5�;�;�*�3L�M�M�$r�c�^^^^�URS:XdU(aURummmmOGURS:Xa%[SURS-5nUSSU4ummmmOURS:XaU$[	UUUU4SjU55$)Nr�r�r�g@rr�c3�T># �UHupTU-TU--TU-TU--4v� M g7fr�r�)r�r�r�rXrYrZr[s   ����r�r��*RawTurtle._getshapepoly.<locals>.<genexpr>�s0����J�'���c�!�e�c�!�e�m�S��U�S��U�]�3�'�s�%()r�r��maxr�r�)r�rvrxr�rXrYrZr[s    @@@@r�ro�RawTurtle._getshapepoly�s�������v�%��!%�!1�!1��C��c�3�
�
�
��
'��A�t�}�}�S�(�)�A�!"�A�q�!���C��c�3�
�
�
��
+��N��J�'�J�J�Jr�c
��URnURURRnURnURR
nUR(Ga`URS:XGaOURS:�Ga>SUl	URnUS:Xa�URS:XaSnO)URS:Xa
URnOURnURURU55nUR UR"p�UR%XBXxUSS9 gUS	:XaUR'X@R(U5 gUS
:Xau[+XE5Heun	up�nURURU
S55n
UR%X�UR-U5UR-U5URSS9 Mg ggUR(agUS:XaUR%USSS5 O]US	:Xa4UR'X@R(URS
R5 O#US
:XaUHn	UR%U	SSS5 M SUl	g)NrFrvr�r�r�T�r�r�r{r�r2rx�r�r�r�r�r�)r�r�r�rr@rr�r�r�r"r{r�r�r�rlror�r�r�r9rK�ziprA)r�r�rkrH�titem�tshaper��fc�ocr�r�s           r�r�RawTurtle._drawturtle�s
���������t�{�{�5�5�6���������!�!���;�;�;�6�0�0�A�5�&�/�/�A�:M�',�D�$��[�[�F��	�!��#�#�z�1�q�1��%�%��/�T�]�]���+�+�a�����(:�(:�6�(B�C�����$�.�.�B�� � ��B�<=�4�!�I��'�!��!�!�%����@��*�$�,/��,>�(�D�.�4�R��?�?�4�+=�+=�d�D�+I�J�D��$�$�T�d�h�h�r�l�-1�X�X�b�\��AS�AS�Y]�%�_�-?�%��'�'���	�!�� � ��(@�"�b�I��'�!��!�!�%���*0�.�.��*A�*G�*G�I��*�$�!�D��$�$�T�+C�R��L�"�'+�D�$r�c
��URnURURRnURnUR
nUS:Xa�UR
5nURS:XaSnO)URS:Xa
URnOURnURURU55nURURp�URXRXxUSS9 O�US:Xa.URS5nUR!XPR"U5 O�US	:Xa�/nUH$n	UR
5n
UR%U
5 M& ['U5n[)XT5Heun
up�nURURUS55nURX�UR+U5UR+U5URSS9 Mg UR,R%W5 UR.R1S
U45 U$)Nrvr�r�r�Trwr2r�rxrr)r�r�r�rr@r{r�r�r�r�rlror�r�r�r4r9rKr�r�ryrAr%rHr�)r�r�rkrHr{�stitemr�r|r}�elementr�r�s            r�rr�RawTurtle.stamps����������t�{�{�5�5�6�����������I���'�'�)�F����:�-�1�q��!�!�V�+����Q��'�'�!��O�O�D�$6�$6�v�$>�?�E��_�_�d�n�n�����V��89�t�
�
E�
�g�
��(�(��,�F����f�n�n�f�=�
�j�
 ��F�!���)�)�+���
�
�d�#�"��6�]�F�(+�F�(;�$��n�t�����t�'9�'9�$��'E�F��� � ��$�(�(�2�,�)-���"��T�=O�=O�UY�!�[�)<�	
�����v�&������g�v�.�/��
r�c�|�XR;ap[U[5(a%UHnURR	U5 M  OURR	U5 URRU5 SU4nURnX4R;agURRU5nURRU5 XTR::a!URS-
UR-Ul	URRURS-UR-S/5 g)Nrrr�)r%r�r�r�r�r.rHr��indexr�r��insert)r��stampid�subitemr��bufr�s      r��_clearstamp�RawTurtle._clearstampGs����o�o�%��'�5�)�)�&�G��K�K�'�'��0� '����#�#�G�,��O�O�"�"�7�+���!���o�o���z�z�!���
�
� � ��&���
�
���$���G�G���w�w��{�c�k�k�1�C�G��
�
���3�7�7�1�9�c�k�k�1�D�6�:r�c�F�URU5 UR5 gr�)r�r�)r�r�s  r�r7�RawTurtle.clearstamp]s��	
����!����r�c���UcURSSnO%US:�aURSUnOURUSnUHnURU5 M UR5 gr*)r%r�r�)r�r�toDeleter�s    r�r8�RawTurtle.clearstampsls_��$
�9����q�)�H�
�!�V����r��*�H����q�r�*�H��D����T�"�����r�c
���URURUR[UR[
54nURnSURXURURSSURUR5URSS44nUR(aURRU5 URnUR(Ga9URS:XGa(X-
nUSUR -S-USUR"-S--nS[%US-SSUR--UR--5-nUSU--n	['SU5Hyn
U
S:XaS	nOS
nXYU
--UlUR(a>UR)UR*XPR4URURU5 UR-5 M{ UR(a&UR)UR*SSURS
9 UR(aURR/U5 [UR[
5(aURR/U5 XlUR0(aUR2R/U5 [5UR5S:�aUR75 UR-5 g)N�gor�rr#r�r�皙�����?r�TF�r�r�r��r�r{�*)r�r�r�r�r!r�r�rKr#r$rGrrHr�r�r�r�r�r�rCr�rr�r�rrrDr�)r�ri�go_modesr��
undo_entry�start�diff�diffsq�nhops�deltarr�s            r�r_�RawTurtle._goto�sW���]�]��^�^��]�]������5�7�������D�N�N�C��+�+��&�&�q�)��'�'��(<�(<�=��j�j��m�%��
��?�?��O�O� � ��,������;�;�;�6�?�?�a�/��I�D��1�g�f�m�m�+�a�/�4��7�6�=�=�3H�1�2L�L�F��c�6�3�;��C����,<�)=�d�k�k�)I�J�K�K�E��C��I�&�E��1�e�_����6��C��C�!&���!2����=�=��$�$�T�%9�%9�&+�^�^�%<�%)�^�^�T�]�]�C�I�����%��}�}�� � ��!5�!5�7G�46�d�m�m�!�M��=�=����#�#�C�(��d�n�n�d�+�+��N�N�!�!�#�&�������J�J���c�"��t��� �2�%��M�M�O����r�c��Uup#pEUupgp�Uup�p�URn[URU-
5S:�a[S5 X�lX�lUSS/:XaSnOUnUR
X�X�S9 URVs/sH$nUU
;dMURU5S:XdM"UPM& nnUH/nURU5 URRU5 M1 UnUR(GaURS:Xa�X#-
nUSUR-S	-USUR-S	--nS[US-S
SUR--UR--5-nUSU--n[!SU5H\nUS:XaS
nOSnUUU--UlU(a*UR
UR"UUR4XxU5 UR%5 M^ U(aUR
UR"SSUS9 X lUR&(aQ[)UR*5S:�aUR*R-5 UR*/:XaSUlSUlU	(aJUR./:XaSUl[S5 O'UR.bUR.R-5 UR%5 gs snf)Nr�z$undogoto: HALLO-DA-STIMMT-WAS-NICHT!r�r�r�r�r�rr#r�r�r�TFr�zUnwahrscheinlich in _undogoto!)r�r�rKr�r#r$r�rr@r�r.r�r�r�r�r�rCrr�rrDrr�r!)r��entry�old�newr��coodata�drawing�pc�psrC�cLI�cLrFrr��usepcrE�todeleter�r�r�r�r�rr�s                         r��	_undogoto�RawTurtle._undogoto�s���',�#��(�#+� ��R�$���������t�~�~��#�$�s�*��9�:�"����
�&�&�!�!��E��E�����u��7�#�z�z�D�z�!�a�u�n�A�(.���Q��6�(A��z��D��A��N�N�1���J�J���a� �����;�;�;�6�?�?�a�/��9�D��1�g�f�m�m�+�a�/�4��7�6�=�=�3H�1�2L�L�F��c�6�3�;��C����,<�)=�d�k�k�)I�J�K�K�E��C��I�&�E��1�e�_����6��C��C�!$�u�q�y������$�$�T�%9�%9�&+�T�^�^�%<�%'�S�2�����%��� � ��!5�!5�7G�46�b�!�B���
����4�:�:���"��
�
��� ��z�z�R��%*��"�!��
���~�~��#�!%����6�7����+����"�"�$������YDs�:
K�K�Kc�0�UR(a'URRSXR45 XR-nURR	U5nUR
RnUS:Xa�URS:�asSUR-nS[[U5U-5-nSU-U-n[U5H3nURR	U5UlUR5 M5 X lUR5 g)N�rotr�rg@r�)rHr�rTrMr�r�r�r�r�r�rCr�)r�r��	neworientr�anglevelr�r�r
s        r�re�RawTurtle._rotate�s����?�?��O�O� � �%��0B�0B�!C�D�
�#�#�#���L�L�'�'��.�	��+�+�&�&���a�<�D�K�K�!�O��T�[�[�(�H���C��J�x�/�0�0�E���I�e�O�E��5�\��#�|�|�2�2�5�9�������"�!�����r�c���[UR5S:�a�URRURURUR
UR5 URR5UlURRUR5 O$URRURSS9 /UlU(aUR/Ulgg)Nr�T)r�)rDr$r�r�r#r�r�r�rr�rKrs  r�r��RawTurtle._newLine
s���
�t��� �1�$��K�K�!�!�$�"6�"6��8H�8H�&*�n�n�d�m�m�
E�#'�;�;�#:�#:�#<�D� ��J�J���d�2�2�3��K�K�!�!�$�"6�"6�D�!�A����� $���/�D��r�c�6�[UR[5$r�)r�r!r�r�s r�rC�RawTurtle.filling 
s���$�.�.�$�/�/r�c��UR5(dDURR5UlURRUR5 UR/UlUR5 UR(a'URRSUR45 UR5 g)N�	beginfill)rCr�r�r rr�rKr!r�rHr�r�r�s r�r2�RawTurtle.begin_fill.
s{���|�|�~�~�!�[�[�4�4�6�D�N��J�J���d�n�n�-��.�.�)����
�
���?�?��O�O� � �+�t�~�~�!>�?����r�c��UR5(a�[UR5S:�aqURR	UR
URURS9 UR(a'URRSUR
45 S=UlUlUR5 gg)Nr#r��dofill)
rCrDr!r�r�r r�rHr�r�r�s r�r?�RawTurtle.end_fillC
s����<�<�>�>��4�>�>�"�Q�&����%�%�d�n�n�d�n�n�+/�?�?�&�<��?�?��O�O�(�(�(�D�N�N�)C�D�.2�2�D�N�T�^��L�L�N�r�c��U(d�[U[[45(a5URU5nUR[URS5-nOnURnU(d#UR[URS5-nO7Uc#UR[URS5-nURU5nUR5nUR(a-URRS/5 SURl
UR5S:XaUR5 UR5 URU5 URU5 UR!S5 URU5 UR(aSURl
gg!URU5 f=f)Nr�r�Tr�rF)r�rr�r�r�rtr�rWrHr�r�rbrNrYrZrXrD)r�r-r:rWs    r�r=�
RawTurtle.dotW
s>����$��e��-�-����t�,���}�}�s�4�=�=�!�'<�<��������=�=�3�t�}�}�a�+@�@�D���|��}�}�s�4�=�=�!�'<�<���N�N�5�)�E��h�h�j���?�?��O�O� � �%��)�'+�D�O�O�$�	���� �F�*����	��L�L�N��L�L����M�M�%� ��L�L��O��H�H�S�M��?�?�',�D�O�O�$���
�H�H�S�M�s
�A'F1�1Gc� �URRURXUUR5upEUR	5 UR
R
U5 UR(aURRSU45 U$)N�wri)	r�r�rKr�r�rr�rHr�)r�r�r�r�r�ris      r�r��RawTurtle._write�
si���K�K�&�&�t�~�~�s�4�:>�.�.�J�	�������
�
���$���?�?��O�O� � �%���/��
r�c�n�UR(a-URRS/5 SURlUR[	U5UR5U5nU(a#UR
5upgURXW5 UR(aSURlgg)Nr�TF)rHr�r�r�rryr\rf)r��arg�mover�r�rir�r�s        r�r|�RawTurtle.write�
s{��&�?�?��O�O� � �%��)�'+�D�O�O�$��k�k�#�c�(�E�K�K�M�4�8����8�8�:�D�A��K�K����?�?�',�D�O�O�$�r�c�6�UR/UlSUlgr)rKrrr�s r�r3�RawTurtle.begin_poly�
s���n�n�%��
�!��r�c��SUlg�NF)rr�s r�r@�RawTurtle.end_poly�
s��#��r�c�H�URb[UR5$gr�)rr�r�s r�rE�RawTurtle.get_poly�
s"���:�:�!�����$�$�"r�c��UR$r�)r�r�s r�rG�RawTurtle.getscreen�
s���{�{�r�c��U$r�r�r�s r�rI�RawTurtle.getturtle�
s	���r�c�8�URRU5$r�)r�rr�s  r�r��RawTurtle._delay�
s���{�{� � ��'�'r�c��URRURRXU5 UR	5 gr�)r�rr�rr�r+s    r�rS�RawTurtle.onclick�
s-��$	
�����T�[�[�.�.��#�>����r�c��URRURRXU5 UR	5 gr�)r�rr�rr�r+s    r�rU�RawTurtle.onreleases-��,	
�����t�{�{�0�0�#�C�@����r�c�f�URRURRXU5 gr�)r�rr�rr+s    r�rT�RawTurtle.ondrag-s$��$	
�����D�K�K�-�-�s��=r�c��URcgUS:XaAUup4URU*U-UR-5 URR5ngUS:XaUSnUR	U5 gUS:XaURU5 gUS;a<USnURRU5 URRU5 gUS:Xa"USnURRUSSSS	9 gUS
:XaZUSnS=UlUlXpR;a7URRU5 URRU5 ggUS:Xa3[RXS5 URR5 gg)Nr�rrrr�)r�r=r�rxr�r�r�rW)rHrerTr�r7r�r�r�rr.r�r r!r�rW)r��actionr}r��degPAU�dummyr�r�s        r��_undo�RawTurtle._undoBse���?�?�"���U�?� �M�E��L�L�%����t�'9�'9�9�:��O�O�'�'�)�E�
�w�
��!�W�F��O�O�F�#�
�t�^��N�N�4� �
�~�
%���7�D��K�K����%��J�J���d�#�
�x�
���7�D��K�K�!�!�$�(>�')�2�
"�
7�
�{�
"���7�D�.2�2�D�N�T�^��z�z�!����#�#�D�)��
�
�!�!�$�'�"��u�_��H�H�T��7�#��O�O���!�r�c�
�URcgURR5nUSnUSSnUS:Xa:U(a2UR5nURUSUSS5 U(aM1ggURX#5 g)Nrr�r�)rHr�r�)r�r�r�r}s    r�rx�RawTurtle.undobsy��"�?�?�"�����"�"�$���a����A�B�x���U�?���x�x�z���
�
�4��7�D���H�-��$�
�J�J�v�$r�)rr r!r"rMrrKr�r�r�r�r�r&r$r#rrr�r%r�rHr>r�rw)NNNN)Fr)FrQ)�Arialr�r�ro);r�r�r�r�rr�r9rarhryr*r6rr�r�rr�rAr�rsr9rkrlrnrurtrmrlrHrorrrr�r7r8r_r�rer�rCr2r?r=r�r|r3r@rErGrIrFr�rSrUrTr�rxrwr�r�r�r�rr�	sK��
�G�"��G�}� $�%5� 6��i��&�P�2,�&-�1�
�A�!�$/�*(�+�
+�.�5�.�D�.�T�.�`&�P�6&?�P7�."3�H1�&%$�P
O�N�"K�$,�P+�Z;�,
��83�j?�B�$0� 0��*�()-�V	�-�:"�#�%�� �"�F�(�
�*�2>�*"�@%�:�Jr�rc�j�[Rc[5[l[R$r�)r�_screenrr�r�r�r
r
�s!���~�~�� �����>�>�r�c�n�\rSrSrSrSr\SrSr\S\S\S\S4S	jr	S
r
SrSrS
r
Srg)ri�Nr*c�p�[Rch[5=[lUlURR[R5 URRUR5 [Rc�[Sn[Sn[Sn[Sn[Sn[SnURRXX45 URR5[l[RU[R5 URXXV5 gg)Nr{r�r�r�r�r�)r�_rootryr*�_titler��_destroyr>r�r�r�r	r9r')r�r{r�r�r�r�r�s       r�r9�_Screen.__init__�s����=�=� �).��0�G�M�D�J��J�J���W�^�^�,��J�J� � ����/��?�?�"���M�E��(�^�F��[�)�I��l�+�J��[�)�I��[�)�I��J�J�"�"�5�)�H�"�j�j�3�3�5�G�O��!�!�$����8��J�J�u�i�;�#r�r{r�r�r�c���[URS5(dgURR5nURR5n[	U[
5(aSUs=::aS::aO OXQ-nUcXQ-
S-n[	U[
5(aSUs=::aS::aO OXb-nUcXb-
S-nURR
XX45 UR5 g)Nr�rr�r#)�hasattrr�r�r�r�r�r�r-)r�r{r�r�r�r��shs       r�r'�
_Screen.setup�s���2�t�z�z�>�2�2��
�Z�Z�
!�
!�
#��
�Z�Z�
"�
"�
$���e�U�#�#��U��a���H�E��>��j�A�%�F��f�e�$�$��f�)9��)9��Y�F��>��k�Q�&�F��
�
����v�>����
r�c�z�[Rb[RRU5 U[lgr�)rr�r*r�)r��titlestrings  r�r*�
_Screen.title�s'���=�=�$��M�M����,�$��r�c���URnU[RLa,S[lS[lS[lS[lS[lUR5 gr�)	r�rrr�r�r>r	rr�)r��roots  r�r��_Screen._destroy�sD���z�z���7�=�=� ��F�K�!�F�N� �G�M�"�G�O� %������r�c�$�UR5 gr�)r�r�s r�r�_Screen.bye�s
��	
�
�
�r�c�^�U4SjnTRU5 [S(ag[5 g![a [	S5 gf=f)Nc�&>�TR5 gr�)r)r�r�r�s  �r��exitGracefully�+_Screen.exitonclick.<locals>.exitGracefullys����H�H�Jr�r�r)rSr�r�AttributeError�exit)r�r�s` r�r�_Screen.exitonclick�sA���&	�	
���^�$�����	��J���	���G�	�s�
4�A�A)r�)r�r�r�r�r�r>r�r�r9r'r*r�rrr�r�r�r�rr�sR���E��G�
�'�]�F�<�"�w�-��X���+�&�t�K�/@�&�P%�"��r�rc�>�\rSrSrSrSr\S\S\S4SjrSrg)ri
Nrkr�r�c��[Rc[5[l[R	U[RUUUS9 g)N)rkr�r�)rr�r
rr9)r�rkr�r�s    r�r9�Turtle.__init__s;���>�>�!�#�X�F�N����4����!&�*8�#*�	�	,r�r�)	r�r�r�r�r�r�r�r9r�r�r�r�rr
s,���D��G��G�}� $�%5� 6��i��	,r�rc�t�0n[HnSU-n[U5RX'M! [HnSU-n[U5RX'M! [	SU-S5n[SU55nUR
S5 USSH6nUR
S[U5-5 UR
S	X-5 M8 USnUR
S[U5-5 UR
S
X-5 UR
S5 UR5 SSS5 g!,(df   g=f)Nz_Screen.zTurtle.z%s.pyr�c3�b# �UH%nURS5S[;dM!Uv� M' g7f)r�r�N)r�_alias_list)r�r�s  r�r��&write_docstringdict.<locals>.<genexpr>9s+���=��A������a���;��a��s� /�	/zdocsdict = {

rz%s :
z        """%s
""",

z        """%s
"""

z}
)	�_tg_screen_functionsr��__doc__�_tg_turtle_functionsr�r(r|�repr�close)r��docsdict�
methodnamer�r�r
s      r�rr#s���H�*�
���#���S�	�)�)��
�+�+�
��
�"���S�	�)�)��
�+�
�g�� ��	%���=��=�=��	���"�#����9�C�
�G�G�H�t�C�y�(�)�
�G�G�-��
�=�>���2�h��	����4��9�$�%�	���(�8�=�8�9�	�����	���	�
&�	%�	%�s
�$B<D)�)
D7c���SSUR50-n[U5nURnUHnX4[U5lM g![
a [
SU-5 M6f=f)Nz!turtle_docstringdict_%(language)sr�zBad docstring-entry: %s)ry�
__import__rr�rr�r�)�lang�modname�modulerr�s     r��read_docstringsrEsh��2�Z��
�
��4M�M�G�
��
 �F����H���	3� (�
�D��I�����	3��+�c�1�2�	3�s�A
�
A&�%A&zCannot find docsdict forz;Unknown Error when trying to import %s-docstring-dictionaryc��[R"U5nUR[URR55SSS9n/nURR5GHKnUR==[RR:XaO!=[RR:XaO O  URUR5 Mo=[RR:Xa! URSUR35 M�=[RR:Xa- URURSUR35 M�[RR:Xa!URSUR35 GM7[SUR5e SSR!U5S	3n[#U5U4$)
Nr�)�
parameters�*r�z**zUnsupported parameter kind�(z, �))�inspect�	signature�replacer�r�values�kind�	Parameter�POSITIONAL_ONLY�POSITIONAL_OR_KEYWORDr�r��VAR_POSITIONAL�KEYWORD_ONLY�VAR_KEYWORD�RuntimeErrorrr)�ob�orig_sig�func_sig�	call_args�param�	call_texts      r��getmethparlistr&bsr��� � ��$�H������+�+�2�2�4�5�a�b�9� ��H��I��$�$�+�+�-���j�j�:�1��!�!�1�1�9�'�#�#�9�9�:�� � ����,�1��"�"�1�1�� � �1�U�Z�Z�L�!1�2�/��"�"�/�/�� � �E�J�J�<�q�����!=�>��"�"�.�.�� � �2�e�j�j�\�!2�3��"�#?����L�L�.��D�I�I�i�(�)��+�I��x�=�)�#�#r�c��SSKnUcg[SnURSU-S5nURSU-5nUR	SU5nU$)Nrr��%s.r�� \(.+ %s\):�:��rer�r�compile�sub)�docstrr,�
turtlename�	newdocstr�parexps     r��_turtle_docreviser3��W���
�~���o�&�J����u�z�1�"�5�I�
�Z�Z���3�
4�F��
�
�3�	�*�I��r�c��SSKnUcg[SnURSU-S5nURSU-5nUR	SU5nU$)Nrr�r(r�r)r*r+)r/r,�
screennamer1r2s     r��_screen_docreviser7�r4r�ardef {name}{paramslist}:
    if {obj} is None:
        if not TurtleScreen._RUNNING:
            TurtleScreen._RUNNING = True
            raise Terminator
        {obj} = {init}
    try:
        return {obj}.{name}{argslist}
    except TK.TclError:
        if not TurtleScreen._RUNNING:
            TurtleScreen._RUNNING = True
            raise Terminator
        raise
c	��UHzn[X5n[U5upxUS:Xa[SXx5 M/[R	X#UXxS9n	[U	[
55 U"UR5[
5UlM| g)Nr�z>>>>>>)�obj�initr��
paramslist�argslist)�getattrr&r��__func_body�formatr�globalsr)
�	functionsr�r9r:�	docreviserr�pl1�pl2�defstrs
          r��_make_global_funcsrF�sw���
���)��!�&�)����"�9��(�C�%���#�#��Z�/2�$�B���V�W�Y��(1�&�.�.�(A��	�*��%� r�zTurtle._screenzScreen()zTurtle._penzTurtle()�__main__c�L�[5(a[5 g[5 gr�)rOr^rVr�r�r��	switchpenrI�s���8�8��D��Dr�c���[5 [S5 [5 [S5 [	5 [S5 [
S5HunUS:Xa
[5 [
S5Hn[S5 [S5 M US:Xa[S5 [5 [5 [S	5 [	5 Mw [S
5 [S5 [S5 [5 [S5 [S5 [S5 [S5 [S
5 [	5 [SS
5 [SS
5 [S5 [
S5H/n[S5 [S5 [S5 [S5 M1 [S5 [5 [
S5H/n[S5 [S5 [S5 [S5 M1 [5 g)NT�dr�r#r�r��Z�maroonrPr�r�F��
startstartr��redr�)rar+rzr1r>r{rCr2rDrQr:r?r`r|)rEr
s  r��demo1rQ�sJ��
���t��
����
���
�a���q��A��A�v����1�X������R����A�v��h���
��D��B�K��F��	�a��
�g���u�
�
��
�b�	����
�b�	����
�c�
���
�l�A��
�g�q��
�e���q��A��B�K���H��B�K��"�I�	�	�t�����q��A��B�K���H��B�K��"�I�	�
	�
r�c��	�[S5 [5 [S5 [[	SS55 [SS5S-n[
S5 [S5Hn[5 [US5 M [S5 [5(a[5 [5(aM[5 [S5 [S	5 Sn[!S
5 [S5 [S5 [SS
5H�nUS:�a [#5 [%S	SU--
SSU-5 [S5Hn['U5 [S5 M [)5 US-
n[S5 [[5S-S-5 M� [S5 [+5 ['S5 [
S5 [-5 [/SS5 [S5 [#5 [S5H0n[SS5 [
S5 ['S5 [
S5 M2 [)5 [S5 [+5 ['S5 [-5 [1S5 [35nUR5S5 [75nUR5S5 UR1S5 UR5 UR9S5 URS5 UR;5 UR=SS5 URS5 UR?5 URS5 UR/SS5 URS5 URS5 [[	U55 SnURU5S:�a�UR'S5 URS 5 URUR	U55 UR'S5 US!-S:Xa*URA5 URA5 [5 US-
nURU5S:�aM�URS"S#S$S%9 UR!S&5 UR!S5 S'n[BRD"S5 [5(a1UR5 UR5 [5(aM1UR'S5 URS(S)S*9 URGUS5 g)+Nr�r�rr�rL�r�zwait a moment...r��greenrNr�r���x��FrPrP�yellowr��2r�r�i�(r��blue�oranger#g@g333333�?r�zCAUGHT! )r�r��boldr`)r�r�r�c�,�[5 [5 gr�)rr)r4r5s  r��baba�demo2.<locals>.babaXs���M��Er�z  Click me!)�CourierrWr^)r�)$rprqrZrervr<rcrCrIr5r|ryrxrarRrrXr2rBrAr?r^rVr:rkrIrbrrQrzrJr>rr�time�sleeprS)r�r
�laengerE�trir�r�r`s        r��demo2rgs���
�a��
����
��7�1�a�=�!��!�Q���#��
�2���r��A��K��6�2���	� �!��!�!��F� �!�!�
��
�2���#���������
�
�3���r�2��A��1�u����#�b��d�(�A�r�!�t�,��1�X���6�
��3���
�J��b�L�F��r�F��5�7�1�9�b�.�!��	�3��
��
�2��
�2��
��
�e�H��
�a�����q��A��2�r�N��r�F��r�F��r�F�	�
	�
�
�2��
��
�2��
��
�h���k�����v��������&�!����X���������B�����Q���	�	�����C����	�	�"�
����
����Q�����V�H�%����q���	�	�!���7�6�?�#����l�l�6�"�Q�&��I�I�c�N��I�I�c�N��N�N�3�;�;�v�.�/��F�F�1�I��r�z�Q�������	�	�����Q�J�E��l�l�6�"�Q�&�	�	�	�*�#8��	�H����W�����U��	�	
�
�
�1�
��!�!��H�H�J��K�K�M� �!�!�	���r�
��	�	�-�(?�	�A����D�!�r�)r�)�turtle_docstringdict)D�tkinterr7rr�rcrr��os.pathrrr�copyrr�_tg_classesrr�
_tg_utilities�__all__rr�r�r�r�r�r�rrrrrr8rr<r{ry�objectr�r�rsrr�r	rAr�rrr
r
rrrrr�	_LANGUAGE�ImportErrorr&r3r7r>rFrr�r�rIrQrgrr�r�r��<module>rrs���J�����
�'�'�� �I��)��!��'��/�
��-�-�0D�D���(�>�*��,��	��#�	��4�	��c�	�	�c�	�	�T�		�
	�T�	�	�
�
	�	�S�	�	��	�	�$�	�	��	�	�W�	�	�g�	�	�z�	�	�D�	�	�I�	� 	��!	�""�)��'	��,�:�<1��t��
*$�E�*$�j��1�
�.�*a#�R�X�X�a#�F�����I�6�)�B�E�E�)�0
����B5�v�B5�T	�)�	��)��
,1�F�,1�^"6�f�"6�Ly�#�y�vC��C�LY�6�Y�xL�6�L�>Q��j�Q�f$
���~�l�~�@,�Y�,�(
�� �D3�"
���	�M��I���	�"�"$�H
�
� �� 
B��'��#�Z�1B�D��'�� �*�.?�A����z���2�ja�F
�G�	�G��M�C��Iw�1�	�/�0�1��rs�1�	�
$�i�0��M�	�H�BK�L�M�M�s*�G4�H	�4H�H�	H-�H-�,H-

Youez - 2016 - github.com/yon3zu
LinuXploit