code: function checkAttributeSelector1(i) {
    const start = i;
  
    if (tokens[i].type === TokenType.LeftSquareBracket) i++;
    else return 0;
  
    let l;
    if (l = checkSC(i)) i += l;
  
    if (l = checkAttributeName(i)) i += l;
    else return 0;
  
    if (l = checkSC(i)) i += l;
  
    if (l = checkAttributeMatch(i)) i += l;
    else return 0;
  
    if (l = checkSC(i)) i += l;
  
    if (l = checkAttributeValue(i)) i += l;
    else return 0;
  
    if (l = checkSC(i)) i += l;
  
    if (l = checkAttributeFlags(i)) {
      i += l;
      if (l = checkSC(i)) i += l;
    }
  
    if (tokens[i].type === TokenType.RightSquareBracket) i++;
    else return 0;
  
    return i - start;
  }
docs: (1) `[panda=nani]`
  (2) `[panda='nani']`
  (3) `[panda='nani' i]`