occam-parsers 23.3.52 → 23.3.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -49
- package/lib/bnf/bnf.js +6 -4
- package/lib/bnf/parser.js +4 -4
- package/lib/constants.js +9 -1
- package/lib/cut.js +39 -0
- package/lib/definition/branchingParts.js +35 -0
- package/lib/definition/partRule/nonTerminal/ruleName.js +3 -9
- package/lib/definition.js +82 -20
- package/lib/frame.js +19 -7
- package/lib/mixins/parser.js +26 -8
- package/lib/node/bnf/branchingParts.js +33 -0
- package/lib/node/bnf/choiceOfParts.js +3 -4
- package/lib/node/bnf/cut.js +2 -2
- package/lib/node/bnf/definition.js +3 -3
- package/lib/node/bnf/endOfLine.js +2 -2
- package/lib/node/bnf/epsilon.js +2 -2
- package/lib/node/bnf/isolatedPart.js +3 -4
- package/lib/node/bnf/noWhitespacePart.js +2 -2
- package/lib/node/bnf/nonTerminalPart.js +3 -10
- package/lib/node/bnf/part.js +2 -2
- package/lib/node/bnf/partChoice.js +3 -4
- package/lib/node/bnf/precedence.js +3 -2
- package/lib/node/bnf/regularExpression.js +2 -2
- package/lib/node/bnf/ruleName.js +3 -3
- package/lib/node/bnf/sequenceOfParts.js +4 -6
- package/lib/node/bnf/significantTokenType.js +2 -2
- package/lib/node/bnf/stringLiteral.js +2 -2
- package/lib/node/bnf/terminalPart.js +3 -3
- package/lib/node/nonTerminal.js +5 -7
- package/lib/nonTerminalNodeMap.js +3 -3
- package/lib/parseTree/ruleName.js +2 -2
- package/lib/part/nonTerminal/branchingParts.js +64 -0
- package/lib/part/nonTerminal/choiceOfParts.js +17 -24
- package/lib/part/nonTerminal/isolatedPart.js +18 -20
- package/lib/part/nonTerminal/oneOrMoreParts.js +14 -40
- package/lib/part/nonTerminal/optionalPart.js +15 -35
- package/lib/part/nonTerminal/ruleName.js +14 -33
- package/lib/part/nonTerminal/sequenceOfParts.js +24 -23
- package/lib/part/nonTerminal/zeroOrMoreParts.js +15 -35
- package/lib/part/nonTerminal.js +5 -6
- package/lib/part/terminal/cut.js +10 -17
- package/lib/part/terminal/endOfLine.js +17 -26
- package/lib/part/terminal/epsilon.js +10 -22
- package/lib/part/terminal/noWhitespace.js +16 -23
- package/lib/part/terminal/regularExpression.js +19 -27
- package/lib/part/terminal/significantTokenType.js +16 -25
- package/lib/part/terminal/stringLiteral.js +16 -25
- package/lib/part/terminal/wildcard.js +14 -24
- package/lib/part/terminal.js +4 -5
- package/lib/partChoice.js +62 -19
- package/lib/partTypes.js +6 -1
- package/lib/rule/bnf/branchingParts.js +28 -0
- package/lib/rule/bnf/nonTerminalPart.js +6 -3
- package/lib/rule.js +34 -22
- package/lib/ruleNames.js +5 -5
- package/lib/state.js +65 -38
- package/lib/utilities/branching.js +80 -0
- package/lib/utilities/linear.js +107 -0
- package/lib/utilities/parseTree.js +2 -4
- package/package.json +1 -1
- package/src/bnf/bnf.js +5 -3
- package/src/bnf/parser.js +3 -3
- package/src/constants.js +2 -0
- package/src/cut.js +31 -0
- package/src/definition/branchingParts.js +35 -0
- package/src/definition/partRule/nonTerminal/ruleName.js +3 -13
- package/src/definition.js +60 -22
- package/src/frame.js +26 -5
- package/src/mixins/parser.js +29 -10
- package/src/node/bnf/branchingParts.js +26 -0
- package/src/node/bnf/choiceOfParts.js +2 -4
- package/src/node/bnf/cut.js +1 -1
- package/src/node/bnf/definition.js +1 -2
- package/src/node/bnf/endOfLine.js +1 -1
- package/src/node/bnf/epsilon.js +1 -1
- package/src/node/bnf/isolatedPart.js +2 -4
- package/src/node/bnf/noWhitespacePart.js +1 -1
- package/src/node/bnf/nonTerminalPart.js +4 -15
- package/src/node/bnf/part.js +1 -1
- package/src/node/bnf/partChoice.js +2 -4
- package/src/node/bnf/precedence.js +3 -1
- package/src/node/bnf/regularExpression.js +1 -1
- package/src/node/bnf/ruleName.js +2 -2
- package/src/node/bnf/sequenceOfParts.js +4 -7
- package/src/node/bnf/significantTokenType.js +1 -1
- package/src/node/bnf/stringLiteral.js +1 -1
- package/src/node/bnf/terminalPart.js +2 -2
- package/src/node/nonTerminal.js +6 -8
- package/src/nonTerminalNodeMap.js +3 -3
- package/src/parseTree/ruleName.js +1 -1
- package/src/part/nonTerminal/branchingParts.js +79 -0
- package/src/part/nonTerminal/choiceOfParts.js +19 -30
- package/src/part/nonTerminal/isolatedPart.js +16 -24
- package/src/part/nonTerminal/oneOrMoreParts.js +16 -59
- package/src/part/nonTerminal/optionalPart.js +20 -51
- package/src/part/nonTerminal/ruleName.js +15 -50
- package/src/part/nonTerminal/sequenceOfParts.js +26 -27
- package/src/part/nonTerminal/zeroOrMoreParts.js +20 -51
- package/src/part/nonTerminal.js +3 -6
- package/src/part/terminal/cut.js +9 -20
- package/src/part/terminal/endOfLine.js +21 -36
- package/src/part/terminal/epsilon.js +10 -32
- package/src/part/terminal/noWhitespace.js +17 -31
- package/src/part/terminal/regularExpression.js +25 -38
- package/src/part/terminal/significantTokenType.js +20 -35
- package/src/part/terminal/stringLiteral.js +20 -35
- package/src/part/terminal/wildcard.js +17 -34
- package/src/part/terminal.js +2 -6
- package/src/partChoice.js +22 -20
- package/src/partTypes.js +2 -0
- package/src/rule/bnf/branchingParts.js +20 -0
- package/src/rule/bnf/nonTerminalPart.js +10 -5
- package/src/rule.js +45 -23
- package/src/ruleNames.js +1 -1
- package/src/state.js +91 -42
- package/src/utilities/branching.js +105 -0
- package/src/utilities/linear.js +132 -0
- package/src/utilities/parseTree.js +2 -6
- package/lib/context/continuation.js +0 -40
- package/lib/context/definition.js +0 -70
- package/lib/context/part/continuation.js +0 -51
- package/lib/context/part/isolatedPart.js +0 -28
- package/lib/context/part/ruleName.js +0 -55
- package/lib/context/part/sequenceOfParts.js +0 -32
- package/lib/context/part.js +0 -71
- package/lib/context/partChoice.js +0 -45
- package/lib/context/parts.js +0 -71
- package/lib/context/rule.js +0 -58
- package/lib/context/topmost.js +0 -70
- package/lib/context.js +0 -121
- package/lib/continuation.js +0 -40
- package/lib/definition/continuationModifierRule.js +0 -31
- package/lib/node/bnf/continuationModifier.js +0 -23
- package/lib/rule/bnf/continuationModifier.js +0 -28
- package/lib/utilities/context.js +0 -96
- package/lib/utilities/frame.js +0 -29
- package/lib/utilities/part.js +0 -34
- package/lib/utilities/parts.js +0 -61
- package/src/context/continuation.js +0 -35
- package/src/context/definition.js +0 -93
- package/src/context/part/continuation.js +0 -55
- package/src/context/part/isolatedPart.js +0 -17
- package/src/context/part/ruleName.js +0 -63
- package/src/context/part/sequenceOfParts.js +0 -23
- package/src/context/part.js +0 -84
- package/src/context/partChoice.js +0 -45
- package/src/context/parts.js +0 -83
- package/src/context/rule.js +0 -62
- package/src/context/topmost.js +0 -86
- package/src/context.js +0 -132
- package/src/continuation.js +0 -41
- package/src/definition/continuationModifierRule.js +0 -25
- package/src/node/bnf/continuationModifier.js +0 -7
- package/src/rule/bnf/continuationModifier.js +0 -20
- package/src/utilities/context.js +0 -35
- package/src/utilities/frame.js +0 -15
- package/src/utilities/part.js +0 -34
- package/src/utilities/parts.js +0 -74
package/README.md
CHANGED
|
@@ -46,9 +46,11 @@ nonTerminalPart ::= isolatedPart
|
|
|
46
46
|
|
|
47
47
|
| choiceOfParts
|
|
48
48
|
|
|
49
|
+
| branchingParts
|
|
50
|
+
|
|
49
51
|
| sequenceOfParts
|
|
50
52
|
|
|
51
|
-
| ruleName
|
|
53
|
+
| ruleName
|
|
52
54
|
|
|
53
55
|
;
|
|
54
56
|
|
|
@@ -72,6 +74,8 @@ terminalPart ::= significantTokenType
|
|
|
72
74
|
|
|
73
75
|
sequenceOfParts ::= "(" part part+ ")" ;
|
|
74
76
|
|
|
77
|
+
branchingParts ::= "(" part "..." part ")" ;
|
|
78
|
+
|
|
75
79
|
choiceOfParts ::= "(" partChoice ( "|" partChoice )+ ")" ;
|
|
76
80
|
|
|
77
81
|
isolatedPart ::= "(" part ")" ;
|
|
@@ -108,8 +112,6 @@ quantifier ::= optionalQuantifier
|
|
|
108
112
|
|
|
109
113
|
opacityModifier ::= <NO_WHITESPACE>( "." | ".." );
|
|
110
114
|
|
|
111
|
-
continuationModifier ::= <NO_WHITESPACE>"..." ;
|
|
112
|
-
|
|
113
115
|
optionalQuantifier ::= <NO_WHITESPACE>"?" ;
|
|
114
116
|
|
|
115
117
|
oneOrMoreQuantifier ::= <NO_WHITESPACE>"+" ;
|
|
@@ -246,52 +248,6 @@ For example:
|
|
|
246
248
|
justifiedStatement ::= statement ( "by" | "from" ) reference <END_OF_LINE> ;
|
|
247
249
|
```
|
|
248
250
|
|
|
249
|
-
### Continuations
|
|
250
|
-
|
|
251
|
-
Consider the following rules:
|
|
252
|
-
|
|
253
|
-
```
|
|
254
|
-
ABC ::= AAB BC ;
|
|
255
|
-
|
|
256
|
-
AAB ::= "a" "b" | "a" ;
|
|
257
|
-
|
|
258
|
-
BC ::= "b" "c" ;
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
These will not parse the tokens `a`, `b`, `c` because the first definition of the `AAB` rule will parse the `a` and `b` tokens, leaving only the `c` token for the `BC` rule to parse.
|
|
262
|
-
This situation can be addressed by making the `AAB` rule contiunue, that is, try each of its definitions in turn until one is found that allows the remainder of the parent rule to parse.
|
|
263
|
-
The continuation modifier is an ellipsis, thus the rules above become:
|
|
264
|
-
|
|
265
|
-
```
|
|
266
|
-
ABC ::= AAB... BC ;
|
|
267
|
-
|
|
268
|
-
AAB ::= "a" "b" | "a" ;
|
|
269
|
-
|
|
270
|
-
BC ::= "b" "c" ;
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
Now the `ABC` rule will indeed parse the tokens `a`, `b`, `c`, because the second definition of the `AAB` rule will be tried after the first definition fails to allow the `BC` rule name part to parse.
|
|
274
|
-
|
|
275
|
-
Also bear in mind that call-ahead is carried out to arbitrary depth and this it affects the behaviour of the `?`, `*` and `+` quantifiers, which become lazy.
|
|
276
|
-
For example:
|
|
277
|
-
|
|
278
|
-
```
|
|
279
|
-
ABC ::= AAB... ;
|
|
280
|
-
|
|
281
|
-
AAB ::= "a" "b"+ "b" "c" ;
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
Here the call-ahead modifier on the `AAB` rule name part forces the `+` quantifier on the `"b"` terminal part to be lazy, allowing the following to parse:
|
|
285
|
-
|
|
286
|
-
```
|
|
287
|
-
a b b b c
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
Without call-ahead, the `"b"+` part would consume all of the `b` tokens, leaving none for the subsequent `"b"` terminal part.
|
|
291
|
-
|
|
292
|
-
It seems that the parser parses in time that is roughly directly proportional to the length of the input. However, on the ohter hand it is most likely that call-ahead takes exponential time given its nested nature.
|
|
293
|
-
For this reason, call-ahead should be used sparingly.
|
|
294
|
-
|
|
295
251
|
## Building
|
|
296
252
|
|
|
297
253
|
Automation is done with [npm scripts](https://docs.npmjs.com/misc/scripts), have a look at the `package.json` file.
|
package/lib/bnf/bnf.js
CHANGED
|
@@ -30,9 +30,11 @@ const bnf = `
|
|
|
30
30
|
|
|
31
31
|
| choiceOfParts
|
|
32
32
|
|
|
33
|
+
| branchingParts
|
|
34
|
+
|
|
33
35
|
| sequenceOfParts
|
|
34
36
|
|
|
35
|
-
| ruleName
|
|
37
|
+
| ruleName
|
|
36
38
|
|
|
37
39
|
;
|
|
38
40
|
|
|
@@ -56,6 +58,8 @@ const bnf = `
|
|
|
56
58
|
|
|
57
59
|
sequenceOfParts ::= "(" part part+ ")" ;
|
|
58
60
|
|
|
61
|
+
branchingParts ::= "(" part "..." part ")" ;
|
|
62
|
+
|
|
59
63
|
choiceOfParts ::= "(" partChoice ( "|" partChoice )+ ")" ;
|
|
60
64
|
|
|
61
65
|
isolatedPart ::= "(" part ")" ;
|
|
@@ -92,8 +96,6 @@ const bnf = `
|
|
|
92
96
|
|
|
93
97
|
opacityModifier ::= <NO_WHITESPACE>( "." | ".." );
|
|
94
98
|
|
|
95
|
-
continuationModifier ::= <NO_WHITESPACE>"..." ;
|
|
96
|
-
|
|
97
99
|
optionalQuantifier ::= <NO_WHITESPACE>"?" ;
|
|
98
100
|
|
|
99
101
|
oneOrMoreQuantifier ::= <NO_WHITESPACE>"+" ;
|
|
@@ -105,4 +107,4 @@ const bnf = `
|
|
|
105
107
|
`;
|
|
106
108
|
const _default = bnf;
|
|
107
109
|
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibmYvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICAgIGRvY3VtZW50ICAgICAgICAgICAgICAgICA6Oj0gICggcnVsZSB8IGVycm9yICkrIDtcblxuICAgICAgcnVsZSAgICAgICAgICAgICAgICAgICAgIDo6PSAgbmFtZSBvcGFjaXR5TW9kaWZpZXI/IFwiOjo9XCIgZGVmaW5pdGlvbnMgXCI7XCIgO1xuXG4gICAgICBuYW1lICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG4gICAgICBkZWZpbml0aW9ucyAgICAgICAgICAgICAgOjo9ICBkZWZpbml0aW9uICggXCJ8XCIgZGVmaW5pdGlvbiApKiA7XG5cbiAgICAgIGRlZmluaXRpb24gICAgICAgICAgICAgICA6Oj0gIHBhcnQrIHByZWNlZGVuY2U/
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibmYvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICAgIGRvY3VtZW50ICAgICAgICAgICAgICAgICA6Oj0gICggcnVsZSB8IGVycm9yICkrIDtcblxuICAgICAgcnVsZSAgICAgICAgICAgICAgICAgICAgIDo6PSAgbmFtZSBvcGFjaXR5TW9kaWZpZXI/IFwiOjo9XCIgZGVmaW5pdGlvbnMgXCI7XCIgO1xuXG4gICAgICBuYW1lICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG4gICAgICBkZWZpbml0aW9ucyAgICAgICAgICAgICAgOjo9ICBkZWZpbml0aW9uICggXCJ8XCIgZGVmaW5pdGlvbiApKiA7XG5cbiAgICAgIGRlZmluaXRpb24gICAgICAgICAgICAgICA6Oj0gIHBhcnQrIHByZWNlZGVuY2U/IDtcbiBcbiAgICAgIHBhcnQgICAgICAgICAgICAgICAgICAgICA6Oj0gIG5vblRlcm1pbmFsUGFydCBxdWFudGlmaWVyKlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB0ZXJtaW5hbFBhcnQgcXVhbnRpZmllcipcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICBub25UZXJtaW5hbFBhcnQgICAgICAgICAgOjo9ICBpc29sYXRlZFBhcnRcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY2hvaWNlT2ZQYXJ0c1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBicmFuY2hpbmdQYXJ0c1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzZXF1ZW5jZU9mUGFydHNcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgcnVsZU5hbWVcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICB0ZXJtaW5hbFBhcnQgICAgICAgICAgICAgOjo9ICBzaWduaWZpY2FudFRva2VuVHlwZVxuICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHJlZ3VsYXJFeHByZXNzaW9uXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzdHJpbmdMaXRlcmFsXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgd2lsZGNhcmRcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBlcHNpbG9uXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY3V0XG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgZW5kT2ZMaW5lXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vV2hpdGVzcGFjZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgIHNlcXVlbmNlT2ZQYXJ0cyAgICAgICAgICA6Oj0gIFwiKFwiIHBhcnQgcGFydCsgXCIpXCIgO1xuXG4gICAgICBicmFuY2hpbmdQYXJ0cyAgICAgICAgICAgOjo9ICBcIihcIiBwYXJ0IFwiLi4uXCIgcGFydCBcIilcIiA7XG5cbiAgICAgIGNob2ljZU9mUGFydHMgICAgICAgICAgICA6Oj0gIFwiKFwiIHBhcnRDaG9pY2UgKCBcInxcIiBwYXJ0Q2hvaWNlICkrIFwiKVwiIDtcblxuICAgICAgaXNvbGF0ZWRQYXJ0ICAgICAgICAgICAgIDo6PSAgXCIoXCIgcGFydCBcIilcIiA7XG5cbiAgICAgIHBhcnRDaG9pY2UgICAgICAgICAgICAgICA6Oj0gIHBhcnQgcHJlY2VkZW5jZT8gO1xuXG4gICAgICBydWxlTmFtZSAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG4gICAgICBzaWduaWZpY2FudFRva2VuVHlwZSAgICAgOjo9ICBbdHlwZV0gO1xuXG4gICAgICByZWd1bGFyRXhwcmVzc2lvbiAgICAgICAgOjo9ICBbcmVndWxhci1leHByZXNzaW9uXSA7XG5cbiAgICAgIHN0cmluZ0xpdGVyYWwgICAgICAgICAgICA6Oj0gIFtzdHJpbmctbGl0ZXJhbF0gO1xuXG4gICAgICBwcmVjZWRlbmNlICAgICAgICAgICAgICAgOjo9ICBcIihcIiBbaW50ZWdlcl0/IFwiKVwiIDtcbiAgICAgIFxuICAgICAgZW5kT2ZMaW5lICAgICAgICAgICAgICAgIDo6PSAgXCI8RU5EX09GX0xJTkU+XCIgO1xuICAgICAgXG4gICAgICB3aWxkY2FyZCAgICAgICAgICAgICAgICAgOjo9ICBcIi5cIiA7XG5cbiAgICAgIGVwc2lsb24gICAgICAgICAgICAgICAgICA6Oj0gIFwizrVcIiA7XG5cbiAgICAgIGN1dCAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiXFxgXCIgO1xuXG4gICAgICBub1doaXRlc3BhY2UgICAgICAgICAgICAgOjo9ICBcIjxOT19XSElURVNQQUNFPlwiIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuICAgICAgcXVhbnRpZmllciAgICAgICAgICAgICAgIDo6PSAgb3B0aW9uYWxRdWFudGlmaWVyXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBvbmVPck1vcmVRdWFudGlmaWVyXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgemVyb09yTW9yZVF1YW50aWZpZXJcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cbiAgICAgIG9wYWNpdHlNb2RpZmllciAgICAgICAgICA6Oj0gIDxOT19XSElURVNQQUNFPiggXCIuXCIgfCBcIi4uXCIgKTtcbiAgICAgIFxuICAgICAgb3B0aW9uYWxRdWFudGlmaWVyICAgICAgIDo6PSAgPE5PX1dISVRFU1BBQ0U+XCI/XCIgO1xuXG4gICAgICBvbmVPck1vcmVRdWFudGlmaWVyICAgICAgOjo9ICA8Tk9fV0hJVEVTUEFDRT5cIitcIiA7XG5cbiAgICAgIHplcm9Pck1vcmVRdWFudGlmaWVyICAgICA6Oj0gIDxOT19XSElURVNQQUNFPlwiKlwiIDtcblxuICAgICAgZXJyb3IuICAgICAgICAgICAgICAgICAgIDo6PSAgLiA7XG5cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW9HQTs7O2VBQUE7OztBQWxHQSxNQUFNQSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdHYixDQUFDO01BRUQsV0FBZUEifQ==
|
package/lib/bnf/parser.js
CHANGED
|
@@ -31,6 +31,7 @@ const _isolatedPart = /*#__PURE__*/ _interop_require_default(require("../rule/bn
|
|
|
31
31
|
const _terminalPart = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/terminalPart"));
|
|
32
32
|
const _choiceOfParts = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/choiceOfParts"));
|
|
33
33
|
const _stringLiteral = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/stringLiteral"));
|
|
34
|
+
const _branchingParts = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/branchingParts"));
|
|
34
35
|
const _nonTerminalPart = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/nonTerminalPart"));
|
|
35
36
|
const _sequenceOfParts = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/sequenceOfParts"));
|
|
36
37
|
const _opacityModifier = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/opacityModifier"));
|
|
@@ -40,7 +41,6 @@ const _optionalQuantifier = /*#__PURE__*/ _interop_require_default(require("../r
|
|
|
40
41
|
const _oneOrMoreQuantifier = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/oneOrMoreQuantifier"));
|
|
41
42
|
const _zeroOrMoreQuantifier = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/zeroOrMoreQuantifier"));
|
|
42
43
|
const _significantTokenType = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/significantTokenType"));
|
|
43
|
-
const _continuationModifier = /*#__PURE__*/ _interop_require_default(require("../rule/bnf/continuationModifier"));
|
|
44
44
|
const _rules = require("../utilities/rules");
|
|
45
45
|
function _interop_require_default(obj) {
|
|
46
46
|
return obj && obj.__esModule ? obj : {
|
|
@@ -75,7 +75,7 @@ class BNFParser {
|
|
|
75
75
|
static defaultNonTerminalNode = null;
|
|
76
76
|
static bnf = _bnf.default;
|
|
77
77
|
static fromNothing() {
|
|
78
|
-
const cutBNFRule = _cut.default.fromNothing(), nameBNFRule = _name.default.fromNothing(), partBNFRule = _part.default.fromNothing(), ruleBNFRule = _rule1.default.fromNothing(), errorBNFRule = _error.default.fromNothing(), epsilonBNFRule = _epsilon.default.fromNothing(), documentBNFRule = _document.default.fromNothing(), ruleNameBNFRule = _ruleName.default.fromNothing(), wildcardBNFRule = _wildcard.default.fromNothing(), endOfLineBNFRule = _endOfLine.default.fromNothing(), partChoiceBNFRule = _partChoice.default.fromNothing(), quantifierBNFRule = _quantifier.default.fromNothing(), definitionBNFRule = _definition.default.fromNothing(), precedentsBNFRule = _precedence.default.fromNothing(), definitionsBNFRule = _definitions.default.fromNothing(), terminalPartBNFRule = _terminalPart.default.fromNothing(), isolatedPartBNFRule = _isolatedPart.default.fromNothing(), choiceOfPartsBNFRule = _choiceOfParts.default.fromNothing(), stringLiteralBNFRule = _stringLiteral.default.fromNothing(), nonTerminalPartBNFRule = _nonTerminalPart.default.fromNothing(), sequenceOfPartsBNFRule = _sequenceOfParts.default.fromNothing(), opacityModifierBNFRule = _opacityModifier.default.fromNothing(), noWhitespacePartBNFRule = _noWhitespacePart.default.fromNothing(), regularExpressionBNFRule = _regularExpression.default.fromNothing(), optionalQuantifierBNFRule = _optionalQuantifier.default.fromNothing(), oneOrMoreQuantifierBNFRule = _oneOrMoreQuantifier.default.fromNothing(), zeroOrMoreQuantifierBNFRule = _zeroOrMoreQuantifier.default.fromNothing(),
|
|
78
|
+
const cutBNFRule = _cut.default.fromNothing(), nameBNFRule = _name.default.fromNothing(), partBNFRule = _part.default.fromNothing(), ruleBNFRule = _rule1.default.fromNothing(), errorBNFRule = _error.default.fromNothing(), epsilonBNFRule = _epsilon.default.fromNothing(), documentBNFRule = _document.default.fromNothing(), ruleNameBNFRule = _ruleName.default.fromNothing(), wildcardBNFRule = _wildcard.default.fromNothing(), endOfLineBNFRule = _endOfLine.default.fromNothing(), partChoiceBNFRule = _partChoice.default.fromNothing(), quantifierBNFRule = _quantifier.default.fromNothing(), definitionBNFRule = _definition.default.fromNothing(), precedentsBNFRule = _precedence.default.fromNothing(), definitionsBNFRule = _definitions.default.fromNothing(), terminalPartBNFRule = _terminalPart.default.fromNothing(), isolatedPartBNFRule = _isolatedPart.default.fromNothing(), choiceOfPartsBNFRule = _choiceOfParts.default.fromNothing(), stringLiteralBNFRule = _stringLiteral.default.fromNothing(), branchingPartsBNFRule = _branchingParts.default.fromNothing(), nonTerminalPartBNFRule = _nonTerminalPart.default.fromNothing(), sequenceOfPartsBNFRule = _sequenceOfParts.default.fromNothing(), opacityModifierBNFRule = _opacityModifier.default.fromNothing(), noWhitespacePartBNFRule = _noWhitespacePart.default.fromNothing(), regularExpressionBNFRule = _regularExpression.default.fromNothing(), optionalQuantifierBNFRule = _optionalQuantifier.default.fromNothing(), oneOrMoreQuantifierBNFRule = _oneOrMoreQuantifier.default.fromNothing(), zeroOrMoreQuantifierBNFRule = _zeroOrMoreQuantifier.default.fromNothing(), significantTokenTypeBNFRule = _significantTokenType.default.fromNothing(), rules = [
|
|
79
79
|
cutBNFRule,
|
|
80
80
|
nameBNFRule,
|
|
81
81
|
partBNFRule,
|
|
@@ -95,6 +95,7 @@ class BNFParser {
|
|
|
95
95
|
isolatedPartBNFRule,
|
|
96
96
|
choiceOfPartsBNFRule,
|
|
97
97
|
stringLiteralBNFRule,
|
|
98
|
+
branchingPartsBNFRule,
|
|
98
99
|
nonTerminalPartBNFRule,
|
|
99
100
|
sequenceOfPartsBNFRule,
|
|
100
101
|
opacityModifierBNFRule,
|
|
@@ -103,7 +104,6 @@ class BNFParser {
|
|
|
103
104
|
optionalQuantifierBNFRule,
|
|
104
105
|
oneOrMoreQuantifierBNFRule,
|
|
105
106
|
zeroOrMoreQuantifierBNFRule,
|
|
106
|
-
continuationModifierBNFRule,
|
|
107
107
|
significantTokenTypeBNFRule
|
|
108
108
|
], startRule = documentBNFRule, ruleMap = (0, _rules.ruleMapFromRules)(rules), bnfParser = new BNFParser(startRule, ruleMap);
|
|
109
109
|
return bnfParser;
|
|
@@ -111,4 +111,4 @@ class BNFParser {
|
|
|
111
111
|
}
|
|
112
112
|
Object.assign(BNFParser.prototype, _parser.default);
|
|
113
113
|
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibmYvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgYm5mIGZyb20gXCIuL2JuZlwiO1xuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCBwYXJzZXJNaXhpbnMgZnJvbSBcIi4uL21peGlucy9wYXJzZXJcIjtcbmltcG9ydCBOb25UZXJtaW5hbE5vZGVNYXAgZnJvbSBcIi4uL25vblRlcm1pbmFsTm9kZU1hcFwiO1xuXG5pbXBvcnQgQ3V0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvY3V0XCI7XG5pbXBvcnQgTmFtZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL25hbWVcIjtcbmltcG9ydCBQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcGFydFwiO1xuaW1wb3J0IFJ1bGVCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9ydWxlXCI7XG5pbXBvcnQgRXJyb3JCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9lcnJvclwiO1xuaW1wb3J0IEVwc2lsb25CTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9lcHNpbG9uXCI7XG5pbXBvcnQgRG9jdW1lbnRCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9kb2N1bWVudFwiO1xuaW1wb3J0IFJ1bGVOYW1lQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcnVsZU5hbWVcIjtcbmltcG9ydCBXaWxkY2FyZEJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3dpbGRjYXJkXCI7XG5pbXBvcnQgRW5kT2ZMaW5lQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvZW5kT2ZMaW5lXCI7XG5pbXBvcnQgUGFydENob2ljZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3BhcnRDaG9pY2VcIjtcbmltcG9ydCBRdWFudGlmaWVyQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcXVhbnRpZmllclwiO1xuaW1wb3J0IERlZmluaXRpb25CTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9kZWZpbml0aW9uXCI7XG5pbXBvcnQgUHJlY2VkZW50c0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3ByZWNlZGVuY2VcIjtcbmltcG9ydCBEZWZpbml0aW9uc0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL2RlZmluaXRpb25zXCI7XG5pbXBvcnQgSXNvbGF0ZWRQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvaXNvbGF0ZWRQYXJ0XCI7XG5pbXBvcnQgVGVybWluYWxQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvdGVybWluYWxQYXJ0XCI7XG5pbXBvcnQgQ2hvaWNlT2ZQYXJ0c0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL2Nob2ljZU9mUGFydHNcIjtcbmltcG9ydCBTdHJpbmdMaXRlcmFsQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvc3RyaW5nTGl0ZXJhbFwiO1xuaW1wb3J0IE5vblRlcm1pbmFsUGFydEJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL25vblRlcm1pbmFsUGFydFwiO1xuaW1wb3J0IFNlcXVlbmNlT2ZQYXJ0c0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3NlcXVlbmNlT2ZQYXJ0c1wiO1xuaW1wb3J0IE9wYWNpdHlNb2RpZmllckJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL29wYWNpdHlNb2RpZmllclwiO1xuaW1wb3J0IE5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9ub1doaXRlc3BhY2VQYXJ0XCI7XG5pbXBvcnQgUmVndWxhckV4cHJlc3Npb25CTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9yZWd1bGFyRXhwcmVzc2lvblwiO1xuaW1wb3J0IE9wdGlvbmFsUXVhbnRpZmllckJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL29wdGlvbmFsUXVhbnRpZmllclwiO1xuaW1wb3J0IE9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9vbmVPck1vcmVRdWFudGlmaWVyXCI7XG5pbXBvcnQgWmVyb09yTW9yZVF1YW50aWZpZXJCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi96ZXJvT3JNb3JlUXVhbnRpZmllclwiO1xuaW1wb3J0IFNpZ25pZmljYW50VG9rZW5UeXBlQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvc2lnbmlmaWNhbnRUb2tlblR5cGVcIjtcbmltcG9ydCBDb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL2NvbnRpbnVhdGlvbk1vZGlmaWVyXCI7XG5cbmltcG9ydCB7IHJ1bGVNYXBGcm9tUnVsZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3J1bGVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJORlBhcnNlciB7XG4gIGNvbnN0cnVjdG9yKHN0YXJ0UnVsZSwgcnVsZU1hcCkge1xuICAgIHRoaXMuc3RhcnRSdWxlID0gc3RhcnRSdWxlO1xuICAgIHRoaXMucnVsZU1hcCA9IHJ1bGVNYXA7XG4gIH1cblxuICBnZXRTdGFydFJ1bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnRSdWxlO1xuICB9XG5cbiAgZ2V0UnVsZU1hcCgpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlTWFwO1xuICB9XG5cblx0cnVsZXNGcm9tVG9rZW5zKHRva2Vucykge1xuXHQgIGxldCBydWxlcztcblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnBhcnNlKHRva2Vucyk7XG5cbiAgICBpZiAobm9kZSA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyBub2RlLmApO1xuICAgIH1cblxuICAgIHJ1bGVzID0gbm9kZS5nZW5lcmF0ZVJ1bGVzKFJ1bGUpO1xuXG4gICAgY29uc3QgcnVsZXNMZW5ndGggPSBydWxlcy5sZW5ndGg7XG5cbiAgICBpZiAocnVsZXNMZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlcmUgYXJlIG5vIHJ1bGVzLmApO1xuICAgIH1cblxuICAgIHJldHVybiBydWxlcztcbiAgfVxuXG4gIHN0YXRpYyBOb25UZXJtaW5hbE5vZGVNYXAgPSBOb25UZXJtaW5hbE5vZGVNYXA7XG5cbiAgc3RhdGljIGRlZmF1bHROb25UZXJtaW5hbE5vZGUgPSBudWxsO1xuXG4gIHN0YXRpYyBibmYgPSBibmY7XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGN1dEJORlJ1bGUgPSBDdXRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgbmFtZUJORlJ1bGUgPSBOYW1lQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHBhcnRCTkZSdWxlID0gUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBydWxlQk5GUnVsZSA9IFJ1bGVCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgZXJyb3JCTkZSdWxlID0gRXJyb3JCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgZXBzaWxvbkJORlJ1bGUgPSBFcHNpbG9uQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGRvY3VtZW50Qk5GUnVsZSA9IERvY3VtZW50Qk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHJ1bGVOYW1lQk5GUnVsZSA9IFJ1bGVOYW1lQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHdpbGRjYXJkQk5GUnVsZSA9IFdpbGRjYXJkQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGVuZE9mTGluZUJORlJ1bGUgPSBFbmRPZkxpbmVCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcGFydENob2ljZUJORlJ1bGUgPSBQYXJ0Q2hvaWNlQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHF1YW50aWZpZXJCTkZSdWxlID0gUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBkZWZpbml0aW9uQk5GUnVsZSA9IERlZmluaXRpb25CTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcHJlY2VkZW50c0JORlJ1bGUgPSBQcmVjZWRlbnRzQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGRlZmluaXRpb25zQk5GUnVsZSA9IERlZmluaXRpb25zQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHRlcm1pbmFsUGFydEJORlJ1bGUgPSBUZXJtaW5hbFBhcnRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgaXNvbGF0ZWRQYXJ0Qk5GUnVsZSA9IElzb2xhdGVkUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBjaG9pY2VPZlBhcnRzQk5GUnVsZSA9IENob2ljZU9mUGFydHNCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgc3RyaW5nTGl0ZXJhbEJORlJ1bGUgPSBTdHJpbmdMaXRlcmFsQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG5vblRlcm1pbmFsUGFydEJORlJ1bGUgPSBOb25UZXJtaW5hbFBhcnRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgc2VxdWVuY2VPZlBhcnRzQk5GUnVsZSA9IFNlcXVlbmNlT2ZQYXJ0c0JORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBvcGFjaXR5TW9kaWZpZXJCTkZSdWxlID0gT3BhY2l0eU1vZGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlID0gTm9XaGl0ZXNwYWNlUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICByZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUgPSBSZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBvcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlID0gT3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlID0gT25lT3JNb3JlUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICB6ZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUgPSBaZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBjb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUgPSBDb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBzaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUgPSBTaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBydWxlcyA9IFtcbiAgICAgICAgICAgIGN1dEJORlJ1bGUsXG4gICAgICAgICAgICBuYW1lQk5GUnVsZSxcbiAgICAgICAgICAgIHBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgcnVsZUJORlJ1bGUsXG4gICAgICAgICAgICBlcnJvckJORlJ1bGUsXG4gICAgICAgICAgICBlcHNpbG9uQk5GUnVsZSxcbiAgICAgICAgICAgIGRvY3VtZW50Qk5GUnVsZSxcbiAgICAgICAgICAgIHJ1bGVOYW1lQk5GUnVsZSxcbiAgICAgICAgICAgIHdpbGRjYXJkQk5GUnVsZSxcbiAgICAgICAgICAgIGVuZE9mTGluZUJORlJ1bGUsXG4gICAgICAgICAgICBwYXJ0Q2hvaWNlQk5GUnVsZSxcbiAgICAgICAgICAgIHF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgZGVmaW5pdGlvbkJORlJ1bGUsXG4gICAgICAgICAgICBwcmVjZWRlbnRzQk5GUnVsZSxcbiAgICAgICAgICAgIGRlZmluaXRpb25zQk5GUnVsZSxcbiAgICAgICAgICAgIHRlcm1pbmFsUGFydEJORlJ1bGUsXG4gICAgICAgICAgICBpc29sYXRlZFBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgY2hvaWNlT2ZQYXJ0c0JORlJ1bGUsXG4gICAgICAgICAgICBzdHJpbmdMaXRlcmFsQk5GUnVsZSxcbiAgICAgICAgICAgIG5vblRlcm1pbmFsUGFydEJORlJ1bGUsXG4gICAgICAgICAgICBzZXF1ZW5jZU9mUGFydHNCTkZSdWxlLFxuICAgICAgICAgICAgb3BhY2l0eU1vZGlmaWVyQk5GUnVsZSxcbiAgICAgICAgICAgIG5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgcmVndWxhckV4cHJlc3Npb25CTkZSdWxlLFxuICAgICAgICAgICAgb3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZSxcbiAgICAgICAgICAgIG9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgemVyb09yTW9yZVF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgY29udGludWF0aW9uTW9kaWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgc2lnbmlmaWNhbnRUb2tlblR5cGVCTkZSdWxlXG4gICAgICAgICAgXSxcbiAgICAgICAgICBzdGFydFJ1bGUgPSBkb2N1bWVudEJORlJ1bGUsICAvLy9cbiAgICAgICAgICBydWxlTWFwID0gcnVsZU1hcEZyb21SdWxlcyhydWxlcyksXG4gICAgICAgICAgYm5mUGFyc2VyID0gbmV3IEJORlBhcnNlcihzdGFydFJ1bGUsIHJ1bGVNYXApO1xuXG4gICAgcmV0dXJuIGJuZlBhcnNlcjtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEJORlBhcnNlci5wcm90b3R5cGUsIHBhcnNlck1peGlucyk7XG4iXSwibmFtZXMiOlsiQk5GUGFyc2VyIiwic3RhcnRSdWxlIiwicnVsZU1hcCIsImdldFN0YXJ0UnVsZSIsImdldFJ1bGVNYXAiLCJydWxlc0Zyb21Ub2tlbnMiLCJ0b2tlbnMiLCJydWxlcyIsIm5vZGUiLCJwYXJzZSIsIkVycm9yIiwiZ2VuZXJhdGVSdWxlcyIsIlJ1bGUiLCJydWxlc0xlbmd0aCIsImxlbmd0aCIsIk5vblRlcm1pbmFsTm9kZU1hcCIsImRlZmF1bHROb25UZXJtaW5hbE5vZGUiLCJibmYiLCJmcm9tTm90aGluZyIsImN1dEJORlJ1bGUiLCJDdXRCTkZSdWxlIiwibmFtZUJORlJ1bGUiLCJOYW1lQk5GUnVsZSIsInBhcnRCTkZSdWxlIiwiUGFydEJORlJ1bGUiLCJydWxlQk5GUnVsZSIsIlJ1bGVCTkZSdWxlIiwiZXJyb3JCTkZSdWxlIiwiRXJyb3JCTkZSdWxlIiwiZXBzaWxvbkJORlJ1bGUiLCJFcHNpbG9uQk5GUnVsZSIsImRvY3VtZW50Qk5GUnVsZSIsIkRvY3VtZW50Qk5GUnVsZSIsInJ1bGVOYW1lQk5GUnVsZSIsIlJ1bGVOYW1lQk5GUnVsZSIsIndpbGRjYXJkQk5GUnVsZSIsIldpbGRjYXJkQk5GUnVsZSIsImVuZE9mTGluZUJORlJ1bGUiLCJFbmRPZkxpbmVCTkZSdWxlIiwicGFydENob2ljZUJORlJ1bGUiLCJQYXJ0Q2hvaWNlQk5GUnVsZSIsInF1YW50aWZpZXJCTkZSdWxlIiwiUXVhbnRpZmllckJORlJ1bGUiLCJkZWZpbml0aW9uQk5GUnVsZSIsIkRlZmluaXRpb25CTkZSdWxlIiwicHJlY2VkZW50c0JORlJ1bGUiLCJQcmVjZWRlbnRzQk5GUnVsZSIsImRlZmluaXRpb25zQk5GUnVsZSIsIkRlZmluaXRpb25zQk5GUnVsZSIsInRlcm1pbmFsUGFydEJORlJ1bGUiLCJUZXJtaW5hbFBhcnRCTkZSdWxlIiwiaXNvbGF0ZWRQYXJ0Qk5GUnVsZSIsIklzb2xhdGVkUGFydEJORlJ1bGUiLCJjaG9pY2VPZlBhcnRzQk5GUnVsZSIsIkNob2ljZU9mUGFydHNCTkZSdWxlIiwic3RyaW5nTGl0ZXJhbEJORlJ1bGUiLCJTdHJpbmdMaXRlcmFsQk5GUnVsZSIsIm5vblRlcm1pbmFsUGFydEJORlJ1bGUiLCJOb25UZXJtaW5hbFBhcnRCTkZSdWxlIiwic2VxdWVuY2VPZlBhcnRzQk5GUnVsZSIsIlNlcXVlbmNlT2ZQYXJ0c0JORlJ1bGUiLCJvcGFjaXR5TW9kaWZpZXJCTkZSdWxlIiwiT3BhY2l0eU1vZGlmaWVyQk5GUnVsZSIsIm5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlIiwiTm9XaGl0ZXNwYWNlUGFydEJORlJ1bGUiLCJyZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUiLCJSZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUiLCJvcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlIiwiT3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZSIsIm9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlIiwiT25lT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJ6ZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJaZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJjb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUiLCJDb250aW51YXRpb25Nb2RpZmllckJORlJ1bGUiLCJzaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUiLCJTaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUiLCJydWxlTWFwRnJvbVJ1bGVzIiwiYm5mUGFyc2VyIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwicGFyc2VyTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF1Q0E7OztlQUFxQkE7Ozs0REFyQ0w7NkRBQ0M7K0RBQ1E7MkVBQ007NERBRVI7NkRBQ0M7NkRBQ0E7OERBQ0E7OERBQ0M7Z0VBQ0U7aUVBQ0M7aUVBQ0E7aUVBQ0E7a0VBQ0M7bUVBQ0M7bUVBQ0E7bUVBQ0E7bUVBQ0E7b0VBQ0M7cUVBQ0M7cUVBQ0E7c0VBQ0M7c0VBQ0E7d0VBQ0U7d0VBQ0E7d0VBQ0E7eUVBQ0M7MEVBQ0M7MkVBQ0M7NEVBQ0M7NkVBQ0M7NkVBQ0E7NkVBQ0E7dUJBRVA7Ozs7OztBQUVsQixNQUFNQTtJQUNuQixZQUFZQyxTQUFTLEVBQUVDLE9BQU8sQ0FBRTtRQUM5QixJQUFJLENBQUNELFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO0lBQ2pCO0lBRUFDLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0YsU0FBUztJQUN2QjtJQUVBRyxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNGLE9BQU87SUFDckI7SUFFREcsZ0JBQWdCQyxNQUFNLEVB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
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibmYvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgYm5mIGZyb20gXCIuL2JuZlwiO1xuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCBwYXJzZXJNaXhpbnMgZnJvbSBcIi4uL21peGlucy9wYXJzZXJcIjtcbmltcG9ydCBOb25UZXJtaW5hbE5vZGVNYXAgZnJvbSBcIi4uL25vblRlcm1pbmFsTm9kZU1hcFwiO1xuXG5pbXBvcnQgQ3V0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvY3V0XCI7XG5pbXBvcnQgTmFtZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL25hbWVcIjtcbmltcG9ydCBQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcGFydFwiO1xuaW1wb3J0IFJ1bGVCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9ydWxlXCI7XG5pbXBvcnQgRXJyb3JCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9lcnJvclwiO1xuaW1wb3J0IEVwc2lsb25CTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9lcHNpbG9uXCI7XG5pbXBvcnQgRG9jdW1lbnRCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9kb2N1bWVudFwiO1xuaW1wb3J0IFJ1bGVOYW1lQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcnVsZU5hbWVcIjtcbmltcG9ydCBXaWxkY2FyZEJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3dpbGRjYXJkXCI7XG5pbXBvcnQgRW5kT2ZMaW5lQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvZW5kT2ZMaW5lXCI7XG5pbXBvcnQgUGFydENob2ljZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3BhcnRDaG9pY2VcIjtcbmltcG9ydCBRdWFudGlmaWVyQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcXVhbnRpZmllclwiO1xuaW1wb3J0IERlZmluaXRpb25CTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9kZWZpbml0aW9uXCI7XG5pbXBvcnQgUHJlY2VkZW50c0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3ByZWNlZGVuY2VcIjtcbmltcG9ydCBEZWZpbml0aW9uc0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL2RlZmluaXRpb25zXCI7XG5pbXBvcnQgSXNvbGF0ZWRQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvaXNvbGF0ZWRQYXJ0XCI7XG5pbXBvcnQgVGVybWluYWxQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvdGVybWluYWxQYXJ0XCI7XG5pbXBvcnQgQ2hvaWNlT2ZQYXJ0c0JORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL2Nob2ljZU9mUGFydHNcIjtcbmltcG9ydCBTdHJpbmdMaXRlcmFsQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvc3RyaW5nTGl0ZXJhbFwiO1xuaW1wb3J0IEJyYW5jaGluZ1BhcnRzQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvYnJhbmNoaW5nUGFydHNcIjtcbmltcG9ydCBOb25UZXJtaW5hbFBhcnRCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9ub25UZXJtaW5hbFBhcnRcIjtcbmltcG9ydCBTZXF1ZW5jZU9mUGFydHNCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9zZXF1ZW5jZU9mUGFydHNcIjtcbmltcG9ydCBPcGFjaXR5TW9kaWZpZXJCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9vcGFjaXR5TW9kaWZpZXJcIjtcbmltcG9ydCBOb1doaXRlc3BhY2VQYXJ0Qk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvbm9XaGl0ZXNwYWNlUGFydFwiO1xuaW1wb3J0IFJlZ3VsYXJFeHByZXNzaW9uQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvcmVndWxhckV4cHJlc3Npb25cIjtcbmltcG9ydCBPcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlIGZyb20gXCIuLi9ydWxlL2JuZi9vcHRpb25hbFF1YW50aWZpZXJcIjtcbmltcG9ydCBPbmVPck1vcmVRdWFudGlmaWVyQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvb25lT3JNb3JlUXVhbnRpZmllclwiO1xuaW1wb3J0IFplcm9Pck1vcmVRdWFudGlmaWVyQk5GUnVsZSBmcm9tIFwiLi4vcnVsZS9ibmYvemVyb09yTW9yZVF1YW50aWZpZXJcIjtcbmltcG9ydCBTaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUgZnJvbSBcIi4uL3J1bGUvYm5mL3NpZ25pZmljYW50VG9rZW5UeXBlXCI7XG5cbmltcG9ydCB7IHJ1bGVNYXBGcm9tUnVsZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3J1bGVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJORlBhcnNlciB7XG4gIGNvbnN0cnVjdG9yKHN0YXJ0UnVsZSwgcnVsZU1hcCkge1xuICAgIHRoaXMuc3RhcnRSdWxlID0gc3RhcnRSdWxlO1xuICAgIHRoaXMucnVsZU1hcCA9IHJ1bGVNYXA7XG4gIH1cblxuICBnZXRTdGFydFJ1bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnRSdWxlO1xuICB9XG5cbiAgZ2V0UnVsZU1hcCgpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlTWFwO1xuICB9XG5cblx0cnVsZXNGcm9tVG9rZW5zKHRva2Vucykge1xuXHQgIGxldCBydWxlcztcblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnBhcnNlKHRva2Vucyk7XG5cbiAgICBpZiAobm9kZSA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyBub2RlLmApO1xuICAgIH1cblxuICAgIHJ1bGVzID0gbm9kZS5nZW5lcmF0ZVJ1bGVzKFJ1bGUpO1xuXG4gICAgY29uc3QgcnVsZXNMZW5ndGggPSBydWxlcy5sZW5ndGg7XG5cbiAgICBpZiAocnVsZXNMZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlcmUgYXJlIG5vIHJ1bGVzLmApO1xuICAgIH1cblxuICAgIHJldHVybiBydWxlcztcbiAgfVxuXG4gIHN0YXRpYyBOb25UZXJtaW5hbE5vZGVNYXAgPSBOb25UZXJtaW5hbE5vZGVNYXA7XG5cbiAgc3RhdGljIGRlZmF1bHROb25UZXJtaW5hbE5vZGUgPSBudWxsO1xuXG4gIHN0YXRpYyBibmYgPSBibmY7XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGN1dEJORlJ1bGUgPSBDdXRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgbmFtZUJORlJ1bGUgPSBOYW1lQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHBhcnRCTkZSdWxlID0gUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBydWxlQk5GUnVsZSA9IFJ1bGVCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgZXJyb3JCTkZSdWxlID0gRXJyb3JCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgZXBzaWxvbkJORlJ1bGUgPSBFcHNpbG9uQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGRvY3VtZW50Qk5GUnVsZSA9IERvY3VtZW50Qk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHJ1bGVOYW1lQk5GUnVsZSA9IFJ1bGVOYW1lQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHdpbGRjYXJkQk5GUnVsZSA9IFdpbGRjYXJkQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGVuZE9mTGluZUJORlJ1bGUgPSBFbmRPZkxpbmVCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcGFydENob2ljZUJORlJ1bGUgPSBQYXJ0Q2hvaWNlQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHF1YW50aWZpZXJCTkZSdWxlID0gUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBkZWZpbml0aW9uQk5GUnVsZSA9IERlZmluaXRpb25CTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcHJlY2VkZW50c0JORlJ1bGUgPSBQcmVjZWRlbnRzQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGRlZmluaXRpb25zQk5GUnVsZSA9IERlZmluaXRpb25zQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIHRlcm1pbmFsUGFydEJORlJ1bGUgPSBUZXJtaW5hbFBhcnRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgaXNvbGF0ZWRQYXJ0Qk5GUnVsZSA9IElzb2xhdGVkUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBjaG9pY2VPZlBhcnRzQk5GUnVsZSA9IENob2ljZU9mUGFydHNCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgc3RyaW5nTGl0ZXJhbEJORlJ1bGUgPSBTdHJpbmdMaXRlcmFsQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIGJyYW5jaGluZ1BhcnRzQk5GUnVsZSA9IEJyYW5jaGluZ1BhcnRzQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG5vblRlcm1pbmFsUGFydEJORlJ1bGUgPSBOb25UZXJtaW5hbFBhcnRCTkZSdWxlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgc2VxdWVuY2VPZlBhcnRzQk5GUnVsZSA9IFNlcXVlbmNlT2ZQYXJ0c0JORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBvcGFjaXR5TW9kaWZpZXJCTkZSdWxlID0gT3BhY2l0eU1vZGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlID0gTm9XaGl0ZXNwYWNlUGFydEJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICByZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUgPSBSZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBvcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlID0gT3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZS5mcm9tTm90aGluZygpLFxuICAgICAgICAgIG9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlID0gT25lT3JNb3JlUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICB6ZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUgPSBaZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBzaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUgPSBTaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBydWxlcyA9IFtcbiAgICAgICAgICAgIGN1dEJORlJ1bGUsXG4gICAgICAgICAgICBuYW1lQk5GUnVsZSxcbiAgICAgICAgICAgIHBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgcnVsZUJORlJ1bGUsXG4gICAgICAgICAgICBlcnJvckJORlJ1bGUsXG4gICAgICAgICAgICBlcHNpbG9uQk5GUnVsZSxcbiAgICAgICAgICAgIGRvY3VtZW50Qk5GUnVsZSxcbiAgICAgICAgICAgIHJ1bGVOYW1lQk5GUnVsZSxcbiAgICAgICAgICAgIHdpbGRjYXJkQk5GUnVsZSxcbiAgICAgICAgICAgIGVuZE9mTGluZUJORlJ1bGUsXG4gICAgICAgICAgICBwYXJ0Q2hvaWNlQk5GUnVsZSxcbiAgICAgICAgICAgIHF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgZGVmaW5pdGlvbkJORlJ1bGUsXG4gICAgICAgICAgICBwcmVjZWRlbnRzQk5GUnVsZSxcbiAgICAgICAgICAgIGRlZmluaXRpb25zQk5GUnVsZSxcbiAgICAgICAgICAgIHRlcm1pbmFsUGFydEJORlJ1bGUsXG4gICAgICAgICAgICBpc29sYXRlZFBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgY2hvaWNlT2ZQYXJ0c0JORlJ1bGUsXG4gICAgICAgICAgICBzdHJpbmdMaXRlcmFsQk5GUnVsZSxcbiAgICAgICAgICAgIGJyYW5jaGluZ1BhcnRzQk5GUnVsZSxcbiAgICAgICAgICAgIG5vblRlcm1pbmFsUGFydEJORlJ1bGUsXG4gICAgICAgICAgICBzZXF1ZW5jZU9mUGFydHNCTkZSdWxlLFxuICAgICAgICAgICAgb3BhY2l0eU1vZGlmaWVyQk5GUnVsZSxcbiAgICAgICAgICAgIG5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlLFxuICAgICAgICAgICAgcmVndWxhckV4cHJlc3Npb25CTkZSdWxlLFxuICAgICAgICAgICAgb3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZSxcbiAgICAgICAgICAgIG9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgemVyb09yTW9yZVF1YW50aWZpZXJCTkZSdWxlLFxuICAgICAgICAgICAgc2lnbmlmaWNhbnRUb2tlblR5cGVCTkZSdWxlXG4gICAgICAgICAgXSxcbiAgICAgICAgICBzdGFydFJ1bGUgPSBkb2N1bWVudEJORlJ1bGUsICAvLy9cbiAgICAgICAgICBydWxlTWFwID0gcnVsZU1hcEZyb21SdWxlcyhydWxlcyksXG4gICAgICAgICAgYm5mUGFyc2VyID0gbmV3IEJORlBhcnNlcihzdGFydFJ1bGUsIHJ1bGVNYXApO1xuXG4gICAgcmV0dXJuIGJuZlBhcnNlcjtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEJORlBhcnNlci5wcm90b3R5cGUsIHBhcnNlck1peGlucyk7XG4iXSwibmFtZXMiOlsiQk5GUGFyc2VyIiwic3RhcnRSdWxlIiwicnVsZU1hcCIsImdldFN0YXJ0UnVsZSIsImdldFJ1bGVNYXAiLCJydWxlc0Zyb21Ub2tlbnMiLCJ0b2tlbnMiLCJydWxlcyIsIm5vZGUiLCJwYXJzZSIsIkVycm9yIiwiZ2VuZXJhdGVSdWxlcyIsIlJ1bGUiLCJydWxlc0xlbmd0aCIsImxlbmd0aCIsIk5vblRlcm1pbmFsTm9kZU1hcCIsImRlZmF1bHROb25UZXJtaW5hbE5vZGUiLCJibmYiLCJmcm9tTm90aGluZyIsImN1dEJORlJ1bGUiLCJDdXRCTkZSdWxlIiwibmFtZUJORlJ1bGUiLCJOYW1lQk5GUnVsZSIsInBhcnRCTkZSdWxlIiwiUGFydEJORlJ1bGUiLCJydWxlQk5GUnVsZSIsIlJ1bGVCTkZSdWxlIiwiZXJyb3JCTkZSdWxlIiwiRXJyb3JCTkZSdWxlIiwiZXBzaWxvbkJORlJ1bGUiLCJFcHNpbG9uQk5GUnVsZSIsImRvY3VtZW50Qk5GUnVsZSIsIkRvY3VtZW50Qk5GUnVsZSIsInJ1bGVOYW1lQk5GUnVsZSIsIlJ1bGVOYW1lQk5GUnVsZSIsIndpbGRjYXJkQk5GUnVsZSIsIldpbGRjYXJkQk5GUnVsZSIsImVuZE9mTGluZUJORlJ1bGUiLCJFbmRPZkxpbmVCTkZSdWxlIiwicGFydENob2ljZUJORlJ1bGUiLCJQYXJ0Q2hvaWNlQk5GUnVsZSIsInF1YW50aWZpZXJCTkZSdWxlIiwiUXVhbnRpZmllckJORlJ1bGUiLCJkZWZpbml0aW9uQk5GUnVsZSIsIkRlZmluaXRpb25CTkZSdWxlIiwicHJlY2VkZW50c0JORlJ1bGUiLCJQcmVjZWRlbnRzQk5GUnVsZSIsImRlZmluaXRpb25zQk5GUnVsZSIsIkRlZmluaXRpb25zQk5GUnVsZSIsInRlcm1pbmFsUGFydEJORlJ1bGUiLCJUZXJtaW5hbFBhcnRCTkZSdWxlIiwiaXNvbGF0ZWRQYXJ0Qk5GUnVsZSIsIklzb2xhdGVkUGFydEJORlJ1bGUiLCJjaG9pY2VPZlBhcnRzQk5GUnVsZSIsIkNob2ljZU9mUGFydHNCTkZSdWxlIiwic3RyaW5nTGl0ZXJhbEJORlJ1bGUiLCJTdHJpbmdMaXRlcmFsQk5GUnVsZSIsImJyYW5jaGluZ1BhcnRzQk5GUnVsZSIsIkJyYW5jaGluZ1BhcnRzQk5GUnVsZSIsIm5vblRlcm1pbmFsUGFydEJORlJ1bGUiLCJOb25UZXJtaW5hbFBhcnRCTkZSdWxlIiwic2VxdWVuY2VPZlBhcnRzQk5GUnVsZSIsIlNlcXVlbmNlT2ZQYXJ0c0JORlJ1bGUiLCJvcGFjaXR5TW9kaWZpZXJCTkZSdWxlIiwiT3BhY2l0eU1vZGlmaWVyQk5GUnVsZSIsIm5vV2hpdGVzcGFjZVBhcnRCTkZSdWxlIiwiTm9XaGl0ZXNwYWNlUGFydEJORlJ1bGUiLCJyZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUiLCJSZWd1bGFyRXhwcmVzc2lvbkJORlJ1bGUiLCJvcHRpb25hbFF1YW50aWZpZXJCTkZSdWxlIiwiT3B0aW9uYWxRdWFudGlmaWVyQk5GUnVsZSIsIm9uZU9yTW9yZVF1YW50aWZpZXJCTkZSdWxlIiwiT25lT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJ6ZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJaZXJvT3JNb3JlUXVhbnRpZmllckJORlJ1bGUiLCJzaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUiLCJTaWduaWZpY2FudFRva2VuVHlwZUJORlJ1bGUiLCJydWxlTWFwRnJvbVJ1bGVzIiwiYm5mUGFyc2VyIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwicGFyc2VyTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF1Q0E7OztlQUFxQkE7Ozs0REFyQ0w7NkRBQ0M7K0RBQ1E7MkVBQ007NERBRVI7NkRBQ0M7NkRBQ0E7OERBQ0E7OERBQ0M7Z0VBQ0U7aUVBQ0M7aUVBQ0E7aUVBQ0E7a0VBQ0M7bUVBQ0M7bUVBQ0E7bUVBQ0E7bUVBQ0E7b0VBQ0M7cUVBQ0M7cUVBQ0E7c0VBQ0M7c0VBQ0E7dUVBQ0M7d0VBQ0M7d0VBQ0E7d0VBQ0E7eUVBQ0M7MEVBQ0M7MkVBQ0M7NEVBQ0M7NkVBQ0M7NkVBQ0E7dUJBRVA7Ozs7OztBQUVsQixNQUFNQTtJQUNuQixZQUFZQyxTQUFTLEVBQUVDLE9BQU8sQ0FBRTtRQUM5QixJQUFJLENBQUNELFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO0lBQ2pCO0lBRUFDLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0YsU0FBUztJQUN2QjtJQUVBRyxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNGLE9BQU87SUFDckI7SUFFREcsZ0JBQWdCQyxNQUFNLEVBQUU7UUFDdEIsSUFBSUM7UUFFSCxNQUFNQyxPQUFPLElBQUksQ0FBQ0Ms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
|
package/lib/constants.js
CHANGED
|
@@ -17,10 +17,18 @@ _export(exports, {
|
|
|
17
17
|
},
|
|
18
18
|
get ESCAPED_DOUBLE_QUOTE () {
|
|
19
19
|
return ESCAPED_DOUBLE_QUOTE;
|
|
20
|
+
},
|
|
21
|
+
get ISOLATED_PRECEDENCE () {
|
|
22
|
+
return ISOLATED_PRECEDENCE;
|
|
23
|
+
},
|
|
24
|
+
get TRANSPARENT_PRECEDENCE () {
|
|
25
|
+
return TRANSPARENT_PRECEDENCE;
|
|
20
26
|
}
|
|
21
27
|
});
|
|
22
28
|
const EMPTY_STRING = "";
|
|
23
29
|
const ESCAPED_BACKSLASH = "\\";
|
|
30
|
+
const ISOLATED_PRECEDENCE = -1;
|
|
24
31
|
const ESCAPED_DOUBLE_QUOTE = "\"";
|
|
32
|
+
const TRANSPARENT_PRECEDENCE = Infinity;
|
|
25
33
|
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IEVTQ0FQRURfQkFDS1NMQVNIID1cIlxcXFxcIjtcbmV4cG9ydCBjb25zdCBJU09MQVRFRF9QUkVDRURFTkNFID0gLTE7XG5leHBvcnQgY29uc3QgRVNDQVBFRF9ET1VCTEVfUVVPVEUgPSBcIlxcXCJcIjtcbmV4cG9ydCBjb25zdCBUUkFOU1BBUkVOVF9QUkVDRURFTkNFID0gSW5maW5pdHk7Il0sIm5hbWVzIjpbIkVNUFRZX1NUUklORyIsIkVTQ0FQRURfQkFDS1NMQVNIIiwiRVNDQVBFRF9ET1VCTEVfUVVPVEUiLCJJU09MQVRFRF9QUkVDRURFTkNFIiwiVFJBTlNQQVJFTlRfUFJFQ0VERU5DRSIsIkluZmluaXR5Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFFYUE7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQUVBQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBRUFDO2VBQUFBOzs7QUFKTixNQUFNSixlQUFlO0FBQ3JCLE1BQU1DLG9CQUFtQjtBQUN6QixNQUFNRSxzQkFBc0IsQ0FBQztBQUM3QixNQUFNRCx1QkFBdUI7QUFDN0IsTUFBTUUseUJBQXlCQyJ9
|
package/lib/cut.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return Cut;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
class Cut {
|
|
12
|
+
constructor(frame, state, forward){
|
|
13
|
+
this.frame = frame;
|
|
14
|
+
this.state = state;
|
|
15
|
+
this.forward = forward;
|
|
16
|
+
}
|
|
17
|
+
getFrame() {
|
|
18
|
+
return this.frame;
|
|
19
|
+
}
|
|
20
|
+
getState() {
|
|
21
|
+
return this.state;
|
|
22
|
+
}
|
|
23
|
+
getForward() {
|
|
24
|
+
return this.forward;
|
|
25
|
+
}
|
|
26
|
+
getArguments() {
|
|
27
|
+
return [
|
|
28
|
+
this.frame,
|
|
29
|
+
this.state,
|
|
30
|
+
this.forward
|
|
31
|
+
]; ///
|
|
32
|
+
}
|
|
33
|
+
static fromFrameStateAndForward(frame, state, forward) {
|
|
34
|
+
const cut = new Cut(frame, state, forward);
|
|
35
|
+
return cut;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jdXQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEN1dCB7XG4gIGNvbnN0cnVjdG9yKGZyYW1lLCBzdGF0ZSwgZm9yd2FyZCkge1xuICAgIHRoaXMuZnJhbWUgPSBmcmFtZTtcbiAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgdGhpcy5mb3J3YXJkID0gZm9yd2FyZDtcbiAgfVxuXG4gIGdldEZyYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmZyYW1lO1xuICB9XG5cbiAgZ2V0U3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGU7XG4gIH1cblxuICBnZXRGb3J3YXJkKCkge1xuICAgIHJldHVybiB0aGlzLmZvcndhcmQ7XG4gIH1cblxuICBnZXRBcmd1bWVudHMoKSB7XG4gICAgcmV0dXJuIChbdGhpcy5mcmFtZSwgdGhpcy5zdGF0ZSwgdGhpcy5mb3J3YXJkXSk7IC8vL1xuICB9XG5cbiAgc3RhdGljIGZyb21GcmFtZVN0YXRlQW5kRm9yd2FyZChmcmFtZSwgc3RhdGUsIGZvcndhcmQpIHtcbiAgICBjb25zdCBjdXQgPSBuZXcgQ3V0KGZyYW1lLCBzdGF0ZSwgZm9yd2FyZCk7XG5cbiAgICByZXR1cm4gY3V0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQ3V0IiwiZnJhbWUiLCJzdGF0ZSIsImZvcndhcmQiLCJnZXRGcmFtZSIsImdldFN0YXRlIiwiZ2V0Rm9yd2FyZCIsImdldEFyZ3VtZW50cyIsImZyb21GcmFtZVN0YXRlQW5kRm9yd2FyZCIsImN1dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUFxQkE7OztBQUFOLE1BQU1BO0lBQ25CLFlBQVlDLEtBQUssRUFBRUMsS0FBSyxFQUFFQyxPQUFPLENBQUU7UUFDakMsSUFBSSxDQUFDRixLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO0lBQ2pCO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0gsS0FBSztJQUNuQjtJQUVBSSxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUNILEtBQUs7SUFDbkI7SUFFQUksYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDSCxPQUFPO0lBQ3JCO0lBRUFJLGVBQWU7UUFDYixPQUFRO1lBQUMsSUFBSSxDQUFDTixLQUFLO1lBQUUsSUFBSSxDQUFDQyxLQUFLO1lBQUUsSUFBSSxDQUFDQyxPQUFPO1NBQUMsRUFBRyxHQUFHO0lBQ3REO0lBRUEsT0FBT0sseUJBQXlCUCxLQUFLLEVBQUVDLEtBQUssRUFBRUMsT0FBTyxFQUFFO1FBQ3JELE1BQU1NLE1BQU0sSUFBSVQsSUFBSUMsT0FBT0MsT0FBT0M7UUFFbEMsT0FBT007SUFDVDtBQUNGIn0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return BranchingPartsDefinition;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _occamlexers = require("occam-lexers");
|
|
12
|
+
const _definition = /*#__PURE__*/ _interop_require_default(require("../definition"));
|
|
13
|
+
const _ruleName = /*#__PURE__*/ _interop_require_default(require("../part/nonTerminal/ruleName"));
|
|
14
|
+
const _stringLiteral = /*#__PURE__*/ _interop_require_default(require("../part/terminal/stringLiteral"));
|
|
15
|
+
const _ruleNames = require("../ruleNames");
|
|
16
|
+
function _interop_require_default(obj) {
|
|
17
|
+
return obj && obj.__esModule ? obj : {
|
|
18
|
+
default: obj
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const { ellipsis, openBracket, closeBracket } = _occamlexers.specialSymbols;
|
|
22
|
+
class BranchingPartsDefinition extends _definition.default {
|
|
23
|
+
static fromNothing() {
|
|
24
|
+
const ruleName = _ruleNames.PART_RULE_NAME, ellipsisStringLiteralContent = ellipsis, openBracketStringLiteralContent = openBracket, closeBracketStringLiteralContent = closeBracket, partRuleNamePart = _ruleName.default.fromRuleName(ruleName), ellipsisStringLiteralPart = _stringLiteral.default.fromContent(ellipsisStringLiteralContent), openBracketStringLiteralPart = _stringLiteral.default.fromContent(openBracketStringLiteralContent), closeBracketStringLiteralPart = _stringLiteral.default.fromContent(closeBracketStringLiteralContent), parts = [
|
|
25
|
+
openBracketStringLiteralPart,
|
|
26
|
+
partRuleNamePart,
|
|
27
|
+
ellipsisStringLiteralPart,
|
|
28
|
+
partRuleNamePart,
|
|
29
|
+
closeBracketStringLiteralPart
|
|
30
|
+
], precedence = null, branchingPartsDefinition = new BranchingPartsDefinition(parts, precedence);
|
|
31
|
+
return branchingPartsDefinition;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWZpbml0aW9uL2JyYW5jaGluZ1BhcnRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBzcGVjaWFsU3ltYm9scyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcblxuaW1wb3J0IERlZmluaXRpb24gZnJvbSBcIi4uL2RlZmluaXRpb25cIjtcbmltcG9ydCBSdWxlTmFtZVBhcnQgZnJvbSBcIi4uL3BhcnQvbm9uVGVybWluYWwvcnVsZU5hbWVcIjtcbmltcG9ydCBTdHJpbmdMaXRlcmFsUGFydCBmcm9tIFwiLi4vcGFydC90ZXJtaW5hbC9zdHJpbmdMaXRlcmFsXCI7XG5cbmltcG9ydCB7IFBBUlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCB7IGVsbGlwc2lzLCBvcGVuQnJhY2tldCwgY2xvc2VCcmFja2V0IH0gPSBzcGVjaWFsU3ltYm9scztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnJhbmNoaW5nUGFydHNEZWZpbml0aW9uIGV4dGVuZHMgRGVmaW5pdGlvbiB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IFBBUlRfUlVMRV9OQU1FLCAgLy8vXG4gICAgICAgICAgZWxsaXBzaXNTdHJpbmdMaXRlcmFsQ29udGVudCA9IGVsbGlwc2lzLCAvLy9cbiAgICAgICAgICBvcGVuQnJhY2tldFN0cmluZ0xpdGVyYWxDb250ZW50ID0gb3BlbkJyYWNrZXQsIC8vL1xuICAgICAgICAgIGNsb3NlQnJhY2tldFN0cmluZ0xpdGVyYWxDb250ZW50ID0gY2xvc2VCcmFja2V0LCAvLy9cbiAgICAgICAgICBwYXJ0UnVsZU5hbWVQYXJ0ID0gUnVsZU5hbWVQYXJ0LmZyb21SdWxlTmFtZShydWxlTmFtZSksXG4gICAgICAgICAgZWxsaXBzaXNTdHJpbmdMaXRlcmFsUGFydCA9IFN0cmluZ0xpdGVyYWxQYXJ0LmZyb21Db250ZW50KGVsbGlwc2lzU3RyaW5nTGl0ZXJhbENvbnRlbnQpLFxuICAgICAgICAgIG9wZW5CcmFja2V0U3RyaW5nTGl0ZXJhbFBhcnQgPSBTdHJpbmdMaXRlcmFsUGFydC5mcm9tQ29udGVudChvcGVuQnJhY2tldFN0cmluZ0xpdGVyYWxDb250ZW50KSxcbiAgICAgICAgICBjbG9zZUJyYWNrZXRTdHJpbmdMaXRlcmFsUGFydCA9IFN0cmluZ0xpdGVyYWxQYXJ0LmZyb21Db250ZW50KGNsb3NlQnJhY2tldFN0cmluZ0xpdGVyYWxDb250ZW50KSxcbiAgICAgICAgICBwYXJ0cyA9IFtcbiAgICAgICAgICAgIG9wZW5CcmFja2V0U3RyaW5nTGl0ZXJhbFBhcnQsXG4gICAgICAgICAgICBwYXJ0UnVsZU5hbWVQYXJ0LFxuICAgICAgICAgICAgZWxsaXBzaXNTdHJpbmdMaXRlcmFsUGFydCxcbiAgICAgICAgICAgIHBhcnRSdWxlTmFtZVBhcnQsXG4gICAgICAgICAgICBjbG9zZUJyYWNrZXRTdHJpbmdMaXRlcmFsUGFydFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJlY2VkZW5jZSA9IG51bGwsXG4gICAgICAgICAgYnJhbmNoaW5nUGFydHNEZWZpbml0aW9uID0gbmV3IEJyYW5jaGluZ1BhcnRzRGVmaW5pdGlvbihwYXJ0cywgcHJlY2VkZW5jZSk7XG5cbiAgICByZXR1cm4gYnJhbmNoaW5nUGFydHNEZWZpbml0aW9uO1xuICB9XG59XG4iXSwibmFtZXMiOlsiQnJhbmNoaW5nUGFydHNEZWZpbml0aW9uIiwiZWxsaXBzaXMiLCJvcGVuQnJhY2tldCIsImNsb3NlQnJhY2tldCIsInNwZWNpYWxTeW1ib2xzIiwiRGVmaW5pdGlvbiIsImZyb21Ob3RoaW5nIiwicnVsZU5hbWUiLCJQQVJUX1JVTEVfTkFNRSIsImVsbGlwc2lzU3RyaW5nTGl0ZXJhbENvbnRlbnQiLCJvcGVuQnJhY2tldFN0cmluZ0xpdGVyYWxDb250ZW50IiwiY2xvc2VCcmFja2V0U3RyaW5nTGl0ZXJhbENvbnRlbnQiLCJwYXJ0UnVsZU5hbWVQYXJ0IiwiUnVsZU5hbWVQYXJ0IiwiZnJvbVJ1bGVOYW1lIiwiZWxsaXBzaXNTdHJpbmdMaXRlcmFsUGFydCIsIlN0cmluZ0xpdGVyYWxQYXJ0IiwiZnJvbUNvbnRlbnQiLCJvcGVuQnJhY2tldFN0cmluZ0xpdGVyYWxQYXJ0IiwiY2xvc2VCcmFja2V0U3RyaW5nTGl0ZXJhbFBhcnQiLCJwYXJ0cyIsInByZWNlZGVuY2UiLCJicmFuY2hpbmdQYXJ0c0RlZmluaXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVlBOzs7ZUFBcUJBOzs7NkJBVlU7bUVBRVI7aUVBQ0U7c0VBQ0s7MkJBRUM7Ozs7OztBQUUvQixNQUFNLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxZQUFZLEVBQUUsR0FBR0MsMkJBQWM7QUFFL0MsTUFBTUosaUNBQWlDSyxtQkFBVTtJQUM5RCxPQUFPQyxjQUFjO1FBQ25CLE1BQU1DLFdBQVdDLHlCQUFjLEVBQ3pCQywrQkFBK0JSLFVBQy9CUyxrQ0FBa0NSLGFBQ2xDUyxtQ0FBbUNSLGNBQ25DUyxtQkFBbUJDLGlCQUFZLENBQUNDLFlBQVksQ0FBQ1AsV0FDN0NRLDRCQUE0QkMsc0JBQWlCLENBQUNDLFdBQVcsQ0FBQ1IsK0JBQzFEUywrQkFBK0JGLHNCQUFpQixDQUFDQyxXQUFXLENBQUNQLGtDQUM3RFMsZ0NBQWdDSCxzQkFBaUIsQ0FBQ0MsV0FBVyxDQUFDTixtQ0FDOURTLFFBQVE7WUFDTkY7WUFDQU47WUFDQUc7WUFDQUg7WUFDQU87U0FDRCxFQUNERSxhQUFhLE1BQ2JDLDJCQUEyQixJQUFJdEIseUJBQXlCb0IsT0FBT0M7UUFFckUsT0FBT0M7SUFDVDtBQUNGIn0=
|
|
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
const _definition = /*#__PURE__*/ _interop_require_default(require("../../../definition"));
|
|
12
12
|
const _ruleName = /*#__PURE__*/ _interop_require_default(require("../../../part/nonTerminal/ruleName"));
|
|
13
|
-
const _optionalPart = /*#__PURE__*/ _interop_require_default(require("../../../part/nonTerminal/optionalPart"));
|
|
14
13
|
const _ruleNames = require("../../../ruleNames");
|
|
15
14
|
function _interop_require_default(obj) {
|
|
16
15
|
return obj && obj.__esModule ? obj : {
|
|
@@ -19,16 +18,11 @@ function _interop_require_default(obj) {
|
|
|
19
18
|
}
|
|
20
19
|
class RuleNameNonTerminalPartRuleDefinition extends _definition.default {
|
|
21
20
|
static fromNothing() {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const ruleNameRuleNamePart = _ruleName.default.fromRuleName(ruleName);
|
|
25
|
-
ruleName = _ruleNames.CONTINUATION_MODIFIER_RULE_NAME;
|
|
26
|
-
const continuationModifierRuleNamePart = _ruleName.default.fromRuleName(ruleName), optionalContinuationRuleNamePartPart = _optionalPart.default.fromPart(continuationModifierRuleNamePart), parts = [
|
|
27
|
-
ruleNameRuleNamePart,
|
|
28
|
-
optionalContinuationRuleNamePartPart
|
|
21
|
+
const ruleName = _ruleNames.RULE_NAME_RULE_NAME, ruleNameRuleNamePart = _ruleName.default.fromRuleName(ruleName), parts = [
|
|
22
|
+
ruleNameRuleNamePart
|
|
29
23
|
], precedence = null, ruleNameNonTerminalPartRuleDefinition = new RuleNameNonTerminalPartRuleDefinition(parts, precedence);
|
|
30
24
|
return ruleNameNonTerminalPartRuleDefinition;
|
|
31
25
|
}
|
|
32
26
|
}
|
|
33
27
|
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWZpbml0aW9uL3BhcnRSdWxlL25vblRlcm1pbmFsL3J1bGVOYW1lLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgRGVmaW5pdGlvbiBmcm9tIFwiLi4vLi4vLi4vZGVmaW5pdGlvblwiO1xuaW1wb3J0IFJ1bGVOYW1lUGFydCBmcm9tIFwiLi4vLi4vLi4vcGFydC9ub25UZXJtaW5hbC9ydWxlTmFtZVwiO1xuXG5pbXBvcnQgeyBSVUxFX05BTUVfUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uLy4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSdWxlTmFtZU5vblRlcm1pbmFsUGFydFJ1bGVEZWZpbml0aW9uIGV4dGVuZHMgRGVmaW5pdGlvbiB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IFJVTEVfTkFNRV9SVUxFX05BTUUsXG4gICAgICAgICAgcnVsZU5hbWVSdWxlTmFtZVBhcnQgPSBSdWxlTmFtZVBhcnQuZnJvbVJ1bGVOYW1lKHJ1bGVOYW1lKSxcbiAgICAgICAgICBwYXJ0cyA9IFtcbiAgICAgICAgICAgIHJ1bGVOYW1lUnVsZU5hbWVQYXJ0LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJlY2VkZW5jZSA9IG51bGwsXG4gICAgICAgICAgcnVsZU5hbWVOb25UZXJtaW5hbFBhcnRSdWxlRGVmaW5pdGlvbiA9IG5ldyBSdWxlTmFtZU5vblRlcm1pbmFsUGFydFJ1bGVEZWZpbml0aW9uKHBhcnRzLCBwcmVjZWRlbmNlKTtcblxuICAgIHJldHVybiBydWxlTmFtZU5vblRlcm1pbmFsUGFydFJ1bGVEZWZpbml0aW9uO1xuICB9XG59XG4iXSwibmFtZXMiOlsiUnVsZU5hbWVOb25UZXJtaW5hbFBhcnRSdWxlRGVmaW5pdGlvbiIsIkRlZmluaXRpb24iLCJmcm9tTm90aGluZyIsInJ1bGVOYW1lIiwiUlVMRV9OQU1FX1JVTEVfTkFNRSIsInJ1bGVOYW1lUnVsZU5hbWVQYXJ0IiwiUnVsZU5hbWVQYXJ0IiwiZnJvbVJ1bGVOYW1lIiwicGFydHMiLCJwcmVjZWRlbmNlIiwicnVsZU5hbWVOb25UZXJtaW5hbFBhcnRSdWxlRGVmaW5pdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUFxQkE7OzttRUFMRTtpRUFDRTsyQkFFVzs7Ozs7O0FBRXJCLE1BQU1BLDhDQUE4Q0MsbUJBQVU7SUFDM0UsT0FBT0MsY0FBYztRQUNuQixNQUFNQyxXQUFXQyw4QkFBbUIsRUFDOUJDLHVCQUF1QkMsaUJBQVksQ0FBQ0MsWUFBWSxDQUFDSixXQUNqREssUUFBUTtZQUNOSDtTQUNELEVBQ0RJLGFBQWEsTUFDYkMsd0NBQXdDLElBQUlWLHNDQUFzQ1EsT0FBT0M7UUFFL0YsT0FBT0M7SUFDVDtBQUNGIn0=
|
package/lib/definition.js
CHANGED
|
@@ -9,11 +9,51 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _necessary = require("necessary");
|
|
12
|
-
const _frame = require("./
|
|
13
|
-
const
|
|
12
|
+
const _frame = /*#__PURE__*/ _interop_require_wildcard(require("./frame"));
|
|
13
|
+
const _linear = require("./utilities/linear");
|
|
14
|
+
const _branching = require("./utilities/branching");
|
|
14
15
|
const _constants = require("./constants");
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
17
|
+
if (typeof WeakMap !== "function") return null;
|
|
18
|
+
var cacheBabelInterop = new WeakMap();
|
|
19
|
+
var cacheNodeInterop = new WeakMap();
|
|
20
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
21
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
22
|
+
})(nodeInterop);
|
|
23
|
+
}
|
|
24
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
25
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
26
|
+
return obj;
|
|
27
|
+
}
|
|
28
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
29
|
+
return {
|
|
30
|
+
default: obj
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
34
|
+
if (cache && cache.has(obj)) {
|
|
35
|
+
return cache.get(obj);
|
|
36
|
+
}
|
|
37
|
+
var newObj = {
|
|
38
|
+
__proto__: null
|
|
39
|
+
};
|
|
40
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
41
|
+
for(var key in obj){
|
|
42
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
43
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
44
|
+
if (desc && (desc.get || desc.set)) {
|
|
45
|
+
Object.defineProperty(newObj, key, desc);
|
|
46
|
+
} else {
|
|
47
|
+
newObj[key] = obj[key];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
newObj.default = obj;
|
|
52
|
+
if (cache) {
|
|
53
|
+
cache.set(obj, newObj);
|
|
54
|
+
}
|
|
55
|
+
return newObj;
|
|
56
|
+
}
|
|
17
57
|
const { SPACE_CHARACTER } = _necessary.characters;
|
|
18
58
|
class Definition {
|
|
19
59
|
constructor(parts, precedence){
|
|
@@ -26,21 +66,36 @@ class Definition {
|
|
|
26
66
|
getPrecedence() {
|
|
27
67
|
return this.precedence;
|
|
28
68
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
69
|
+
isConsuming(ruleMap, visitedRules) {
|
|
70
|
+
const consuming = this.parts.some((part)=>{
|
|
71
|
+
const consuming = part.isConsuming(ruleMap, visitedRules);
|
|
72
|
+
if (consuming) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
return consuming;
|
|
77
|
+
}
|
|
78
|
+
parse(rule, frame, state, forward, back) {
|
|
79
|
+
const savedFrame = frame, branching = state.isBranching(), every = branching ? _branching.every : _linear.every;
|
|
80
|
+
return every(this.parts, (part, frame, state, forward, back)=>{
|
|
81
|
+
return part.parse(frame, state, forward, back);
|
|
82
|
+
}, _frame.emptyFrame, state, (frame, state, back)=>{
|
|
83
|
+
const definition = this; ///
|
|
84
|
+
frame = this.compose(rule, definition, savedFrame, frame, state); ///
|
|
85
|
+
if (frame === null) {
|
|
86
|
+
return back();
|
|
87
|
+
}
|
|
88
|
+
return forward(frame, state, back);
|
|
89
|
+
}, back);
|
|
90
|
+
}
|
|
91
|
+
compose(rule, definition, savedFrame, frame, state) {
|
|
92
|
+
const nonTerminalNode = nonTerminalNodeFromRuleDefinitionFrameAndState(rule, definition, frame, state), unpalatable = nonTerminalNode.isUnpalatable();
|
|
93
|
+
if (unpalatable) {
|
|
94
|
+
frame = null;
|
|
36
95
|
} else {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
frame =
|
|
40
|
-
}
|
|
41
|
-
const frameValid = (0, _frame.isValid)(frame);
|
|
42
|
-
if (frameValid) {
|
|
43
|
-
context.commit();
|
|
96
|
+
const childNode = nonTerminalNode; ///
|
|
97
|
+
frame = _frame.default.fromChildNode(childNode); ///
|
|
98
|
+
frame = savedFrame.merge(frame); ///
|
|
44
99
|
}
|
|
45
100
|
return frame;
|
|
46
101
|
}
|
|
@@ -57,7 +112,7 @@ class Definition {
|
|
|
57
112
|
}, _constants.EMPTY_STRING);
|
|
58
113
|
string = partsString; ///
|
|
59
114
|
if (this.precedence !== null) {
|
|
60
|
-
const precedence = this.precedence ===
|
|
115
|
+
const precedence = this.precedence === _constants.TRANSPARENT_PRECEDENCE ? SPACE_CHARACTER : this.precedence;
|
|
61
116
|
string = `${string} (${precedence})`;
|
|
62
117
|
}
|
|
63
118
|
return string;
|
|
@@ -80,5 +135,12 @@ class Definition {
|
|
|
80
135
|
return definition;
|
|
81
136
|
}
|
|
82
137
|
}
|
|
138
|
+
function nonTerminalNodeFromRuleDefinitionFrameAndState(rule, definition, frame, state) {
|
|
139
|
+
let nonTerminalNode;
|
|
140
|
+
const opacity = rule.getOpacity(), ruleName = rule.getName(), childNodes = frame.getChildNodes(), precedence = frame.getPrecedence(definition), NonTerminalNode = state.NonTerminalNodeFromRuleName(ruleName);
|
|
141
|
+
nonTerminalNode = NonTerminalNode.fromRuleNameChildNodesPrecedenceAndOpacity(ruleName, childNodes, precedence, opacity);
|
|
142
|
+
nonTerminalNode = nonTerminalNode.rewrite(state);
|
|
143
|
+
return nonTerminalNode;
|
|
144
|
+
}
|
|
83
145
|
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZpbml0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBjaGFyYWN0ZXJzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgRnJhbWUgZnJvbSBcIi4vZnJhbWVcIjtcblxuaW1wb3J0IHsgZW1wdHlGcmFtZSB9IGZyb20gXCIuL2ZyYW1lXCI7XG5pbXBvcnQgeyBldmVyeSBhcyBsaW5lYXJFdmVyeSAgfSBmcm9tIFwiLi91dGlsaXRpZXMvbGluZWFyXCI7XG5pbXBvcnQgeyBldmVyeSBhcyBicmFuY2hpbmdFdmVyeSAgfSBmcm9tIFwiLi91dGlsaXRpZXMvYnJhbmNoaW5nXCI7XG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIFRSQU5TUEFSRU5UX1BSRUNFREVOQ0UgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBTUEFDRV9DSEFSQUNURVIgfSA9IGNoYXJhY3RlcnM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERlZmluaXRpb24ge1xuICBjb25zdHJ1Y3RvcihwYXJ0cywgcHJlY2VkZW5jZSkge1xuICAgIHRoaXMucGFydHMgPSBwYXJ0cztcbiAgICB0aGlzLnByZWNlZGVuY2UgPSBwcmVjZWRlbmNlO1xuICB9XG5cbiAgZ2V0UGFydHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFydHM7XG4gIH1cblxuICBnZXRQcmVjZWRlbmNlKCkge1xuICAgIHJldHVybiB0aGlzLnByZWNlZGVuY2U7XG4gIH1cblxuICBpc0NvbnN1bWluZyhydWxlTWFwLCB2aXNpdGVkUnVsZXMpIHtcbiAgICBjb25zdCBjb25zdW1pbmcgPSB0aGlzLnBhcnRzLnNvbWUoKHBhcnQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnN1bWluZyA9IHBhcnQuaXNDb25zdW1pbmcocnVsZU1hcCwgdmlzaXRlZFJ1bGVzKTtcblxuICAgICAgaWYgKGNvbnN1bWluZykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBjb25zdW1pbmc7XG4gIH1cblxuICBwYXJzZShydWxlLCBmcmFtZSwgc3RhdGUsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBzYXZlZEZyYW1lID0gZnJhbWUsIC8vL1xuICAgICAgICAgIGJyYW5jaGluZyA9IHN0YXRlLmlzQnJhbmNoaW5nKCksXG4gICAgICAgICAgZXZlcnkgPSBicmFuY2hpbmcgP1xuICAgICAgICAgICAgICAgICAgICBicmFuY2hpbmdFdmVyeSA6XG4gICAgICAgICAgICAgICAgICAgICAgbGluZWFyRXZlcnk7XG5cbiAgICByZXR1cm4gZXZlcnkodGhpcy5wYXJ0cywgKHBhcnQsIGZyYW1lLCBzdGF0ZSwgZm9yd2FyZCwgYmFjaykgPT4ge1xuICAgICAgcmV0dXJuIHBhcnQucGFyc2UoZnJhbWUsIHN0YXRlLCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9LCBlbXB0eUZyYW1lLCBzdGF0ZSwgKGZyYW1lLCBzdGF0ZSwgYmFjaykgPT4ge1xuICAgICAgY29uc3QgZGVmaW5pdGlvbiA9IHRoaXM7ICAvLy9cblxuICAgICAgZnJhbWUgPSB0aGlzLmNvbXBvc2UocnVsZSwgZGVmaW5pdGlvbiwgc2F2ZWRGcmFtZSwgZnJhbWUsIHN0YXRlKTsgIC8vL1xuXG4gICAgICBpZiAoZnJhbWUgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZvcndhcmQoZnJhbWUsIHN0YXRlLCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIGNvbXBvc2UocnVsZSwgZGVmaW5pdGlvbiwgc2F2ZWRGcmFtZSwgZnJhbWUsIHN0YXRlKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9uVGVybWluYWxOb2RlRnJvbVJ1bGVEZWZpbml0aW9uRnJhbWVBbmRTdGF0ZShydWxlLCBkZWZpbml0aW9uLCBmcmFtZSwgc3RhdGUpLFxuICAgICAgICAgIHVucGFsYXRhYmxlID0gbm9uVGVybWluYWxOb2RlLmlzVW5wYWxhdGFibGUoKTtcblxuICAgIGlmICh1bnBhbGF0YWJsZSkge1xuICAgICAgZnJhbWUgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjaGlsZE5vZGUgPSBub25UZXJtaW5hbE5vZGU7ICAvLy9cblxuICAgICAgZnJhbWUgPSBGcmFtZS5mcm9tQ2hpbGROb2RlKGNoaWxkTm9kZSk7IC8vL1xuXG4gICAgICBmcmFtZSA9IHNhdmVkRnJhbWUubWVyZ2UoZnJhbWUpOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBhc1N0cmluZygpIHtcbiAgICBsZXQgc3RyaW5nO1xuXG4gICAgY29uc3QgcGFydHNTdHJpbmcgPSB0aGlzLnBhcnRzLnJlZHVjZSgocGFydHNTdHJpbmcsIHBhcnQpID0+IHtcbiAgICAgIGNvbnN0IHBhcnRTdHJpbmcgPSBwYXJ0LmFzU3RyaW5nKCk7XG5cbiAgICAgIGlmIChwYXJ0c1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgICAgIHBhcnRzU3RyaW5nID0gcGFydFN0cmluZzsgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJ0c1N0cmluZyA9IGAke3BhcnRzU3RyaW5nfSAke3BhcnRTdHJpbmd9YDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhcnRzU3RyaW5nO1xuICAgIH0sIEVNUFRZX1NUUklORyk7XG5cbiAgICBzdHJpbmcgPSBwYXJ0c1N0cmluZzsgLy8vXG5cbiAgICBpZiAodGhpcy5wcmVjZWRlbmNlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwcmVjZWRlbmNlID0gKHRoaXMucHJlY2VkZW5jZSA9PT0gVFJBTlNQQVJFTlRfUFJFQ0VERU5DRSkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BBQ0VfQ0hBUkFDVEVSIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmVjZWRlbmNlO1xuXG4gICAgICBzdHJpbmcgPSBgJHtzdHJpbmd9ICgke3ByZWNlZGVuY2V9KWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUGFydHMoQ2xhc3MsIHBhcnRzKSB7XG4gICAgaWYgKHBhcnRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHBhcnRzID0gQ2xhc3M7ICAvLy9cblxuICAgICAgQ2xhc3MgPSBEZWZpbml0aW9uOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBwcmVjZWRlbmNlID0gbnVsbCxcbiAgICAgICAgICBkZWZpbml0aW9uID0gbmV3IENsYXNzKHBhcnRzLCBwcmVjZWRlbmNlKTtcblxuICAgIHJldHVybiBkZWZpbml0aW9uO1xuICB9XG5cbiAgc3RhdGljIGZyb21QYXJ0c0FuZFByZWNlZGVuY2UoQ2xhc3MsIHBhcnRzLCBwcmVjZWRlbmNlKSB7XG4gICAgaWYgKHByZWNlZGVuY2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcHJlY2VkZW5jZSA9IHBhcnRzOyAvLy9cblxuICAgICAgcGFydHMgPSBDbGFzczsgIC8vL1xuXG4gICAgICBDbGFzcyA9IERlZmluaXRpb247IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IGRlZmluaXRpb24gPSBuZXcgQ2xhc3MocGFydHMsIHByZWNlZGVuY2UpO1xuXG4gICAgcmV0dXJuIGRlZmluaXRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gbm9uVGVybWluYWxOb2RlRnJvbVJ1bGVEZWZpbml0aW9uRnJhbWVBbmRTdGF0ZShydWxlLCBkZWZpbml0aW9uLCBmcmFtZSwgc3RhdGUpIHtcbiAgbGV0IG5vblRlcm1pbmFsTm9kZTtcblxuICBjb25zdCBvcGFjaXR5ID0gcnVsZS5nZXRPcGFjaXR5KCksXG4gICAgICAgIHJ1bGVOYW1lID0gcnVsZS5nZXROYW1lKCksXG4gICAgICAgIGNoaWxkTm9kZXMgPSBmcmFtZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIHByZWNlZGVuY2UgPSBmcmFtZS5nZXRQcmVjZWRlbmNlKGRlZmluaXRpb24pLFxuICAgICAgICBOb25UZXJtaW5hbE5vZGUgPSBzdGF0ZS5Ob25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gIG5vblRlcm1pbmFsTm9kZSA9IE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzUHJlY2VkZW5jZUFuZE9wYWNpdHkocnVsZU5hbWUsIGNoaWxkTm9kZXMsIHByZWNlZGVuY2UsIG9wYWNpdHkpO1xuXG4gIG5vblRlcm1pbmFsTm9kZSA9IG5vblRlcm1pbmFsTm9kZS5yZXdyaXRlKHN0YXRlKTtcblxuICByZXR1cm4gbm9uVGVybWluYWxOb2RlO1xufVxuIl0sIm5hbWVzIjpbIkRlZmluaXRpb24iLCJTUEFDRV9DSEFSQUNURVIiLCJjaGFyYWN0ZXJzIiwicGFydHMiLCJwcmVjZWRlbmNlIiwiZ2V0UGFydHMiLCJnZXRQcmVjZWRlbmNlIiwiaXNDb25zdW1pbmciLCJydWxlTWFwIiwidmlzaXRlZFJ1bGVzIiwiY29uc3VtaW5nIiwic29tZSIsInBhcnQiLCJwYXJzZSIsInJ1bGUiLCJmcmFtZSIsInN0YXRlIiwiZm9yd2FyZCIsImJhY2siLCJzYXZlZEZyYW1lIiwiYnJhbmNoaW5nIiwiaXNCcmFuY2hpbmciLCJldmVyeSIsImJyYW5jaGluZ0V2ZXJ5IiwibGluZWFyRXZlcnkiLCJlbXB0eUZyYW1lIiwiZGVmaW5pdGlvbiIsImNvbXBvc2UiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVGcm9tUnVsZURlZmluaXRpb25GcmFtZUFuZFN0YXRlIiwidW5wYWxhdGFibGUiLCJpc1VucGFsYXRhYmxlIiwiY2hpbGROb2RlIiwiRnJhbWUiLCJmcm9tQ2hpbGROb2RlIiwibWVyZ2UiLCJhc1N0cmluZyIsInN0cmluZyIsInBhcnRzU3RyaW5nIiwicmVkdWNlIiwicGFydFN0cmluZyIsIkVNUFRZX1NUUklORyIsIlRSQU5TUEFSRU5UX1BSRUNFREVOQ0UiLCJmcm9tUGFydHMiLCJDbGFzcyIsInVuZGVmaW5lZCIsImZyb21QYXJ0c0FuZFByZWNlZGVuY2UiLCJvcGFjaXR5IiwiZ2V0T3BhY2l0eSIsInJ1bGVOYW1lIiwiZ2V0TmFtZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiTm9uVGVybWluYWxOb2RlIiwiTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc1ByZWNlZGVuY2VBbmRPcGFjaXR5IiwicmV3cml0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYUE7OztlQUFxQkE7OzsyQkFYTTsrREFFVDt3QkFHb0I7MkJBQ0c7MkJBQ1k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVyRCxNQUFNLEVBQUVDLGVBQWUsRUFBRSxHQUFHQyxxQkFBVTtBQUV2QixNQUFNRjtJQUNuQixZQUFZRyxLQUFLLEVBQUVDLFVBQVUsQ0FBRTtRQUM3QixJQUFJLENBQUNELEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLFVBQVUsR0FBR0E7SUFDcEI7SUFFQUMsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDRixLQUFLO0lBQ25CO0lBRUFHLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDRixVQUFVO0lBQ3hCO0lBRUFHLFlBQVlDLE9BQU8sRUFBRUMsWUFBWSxFQUFFO1FBQ2pDLE1BQU1DLFlBQVksSUFBSSxDQUFDUCxLQUFLLENBQUNRLElBQUksQ0FBQyxDQUFDQztZQUNqQyxNQUFNRixZQUFZRSxLQUFLTCxXQUFXLENBQUNDLFNBQVNDO1lBRTVDLElBQUlDLFdBQVc7Z0JBQ2IsT0FBTztZQUNUO1FBQ0Y7UUFFQSxPQUFPQTtJQUNUO0lBRUFHLE1BQU1DLElBQUksRUFBRUMsS0FBSyxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFFO1FBQ3ZDLE1BQU1DLGFBQWFKLE9BQ2JLLFlBQVlKLE1BQU1LLFdBQVcsSUFDN0JDLFFBQVFGLFlBQ0VHLGdCQUFjLEdBQ1pDLGFBQVc7UUFFN0IsT0FBT0YsTUFBTSxJQUFJLENBQUNuQixLQUFLLEVBQUUsQ0FBQ1MsTUFBTUcs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
|
package/lib/frame.js
CHANGED
|
@@ -9,9 +9,6 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
get cutFrame () {
|
|
13
|
-
return cutFrame;
|
|
14
|
-
},
|
|
15
12
|
get default () {
|
|
16
13
|
return Frame;
|
|
17
14
|
},
|
|
@@ -20,6 +17,7 @@ _export(exports, {
|
|
|
20
17
|
}
|
|
21
18
|
});
|
|
22
19
|
const _necessary = require("necessary");
|
|
20
|
+
const _constants = require("./constants");
|
|
23
21
|
const { first } = _necessary.arrayUtilities;
|
|
24
22
|
class Frame {
|
|
25
23
|
constructor(childNodes, precedence){
|
|
@@ -29,8 +27,19 @@ class Frame {
|
|
|
29
27
|
getChildNodes() {
|
|
30
28
|
return this.childNodes;
|
|
31
29
|
}
|
|
32
|
-
getPrecedence() {
|
|
33
|
-
|
|
30
|
+
getPrecedence(definition = null) {
|
|
31
|
+
let precedence;
|
|
32
|
+
if (definition === null) {
|
|
33
|
+
precedence = this.precedence;
|
|
34
|
+
} else {
|
|
35
|
+
const isolated = this.isIsolated();
|
|
36
|
+
if (isolated) {
|
|
37
|
+
precedence = null;
|
|
38
|
+
} else {
|
|
39
|
+
precedence = this.precedence !== null ? this.precedence : definition.getPrecedence();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return precedence;
|
|
34
43
|
}
|
|
35
44
|
setChildNodes(childNodes) {
|
|
36
45
|
this.childNodes = childNodes;
|
|
@@ -38,6 +47,10 @@ class Frame {
|
|
|
38
47
|
setPrecedence(precedence) {
|
|
39
48
|
this.precedence = precedence;
|
|
40
49
|
}
|
|
50
|
+
isIsolated() {
|
|
51
|
+
const isolated = this.precedence === _constants.ISOLATED_PRECEDENCE;
|
|
52
|
+
return isolated;
|
|
53
|
+
}
|
|
41
54
|
getNode() {
|
|
42
55
|
let node = null;
|
|
43
56
|
const childNodesLength = this.childNodes.length;
|
|
@@ -74,7 +87,6 @@ class Frame {
|
|
|
74
87
|
return frame;
|
|
75
88
|
}
|
|
76
89
|
}
|
|
77
|
-
const cutFrame = Frame.fromNothing();
|
|
78
90
|
const emptyFrame = Frame.fromNothing();
|
|
79
91
|
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcmFtZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5pbXBvcnQgeyBJU09MQVRFRF9QUkVDRURFTkNFIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGcmFtZSB7XG4gIGNvbnN0cnVjdG9yKGNoaWxkTm9kZXMsIHByZWNlZGVuY2UpIHtcbiAgICB0aGlzLmNoaWxkTm9kZXMgPSBjaGlsZE5vZGVzO1xuICAgIHRoaXMucHJlY2VkZW5jZSA9IHByZWNlZGVuY2U7XG4gIH1cblxuICBnZXRDaGlsZE5vZGVzKCkge1xuICAgIHJldHVybiB0aGlzLmNoaWxkTm9kZXM7XG4gIH1cblxuICBnZXRQcmVjZWRlbmNlKGRlZmluaXRpb24gPSBudWxsKSB7XG4gICAgbGV0IHByZWNlZGVuY2U7XG5cbiAgICBpZiAoZGVmaW5pdGlvbiA9PT0gbnVsbCkge1xuICAgICAgcHJlY2VkZW5jZSA9IHRoaXMucHJlY2VkZW5jZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaXNvbGF0ZWQgPSB0aGlzLmlzSXNvbGF0ZWQoKTtcblxuICAgICAgaWYgKGlzb2xhdGVkKSB7XG4gICAgICAgIHByZWNlZGVuY2UgPSBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJlY2VkZW5jZSA9ICh0aGlzLnByZWNlZGVuY2UgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJlY2VkZW5jZSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24uZ2V0UHJlY2VkZW5jZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwcmVjZWRlbmNlO1xuICB9XG5cbiAgc2V0Q2hpbGROb2RlcyhjaGlsZE5vZGVzKSB7XG4gICAgdGhpcy5jaGlsZE5vZGVzID0gY2hpbGROb2RlcztcbiAgfVxuXG4gIHNldFByZWNlZGVuY2UocHJlY2VkZW5jZSkge1xuICAgIHRoaXMucHJlY2VkZW5jZSA9IHByZWNlZGVuY2U7XG4gIH1cblxuICBpc0lzb2xhdGVkKCkge1xuICAgIGNvbnN0IGlzb2xhdGVkID0gKHRoaXMucHJlY2VkZW5jZSA9PT0gSVNPTEFURURfUFJFQ0VERU5DRSk7XG5cbiAgICByZXR1cm4gaXNvbGF0ZWQ7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIGxldCBub2RlID0gbnVsbDtcblxuICAgIGNvbnN0IGNoaWxkTm9kZXNMZW5ndGggPSB0aGlzLmNoaWxkTm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKGNoaWxkTm9kZXNMZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IGZpcnN0Q2hpbGROb2RlID0gZmlyc3QodGhpcy5jaGlsZE5vZGVzKTtcblxuICAgICAgbm9kZSA9IGZpcnN0Q2hpbGROb2RlOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBtZXJnZShmcmFtZSkge1xuICAgIGxldCBjaGlsZE5vZGVzLFxuICAgICAgICBwcmVjZWRlbmNlO1xuXG4gICAgY2hpbGROb2RlcyA9IGZyYW1lLmdldENoaWxkTm9kZXMoKTtcblxuICAgIHByZWNlZGVuY2UgPSBmcmFtZS5nZXRQcmVjZWRlbmNlKCk7XG5cbiAgICBjaGlsZE5vZGVzID0gWyAgLy8vXG4gICAgICAuLi50aGlzLmNoaWxkTm9kZXMsXG4gICAgICAuLi5jaGlsZE5vZGVzXG4gICAgXTtcblxuICAgIHByZWNlZGVuY2UgPSBwcmVjZWRlbmNlIHx8IHRoaXMucHJlY2VkZW5jZTsgLy8vXG5cbiAgICBmcmFtZSA9IG5ldyBGcmFtZShjaGlsZE5vZGVzLCBwcmVjZWRlbmNlKTtcblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gW10sXG4gICAgICAgICAgcHJlY2VkZW5jZSA9IG51bGwsXG4gICAgICAgICAgZnJhbWUgPSBuZXcgRnJhbWUoY2hpbGROb2RlcywgcHJlY2VkZW5jZSk7XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNoaWxkTm9kZShjaGlsZE5vZGUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gW1xuICAgICAgICAgICAgY2hpbGROb2RlXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcmVjZWRlbmNlID0gbnVsbCxcbiAgICAgICAgICBmcmFtZSA9IG5ldyBGcmFtZShjaGlsZE5vZGVzLCBwcmVjZWRlbmNlKTtcblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ2hpbGROb2Rlc0FuZFByZWNlZGVuY2UoY2hpbGROb2RlcywgcHJlY2VkZW5jZSkge1xuICAgIGNvbnN0IGZyYW1lID0gbmV3IEZyYW1lKGNoaWxkTm9kZXMsIHByZWNlZGVuY2UpO1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBlbXB0eUZyYW1lID0gRnJhbWUuZnJvbU5vdGhpbmcoKTsiXSwibmFtZXMiOlsiRnJhbWUiLCJlbXB0eUZyYW1lIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImNoaWxkTm9kZXMiLCJwcmVjZWRlbmNlIiwiZ2V0Q2hpbGROb2RlcyIsImdldFByZWNlZGVuY2UiLCJkZWZpbml0aW9uIiwiaXNvbGF0ZWQiLCJpc0lzb2xhdGVkIiwic2V0Q2hpbGROb2RlcyIsInNldFByZWNlZGVuY2UiLCJJU09MQVRFRF9QUkVDRURFTkNFIiwiZ2V0Tm9kZSIsIm5vZGUiLCJjaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3RDaGlsZE5vZGUiLCJtZXJnZSIsImZyYW1lIiwiZnJvbU5vdGhpbmciLCJmcm9tQ2hpbGROb2RlIiwiY2hpbGROb2RlIiwiZnJvbUNoaWxkTm9kZXNBbmRQcmVjZWRlbmNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFPQTtlQUFxQkE7O1FBdUdSQztlQUFBQTs7OzJCQTVHa0I7MkJBQ0s7QUFFcEMsTUFBTSxFQUFFQyxLQUFLLEVBQUUsR0FBR0MseUJBQWM7QUFFakIsTUFBTUg7SUFDbkIsWUFBWUksVUFBVSxFQUFFQyxVQUFVLENBQUU7UUFDbEMsSUFBSSxDQUFDRCxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtJQUNwQjtJQUVBQyxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ0YsVUFBVTtJQUN4QjtJQUVBRyxjQUFjQyxhQUFhLElBQUksRUFBRTtRQUMvQixJQUFJSDtRQUVKLElBQUlHLGVBQWUsTUFBTTtZQUN2QkgsYUFBYSxJQUFJLENBQUNBLFVBQVU7UUFDOUIsT0FBTztZQUNMLE1BQU1JLFdBQVcsSUFBSSxDQUFDQyxVQUFVO1lBRWhDLElBQUlELFVBQVU7Z0JBQ1pKLGFBQWE7WUFDZixPQUFPO2dCQUNMQSxhQUFhLEFBQUMsSUFBSSxDQUFDQSxVQUFVLEtBQUssT0FDbEIsSUFBSSxDQUFDQSxVQUFVLEdBQ2JHLFdBQVdELGFBQWE7WUFDNUM7UUFDRjtRQUVBLE9BQU9GO0lBQ1Q7SUFFQU0sY0FBY1AsVUFBVSxFQUFFO1FBQ3hCLElBQUksQ0FBQ0EsVUFBVSxHQUFHQTtJQUNwQjtJQUVBUSxjQUFjUCxVQUFVLEVBQUU7UUFDeEIsSUFBSSxDQUFDQSxVQUFVLEdBQUdBO0lBQ3BCO0lBRUFLLGFBQWE7UUFDWCxNQUFNRCxXQUFZLElBQUksQ0FBQ0osVUFBVSxLQUFLUSw4QkFBbUI7UUFFekQsT0FBT0o7SUFDVDtJQUVBSyxVQUFVO1FBQ1IsSUFBSUMsT0FBTztRQUVYLE1BQU1DLG1CQUFtQixJQUFJLENBQUNaLFVBQVUsQ0FBQ2EsTUFBTTtRQUUvQyxJQUFJRCxxQkFBcUIsR0FBRztZQUMxQixNQUFNRSxpQkFBaUJoQixNQUFNLElBQUksQ0FBQ0UsVUFBVTtZQUU1Q1csT0FBT0csZ0JBQWlCLEdBQUc7UUFDN0I7UUFFQSxPQUFPSDtJQUNUO0lBRUFJLE1BQU1DLEtBQUssRUFBRTtRQUNYLElBQUloQixZQUNBQztRQUVKRCxhQUFhZ0IsTUFBTWQsYUFBYTtRQUVoQ0QsYUFBYWUsTUFBTWIsYUFBYTtRQUVoQ0gsYUFBYTtlQUNSLElBQUksQ0FBQ0EsVUFBVTtlQUNmQTtTQUNKO1FBRURDLGFBQWFBLGNBQWMsSUFBSSxDQUFDQSxVQUFVLEVBQUUsR0FBRztRQUUvQ2UsUUFBUSxJQUFJcEIsTUFBTUksWUFBWUM7UUFFOUIsT0FBT2U7SUFDVDtJQUVBLE9BQU9DLGNBQWM7UUFDbkIsTUFBTWpCLGFBQWEsRUFBRSxFQUNmQyxhQUFhLE1BQ2JlLFFBQVEsSUFBSXBCLE1BQU1JLFlBQVlDO1FBRXBDLE9BQU9lO0lBQ1Q7SUFFQSxPQUFPRSxjQUFjQyxTQUFTLEVBQUU7UUFDOUIsTUFBTW5CLGFBQWE7WUFDWG1CO1NBQ0QsRUFDRGxCLGFBQWEsTUFDYmUsUUFBUSxJQUFJcEIsTUFBTUksWUFBWUM7UUFFcEMsT0FBT2U7SUFDVDtJQUVBLE9BQU9JLDRCQUE0QnBCLFVBQVUsRUFBRUMsVUFBVSxFQUFFO1FBQ3pELE1BQU1lLFFBQVEsSUFBSXBCLE1BQU1JLFlBQVlDO1FBRXBDLE9BQU9lO0lBQ1Q7QUFDRjtBQUVPLE1BQU1uQixhQUFhRCxNQUFNcUIsV0FBVyJ9
|