Skip to content

Commit

Permalink
Support parsing the Metadata field in html using the XML parser
Browse files Browse the repository at this point in the history
We want to be able to parse HTML using the XML parse, this change will enable us to parse the meta table tags
  • Loading branch information
lkerford committed Oct 11, 2024
1 parent d2f3de2 commit a65a89e
Show file tree
Hide file tree
Showing 18 changed files with 727 additions and 511 deletions.
1 change: 1 addition & 0 deletions rewrite-xml/src/main/antlr/XMLLexer.g4
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ S : [ \t\r\n] -> skip ;
// JSP extension to the XML spec
DIRECTIVE_OPEN : '%@' ;
DIRECTIVE_CLOSE: '%';
META options { caseInsensitive = true; } : 'meta' ;

SLASH : '/' ;
EQUALS : '=' ;
Expand Down
14 changes: 7 additions & 7 deletions rewrite-xml/src/main/antlr/XMLLexer.tokens
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ SLASH_CLOSE=29
S=30
DIRECTIVE_OPEN=31
DIRECTIVE_CLOSE=32
SLASH=33
EQUALS=34
STRING=35
Name=36
META=33
SLASH=34
EQUALS=35
STRING=36
Name=37
'?'=8
'<'=10
'DOCTYPE'=17
'/>'=29
'%@'=31
'%'=32
'/'=33
'='=34
'/'=34
'='=35
6 changes: 5 additions & 1 deletion rewrite-xml/src/main/antlr/XMLParser.g4
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,10 @@ doctypedecl
: DTD_OPEN DOCTYPE Name externalid STRING* (DTD_SUBSET_OPEN intsubset DTD_SUBSET_CLOSE)? DTD_CLOSE
;

metadata
: OPEN META attribute* CLOSE
;

intsubset
: (markupdecl | declSep)* ;

Expand All @@ -73,7 +77,7 @@ processinginstruction
;

content
: (element | reference | processinginstruction | CDATA | COMMENT | chardata) ;
: (metadata | element | reference | processinginstruction | CDATA | COMMENT | chardata ) ;

element
: OPEN Name attribute* CLOSE content* OPEN '/' Name CLOSE
Expand Down
4 changes: 4 additions & 0 deletions rewrite-xml/src/main/java/org/openrewrite/xml/XmlVisitor.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,10 @@ public Xml visitXmlDecl(Xml.XmlDecl xmlDecl, P p) {
return x.withAttributes(ListUtils.map(x.getAttributes(), a -> visitAndCast(a, p)));
}

public Xml visitMetadata(Xml.Metadata metadata, P p) {
return metadata.withMarkers(visitMarkers(metadata.getMarkers(), p));
}

public Xml visitProcessingInstruction(Xml.ProcessingInstruction processingInstruction, P p) {
Xml.ProcessingInstruction pi = processingInstruction.withMarkers(visitMarkers(processingInstruction.getMarkers(), p));
pi = pi.withProcessingInstructions(visitAndCast(pi.getProcessingInstructions(), p));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,20 @@ public Xml visitContent(XMLParser.ContentContext ctx) {
prefix,
Markers.EMPTY,
comment.getText().substring("<!--".length(), comment.getText().length() - "-->".length())));
} else if (ctx.metadata() != null) {
return convert(ctx.metadata(), (metadata, prefix) -> {
String name = "";//convert(ctx.SPECIAL_OPEN_XML(), (n, p) -> n.getText()).substring(2);
List<Xml.Attribute> attributes = metadata.attribute().stream()
.map(this::visitAttribute)
.collect(toList());
return new Xml.Metadata(
randomId(),
prefix,
Markers.EMPTY,
attributes,
prefix(ctx.getStop()));
}
);
}

return super.visitContent(ctx);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,16 @@ public Xml visitTag(Xml.Tag tag, PrintOutputCapture<P> p) {
return tag;
}

@Override
public Xml visitMetadata(Xml.Metadata xmlDecl, PrintOutputCapture<P> p) {
beforeSyntax(xmlDecl, p);
visit(xmlDecl.getAttributes(), p);
p.append(xmlDecl.getBeforeTagDelimiterPrefix())
.append(">");
afterSyntax(xmlDecl, p);
return xmlDecl;
}

@Override
public Xml visitTagClosing(Xml.Tag.Closing closing, PrintOutputCapture<P> p) {
beforeSyntax(closing, p);
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,15 @@ SLASH_CLOSE=29
S=30
DIRECTIVE_OPEN=31
DIRECTIVE_CLOSE=32
SLASH=33
EQUALS=34
STRING=35
Name=36
META=33
SLASH=34
EQUALS=35
STRING=36
Name=37
'?'=8
'<'=10
'/>'=29
'%@'=31
'%'=32
'/'=33
'='=34
'/'=34
'='=35
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ null
null
'%@'
'%'
null
'/'
'='
null
Expand Down Expand Up @@ -71,6 +72,7 @@ SLASH_CLOSE
S
DIRECTIVE_OPEN
DIRECTIVE_CLOSE
META
SLASH
EQUALS
STRING
Expand All @@ -82,6 +84,7 @@ prolog
xmldecl
misc
doctypedecl
metadata
intsubset
markupdecl
declSep
Expand All @@ -96,4 +99,4 @@ chardata


atn:
[4, 1, 36, 182, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 1, 0, 3, 0, 34, 8, 0, 1, 0, 1, 0, 1, 0, 1, 1, 3, 1, 40, 8, 1, 1, 1, 5, 1, 43, 8, 1, 10, 1, 12, 1, 46, 9, 1, 1, 1, 5, 1, 49, 8, 1, 10, 1, 12, 1, 52, 9, 1, 1, 2, 1, 2, 5, 2, 56, 8, 2, 10, 2, 12, 2, 59, 9, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 3, 3, 66, 8, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 5, 4, 73, 8, 4, 10, 4, 12, 4, 76, 9, 4, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 82, 8, 4, 1, 4, 1, 4, 1, 5, 1, 5, 5, 5, 88, 8, 5, 10, 5, 12, 5, 91, 9, 5, 1, 6, 1, 6, 3, 6, 95, 8, 6, 1, 6, 5, 6, 98, 8, 6, 10, 6, 12, 6, 101, 9, 6, 1, 6, 3, 6, 104, 8, 6, 1, 6, 1, 6, 1, 6, 3, 6, 109, 8, 6, 1, 7, 1, 7, 1, 8, 3, 8, 114, 8, 8, 1, 9, 1, 9, 4, 9, 118, 8, 9, 11, 9, 12, 9, 119, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 130, 8, 10, 1, 11, 1, 11, 1, 11, 5, 11, 135, 8, 11, 10, 11, 12, 11, 138, 9, 11, 1, 11, 1, 11, 5, 11, 142, 8, 11, 10, 11, 12, 11, 145, 9, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 5, 11, 154, 8, 11, 10, 11, 12, 11, 157, 9, 11, 1, 11, 3, 11, 160, 8, 11, 1, 12, 1, 12, 1, 12, 1, 12, 5, 12, 166, 8, 12, 10, 12, 12, 12, 169, 9, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 0, 0, 16, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 1, 0, 4, 5, 3, 0, 6, 6, 8, 8, 13, 13, 193, 0, 33, 1, 0, 0, 0, 2, 39, 1, 0, 0, 0, 4, 53, 1, 0, 0, 0, 6, 65, 1, 0, 0, 0, 8, 67, 1, 0, 0, 0, 10, 89, 1, 0, 0, 0, 12, 108, 1, 0, 0, 0, 14, 110, 1, 0, 0, 0, 16, 113, 1, 0, 0, 0, 18, 115, 1, 0, 0, 0, 20, 129, 1, 0, 0, 0, 22, 159, 1, 0, 0, 0, 24, 161, 1, 0, 0, 0, 26, 173, 1, 0, 0, 0, 28, 175, 1, 0, 0, 0, 30, 179, 1, 0, 0, 0, 32, 34, 5, 7, 0, 0, 33, 32, 1, 0, 0, 0, 33, 34, 1, 0, 0, 0, 34, 35, 1, 0, 0, 0, 35, 36, 3, 2, 1, 0, 36, 37, 3, 22, 11, 0, 37, 1, 1, 0, 0, 0, 38, 40, 3, 4, 2, 0, 39, 38, 1, 0, 0, 0, 39, 40, 1, 0, 0, 0, 40, 44, 1, 0, 0, 0, 41, 43, 3, 6, 3, 0, 42, 41, 1, 0, 0, 0, 43, 46, 1, 0, 0, 0, 44, 42, 1, 0, 0, 0, 44, 45, 1, 0, 0, 0, 45, 50, 1, 0, 0, 0, 46, 44, 1, 0, 0, 0, 47, 49, 3, 24, 12, 0, 48, 47, 1, 0, 0, 0, 49, 52, 1, 0, 0, 0, 50, 48, 1, 0, 0, 0, 50, 51, 1, 0, 0, 0, 51, 3, 1, 0, 0, 0, 52, 50, 1, 0, 0, 0, 53, 57, 5, 9, 0, 0, 54, 56, 3, 28, 14, 0, 55, 54, 1, 0, 0, 0, 56, 59, 1, 0, 0, 0, 57, 55, 1, 0, 0, 0, 57, 58, 1, 0, 0, 0, 58, 60, 1, 0, 0, 0, 59, 57, 1, 0, 0, 0, 60, 61, 5, 28, 0, 0, 61, 5, 1, 0, 0, 0, 62, 66, 5, 1, 0, 0, 63, 66, 3, 8, 4, 0, 64, 66, 3, 18, 9, 0, 65, 62, 1, 0, 0, 0, 65, 63, 1, 0, 0, 0, 65, 64, 1, 0, 0, 0, 66, 7, 1, 0, 0, 0, 67, 68, 5, 12, 0, 0, 68, 69, 5, 17, 0, 0, 69, 70, 5, 36, 0, 0, 70, 74, 3, 16, 8, 0, 71, 73, 5, 35, 0, 0, 72, 71, 1, 0, 0, 0, 73, 76, 1, 0, 0, 0, 74, 72, 1, 0, 0, 0, 74, 75, 1, 0, 0, 0, 75, 81, 1, 0, 0, 0, 76, 74, 1, 0, 0, 0, 77, 78, 5, 15, 0, 0, 78, 79, 3, 10, 5, 0, 79, 80, 5, 18, 0, 0, 80, 82, 1, 0, 0, 0, 81, 77, 1, 0, 0, 0, 81, 82, 1, 0, 0, 0, 82, 83, 1, 0, 0, 0, 83, 84, 5, 14, 0, 0, 84, 9, 1, 0, 0, 0, 85, 88, 3, 12, 6, 0, 86, 88, 3, 14, 7, 0, 87, 85, 1, 0, 0, 0, 87, 86, 1, 0, 0, 0, 88, 91, 1, 0, 0, 0, 89, 87, 1, 0, 0, 0, 89, 90, 1, 0, 0, 0, 90, 11, 1, 0, 0, 0, 91, 89, 1, 0, 0, 0, 92, 94, 5, 19, 0, 0, 93, 95, 5, 23, 0, 0, 94, 93, 1, 0, 0, 0, 94, 95, 1, 0, 0, 0, 95, 99, 1, 0, 0, 0, 96, 98, 5, 24, 0, 0, 97, 96, 1, 0, 0, 0, 98, 101, 1, 0, 0, 0, 99, 97, 1, 0, 0, 0, 99, 100, 1, 0, 0, 0, 100, 103, 1, 0, 0, 0, 101, 99, 1, 0, 0, 0, 102, 104, 5, 23, 0, 0, 103, 102, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 105, 1, 0, 0, 0, 105, 109, 5, 21, 0, 0, 106, 109, 3, 18, 9, 0, 107, 109, 5, 1, 0, 0, 108, 92, 1, 0, 0, 0, 108, 106, 1, 0, 0, 0, 108, 107, 1, 0, 0, 0, 109, 13, 1, 0, 0, 0, 110, 111, 5, 3, 0, 0, 111, 15, 1, 0, 0, 0, 112, 114, 5, 36, 0, 0, 113, 112, 1, 0, 0, 0, 113, 114, 1, 0, 0, 0, 114, 17, 1, 0, 0, 0, 115, 117, 5, 11, 0, 0, 116, 118, 5, 26, 0, 0, 117, 116, 1, 0, 0, 0, 118, 119, 1, 0, 0, 0, 119, 117, 1, 0, 0, 0, 119, 120, 1, 0, 0, 0, 120, 121, 1, 0, 0, 0, 121, 122, 5, 28, 0, 0, 122, 19, 1, 0, 0, 0, 123, 130, 3, 22, 11, 0, 124, 130, 3, 26, 13, 0, 125, 130, 3, 18, 9, 0, 126, 130, 5, 2, 0, 0, 127, 130, 5, 1, 0, 0, 128, 130, 3, 30, 15, 0, 129, 123, 1, 0, 0, 0, 129, 124, 1, 0, 0, 0, 129, 125, 1, 0, 0, 0, 129, 126, 1, 0, 0, 0, 129, 127, 1, 0, 0, 0, 129, 128, 1, 0, 0, 0, 130, 21, 1, 0, 0, 0, 131, 132, 5, 10, 0, 0, 132, 136, 5, 36, 0, 0, 133, 135, 3, 28, 14, 0, 134, 133, 1, 0, 0, 0, 135, 138, 1, 0, 0, 0, 136, 134, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 139, 1, 0, 0, 0, 138, 136, 1, 0, 0, 0, 139, 143, 5, 27, 0, 0, 140, 142, 3, 20, 10, 0, 141, 140, 1, 0, 0, 0, 142, 145, 1, 0, 0, 0, 143, 141, 1, 0, 0, 0, 143, 144, 1, 0, 0, 0, 144, 146, 1, 0, 0, 0, 145, 143, 1, 0, 0, 0, 146, 147, 5, 10, 0, 0, 147, 148, 5, 33, 0, 0, 148, 149, 5, 36, 0, 0, 149, 160, 5, 27, 0, 0, 150, 151, 5, 10, 0, 0, 151, 155, 5, 36, 0, 0, 152, 154, 3, 28, 14, 0, 153, 152, 1, 0, 0, 0, 154, 157, 1, 0, 0, 0, 155, 153, 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156, 158, 1, 0, 0, 0, 157, 155, 1, 0, 0, 0, 158, 160, 5, 29, 0, 0, 159, 131, 1, 0, 0, 0, 159, 150, 1, 0, 0, 0, 160, 23, 1, 0, 0, 0, 161, 162, 5, 10, 0, 0, 162, 163, 5, 31, 0, 0, 163, 167, 5, 36, 0, 0, 164, 166, 3, 28, 14, 0, 165, 164, 1, 0, 0, 0, 166, 169, 1, 0, 0, 0, 167, 165, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 170, 1, 0, 0, 0, 169, 167, 1, 0, 0, 0, 170, 171, 5, 32, 0, 0, 171, 172, 5, 27, 0, 0, 172, 25, 1, 0, 0, 0, 173, 174, 7, 0, 0, 0, 174, 27, 1, 0, 0, 0, 175, 176, 5, 36, 0, 0, 176, 177, 5, 34, 0, 0, 177, 178, 5, 35, 0, 0, 178, 29, 1, 0, 0, 0, 179, 180, 7, 1, 0, 0, 180, 31, 1, 0, 0, 0, 22, 33, 39, 44, 50, 57, 65, 74, 81, 87, 89, 94, 99, 103, 108, 113, 119, 129, 136, 143, 155, 159, 167]
[4, 1, 37, 195, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 1, 0, 3, 0, 36, 8, 0, 1, 0, 1, 0, 1, 0, 1, 1, 3, 1, 42, 8, 1, 1, 1, 5, 1, 45, 8, 1, 10, 1, 12, 1, 48, 9, 1, 1, 1, 5, 1, 51, 8, 1, 10, 1, 12, 1, 54, 9, 1, 1, 2, 1, 2, 5, 2, 58, 8, 2, 10, 2, 12, 2, 61, 9, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 3, 3, 68, 8, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 5, 4, 75, 8, 4, 10, 4, 12, 4, 78, 9, 4, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 84, 8, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 5, 5, 91, 8, 5, 10, 5, 12, 5, 94, 9, 5, 1, 5, 1, 5, 1, 6, 1, 6, 5, 6, 100, 8, 6, 10, 6, 12, 6, 103, 9, 6, 1, 7, 1, 7, 3, 7, 107, 8, 7, 1, 7, 5, 7, 110, 8, 7, 10, 7, 12, 7, 113, 9, 7, 1, 7, 3, 7, 116, 8, 7, 1, 7, 1, 7, 1, 7, 3, 7, 121, 8, 7, 1, 8, 1, 8, 1, 9, 3, 9, 126, 8, 9, 1, 10, 1, 10, 4, 10, 130, 8, 10, 11, 10, 12, 10, 131, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 143, 8, 11, 1, 12, 1, 12, 1, 12, 5, 12, 148, 8, 12, 10, 12, 12, 12, 151, 9, 12, 1, 12, 1, 12, 5, 12, 155, 8, 12, 10, 12, 12, 12, 158, 9, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 5, 12, 167, 8, 12, 10, 12, 12, 12, 170, 9, 12, 1, 12, 3, 12, 173, 8, 12, 1, 13, 1, 13, 1, 13, 1, 13, 5, 13, 179, 8, 13, 10, 13, 12, 13, 182, 9, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 0, 0, 17, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 0, 2, 1, 0, 4, 5, 3, 0, 6, 6, 8, 8, 13, 13, 207, 0, 35, 1, 0, 0, 0, 2, 41, 1, 0, 0, 0, 4, 55, 1, 0, 0, 0, 6, 67, 1, 0, 0, 0, 8, 69, 1, 0, 0, 0, 10, 87, 1, 0, 0, 0, 12, 101, 1, 0, 0, 0, 14, 120, 1, 0, 0, 0, 16, 122, 1, 0, 0, 0, 18, 125, 1, 0, 0, 0, 20, 127, 1, 0, 0, 0, 22, 142, 1, 0, 0, 0, 24, 172, 1, 0, 0, 0, 26, 174, 1, 0, 0, 0, 28, 186, 1, 0, 0, 0, 30, 188, 1, 0, 0, 0, 32, 192, 1, 0, 0, 0, 34, 36, 5, 7, 0, 0, 35, 34, 1, 0, 0, 0, 35, 36, 1, 0, 0, 0, 36, 37, 1, 0, 0, 0, 37, 38, 3, 2, 1, 0, 38, 39, 3, 24, 12, 0, 39, 1, 1, 0, 0, 0, 40, 42, 3, 4, 2, 0, 41, 40, 1, 0, 0, 0, 41, 42, 1, 0, 0, 0, 42, 46, 1, 0, 0, 0, 43, 45, 3, 6, 3, 0, 44, 43, 1, 0, 0, 0, 45, 48, 1, 0, 0, 0, 46, 44, 1, 0, 0, 0, 46, 47, 1, 0, 0, 0, 47, 52, 1, 0, 0, 0, 48, 46, 1, 0, 0, 0, 49, 51, 3, 26, 13, 0, 50, 49, 1, 0, 0, 0, 51, 54, 1, 0, 0, 0, 52, 50, 1, 0, 0, 0, 52, 53, 1, 0, 0, 0, 53, 3, 1, 0, 0, 0, 54, 52, 1, 0, 0, 0, 55, 59, 5, 9, 0, 0, 56, 58, 3, 30, 15, 0, 57, 56, 1, 0, 0, 0, 58, 61, 1, 0, 0, 0, 59, 57, 1, 0, 0, 0, 59, 60, 1, 0, 0, 0, 60, 62, 1, 0, 0, 0, 61, 59, 1, 0, 0, 0, 62, 63, 5, 28, 0, 0, 63, 5, 1, 0, 0, 0, 64, 68, 5, 1, 0, 0, 65, 68, 3, 8, 4, 0, 66, 68, 3, 20, 10, 0, 67, 64, 1, 0, 0, 0, 67, 65, 1, 0, 0, 0, 67, 66, 1, 0, 0, 0, 68, 7, 1, 0, 0, 0, 69, 70, 5, 12, 0, 0, 70, 71, 5, 17, 0, 0, 71, 72, 5, 37, 0, 0, 72, 76, 3, 18, 9, 0, 73, 75, 5, 36, 0, 0, 74, 73, 1, 0, 0, 0, 75, 78, 1, 0, 0, 0, 76, 74, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 83, 1, 0, 0, 0, 78, 76, 1, 0, 0, 0, 79, 80, 5, 15, 0, 0, 80, 81, 3, 12, 6, 0, 81, 82, 5, 18, 0, 0, 82, 84, 1, 0, 0, 0, 83, 79, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 85, 1, 0, 0, 0, 85, 86, 5, 14, 0, 0, 86, 9, 1, 0, 0, 0, 87, 88, 5, 10, 0, 0, 88, 92, 5, 33, 0, 0, 89, 91, 3, 30, 15, 0, 90, 89, 1, 0, 0, 0, 91, 94, 1, 0, 0, 0, 92, 90, 1, 0, 0, 0, 92, 93, 1, 0, 0, 0, 93, 95, 1, 0, 0, 0, 94, 92, 1, 0, 0, 0, 95, 96, 5, 27, 0, 0, 96, 11, 1, 0, 0, 0, 97, 100, 3, 14, 7, 0, 98, 100, 3, 16, 8, 0, 99, 97, 1, 0, 0, 0, 99, 98, 1, 0, 0, 0, 100, 103, 1, 0, 0, 0, 101, 99, 1, 0, 0, 0, 101, 102, 1, 0, 0, 0, 102, 13, 1, 0, 0, 0, 103, 101, 1, 0, 0, 0, 104, 106, 5, 19, 0, 0, 105, 107, 5, 23, 0, 0, 106, 105, 1, 0, 0, 0, 106, 107, 1, 0, 0, 0, 107, 111, 1, 0, 0, 0, 108, 110, 5, 24, 0, 0, 109, 108, 1, 0, 0, 0, 110, 113, 1, 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 115, 1, 0, 0, 0, 113, 111, 1, 0, 0, 0, 114, 116, 5, 23, 0, 0, 115, 114, 1, 0, 0, 0, 115, 116, 1, 0, 0, 0, 116, 117, 1, 0, 0, 0, 117, 121, 5, 21, 0, 0, 118, 121, 3, 20, 10, 0, 119, 121, 5, 1, 0, 0, 120, 104, 1, 0, 0, 0, 120, 118, 1, 0, 0, 0, 120, 119, 1, 0, 0, 0, 121, 15, 1, 0, 0, 0, 122, 123, 5, 3, 0, 0, 123, 17, 1, 0, 0, 0, 124, 126, 5, 37, 0, 0, 125, 124, 1, 0, 0, 0, 125, 126, 1, 0, 0, 0, 126, 19, 1, 0, 0, 0, 127, 129, 5, 11, 0, 0, 128, 130, 5, 26, 0, 0, 129, 128, 1, 0, 0, 0, 130, 131, 1, 0, 0, 0, 131, 129, 1, 0, 0, 0, 131, 132, 1, 0, 0, 0, 132, 133, 1, 0, 0, 0, 133, 134, 5, 28, 0, 0, 134, 21, 1, 0, 0, 0, 135, 143, 3, 10, 5, 0, 136, 143, 3, 24, 12, 0, 137, 143, 3, 28, 14, 0, 138, 143, 3, 20, 10, 0, 139, 143, 5, 2, 0, 0, 140, 143, 5, 1, 0, 0, 141, 143, 3, 32, 16, 0, 142, 135, 1, 0, 0, 0, 142, 136, 1, 0, 0, 0, 142, 137, 1, 0, 0, 0, 142, 138, 1, 0, 0, 0, 142, 139, 1, 0, 0, 0, 142, 140, 1, 0, 0, 0, 142, 141, 1, 0, 0, 0, 143, 23, 1, 0, 0, 0, 144, 145, 5, 10, 0, 0, 145, 149, 5, 37, 0, 0, 146, 148, 3, 30, 15, 0, 147, 146, 1, 0, 0, 0, 148, 151, 1, 0, 0, 0, 149, 147, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 152, 1, 0, 0, 0, 151, 149, 1, 0, 0, 0, 152, 156, 5, 27, 0, 0, 153, 155, 3, 22, 11, 0, 154, 153, 1, 0, 0, 0, 155, 158, 1, 0, 0, 0, 156, 154, 1, 0, 0, 0, 156, 157, 1, 0, 0, 0, 157, 159, 1, 0, 0, 0, 158, 156, 1, 0, 0, 0, 159, 160, 5, 10, 0, 0, 160, 161, 5, 34, 0, 0, 161, 162, 5, 37, 0, 0, 162, 173, 5, 27, 0, 0, 163, 164, 5, 10, 0, 0, 164, 168, 5, 37, 0, 0, 165, 167, 3, 30, 15, 0, 166, 165, 1, 0, 0, 0, 167, 170, 1, 0, 0, 0, 168, 166, 1, 0, 0, 0, 168, 169, 1, 0, 0, 0, 169, 171, 1, 0, 0, 0, 170, 168, 1, 0, 0, 0, 171, 173, 5, 29, 0, 0, 172, 144, 1, 0, 0, 0, 172, 163, 1, 0, 0, 0, 173, 25, 1, 0, 0, 0, 174, 175, 5, 10, 0, 0, 175, 176, 5, 31, 0, 0, 176, 180, 5, 37, 0, 0, 177, 179, 3, 30, 15, 0, 178, 177, 1, 0, 0, 0, 179, 182, 1, 0, 0, 0, 180, 178, 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 183, 1, 0, 0, 0, 182, 180, 1, 0, 0, 0, 183, 184, 5, 32, 0, 0, 184, 185, 5, 27, 0, 0, 185, 27, 1, 0, 0, 0, 186, 187, 7, 0, 0, 0, 187, 29, 1, 0, 0, 0, 188, 189, 5, 37, 0, 0, 189, 190, 5, 35, 0, 0, 190, 191, 5, 36, 0, 0, 191, 31, 1, 0, 0, 0, 192, 193, 7, 1, 0, 0, 193, 33, 1, 0, 0, 0, 23, 35, 41, 46, 52, 59, 67, 76, 83, 92, 99, 101, 106, 111, 115, 120, 125, 131, 142, 149, 156, 168, 172, 180]
Loading

0 comments on commit a65a89e

Please sign in to comment.