+
     BiVR                     ,   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RItR tR tR R lt ! R R]P$                  4      tR!tRt ! R R	]	P,                  4      t/ t]P2                  ! ^ 4      t]P2                  ! ^ 4      t ! R
 R4      t ! R R4      tR t ! R R4      t ! R R]	P@                  ]4      t! ! R R]4      t" ! R R4      t#R t$R t% ! R R4      t&R t'](R8X  d   ^ RI)H*t* ]*! R^R7       R# R# )"    Nc                 2    \         P                  ! V 4      pV# N)marshalloads)mscos   & "/usr/lib/python3.14/idlelib/rpc.pyunpickle_coder
   -   s    	r	BI    c                 @    \         P                  ! V 4      p\        V33# r   )r   dumpsr
   )r   r   s   & r	   pickle_coder   3   s     
r	B2%r   c                     \         P                  ! 4       p\        W!4      pVP                  V 4       VP	                  4       # r   )ioBytesIOCodePicklerdumpgetvalue)objprotocolfps   &&  r	   r   r   9   s0     	

AA AFF3K::<r   c                   J    ] tR t^Bt]P
                  ]/]P                  CtRt	R# )r    N)
__name__
__module____qualname____firstlineno__typesCodeTyper   copyregdispatch_table__static_attributes__r   r   r	   r   r   B   s    nnkLW5K5KLNr   r   z	127.0.0.1c                   B   a  ] tR t^It o RR ltR tR tR tR tRt	V t
R# )		RPCServerNc                Z    Vf   \         p\        P                  P                  WV4       R # r   )
RPCHandlersocketserver	TCPServer__init__)selfaddrhandlerclasss   &&&r	   r*   RPCServer.__init__K   s#    %L''LAr   c                    R # r   r   r+   s   &r	   server_bindRPCServer.server_bindP       r   c                P    V P                   P                  V P                  4       R # r   )socketconnectserver_addressr0   s   &r	   server_activateRPCServer.server_activateT   s     	D//0r   c                2    V P                   V P                  3# r   )r5   r7   r0   s   &r	   get_requestRPCServer.get_request]   s    {{D////r   c                    h   \          d    h  \        P                  p\        R	TR7       \        RTR7       \        R\        P
                  ! 4       P                  ,          TR7       \        RY#R7       \        R\        T4      TR7       \        P                  ! TR7       \        RTR7       \        RTR7       \        P                  ! ^ 4        R# ; i)

filezUnhandled server exception!z
Thread: %szClient Address: z	Request: z#
*** Unrecoverable, server exiting!Nz(----------------------------------------z)
----------------------------------------)
SystemExitsys
__stderr__print	threadingcurrent_threadnamerepr	traceback	print_excos_exit)r+   requestclient_addresserfs   &&& r	   handle_errorRPCServer.handle_errora   s    	 	
	..C-c*/c:,!9!9!;!@!@@sK$n?+tG}37S)8sC&s#HHQKs
    CCr   r   )r   r   r   r   r*   r1   r8   r;   rP   r#   __classdictcell____classdict__s   @r	   r%   r%   I   s$     B
10 r   r%   c                      a  ] tR t^t o ^ tRR ltR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tRt^t^ tR tR tR tR tR t R t!R t"Rt#V t$R# ) SocketIONc                    \         P                  ! 4       V n        Ve   W0n        Wn        Vf   \
        pW n        / V n        / V n        R # r   )	rE   rF   
sockthread	debuggingsockobjecttableobjtable	responsescvars)r+   rZ   r\   rY   s   &&&&r	   r*   SocketIO.__init__   s@    #224 &N	"H 
r   c                X    V P                   pR V n         Ve   VP                  4        R # R # r   )rZ   close)r+   rZ   s   & r	   ra   SocketIO.close   s&    yy	JJL r   c                2    \         P                  ! ^ 4       R# r   N)rK   rL   r0   s   &r	   exithookSocketIO.exithook   s    
r   c                (   V P                   '       g   R # V P                  R,           \        \        P                  ! 4       P
                  4      ,           pV F  pVR,           \        V4      ,           pK  	  \        V\        P                  R7       R # )N r?   )	rY   locationstrrE   rF   rG   rD   rB   rC   )r+   argssas   &*  r	   debugSocketIO.debug   s_    ~~~MMC#i&>&>&@&E&E"FFAC#a& A acnn%r   c                "    W P                   V&   R # r   )r\   )r+   oidobject_s   &&&r	   registerSocketIO.register   s    $cr   c                F     V P                   V R #   \         d     R # i ; ir   )r\   KeyErrorr+   rq   s   &&r	   
unregisterSocketIO.unregister   s%    	c" 		s      c                4   V P                  R V4        Vw  pw  rErgY@P                  9  d	   RRT: 23# T P                  T,          pTR8X  d   / p	\        Y4       RT	3# TR8X  d   / p
\	        Y4       RT
3# \        Y4      '       g	   RRT: 23# \        Y4      p TR8X  d.   T! T/ TB p\        T\        4      '       d   \        T4      pRT3# TR8X  d   \        P                  YYg334       R# RR
T,          3#   \         d    Ru # i ; i  \         d    h \         d    h \         d    h \         d   pRT3u R	p?# R	p?i Rp\!        YY3,          \"        P$                  R7       \&        P(                  ! \"        P$                  R7       Ru # ; i)z
localcall:ERRORzUnknown object id: __methods__OK__attributes__zUnsupported method name: CALLQUEUENzUnsupported message type: %sCALLEXCzU*** Internal Error: rpc.py:SocketIO.localcall()

 Object: %s 
 Method: %s 
 Args: %s
r?   )r{   zBad request format)QUEUEDN)	EXCEPTIONN)rn   	TypeErrorr\   _getmethods_getattributeshasattrgetattr
isinstanceRemoteObject	remoterefrequest_queueputrA   KeyboardInterruptOSError	ExceptionrD   rB   rC   rI   rJ   )r+   seqrM   howrq   
methodnamerk   kwargsr   methods
attributesmethodretexmsgs   &&&            r	   	localcallSocketIO.localcall   s   

<)	33:0C0#4 mm#23':;;mmC &G%'?"))J3+*%%s''8GHH)	'f}d-f-c<00#C.Cc{"!!3(>"?@&&!?#!EFF5  	322	36  	  	 	 	#r?"	'<C#f++#..AS^^4&&sN   C< 3D  D 1
D <DDF$
F/
F:F;E>FAFc                l    V P                  R W4       V P                  WW44      pV P                  V4      # )zremotecall:asynccall: )rn   	asynccallasyncreturnr+   rq   r   rk   r   r   s   &&&&& r	   
remotecallSocketIO.remotecall   s2    

+S=nnSd;$$r   c                l    V P                  R W4       V P                  WW44      pV P                  V4      # )zremotequeue:asyncqueue: )rn   
asyncqueuer   r   s   &&&&& r	   remotequeueSocketIO.remotequeue   s2    

-s?ooct<$$r   c                   R WW433pV P                  4       p\        P                  ! 4       V P                  8w  d$   \        P                  ! 4       pWpP
                  V&   V P                  RV,          WW44       V P                  We34       V# )r   zasynccall:%d:newseqrE   rF   rX   	Conditionr^   rn   
putmessager+   rq   r   rk   r   rM   r   cvars   &&&&&   r	   r   SocketIO.asynccall   sr    CT:;kkm##%8&&(D"JJsO

Oc)CTJ'
r   c                   R WW433pV P                  4       p\        P                  ! 4       V P                  8w  d$   \        P                  ! 4       pWpP
                  V&   V P                  RV,          WW44       V P                  We34       V# )r   zasyncqueue:%d:r   r   s   &&&&&   r	   r   SocketIO.asyncqueue   ss    Sd;<kkm##%8&&(D"JJsO

$s*SdK'
r   c                    V P                  R V,          4       V P                  VRR7      pV P                  RV,          V4       V P                  V4      # )z#asyncreturn:%d:call getresponse(): 皙?)waitzasyncreturn:%d:response: )rn   getresponsedecoderesponse)r+   r   responses   && r	   r   SocketIO.asyncreturn   sN    

83>?##Cd#3

/#5A""8,,r   c                J   Vw  r#VR 8X  d   V# VR8X  d   R# VR8X  d   V P                  R4       R# VR8X  d$   V P                  R4       V P                  4        R# VR8X  d   V P                  RV4       \        V4      hVR	8X  d   V P                  R
V4       Vh\        W#4      h)r}   r   Nr   zdecoderesponse: EXCEPTIONEOFzdecoderesponse: EOFr{   zdecoderesponse: Internal ERROR:r   zdecoderesponse: Call Exception:)rn   decode_interrupthookRuntimeErrorSystemError)r+   r   r   whats   &&  r	   r   SocketIO.decoderesponse   s    	$;K(?+JJ23%<JJ,-%%''>JJ8$?t$$)JJ8$?J#$$r   c                    \         hr   )EOFErrorr0   s   &r	   r   SocketIO.decode_interrupthook  s    r   c                t     V P                  R RR7       R #   \         d    T P                  R4        R # i ; i)Nr   )myseqr   zmainloop:return)r   r   rn   r0   s   &r	   mainloopSocketIO.mainloop  s9    	4d3 	JJ()	s    77c                j    V P                  W4      pVe   Vw  rEVR8X  d   W@P                  V4      3pV# )Nr}   )_getresponse_proxify)r+   r   r   r   r   r   s   &&&   r	   r   SocketIO.getresponse"  s<    $$U1 ICd{d 33r   c                    \        V\        4      '       d   \        WP                  4      # \        V\        4      '       d    \	        \        V P                  V4      4      # V# r   )r   RemoteProxyRPCProxyrq   listmapr   )r+   r   s   &&r	   r   SocketIO._proxify*  sF    c;''D''**c4  DMM3/00
r   c                   V P                  R V4       \        P                  ! 4       V P                  J d    V P	                  W4      pVf   K  V# V P
                  V,          pVP                  4        WP                  9  d   VP                  4        K"  V P                  V,          pV P                  RV: RV: 24       V P                  V V P
                  V VP                  4        V# )z_getresponse:myseq:z_getresponse:z: thread woke up: response: )
rn   rE   rF   rX   pollresponser^   acquirer]   r   release)r+   r   r   r   r   s   &&&  r	   r   SocketIO._getresponse2  s    

(%0##%8,,U9'#O ::e$DLLN~~-		~~e,HJJx) *u%

5!LLNOr   c                :    V P                   ^,           ;V n         pV# )   )nextseq)r+   r   s   & r	   r   SocketIO.newseqH  s    !\\A--s
r   c                &   V P                  R V^ ,          ,          4        \        V4      p\        P                  ! R\        T4      4      T,           p\        T4      ^ 8  dP    \        P                  ! . T P                  .. 4      w  r4pT P                  P                  TR\         4      pY&R pK_  R#   \        P                   d(    \	        R\        T4      \        P                  R7       h i ; i  \        \         3 d    \#        R4      hi ; i)zputmessage:%d:zCannot pickle:r?   <iNzsocket no longer exists)rn   r   picklePicklingErrorrD   rH   rB   rC   structpacklenselectrZ   sendBUFSIZEAttributeErrorr   r   )r+   messagerl   rwxns   &&     r	   r   SocketIO.putmessageL  s    

#gaj01	gA KKc!f%)!fqj9 --TYYK<aIINN1Xg;/ "A 	 ## 	"DMG	 #I. 97889s   B4 $AC3 4<C03Dr   c                    V P                  4        \        V P                  4      V P                  8  d   \        P                  ! V P
                  P                  4       .. . V4      w  r#p\        V4      ^ 8X  d   R#  V P
                  P                  \        4      p\        T4      ^ 8X  d   \        hT ;P                  T,          un        T P                  4        V P                  4       #   \         d    \        hi ; ird   )_stage0r   buffbufneedr   rZ   filenorecvr   r   r   _stage1)r+   r   r   r   r   rl   s   &&    r	   
pollpacketSocketIO.pollpacket`  s    tyy>DLL(mmTYY%5%5%7$8"b$GGA!1v{IINN7+ 1v{IINILLN||~  s   =C+ +C=c                   V P                   ^ 8X  dt   \        V P                  4      ^8  dX   V P                  R,          pV P                  R,          V n        \        P                  ! RV4      ^ ,          V n        ^V n         R# R# R# )r   :N   N:r   NNr   N)bufstater   r   r   unpackr   )r+   rl   s   & r	   r   SocketIO._stage0p  s_    ==A#dii.A"5		"A		"DI!==q1!4DLDM	 #6r   c                   V P                   ^8X  dn   \        V P                  4      V P                  8  dH   V P                  RV P                   pV P                  V P                  R V n        ^V n        ^ V n         V# R# R#    N)r   r   r   r   )r+   packets   & r	   r   SocketIO._stage1w  sg    ==A#dii.DLL"@YY}-F		$,,-0DIDLDMM #Ar   c                   V P                  V4      pVf   R #  \        P                  ! V4      pV#   \        P                   d    \	        R\
        P                  R7       \	        R\        T4      \
        P                  R7       \        P                  ! \
        P                  R7       \	        R\
        P                  R7       h i ; i)Nz-----------------------r?   zcannot unpickle packet:)
r   r   r   UnpicklingErrorrD   rB   rC   rH   rI   print_stack)r+   r   r   r   s   &&  r	   pollmessageSocketIO.pollmessage  s    &>	ll6*G  %% 	+#..A+T&\O!!s~~6+#..A	s
   1 BCc                &     \         P                  ^ 4      pVw  rEVRV33pV P                  V4        V P                  V4      pVf   R#  Tw  rGT^ ,          pT P                  RYA3,          4       TR9   dg   T P                  RT,          4       T P                  YG4      pT P                  RYE3,          4       TR8X  d   T P                  YE34       MTR8X  d    K  YA8X  d   T# T P                  P                  TR4      p	T	e?   T	P                  4        YpP                  T&   T	P                  4        T	P                  4        EKG    \        P                   d     EL-i ; i  \         d    T P                  4         R# \         d     R# i ; i)	Tr}   Nzpollresponse:%d:myseq:%sr   r   zpollresponse:%d:localcall:call:z%pollresponse:%d:localcall:response:%s)r   r   )response_queuegetr   queueEmptyr   r   
handle_EOFr   rn   r   r^   r   r]   notifyr   )
r+   r   r   qmsgr   r   r   resqr   cvs
   &&&       r	   r   SocketIO.pollresponse  s~   . )%))!, !%x 01(**40? #  ICq'CJJ1SL@A''

<sBC>>#4

B!_- .&=OOSO4G^ ZZ^^C. >JJL*.NN3'IIKJJLY ;;   !! s.   E E$ E! E!$FFFFc                2   V P                  4        V P                  R 4       V P                   FU  pV P                  V,          pVP                  4        RV P                  V&   VP                  4        VP                  4        KW  	  V P                  4        R# )r  N)r   N)EOFhookrn   r^   r   r]   r  r   re   )r+   keyr  s   &  r	   r  SocketIO.handle_EOF  sf    

< ::CCBJJL"/DNN3IIKJJL  	r   c                    R # r   r   r0   s   &r	   r  SocketIO.EOFhook  r3   r   )
r   r   r   r^   rY   r   r\   r]   rZ   rX   )NN)%r   r   r   r   r   r*   ra   re   rn   rs   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r#   rR   rS   s   @r	   rV   rV      s     G	&%,'\%
%
-%*,  DGH GR r   rV   c                       ] tR tRtRtR# )r   i  r   N)r   r   r   r   r#   r   r   r	   r   r     s    r   r   c                 @    \        V 4      pV \        V&   \        V4      # r   )idr[   r   )r   rq   s   & r	   r   r     s     
S'CKsr   c                   &   a  ] tR tRt o R tRtV tR# )r   i  c                    Wn         R # r   rq   rw   s   &&r	   r*   RemoteProxy.__init__  s    r   r  N)r   r   r   r   r*   r#   rR   rS   s   @r	   r   r     s      r   r   c                   :   a  ] tR tRt o RtRtR tR tR tRt	V t
R# )	r'   i  Fz#Sc                |    Wn         \        P                  W4       \        P                  P                  WW#4       R # r   )current_handlerrV   r*   r(   BaseRequestHandler)r+   rZ   r,   svrs   &&&&r	   r*   RPCHandler.__init__  s,    "$%''00TGr   c                &    V P                  4        R # r   )r   r0   s   &r	   handleRPCHandler.handle  s    r   c                    \        W4      # r   r   rw   s   &&r	   get_remote_proxyRPCHandler.get_remote_proxy      ""r   r   N)r   r   r   r   rY   ri   r*   r!  r%  r#   rR   rS   s   @r	   r'   r'     s$     IHH
# #r   r'   c                   n   a  ] tR tRt o RtRt^t]P                  ]P                  3R lt
R tR tRtV tR# )		RPCClienti  Fz#Cc                    \         P                   ! W#4      V n        V P                  P                  V4       V P                  P                  ^4       R# r   )r5   listening_sockbindlisten)r+   addressfamilytypes   &&&&r	   r*   RPCClient.__init__  s;    $mmF9  )""1%r   c                ,   V P                   P                  4       w  rV P                  '       d   \        R V\        P
                  R7       V^ ,          \        8X  d   \        P                  W4       R# \        RV\        P
                  R7       \        h)z****** Connection request from r?   z** Invalid host: N)
r+  acceptrY   rD   rB   rC   	LOCALHOSTrV   r*   r   )r+   working_sockr.  s   &  r	   r3  RPCClient.accept  sc     $ 3 3 : : <>>>3W3>>R1:"d1%wS^^DMr   c                    \        W4      # r   r$  rw   s   &&r	   r%  RPCClient.get_remote_proxy"  r'  r   )r+  N)r   r   r   r   rY   ri   r   r5   AF_INETSOCK_STREAMr*   r3  r%  r#   rR   rS   s   @r	   r)  r)    s7     IHG'-~~F<N<N &
# #r   r)  c                   @   a  ] tR tRt o RtRtR tR tR tR t	Rt
V tR# )r   i&  Nc                    Wn         W n        R # r   )sockiorq   )r+   r=  rq   s   &&&r	   r*   RPCProxy.__init__+  s    r   c                   V P                   f   V P                  4        V P                   P                  V4      '       d"   \        V P                  V P
                  V4      # V P                  f   V P                  4        WP                  9   d,   V P                  P                  V P
                  RV3/ 4      pV# \        V4      h)N__getattribute__)
_RPCProxy__methods_RPCProxy__getmethodsr  MethodProxyr=  rq   _RPCProxy__attributes_RPCProxy__getattributesr   r   )r+   rG   values   && r	   __getattr__RPCProxy.__getattr__/  s    >>!>>d##t{{DHHd;;$  "$$$KK**4885G,07B8EL &&r   c                `    V P                   P                  V P                  R R/ 4      V n        R# )r~   Nr   )r=  r   rq   rD  r0   s   &r	   __getattributesRPCProxy.__getattributes=  s'     KK224880@"bJr   c                `    V P                   P                  V P                  R R/ 4      V n        R# )r|   Nr   )r=  r   rq   rA  r0   s   &r	   __getmethodsRPCProxy.__getmethodsA  s&    //0=r2Gr   )__attributes	__methodsrq   r=  )r   r   r   r   rA  rD  r*   rG  rE  rB  r#   rR   rS   s   @r	   r   r   &  s+     IL'JG Gr   r   c                     \        V 4       F%  p\        W4      p\        V4      '       g   K!  ^W&   K'  	  \        V \        4      '       d!   V P
                   F  p\        WA4       K  	  R# R# r   )dirr   callabler   r0  	__bases__r   )r   r   rG   attrsupers   &&   r	   r   r   E  sV     Cs!D>>GM  #t]]E' # r   c                 n    \        V 4       F%  p\        W4      p\        V4      '       d   K!  ^W&   K'  	  R# r   )rR  r   rS  )r   r   rG   rU  s   &&  r	   r   r   P  s+    Cs!~~ J r   c                   ,   a  ] tR tRt o R tR tRtV tR# )rC  iW  c                *    Wn         W n        W0n        R # r   )r=  rq   rG   )r+   r=  rq   rG   s   &&&&r	   r*   MethodProxy.__init__Y  s    	r   c               h    V P                   P                  V P                  V P                  W4      pV# r   )r=  r   rq   rG   )r+   rk   r   rF  s   "*, r	   __call__MethodProxy.__call__^  s'    &&txxDIr   )rG   rq   r=  N)r   r   r   r   r*   r\  r#   rR   rS   s   @r	   rC  rC  W  s     
 r   rC  c                 ~   V f   R # R \         n        \        V 4      p \        P                  P                  V4       \        P                  P                  R4       V \         n        R #   \         dI    RpTP                  TR4      pTP                  TR4      p\        P                  P                  T4        L~i ; i)Nasciibackslashreplacestrictr>   )	builtins_rH   rB   stdoutwriteUnicodeEncodeErrorencodedecode)rF  textencodingbytess   &   r	   displayhookrl  f  s    }HJ;D

 JJTHJ  H&89||Hh/

s   A) )AB<;B<__main__)mainzidlelib.idle_test.test_rpc)	verbosityr   i    )+rb  r!   r   r   rK   r   r  r   r5   r(   r   rB   rE   rI   r   r
   r   r   Picklerr   r   r4  r)   r%   r[   Queuer   r  rV   r   r   r   r  r'   r)  r   r   r   rC  rl  r   unittestrn  r   r   r	   <module>rs     s  :   	  	       
    M&.. M 	.&& .d AQe eR	 	
 #00( #$# #4G G>	(!	 	& z	%4 r   