| 
						 | 
						- range-set  ::= range ( logical-or range ) *
 - logical-or ::= ( ' ' ) * '||' ( ' ' ) *
 - range      ::= hyphen | simple ( ' ' simple ) * | ''
 - hyphen     ::= partial ' - ' partial
 - simple     ::= primitive | partial | tilde | caret
 - primitive  ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
 - partial    ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
 - xr         ::= 'x' | 'X' | '*' | nr
 - nr         ::= '0' | [1-9] ( [0-9] ) *
 - tilde      ::= '~' partial
 - caret      ::= '^' partial
 - qualifier  ::= ( '-' pre )? ( '+' build )?
 - pre        ::= parts
 - build      ::= parts
 - parts      ::= part ( '.' part ) *
 - part       ::= nr | [-0-9A-Za-z]+
 
 
  |