Skip to content

Commit

Permalink
simplified grammar
Browse files Browse the repository at this point in the history
  • Loading branch information
ascandone committed Jul 26, 2024
1 parent 95cea20 commit 68ca479
Show file tree
Hide file tree
Showing 9 changed files with 1,395 additions and 2,404 deletions.
49 changes: 17 additions & 32 deletions Numscript.g4
Original file line number Diff line number Diff line change
Expand Up @@ -40,19 +40,21 @@ VARIABLE_NAME: '$' [a-z_]+ [a-z0-9_]*;
ACCOUNT: '@' [a-zA-Z0-9_-]+ (':' [a-zA-Z0-9_-]+)*;
ASSET: [A-Z/0-9]+;
monetaryLit:
LBRACKET (asset = literal) (amt = literal) RBRACKET;
portion:
RATIO_PORTION_LITERAL # ratio
| PERCENTAGE_PORTION_LITERAL # percentage;
literal:
ASSET # assetLiteral
| STRING # stringLiteral
| monetaryLit # monetaryLiteral
| ACCOUNT # accountLiteral
| VARIABLE_NAME # variableLiteral
| portion # portionLiteral
| NUMBER # numberLiteral
| VARIABLE_NAME # variableLiteral;
portion:
RATIO_PORTION_LITERAL # ratio
| PERCENTAGE_PORTION_LITERAL # percentage;
| monetaryLit # monetaryLiteral
| portion # portionLiteral;
functionCallArgs: literal ( COMMA literal)*;
functionCall: IDENTIFIER LPARENS functionCallArgs? RPARENS;
Expand All @@ -64,24 +66,7 @@ varsDeclaration: VARS LBRACE varDeclaration* RBRACE;
program: varsDeclaration? statement* EOF;
variableNumber:
NUMBER # number
| VARIABLE_NAME # numberVariable;
variableAsset: ASSET # asset | VARIABLE_NAME # assetVariable;
variableAccount:
ACCOUNT # accountName
| VARIABLE_NAME # accountVariable;
variableMonetary:
monetaryLit # monetary
| VARIABLE_NAME # monetaryVariable;
monetaryLit:
LBRACKET (asset = variableAsset) (amt = variableNumber) RBRACKET;
sentAllLit: LBRACKET (asset = variableAsset) STAR RBRACKET;
sentAllLit: LBRACKET (asset = literal) STAR RBRACKET;
cap: monetaryLit # litCap | VARIABLE_NAME # varCap;
Expand All @@ -91,13 +76,13 @@ allotment:
| REMAINING # remainingAllotment;
source:
variableAccount ALLOWING UNBOUNDED OVERDRAFT # srcAccountUnboundedOverdraft
| variableAccount ALLOWING OVERDRAFT UP TO variableMonetary # srcAccountBoundedOverdraft
| ACCOUNT # srcAccount
| VARIABLE_NAME # srcVariable
| LBRACE allotmentClauseSrc+ RBRACE # srcAllotment
| LBRACE source* RBRACE # srcInorder
| MAX cap FROM source # srcCapped;
address = literal ALLOWING UNBOUNDED OVERDRAFT # srcAccountUnboundedOverdraft
| address = literal ALLOWING OVERDRAFT UP TO maxOvedraft = literal # srcAccountBoundedOverdraft
| ACCOUNT # srcAccount
| VARIABLE_NAME # srcVariable
| LBRACE allotmentClauseSrc+ RBRACE # srcAllotment
| LBRACE source* RBRACE # srcInorder
| MAX cap FROM source # srcCapped;
allotmentClauseSrc: allotment FROM source;
keptOrDestination:
Expand Down
4 changes: 2 additions & 2 deletions analysis/check.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package analysis

import (
"fmt"
"math/big"
"numscript/parser"
"numscript/utils"
"slices"
)

Expand Down Expand Up @@ -427,7 +427,7 @@ func (res *CheckResult) checkSource(source parser.Source) {
res.checkHasBadAllotmentSum(*sum, source.Range, remainingAllotment, variableLiterals)

default:
panic(fmt.Sprintf("unhandled clause: %+s", source))
utils.NonExhaustiveMatchPanic[any](source)
}
}

Expand Down
10 changes: 3 additions & 7 deletions parser/antlr/Numscript.interp
Original file line number Diff line number Diff line change
Expand Up @@ -73,19 +73,15 @@ ACCOUNT
ASSET

rule names:
literal
monetaryLit
portion
literal
functionCallArgs
functionCall
varOrigin
varDeclaration
varsDeclaration
program
variableNumber
variableAsset
variableAccount
variableMonetary
monetaryLit
sentAllLit
cap
allotment
Expand All @@ -100,4 +96,4 @@ statement


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

0 comments on commit 68ca479

Please sign in to comment.