U mf,#@s&ddgZddlTddlTddlZGdddeZGdddZGd ddeZed e d ej e d ed e dej e dede dej e dede ddgede dej ddddgede dej e dede d d!ged"e d#e d$dS)% BaseResolverResolver)*Nc@s eZdZdS) ResolverErrorN__name__ __module__ __qualname__r r =/opt/hc_python/lib64/python3.8/site-packages/yaml/resolver.pyr src@sbeZdZdZdZdZiZiZddZe ddZ e dd d Z d d Z d dZ ddZddZdS)rztag:yaml.org,2002:strztag:yaml.org,2002:seqztag:yaml.org,2002:mapcCsg|_g|_dSN)resolver_exact_pathsresolver_prefix_pathsselfr r r __init__szBaseResolver.__init__cCsjd|jkr6i}|jD]}|j|dd||<q||_|dkrDdg}|D]}|j|g||fqHdS)Nyaml_implicit_resolvers)__dict__r setdefaultappend)clstagregexpfirstZimplicit_resolverskeychr r r add_implicit_resolvers  z"BaseResolver.add_implicit_resolverNcCsjd|jkr|j|_g}|D]}t|ttfrnt|dkrF|\}}qvt|dkr`|d}d}qvtd|nd}|}|tkrt }nH|tkrt }n:|t krt }n,|t t t fkrt|ts|dk rtd|t|tt fs|dk rtd||||fq|tkrt }nF|tkrt }n6|t kr.t }n&|t t t fkrT|dk rTtd |||jt||f<dS) Nyaml_path_resolversrrTzInvalid path element: %szInvalid node checker: %szInvalid index checker: %szInvalid node kind: %s)rrcopy isinstancelisttuplelenrstr ScalarNode SequenceNodedict MappingNodeintr)rrpathkindnew_pathelement node_check index_checkr r r add_path_resolver%sR           zBaseResolver.add_path_resolvercCs|js dSi}g}|rvt|j}|jdD]H\}}||||||r*t||kr`|||fq*|j||f||<q*n6|jD].\}}|s|j||f||<q||||fq||j||j|dS)N)rr$rcheck_resolver_prefixrr)r current_node current_index exact_pathsZ prefix_pathsdepthr+r,r r r descend_resolver[s(    zBaseResolver.descend_resolvercCs"|js dS|j|jdSr )rrpoprrr r r ascend_resolverrs zBaseResolver.ascend_resolvercCs||d\}}t|tr*|j|kr@dSn|dk r@t||s@dS|dkrT|dk rTdS|dksd|dkrp|dkrpdSt|trt|tr||jksdSn t|trt|ts||krdSdS)NrTF)r!r%rr&valuer*bool)rr7r+r,r4r5r/r0r r r r3xs,     z"BaseResolver.check_resolver_prefixc Cs|tkrt|drt|dkr(|jdg}n|j|dg}|jdg}||D]\}}||rP|SqP|d}|jr|jd}||kr||Sd|kr|dS|tkr|jS|tkr|jS|t kr|j SdS)Nrrr2) r&rgetmatchrrDEFAULT_SCALAR_TAGr'DEFAULT_SEQUENCE_TAGr)DEFAULT_MAPPING_TAG) rr,r;Zimplicit resolversZwildcard_resolversrrr6r r r resolves*   zBaseResolver.resolve)N)rr r r@rArBrrr classmethodrr1r8r:r3rDr r r r r s  5c@s eZdZdS)rNrr r r r rsztag:yaml.org,2002:boolzz^(?:yes|Yes|YES|no|No|NO |true|True|TRUE|false|False|FALSE |on|On|ON|off|Off|OFF)$Z yYnNtTfFoOztag:yaml.org,2002:floata^(?:[-+]?(?:[0-9][0-9_]*)\.[0-9_]*(?:[eE][-+][0-9]+)? |\.[0-9][0-9_]*(?:[eE][-+][0-9]+)? |[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]* |[-+]?\.(?:inf|Inf|INF) |\.(?:nan|NaN|NAN))$z -+0123456789.ztag:yaml.org,2002:intz^(?:[-+]?0b[0-1_]+ |[-+]?0[0-7_]+ |[-+]?(?:0|[1-9][0-9_]*) |[-+]?0x[0-9a-fA-F_]+ |[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)$z -+0123456789ztag:yaml.org,2002:mergez^(?:<<)$sr