՗ fO`ddgZddlmZddlGddeZGddZGddZy ) Scanner ScannerError)MarkedYAMLError)*c eZdZy)rN)__name__ __module__ __qualname__./usr/lib/python3/dist-packages/yaml/scanner.pyrr sr ceZdZdZy) SimpleKeycX||_||_||_||_||_||_yN) token_numberrequiredindexlinecolumnmark)selfrrrrrrs r __init__zSimpleKey.__init__&s-(      r N)rr r rr r r rr#sr rc4eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Zd=Z?d>Z@id?d@dAdBdCdDdEdFdFdFdGdHdIdJdKdLdMdNdOdPdQdQdRdRdSdSdTdTdUdVdWdXdYdZd[d\iZAd]d^d_d`ZBdaZCdbZDdcZEddZFdeZGdfZHdgZIdhZJdiZKyj)krcd|_d|_g|_|jd|_d|_g|_d|_i|_y)zInitialize the scanner.FTN) done flow_leveltokensfetch_stream_start tokens_takenindentindentsallow_simple_keypossible_simple_keysrs r rzScanner.__init__0s[   !  ,!%%'!r c|jr!|j|jr!|jr%|sy|D]}t|jd|syy)NTrF)need_more_tokensfetch_more_tokensr isinstance)rchoiceschoices r check_tokenzScanner.check_tokenqs^##%  " " $##% ;;! dkk!nf5 r c|jr!|j|jr!|jr|jdSy)Nr)r)r*r r's r peek_tokenzScanner.peek_token}sB##%  " " $##% ;;;;q> !r c|jr!|j|jr!|jr0|xjdz c_|jj dSy)Nrr)r)r*r r"popr's r get_tokenzScanner.get_tokensX##%  " " $##% ;;    " ;;??1% % r c|jry|jsy|j|j|jk(ryy)NFT)rr stale_possible_simple_keysnext_possible_simple_keyr"r's r r)zScanner.need_more_tokenssD 99{{ '')  ( ( *d.?.? ? @r c$|j|j|j|j|j }|dk(r|j S|dk(r |j r|jS|dk(r |jr|jS|dk(r |jr|jS|dk(r|jS|dk(r|jS|dk(r|jS|dk(r|jS|d k(r|j!S|dk(r |j#r|j%S|d k(r |j'r|j)S|d k(r |j+r|j-S|d k(r|j/S|d k(r|j1S|dk(r|j3S|dk(r|j4s|j7S|dk(r|j4s|j9S|dk(r|j;S|dk(r|j=S|j?r|jAStCddd|z|jE)N%-.[{]},?:r&!|>'"z!while scanning for the next tokenz.found character %r that cannot start any token)#scan_to_next_tokenr5 unwind_indentrpeekfetch_stream_endcheck_directivefetch_directivecheck_document_startfetch_document_startcheck_document_endfetch_document_endfetch_flow_sequence_startfetch_flow_mapping_startfetch_flow_sequence_endfetch_flow_mapping_endfetch_flow_entrycheck_block_entryfetch_block_entry check_key fetch_key check_value fetch_value fetch_alias fetch_anchor fetch_tagr fetch_literal fetch_folded fetch_single fetch_double check_plain fetch_plainrget_markrchs r r*zScanner.fetch_more_tokenss ! '') 4;;'YY[ :((* * 9--/'') ) 9224,,. . 9002**, , 9113 3 9002 2 9//1 1 9..0 0 9((* * 9//1))+ + 9)>># # 9))+##% % 9##% % 9$$& & 9>># # 9T__%%' ' 9T__$$& & :$$& & :$$& &    ##% %>@2E ! !r cd}|jD]/}|j|}||j|ks$|j}1|Sr)r&r)rmin_token_numberlevelkeys r r6z Scanner.next_possible_simple_keysW .. 4E++E2C'3+;+;>N+N##3  4 r c@t|jD]}|j|}|j|jk7s|j|jz dkDsH|jr&t d|j d|j|j|=y)Niwhile scanning a simple keycould not find expected ':')listr&rrrrrrg)rrlrms r r5z"Scanner.stale_possible_simple_keyss$334 5E++E2Cxx499$zz#))+d2<<&'Dchh94==?LL--e4 5r c ||j xr|j|jk(}|jr|j |j t |jz}t|||j|j|j|j}||j|j<yyr) rr#rr%remove_possible_simple_keyr"lenr rrrrgr&)rrrrms r save_possible_simple_keyz Scanner.save_possible_simple_key's &E4;;$+++E   + + -,,S-==LL(JJ 4;; IC9$56 r c|jd|jd|_|jj |j y)NrF)rJrsr%r rxscan_directiver's r rNzScanner.fetch_directivesE 2 '') % 4..01r c.|jtyr)fetch_document_indicatorDocumentStartTokenr's r rPzScanner.fetch_document_starts %%&89r c.|jtyr)rDocumentEndTokenr's r rRzScanner.fetch_document_ends %%&67r c|jd|jd|_|j}|j d|j}|j j |||y)NrF)rJrsr%rgforwardr rxr TokenClass start_markend_marks r rz Scanner.fetch_document_indicatorsd 2 '') %]]_  Q==? :j(;?r c|j|xjdz c_d|_|j}|j |j}|j j |||y)NrT)rurr%rgrr rxrs r rz#Scanner.fetch_flow_collection_startsd %%' 1!%]]_  ==? :j(;*h?@r c|jsy|jstddd|j|j |j r7|j}|j jt||n d|_|j|j}|j|j}|j jt||y)Nz%sequence entries are not allowed hereT) rr%rrgr{rr rxBlockSequenceStartTokenrsrBlockEntryTokenrrrrs r rYzScanner.fetch_block_entrys(("4? )) t{{+}} ""#:4#FG !% '')]]_  ==? ?:x@Ar c|jsx|jstddd|j|j |j r5|j}|j jt|||j |_|j|j}|j|j}|j jt||y)Nz!mapping keys are not allowed here) rr%rrgr{rr rxBlockMappingStartTokenrsrKeyTokenrs r r[zScanner.fetch_keys(("4; )) t{{+}} ""#9$#EF%)OO 3 '')]]_  ==? 8J9:r cF|j|jvr|j|j}|j|j=|jj|j|j z t |j|j|jsl|j|jrQ|jj|j|j z t|j|jd|_ n|js(|jstddd|j|jsP|j|jr5|j}|jjt|||j |_ |j|j}|j!|j}|jjt#||y)NFz#mapping values are not allowed here)rr&r insertrr"rrr{rrr%rrgrxrsr ValueToken)rrmrrrs r r]zScanner.fetch_value!s ??d77 7++DOO> >r cB|jry|jddvSrrr's r r\zScanner.check_valuerr c|j}|dvxs/|jddvxr|dk(xs|j xr|dvS)Nu …

-?:,[]{}#&*!|>'"%@`rrr:z?:)rKrrhs r rezScanner.check_plainsWYY[IIQIIaL(CCP3YNt+>+M2: Qr c|jdk(r#|jdk(r|jd}|s|jdk(r$|j|jdk(r$|jdk(r5|jdvr#|j|jdvr#|jr|js d|_nd}|syy)NruF # …

T)rrKrscan_line_breakrr%)rfounds r rIzScanner.scan_to_next_tokens( ::?tyy{h6 LLN))+$ ))+$yy{c!iik)AALLNiik)AA##%,0D)r c|j}|j|j|}d}|dk(r"|j|}|j}nl|dk(r"|j |}|j}nE|j}|j dvr#|j|j dvr#|j |t||||S)NYAMLTAGr)rgrscan_directive_namescan_yaml_directive_valuescan_tag_directive_valuerKscan_directive_ignored_lineDirectiveToken)rrnamevaluers r rzScanner.scan_directives]]_  '' 3 6>22:>E}}H U]11*=E}}H}}H))+%== ))+%== ((4dE:x@@r cd}|j|}d|cxkrdks nd|cxkrdksnd|cxkrdksn|dvrE|d z }|j|}d|cxkrdkr"nd|cxkrdkr0nd|cxkrdkr>n|dvrE|std |d |z|j|j|}|j ||j}|d vrtd |d |z|j|S) Nr09AZaz-_rwhile scanning a directive6expected alphabetic or numeric character, but found %r …

)rKrrgrr)rrlengthrirs r rzScanner.scan_directive_name&s YYv R3#"2s"2cR6F36F: aKF6"BR3#"2s"2cR6F36F:;ZL--/+ + F# V YY[ . .;ZL--/+ + r c|jdk(r$|j|jdk(r$|j|}|jdk7r-td|d|jz|j |j|j|}|jdvr-td|d|jz|j ||fS)Nrr;rz%expected a digit or '.', but found %rrz%expected a digit or ' ', but found %r)rKrscan_yaml_directive_numberrrg)rrmajorminors r rz!Scanner.scan_yaml_directive_value;siikS LLNiikS // ; 99;# ;Z;diikIMMO% % // ; 99;7 7;Z;diikIMMO% %u~r cV|j}d|cxkrdks!ntd|d|z|jd}d|j|cxkrdkr%nn"|dz }d|j|cxkrdkr nt|j |}|j ||S)Nrrrzexpected a digit, but found %rrr)rKrrgintrr)rrrirrs r rz"Scanner.scan_yaml_directive_numberLs YY[r S ;Z4r94==?L LTYYv&-#- aKFTYYv&-#-DKK'( V r c*|jdk(r$|j|jdk(r$|j|}|jdk(r$|j|jdk(r$|j|}||fS)Nr)rKrscan_tag_directive_handlescan_tag_directive_prefix)rrhandlers r rz Scanner.scan_tag_directive_valueYs{iikS LLNiikS // ;iikS LLNiikS // ;r c|jd|}|j}|dk7rtd|d|z|j|S)N directiverrexpected ' ', but found %r)scan_tag_handlerKrrgrrrris r rz!Scanner.scan_tag_directive_handlecsO$$[*= YY[ 9;Z025t}}H H r c|jd|}|j}|dvrtd|d|z|j|S)Nrrrr) scan_tag_urirKrrgrs r rz!Scanner.scan_tag_directive_prefixlsQ!!+z: YY[ . .;Z025t}}H H r c|jdk(r$|j|jdk(r$|jdk(r5|jdvr#|j|jdvr#|j}|dvrtd|d|z|j|j y)Nrrrr0expected a comment or a line break, but found %rrKrrrgrrrris r rz#Scanner.scan_directive_ignored_lineusiikS LLNiikS 99;# ))+%== ))+%== YY[ - -;ZF"mmo/ / r c|j}|j}|dk(rd}nd}|jd}|j|}d|cxkrdks nd|cxkrdksnd |cxkrd ksn|d vrE|d z }|j|}d|cxkrdkr"nd|cxkrdkr0nd |cxkrd kr>n|d vrE|s"td |z|d|z|j|j |}|j||j}|dvr"td |z|d|z|j|j}||||S)Nraliasanchorrrrrrrrrrzwhile scanning an %sru …

?:,]}%@`)rgrKrrr) rrr indicatorrrrirrs r rzScanner.scan_anchors`]]_ IIK  DD  YYv R3#"2s"2cR6F36F: aKF6"BR3#"2s"2cR6F36F:5', but found %rrrDFrTzwhile scanning a tagr)rgrKrrrrTagToken) rrrirsuffixr use_handlerrs r rzScanner.scan_tags}]]_ YYq\ 9F LLO&&uj9Fyy{c!"#8*4tyy{B )) LLN . .FF LLNFJ559!%J! YYv& 55 F--eZ@ &&uj9F YY[ . .5z025t}}H H ==?z844r c|dk(rd}nd}g}|j}|j|j|\}}|j||jdz}|dkrd}|!|j \}} } t || } n||zdz } |j| \}} d} |j| k(rB|jdk7r.|j||jdv} d}|j|d vr|dz }|j|d vr|j|j||j||j} |j| \}} |j| k(rT|jdk7rA|r-| d k(r(| r&|jdvr|s%|jd n|j| nn$|j| k(r|jdk7r.|dur|j| |dur|j|tdj|d|| |S) NrFTFrr8 rr r)rgrscan_block_scalar_indicatorsscan_block_scalar_ignored_liner#scan_block_scalar_indentationmaxscan_block_scalar_breaksrrKextendrxrr ScalarTokenjoin)rrfoldedchunksrchomping increment min_indentbreaks max_indentrr# line_breakleading_non_spacers r rzScanner.scan_block_scalars, C<FF]]_  "?? K) ++J7[[] >J  +/+M+M+O (FJZ0F )!+F#<&'F Z MMO--  < BIA~"#BJV )) LLNBTz9#H$H  YY[ . .> O--/+ +""r c|jdk(r$|j|jdk(r$|jdk(r5|jdvr#|j|jdvr#|j}|dvrtd|d|z|j|j y)Nrrrr'rrrs r rz&Scanner.scan_block_scalar_ignored_lineDsiikS LLNiikS 99;# ))+%== ))+%== YY[ - -> FKMMO% % r cZg}d}|j}|jdvr|jdk7r0|j|j|j}n+|j |j |kDr |j }|jdvr|||fS)Nr …

r)rgrKrxrrr)rrr!rs r rz%Scanner.scan_block_scalar_indentationRs ==?iik44yy{c! d2245==? ;;+!%Jiik44z8++r c*g}|j}|j|krF|jdk(r3|j|j|kr|jdk(r3|jdvr|j |j |j}|j|krF|jdk(r3|j|j|kr|jdk(r3|jdvr||fS)Nr …

)rgrrKrrxr)rr#rrs r rz Scanner.scan_block_scalar_breaksas==?kkF"tyy{c'9 LLNkkF"tyy{c'9iik33 MM$..0 1}}H++&499;#+= ++&499;#+=iik33 xr c |dk(rd}nd}g}|j}|j}|j|j|j |||j|k7rV|j|j |||j|j |||j|k7rV|j|j}t dj|d|||S)NrHTFr)rgrKrrscan_flow_scalar_non_spacesscan_flow_scalar_spacesrr)rrdoublerrquoters r rzScanner.scan_flow_scalarns C<FF]]_    d66vzJKiikU" MM$66vzJ K MM$::6:N OiikU" ==?2776?E:x r rr8rbt nrv f r errH\/N…_ Lu
Pu
r )xuUc g} d}|j|dvr|dz }|j|dvr|r1|j|j||j||j}|s=|dk(r8|jddk(r$|jd|jdn|r|dk(s|s'|dvr#|j||jn|r|dk(rz|j|j}||jvr0|j|j||jn||j vr|j |}|jt |D]E}|j|dvstd |d ||j|fz|jt|j|d }|jt||j|nW|d vr2|j|j|j||n!td |d |z|j|Sg)Nru'"\ …

rrGr z"\r@0123456789ABCDEFabcdefz%while scanning a double-quoted scalarz@expected escape sequence of %d hexadecimal numbers, but found %rr,z!found unknown escape character %r)rKrxrrESCAPE_REPLACEMENTS ESCAPE_CODESrangerrgrchrrrscan_flow_scalar_breaks)rr0rrrrikcodes r r.z#Scanner.scan_flow_scalar_non_spacess#F))F#+LL! ))F#+LL dkk&12 V$BbDjTYYq\T-A d# QR4ZB&L b! B$J YY[111MM$":":2">?LLN4,,,!..r2FLLN"6]Q99Q%?@D #QQQ t{{62B7DMM#d),LL(11((*MM$">">vz"RS&'NPZ?"DdmmoWW Mr cg}d}|j|dvr|dz }|j|dvr|j|}|j||j}|dk(rtd|d|j |dvr_|j }|j ||}|dk7r|j|n|s|jd |j||S|j||S) Nrrrr8while scanning a quoted scalarzfound unexpected end of streamr,rr) rKrrrrgrrTrxr) rr0rrr whitespacesrir"r s r r/zScanner.scan_flow_scalar_spacessii5( aKFii5(kk&)  V YY[ :?4dmmoG G ) )--/J11&*EFT! j) c" MM& !  MM+ & r cpg} |jd}|dk(s|dk(r/|jddvrtd|d|j|jdvr#|j |jdvr#|jdvr |j |j n|S) NrrrrrXz#found unexpected document separatorrr,)rrKrrgrrxr)rr0rrrs r rTzScanner.scan_flow_scalar_breakss[[^F%6U? ! (CC"#CZ=t}}PP))+& ))+&yy{44 d2245 r cg}|j}|}|jdz}g} d}|jdk(rn |j|}|dvs<|dk(r'|j|dzd|jrdndzvs|jr|d vrn|dz }X|dk(rnd |_|j ||j |j||j||j}|j||}|r.|jdk(s|js|j|krntdj|d||S) NrTrrrrBz,[]{}rz,?[]{}F) rgr#rKrr%rrxrrscan_plain_spacesrrr)rrrrr#spacesrris r rzScanner.scan_plainsR ]]_ Q Fyy{c!YYv&44#I $ &( 37R59__#8O!O OOh! {$)D ! MM& ! MM$++f- . LL }}H++FJ?FTYY[C/ OO f0D/02776?D*hGGr c2g}d}|j|dvr|dz }|j|dvr|j|}|j||j}|dvr|j}d|_|jd}|dk(s|dk(r|jdd vryg} |jd vr|jdk(r|jnN| j |j|jd}|dk(s|dk(r|jdd vry|jd vr|d k7r|j |n| s|j d|j | |S|r|j ||S) Nrrrr,Trrrrr*r)rKrrrr%rxr) rr#rrrrYrir"rr s r r\zScanner.scan_plain_spacesszii3& aKFii3&kk&)  V YY[ ' '--/J$(D ![[^F%6U? ! (CCF))+!8899;#%LLNMM$"6"6"89![[^F%6U? $ ! 0K K))+!88T! j) c" MM& !  MM+ & r cB|j}|dk7r"td|z|d|z|jd}|j|}|dk7rd|cxkrdks nd|cxkrd ksnd |cxkrd ksn|d vrE|dz }|j|}d|cxkrdkr"nd|cxkrd kr0nd |cxkrd kr>n|d vrE|dk7r3|j|td|z|d|z|j|dz }|j |}|j||S) NrDwhile scanning a %szexpected '!', but found %rrrrrrrrrr)rKrrgrr)rrrrirrs r rzScanner.scan_tag_handleDs0YY[ 94t;Z025t}}H H YYv  9"s"cR&63&6#:Js:JTz! YYv&"s"cR&63&6#:Js:JTzSy V$"#84#?4r94==?LL aKF F# V r cg}d}|j|}d|cxkrdks nd|cxkrdksnd|cxkrdksn|dvr|d k(rU|j|j||j|d}|j|j ||n|d z }|j|}d|cxkrdkr|nd|cxkrdkrnd|cxkrdkrn|dvr|r3|j|j||j|d}|s"t d |z|d |z|j d j|S)Nrrrrrrrz-;/?:@&=+$,_.!~*'()[]%r9rzwhile parsing a %szexpected URI, but found %rr)rKrxrrscan_uri_escapesrrgr)rrrrrris r rzScanner.scan_tag_uri\s< YYv R3#"2s"2cR6F36F22Sy dkk&12 V$ d33D*EF! 6"BR3#"2s"2cR6F36F22  MM$++f- . LL F3d:J025t}}H Hwwvr c Bg}|j}|jdk(r|jtdD]F}|j|dvst d|z|d|j|z|j|j t |jdd|jd|jdk(r t|jd}|S#t$r}t d|z|t||d}~wwxYw)Nr9r rNr`zCexpected URI escape sequence of 2 hexadecimal numbers, but found %rrOzutf-8) rgrKrrRrrxrrbytesdecodeUnicodeDecodeErrorstr)rrrcodesrrUrexcs r rbzScanner.scan_uri_escapesus }}iikS LLN1X =99Q<'??&' ! LLNIr N)Lrr r rr.r0r3r)r*r6r5rursrJr{r!rLrNrPrRrrSrTrrUrVrrWrYr[r]r^r_r`rarbrrcrdrrfrMrOrQrXrZr\rerIrrrrrrrrrrrrrrrrrPrQr.r/rTrr\rrrbrr r r rr.sh='B & h!X  5 =" ;:0 %& 2:8= A@="=<=" ABB;86=p 9 : ,++ :+* 9 .; ??Q*!FA&*"   "7H'5RJX&#P  ,  0                   !" #$ %,L )V0$'HR#J02&r N)__all__errorrr rrrr r r rms96 n %" ?   mmr