@plurnk/plurnk-grammar 0.25.0 → 0.27.0

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.
@@ -19,16 +19,17 @@ export class plurnkParser extends antlr.Parser {
19
19
  static OPEN_EDIT = 17;
20
20
  static OPEN_COPY = 18;
21
21
  static OPEN_MOVE = 19;
22
- static OPEN_SHOW = 20;
23
- static OPEN_HIDE = 21;
22
+ static OPEN_OPEN = 20;
23
+ static OPEN_FOLD = 21;
24
24
  static OPEN_SEND = 22;
25
25
  static OPEN_EXEC = 23;
26
- static SLOTS_WS = 24;
27
- static ST_WS = 25;
28
- static SI_WS = 26;
29
- static SD_WS = 27;
30
- static ST_COMMA = 28;
31
- static B_COLON = 29;
26
+ static OPEN_KILL = 24;
27
+ static SLOTS_WS = 25;
28
+ static ST_WS = 26;
29
+ static SI_WS = 27;
30
+ static SD_WS = 28;
31
+ static ST_COMMA = 29;
32
+ static B_COLON = 30;
32
33
  static RULE_document = 0;
33
34
  static RULE_statement = 1;
34
35
  static RULE_findStatement = 2;
@@ -36,37 +37,38 @@ export class plurnkParser extends antlr.Parser {
36
37
  static RULE_editStatement = 4;
37
38
  static RULE_copyStatement = 5;
38
39
  static RULE_moveStatement = 6;
39
- static RULE_showStatement = 7;
40
- static RULE_hideStatement = 8;
40
+ static RULE_openStatement = 7;
41
+ static RULE_foldStatement = 8;
41
42
  static RULE_sendStatement = 9;
42
43
  static RULE_execStatement = 10;
43
- static RULE_tagOpModifiers = 11;
44
- static RULE_sendModifiers = 12;
45
- static RULE_execModifiers = 13;
46
- static RULE_tagSignal = 14;
47
- static RULE_intSignal = 15;
48
- static RULE_identSignal = 16;
49
- static RULE_target = 17;
50
- static RULE_lineMarker = 18;
51
- static RULE_body = 19;
44
+ static RULE_killStatement = 11;
45
+ static RULE_tagOpModifiers = 12;
46
+ static RULE_intOpModifiers = 13;
47
+ static RULE_execModifiers = 14;
48
+ static RULE_tagSignal = 15;
49
+ static RULE_intSignal = 16;
50
+ static RULE_identSignal = 17;
51
+ static RULE_target = 18;
52
+ static RULE_lineMarker = 19;
53
+ static RULE_body = 20;
52
54
  static literalNames = [
53
55
  null, null, null, null, null, null, null, null, null, null, null,
54
56
  null, null, null, null, null, null, null, null, null, null, null,
55
- null, null, null, null, null, null, "','", "':'"
57
+ null, null, null, null, null, null, null, "','", "':'"
56
58
  ];
57
59
  static symbolicNames = [
58
60
  null, "LBRACKET", "RBRACKET", "LPAREN", "RPAREN", "L_MARKER", "COLON",
59
61
  "COMMA", "INT", "IDENT", "TAG", "TARGET_TEXT", "BODY_TEXT", "CLOSE_TAG",
60
62
  "TEXT", "OPEN_FIND", "OPEN_READ", "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE",
61
- "OPEN_SHOW", "OPEN_HIDE", "OPEN_SEND", "OPEN_EXEC", "SLOTS_WS",
62
- "ST_WS", "SI_WS", "SD_WS", "ST_COMMA", "B_COLON"
63
+ "OPEN_OPEN", "OPEN_FOLD", "OPEN_SEND", "OPEN_EXEC", "OPEN_KILL",
64
+ "SLOTS_WS", "ST_WS", "SI_WS", "SD_WS", "ST_COMMA", "B_COLON"
63
65
  ];
64
66
  static ruleNames = [
65
67
  "document", "statement", "findStatement", "readStatement", "editStatement",
66
- "copyStatement", "moveStatement", "showStatement", "hideStatement",
67
- "sendStatement", "execStatement", "tagOpModifiers", "sendModifiers",
68
- "execModifiers", "tagSignal", "intSignal", "identSignal", "target",
69
- "lineMarker", "body",
68
+ "copyStatement", "moveStatement", "openStatement", "foldStatement",
69
+ "sendStatement", "execStatement", "killStatement", "tagOpModifiers",
70
+ "intOpModifiers", "execModifiers", "tagSignal", "intSignal", "identSignal",
71
+ "target", "lineMarker", "body",
70
72
  ];
71
73
  get grammarFileName() { return "plurnkParser.g4"; }
72
74
  get literalNames() { return plurnkParser.literalNames; }
@@ -87,12 +89,12 @@ export class plurnkParser extends antlr.Parser {
87
89
  try {
88
90
  this.enterOuterAlt(localContext, 1);
89
91
  {
90
- this.state = 44;
92
+ this.state = 46;
91
93
  this.errorHandler.sync(this);
92
94
  _la = this.tokenStream.LA(1);
93
- while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 16760832) !== 0)) {
95
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 33538048) !== 0)) {
94
96
  {
95
- this.state = 42;
97
+ this.state = 44;
96
98
  this.errorHandler.sync(this);
97
99
  switch (this.tokenStream.LA(1)) {
98
100
  case plurnkParser.OPEN_FIND:
@@ -100,18 +102,19 @@ export class plurnkParser extends antlr.Parser {
100
102
  case plurnkParser.OPEN_EDIT:
101
103
  case plurnkParser.OPEN_COPY:
102
104
  case plurnkParser.OPEN_MOVE:
103
- case plurnkParser.OPEN_SHOW:
104
- case plurnkParser.OPEN_HIDE:
105
+ case plurnkParser.OPEN_OPEN:
106
+ case plurnkParser.OPEN_FOLD:
105
107
  case plurnkParser.OPEN_SEND:
106
108
  case plurnkParser.OPEN_EXEC:
109
+ case plurnkParser.OPEN_KILL:
107
110
  {
108
- this.state = 40;
111
+ this.state = 42;
109
112
  this.statement();
110
113
  }
111
114
  break;
112
115
  case plurnkParser.TEXT:
113
116
  {
114
- this.state = 41;
117
+ this.state = 43;
115
118
  this.match(plurnkParser.TEXT);
116
119
  }
117
120
  break;
@@ -119,11 +122,11 @@ export class plurnkParser extends antlr.Parser {
119
122
  throw new antlr.NoViableAltException(this);
120
123
  }
121
124
  }
122
- this.state = 46;
125
+ this.state = 48;
123
126
  this.errorHandler.sync(this);
124
127
  _la = this.tokenStream.LA(1);
125
128
  }
126
- this.state = 47;
129
+ this.state = 49;
127
130
  this.match(plurnkParser.EOF);
128
131
  }
129
132
  }
@@ -145,72 +148,79 @@ export class plurnkParser extends antlr.Parser {
145
148
  let localContext = new StatementContext(this.context, this.state);
146
149
  this.enterRule(localContext, 2, plurnkParser.RULE_statement);
147
150
  try {
148
- this.state = 58;
151
+ this.state = 61;
149
152
  this.errorHandler.sync(this);
150
153
  switch (this.tokenStream.LA(1)) {
151
154
  case plurnkParser.OPEN_FIND:
152
155
  this.enterOuterAlt(localContext, 1);
153
156
  {
154
- this.state = 49;
157
+ this.state = 51;
155
158
  this.findStatement();
156
159
  }
157
160
  break;
158
161
  case plurnkParser.OPEN_READ:
159
162
  this.enterOuterAlt(localContext, 2);
160
163
  {
161
- this.state = 50;
164
+ this.state = 52;
162
165
  this.readStatement();
163
166
  }
164
167
  break;
165
168
  case plurnkParser.OPEN_EDIT:
166
169
  this.enterOuterAlt(localContext, 3);
167
170
  {
168
- this.state = 51;
171
+ this.state = 53;
169
172
  this.editStatement();
170
173
  }
171
174
  break;
172
175
  case plurnkParser.OPEN_COPY:
173
176
  this.enterOuterAlt(localContext, 4);
174
177
  {
175
- this.state = 52;
178
+ this.state = 54;
176
179
  this.copyStatement();
177
180
  }
178
181
  break;
179
182
  case plurnkParser.OPEN_MOVE:
180
183
  this.enterOuterAlt(localContext, 5);
181
184
  {
182
- this.state = 53;
185
+ this.state = 55;
183
186
  this.moveStatement();
184
187
  }
185
188
  break;
186
- case plurnkParser.OPEN_SHOW:
189
+ case plurnkParser.OPEN_OPEN:
187
190
  this.enterOuterAlt(localContext, 6);
188
191
  {
189
- this.state = 54;
190
- this.showStatement();
192
+ this.state = 56;
193
+ this.openStatement();
191
194
  }
192
195
  break;
193
- case plurnkParser.OPEN_HIDE:
196
+ case plurnkParser.OPEN_FOLD:
194
197
  this.enterOuterAlt(localContext, 7);
195
198
  {
196
- this.state = 55;
197
- this.hideStatement();
199
+ this.state = 57;
200
+ this.foldStatement();
198
201
  }
199
202
  break;
200
203
  case plurnkParser.OPEN_SEND:
201
204
  this.enterOuterAlt(localContext, 8);
202
205
  {
203
- this.state = 56;
206
+ this.state = 58;
204
207
  this.sendStatement();
205
208
  }
206
209
  break;
207
210
  case plurnkParser.OPEN_EXEC:
208
211
  this.enterOuterAlt(localContext, 9);
209
212
  {
210
- this.state = 57;
213
+ this.state = 59;
211
214
  this.execStatement();
212
215
  }
213
216
  break;
217
+ case plurnkParser.OPEN_KILL:
218
+ this.enterOuterAlt(localContext, 10);
219
+ {
220
+ this.state = 60;
221
+ this.killStatement();
222
+ }
223
+ break;
214
224
  default:
215
225
  throw new antlr.NoViableAltException(this);
216
226
  }
@@ -236,29 +246,29 @@ export class plurnkParser extends antlr.Parser {
236
246
  try {
237
247
  this.enterOuterAlt(localContext, 1);
238
248
  {
239
- this.state = 60;
249
+ this.state = 63;
240
250
  this.match(plurnkParser.OPEN_FIND);
241
- this.state = 62;
251
+ this.state = 65;
242
252
  this.errorHandler.sync(this);
243
253
  _la = this.tokenStream.LA(1);
244
254
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
245
255
  {
246
- this.state = 61;
256
+ this.state = 64;
247
257
  this.tagOpModifiers();
248
258
  }
249
259
  }
250
- this.state = 64;
260
+ this.state = 67;
251
261
  this.match(plurnkParser.COLON);
252
- this.state = 66;
262
+ this.state = 69;
253
263
  this.errorHandler.sync(this);
254
264
  _la = this.tokenStream.LA(1);
255
265
  if (_la === 12) {
256
266
  {
257
- this.state = 65;
267
+ this.state = 68;
258
268
  this.body();
259
269
  }
260
270
  }
261
- this.state = 68;
271
+ this.state = 71;
262
272
  this.match(plurnkParser.CLOSE_TAG);
263
273
  }
264
274
  }
@@ -283,29 +293,29 @@ export class plurnkParser extends antlr.Parser {
283
293
  try {
284
294
  this.enterOuterAlt(localContext, 1);
285
295
  {
286
- this.state = 70;
296
+ this.state = 73;
287
297
  this.match(plurnkParser.OPEN_READ);
288
- this.state = 72;
298
+ this.state = 75;
289
299
  this.errorHandler.sync(this);
290
300
  _la = this.tokenStream.LA(1);
291
301
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
292
302
  {
293
- this.state = 71;
303
+ this.state = 74;
294
304
  this.tagOpModifiers();
295
305
  }
296
306
  }
297
- this.state = 74;
307
+ this.state = 77;
298
308
  this.match(plurnkParser.COLON);
299
- this.state = 76;
309
+ this.state = 79;
300
310
  this.errorHandler.sync(this);
301
311
  _la = this.tokenStream.LA(1);
302
312
  if (_la === 12) {
303
313
  {
304
- this.state = 75;
314
+ this.state = 78;
305
315
  this.body();
306
316
  }
307
317
  }
308
- this.state = 78;
318
+ this.state = 81;
309
319
  this.match(plurnkParser.CLOSE_TAG);
310
320
  }
311
321
  }
@@ -330,29 +340,29 @@ export class plurnkParser extends antlr.Parser {
330
340
  try {
331
341
  this.enterOuterAlt(localContext, 1);
332
342
  {
333
- this.state = 80;
343
+ this.state = 83;
334
344
  this.match(plurnkParser.OPEN_EDIT);
335
- this.state = 82;
345
+ this.state = 85;
336
346
  this.errorHandler.sync(this);
337
347
  _la = this.tokenStream.LA(1);
338
348
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
339
349
  {
340
- this.state = 81;
350
+ this.state = 84;
341
351
  this.tagOpModifiers();
342
352
  }
343
353
  }
344
- this.state = 84;
354
+ this.state = 87;
345
355
  this.match(plurnkParser.COLON);
346
- this.state = 86;
356
+ this.state = 89;
347
357
  this.errorHandler.sync(this);
348
358
  _la = this.tokenStream.LA(1);
349
359
  if (_la === 12) {
350
360
  {
351
- this.state = 85;
361
+ this.state = 88;
352
362
  this.body();
353
363
  }
354
364
  }
355
- this.state = 88;
365
+ this.state = 91;
356
366
  this.match(plurnkParser.CLOSE_TAG);
357
367
  }
358
368
  }
@@ -377,29 +387,29 @@ export class plurnkParser extends antlr.Parser {
377
387
  try {
378
388
  this.enterOuterAlt(localContext, 1);
379
389
  {
380
- this.state = 90;
390
+ this.state = 93;
381
391
  this.match(plurnkParser.OPEN_COPY);
382
- this.state = 92;
392
+ this.state = 95;
383
393
  this.errorHandler.sync(this);
384
394
  _la = this.tokenStream.LA(1);
385
395
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
386
396
  {
387
- this.state = 91;
397
+ this.state = 94;
388
398
  this.tagOpModifiers();
389
399
  }
390
400
  }
391
- this.state = 94;
401
+ this.state = 97;
392
402
  this.match(plurnkParser.COLON);
393
- this.state = 96;
403
+ this.state = 99;
394
404
  this.errorHandler.sync(this);
395
405
  _la = this.tokenStream.LA(1);
396
406
  if (_la === 12) {
397
407
  {
398
- this.state = 95;
408
+ this.state = 98;
399
409
  this.body();
400
410
  }
401
411
  }
402
- this.state = 98;
412
+ this.state = 101;
403
413
  this.match(plurnkParser.CLOSE_TAG);
404
414
  }
405
415
  }
@@ -424,29 +434,29 @@ export class plurnkParser extends antlr.Parser {
424
434
  try {
425
435
  this.enterOuterAlt(localContext, 1);
426
436
  {
427
- this.state = 100;
437
+ this.state = 103;
428
438
  this.match(plurnkParser.OPEN_MOVE);
429
- this.state = 102;
439
+ this.state = 105;
430
440
  this.errorHandler.sync(this);
431
441
  _la = this.tokenStream.LA(1);
432
442
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
433
443
  {
434
- this.state = 101;
444
+ this.state = 104;
435
445
  this.tagOpModifiers();
436
446
  }
437
447
  }
438
- this.state = 104;
448
+ this.state = 107;
439
449
  this.match(plurnkParser.COLON);
440
- this.state = 106;
450
+ this.state = 109;
441
451
  this.errorHandler.sync(this);
442
452
  _la = this.tokenStream.LA(1);
443
453
  if (_la === 12) {
444
454
  {
445
- this.state = 105;
455
+ this.state = 108;
446
456
  this.body();
447
457
  }
448
458
  }
449
- this.state = 108;
459
+ this.state = 111;
450
460
  this.match(plurnkParser.CLOSE_TAG);
451
461
  }
452
462
  }
@@ -464,36 +474,36 @@ export class plurnkParser extends antlr.Parser {
464
474
  }
465
475
  return localContext;
466
476
  }
467
- showStatement() {
468
- let localContext = new ShowStatementContext(this.context, this.state);
469
- this.enterRule(localContext, 14, plurnkParser.RULE_showStatement);
477
+ openStatement() {
478
+ let localContext = new OpenStatementContext(this.context, this.state);
479
+ this.enterRule(localContext, 14, plurnkParser.RULE_openStatement);
470
480
  let _la;
471
481
  try {
472
482
  this.enterOuterAlt(localContext, 1);
473
483
  {
474
- this.state = 110;
475
- this.match(plurnkParser.OPEN_SHOW);
476
- this.state = 112;
484
+ this.state = 113;
485
+ this.match(plurnkParser.OPEN_OPEN);
486
+ this.state = 115;
477
487
  this.errorHandler.sync(this);
478
488
  _la = this.tokenStream.LA(1);
479
489
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
480
490
  {
481
- this.state = 111;
491
+ this.state = 114;
482
492
  this.tagOpModifiers();
483
493
  }
484
494
  }
485
- this.state = 114;
495
+ this.state = 117;
486
496
  this.match(plurnkParser.COLON);
487
- this.state = 116;
497
+ this.state = 119;
488
498
  this.errorHandler.sync(this);
489
499
  _la = this.tokenStream.LA(1);
490
500
  if (_la === 12) {
491
501
  {
492
- this.state = 115;
502
+ this.state = 118;
493
503
  this.body();
494
504
  }
495
505
  }
496
- this.state = 118;
506
+ this.state = 121;
497
507
  this.match(plurnkParser.CLOSE_TAG);
498
508
  }
499
509
  }
@@ -511,36 +521,36 @@ export class plurnkParser extends antlr.Parser {
511
521
  }
512
522
  return localContext;
513
523
  }
514
- hideStatement() {
515
- let localContext = new HideStatementContext(this.context, this.state);
516
- this.enterRule(localContext, 16, plurnkParser.RULE_hideStatement);
524
+ foldStatement() {
525
+ let localContext = new FoldStatementContext(this.context, this.state);
526
+ this.enterRule(localContext, 16, plurnkParser.RULE_foldStatement);
517
527
  let _la;
518
528
  try {
519
529
  this.enterOuterAlt(localContext, 1);
520
530
  {
521
- this.state = 120;
522
- this.match(plurnkParser.OPEN_HIDE);
523
- this.state = 122;
531
+ this.state = 123;
532
+ this.match(plurnkParser.OPEN_FOLD);
533
+ this.state = 125;
524
534
  this.errorHandler.sync(this);
525
535
  _la = this.tokenStream.LA(1);
526
536
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
527
537
  {
528
- this.state = 121;
538
+ this.state = 124;
529
539
  this.tagOpModifiers();
530
540
  }
531
541
  }
532
- this.state = 124;
542
+ this.state = 127;
533
543
  this.match(plurnkParser.COLON);
534
- this.state = 126;
544
+ this.state = 129;
535
545
  this.errorHandler.sync(this);
536
546
  _la = this.tokenStream.LA(1);
537
547
  if (_la === 12) {
538
548
  {
539
- this.state = 125;
549
+ this.state = 128;
540
550
  this.body();
541
551
  }
542
552
  }
543
- this.state = 128;
553
+ this.state = 131;
544
554
  this.match(plurnkParser.CLOSE_TAG);
545
555
  }
546
556
  }
@@ -565,29 +575,29 @@ export class plurnkParser extends antlr.Parser {
565
575
  try {
566
576
  this.enterOuterAlt(localContext, 1);
567
577
  {
568
- this.state = 130;
578
+ this.state = 133;
569
579
  this.match(plurnkParser.OPEN_SEND);
570
- this.state = 132;
580
+ this.state = 135;
571
581
  this.errorHandler.sync(this);
572
582
  _la = this.tokenStream.LA(1);
573
583
  if (_la === 1 || _la === 3) {
574
584
  {
575
- this.state = 131;
576
- this.sendModifiers();
585
+ this.state = 134;
586
+ this.intOpModifiers();
577
587
  }
578
588
  }
579
- this.state = 134;
589
+ this.state = 137;
580
590
  this.match(plurnkParser.COLON);
581
- this.state = 136;
591
+ this.state = 139;
582
592
  this.errorHandler.sync(this);
583
593
  _la = this.tokenStream.LA(1);
584
594
  if (_la === 12) {
585
595
  {
586
- this.state = 135;
596
+ this.state = 138;
587
597
  this.body();
588
598
  }
589
599
  }
590
- this.state = 138;
600
+ this.state = 141;
591
601
  this.match(plurnkParser.CLOSE_TAG);
592
602
  }
593
603
  }
@@ -612,29 +622,76 @@ export class plurnkParser extends antlr.Parser {
612
622
  try {
613
623
  this.enterOuterAlt(localContext, 1);
614
624
  {
615
- this.state = 140;
625
+ this.state = 143;
616
626
  this.match(plurnkParser.OPEN_EXEC);
617
- this.state = 142;
627
+ this.state = 145;
618
628
  this.errorHandler.sync(this);
619
629
  _la = this.tokenStream.LA(1);
620
630
  if (_la === 1 || _la === 3) {
621
631
  {
622
- this.state = 141;
632
+ this.state = 144;
623
633
  this.execModifiers();
624
634
  }
625
635
  }
626
- this.state = 144;
636
+ this.state = 147;
637
+ this.match(plurnkParser.COLON);
638
+ this.state = 149;
639
+ this.errorHandler.sync(this);
640
+ _la = this.tokenStream.LA(1);
641
+ if (_la === 12) {
642
+ {
643
+ this.state = 148;
644
+ this.body();
645
+ }
646
+ }
647
+ this.state = 151;
648
+ this.match(plurnkParser.CLOSE_TAG);
649
+ }
650
+ }
651
+ catch (re) {
652
+ if (re instanceof antlr.RecognitionException) {
653
+ this.errorHandler.reportError(this, re);
654
+ this.errorHandler.recover(this, re);
655
+ }
656
+ else {
657
+ throw re;
658
+ }
659
+ }
660
+ finally {
661
+ this.exitRule();
662
+ }
663
+ return localContext;
664
+ }
665
+ killStatement() {
666
+ let localContext = new KillStatementContext(this.context, this.state);
667
+ this.enterRule(localContext, 22, plurnkParser.RULE_killStatement);
668
+ let _la;
669
+ try {
670
+ this.enterOuterAlt(localContext, 1);
671
+ {
672
+ this.state = 153;
673
+ this.match(plurnkParser.OPEN_KILL);
674
+ this.state = 155;
675
+ this.errorHandler.sync(this);
676
+ _la = this.tokenStream.LA(1);
677
+ if (_la === 1 || _la === 3) {
678
+ {
679
+ this.state = 154;
680
+ this.intOpModifiers();
681
+ }
682
+ }
683
+ this.state = 157;
627
684
  this.match(plurnkParser.COLON);
628
- this.state = 146;
685
+ this.state = 159;
629
686
  this.errorHandler.sync(this);
630
687
  _la = this.tokenStream.LA(1);
631
688
  if (_la === 12) {
632
689
  {
633
- this.state = 145;
690
+ this.state = 158;
634
691
  this.body();
635
692
  }
636
693
  }
637
- this.state = 148;
694
+ this.state = 161;
638
695
  this.match(plurnkParser.CLOSE_TAG);
639
696
  }
640
697
  }
@@ -654,30 +711,30 @@ export class plurnkParser extends antlr.Parser {
654
711
  }
655
712
  tagOpModifiers() {
656
713
  let localContext = new TagOpModifiersContext(this.context, this.state);
657
- this.enterRule(localContext, 22, plurnkParser.RULE_tagOpModifiers);
714
+ this.enterRule(localContext, 24, plurnkParser.RULE_tagOpModifiers);
658
715
  let _la;
659
716
  try {
660
- this.state = 183;
717
+ this.state = 196;
661
718
  this.errorHandler.sync(this);
662
719
  switch (this.tokenStream.LA(1)) {
663
720
  case plurnkParser.LBRACKET:
664
721
  this.enterOuterAlt(localContext, 1);
665
722
  {
666
- this.state = 150;
723
+ this.state = 163;
667
724
  this.tagSignal();
668
- this.state = 159;
725
+ this.state = 172;
669
726
  this.errorHandler.sync(this);
670
727
  switch (this.tokenStream.LA(1)) {
671
728
  case plurnkParser.LPAREN:
672
729
  {
673
- this.state = 151;
730
+ this.state = 164;
674
731
  this.target();
675
- this.state = 153;
732
+ this.state = 166;
676
733
  this.errorHandler.sync(this);
677
734
  _la = this.tokenStream.LA(1);
678
735
  if (_la === 5) {
679
736
  {
680
- this.state = 152;
737
+ this.state = 165;
681
738
  this.lineMarker();
682
739
  }
683
740
  }
@@ -685,14 +742,14 @@ export class plurnkParser extends antlr.Parser {
685
742
  break;
686
743
  case plurnkParser.L_MARKER:
687
744
  {
688
- this.state = 155;
745
+ this.state = 168;
689
746
  this.lineMarker();
690
- this.state = 157;
747
+ this.state = 170;
691
748
  this.errorHandler.sync(this);
692
749
  _la = this.tokenStream.LA(1);
693
750
  if (_la === 3) {
694
751
  {
695
- this.state = 156;
752
+ this.state = 169;
696
753
  this.target();
697
754
  }
698
755
  }
@@ -708,21 +765,21 @@ export class plurnkParser extends antlr.Parser {
708
765
  case plurnkParser.LPAREN:
709
766
  this.enterOuterAlt(localContext, 2);
710
767
  {
711
- this.state = 161;
768
+ this.state = 174;
712
769
  this.target();
713
- this.state = 170;
770
+ this.state = 183;
714
771
  this.errorHandler.sync(this);
715
772
  switch (this.tokenStream.LA(1)) {
716
773
  case plurnkParser.LBRACKET:
717
774
  {
718
- this.state = 162;
775
+ this.state = 175;
719
776
  this.tagSignal();
720
- this.state = 164;
777
+ this.state = 177;
721
778
  this.errorHandler.sync(this);
722
779
  _la = this.tokenStream.LA(1);
723
780
  if (_la === 5) {
724
781
  {
725
- this.state = 163;
782
+ this.state = 176;
726
783
  this.lineMarker();
727
784
  }
728
785
  }
@@ -730,14 +787,14 @@ export class plurnkParser extends antlr.Parser {
730
787
  break;
731
788
  case plurnkParser.L_MARKER:
732
789
  {
733
- this.state = 166;
790
+ this.state = 179;
734
791
  this.lineMarker();
735
- this.state = 168;
792
+ this.state = 181;
736
793
  this.errorHandler.sync(this);
737
794
  _la = this.tokenStream.LA(1);
738
795
  if (_la === 1) {
739
796
  {
740
- this.state = 167;
797
+ this.state = 180;
741
798
  this.tagSignal();
742
799
  }
743
800
  }
@@ -753,21 +810,21 @@ export class plurnkParser extends antlr.Parser {
753
810
  case plurnkParser.L_MARKER:
754
811
  this.enterOuterAlt(localContext, 3);
755
812
  {
756
- this.state = 172;
813
+ this.state = 185;
757
814
  this.lineMarker();
758
- this.state = 181;
815
+ this.state = 194;
759
816
  this.errorHandler.sync(this);
760
817
  switch (this.tokenStream.LA(1)) {
761
818
  case plurnkParser.LBRACKET:
762
819
  {
763
- this.state = 173;
820
+ this.state = 186;
764
821
  this.tagSignal();
765
- this.state = 175;
822
+ this.state = 188;
766
823
  this.errorHandler.sync(this);
767
824
  _la = this.tokenStream.LA(1);
768
825
  if (_la === 3) {
769
826
  {
770
- this.state = 174;
827
+ this.state = 187;
771
828
  this.target();
772
829
  }
773
830
  }
@@ -775,14 +832,14 @@ export class plurnkParser extends antlr.Parser {
775
832
  break;
776
833
  case plurnkParser.LPAREN:
777
834
  {
778
- this.state = 177;
835
+ this.state = 190;
779
836
  this.target();
780
- this.state = 179;
837
+ this.state = 192;
781
838
  this.errorHandler.sync(this);
782
839
  _la = this.tokenStream.LA(1);
783
840
  if (_la === 1) {
784
841
  {
785
- this.state = 178;
842
+ this.state = 191;
786
843
  this.tagSignal();
787
844
  }
788
845
  }
@@ -813,25 +870,25 @@ export class plurnkParser extends antlr.Parser {
813
870
  }
814
871
  return localContext;
815
872
  }
816
- sendModifiers() {
817
- let localContext = new SendModifiersContext(this.context, this.state);
818
- this.enterRule(localContext, 24, plurnkParser.RULE_sendModifiers);
873
+ intOpModifiers() {
874
+ let localContext = new IntOpModifiersContext(this.context, this.state);
875
+ this.enterRule(localContext, 26, plurnkParser.RULE_intOpModifiers);
819
876
  let _la;
820
877
  try {
821
- this.state = 193;
878
+ this.state = 206;
822
879
  this.errorHandler.sync(this);
823
880
  switch (this.tokenStream.LA(1)) {
824
881
  case plurnkParser.LBRACKET:
825
882
  this.enterOuterAlt(localContext, 1);
826
883
  {
827
- this.state = 185;
884
+ this.state = 198;
828
885
  this.intSignal();
829
- this.state = 187;
886
+ this.state = 200;
830
887
  this.errorHandler.sync(this);
831
888
  _la = this.tokenStream.LA(1);
832
889
  if (_la === 3) {
833
890
  {
834
- this.state = 186;
891
+ this.state = 199;
835
892
  this.target();
836
893
  }
837
894
  }
@@ -840,14 +897,14 @@ export class plurnkParser extends antlr.Parser {
840
897
  case plurnkParser.LPAREN:
841
898
  this.enterOuterAlt(localContext, 2);
842
899
  {
843
- this.state = 189;
900
+ this.state = 202;
844
901
  this.target();
845
- this.state = 191;
902
+ this.state = 204;
846
903
  this.errorHandler.sync(this);
847
904
  _la = this.tokenStream.LA(1);
848
905
  if (_la === 1) {
849
906
  {
850
- this.state = 190;
907
+ this.state = 203;
851
908
  this.intSignal();
852
909
  }
853
910
  }
@@ -873,23 +930,23 @@ export class plurnkParser extends antlr.Parser {
873
930
  }
874
931
  execModifiers() {
875
932
  let localContext = new ExecModifiersContext(this.context, this.state);
876
- this.enterRule(localContext, 26, plurnkParser.RULE_execModifiers);
933
+ this.enterRule(localContext, 28, plurnkParser.RULE_execModifiers);
877
934
  let _la;
878
935
  try {
879
- this.state = 203;
936
+ this.state = 216;
880
937
  this.errorHandler.sync(this);
881
938
  switch (this.tokenStream.LA(1)) {
882
939
  case plurnkParser.LBRACKET:
883
940
  this.enterOuterAlt(localContext, 1);
884
941
  {
885
- this.state = 195;
942
+ this.state = 208;
886
943
  this.identSignal();
887
- this.state = 197;
944
+ this.state = 210;
888
945
  this.errorHandler.sync(this);
889
946
  _la = this.tokenStream.LA(1);
890
947
  if (_la === 3) {
891
948
  {
892
- this.state = 196;
949
+ this.state = 209;
893
950
  this.target();
894
951
  }
895
952
  }
@@ -898,14 +955,14 @@ export class plurnkParser extends antlr.Parser {
898
955
  case plurnkParser.LPAREN:
899
956
  this.enterOuterAlt(localContext, 2);
900
957
  {
901
- this.state = 199;
958
+ this.state = 212;
902
959
  this.target();
903
- this.state = 201;
960
+ this.state = 214;
904
961
  this.errorHandler.sync(this);
905
962
  _la = this.tokenStream.LA(1);
906
963
  if (_la === 1) {
907
964
  {
908
- this.state = 200;
965
+ this.state = 213;
909
966
  this.identSignal();
910
967
  }
911
968
  }
@@ -931,20 +988,20 @@ export class plurnkParser extends antlr.Parser {
931
988
  }
932
989
  tagSignal() {
933
990
  let localContext = new TagSignalContext(this.context, this.state);
934
- this.enterRule(localContext, 28, plurnkParser.RULE_tagSignal);
991
+ this.enterRule(localContext, 30, plurnkParser.RULE_tagSignal);
935
992
  let _la;
936
993
  try {
937
994
  this.enterOuterAlt(localContext, 1);
938
995
  {
939
- this.state = 205;
996
+ this.state = 218;
940
997
  this.match(plurnkParser.LBRACKET);
941
- this.state = 209;
998
+ this.state = 222;
942
999
  this.errorHandler.sync(this);
943
1000
  _la = this.tokenStream.LA(1);
944
1001
  while (_la === 7 || _la === 10) {
945
1002
  {
946
1003
  {
947
- this.state = 206;
1004
+ this.state = 219;
948
1005
  _la = this.tokenStream.LA(1);
949
1006
  if (!(_la === 7 || _la === 10)) {
950
1007
  this.errorHandler.recoverInline(this);
@@ -955,11 +1012,11 @@ export class plurnkParser extends antlr.Parser {
955
1012
  }
956
1013
  }
957
1014
  }
958
- this.state = 211;
1015
+ this.state = 224;
959
1016
  this.errorHandler.sync(this);
960
1017
  _la = this.tokenStream.LA(1);
961
1018
  }
962
- this.state = 212;
1019
+ this.state = 225;
963
1020
  this.match(plurnkParser.RBRACKET);
964
1021
  }
965
1022
  }
@@ -979,23 +1036,23 @@ export class plurnkParser extends antlr.Parser {
979
1036
  }
980
1037
  intSignal() {
981
1038
  let localContext = new IntSignalContext(this.context, this.state);
982
- this.enterRule(localContext, 30, plurnkParser.RULE_intSignal);
1039
+ this.enterRule(localContext, 32, plurnkParser.RULE_intSignal);
983
1040
  let _la;
984
1041
  try {
985
1042
  this.enterOuterAlt(localContext, 1);
986
1043
  {
987
- this.state = 214;
1044
+ this.state = 227;
988
1045
  this.match(plurnkParser.LBRACKET);
989
- this.state = 216;
1046
+ this.state = 229;
990
1047
  this.errorHandler.sync(this);
991
1048
  _la = this.tokenStream.LA(1);
992
1049
  if (_la === 8) {
993
1050
  {
994
- this.state = 215;
1051
+ this.state = 228;
995
1052
  this.match(plurnkParser.INT);
996
1053
  }
997
1054
  }
998
- this.state = 218;
1055
+ this.state = 231;
999
1056
  this.match(plurnkParser.RBRACKET);
1000
1057
  }
1001
1058
  }
@@ -1015,23 +1072,23 @@ export class plurnkParser extends antlr.Parser {
1015
1072
  }
1016
1073
  identSignal() {
1017
1074
  let localContext = new IdentSignalContext(this.context, this.state);
1018
- this.enterRule(localContext, 32, plurnkParser.RULE_identSignal);
1075
+ this.enterRule(localContext, 34, plurnkParser.RULE_identSignal);
1019
1076
  let _la;
1020
1077
  try {
1021
1078
  this.enterOuterAlt(localContext, 1);
1022
1079
  {
1023
- this.state = 220;
1080
+ this.state = 233;
1024
1081
  this.match(plurnkParser.LBRACKET);
1025
- this.state = 222;
1082
+ this.state = 235;
1026
1083
  this.errorHandler.sync(this);
1027
1084
  _la = this.tokenStream.LA(1);
1028
1085
  if (_la === 9) {
1029
1086
  {
1030
- this.state = 221;
1087
+ this.state = 234;
1031
1088
  this.match(plurnkParser.IDENT);
1032
1089
  }
1033
1090
  }
1034
- this.state = 224;
1091
+ this.state = 237;
1035
1092
  this.match(plurnkParser.RBRACKET);
1036
1093
  }
1037
1094
  }
@@ -1051,23 +1108,23 @@ export class plurnkParser extends antlr.Parser {
1051
1108
  }
1052
1109
  target() {
1053
1110
  let localContext = new TargetContext(this.context, this.state);
1054
- this.enterRule(localContext, 34, plurnkParser.RULE_target);
1111
+ this.enterRule(localContext, 36, plurnkParser.RULE_target);
1055
1112
  let _la;
1056
1113
  try {
1057
1114
  this.enterOuterAlt(localContext, 1);
1058
1115
  {
1059
- this.state = 226;
1116
+ this.state = 239;
1060
1117
  this.match(plurnkParser.LPAREN);
1061
- this.state = 228;
1118
+ this.state = 241;
1062
1119
  this.errorHandler.sync(this);
1063
1120
  _la = this.tokenStream.LA(1);
1064
1121
  if (_la === 11) {
1065
1122
  {
1066
- this.state = 227;
1123
+ this.state = 240;
1067
1124
  this.match(plurnkParser.TARGET_TEXT);
1068
1125
  }
1069
1126
  }
1070
- this.state = 230;
1127
+ this.state = 243;
1071
1128
  this.match(plurnkParser.RPAREN);
1072
1129
  }
1073
1130
  }
@@ -1087,11 +1144,11 @@ export class plurnkParser extends antlr.Parser {
1087
1144
  }
1088
1145
  lineMarker() {
1089
1146
  let localContext = new LineMarkerContext(this.context, this.state);
1090
- this.enterRule(localContext, 36, plurnkParser.RULE_lineMarker);
1147
+ this.enterRule(localContext, 38, plurnkParser.RULE_lineMarker);
1091
1148
  try {
1092
1149
  this.enterOuterAlt(localContext, 1);
1093
1150
  {
1094
- this.state = 232;
1151
+ this.state = 245;
1095
1152
  this.match(plurnkParser.L_MARKER);
1096
1153
  }
1097
1154
  }
@@ -1111,22 +1168,22 @@ export class plurnkParser extends antlr.Parser {
1111
1168
  }
1112
1169
  body() {
1113
1170
  let localContext = new BodyContext(this.context, this.state);
1114
- this.enterRule(localContext, 38, plurnkParser.RULE_body);
1171
+ this.enterRule(localContext, 40, plurnkParser.RULE_body);
1115
1172
  let _la;
1116
1173
  try {
1117
1174
  this.enterOuterAlt(localContext, 1);
1118
1175
  {
1119
- this.state = 235;
1176
+ this.state = 248;
1120
1177
  this.errorHandler.sync(this);
1121
1178
  _la = this.tokenStream.LA(1);
1122
1179
  do {
1123
1180
  {
1124
1181
  {
1125
- this.state = 234;
1182
+ this.state = 247;
1126
1183
  this.match(plurnkParser.BODY_TEXT);
1127
1184
  }
1128
1185
  }
1129
- this.state = 237;
1186
+ this.state = 250;
1130
1187
  this.errorHandler.sync(this);
1131
1188
  _la = this.tokenStream.LA(1);
1132
1189
  } while (_la === 12);
@@ -1147,95 +1204,100 @@ export class plurnkParser extends antlr.Parser {
1147
1204
  return localContext;
1148
1205
  }
1149
1206
  static _serializedATN = [
1150
- 4, 1, 29, 240, 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,
1207
+ 4, 1, 30, 253, 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,
1151
1208
  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,
1152
- 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,
1153
- 1, 0, 5, 0, 43, 8, 0, 10, 0, 12, 0, 46, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1154
- 1, 1, 1, 1, 1, 1, 3, 1, 59, 8, 1, 1, 2, 1, 2, 3, 2, 63, 8, 2, 1, 2, 1, 2, 3, 2, 67, 8, 2, 1, 2,
1155
- 1, 2, 1, 3, 1, 3, 3, 3, 73, 8, 3, 1, 3, 1, 3, 3, 3, 77, 8, 3, 1, 3, 1, 3, 1, 4, 1, 4, 3, 4, 83,
1156
- 8, 4, 1, 4, 1, 4, 3, 4, 87, 8, 4, 1, 4, 1, 4, 1, 5, 1, 5, 3, 5, 93, 8, 5, 1, 5, 1, 5, 3, 5, 97,
1157
- 8, 5, 1, 5, 1, 5, 1, 6, 1, 6, 3, 6, 103, 8, 6, 1, 6, 1, 6, 3, 6, 107, 8, 6, 1, 6, 1, 6, 1, 7,
1158
- 1, 7, 3, 7, 113, 8, 7, 1, 7, 1, 7, 3, 7, 117, 8, 7, 1, 7, 1, 7, 1, 8, 1, 8, 3, 8, 123, 8, 8,
1159
- 1, 8, 1, 8, 3, 8, 127, 8, 8, 1, 8, 1, 8, 1, 9, 1, 9, 3, 9, 133, 8, 9, 1, 9, 1, 9, 3, 9, 137,
1160
- 8, 9, 1, 9, 1, 9, 1, 10, 1, 10, 3, 10, 143, 8, 10, 1, 10, 1, 10, 3, 10, 147, 8, 10, 1, 10,
1161
- 1, 10, 1, 11, 1, 11, 1, 11, 3, 11, 154, 8, 11, 1, 11, 1, 11, 3, 11, 158, 8, 11, 3, 11, 160,
1162
- 8, 11, 1, 11, 1, 11, 1, 11, 3, 11, 165, 8, 11, 1, 11, 1, 11, 3, 11, 169, 8, 11, 3, 11, 171,
1163
- 8, 11, 1, 11, 1, 11, 1, 11, 3, 11, 176, 8, 11, 1, 11, 1, 11, 3, 11, 180, 8, 11, 3, 11, 182,
1164
- 8, 11, 3, 11, 184, 8, 11, 1, 12, 1, 12, 3, 12, 188, 8, 12, 1, 12, 1, 12, 3, 12, 192, 8,
1165
- 12, 3, 12, 194, 8, 12, 1, 13, 1, 13, 3, 13, 198, 8, 13, 1, 13, 1, 13, 3, 13, 202, 8, 13,
1166
- 3, 13, 204, 8, 13, 1, 14, 1, 14, 5, 14, 208, 8, 14, 10, 14, 12, 14, 211, 9, 14, 1, 14,
1167
- 1, 14, 1, 15, 1, 15, 3, 15, 217, 8, 15, 1, 15, 1, 15, 1, 16, 1, 16, 3, 16, 223, 8, 16, 1,
1168
- 16, 1, 16, 1, 17, 1, 17, 3, 17, 229, 8, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 4, 19, 236,
1169
- 8, 19, 11, 19, 12, 19, 237, 1, 19, 0, 0, 20, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22,
1170
- 24, 26, 28, 30, 32, 34, 36, 38, 0, 1, 2, 0, 7, 7, 10, 10, 272, 0, 44, 1, 0, 0, 0, 2, 58,
1171
- 1, 0, 0, 0, 4, 60, 1, 0, 0, 0, 6, 70, 1, 0, 0, 0, 8, 80, 1, 0, 0, 0, 10, 90, 1, 0, 0, 0, 12,
1172
- 100, 1, 0, 0, 0, 14, 110, 1, 0, 0, 0, 16, 120, 1, 0, 0, 0, 18, 130, 1, 0, 0, 0, 20, 140,
1173
- 1, 0, 0, 0, 22, 183, 1, 0, 0, 0, 24, 193, 1, 0, 0, 0, 26, 203, 1, 0, 0, 0, 28, 205, 1, 0,
1174
- 0, 0, 30, 214, 1, 0, 0, 0, 32, 220, 1, 0, 0, 0, 34, 226, 1, 0, 0, 0, 36, 232, 1, 0, 0, 0,
1175
- 38, 235, 1, 0, 0, 0, 40, 43, 3, 2, 1, 0, 41, 43, 5, 14, 0, 0, 42, 40, 1, 0, 0, 0, 42, 41,
1176
- 1, 0, 0, 0, 43, 46, 1, 0, 0, 0, 44, 42, 1, 0, 0, 0, 44, 45, 1, 0, 0, 0, 45, 47, 1, 0, 0, 0,
1177
- 46, 44, 1, 0, 0, 0, 47, 48, 5, 0, 0, 1, 48, 1, 1, 0, 0, 0, 49, 59, 3, 4, 2, 0, 50, 59, 3, 6,
1178
- 3, 0, 51, 59, 3, 8, 4, 0, 52, 59, 3, 10, 5, 0, 53, 59, 3, 12, 6, 0, 54, 59, 3, 14, 7, 0, 55,
1179
- 59, 3, 16, 8, 0, 56, 59, 3, 18, 9, 0, 57, 59, 3, 20, 10, 0, 58, 49, 1, 0, 0, 0, 58, 50, 1,
1180
- 0, 0, 0, 58, 51, 1, 0, 0, 0, 58, 52, 1, 0, 0, 0, 58, 53, 1, 0, 0, 0, 58, 54, 1, 0, 0, 0, 58,
1181
- 55, 1, 0, 0, 0, 58, 56, 1, 0, 0, 0, 58, 57, 1, 0, 0, 0, 59, 3, 1, 0, 0, 0, 60, 62, 5, 15, 0,
1182
- 0, 61, 63, 3, 22, 11, 0, 62, 61, 1, 0, 0, 0, 62, 63, 1, 0, 0, 0, 63, 64, 1, 0, 0, 0, 64, 66,
1183
- 5, 6, 0, 0, 65, 67, 3, 38, 19, 0, 66, 65, 1, 0, 0, 0, 66, 67, 1, 0, 0, 0, 67, 68, 1, 0, 0,
1184
- 0, 68, 69, 5, 13, 0, 0, 69, 5, 1, 0, 0, 0, 70, 72, 5, 16, 0, 0, 71, 73, 3, 22, 11, 0, 72,
1185
- 71, 1, 0, 0, 0, 72, 73, 1, 0, 0, 0, 73, 74, 1, 0, 0, 0, 74, 76, 5, 6, 0, 0, 75, 77, 3, 38,
1186
- 19, 0, 76, 75, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 78, 1, 0, 0, 0, 78, 79, 5, 13, 0, 0, 79,
1187
- 7, 1, 0, 0, 0, 80, 82, 5, 17, 0, 0, 81, 83, 3, 22, 11, 0, 82, 81, 1, 0, 0, 0, 82, 83, 1, 0,
1188
- 0, 0, 83, 84, 1, 0, 0, 0, 84, 86, 5, 6, 0, 0, 85, 87, 3, 38, 19, 0, 86, 85, 1, 0, 0, 0, 86,
1189
- 87, 1, 0, 0, 0, 87, 88, 1, 0, 0, 0, 88, 89, 5, 13, 0, 0, 89, 9, 1, 0, 0, 0, 90, 92, 5, 18,
1190
- 0, 0, 91, 93, 3, 22, 11, 0, 92, 91, 1, 0, 0, 0, 92, 93, 1, 0, 0, 0, 93, 94, 1, 0, 0, 0, 94,
1191
- 96, 5, 6, 0, 0, 95, 97, 3, 38, 19, 0, 96, 95, 1, 0, 0, 0, 96, 97, 1, 0, 0, 0, 97, 98, 1, 0,
1192
- 0, 0, 98, 99, 5, 13, 0, 0, 99, 11, 1, 0, 0, 0, 100, 102, 5, 19, 0, 0, 101, 103, 3, 22, 11,
1193
- 0, 102, 101, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 106, 5, 6, 0,
1194
- 0, 105, 107, 3, 38, 19, 0, 106, 105, 1, 0, 0, 0, 106, 107, 1, 0, 0, 0, 107, 108, 1, 0,
1195
- 0, 0, 108, 109, 5, 13, 0, 0, 109, 13, 1, 0, 0, 0, 110, 112, 5, 20, 0, 0, 111, 113, 3, 22,
1196
- 11, 0, 112, 111, 1, 0, 0, 0, 112, 113, 1, 0, 0, 0, 113, 114, 1, 0, 0, 0, 114, 116, 5, 6,
1197
- 0, 0, 115, 117, 3, 38, 19, 0, 116, 115, 1, 0, 0, 0, 116, 117, 1, 0, 0, 0, 117, 118, 1,
1198
- 0, 0, 0, 118, 119, 5, 13, 0, 0, 119, 15, 1, 0, 0, 0, 120, 122, 5, 21, 0, 0, 121, 123, 3,
1199
- 22, 11, 0, 122, 121, 1, 0, 0, 0, 122, 123, 1, 0, 0, 0, 123, 124, 1, 0, 0, 0, 124, 126,
1200
- 5, 6, 0, 0, 125, 127, 3, 38, 19, 0, 126, 125, 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127, 128,
1201
- 1, 0, 0, 0, 128, 129, 5, 13, 0, 0, 129, 17, 1, 0, 0, 0, 130, 132, 5, 22, 0, 0, 131, 133,
1202
- 3, 24, 12, 0, 132, 131, 1, 0, 0, 0, 132, 133, 1, 0, 0, 0, 133, 134, 1, 0, 0, 0, 134, 136,
1203
- 5, 6, 0, 0, 135, 137, 3, 38, 19, 0, 136, 135, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 138,
1204
- 1, 0, 0, 0, 138, 139, 5, 13, 0, 0, 139, 19, 1, 0, 0, 0, 140, 142, 5, 23, 0, 0, 141, 143,
1205
- 3, 26, 13, 0, 142, 141, 1, 0, 0, 0, 142, 143, 1, 0, 0, 0, 143, 144, 1, 0, 0, 0, 144, 146,
1206
- 5, 6, 0, 0, 145, 147, 3, 38, 19, 0, 146, 145, 1, 0, 0, 0, 146, 147, 1, 0, 0, 0, 147, 148,
1207
- 1, 0, 0, 0, 148, 149, 5, 13, 0, 0, 149, 21, 1, 0, 0, 0, 150, 159, 3, 28, 14, 0, 151, 153,
1208
- 3, 34, 17, 0, 152, 154, 3, 36, 18, 0, 153, 152, 1, 0, 0, 0, 153, 154, 1, 0, 0, 0, 154,
1209
- 160, 1, 0, 0, 0, 155, 157, 3, 36, 18, 0, 156, 158, 3, 34, 17, 0, 157, 156, 1, 0, 0, 0,
1210
- 157, 158, 1, 0, 0, 0, 158, 160, 1, 0, 0, 0, 159, 151, 1, 0, 0, 0, 159, 155, 1, 0, 0, 0,
1211
- 159, 160, 1, 0, 0, 0, 160, 184, 1, 0, 0, 0, 161, 170, 3, 34, 17, 0, 162, 164, 3, 28, 14,
1212
- 0, 163, 165, 3, 36, 18, 0, 164, 163, 1, 0, 0, 0, 164, 165, 1, 0, 0, 0, 165, 171, 1, 0,
1213
- 0, 0, 166, 168, 3, 36, 18, 0, 167, 169, 3, 28, 14, 0, 168, 167, 1, 0, 0, 0, 168, 169,
1214
- 1, 0, 0, 0, 169, 171, 1, 0, 0, 0, 170, 162, 1, 0, 0, 0, 170, 166, 1, 0, 0, 0, 170, 171,
1215
- 1, 0, 0, 0, 171, 184, 1, 0, 0, 0, 172, 181, 3, 36, 18, 0, 173, 175, 3, 28, 14, 0, 174,
1216
- 176, 3, 34, 17, 0, 175, 174, 1, 0, 0, 0, 175, 176, 1, 0, 0, 0, 176, 182, 1, 0, 0, 0, 177,
1217
- 179, 3, 34, 17, 0, 178, 180, 3, 28, 14, 0, 179, 178, 1, 0, 0, 0, 179, 180, 1, 0, 0, 0,
1218
- 180, 182, 1, 0, 0, 0, 181, 173, 1, 0, 0, 0, 181, 177, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0,
1219
- 182, 184, 1, 0, 0, 0, 183, 150, 1, 0, 0, 0, 183, 161, 1, 0, 0, 0, 183, 172, 1, 0, 0, 0,
1220
- 184, 23, 1, 0, 0, 0, 185, 187, 3, 30, 15, 0, 186, 188, 3, 34, 17, 0, 187, 186, 1, 0, 0,
1221
- 0, 187, 188, 1, 0, 0, 0, 188, 194, 1, 0, 0, 0, 189, 191, 3, 34, 17, 0, 190, 192, 3, 30,
1222
- 15, 0, 191, 190, 1, 0, 0, 0, 191, 192, 1, 0, 0, 0, 192, 194, 1, 0, 0, 0, 193, 185, 1, 0,
1223
- 0, 0, 193, 189, 1, 0, 0, 0, 194, 25, 1, 0, 0, 0, 195, 197, 3, 32, 16, 0, 196, 198, 3, 34,
1224
- 17, 0, 197, 196, 1, 0, 0, 0, 197, 198, 1, 0, 0, 0, 198, 204, 1, 0, 0, 0, 199, 201, 3, 34,
1225
- 17, 0, 200, 202, 3, 32, 16, 0, 201, 200, 1, 0, 0, 0, 201, 202, 1, 0, 0, 0, 202, 204, 1,
1226
- 0, 0, 0, 203, 195, 1, 0, 0, 0, 203, 199, 1, 0, 0, 0, 204, 27, 1, 0, 0, 0, 205, 209, 5, 1,
1227
- 0, 0, 206, 208, 7, 0, 0, 0, 207, 206, 1, 0, 0, 0, 208, 211, 1, 0, 0, 0, 209, 207, 1, 0,
1228
- 0, 0, 209, 210, 1, 0, 0, 0, 210, 212, 1, 0, 0, 0, 211, 209, 1, 0, 0, 0, 212, 213, 5, 2,
1229
- 0, 0, 213, 29, 1, 0, 0, 0, 214, 216, 5, 1, 0, 0, 215, 217, 5, 8, 0, 0, 216, 215, 1, 0, 0,
1230
- 0, 216, 217, 1, 0, 0, 0, 217, 218, 1, 0, 0, 0, 218, 219, 5, 2, 0, 0, 219, 31, 1, 0, 0, 0,
1231
- 220, 222, 5, 1, 0, 0, 221, 223, 5, 9, 0, 0, 222, 221, 1, 0, 0, 0, 222, 223, 1, 0, 0, 0,
1232
- 223, 224, 1, 0, 0, 0, 224, 225, 5, 2, 0, 0, 225, 33, 1, 0, 0, 0, 226, 228, 5, 3, 0, 0, 227,
1233
- 229, 5, 11, 0, 0, 228, 227, 1, 0, 0, 0, 228, 229, 1, 0, 0, 0, 229, 230, 1, 0, 0, 0, 230,
1234
- 231, 5, 4, 0, 0, 231, 35, 1, 0, 0, 0, 232, 233, 5, 5, 0, 0, 233, 37, 1, 0, 0, 0, 234, 236,
1235
- 5, 12, 0, 0, 235, 234, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 235, 1, 0, 0, 0, 237, 238,
1236
- 1, 0, 0, 0, 238, 39, 1, 0, 0, 0, 42, 42, 44, 58, 62, 66, 72, 76, 82, 86, 92, 96, 102, 106,
1237
- 112, 116, 122, 126, 132, 136, 142, 146, 153, 157, 159, 164, 168, 170, 175, 179,
1238
- 181, 183, 187, 191, 193, 197, 201, 203, 209, 216, 222, 228, 237
1209
+ 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,
1210
+ 7, 20, 1, 0, 1, 0, 5, 0, 45, 8, 0, 10, 0, 12, 0, 48, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
1211
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 62, 8, 1, 1, 2, 1, 2, 3, 2, 66, 8, 2, 1, 2, 1, 2, 3,
1212
+ 2, 70, 8, 2, 1, 2, 1, 2, 1, 3, 1, 3, 3, 3, 76, 8, 3, 1, 3, 1, 3, 3, 3, 80, 8, 3, 1, 3, 1, 3, 1,
1213
+ 4, 1, 4, 3, 4, 86, 8, 4, 1, 4, 1, 4, 3, 4, 90, 8, 4, 1, 4, 1, 4, 1, 5, 1, 5, 3, 5, 96, 8, 5, 1,
1214
+ 5, 1, 5, 3, 5, 100, 8, 5, 1, 5, 1, 5, 1, 6, 1, 6, 3, 6, 106, 8, 6, 1, 6, 1, 6, 3, 6, 110, 8,
1215
+ 6, 1, 6, 1, 6, 1, 7, 1, 7, 3, 7, 116, 8, 7, 1, 7, 1, 7, 3, 7, 120, 8, 7, 1, 7, 1, 7, 1, 8, 1,
1216
+ 8, 3, 8, 126, 8, 8, 1, 8, 1, 8, 3, 8, 130, 8, 8, 1, 8, 1, 8, 1, 9, 1, 9, 3, 9, 136, 8, 9, 1,
1217
+ 9, 1, 9, 3, 9, 140, 8, 9, 1, 9, 1, 9, 1, 10, 1, 10, 3, 10, 146, 8, 10, 1, 10, 1, 10, 3, 10,
1218
+ 150, 8, 10, 1, 10, 1, 10, 1, 11, 1, 11, 3, 11, 156, 8, 11, 1, 11, 1, 11, 3, 11, 160, 8,
1219
+ 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 3, 12, 167, 8, 12, 1, 12, 1, 12, 3, 12, 171, 8, 12,
1220
+ 3, 12, 173, 8, 12, 1, 12, 1, 12, 1, 12, 3, 12, 178, 8, 12, 1, 12, 1, 12, 3, 12, 182, 8,
1221
+ 12, 3, 12, 184, 8, 12, 1, 12, 1, 12, 1, 12, 3, 12, 189, 8, 12, 1, 12, 1, 12, 3, 12, 193,
1222
+ 8, 12, 3, 12, 195, 8, 12, 3, 12, 197, 8, 12, 1, 13, 1, 13, 3, 13, 201, 8, 13, 1, 13, 1,
1223
+ 13, 3, 13, 205, 8, 13, 3, 13, 207, 8, 13, 1, 14, 1, 14, 3, 14, 211, 8, 14, 1, 14, 1, 14,
1224
+ 3, 14, 215, 8, 14, 3, 14, 217, 8, 14, 1, 15, 1, 15, 5, 15, 221, 8, 15, 10, 15, 12, 15,
1225
+ 224, 9, 15, 1, 15, 1, 15, 1, 16, 1, 16, 3, 16, 230, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3,
1226
+ 17, 236, 8, 17, 1, 17, 1, 17, 1, 18, 1, 18, 3, 18, 242, 8, 18, 1, 18, 1, 18, 1, 19, 1, 19,
1227
+ 1, 20, 4, 20, 249, 8, 20, 11, 20, 12, 20, 250, 1, 20, 0, 0, 21, 0, 2, 4, 6, 8, 10, 12, 14,
1228
+ 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 0, 1, 2, 0, 7, 7, 10, 10, 287, 0, 46,
1229
+ 1, 0, 0, 0, 2, 61, 1, 0, 0, 0, 4, 63, 1, 0, 0, 0, 6, 73, 1, 0, 0, 0, 8, 83, 1, 0, 0, 0, 10, 93,
1230
+ 1, 0, 0, 0, 12, 103, 1, 0, 0, 0, 14, 113, 1, 0, 0, 0, 16, 123, 1, 0, 0, 0, 18, 133, 1, 0,
1231
+ 0, 0, 20, 143, 1, 0, 0, 0, 22, 153, 1, 0, 0, 0, 24, 196, 1, 0, 0, 0, 26, 206, 1, 0, 0, 0,
1232
+ 28, 216, 1, 0, 0, 0, 30, 218, 1, 0, 0, 0, 32, 227, 1, 0, 0, 0, 34, 233, 1, 0, 0, 0, 36, 239,
1233
+ 1, 0, 0, 0, 38, 245, 1, 0, 0, 0, 40, 248, 1, 0, 0, 0, 42, 45, 3, 2, 1, 0, 43, 45, 5, 14, 0,
1234
+ 0, 44, 42, 1, 0, 0, 0, 44, 43, 1, 0, 0, 0, 45, 48, 1, 0, 0, 0, 46, 44, 1, 0, 0, 0, 46, 47,
1235
+ 1, 0, 0, 0, 47, 49, 1, 0, 0, 0, 48, 46, 1, 0, 0, 0, 49, 50, 5, 0, 0, 1, 50, 1, 1, 0, 0, 0, 51,
1236
+ 62, 3, 4, 2, 0, 52, 62, 3, 6, 3, 0, 53, 62, 3, 8, 4, 0, 54, 62, 3, 10, 5, 0, 55, 62, 3, 12,
1237
+ 6, 0, 56, 62, 3, 14, 7, 0, 57, 62, 3, 16, 8, 0, 58, 62, 3, 18, 9, 0, 59, 62, 3, 20, 10, 0,
1238
+ 60, 62, 3, 22, 11, 0, 61, 51, 1, 0, 0, 0, 61, 52, 1, 0, 0, 0, 61, 53, 1, 0, 0, 0, 61, 54,
1239
+ 1, 0, 0, 0, 61, 55, 1, 0, 0, 0, 61, 56, 1, 0, 0, 0, 61, 57, 1, 0, 0, 0, 61, 58, 1, 0, 0, 0,
1240
+ 61, 59, 1, 0, 0, 0, 61, 60, 1, 0, 0, 0, 62, 3, 1, 0, 0, 0, 63, 65, 5, 15, 0, 0, 64, 66, 3,
1241
+ 24, 12, 0, 65, 64, 1, 0, 0, 0, 65, 66, 1, 0, 0, 0, 66, 67, 1, 0, 0, 0, 67, 69, 5, 6, 0, 0,
1242
+ 68, 70, 3, 40, 20, 0, 69, 68, 1, 0, 0, 0, 69, 70, 1, 0, 0, 0, 70, 71, 1, 0, 0, 0, 71, 72,
1243
+ 5, 13, 0, 0, 72, 5, 1, 0, 0, 0, 73, 75, 5, 16, 0, 0, 74, 76, 3, 24, 12, 0, 75, 74, 1, 0, 0,
1244
+ 0, 75, 76, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 79, 5, 6, 0, 0, 78, 80, 3, 40, 20, 0, 79, 78,
1245
+ 1, 0, 0, 0, 79, 80, 1, 0, 0, 0, 80, 81, 1, 0, 0, 0, 81, 82, 5, 13, 0, 0, 82, 7, 1, 0, 0, 0,
1246
+ 83, 85, 5, 17, 0, 0, 84, 86, 3, 24, 12, 0, 85, 84, 1, 0, 0, 0, 85, 86, 1, 0, 0, 0, 86, 87,
1247
+ 1, 0, 0, 0, 87, 89, 5, 6, 0, 0, 88, 90, 3, 40, 20, 0, 89, 88, 1, 0, 0, 0, 89, 90, 1, 0, 0,
1248
+ 0, 90, 91, 1, 0, 0, 0, 91, 92, 5, 13, 0, 0, 92, 9, 1, 0, 0, 0, 93, 95, 5, 18, 0, 0, 94, 96,
1249
+ 3, 24, 12, 0, 95, 94, 1, 0, 0, 0, 95, 96, 1, 0, 0, 0, 96, 97, 1, 0, 0, 0, 97, 99, 5, 6, 0,
1250
+ 0, 98, 100, 3, 40, 20, 0, 99, 98, 1, 0, 0, 0, 99, 100, 1, 0, 0, 0, 100, 101, 1, 0, 0, 0,
1251
+ 101, 102, 5, 13, 0, 0, 102, 11, 1, 0, 0, 0, 103, 105, 5, 19, 0, 0, 104, 106, 3, 24, 12,
1252
+ 0, 105, 104, 1, 0, 0, 0, 105, 106, 1, 0, 0, 0, 106, 107, 1, 0, 0, 0, 107, 109, 5, 6, 0,
1253
+ 0, 108, 110, 3, 40, 20, 0, 109, 108, 1, 0, 0, 0, 109, 110, 1, 0, 0, 0, 110, 111, 1, 0,
1254
+ 0, 0, 111, 112, 5, 13, 0, 0, 112, 13, 1, 0, 0, 0, 113, 115, 5, 20, 0, 0, 114, 116, 3, 24,
1255
+ 12, 0, 115, 114, 1, 0, 0, 0, 115, 116, 1, 0, 0, 0, 116, 117, 1, 0, 0, 0, 117, 119, 5, 6,
1256
+ 0, 0, 118, 120, 3, 40, 20, 0, 119, 118, 1, 0, 0, 0, 119, 120, 1, 0, 0, 0, 120, 121, 1,
1257
+ 0, 0, 0, 121, 122, 5, 13, 0, 0, 122, 15, 1, 0, 0, 0, 123, 125, 5, 21, 0, 0, 124, 126, 3,
1258
+ 24, 12, 0, 125, 124, 1, 0, 0, 0, 125, 126, 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127, 129,
1259
+ 5, 6, 0, 0, 128, 130, 3, 40, 20, 0, 129, 128, 1, 0, 0, 0, 129, 130, 1, 0, 0, 0, 130, 131,
1260
+ 1, 0, 0, 0, 131, 132, 5, 13, 0, 0, 132, 17, 1, 0, 0, 0, 133, 135, 5, 22, 0, 0, 134, 136,
1261
+ 3, 26, 13, 0, 135, 134, 1, 0, 0, 0, 135, 136, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 139,
1262
+ 5, 6, 0, 0, 138, 140, 3, 40, 20, 0, 139, 138, 1, 0, 0, 0, 139, 140, 1, 0, 0, 0, 140, 141,
1263
+ 1, 0, 0, 0, 141, 142, 5, 13, 0, 0, 142, 19, 1, 0, 0, 0, 143, 145, 5, 23, 0, 0, 144, 146,
1264
+ 3, 28, 14, 0, 145, 144, 1, 0, 0, 0, 145, 146, 1, 0, 0, 0, 146, 147, 1, 0, 0, 0, 147, 149,
1265
+ 5, 6, 0, 0, 148, 150, 3, 40, 20, 0, 149, 148, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 151,
1266
+ 1, 0, 0, 0, 151, 152, 5, 13, 0, 0, 152, 21, 1, 0, 0, 0, 153, 155, 5, 24, 0, 0, 154, 156,
1267
+ 3, 26, 13, 0, 155, 154, 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156, 157, 1, 0, 0, 0, 157, 159,
1268
+ 5, 6, 0, 0, 158, 160, 3, 40, 20, 0, 159, 158, 1, 0, 0, 0, 159, 160, 1, 0, 0, 0, 160, 161,
1269
+ 1, 0, 0, 0, 161, 162, 5, 13, 0, 0, 162, 23, 1, 0, 0, 0, 163, 172, 3, 30, 15, 0, 164, 166,
1270
+ 3, 36, 18, 0, 165, 167, 3, 38, 19, 0, 166, 165, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167,
1271
+ 173, 1, 0, 0, 0, 168, 170, 3, 38, 19, 0, 169, 171, 3, 36, 18, 0, 170, 169, 1, 0, 0, 0,
1272
+ 170, 171, 1, 0, 0, 0, 171, 173, 1, 0, 0, 0, 172, 164, 1, 0, 0, 0, 172, 168, 1, 0, 0, 0,
1273
+ 172, 173, 1, 0, 0, 0, 173, 197, 1, 0, 0, 0, 174, 183, 3, 36, 18, 0, 175, 177, 3, 30, 15,
1274
+ 0, 176, 178, 3, 38, 19, 0, 177, 176, 1, 0, 0, 0, 177, 178, 1, 0, 0, 0, 178, 184, 1, 0,
1275
+ 0, 0, 179, 181, 3, 38, 19, 0, 180, 182, 3, 30, 15, 0, 181, 180, 1, 0, 0, 0, 181, 182,
1276
+ 1, 0, 0, 0, 182, 184, 1, 0, 0, 0, 183, 175, 1, 0, 0, 0, 183, 179, 1, 0, 0, 0, 183, 184,
1277
+ 1, 0, 0, 0, 184, 197, 1, 0, 0, 0, 185, 194, 3, 38, 19, 0, 186, 188, 3, 30, 15, 0, 187,
1278
+ 189, 3, 36, 18, 0, 188, 187, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 195, 1, 0, 0, 0, 190,
1279
+ 192, 3, 36, 18, 0, 191, 193, 3, 30, 15, 0, 192, 191, 1, 0, 0, 0, 192, 193, 1, 0, 0, 0,
1280
+ 193, 195, 1, 0, 0, 0, 194, 186, 1, 0, 0, 0, 194, 190, 1, 0, 0, 0, 194, 195, 1, 0, 0, 0,
1281
+ 195, 197, 1, 0, 0, 0, 196, 163, 1, 0, 0, 0, 196, 174, 1, 0, 0, 0, 196, 185, 1, 0, 0, 0,
1282
+ 197, 25, 1, 0, 0, 0, 198, 200, 3, 32, 16, 0, 199, 201, 3, 36, 18, 0, 200, 199, 1, 0, 0,
1283
+ 0, 200, 201, 1, 0, 0, 0, 201, 207, 1, 0, 0, 0, 202, 204, 3, 36, 18, 0, 203, 205, 3, 32,
1284
+ 16, 0, 204, 203, 1, 0, 0, 0, 204, 205, 1, 0, 0, 0, 205, 207, 1, 0, 0, 0, 206, 198, 1, 0,
1285
+ 0, 0, 206, 202, 1, 0, 0, 0, 207, 27, 1, 0, 0, 0, 208, 210, 3, 34, 17, 0, 209, 211, 3, 36,
1286
+ 18, 0, 210, 209, 1, 0, 0, 0, 210, 211, 1, 0, 0, 0, 211, 217, 1, 0, 0, 0, 212, 214, 3, 36,
1287
+ 18, 0, 213, 215, 3, 34, 17, 0, 214, 213, 1, 0, 0, 0, 214, 215, 1, 0, 0, 0, 215, 217, 1,
1288
+ 0, 0, 0, 216, 208, 1, 0, 0, 0, 216, 212, 1, 0, 0, 0, 217, 29, 1, 0, 0, 0, 218, 222, 5, 1,
1289
+ 0, 0, 219, 221, 7, 0, 0, 0, 220, 219, 1, 0, 0, 0, 221, 224, 1, 0, 0, 0, 222, 220, 1, 0,
1290
+ 0, 0, 222, 223, 1, 0, 0, 0, 223, 225, 1, 0, 0, 0, 224, 222, 1, 0, 0, 0, 225, 226, 5, 2,
1291
+ 0, 0, 226, 31, 1, 0, 0, 0, 227, 229, 5, 1, 0, 0, 228, 230, 5, 8, 0, 0, 229, 228, 1, 0, 0,
1292
+ 0, 229, 230, 1, 0, 0, 0, 230, 231, 1, 0, 0, 0, 231, 232, 5, 2, 0, 0, 232, 33, 1, 0, 0, 0,
1293
+ 233, 235, 5, 1, 0, 0, 234, 236, 5, 9, 0, 0, 235, 234, 1, 0, 0, 0, 235, 236, 1, 0, 0, 0,
1294
+ 236, 237, 1, 0, 0, 0, 237, 238, 5, 2, 0, 0, 238, 35, 1, 0, 0, 0, 239, 241, 5, 3, 0, 0, 240,
1295
+ 242, 5, 11, 0, 0, 241, 240, 1, 0, 0, 0, 241, 242, 1, 0, 0, 0, 242, 243, 1, 0, 0, 0, 243,
1296
+ 244, 5, 4, 0, 0, 244, 37, 1, 0, 0, 0, 245, 246, 5, 5, 0, 0, 246, 39, 1, 0, 0, 0, 247, 249,
1297
+ 5, 12, 0, 0, 248, 247, 1, 0, 0, 0, 249, 250, 1, 0, 0, 0, 250, 248, 1, 0, 0, 0, 250, 251,
1298
+ 1, 0, 0, 0, 251, 41, 1, 0, 0, 0, 44, 44, 46, 61, 65, 69, 75, 79, 85, 89, 95, 99, 105, 109,
1299
+ 115, 119, 125, 129, 135, 139, 145, 149, 155, 159, 166, 170, 172, 177, 181, 183,
1300
+ 188, 192, 194, 196, 200, 204, 206, 210, 214, 216, 222, 229, 235, 241, 250
1239
1301
  ];
1240
1302
  static __ATN;
1241
1303
  static get _ATN() {
@@ -1302,11 +1364,11 @@ export class StatementContext extends antlr.ParserRuleContext {
1302
1364
  moveStatement() {
1303
1365
  return this.getRuleContext(0, MoveStatementContext);
1304
1366
  }
1305
- showStatement() {
1306
- return this.getRuleContext(0, ShowStatementContext);
1367
+ openStatement() {
1368
+ return this.getRuleContext(0, OpenStatementContext);
1307
1369
  }
1308
- hideStatement() {
1309
- return this.getRuleContext(0, HideStatementContext);
1370
+ foldStatement() {
1371
+ return this.getRuleContext(0, FoldStatementContext);
1310
1372
  }
1311
1373
  sendStatement() {
1312
1374
  return this.getRuleContext(0, SendStatementContext);
@@ -1314,6 +1376,9 @@ export class StatementContext extends antlr.ParserRuleContext {
1314
1376
  execStatement() {
1315
1377
  return this.getRuleContext(0, ExecStatementContext);
1316
1378
  }
1379
+ killStatement() {
1380
+ return this.getRuleContext(0, KillStatementContext);
1381
+ }
1317
1382
  get ruleIndex() {
1318
1383
  return plurnkParser.RULE_statement;
1319
1384
  }
@@ -1481,12 +1546,12 @@ export class MoveStatementContext extends antlr.ParserRuleContext {
1481
1546
  }
1482
1547
  }
1483
1548
  }
1484
- export class ShowStatementContext extends antlr.ParserRuleContext {
1549
+ export class OpenStatementContext extends antlr.ParserRuleContext {
1485
1550
  constructor(parent, invokingState) {
1486
1551
  super(parent, invokingState);
1487
1552
  }
1488
- OPEN_SHOW() {
1489
- return this.getToken(plurnkParser.OPEN_SHOW, 0);
1553
+ OPEN_OPEN() {
1554
+ return this.getToken(plurnkParser.OPEN_OPEN, 0);
1490
1555
  }
1491
1556
  COLON() {
1492
1557
  return this.getToken(plurnkParser.COLON, 0);
@@ -1501,23 +1566,23 @@ export class ShowStatementContext extends antlr.ParserRuleContext {
1501
1566
  return this.getRuleContext(0, BodyContext);
1502
1567
  }
1503
1568
  get ruleIndex() {
1504
- return plurnkParser.RULE_showStatement;
1569
+ return plurnkParser.RULE_openStatement;
1505
1570
  }
1506
1571
  accept(visitor) {
1507
- if (visitor.visitShowStatement) {
1508
- return visitor.visitShowStatement(this);
1572
+ if (visitor.visitOpenStatement) {
1573
+ return visitor.visitOpenStatement(this);
1509
1574
  }
1510
1575
  else {
1511
1576
  return visitor.visitChildren(this);
1512
1577
  }
1513
1578
  }
1514
1579
  }
1515
- export class HideStatementContext extends antlr.ParserRuleContext {
1580
+ export class FoldStatementContext extends antlr.ParserRuleContext {
1516
1581
  constructor(parent, invokingState) {
1517
1582
  super(parent, invokingState);
1518
1583
  }
1519
- OPEN_HIDE() {
1520
- return this.getToken(plurnkParser.OPEN_HIDE, 0);
1584
+ OPEN_FOLD() {
1585
+ return this.getToken(plurnkParser.OPEN_FOLD, 0);
1521
1586
  }
1522
1587
  COLON() {
1523
1588
  return this.getToken(plurnkParser.COLON, 0);
@@ -1532,11 +1597,11 @@ export class HideStatementContext extends antlr.ParserRuleContext {
1532
1597
  return this.getRuleContext(0, BodyContext);
1533
1598
  }
1534
1599
  get ruleIndex() {
1535
- return plurnkParser.RULE_hideStatement;
1600
+ return plurnkParser.RULE_foldStatement;
1536
1601
  }
1537
1602
  accept(visitor) {
1538
- if (visitor.visitHideStatement) {
1539
- return visitor.visitHideStatement(this);
1603
+ if (visitor.visitFoldStatement) {
1604
+ return visitor.visitFoldStatement(this);
1540
1605
  }
1541
1606
  else {
1542
1607
  return visitor.visitChildren(this);
@@ -1556,8 +1621,8 @@ export class SendStatementContext extends antlr.ParserRuleContext {
1556
1621
  CLOSE_TAG() {
1557
1622
  return this.getToken(plurnkParser.CLOSE_TAG, 0);
1558
1623
  }
1559
- sendModifiers() {
1560
- return this.getRuleContext(0, SendModifiersContext);
1624
+ intOpModifiers() {
1625
+ return this.getRuleContext(0, IntOpModifiersContext);
1561
1626
  }
1562
1627
  body() {
1563
1628
  return this.getRuleContext(0, BodyContext);
@@ -1605,6 +1670,37 @@ export class ExecStatementContext extends antlr.ParserRuleContext {
1605
1670
  }
1606
1671
  }
1607
1672
  }
1673
+ export class KillStatementContext extends antlr.ParserRuleContext {
1674
+ constructor(parent, invokingState) {
1675
+ super(parent, invokingState);
1676
+ }
1677
+ OPEN_KILL() {
1678
+ return this.getToken(plurnkParser.OPEN_KILL, 0);
1679
+ }
1680
+ COLON() {
1681
+ return this.getToken(plurnkParser.COLON, 0);
1682
+ }
1683
+ CLOSE_TAG() {
1684
+ return this.getToken(plurnkParser.CLOSE_TAG, 0);
1685
+ }
1686
+ intOpModifiers() {
1687
+ return this.getRuleContext(0, IntOpModifiersContext);
1688
+ }
1689
+ body() {
1690
+ return this.getRuleContext(0, BodyContext);
1691
+ }
1692
+ get ruleIndex() {
1693
+ return plurnkParser.RULE_killStatement;
1694
+ }
1695
+ accept(visitor) {
1696
+ if (visitor.visitKillStatement) {
1697
+ return visitor.visitKillStatement(this);
1698
+ }
1699
+ else {
1700
+ return visitor.visitChildren(this);
1701
+ }
1702
+ }
1703
+ }
1608
1704
  export class TagOpModifiersContext extends antlr.ParserRuleContext {
1609
1705
  constructor(parent, invokingState) {
1610
1706
  super(parent, invokingState);
@@ -1630,7 +1726,7 @@ export class TagOpModifiersContext extends antlr.ParserRuleContext {
1630
1726
  }
1631
1727
  }
1632
1728
  }
1633
- export class SendModifiersContext extends antlr.ParserRuleContext {
1729
+ export class IntOpModifiersContext extends antlr.ParserRuleContext {
1634
1730
  constructor(parent, invokingState) {
1635
1731
  super(parent, invokingState);
1636
1732
  }
@@ -1641,11 +1737,11 @@ export class SendModifiersContext extends antlr.ParserRuleContext {
1641
1737
  return this.getRuleContext(0, TargetContext);
1642
1738
  }
1643
1739
  get ruleIndex() {
1644
- return plurnkParser.RULE_sendModifiers;
1740
+ return plurnkParser.RULE_intOpModifiers;
1645
1741
  }
1646
1742
  accept(visitor) {
1647
- if (visitor.visitSendModifiers) {
1648
- return visitor.visitSendModifiers(this);
1743
+ if (visitor.visitIntOpModifiers) {
1744
+ return visitor.visitIntOpModifiers(this);
1649
1745
  }
1650
1746
  else {
1651
1747
  return visitor.visitChildren(this);