python (3.12.0)

(root)/
lib/
python3.12/
xmlrpc/
__pycache__/
server.cpython-312.opt-2.pyc

͑e֏F	ddlmZmZmZmZmZddlmZddlm	Z	ddl
mZddlZddlZ
ddlZddlZddlZddlZddlZddlZ	ddlZd'dZdZGd	d
ZGddeZGd
dej4eZGddeZGddeZGddej<ZGddZ GddeZ!Gddee Z"Gddee Z#e$dk(rddl%Z%GddZ&ed 5Z'e'jQe)e'jQd!d"e'jUe&d#e'jWe,d$e,d%	e'j[dddyy#e$rdZY'wxYw#e.$re,d&ej^dY9wxYw#1swYyxYw)()Faultdumpsloadsgzip_encodegzip_decode)BaseHTTPRequestHandler)partial)	signatureNTc	|r|jd}n|g}|D]-}|jdrtd|zt||}/|S)N._z(attempt to access private attribute "%s")split
startswithAttributeErrorgetattr)objattrallow_dotted_namesattrsis     A/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/xmlrpc/server.pyresolve_dotted_attributer|sd

3
!<< :Q>
#a.C
!Jc		t|Dcgc]*}|jdstt||r|,c}Scc}w)Nr
)dirrcallabler)rmembers  rlist_public_methodsrsI3"%S4v((-WS&12
444s/Ac\eZdZ			d
dZddZddZdZdZddZdZ	d	Z
d
ZdZdZ
y)SimpleXMLRPCDispatcherNcRi|_d|_||_|xsd|_||_yNutf-8)funcsinstance
allow_noneencodinguse_builtin_typesselfr&r'r(s    r__init__zSimpleXMLRPCDispatcher.__init__s+

$ +G
!2rc"	||_||_yN)r%r)r*r%rs   rregister_instancez(SimpleXMLRPCDispatcher.register_instances	@!
"4rct	|t|j|S||j}||j|<|S)N)name)r	register_function__name__r$)r*functionr0s   rr1z(SimpleXMLRPCDispatcher.register_functionsE	411==<$$D#

4rc	|jj|j|j|jdy)N)zsystem.listMethodszsystem.methodSignaturezsystem.methodHelp)r$updatesystem_listMethodssystem_methodSignaturesystem_methodHelpr*s r register_introspection_functionsz7SimpleXMLRPCDispatcher.register_introspection_functionss<		

$2I2I151L1L,0,B,BD	ErcT	|jjd|jiy)Nzsystem.multicall)r$r5system_multicallr9s rregister_multicall_functionsz3SimpleXMLRPCDispatcher.register_multicall_functionss'	<
	

-0E0EFGrc			t||j\}}|
|||}n|j||}|f}t|d|j|j
}|j|j
dS#t$r,}t||j|j
}Yd}~Ld}~wt$rD}tt
dt|d||j
|j}Yd}~d}~wwxYw)N)r()methodresponser&r')r&r':r'r&xmlcharrefreplace)
rr(	_dispatchrr&r'r
BaseExceptiontypeencode)	r*datadispatch_methodpathparamsmethodresponsefaultexcs	         r_marshaled_dispatchz*SimpleXMLRPCDispatcher._marshaled_dispatchs			"44;Q;QRNFF**66:>>&&9 {HXa(,$--QHt}}.ABB	5Ut&*mm5H	aDIs344??H	s$AA==	C="B--C=9:C88C=ct	t|jj}|j~t	|jdr1|t|jjz}t|St	|jds!|tt
|jz}t|S)N_listMethodsrD)setr$keysr%hasattrrRrsorted)r*methodss  rr6z)SimpleXMLRPCDispatcher.system_listMethodss	Bdjjoo'(==$t}}n53t}}99;<<gT]]K8324==ABBgrc	y)Nzsignatures not supported)r*method_names  rr7z-SimpleXMLRPCDispatcher.system_methodSignature)s
	@*rc|	d}||jvr|j|}nu|jit|jdr|jj|St|jds"	t	|j||j
}|ytj|S#t$rY#wxYw)N_methodHelprD)	r$r%rUr\rrrpydocgetdoc)r*rZrLs   rr8z(SimpleXMLRPCDispatcher.system_methodHelp6s	O$**$ZZ,F
]]
&t}}m4}}00==T]]K85 $

 + $ 7 7"F><<''&s6!B//	B;:B;cV	g}|D]/}|d}|d}	|j|j||g1|S#t$r2}|j|j|jdYd}~jd}~wt
$r,}|jdt
|d|dYd}~d}~wwxYw)N
methodNamerK)	faultCodefaultStringr?rA)appendrDrrbrcrErF)r*	call_listresultscallrZrKrNrOs        rr<z'SimpleXMLRPCDispatcher.system_multicallUs		D|,K(^F

{F CDE	$
#(??%*%6%68!
#$04S	3%?A
s!":	B((A00B(<"B##B(ct		|j|}|||Std|z#t$rYnwxYw|jjt	|jdr|jj||S	t
|j||j}|||S#t$rYnwxYwtd|z)Nzmethod "%s" is not supportedrD)	r$	ExceptionKeyErrorr%rUrDrrr)r*rLrKfuncs    rrDz SimpleXMLRPCDispatcher._dispatchts	(	E::f%DV}$:VCDD		==$t}}k2}}..vv>>

)/MM++#=(	"

6?@@s'	335!B	B)(B)FNF)FNN)r2
__module____qualname__r+r.r1r:r=rPr6r7r8r<rDrYrrr r sL37#(3"5H 	EH!CF$*(>>1Arr ceZdZ	dZdZdZdZejdejejzZdZdZ
dZd	Zd
Zd
dZy)SimpleXMLRPCRequestHandler)/z/RPC2
/pydoc.cssixTz
                            \s* ([^\s;]+) \s*            #content-coding
                            (;\s* q \s*=\s* ([0-9\.]+))? #q
                            ci}|jjdd}|jdD]T}|jj	|}|s!|jd}|rt
|nd}|||jd<V|S)NzAccept-Encodingr],g?r?)headersgetr	aepatternmatchgroupfloat)r*raeer{vs      raccept_encodingsz+SimpleXMLRPCRequestHandler.accept_encodingss
\\

/
4#	&ANN((+EKKN !E!Hs$%%++a.!	&rcL|jr|j|jvSy)NT)	rpc_pathsrJr9s ris_rpc_path_validz,SimpleXMLRPCRequestHandler.is_rpc_path_valids!>>99..rc@	|js|jy	d}t|jd}g}|rOt	||}|j
j
|}|sn%|j||t|dz}|rOdj|}|j|}|y|jj|t|dd|j}|jd|j!dd|j"Xt||j"kDr@|j%j'd	d
}|r	t)|}|j!dd	|j!dt-t||j/|j0j3|y#t*$rY[wxYw#t4$r}	|jd
t7|jdrs|jj8r]|j!dt-|	t;j<}
t-|
j?ddd}
|j!d|
|j!dd|j/Yd}	~	yd}	~	wwxYw)Nizcontent-lengthrtrrDContent-typeztext/xmlgziprzContent-EncodingContent-lengthi_send_traceback_headerzX-exceptionASCIIbackslashreplacezX-traceback0) r
report_404intrxminrfilereadrdlenjoindecode_request_contentserverrPrrJ
send_responsesend_headerencode_thresholdrryrNotImplementedErrorstrend_headerswfilewriterirUr	traceback
format_excrG)r*max_chunk_sizesize_remainingL
chunk_sizechunkrHrMqrtraces           rdo_POSTz"SimpleXMLRPCRequestHandler.do_POSTsR	%%'OO9	'
*N .>!?@NA  @



3#ae*,
!88A;D..t4D|{{66'$T:DIIH$
s#^Z8$$0x=4#8#88--/33FA>A!'28'<H ,,-?H
-s3x=/ABJJX&	 3! !1
	s#t{{$<=KK66  A7!,,.ELL2DEwO  6-s3
	s7A,G$G62GF??	G
G	JB<JJcv|jjddj}|dk(r|S|dk(r	t|S|jdd|z|jdd	|jy#t$r|jdd|zYCt$r|jddY_wxYw)
Nzcontent-encodingidentityrizencoding %r not supportedzerror decoding gzip contentrr)	rxrylowerrrr
ValueErrorrr)r*rHr's   rrz1SimpleXMLRPCRequestHandler.decode_request_contents<<##$6
CIIKz!Kv
G"4((
s$?($JK)3/'
P""3(Ch(NO
G""3(EF
Gs
A;;B8B87B8c|jdd}|jdd|jdtt||j	|j
j
|y)NisNo such pagerz
text/plainr)rrrrrrrr*rMs  rrz%SimpleXMLRPCRequestHandler.report_404*s]3"6)3s8}+=>

"rcb	|jjrtj|||yyr-)rlogRequestsrlog_request)r*codesizes   rrz&SimpleXMLRPCRequestHandler.log_request3s)2;;"""..tT4@#rN)-r)r2rnrorrwbufsizedisable_nagle_algorithmrecompileVERBOSE
IGNORECASErzrrrrrrrYrrrqrqsm-IH"

 "$bmm!;=I
	E'N"#Arrqc*eZdZ	dZdZedddddfdZy)SimpleXMLRPCServerTFNc||_tj||||tjj||||yr-)rr r+socketserver	TCPServerr*addrrequestHandlerrr&r'bind_and_activater(s        rr+zSimpleXMLRPCServer.__init__Ls<'''j(DUV''dNDUVr)r2rnroallow_reuse_addressrrqr+rYrrrr9s,#,F!ed#'5Wrrc6eZdZ	edddddfdZdZdZddZy)	MultiPathXMLRPCServerTFNc
ntj||||||||i|_||_|xsd|_yr")rr+dispatchersr&r'rs        rr+zMultiPathXMLRPCServer.__init__]sA	##D$Z$,.?AR	T$ +G
rc$||j|<|Sr-r)r*rJ
dispatchers   radd_dispatcherz$MultiPathXMLRPCServer.add_dispatchergs!+rc |j|Sr-r)r*rJs  rget_dispatcherz$MultiPathXMLRPCServer.get_dispatcherks%%rc	"	|j|j|||}|S#t$ra}tt	dt|d||j|j}|j|jd}Yd}~|Sd}~wwxYw)Nr?rArBrC)	rrPrErrrFr'r&rG)r*rHrIrJrMrOs      rrPz)MultiPathXMLRPCServer._marshaled_dispatchns
	K''-AA_d,H	KaDIs344??DH t}}6IJH	Ks $	BAB		Brm)r2rnrorqr+rrrPrYrrrrUs--G!ed#'5,&rrc*eZdZ	ddZdZdZddZy)CGIXMLRPCRequestHandlerNc4tj||||yr-)r r+r)s    rr+z CGIXMLRPCRequestHandler.__init__s''j(DUVrc^	|j|}tdtdt|zttjjtjjj|tjjjy)NzContent-Type: text/xmlContent-Length: %d)rPprintrsysstdoutflushbufferr)r*request_textrMs   r
handle_xmlrpcz%CGIXMLRPCRequestHandler.handle_xmlrpcss-++L9
&'
"S]23




)

!rc&	d}tj|\}}tjj|||dz}|jd}t
d||fzt
dtjjzt
dt|zt
tjjtjjj|tjjjy)Nr)rmessageexplainr#z
Status: %d %szContent-Type: %sr)r	responseshttprDEFAULT_ERROR_MESSAGErGrDEFAULT_ERROR_CONTENT_TYPErrrrrr)r*rrrrMs     r
handle_getz"CGIXMLRPCRequestHandler.handle_gets	1;;DA;;44  
??7+
ow/0
 4;;#I#IIJ
"S]23




)

!rcX	|4tjjdddk(r|jy	t	tjjdd}|tjj|}|j|y#t
tf$rd}YFwxYw)NREQUEST_METHODGETCONTENT_LENGTHrt)osenvironryrrr	TypeErrorrstdinrr)r*rlengths   rhandle_requestz&CGIXMLRPCRequestHandler.handle_requests	JJNN+T2e;OO
RZZ^^,<dCD#"yy~~f5|,	*

s)BB)(B)rlr-)r2rnror+rrrrYrrrr|s=W
""2-rrc<eZdZ	diiifdZdiiidfdZdZdZy)
ServerHTMLDocNc~	|xs|j}g}d}tjd}|j||x}	rT|	j	\}
}|j||||
|	j
\}}
}}}}|
r1||jdd}|jd|d|dn|r-dt|z}|jd|d||dn|r-d	t|z}|jd|d||dng|||d
zdk(r$|j|j||||n8|r|jd|zn!|j|j|||}|j||x}	rT|j|||dd
j|S)NrzS\b((http|https|ftp)://\S+[\w/]|RFC[- ]?(\d+)|PEP[- ]?(\d+)|(self\.)?((?:\w|\.)+))\b"z&quot;z	<a href="z">z</a>z(https://www.rfc-editor.org/rfc/rfc%d.txtz!https://peps.python.org/pep-%04d/r?(zself.<strong>%s</strong>r])escaperrsearchspanrdgroupsreplacernamelinkr)r*textrr$classesrWrfherepatternr{startendallschemerfcpepselfdotr0urls                   rmarkupzServerHTMLDoc.markups	F&4;;**<=~~dD11e1JE3NN6$tE"23438<<>0Cc7DSk))#x8SAB@3s8KVC[IJ9CHDVC[IJc#a%C't}}T7E7KL9D@At}}T7;<D)~~dD11e1*	vd45k*+wwwrc	|xr|jxsddz|z}d}	d|j|d|j|d}
t|rtt	|}nd}t|tr|dxs|}|dxsd}ntj|}|
|z|	xr|jd	|	zz}
|j||j|||}|xrd
|z}d|
d|d
S)Nr]rz	<a name="z
"><strong>z
</strong></a>z(...)rr?z'<font face="helvetica, arial">%s</font>z<dd><tt>%s</tt></dd>z<dl><dt>z</dt>z</dl>
)r2rrrr

isinstancetupler^r_greyr	preformat)r*objectr0modr$rrWclanchornotetitleargspec	docstringdecldocs               r
docroutinezServerHTMLDoc.docroutinesI$*c1D8
KKT!24F)F+,GGfe$Qi*7Gq	RIV,Iw$#A49984?,ABkkt~~ugw@2,s2-1377rc	i}|jD]\}}d|z||<||||<|j|}d|z}|j|}|j||j|}	|	xrd|	z}	|d|	zz}g}
t|j}|D](\}}|
j
|j|||*||jdddj|
z}|S)	Nz#-z)<big><big><strong>%s</strong></big></big>z<tt>%s</tt>z
<p>%s</p>
)r$Methods	functionsr])
itemsrheadingrrrVrdr
bigsectionr)r*server_namepackage_documentationrWfdictkeyvalueheadresultrcontentsmethod_itemss            r	docserverzServerHTMLDoc.docservers?!--/	&JCE#J :E%L	&kk+.:[Hd#kk/G)mc)-#--gmmo.&	FJCOODOOE3eODE	F$//{BGGH$577
rc*	d}d|z}d|d|d|dS)Nrsz1<link rel="stylesheet" type="text/css" href="%s">zI<!DOCTYPE>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Python: z	</title>
z
</head><body>z</body></html>rY)r*rr%css_pathcss_links     rpagezServerHTMLDoc.page"s/"?
	',Xx
A	Ar)r2rnrorrr'r+rYrrrrs2A"&b"b% N,0R8:4Arrc,eZdZ	dZdZdZdZdZy)XMLRPCDocGeneratorc.d|_d|_d|_y)NzXML-RPC Server DocumentationzGThis server exports the following methods through the XML-RPC protocol.)rserver_documentationserver_titler9s rr+zXMLRPCDocGenerator.__init__7s!9
	
!;rc	||_yr-)r0)r*r0s  rset_server_titlez#XMLRPCDocGenerator.set_server_title?s
F(rc	||_yr-)r)r*rs  rset_server_namez"XMLRPCDocGenerator.set_server_nameDs
E&rc	||_yr-)r/)r*r/s  rset_server_documentationz+XMLRPCDocGenerator.set_server_documentationIs
A$8!rc	i}|jD]}||jvr|j|}n|jddg}t|jdr|jj	||d<t|jdr|jj||d<t
|}|dk7r|}n1t|jds	t|j|}n|}	||<t}|j|j|j|}|jtj|j |S#t$r|}YtwxYw)N_get_method_argstringrr\r?rmrD)r6r$r%rUr8r\r
rrrr'rr/r+htmlrr0)r*rWrZrLmethod_info
documenter
documentations       rgenerate_html_documentationz.XMLRPCDocGenerator.generate_html_documentationNsW	!224	*Kdjj(K0*#Tl4==*AB%)]]%H%H%UKN4==-8%)]]%>%>{%KKN#K0,.(F <-!9$(MM$/"&)F
$*GK 7	*:#_
",, $ 0 0 $ 9 9 '
t{{4+<+<=}MM#*-!,-sEE&%E&N)r2rnror+r2r4r6r=rYrrr-r-0s!;)
'
9
1Nrr-ceZdZ	dZdZy)DocXMLRPCRequestHandlerc,tjjtjjt}tjj|ddd}t
|d5}|jcdddS#1swYyxYw)Nz..
pydoc_dataz
_pydoc.cssrb)mode)rrJdirnamerealpath__file__ropenr)r*r	path_herer)fps     r_get_cssz DocXMLRPCRequestHandler._get_cssseGGOOBGG$4$4X$>?	77<<	4|L
(
&	"779			s0B

Bc	|js|jy|jjdrd}|j	|j}n+d}|j
j
jd}|jd|jdd|z|jdtt||j|jj|y)	Nz.cssztext/cssz	text/htmlr#rzContent-Typez%s; charset=UTF-8r)rrrJendswithrJrr=rGrrrrrrr)r*content_typerMs   rdo_GETzDocXMLRPCRequestHandler.do_GETs	%%'OO99f%%L}}TYY/H&L{{>>@GGPH3)<|)KL)3s8}+=>

"rN)r2rnrorJrNrYrrr?r?s#rr?c"eZdZ	edddddfdZy)DocXMLRPCServerTFNc
ftj||||||||tj|yr-)rr+r-rs        rr+zDocXMLRPCServer.__init__s5	##D$$.:K$5	7	##D)r)r2rnror?r+rYrrrPrPs-D!ed#'5*rrPceZdZ	dZdZy)DocCGIXMLRPCRequestHandlercz	|jjd}tdtdt|zttj
j
tj
jj|tj
jj
y)Nr#zContent-Type: text/htmlr)	r=rGrrrrrrrrs  rrz%DocCGIXMLRPCRequestHandler.handle_gets	335<<WE
'(
"S]23




)

!rcXtj|tj|yr-)rr+r-r9s rr+z#DocCGIXMLRPCRequestHandler.__init__s((.##D)rN)r2rnrorr+rYrrrSrSs" *rrS__main__c&eZdZdZGddZy)ExampleServicecy)N42rYr9s rgetDatazExampleService.getDatasrceZdZedZy)ExampleService.currentTimec>tjjSr-)datetimenowrYrrgetCurrentTimez)ExampleService.currentTime.getCurrentTimes((,,..rN)r2rnrostaticmethodrarYrrcurrentTimer]s

/
/rrcN)r2rnror[rcrYrrrXrXs		/	/rrX)	localhosti@c||zSr-rY)xys  r<lambda>rhs
QqSradd)rz&Serving XML-RPC on localhost port 8000zKIt is advisable to run this example server within a secure, closed network.z&
Keyboard interrupt received, exiting.)T)0
xmlrpc.clientrrrrrhttp.serverr	functoolsr	inspectr
r9rrrrrr^rfcntlImportErrorrrr rqrrrrHTMLDocrr-r?rPrSr2r_rXrr1powr.r=r
serve_foreverKeyboardInterruptexitrYrr<module>ruseTHG.
		04IAIAVPA!7PAdW///W8%.%N?-4?-JmAEMMmA^ONONb&#8&#P**** *$;$6*4z//
/	0F  %  %8  !1d K++-
67
[\	  "uE^!	;<CHHQK	s=E$,AF
E2$E/.E/2FFFFF