Skip to content

Commit

Permalink
RegexExtract added
Browse files Browse the repository at this point in the history
  • Loading branch information
davesavic committed Aug 20, 2023
1 parent 0334e44 commit ac93efd
Show file tree
Hide file tree
Showing 13 changed files with 405 additions and 198 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ Columns ... # list of columns to be transformed
-> Split on {separator} as {column_names}
-> Replace {old} with {new} # replaces old string with new string
-> RegexReplace {pattern} with {new} # replaces regex pattern with new string
-> RegexExtract {pattern} into {column_names} # extracts regex pattern into new columns if pattern matches
```

#### More Features To Come
4 changes: 3 additions & 1 deletion gen/CsvShiftGrammar.interp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ null
'-> ToUpper'
'-> Split on'
'-> RegexReplace'
'-> RegexExtract'
'with'
'as'
','
Expand All @@ -33,6 +34,7 @@ LOWER
UPPER
SPLIT
REGEXREPLACE
REGEXEXTRACT
WITH
AS
COMMA
Expand All @@ -55,4 +57,4 @@ columns


atn:
[4, 1, 19, 95, 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, 1, 0, 1, 0, 5, 0, 21, 8, 0, 10, 0, 12, 0, 24, 9, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 3, 3, 37, 8, 3, 1, 4, 1, 4, 1, 4, 4, 4, 42, 8, 4, 11, 4, 12, 4, 43, 1, 5, 1, 5, 1, 5, 4, 5, 49, 8, 5, 11, 5, 12, 5, 50, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 68, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 85, 8, 7, 1, 8, 1, 8, 1, 8, 5, 8, 90, 8, 8, 10, 8, 12, 8, 93, 9, 8, 1, 8, 0, 0, 9, 0, 2, 4, 6, 8, 10, 12, 14, 16, 0, 0, 100, 0, 18, 1, 0, 0, 0, 2, 28, 1, 0, 0, 0, 4, 31, 1, 0, 0, 0, 6, 36, 1, 0, 0, 0, 8, 38, 1, 0, 0, 0, 10, 45, 1, 0, 0, 0, 12, 67, 1, 0, 0, 0, 14, 84, 1, 0, 0, 0, 16, 86, 1, 0, 0, 0, 18, 22, 3, 2, 1, 0, 19, 21, 3, 6, 3, 0, 20, 19, 1, 0, 0, 0, 21, 24, 1, 0, 0, 0, 22, 20, 1, 0, 0, 0, 22, 23, 1, 0, 0, 0, 23, 25, 1, 0, 0, 0, 24, 22, 1, 0, 0, 0, 25, 26, 3, 4, 2, 0, 26, 27, 5, 0, 0, 1, 27, 1, 1, 0, 0, 0, 28, 29, 5, 1, 0, 0, 29, 30, 3, 16, 8, 0, 30, 3, 1, 0, 0, 0, 31, 32, 5, 2, 0, 0, 32, 33, 3, 16, 8, 0, 33, 5, 1, 0, 0, 0, 34, 37, 3, 8, 4, 0, 35, 37, 3, 10, 5, 0, 36, 34, 1, 0, 0, 0, 36, 35, 1, 0, 0, 0, 37, 7, 1, 0, 0, 0, 38, 39, 5, 3, 0, 0, 39, 41, 5, 17, 0, 0, 40, 42, 3, 12, 6, 0, 41, 40, 1, 0, 0, 0, 42, 43, 1, 0, 0, 0, 43, 41, 1, 0, 0, 0, 43, 44, 1, 0, 0, 0, 44, 9, 1, 0, 0, 0, 45, 46, 5, 4, 0, 0, 46, 48, 3, 16, 8, 0, 47, 49, 3, 14, 7, 0, 48, 47, 1, 0, 0, 0, 49, 50, 1, 0, 0, 0, 50, 48, 1, 0, 0, 0, 50, 51, 1, 0, 0, 0, 51, 11, 1, 0, 0, 0, 52, 68, 5, 5, 0, 0, 53, 54, 5, 6, 0, 0, 54, 55, 5, 18, 0, 0, 55, 56, 5, 12, 0, 0, 56, 68, 5, 18, 0, 0, 57, 68, 5, 8, 0, 0, 58, 68, 5, 9, 0, 0, 59, 60, 5, 10, 0, 0, 60, 61, 5, 18, 0, 0, 61, 62, 5, 13, 0, 0, 62, 68, 3, 16, 8, 0, 63, 64, 5, 11, 0, 0, 64, 65, 5, 18, 0, 0, 65, 66, 5, 12, 0, 0, 66, 68, 5, 18, 0, 0, 67, 52, 1, 0, 0, 0, 67, 53, 1, 0, 0, 0, 67, 57, 1, 0, 0, 0, 67, 58, 1, 0, 0, 0, 67, 59, 1, 0, 0, 0, 67, 63, 1, 0, 0, 0, 68, 13, 1, 0, 0, 0, 69, 85, 5, 5, 0, 0, 70, 71, 5, 6, 0, 0, 71, 72, 5, 18, 0, 0, 72, 73, 5, 12, 0, 0, 73, 85, 5, 18, 0, 0, 74, 75, 5, 7, 0, 0, 75, 76, 5, 18, 0, 0, 76, 77, 5, 13, 0, 0, 77, 85, 5, 17, 0, 0, 78, 85, 5, 8, 0, 0, 79, 85, 5, 9, 0, 0, 80, 81, 5, 11, 0, 0, 81, 82, 5, 18, 0, 0, 82, 83, 5, 12, 0, 0, 83, 85, 5, 18, 0, 0, 84, 69, 1, 0, 0, 0, 84, 70, 1, 0, 0, 0, 84, 74, 1, 0, 0, 0, 84, 78, 1, 0, 0, 0, 84, 79, 1, 0, 0, 0, 84, 80, 1, 0, 0, 0, 85, 15, 1, 0, 0, 0, 86, 91, 5, 17, 0, 0, 87, 88, 5, 14, 0, 0, 88, 90, 5, 17, 0, 0, 89, 87, 1, 0, 0, 0, 90, 93, 1, 0, 0, 0, 91, 89, 1, 0, 0, 0, 91, 92, 1, 0, 0, 0, 92, 17, 1, 0, 0, 0, 93, 91, 1, 0, 0, 0, 7, 22, 36, 43, 50, 67, 84, 91]
[4, 1, 20, 99, 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, 1, 0, 1, 0, 5, 0, 21, 8, 0, 10, 0, 12, 0, 24, 9, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 3, 3, 37, 8, 3, 1, 4, 1, 4, 1, 4, 4, 4, 42, 8, 4, 11, 4, 12, 4, 43, 1, 5, 1, 5, 1, 5, 4, 5, 49, 8, 5, 11, 5, 12, 5, 50, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 72, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 89, 8, 7, 1, 8, 1, 8, 1, 8, 5, 8, 94, 8, 8, 10, 8, 12, 8, 97, 9, 8, 1, 8, 0, 0, 9, 0, 2, 4, 6, 8, 10, 12, 14, 16, 0, 0, 105, 0, 18, 1, 0, 0, 0, 2, 28, 1, 0, 0, 0, 4, 31, 1, 0, 0, 0, 6, 36, 1, 0, 0, 0, 8, 38, 1, 0, 0, 0, 10, 45, 1, 0, 0, 0, 12, 71, 1, 0, 0, 0, 14, 88, 1, 0, 0, 0, 16, 90, 1, 0, 0, 0, 18, 22, 3, 2, 1, 0, 19, 21, 3, 6, 3, 0, 20, 19, 1, 0, 0, 0, 21, 24, 1, 0, 0, 0, 22, 20, 1, 0, 0, 0, 22, 23, 1, 0, 0, 0, 23, 25, 1, 0, 0, 0, 24, 22, 1, 0, 0, 0, 25, 26, 3, 4, 2, 0, 26, 27, 5, 0, 0, 1, 27, 1, 1, 0, 0, 0, 28, 29, 5, 1, 0, 0, 29, 30, 3, 16, 8, 0, 30, 3, 1, 0, 0, 0, 31, 32, 5, 2, 0, 0, 32, 33, 3, 16, 8, 0, 33, 5, 1, 0, 0, 0, 34, 37, 3, 8, 4, 0, 35, 37, 3, 10, 5, 0, 36, 34, 1, 0, 0, 0, 36, 35, 1, 0, 0, 0, 37, 7, 1, 0, 0, 0, 38, 39, 5, 3, 0, 0, 39, 41, 5, 18, 0, 0, 40, 42, 3, 12, 6, 0, 41, 40, 1, 0, 0, 0, 42, 43, 1, 0, 0, 0, 43, 41, 1, 0, 0, 0, 43, 44, 1, 0, 0, 0, 44, 9, 1, 0, 0, 0, 45, 46, 5, 4, 0, 0, 46, 48, 3, 16, 8, 0, 47, 49, 3, 14, 7, 0, 48, 47, 1, 0, 0, 0, 49, 50, 1, 0, 0, 0, 50, 48, 1, 0, 0, 0, 50, 51, 1, 0, 0, 0, 51, 11, 1, 0, 0, 0, 52, 72, 5, 5, 0, 0, 53, 54, 5, 6, 0, 0, 54, 55, 5, 19, 0, 0, 55, 56, 5, 13, 0, 0, 56, 72, 5, 19, 0, 0, 57, 72, 5, 8, 0, 0, 58, 72, 5, 9, 0, 0, 59, 60, 5, 10, 0, 0, 60, 61, 5, 19, 0, 0, 61, 62, 5, 14, 0, 0, 62, 72, 3, 16, 8, 0, 63, 64, 5, 11, 0, 0, 64, 65, 5, 19, 0, 0, 65, 66, 5, 13, 0, 0, 66, 72, 5, 19, 0, 0, 67, 68, 5, 12, 0, 0, 68, 69, 5, 19, 0, 0, 69, 70, 5, 14, 0, 0, 70, 72, 3, 16, 8, 0, 71, 52, 1, 0, 0, 0, 71, 53, 1, 0, 0, 0, 71, 57, 1, 0, 0, 0, 71, 58, 1, 0, 0, 0, 71, 59, 1, 0, 0, 0, 71, 63, 1, 0, 0, 0, 71, 67, 1, 0, 0, 0, 72, 13, 1, 0, 0, 0, 73, 89, 5, 5, 0, 0, 74, 75, 5, 6, 0, 0, 75, 76, 5, 19, 0, 0, 76, 77, 5, 13, 0, 0, 77, 89, 5, 19, 0, 0, 78, 79, 5, 7, 0, 0, 79, 80, 5, 19, 0, 0, 80, 81, 5, 14, 0, 0, 81, 89, 5, 18, 0, 0, 82, 89, 5, 8, 0, 0, 83, 89, 5, 9, 0, 0, 84, 85, 5, 11, 0, 0, 85, 86, 5, 19, 0, 0, 86, 87, 5, 13, 0, 0, 87, 89, 5, 19, 0, 0, 88, 73, 1, 0, 0, 0, 88, 74, 1, 0, 0, 0, 88, 78, 1, 0, 0, 0, 88, 82, 1, 0, 0, 0, 88, 83, 1, 0, 0, 0, 88, 84, 1, 0, 0, 0, 89, 15, 1, 0, 0, 0, 90, 95, 5, 18, 0, 0, 91, 92, 5, 15, 0, 0, 92, 94, 5, 18, 0, 0, 93, 91, 1, 0, 0, 0, 94, 97, 1, 0, 0, 0, 95, 93, 1, 0, 0, 0, 95, 96, 1, 0, 0, 0, 96, 17, 1, 0, 0, 0, 97, 95, 1, 0, 0, 0, 7, 22, 36, 43, 50, 71, 88, 95]
28 changes: 15 additions & 13 deletions gen/CsvShiftGrammar.tokens
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@ LOWER=8
UPPER=9
SPLIT=10
REGEXREPLACE=11
WITH=12
AS=13
COMMA=14
QUOTE=15
ARROW=16
IDENTIFIER=17
STRING=18
WS=19
REGEXEXTRACT=12
WITH=13
AS=14
COMMA=15
QUOTE=16
ARROW=17
IDENTIFIER=18
STRING=19
WS=20
'Input Columns'=1
'Output Columns'=2
'Column'=3
Expand All @@ -28,8 +29,9 @@ WS=19
'-> ToUpper'=9
'-> Split on'=10
'-> RegexReplace'=11
'with'=12
'as'=13
','=14
'"'=15
'->'=16
'-> RegexExtract'=12
'with'=13
'as'=14
','=15
'"'=16
'->'=17
5 changes: 4 additions & 1 deletion gen/CsvShiftGrammarLexer.interp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ null
'-> ToUpper'
'-> Split on'
'-> RegexReplace'
'-> RegexExtract'
'with'
'as'
','
Expand All @@ -33,6 +34,7 @@ LOWER
UPPER
SPLIT
REGEXREPLACE
REGEXEXTRACT
WITH
AS
COMMA
Expand All @@ -54,6 +56,7 @@ LOWER
UPPER
SPLIT
REGEXREPLACE
REGEXEXTRACT
WITH
AS
COMMA
Expand All @@ -71,4 +74,4 @@ mode names:
DEFAULT_MODE

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

0 comments on commit ac93efd

Please sign in to comment.