ó é×fc@s‚ddlZddljZddljZddlTddlmZdfd„ƒYZdfd„ƒYZde fd „ƒYZ d fd „ƒYZ e d kr~ddl Z e jd dkree jdƒZejƒZejƒedd ƒZejeƒnue jd dkr{y=e e jddedeƒZejdGHejdƒGHWne k rwZejdGHnXnndS(iÿÿÿÿN(t*(tcopyt PolicyLexc BsŸeZd&Zed'ZiZdZdZdZdZdZ d„Z d„Z d„Z d„Z d„Zd „Zd!„Zd"„Zd#„Zd$„Zd%„ZRS((tPOLICYtALGORITHM_POLICYtZONEt ALGORITHMt DIRECTORYtKEYTTLtKEY_SIZEt ROLL_PERIODt PRE_PUBLISHt POST_PUBLISHtCOVERAGEtSTANDBYtNONEt DATESUFFIXtKEYTYPEtALGNAMEtSTRtQSTRINGtNUMBERtLBRACEtRBRACEtSEMIs s (//|\#).*s\{s\}t;cCs"|jj|jjdƒ7_dS(s\n+s N(tlexertlinenotvaluetcount(tselftt((s./usr/lib/python2.7/site-packages/isc/policy.pyt t_newline7scCs"|jj|jjdƒ7_dS(s/\*(.|\n)*?\*/s N(RRRR(RR((s./usr/lib/python2.7/site-packages/isc/policy.pyt t_comment;scCs+tjd|jƒjdƒjƒ|_|S(s°(?i)(?<=[0-9 \t])(y(?:ears|ear|ea|e)?|mo(?:nths|nth|nt|n)?|w(?:eeks|eek|ee|e)?|d(?:ays|ay|a)?|h(?:ours|our|ou|o)?|mi(?:nutes|nute|nut|nu|n)?|s(?:econds|econd|econ|eco|ec|e)?)\bs(?i)(y|mo|w|d|h|mi|s)([a-z]*)i(tretmatchRtgrouptlower(RR((s./usr/lib/python2.7/site-packages/isc/policy.pyt t_DATESUFFIX?s'cCs|jjƒ|_|S(s(?i)\b(KSK|ZSK)\b(Rtupper(RR((s./usr/lib/python2.7/site-packages/isc/policy.pyt t_KEYTYPEDscCs|jjƒ|_|S(sƒ(?i)\b(RSAMD5|DH|DSA|NSEC3DSA|ECC|RSASHA1|NSEC3RSASHA1|RSASHA256|RSASHA512|ECCGOST|ECDSAP256SHA256|ECDSAP384SHA384|ED25519|ED448)\b(RR'(RR((s./usr/lib/python2.7/site-packages/isc/policy.pyt t_ALGNAMEIscCs|jj|jdƒ|_|S(s[A-Za-z._-][\w._-]*R(t reserved_maptgetRttype(RR((s./usr/lib/python2.7/site-packages/isc/policy.pytt_STRNscCs2|jj|jdƒ|_|jdd!|_|S(s"([^"\n]|(\\"))*"Riiÿÿÿÿ(R*R+RR,(RR((s./usr/lib/python2.7/site-packages/isc/policy.pyt t_QSTRINGSscCst|jƒ|_|S(s\d+(tintR(RR((s./usr/lib/python2.7/site-packages/isc/policy.pytt_NUMBERYscCs$d|jdGH|jjdƒdS(NsIllegal character '%s'ii(RRtskip(RR((s./usr/lib/python2.7/site-packages/isc/policy.pytt_error^scKs‚dttƒkr'tjddƒ}ntddƒ}x-|jD]"}||j|jƒj|ƒnamed_policy : POLICY name new_policy policy_option_group SEMIiN(RžRZR‘R%(RRˆ((s./usr/lib/python2.7/site-packages/isc/policy.pytp_named_policy<scCs|d|d s0  `³ÿŸ