o
    mi                     @  s4!  U d Z ddlmZ ddlZddlZddlmZmZmZ ddlm	Z
 ddlmZmZmZ ddlmZ ddlmZmZmZmZmZm	Z	mZmZmZmZ ddlZdd	lmZ d
dlmZ d
dl m!Z!m"Z"m#Z# d
dl$m%Z%m&Z&m'Z'm(Z( dZ)dddZ*dddZ+dddZ,dddZ-dddZ.dd!d"Z/eed#ed$d%0d&d' e1d(D   ed) Z2e23d*d+  ej4d,krd-Z5nd.Z5d/e5 Z6d0e6 Z7ed1e5e7e7f ej8d2Z9e	e'd3e9ed4:  Z;d5Z<d6Z=d7e<e=f Z>ed8e?e6e7e>d9 ej@ejAB d2ZBe;e'd:eB:  ZCed;e6e7e7f ej8d2ZDeD3d<d+  ed=e6e6f ej8d2ZEeed>eE ZFeed?eE ZGeed@edA ZHedBZIeI3dCd+  dDZJedEZKeK3dFd+  edGdHeJi ZLeL3dId+  edJeIM :  ZNeN3dKd+  edJeKM :  ZOedJeLM :  ZPedLeIM :  ZQeQ3dMd+  edLeKM :  ZReR3dNd+  edLeLM :  ZSeS3dOd+  edPZTeT3dQd+  edRZUeU3dSd+  edTej8d2ZVeV3dUd+  edVej8d2ZWeW3dWd+  edXdY ZXeX3dZd+  ed[d\ ZYeY3d]d+  ed^ZZeZ3d_d+  e%d`edae'dbe2 Z[e%dcedde; e'dbe2 Z\eee[e\B Z]eFeGB Z^e^3ded+  e%dfeCe;B Z_e2e_B Z`eTeUB eVB eWB Zae%de'dgeae	e'dheH: edi: e'dje`:  B  ZbePeOB eNB ZceSeRB eQB ZdeLeKB eIB ZeeeecB edB Zfedk3dld+ edm3dnd+ B ZgeDeYB Zhe`ebB efB egB ehB eXB Zie^eiB Zje^e`B Zkedoe'dpe` Zlele'dpedqB e'dpedrB e'dpedsB Zme(dtedqe	edoe(dte` B Zne`ebB efB egB eduB ZoekeZB Zpe^ZqeIZre Zse ZtejesB ZuejetB Zved>dvB dJB Zwe`eZB e%dwdxe`eZB  B Zxe Zye%dye(dzexdXe	e(dzexed{e(dzex   dY B Zze`eZB ed|ez B edXey edY B e%d}ed~dX e'dzey dY B Z{e%de'dze{e	e'dew:  Z|e|edxe%de'dze| B Z}e%de(dze}ede(dze}  Z~e%de(dze~ed{e(dze~  ZeyeK ZyeyZevZeede  Ze ZedXeeu edY Ze3e/ edXeev edY Ze3e/ euZeede  ZeeqB e ede	eeqB e   Ze	eZepe ede	epe   Ze	eZeed[e ed\ Ze3e. eed[e ed\ Ze3e. eseeB K ZseteeB K Zteje ese B Ze3e- e(deeede	e(de  Ze%dedoe'dek d e	e d Ze%de	eee(dee	ed e	e  Zde'de d Zde'de d Zeje ete B Ze3e- e Zee(dee	ede	e  K Ze%dede'dte Ze%de(dteeede(dte  Ze ZeXeedXe!e edY B Ze%deddX e'de d e'de e	de'de  dY Zeej e%deddX e'de d e'de e	de'de  dY ejZe%deddX e'de d e'de d e'de e	de'de  dY ejZe%dede'dte ejZe%deded e'dte ejZe	ed~ZdXe'de e'de dY Ze%deddX e'de e'ddveB  dY e%dede B e%dede B e%dede B e%dede B e%dede B e%deddX e'de e'de e	ded d e'dea  dY B Zee%deddX e'de dY ejB e%deddX e'de dY ejB e%deddX e'de d e'de dY ejB e%deddX e'de dY ejB e%dedÃdX e'de^ dY ejB e%dedŃdX e'de dY ejB e%dedǃdX e'de dY ejB e%dedɃdXe'de dY eXB  ejB e%ded˃eX ejB e%ded̓dX e'de dY ejB e%dedσdX e'de dY ejB e%dedуdX e'de dY ejB e%dedӃdX e'de dY ejB e%dedՃe'de ejB eB e%ded׃dX e'de dY ejB eB e%dedكdX e'de dY ejB e%dedۃdX e'de dY ejB e%ded݃dX e'de dY ejB e%ded߃dX e'de d e'de dY ejB e%deddX e'de d e'de dY ejB e%deddX e'de d e'de dY ejB e%deddX e'de d e'de dY ejB e%deddX e'de d e'de dY ejB e%deddX e'de dY ejB e%deddX e'de dY ejB e%deddX e'de dY ejB e%deddX e'de dY ejB e%deddX e'de dY ejB e%deddX e'de dY ej¡B e%deddX e'de dY ejáB e%deddX e'de dY ejġB e%dedeX ejšB e%dedeX ejơB e%dedeX ejǡB e%deddX e'de dY ejȡB e%d eddX e'de dY ejɡB e%deddX e'de dY ejʡB e%deddX e'de dY ejˡB e%deddX e'de dY ej̡B e%ded	e'de ej͡B e%d
eddX e'de d e'de d e'de dY ejΡB e%deddX e'de d e'de dY ejϡB e%deddX e'de d e'de dY ejСB e%deddX e'de d e'de dY ejѡB e%deddX e'de dY ejҡB e%deddX e'de dY ejҡB e%deddX e'de dY ejӡB e%deddX e'de dY ejԡB e%deddX e'de dY ejաB eB eB eB ZeXdXe'de e!e(de dY B Ze%de'dbe`e ejءe`B Ze%de'dbe`e ejءZedXe edY ZeeB eB ebB efB egB e^B Ze%dd|e'de܃ ejݡe%d dJe'de܃ ejޡB e%d!dLe'de܃ ejߡB eB Ze%d"e'deee(d#dve(d$e e(d#de(d$e B  ejZe%d%e'deee(d#dJe(d$e e(d#dLe(d$e B  ejZeZe%d&e'dee	e'd#de'd$e e'd#d'e'd$e B e'd#d#e'd$e B e'd#d)e'd$e B e'd#d(e'd$e B e'd#d)e'd$e B e'd#ed*e'd$e B e'd#eeded* fd+die"d,e'd$e B  ejZeZe%d-e'deed.e(d$e  ejZe%d/e'deed0e(d$e  ejZeeK ZeeB eB Ze%d1ed2e'de Ze`ZeZedre'd3e Ze%d4ed5e'd6eeB  ZeeB e%d7dXe'de e	ed8e'd9e^  dY B e^B Ze%d:ed;ed< ee(d=e Ze	e'd>ed?Ze%d@edAe e'dbe` e	edBel  Ze%dCedDe em Ze%dEedFe em Ze%dGedHe el Ze%dIedJe en edK en Ze%dLedMe en edK en Ze%dNedOe en edK en Ze%dPedQedR e Ze%dSedTedR e Ze%dUedTedV e Ze%dWedTe Ze%dXedQe Ze%dYedZe'd6e`edre'd3e` B  Ze%d[e	ed\e'd]e` e'd^ee	e'd_e e'd_eB  ee(d`e edV e'dae ZeeB eB eB eB eB eB eB eB eB eB Ze(d9e^d ee(dbeo d Z eXdXee(d9e^ dY B d ee(dbeedXeeo edY eXB  d Ze eB Ze	e'dce%ddedee Ze Zee(dfee	ede	e  K Zede	e ed Ze%dgedhe'dte Ze%diedoe'dek e'dte Ze%djedke e'dek e'dte Ze%dledmdX e'de ed8 e'd9e^ dY Z	e%dnedee Z
eeB eB eB eB eB e	B e
B Ze%doe	e(dze%dpeee(dzee	d e	e(dze%dpe  ZeZe%dqedree(d=e Ze%dse'dteduedvB e'deۃ e'dee^B B Ze%dwedxed< ee(d=e Zedye'dzeI Zed{e'd|eI Ze%d}ee	e ee	e B Ze	e'd~ee	e'de e	e'de e	e'de Zede	e'ded~edB  ee(de%de'd9e^edXe'de ed8 e'de^ dY B dvB  Ze	edVe'dae Ze%dee e e ZeedeeB  ed K Ze%deee(de e e e Ze%dedeee(de e e e ee(deedV d e	e'dae%de(dze%dpe d e e B  Ze%dedee(de e e e Ze%dedee(d9ekdvB  ee(de e	e e e Ze Zee(de]e	e(dee	de   K Ze]eeB eB eB  Ze%deZeZe de#  e de#  ej!dej"d2Z#de$d< dddZ%dddZ&dddZ'dS (  z'
SPARQL 1.1 Parser

based on pyparsing
    )annotationsN)AnyBinaryIOList)Optional)TextIOTupleUnion)CaselessKeyword)
CombineForwardGroupLiteral	OneOrMorer   ParseResultsRegexSuppress
ZeroOrMore)decodeUnicodeEscape   )	operators)DelimitedListcombine_join_kwargsrest_of_line)Comp	CompValueParam	ParamListFliteralrdflib.Literalreturnc                 C  s   t j|  | jdS )Ndatatype)rdflibr   r"   )r    r$   V/home/kim/smarthome/.venv/lib/python3.10/site-packages/rdflib/plugins/sparql/parser.pyneg,   s   r&   termsTuple[Any, OptionalType[str]]c                 C     t j| d | d dS )Nr   r   )langr#   r   r'   r$   r$   r%   setLanguage0      r-   c                 C  r)   )Nr   r   r!   r+   r,   r$   r$   r%   setDataType4   r.   r/   r   	List[Any]c           	      C  s  d\}}zg }t rtd|  t| }t| D ]\}}|dkr&|||g n|dkrI|d t| ksB| |d  dksB| |d  dkrCq|| net|trt|d dkr]||d	  t|dkrg||7 }|d |k r| |d  d
vr|d	 d}}||d	  n*t|tr||	 7 }n|dkr|| t|d dkr|}n
t|d dkr|}t rtt|| qt rd	dl
}t|j|dd |W S    t rd	dl}|   )z?
    Expand ; and , syntax for repeat predicates, subjects
    )NNZTerms,;r   .      r   )r3   r1   r2   N)indent)DEBUGprintlen	enumerateextendappend
isinstancelistr   as_listjsondumps	traceback	print_exc)	r'   Zlast_subjectZlast_predicateresZl_itr@   rB   r$   r$   r%   expandTriples8   sT   
0


rG   c              
   C  s   z+t rtd|  td| d  tdt g|  d   tt g|  d  gW S  ty? } zt r:td|  d}~ww )z5
    expand [ ?p ?o ] syntax for implicit bnodes
    zBnode terms1r   2z>>>>>>>>N)r7   r8   r#   BNoder?   rG   	Exception)r'   er$   r$   r%   expandBNodeTriplesw   s   

rM   List[List[Any]]c                 C  s   t rtd|  g }g }| D ]/}t|tr||7 }|d }t }|r3||d tjj||tjj|g7 }q||tjj|g7 }q||tjjtjj	g7 }||7 }t rStd| |gS )z3
    expand ( 1 2 3 ) notation for collections
    zCollection: r   ZCollectionOut)
r7   r8   r=   r>   r#   rJ   RDFrestfirstnil)r'   rD   otherxbr$   r$   r%   expandCollection   s"   

"
rW   <z[^<>"{}|^`\\%s]* c                 c  s    | ]}d | V  qdS )z\x%02XNr$   ).0rE   r$   r$   r%   	<genexpr>   s    r[   !   >c                 C  s   t | d S Nr   )r#   ZURIRefrU   r$   r$   r%   <lambda>   s    r`   i  uJ   A-Za-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�uS   A-Za-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿_u   \-0-9·̀-ͯ‿-⁀z[%s](?:[%s\.]*[%s])?)flagsprefix:z\\[_~\.\-!$&"'()*+,;=/?#@%]z%[0-9a-fA-F]{2}z(%s|%s)z([%(PN_CHARS_U)s:0-9]|%(PLX)s)
                     (([%(PN_CHARS)s\.:]|%(PLX)s)*
                      ([%(PN_CHARS)s:]|%(PLX)s) )?)Z
PN_CHARS_UZPN_CHARSZPLX	localnamez_:[0-9%s](?:[\.%s]*[%s])?c                 C  s   t | d dd  S )Nr   r5   r#   rJ   r_   r$   r$   r%   r`          u   [%s0-9][%s0-9·̀-ͯ‿-⁀]*?$@z[a-zA-Z]+(?:-[a-zA-Z0-9]+)*z[0-9]+c                 C     t j| d t jjdS Nr   r!   r#   r   XSDintegerr_   r$   r$   r%   r`     rg   z[eE][+-]?[0-9]+z[0-9]*\.[0-9]+c                 C  rk   rl   )r#   r   rn   decimalr_   r$   r$   r%   r`     rg   z/[0-9]+\.[0-9]*%(e)s|\.([0-9])+%(e)s|[0-9]+%(e)srL   c                 C  rk   rl   )r#   r   rn   doubler_   r$   r$   r%   r`     rg   +c                 C  s   t jd| d  t jjdS )Nrr   r   r!   rm   r_   r$   r$   r%   r`   #      -c                 C     t | d S r^   r&   r_   r$   r$   r%   r`   .      c                 C  ru   r^   rv   r_   r$   r$   r%   r`   2  rw   c                 C  ru   r^   rv   r_   r$   r$   r%   r`   6  rw   z)'''((?:'|'')?(?:[^'\\]|\\['ntbrf\\]))*'''c                 C     t t| d dd S Nr   r4   rO   r#   r   r   r_   r$   r$   r%   r`   A  rs   z+"""(?:(?:"|"")?(?:[^"\\]|\\["ntbrf\\]))*"""c                 C  rx   ry   rz   r_   r$   r$   r%   r`   I  rs   z#'(?:[^'\n\r\\]|\\['ntbrf\\])*'(?!')c                 C  rx   Nr   r   rz   r_   r$   r$   r%   r`   R  rs   z#"(?:[^"\n\r\\]|\\["ntbrf\\])*"(?!")c                 C  rx   r{   rz   r_   r$   r$   r%   r`   [  rs   ()c                 C     t jjS N)r#   rP   rS   r_   r$   r$   r%   r`   `      []c                 C  s   t  S r   rf   r_   r$   r$   r%   r`   g  r   ac                 C  r   r   )r#   rP   typer_   r$   r$   r%   r`   k  r   ZBaseZBASEiri
PrefixDeclPREFIXc                 C  s   t j| d S r^   )r#   termVariabler_   r$   r$   r%   r`   {  s    Zpnamestringr*   z^^r"   truec                   C  
   t dS )NTr+   r$   r$   r$   r%   r`        
 falsec                   C  r   )NFr+   r$   r$   r$   r%   r`     r   ZGRAPHZgraphiriDEFAULTZNAMEDZALLgraphZUNDEF*ZInversePath^PathNegatedPropertySetpart|!ZDistinctPathZDISTINCTPathEltmodPathEltOrInversePathSequence/PathAlternativer1   r2   Ztriplesr3   QuadsNotTriplesr   {}QuadsZquadsNotTriplesZquadsMinusGraphPatternMINUSGroupOrUnionGraphPatternZUNIONBuiltin_REGEXREGEXtextpatternrb   Builtin_SUBSTRZSUBSTRargstartlengthBuiltin_REPLACEZREPLACEreplacementBuiltin_EXISTSZEXISTSZBuiltin_NOTEXISTSNOTZdistinctvarsZAggregate_CountZCOUNTZAggregate_SumZSUMZAggregate_MinZMINZAggregate_MaxMAXZAggregate_AvgZAVGZAggregate_SampleZSAMPLEZAggregate_GroupConcatZGROUP_CONCATZ	SEPARATOR=	separatorBuiltin_STRZSTRBuiltin_LANGLANGBuiltin_LANGMATCHESZLANGMATCHESZarg1Zarg2Builtin_DATATYPEZDATATYPEBuiltin_BOUNDZBOUNDBuiltin_IRIZIRIZBuiltin_URIURIBuiltin_BNODEZBNODEBuiltin_RANDZRANDBuiltin_ABSZABSBuiltin_CEILZCEILBuiltin_FLOORZFLOORBuiltin_ROUNDZROUNDBuiltin_CONCATZCONCATBuiltin_STRLENZSTRLENBuiltin_UCASEZUCASEBuiltin_LCASEZLCASEBuiltin_ENCODE_FOR_URIZENCODE_FOR_URIBuiltin_CONTAINSZCONTAINSBuiltin_STRSTARTSZ	STRSTARTSBuiltin_STRENDSZSTRENDSBuiltin_STRBEFOREZ	STRBEFOREBuiltin_STRAFTERZSTRAFTERBuiltin_YEARZYEARBuiltin_MONTHZMONTHBuiltin_DAYZDAYBuiltin_HOURSZHOURSBuiltin_MINUTESZMINUTESBuiltin_SECONDSZSECONDSBuiltin_TIMEZONEZTIMEZONE
Builtin_TZZTZBuiltin_NOWZNOWBuiltin_UUIDUUIDBuiltin_STRUUIDZSTRUUIDBuiltin_MD5MD5Builtin_SHA1SHA1Builtin_SHA256SHA256Builtin_SHA384SHA384Builtin_SHA512SHA512Builtin_COALESCEZCOALESCE
Builtin_IFZIFZarg3Builtin_STRLANGZSTRLANGBuiltin_STRDTZSTRDTBuiltin_sameTermZsameTermBuiltin_isIRIZisIRIZBuiltin_isURIZisURIBuiltin_isBLANKZisBLANKBuiltin_isLITERALZ	isLITERALBuiltin_isNUMERICZ	isNUMERICexprFunctionUnaryNot	UnaryPlus
UnaryMinusMultiplicativeExpressionoprT   AdditiveExpressionRelationalExpressionz!=z<=z>=INZadjacent ConditionalAndExpressionz&&ConditionalOrExpressionz||FilterZFILTERnamedDatasetClauseZFROMdefaultZGroupAsZASvarGroupClauseZGROUPZBY	conditionZsilentZSILENTLoadZLOADZINTOClearCLEARDropZDROPCreateZCREATEAddZADDZTOMoveZMOVECopyCOPY
InsertDataZINSERTZDATA
DeleteDataDELETEDeleteWhereZWHEREDeleteClauseInsertClauseUsingClauseZUSINGModifyZWITHZ
withClausedeleteinsertusingwherevalueZvaluesClauseValuesClauseZVALUEStemplateOptionalGraphPatternOPTIONALGraphGraphPatternServiceGraphPatternZSERVICEBindZBIND
InlineDataGroupGraphPatternSubTriplesBlockHavingClauseZHAVINGOrderConditionorderZASCZDESCOrderClauseZORDERZLIMITlimitZOFFSEToffsetLimitOffsetClausesgroupbyZhavingZorderbyZlimitoffsetZSELECTmodifierZREDUCEDZ
projectionZevar	SubSelectSelectQueryZdatasetClauseConstructQueryZ	CONSTRUCTZFakeGroupGraphPattenAskQueryZASKDescribeQueryZDESCRIBEZprologuerequestUpdate#z \\u([0-9a-f]{4}(?:[0-9a-f]{4})?)z
re.PatternexpandUnicodeEscapes_reqstrc                 C  s   ddd}t || S )	a0  
    The syntax of the SPARQL Query Language is expressed over code points in Unicode [UNICODE]. The encoding is always UTF-8 [RFC3629].
    Unicode code points may also be expressed using an \ uXXXX (U+0 to U+FFFF) or \ UXXXXXXXX syntax (for U+10000 onwards) where X is a hexadecimal digit [0-9A-F]
    mre.Matchr    r3  c              
   S  sH   zt t| ddW S  ttfy# } z
td| d |d }~ww )Nr      zInvalid unicode code point: )chrintgroup
ValueErrorOverflowError)r4  rL   r$   r$   r%   expand  s   z$expandUnicodeEscapes.<locals>.expandN)r4  r5  r    r3  )r1  sub)r2  r<  r$   r$   r%   expandUnicodeEscapes  s   
r>  #Union[str, bytes, TextIO, BinaryIO]c                 C  s<   t | dr	|  } t| tr| d} t| } tj| ddS )Nreadutf-8TZ	parse_all)hasattrr@  r=   bytesdecoder>  Queryparse_stringr2  r$   r$   r%   
parseQuery  s   


rI  r   c                 C  s@   t | dr	|  } t| tr| d} t| } tj| ddd S )Nr@  rA  TrB  r   )rC  r@  r=   rD  rE  r>  
UpdateUnitrG  rH  r$   r$   r%   parseUpdate  s   


rK  )r   r   r    r   )r'   r(   r    r   )r'   r   r    r0   )r'   r   r    rN   )r2  r3  r    r3  )r2  r?  r    r   )r2  r?  r    r   ((  __doc__
__future__r   resystypingr   r   r   r   ZOptionalTyper   r   r	   Z	pyparsingr
   Keywordr   r   r   r   r   r   r   r   r   r#   Zrdflib.compatr   rY   r   r   Zpyparsing_compatr   r   r   Zparserutilsr   r   r   r   r7   r&   r-   r/   rG   rM   rW   joinrangeZIRIREFZset_parse_action
maxunicodeZPN_CHARS_BASE_reZPN_CHARS_U_reZPN_CHARS_reUZ	PN_PREFIXZleave_whitespaceZPNAME_NSZPN_LOCAL_ESC_reZ
PERCENT_reZPLX_redictXUNICODEZPN_LOCALZPNAME_LNZBLANK_NODE_LABELZVARNAMEZVAR1ZVAR2ZLANGTAGZINTEGERZEXPONENT_reZDECIMALDOUBLEcopyZINTEGER_POSITIVEZDECIMAL_POSITIVEZDOUBLE_POSITIVEZINTEGER_NEGATIVEZDECIMAL_NEGATIVEZDOUBLE_NEGATIVEZSTRING_LITERAL_LONG1ZSTRING_LITERAL_LONG2ZSTRING_LITERAL1ZSTRING_LITERAL2ZNILZANONAZBaseDeclr   ZPrologueZVarZPrefixedNamer   StringZ
RDFLiteralZNumericLiteralPositiveZNumericLiteralNegativeZNumericLiteralUnsignedZNumericLiteralZBooleanLiteralZ	BlankNodeZ	GraphTermZ	VarOrTermZVarOrIriZGraphRefZGraphRefAllZGraphOrDefaultZDataBlockValueZVerbZ
VerbSimpleIntegerZTriplesNodeZTriplesNodePathZ	GraphNodeZGraphNodePathZPathModZPathOneInPropertySetPathr   ZPathPrimaryr   r   r   r   ZVerbPathZ
ObjectPathZObjectListPathZGroupGraphPattern
CollectionZCollectionPathZObjectZ
ObjectListZPropertyListPathNotEmptyZPropertyListPathZPropertyListNotEmptyZPropertyListZBlankNodePropertyListZBlankNodePropertyListPathZTriplesSameSubjectZTriplesTemplater   r   ZQuadPatternZQuadDataZTriplesSameSubjectPathr  r   r   
ExpressionZExpressionListZRegexExpressionZ	setEvalFnr   r   ZSubstringExpressionr   ZStrReplaceExpressionr   Z
ExistsFuncZNotExistsFuncZ	_DistinctZ_AggregateParamsZ	Aggregater   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   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ZBuiltInCallZArgListr   ZiriOrFunctionZFunctionCallZBrackettedExpressionZPrimaryExpressionr   r   r   ZUnaryExpressionr   r   ZNumericExpressionr   ZValueLogicalr   r   
Constraintr   ZSourceSelectorZDefaultGraphClauseZNamedGraphClauser   ZGroupConditionr   Z_Silentr   r  r  r  r  r  r  r	  r
  r  r  r  r  r  ZUpdate1ZInlineDataOneVarZInlineDataFullZ	DataBlockr  ZConstructTriplesZConstructTemplater  r  r  r  r  ZGraphPatternNotTriplesr  ZHavingConditionr   r!  r#  ZLimitClauseZOffsetClauser&  ZSolutionModifierZSelectClauseZWhereClauser)  r*  r+  r,  r-  r/  rF  rJ  Z	QueryUnitignorecompileIr1  __annotations__r>  rI  rK  r$   r$   r$   r%   <module>   s	   0?



	


	







	 

 
		
R  #&),/0347:>GPYbknqtwz}           
          

  $  -  6  ?  B  E  H  K  N  O  P  V





 

		"""   (

	
"
	







 

	

