abc@`sYddlmZmZmZddlZddlZddlmZmZm Z m Z ddlm Z m Z m Z mZmZddlmZddlmZddlmZmZdd lmZmZmZd efd YZe ejejZ ed j!Z"ed j!Z#edj!Z$edj!Z%edj!Z&edj!Z'edj!Z(e dZ)e e e)e BZ*ee e e*Z+e+dZ,e+Z-eddZ.e(e.Z/e-e e&e-Z0e"e e0e#dZ1eej2ej3ej4BZ5eej2ej3ej4BZ6e5e6AZ7ee7e e&e7ddde8dZ9e e$e9e%e9BZ:e:j;de e:dZ<e<j;de edZej;de'Z=e=eZ>e<e e>Z?e/e e>Z@e,e e1e@e?BZAeeAeZBd eCfd!YZDdS("i(tabsolute_importtdivisiontprint_functionN(t stringStartt stringEndtoriginalTextFortParseException(t ZeroOrMoretWordtOptionaltRegextCombine(tLiteral(tparsei(t MARKER_EXPRtMarker(tLegacySpecifiert Specifiert SpecifierSettInvalidRequirementcB`seZdZRS(sJ An invalid requirement was found, users should refer to PEP 508. (t__name__t __module__t__doc__(((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyRst[t]t(t)t,t;t@s-_.tnames[^ ]+turltextrast joinStringtadjacentt _raw_speccC`s |jp dS(Nt(R#(tstltt((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyt8R$t specifiercC`s|dS(Ni((R%R&R'((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyR(;R$tmarkercC`st||j|j!S(N(Rt_original_startt _original_end(R%R&R'((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyR(?R$t RequirementcB`s)eZdZdZdZdZRS(sParse a requirement. Parse a given requirement string into its parts, such as name, specifier, URL, and extras. Raises InvalidRequirement on a badly-formed requirement string. cC`sytj|}Wn9tk rN}tdj||j|jd!nX|j|_|jrtj|j}|j o|j s|j r|j rtdn|j|_n d|_t |j r|j jng|_ t|j|_|jr|jnd|_dS(Ns+Invalid requirement, parse error at "{0!r}"isInvalid URL given(t REQUIREMENTt parseStringRRtformattlocRRturlparsetschemetnetloctNonetsetR tasListRR)R*(tselftrequirement_stringtreqtet parsed_url((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyt__init__Zs"!   'cC`s|jg}|jr@|jdjdjt|jn|jrb|jt|jn|jr|jdj|jn|j r|jdj|j ndj|S(Ns[{0}]Rs@ {0}s; {0}R$( RR tappendR0tjointsortedR)tstrRR*(R8tparts((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyt__str__os  +   cC`sdjt|S(Ns(R0RA(R8((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyt__repr__s(RRRR=RCRD(((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pyR-Ms  (Et __future__RRRtstringtretpip._vendor.pyparsingRRRRRRR R R R tLtpip._vendor.six.moves.urllibR R2tmarkersRRt specifiersRRRt ValueErrorRt ascii_letterstdigitstALPHANUMtsuppresstLBRACKETtRBRACKETtLPARENtRPARENtCOMMAt SEMICOLONtATt PUNCTUATIONtIDENTIFIER_ENDt IDENTIFIERtNAMEtEXTRAtURItURLt EXTRAS_LISTtEXTRASt _regex_strtVERBOSEt IGNORECASEtVERSION_PEP440tVERSION_LEGACYt VERSION_ONEtFalset VERSION_MANYt _VERSION_SPECtsetParseActiont VERSION_SPECtMARKER_SEPERATORtMARKERtVERSION_AND_MARKERtURL_AND_MARKERtNAMED_REQUIREMENTR.tobjectR-(((sF/usr/lib/python2.7/site-packages/pip/_vendor/packaging/requirements.pytsZ  "(