circuitscript 0.0.17 → 0.0.19

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,38 +19,40 @@ export default class CircuitScriptParser extends Parser {
19
19
  static At = 17;
20
20
  static To = 18;
21
21
  static Point = 19;
22
- static Return = 20;
23
- static Define = 21;
24
- static Import = 22;
25
- static If = 23;
26
- static Not = 24;
27
- static Equals = 25;
28
- static NotEquals = 26;
29
- static Addition = 27;
30
- static Minus = 28;
31
- static Divide = 29;
32
- static Multiply = 30;
33
- static OPEN_PAREN = 31;
34
- static CLOSE_PAREN = 32;
35
- static NOT_CONNECTED = 33;
36
- static BOOLEAN_VALUE = 34;
37
- static ID = 35;
38
- static INTEGER_VALUE = 36;
39
- static DECIMAL_VALUE = 37;
40
- static NUMERIC_VALUE = 38;
41
- static STRING_VALUE = 39;
42
- static PERCENTAGE_VALUE = 40;
43
- static ALPHA_NUMERIC = 41;
44
- static WS = 42;
45
- static NEWLINE = 43;
46
- static SKIP_ = 44;
47
- static INDENT = 45;
48
- static DEDENT = 46;
22
+ static Join = 20;
23
+ static Parallel = 21;
24
+ static Return = 22;
25
+ static Define = 23;
26
+ static Import = 24;
27
+ static If = 25;
28
+ static Not = 26;
29
+ static Equals = 27;
30
+ static NotEquals = 28;
31
+ static Addition = 29;
32
+ static Minus = 30;
33
+ static Divide = 31;
34
+ static Multiply = 32;
35
+ static OPEN_PAREN = 33;
36
+ static CLOSE_PAREN = 34;
37
+ static NOT_CONNECTED = 35;
38
+ static BOOLEAN_VALUE = 36;
39
+ static ID = 37;
40
+ static INTEGER_VALUE = 38;
41
+ static DECIMAL_VALUE = 39;
42
+ static NUMERIC_VALUE = 40;
43
+ static STRING_VALUE = 41;
44
+ static PERCENTAGE_VALUE = 42;
45
+ static ALPHA_NUMERIC = 43;
46
+ static WS = 44;
47
+ static NEWLINE = 45;
48
+ static SKIP_ = 46;
49
+ static INDENT = 47;
50
+ static DEDENT = 48;
49
51
  static EOF = Token.EOF;
50
52
  static RULE_script = 0;
51
53
  static RULE_expression = 1;
52
- static RULE_branch_blocks = 2;
53
- static RULE_branch_block_inner = 3;
54
+ static RULE_path_blocks = 2;
55
+ static RULE_path_block_inner = 3;
54
56
  static RULE_property_set_expr2 = 4;
55
57
  static RULE_assignment_expr2 = 5;
56
58
  static RULE_data_expr_with_assignment = 6;
@@ -108,6 +110,7 @@ export default class CircuitScriptParser extends Parser {
108
110
  "'wire'", "'pin'",
109
111
  "'add'", "'at'",
110
112
  "'to'", "'point'",
113
+ "'join'", "'parallel'",
111
114
  "'return'",
112
115
  "'def'", "'import'",
113
116
  "'if'", "'!'",
@@ -126,6 +129,7 @@ export default class CircuitScriptParser extends Parser {
126
129
  "Wire", "Pin",
127
130
  "Add", "At",
128
131
  "To", "Point",
132
+ "Join", "Parallel",
129
133
  "Return", "Define",
130
134
  "Import", "If",
131
135
  "Not", "Equals",
@@ -147,7 +151,7 @@ export default class CircuitScriptParser extends Parser {
147
151
  "SKIP_", "INDENT",
148
152
  "DEDENT"];
149
153
  static ruleNames = [
150
- "script", "expression", "branch_blocks", "branch_block_inner", "property_set_expr2",
154
+ "script", "expression", "path_blocks", "path_block_inner", "property_set_expr2",
151
155
  "assignment_expr2", "data_expr_with_assignment", "add_component_expr",
152
156
  "component_select_expr", "pin_select_expr", "pin_select_expr2", "at_component_expr",
153
157
  "to_component_expr", "at_to_multiple_expr", "at_to_multiple_line_expr",
@@ -197,17 +201,19 @@ export default class CircuitScriptParser extends Parser {
197
201
  case 17:
198
202
  case 18:
199
203
  case 19:
204
+ case 20:
200
205
  case 21:
201
- case 22:
202
- case 27:
206
+ case 23:
207
+ case 24:
203
208
  case 29:
204
- case 35:
209
+ case 31:
210
+ case 37:
205
211
  {
206
212
  this.state = 98;
207
213
  this.expression();
208
214
  }
209
215
  break;
210
- case 43:
216
+ case 45:
211
217
  {
212
218
  this.state = 99;
213
219
  this.match(CircuitScriptParser.NEWLINE);
@@ -220,7 +226,7 @@ export default class CircuitScriptParser extends Parser {
220
226
  this.state = 102;
221
227
  this._errHandler.sync(this);
222
228
  _la = this._input.LA(1);
223
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la === 35 || _la === 43);
229
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la === 37 || _la === 45);
224
230
  this.state = 104;
225
231
  this.match(CircuitScriptParser.EOF);
226
232
  }
@@ -321,42 +327,42 @@ export default class CircuitScriptParser extends Parser {
321
327
  this.enterOuterAlt(localctx, 11);
322
328
  {
323
329
  this.state = 116;
324
- this.point_expr();
330
+ this.import_expr();
325
331
  }
326
332
  break;
327
333
  case 12:
328
334
  this.enterOuterAlt(localctx, 12);
329
335
  {
330
336
  this.state = 117;
331
- this.import_expr();
337
+ this.frame_expr();
332
338
  }
333
339
  break;
334
340
  case 13:
335
341
  this.enterOuterAlt(localctx, 13);
336
342
  {
337
343
  this.state = 118;
338
- this.frame_expr();
344
+ this.atom_expr();
339
345
  }
340
346
  break;
341
347
  case 14:
342
348
  this.enterOuterAlt(localctx, 14);
343
349
  {
344
350
  this.state = 119;
345
- this.atom_expr();
351
+ this.at_block();
346
352
  }
347
353
  break;
348
354
  case 15:
349
355
  this.enterOuterAlt(localctx, 15);
350
356
  {
351
357
  this.state = 120;
352
- this.at_block();
358
+ this.path_blocks();
353
359
  }
354
360
  break;
355
361
  case 16:
356
362
  this.enterOuterAlt(localctx, 16);
357
363
  {
358
364
  this.state = 121;
359
- this.branch_blocks();
365
+ this.point_expr();
360
366
  }
361
367
  break;
362
368
  }
@@ -376,9 +382,9 @@ export default class CircuitScriptParser extends Parser {
376
382
  }
377
383
  return localctx;
378
384
  }
379
- branch_blocks() {
380
- let localctx = new Branch_blocksContext(this, this._ctx, this.state);
381
- this.enterRule(localctx, 4, CircuitScriptParser.RULE_branch_blocks);
385
+ path_blocks() {
386
+ let localctx = new Path_blocksContext(this, this._ctx, this.state);
387
+ this.enterRule(localctx, 4, CircuitScriptParser.RULE_path_blocks);
382
388
  try {
383
389
  let _alt;
384
390
  this.enterOuterAlt(localctx, 1);
@@ -392,7 +398,7 @@ export default class CircuitScriptParser extends Parser {
392
398
  {
393
399
  {
394
400
  this.state = 124;
395
- this.branch_block_inner();
401
+ this.path_block_inner();
396
402
  }
397
403
  }
398
404
  break;
@@ -420,15 +426,22 @@ export default class CircuitScriptParser extends Parser {
420
426
  }
421
427
  return localctx;
422
428
  }
423
- branch_block_inner() {
424
- let localctx = new Branch_block_innerContext(this, this._ctx, this.state);
425
- this.enterRule(localctx, 6, CircuitScriptParser.RULE_branch_block_inner);
429
+ path_block_inner() {
430
+ let localctx = new Path_block_innerContext(this, this._ctx, this.state);
431
+ this.enterRule(localctx, 6, CircuitScriptParser.RULE_path_block_inner);
426
432
  let _la;
427
433
  try {
428
434
  this.enterOuterAlt(localctx, 1);
429
435
  {
430
436
  this.state = 129;
431
- this.match(CircuitScriptParser.Branch);
437
+ _la = this._input.LA(1);
438
+ if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 3671040) !== 0))) {
439
+ this._errHandler.recoverInline(this);
440
+ }
441
+ else {
442
+ this._errHandler.reportMatch(this);
443
+ this.consume();
444
+ }
432
445
  this.state = 130;
433
446
  this.match(CircuitScriptParser.T__0);
434
447
  this.state = 131;
@@ -443,7 +456,7 @@ export default class CircuitScriptParser extends Parser {
443
456
  this.state = 135;
444
457
  this._errHandler.sync(this);
445
458
  switch (this._input.LA(1)) {
446
- case 43:
459
+ case 45:
447
460
  {
448
461
  this.state = 133;
449
462
  this.match(CircuitScriptParser.NEWLINE);
@@ -458,11 +471,13 @@ export default class CircuitScriptParser extends Parser {
458
471
  case 17:
459
472
  case 18:
460
473
  case 19:
474
+ case 20:
461
475
  case 21:
462
- case 22:
463
- case 27:
476
+ case 23:
477
+ case 24:
464
478
  case 29:
465
- case 35:
479
+ case 31:
480
+ case 37:
466
481
  {
467
482
  this.state = 134;
468
483
  this.expression();
@@ -475,7 +490,7 @@ export default class CircuitScriptParser extends Parser {
475
490
  this.state = 137;
476
491
  this._errHandler.sync(this);
477
492
  _la = this._input.LA(1);
478
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la === 35 || _la === 43);
493
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la === 37 || _la === 45);
479
494
  this.state = 139;
480
495
  this.match(CircuitScriptParser.DEDENT);
481
496
  }
@@ -518,14 +533,14 @@ export default class CircuitScriptParser extends Parser {
518
533
  this.state = 147;
519
534
  this._errHandler.sync(this);
520
535
  switch (this._input.LA(1)) {
521
- case 43:
536
+ case 45:
522
537
  {
523
538
  this.state = 145;
524
539
  this.match(CircuitScriptParser.NEWLINE);
525
540
  }
526
541
  break;
527
- case 35:
528
- case 36:
542
+ case 37:
543
+ case 38:
529
544
  {
530
545
  this.state = 146;
531
546
  this.assignment_expr2();
@@ -538,7 +553,7 @@ export default class CircuitScriptParser extends Parser {
538
553
  this.state = 149;
539
554
  this._errHandler.sync(this);
540
555
  _la = this._input.LA(1);
541
- } while (((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 259) !== 0));
556
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 259) !== 0));
542
557
  this.state = 151;
543
558
  this.match(CircuitScriptParser.DEDENT);
544
559
  }
@@ -567,7 +582,7 @@ export default class CircuitScriptParser extends Parser {
567
582
  {
568
583
  this.state = 153;
569
584
  _la = this._input.LA(1);
570
- if (!(_la === 35 || _la === 36)) {
585
+ if (!(_la === 37 || _la === 38)) {
571
586
  this._errHandler.recoverInline(this);
572
587
  }
573
588
  else {
@@ -690,18 +705,18 @@ export default class CircuitScriptParser extends Parser {
690
705
  switch (this._input.LA(1)) {
691
706
  case 6:
692
707
  case 11:
693
- case 24:
694
- case 27:
695
- case 28:
708
+ case 26:
696
709
  case 29:
710
+ case 30:
697
711
  case 31:
698
- case 34:
699
- case 35:
712
+ case 33:
700
713
  case 36:
701
714
  case 37:
702
715
  case 38:
703
716
  case 39:
704
717
  case 40:
718
+ case 41:
719
+ case 42:
705
720
  this.enterOuterAlt(localctx, 1);
706
721
  {
707
722
  this.state = 169;
@@ -745,7 +760,7 @@ export default class CircuitScriptParser extends Parser {
745
760
  this.match(CircuitScriptParser.Pin);
746
761
  this.state = 174;
747
762
  _la = this._input.LA(1);
748
- if (!(_la === 36 || _la === 39)) {
763
+ if (!(_la === 38 || _la === 41)) {
749
764
  this._errHandler.recoverInline(this);
750
765
  }
751
766
  else {
@@ -778,7 +793,7 @@ export default class CircuitScriptParser extends Parser {
778
793
  {
779
794
  this.state = 176;
780
795
  _la = this._input.LA(1);
781
- if (!(_la === 36 || _la === 39)) {
796
+ if (!(_la === 38 || _la === 41)) {
782
797
  this._errHandler.recoverInline(this);
783
798
  }
784
799
  else {
@@ -810,17 +825,49 @@ export default class CircuitScriptParser extends Parser {
810
825
  {
811
826
  this.state = 178;
812
827
  this.match(CircuitScriptParser.At);
813
- this.state = 179;
814
- this.component_select_expr();
815
- this.state = 181;
828
+ this.state = 184;
816
829
  this._errHandler.sync(this);
817
- switch (this._interp.adaptivePredict(this._input, 12, this._ctx)) {
818
- case 1:
830
+ switch (this._input.LA(1)) {
831
+ case 6:
832
+ case 11:
833
+ case 15:
834
+ case 26:
835
+ case 29:
836
+ case 30:
837
+ case 31:
838
+ case 33:
839
+ case 36:
840
+ case 37:
841
+ case 38:
842
+ case 39:
843
+ case 40:
844
+ case 41:
845
+ case 42:
819
846
  {
820
- this.state = 180;
821
- this.match(CircuitScriptParser.ID);
847
+ {
848
+ this.state = 179;
849
+ this.component_select_expr();
850
+ this.state = 181;
851
+ this._errHandler.sync(this);
852
+ switch (this._interp.adaptivePredict(this._input, 12, this._ctx)) {
853
+ case 1:
854
+ {
855
+ this.state = 180;
856
+ this.match(CircuitScriptParser.ID);
857
+ }
858
+ break;
859
+ }
860
+ }
822
861
  }
823
862
  break;
863
+ case 19:
864
+ {
865
+ this.state = 183;
866
+ this.match(CircuitScriptParser.Point);
867
+ }
868
+ break;
869
+ default:
870
+ throw new NoViableAltException(this);
824
871
  }
825
872
  }
826
873
  }
@@ -846,35 +893,67 @@ export default class CircuitScriptParser extends Parser {
846
893
  try {
847
894
  this.enterOuterAlt(localctx, 1);
848
895
  {
849
- this.state = 183;
896
+ this.state = 186;
850
897
  this.match(CircuitScriptParser.To);
851
- this.state = 184;
852
- this.component_select_expr();
853
- this.state = 189;
898
+ this.state = 199;
854
899
  this._errHandler.sync(this);
855
- _la = this._input.LA(1);
856
- while (_la === 2) {
857
- {
900
+ switch (this._input.LA(1)) {
901
+ case 6:
902
+ case 11:
903
+ case 15:
904
+ case 26:
905
+ case 29:
906
+ case 30:
907
+ case 31:
908
+ case 33:
909
+ case 36:
910
+ case 37:
911
+ case 38:
912
+ case 39:
913
+ case 40:
914
+ case 41:
915
+ case 42:
858
916
  {
859
- this.state = 185;
860
- this.match(CircuitScriptParser.T__1);
861
- this.state = 186;
862
- this.component_select_expr();
917
+ {
918
+ this.state = 187;
919
+ this.component_select_expr();
920
+ this.state = 192;
921
+ this._errHandler.sync(this);
922
+ _la = this._input.LA(1);
923
+ while (_la === 2) {
924
+ {
925
+ {
926
+ this.state = 188;
927
+ this.match(CircuitScriptParser.T__1);
928
+ this.state = 189;
929
+ this.component_select_expr();
930
+ }
931
+ }
932
+ this.state = 194;
933
+ this._errHandler.sync(this);
934
+ _la = this._input.LA(1);
935
+ }
936
+ this.state = 196;
937
+ this._errHandler.sync(this);
938
+ switch (this._interp.adaptivePredict(this._input, 15, this._ctx)) {
939
+ case 1:
940
+ {
941
+ this.state = 195;
942
+ this.match(CircuitScriptParser.ID);
943
+ }
944
+ break;
945
+ }
946
+ }
863
947
  }
864
- }
865
- this.state = 191;
866
- this._errHandler.sync(this);
867
- _la = this._input.LA(1);
868
- }
869
- this.state = 193;
870
- this._errHandler.sync(this);
871
- switch (this._interp.adaptivePredict(this._input, 14, this._ctx)) {
872
- case 1:
948
+ break;
949
+ case 19:
873
950
  {
874
- this.state = 192;
875
- this.match(CircuitScriptParser.ID);
951
+ this.state = 198;
952
+ this.match(CircuitScriptParser.Point);
876
953
  }
877
954
  break;
955
+ default:
956
+ throw new NoViableAltException(this);
878
957
  }
879
958
  }
880
959
  }
@@ -900,54 +979,54 @@ export default class CircuitScriptParser extends Parser {
900
979
  try {
901
980
  this.enterOuterAlt(localctx, 1);
902
981
  {
903
- this.state = 195;
982
+ this.state = 201;
904
983
  this.match(CircuitScriptParser.At);
905
- this.state = 196;
984
+ this.state = 202;
906
985
  this.component_select_expr();
907
- this.state = 197;
986
+ this.state = 203;
908
987
  this.match(CircuitScriptParser.To);
909
- this.state = 198;
988
+ this.state = 204;
910
989
  this.component_select_expr();
911
- this.state = 203;
990
+ this.state = 209;
912
991
  this._errHandler.sync(this);
913
992
  _la = this._input.LA(1);
914
993
  while (_la === 2) {
915
994
  {
916
995
  {
917
- this.state = 199;
996
+ this.state = 205;
918
997
  this.match(CircuitScriptParser.T__1);
919
- this.state = 200;
998
+ this.state = 206;
920
999
  this.component_select_expr();
921
1000
  }
922
1001
  }
923
- this.state = 205;
1002
+ this.state = 211;
924
1003
  this._errHandler.sync(this);
925
1004
  _la = this._input.LA(1);
926
1005
  }
927
- this.state = 206;
1006
+ this.state = 212;
928
1007
  this.match(CircuitScriptParser.T__0);
929
- this.state = 207;
1008
+ this.state = 213;
930
1009
  this.match(CircuitScriptParser.NEWLINE);
931
- this.state = 208;
1010
+ this.state = 214;
932
1011
  this.match(CircuitScriptParser.INDENT);
933
- this.state = 211;
1012
+ this.state = 217;
934
1013
  this._errHandler.sync(this);
935
1014
  _la = this._input.LA(1);
936
1015
  do {
937
1016
  {
938
- this.state = 211;
1017
+ this.state = 217;
939
1018
  this._errHandler.sync(this);
940
1019
  switch (this._input.LA(1)) {
941
- case 43:
1020
+ case 45:
942
1021
  {
943
- this.state = 209;
1022
+ this.state = 215;
944
1023
  this.match(CircuitScriptParser.NEWLINE);
945
1024
  }
946
1025
  break;
947
- case 36:
948
- case 39:
1026
+ case 38:
1027
+ case 41:
949
1028
  {
950
- this.state = 210;
1029
+ this.state = 216;
951
1030
  this.at_to_multiple_line_expr();
952
1031
  }
953
1032
  break;
@@ -955,11 +1034,11 @@ export default class CircuitScriptParser extends Parser {
955
1034
  throw new NoViableAltException(this);
956
1035
  }
957
1036
  }
958
- this.state = 213;
1037
+ this.state = 219;
959
1038
  this._errHandler.sync(this);
960
1039
  _la = this._input.LA(1);
961
- } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 137) !== 0));
962
- this.state = 215;
1040
+ } while (((((_la - 38)) & ~0x1F) === 0 && ((1 << (_la - 38)) & 137) !== 0));
1041
+ this.state = 221;
963
1042
  this.match(CircuitScriptParser.DEDENT);
964
1043
  }
965
1044
  }
@@ -985,25 +1064,25 @@ export default class CircuitScriptParser extends Parser {
985
1064
  try {
986
1065
  this.enterOuterAlt(localctx, 1);
987
1066
  {
988
- this.state = 217;
1067
+ this.state = 223;
989
1068
  this.pin_select_expr2();
990
- this.state = 218;
1069
+ this.state = 224;
991
1070
  this.match(CircuitScriptParser.T__0);
992
- this.state = 219;
1071
+ this.state = 225;
993
1072
  this.at_to_multiple_line_expr_to_pin();
994
- this.state = 224;
1073
+ this.state = 230;
995
1074
  this._errHandler.sync(this);
996
1075
  _la = this._input.LA(1);
997
1076
  while (_la === 2) {
998
1077
  {
999
1078
  {
1000
- this.state = 220;
1079
+ this.state = 226;
1001
1080
  this.match(CircuitScriptParser.T__1);
1002
- this.state = 221;
1081
+ this.state = 227;
1003
1082
  this.at_to_multiple_line_expr_to_pin();
1004
1083
  }
1005
1084
  }
1006
- this.state = 226;
1085
+ this.state = 232;
1007
1086
  this._errHandler.sync(this);
1008
1087
  _la = this._input.LA(1);
1009
1088
  }
@@ -1031,9 +1110,9 @@ export default class CircuitScriptParser extends Parser {
1031
1110
  try {
1032
1111
  this.enterOuterAlt(localctx, 1);
1033
1112
  {
1034
- this.state = 227;
1113
+ this.state = 233;
1035
1114
  _la = this._input.LA(1);
1036
- if (!(_la === 33 || _la === 36)) {
1115
+ if (!(_la === 35 || _la === 38)) {
1037
1116
  this._errHandler.recoverInline(this);
1038
1117
  }
1039
1118
  else {
@@ -1064,25 +1143,25 @@ export default class CircuitScriptParser extends Parser {
1064
1143
  try {
1065
1144
  this.enterOuterAlt(localctx, 1);
1066
1145
  {
1067
- this.state = 229;
1146
+ this.state = 235;
1068
1147
  this.at_component_expr();
1069
- this.state = 230;
1148
+ this.state = 236;
1070
1149
  this.match(CircuitScriptParser.T__0);
1071
- this.state = 231;
1150
+ this.state = 237;
1072
1151
  this.match(CircuitScriptParser.NEWLINE);
1073
- this.state = 232;
1152
+ this.state = 238;
1074
1153
  this.match(CircuitScriptParser.INDENT);
1075
- this.state = 235;
1154
+ this.state = 241;
1076
1155
  this._errHandler.sync(this);
1077
1156
  _la = this._input.LA(1);
1078
1157
  do {
1079
1158
  {
1080
- this.state = 235;
1159
+ this.state = 241;
1081
1160
  this._errHandler.sync(this);
1082
1161
  switch (this._input.LA(1)) {
1083
- case 43:
1162
+ case 45:
1084
1163
  {
1085
- this.state = 233;
1164
+ this.state = 239;
1086
1165
  this.match(CircuitScriptParser.NEWLINE);
1087
1166
  }
1088
1167
  break;
@@ -1095,15 +1174,17 @@ export default class CircuitScriptParser extends Parser {
1095
1174
  case 17:
1096
1175
  case 18:
1097
1176
  case 19:
1177
+ case 20:
1098
1178
  case 21:
1099
- case 22:
1100
- case 27:
1179
+ case 23:
1180
+ case 24:
1101
1181
  case 29:
1102
- case 35:
1103
- case 36:
1104
- case 39:
1182
+ case 31:
1183
+ case 37:
1184
+ case 38:
1185
+ case 41:
1105
1186
  {
1106
- this.state = 234;
1187
+ this.state = 240;
1107
1188
  this.at_block_expressions();
1108
1189
  }
1109
1190
  break;
@@ -1111,11 +1192,11 @@ export default class CircuitScriptParser extends Parser {
1111
1192
  throw new NoViableAltException(this);
1112
1193
  }
1113
1194
  }
1114
- this.state = 237;
1195
+ this.state = 243;
1115
1196
  this._errHandler.sync(this);
1116
1197
  _la = this._input.LA(1);
1117
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || ((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 275) !== 0));
1118
- this.state = 239;
1198
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || ((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
1199
+ this.state = 245;
1119
1200
  this.match(CircuitScriptParser.DEDENT);
1120
1201
  }
1121
1202
  }
@@ -1138,7 +1219,7 @@ export default class CircuitScriptParser extends Parser {
1138
1219
  let localctx = new At_block_expressionsContext(this, this._ctx, this.state);
1139
1220
  this.enterRule(localctx, 34, CircuitScriptParser.RULE_at_block_expressions);
1140
1221
  try {
1141
- this.state = 243;
1222
+ this.state = 249;
1142
1223
  this._errHandler.sync(this);
1143
1224
  switch (this._input.LA(1)) {
1144
1225
  case 4:
@@ -1150,22 +1231,24 @@ export default class CircuitScriptParser extends Parser {
1150
1231
  case 17:
1151
1232
  case 18:
1152
1233
  case 19:
1234
+ case 20:
1153
1235
  case 21:
1154
- case 22:
1155
- case 27:
1236
+ case 23:
1237
+ case 24:
1156
1238
  case 29:
1157
- case 35:
1239
+ case 31:
1240
+ case 37:
1158
1241
  this.enterOuterAlt(localctx, 1);
1159
1242
  {
1160
- this.state = 241;
1243
+ this.state = 247;
1161
1244
  this.expression();
1162
1245
  }
1163
1246
  break;
1164
- case 36:
1165
- case 39:
1247
+ case 38:
1248
+ case 41:
1166
1249
  this.enterOuterAlt(localctx, 2);
1167
1250
  {
1168
- this.state = 242;
1251
+ this.state = 248;
1169
1252
  this.at_block_pin_expr();
1170
1253
  }
1171
1254
  break;
@@ -1194,11 +1277,11 @@ export default class CircuitScriptParser extends Parser {
1194
1277
  try {
1195
1278
  this.enterOuterAlt(localctx, 1);
1196
1279
  {
1197
- this.state = 245;
1280
+ this.state = 251;
1198
1281
  this.pin_select_expr2();
1199
- this.state = 246;
1282
+ this.state = 252;
1200
1283
  this.match(CircuitScriptParser.T__0);
1201
- this.state = 249;
1284
+ this.state = 255;
1202
1285
  this._errHandler.sync(this);
1203
1286
  switch (this._input.LA(1)) {
1204
1287
  case 4:
@@ -1210,20 +1293,22 @@ export default class CircuitScriptParser extends Parser {
1210
1293
  case 17:
1211
1294
  case 18:
1212
1295
  case 19:
1296
+ case 20:
1213
1297
  case 21:
1214
- case 22:
1215
- case 27:
1298
+ case 23:
1299
+ case 24:
1216
1300
  case 29:
1217
- case 33:
1301
+ case 31:
1218
1302
  case 35:
1303
+ case 37:
1219
1304
  {
1220
- this.state = 247;
1305
+ this.state = 253;
1221
1306
  this.at_block_pin_expression_simple();
1222
1307
  }
1223
1308
  break;
1224
- case 43:
1309
+ case 45:
1225
1310
  {
1226
- this.state = 248;
1311
+ this.state = 254;
1227
1312
  this.at_block_pin_expression_complex();
1228
1313
  }
1229
1314
  break;
@@ -1253,7 +1338,7 @@ export default class CircuitScriptParser extends Parser {
1253
1338
  try {
1254
1339
  this.enterOuterAlt(localctx, 1);
1255
1340
  {
1256
- this.state = 253;
1341
+ this.state = 259;
1257
1342
  this._errHandler.sync(this);
1258
1343
  switch (this._input.LA(1)) {
1259
1344
  case 4:
@@ -1265,19 +1350,21 @@ export default class CircuitScriptParser extends Parser {
1265
1350
  case 17:
1266
1351
  case 18:
1267
1352
  case 19:
1353
+ case 20:
1268
1354
  case 21:
1269
- case 22:
1270
- case 27:
1355
+ case 23:
1356
+ case 24:
1271
1357
  case 29:
1272
- case 35:
1358
+ case 31:
1359
+ case 37:
1273
1360
  {
1274
- this.state = 251;
1361
+ this.state = 257;
1275
1362
  this.expression();
1276
1363
  }
1277
1364
  break;
1278
- case 33:
1365
+ case 35:
1279
1366
  {
1280
- this.state = 252;
1367
+ this.state = 258;
1281
1368
  this.match(CircuitScriptParser.NOT_CONNECTED);
1282
1369
  }
1283
1370
  break;
@@ -1308,21 +1395,21 @@ export default class CircuitScriptParser extends Parser {
1308
1395
  try {
1309
1396
  this.enterOuterAlt(localctx, 1);
1310
1397
  {
1311
- this.state = 255;
1398
+ this.state = 261;
1312
1399
  this.match(CircuitScriptParser.NEWLINE);
1313
- this.state = 256;
1400
+ this.state = 262;
1314
1401
  this.match(CircuitScriptParser.INDENT);
1315
- this.state = 259;
1402
+ this.state = 265;
1316
1403
  this._errHandler.sync(this);
1317
1404
  _la = this._input.LA(1);
1318
1405
  do {
1319
1406
  {
1320
- this.state = 259;
1407
+ this.state = 265;
1321
1408
  this._errHandler.sync(this);
1322
1409
  switch (this._input.LA(1)) {
1323
- case 43:
1410
+ case 45:
1324
1411
  {
1325
- this.state = 257;
1412
+ this.state = 263;
1326
1413
  this.match(CircuitScriptParser.NEWLINE);
1327
1414
  }
1328
1415
  break;
@@ -1335,13 +1422,15 @@ export default class CircuitScriptParser extends Parser {
1335
1422
  case 17:
1336
1423
  case 18:
1337
1424
  case 19:
1425
+ case 20:
1338
1426
  case 21:
1339
- case 22:
1340
- case 27:
1427
+ case 23:
1428
+ case 24:
1341
1429
  case 29:
1342
- case 35:
1430
+ case 31:
1431
+ case 37:
1343
1432
  {
1344
- this.state = 258;
1433
+ this.state = 264;
1345
1434
  this.expression();
1346
1435
  }
1347
1436
  break;
@@ -1349,11 +1438,11 @@ export default class CircuitScriptParser extends Parser {
1349
1438
  throw new NoViableAltException(this);
1350
1439
  }
1351
1440
  }
1352
- this.state = 261;
1441
+ this.state = 267;
1353
1442
  this._errHandler.sync(this);
1354
1443
  _la = this._input.LA(1);
1355
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la === 35 || _la === 43);
1356
- this.state = 263;
1444
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la === 37 || _la === 45);
1445
+ this.state = 269;
1357
1446
  this.match(CircuitScriptParser.DEDENT);
1358
1447
  }
1359
1448
  }
@@ -1378,7 +1467,7 @@ export default class CircuitScriptParser extends Parser {
1378
1467
  try {
1379
1468
  this.enterOuterAlt(localctx, 1);
1380
1469
  {
1381
- this.state = 265;
1470
+ this.state = 271;
1382
1471
  this.match(CircuitScriptParser.Break);
1383
1472
  }
1384
1473
  }
@@ -1403,11 +1492,11 @@ export default class CircuitScriptParser extends Parser {
1403
1492
  try {
1404
1493
  this.enterOuterAlt(localctx, 1);
1405
1494
  {
1406
- this.state = 267;
1495
+ this.state = 273;
1407
1496
  this.atom_expr();
1408
- this.state = 268;
1497
+ this.state = 274;
1409
1498
  this.match(CircuitScriptParser.T__2);
1410
- this.state = 269;
1499
+ this.state = 275;
1411
1500
  this.data_expr(0);
1412
1501
  }
1413
1502
  }
@@ -1432,11 +1521,11 @@ export default class CircuitScriptParser extends Parser {
1432
1521
  try {
1433
1522
  this.enterOuterAlt(localctx, 1);
1434
1523
  {
1435
- this.state = 271;
1524
+ this.state = 277;
1436
1525
  this.match(CircuitScriptParser.ID);
1437
- this.state = 272;
1526
+ this.state = 278;
1438
1527
  this.match(CircuitScriptParser.T__2);
1439
- this.state = 273;
1528
+ this.state = 279;
1440
1529
  this.data_expr(0);
1441
1530
  }
1442
1531
  }
@@ -1461,46 +1550,46 @@ export default class CircuitScriptParser extends Parser {
1461
1550
  let _la;
1462
1551
  try {
1463
1552
  let _alt;
1464
- this.state = 298;
1553
+ this.state = 304;
1465
1554
  this._errHandler.sync(this);
1466
- switch (this._interp.adaptivePredict(this._input, 29, this._ctx)) {
1555
+ switch (this._interp.adaptivePredict(this._input, 31, this._ctx)) {
1467
1556
  case 1:
1468
1557
  this.enterOuterAlt(localctx, 1);
1469
1558
  {
1470
1559
  {
1471
- this.state = 275;
1560
+ this.state = 281;
1472
1561
  this.data_expr(0);
1473
- this.state = 280;
1562
+ this.state = 286;
1474
1563
  this._errHandler.sync(this);
1475
- _alt = this._interp.adaptivePredict(this._input, 26, this._ctx);
1564
+ _alt = this._interp.adaptivePredict(this._input, 28, this._ctx);
1476
1565
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
1477
1566
  if (_alt === 1) {
1478
1567
  {
1479
1568
  {
1480
- this.state = 276;
1569
+ this.state = 282;
1481
1570
  this.match(CircuitScriptParser.T__1);
1482
- this.state = 277;
1571
+ this.state = 283;
1483
1572
  this.data_expr(0);
1484
1573
  }
1485
1574
  }
1486
1575
  }
1487
- this.state = 282;
1576
+ this.state = 288;
1488
1577
  this._errHandler.sync(this);
1489
- _alt = this._interp.adaptivePredict(this._input, 26, this._ctx);
1578
+ _alt = this._interp.adaptivePredict(this._input, 28, this._ctx);
1490
1579
  }
1491
- this.state = 287;
1580
+ this.state = 293;
1492
1581
  this._errHandler.sync(this);
1493
1582
  _la = this._input.LA(1);
1494
1583
  while (_la === 2) {
1495
1584
  {
1496
1585
  {
1497
- this.state = 283;
1586
+ this.state = 289;
1498
1587
  this.match(CircuitScriptParser.T__1);
1499
- this.state = 284;
1588
+ this.state = 290;
1500
1589
  this.keyword_assignment_expr();
1501
1590
  }
1502
1591
  }
1503
- this.state = 289;
1592
+ this.state = 295;
1504
1593
  this._errHandler.sync(this);
1505
1594
  _la = this._input.LA(1);
1506
1595
  }
@@ -1511,21 +1600,21 @@ export default class CircuitScriptParser extends Parser {
1511
1600
  this.enterOuterAlt(localctx, 2);
1512
1601
  {
1513
1602
  {
1514
- this.state = 290;
1603
+ this.state = 296;
1515
1604
  this.keyword_assignment_expr();
1516
- this.state = 295;
1605
+ this.state = 301;
1517
1606
  this._errHandler.sync(this);
1518
1607
  _la = this._input.LA(1);
1519
1608
  while (_la === 2) {
1520
1609
  {
1521
1610
  {
1522
- this.state = 291;
1611
+ this.state = 297;
1523
1612
  this.match(CircuitScriptParser.T__1);
1524
- this.state = 292;
1613
+ this.state = 298;
1525
1614
  this.keyword_assignment_expr();
1526
1615
  }
1527
1616
  }
1528
- this.state = 297;
1617
+ this.state = 303;
1529
1618
  this._errHandler.sync(this);
1530
1619
  _la = this._input.LA(1);
1531
1620
  }
@@ -1555,11 +1644,11 @@ export default class CircuitScriptParser extends Parser {
1555
1644
  try {
1556
1645
  this.enterOuterAlt(localctx, 1);
1557
1646
  {
1558
- this.state = 300;
1647
+ this.state = 306;
1559
1648
  this.atom_expr();
1560
- this.state = 301;
1649
+ this.state = 307;
1561
1650
  this.match(CircuitScriptParser.T__2);
1562
- this.state = 302;
1651
+ this.state = 308;
1563
1652
  this.data_expr(0);
1564
1653
  }
1565
1654
  }
@@ -1584,13 +1673,13 @@ export default class CircuitScriptParser extends Parser {
1584
1673
  try {
1585
1674
  this.enterOuterAlt(localctx, 1);
1586
1675
  {
1587
- this.state = 304;
1676
+ this.state = 310;
1588
1677
  this.match(CircuitScriptParser.T__3);
1589
- this.state = 305;
1678
+ this.state = 311;
1590
1679
  this.match(CircuitScriptParser.ID);
1591
- this.state = 306;
1680
+ this.state = 312;
1592
1681
  this.match(CircuitScriptParser.T__2);
1593
- this.state = 307;
1682
+ this.state = 313;
1594
1683
  this.data_expr(0);
1595
1684
  }
1596
1685
  }
@@ -1624,46 +1713,46 @@ export default class CircuitScriptParser extends Parser {
1624
1713
  let _alt;
1625
1714
  this.enterOuterAlt(localctx, 1);
1626
1715
  {
1627
- this.state = 323;
1716
+ this.state = 329;
1628
1717
  this._errHandler.sync(this);
1629
- switch (this._interp.adaptivePredict(this._input, 32, this._ctx)) {
1718
+ switch (this._interp.adaptivePredict(this._input, 34, this._ctx)) {
1630
1719
  case 1:
1631
1720
  {
1632
1721
  localctx = new DataExprContext(this, localctx);
1633
1722
  this._ctx = localctx;
1634
1723
  _prevctx = localctx;
1635
1724
  {
1636
- this.state = 311;
1725
+ this.state = 317;
1637
1726
  this._errHandler.sync(this);
1638
- switch (this._interp.adaptivePredict(this._input, 30, this._ctx)) {
1727
+ switch (this._interp.adaptivePredict(this._input, 32, this._ctx)) {
1639
1728
  case 1:
1640
1729
  {
1641
- this.state = 310;
1730
+ this.state = 316;
1642
1731
  this.unary_operator();
1643
1732
  }
1644
1733
  break;
1645
1734
  }
1646
- this.state = 315;
1735
+ this.state = 321;
1647
1736
  this._errHandler.sync(this);
1648
1737
  switch (this._input.LA(1)) {
1649
1738
  case 6:
1650
- case 28:
1651
- case 34:
1739
+ case 30:
1652
1740
  case 36:
1653
- case 37:
1654
1741
  case 38:
1655
1742
  case 39:
1656
1743
  case 40:
1744
+ case 41:
1745
+ case 42:
1657
1746
  {
1658
- this.state = 313;
1747
+ this.state = 319;
1659
1748
  this.value_expr();
1660
1749
  }
1661
1750
  break;
1662
- case 27:
1663
1751
  case 29:
1664
- case 35:
1752
+ case 31:
1753
+ case 37:
1665
1754
  {
1666
- this.state = 314;
1755
+ this.state = 320;
1667
1756
  this.atom_expr();
1668
1757
  }
1669
1758
  break;
@@ -1678,11 +1767,11 @@ export default class CircuitScriptParser extends Parser {
1678
1767
  localctx = new RoundedBracketsExprContext(this, localctx);
1679
1768
  this._ctx = localctx;
1680
1769
  _prevctx = localctx;
1681
- this.state = 317;
1770
+ this.state = 323;
1682
1771
  this.match(CircuitScriptParser.OPEN_PAREN);
1683
- this.state = 318;
1772
+ this.state = 324;
1684
1773
  this.data_expr(0);
1685
- this.state = 319;
1774
+ this.state = 325;
1686
1775
  this.match(CircuitScriptParser.CLOSE_PAREN);
1687
1776
  }
1688
1777
  break;
@@ -1691,7 +1780,7 @@ export default class CircuitScriptParser extends Parser {
1691
1780
  localctx = new DataExprContext(this, localctx);
1692
1781
  this._ctx = localctx;
1693
1782
  _prevctx = localctx;
1694
- this.state = 321;
1783
+ this.state = 327;
1695
1784
  this.create_component_expr();
1696
1785
  }
1697
1786
  break;
@@ -1700,15 +1789,15 @@ export default class CircuitScriptParser extends Parser {
1700
1789
  localctx = new DataExprContext(this, localctx);
1701
1790
  this._ctx = localctx;
1702
1791
  _prevctx = localctx;
1703
- this.state = 322;
1792
+ this.state = 328;
1704
1793
  this.create_graphic_expr();
1705
1794
  }
1706
1795
  break;
1707
1796
  }
1708
1797
  this._ctx.stop = this._input.LT(-1);
1709
- this.state = 337;
1798
+ this.state = 343;
1710
1799
  this._errHandler.sync(this);
1711
- _alt = this._interp.adaptivePredict(this._input, 34, this._ctx);
1800
+ _alt = this._interp.adaptivePredict(this._input, 36, this._ctx);
1712
1801
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
1713
1802
  if (_alt === 1) {
1714
1803
  if (this._parseListeners != null) {
@@ -1716,27 +1805,27 @@ export default class CircuitScriptParser extends Parser {
1716
1805
  }
1717
1806
  _prevctx = localctx;
1718
1807
  {
1719
- this.state = 335;
1808
+ this.state = 341;
1720
1809
  this._errHandler.sync(this);
1721
- switch (this._interp.adaptivePredict(this._input, 33, this._ctx)) {
1810
+ switch (this._interp.adaptivePredict(this._input, 35, this._ctx)) {
1722
1811
  case 1:
1723
1812
  {
1724
1813
  localctx = new MultiplyExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1725
1814
  this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1726
- this.state = 325;
1815
+ this.state = 331;
1727
1816
  if (!(this.precpred(this._ctx, 5))) {
1728
1817
  throw this.createFailedPredicateException("this.precpred(this._ctx, 5)");
1729
1818
  }
1730
- this.state = 326;
1819
+ this.state = 332;
1731
1820
  _la = this._input.LA(1);
1732
- if (!(_la === 29 || _la === 30)) {
1821
+ if (!(_la === 31 || _la === 32)) {
1733
1822
  this._errHandler.recoverInline(this);
1734
1823
  }
1735
1824
  else {
1736
1825
  this._errHandler.reportMatch(this);
1737
1826
  this.consume();
1738
1827
  }
1739
- this.state = 327;
1828
+ this.state = 333;
1740
1829
  this.data_expr(6);
1741
1830
  }
1742
1831
  break;
@@ -1744,20 +1833,20 @@ export default class CircuitScriptParser extends Parser {
1744
1833
  {
1745
1834
  localctx = new AdditionExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1746
1835
  this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1747
- this.state = 328;
1836
+ this.state = 334;
1748
1837
  if (!(this.precpred(this._ctx, 4))) {
1749
1838
  throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");
1750
1839
  }
1751
- this.state = 329;
1840
+ this.state = 335;
1752
1841
  _la = this._input.LA(1);
1753
- if (!(_la === 27 || _la === 28)) {
1842
+ if (!(_la === 29 || _la === 30)) {
1754
1843
  this._errHandler.recoverInline(this);
1755
1844
  }
1756
1845
  else {
1757
1846
  this._errHandler.reportMatch(this);
1758
1847
  this.consume();
1759
1848
  }
1760
- this.state = 330;
1849
+ this.state = 336;
1761
1850
  this.data_expr(5);
1762
1851
  }
1763
1852
  break;
@@ -1765,22 +1854,22 @@ export default class CircuitScriptParser extends Parser {
1765
1854
  {
1766
1855
  localctx = new BinaryOperatorExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1767
1856
  this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1768
- this.state = 331;
1857
+ this.state = 337;
1769
1858
  if (!(this.precpred(this._ctx, 3))) {
1770
1859
  throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
1771
1860
  }
1772
- this.state = 332;
1861
+ this.state = 338;
1773
1862
  this.binary_operator();
1774
- this.state = 333;
1863
+ this.state = 339;
1775
1864
  this.data_expr(4);
1776
1865
  }
1777
1866
  break;
1778
1867
  }
1779
1868
  }
1780
1869
  }
1781
- this.state = 339;
1870
+ this.state = 345;
1782
1871
  this._errHandler.sync(this);
1783
- _alt = this._interp.adaptivePredict(this._input, 34, this._ctx);
1872
+ _alt = this._interp.adaptivePredict(this._input, 36, this._ctx);
1784
1873
  }
1785
1874
  }
1786
1875
  }
@@ -1806,9 +1895,9 @@ export default class CircuitScriptParser extends Parser {
1806
1895
  try {
1807
1896
  this.enterOuterAlt(localctx, 1);
1808
1897
  {
1809
- this.state = 340;
1898
+ this.state = 346;
1810
1899
  _la = this._input.LA(1);
1811
- if (!(_la === 25 || _la === 26)) {
1900
+ if (!(_la === 27 || _la === 28)) {
1812
1901
  this._errHandler.recoverInline(this);
1813
1902
  }
1814
1903
  else {
@@ -1839,9 +1928,9 @@ export default class CircuitScriptParser extends Parser {
1839
1928
  try {
1840
1929
  this.enterOuterAlt(localctx, 1);
1841
1930
  {
1842
- this.state = 342;
1931
+ this.state = 348;
1843
1932
  _la = this._input.LA(1);
1844
- if (!(_la === 24 || _la === 28)) {
1933
+ if (!(_la === 26 || _la === 30)) {
1845
1934
  this._errHandler.recoverInline(this);
1846
1935
  }
1847
1936
  else {
@@ -1870,31 +1959,31 @@ export default class CircuitScriptParser extends Parser {
1870
1959
  this.enterRule(localctx, 60, CircuitScriptParser.RULE_value_expr);
1871
1960
  let _la;
1872
1961
  try {
1873
- this.state = 349;
1962
+ this.state = 355;
1874
1963
  this._errHandler.sync(this);
1875
1964
  switch (this._input.LA(1)) {
1876
- case 28:
1877
- case 34:
1965
+ case 30:
1878
1966
  case 36:
1879
- case 37:
1880
1967
  case 38:
1881
1968
  case 39:
1882
1969
  case 40:
1970
+ case 41:
1971
+ case 42:
1883
1972
  this.enterOuterAlt(localctx, 1);
1884
1973
  {
1885
1974
  {
1886
- this.state = 345;
1975
+ this.state = 351;
1887
1976
  this._errHandler.sync(this);
1888
1977
  _la = this._input.LA(1);
1889
- if (_la === 28) {
1978
+ if (_la === 30) {
1890
1979
  {
1891
- this.state = 344;
1980
+ this.state = 350;
1892
1981
  this.match(CircuitScriptParser.Minus);
1893
1982
  }
1894
1983
  }
1895
- this.state = 347;
1984
+ this.state = 353;
1896
1985
  _la = this._input.LA(1);
1897
- if (!(((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 125) !== 0))) {
1986
+ if (!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 125) !== 0))) {
1898
1987
  this._errHandler.recoverInline(this);
1899
1988
  }
1900
1989
  else {
@@ -1907,7 +1996,7 @@ export default class CircuitScriptParser extends Parser {
1907
1996
  case 6:
1908
1997
  this.enterOuterAlt(localctx, 2);
1909
1998
  {
1910
- this.state = 348;
1999
+ this.state = 354;
1911
2000
  this.blank_expr();
1912
2001
  }
1913
2002
  break;
@@ -1937,40 +2026,40 @@ export default class CircuitScriptParser extends Parser {
1937
2026
  try {
1938
2027
  this.enterOuterAlt(localctx, 1);
1939
2028
  {
1940
- this.state = 351;
2029
+ this.state = 357;
1941
2030
  this.match(CircuitScriptParser.Define);
1942
- this.state = 352;
2031
+ this.state = 358;
1943
2032
  this.match(CircuitScriptParser.ID);
1944
- this.state = 353;
2033
+ this.state = 359;
1945
2034
  this.match(CircuitScriptParser.OPEN_PAREN);
1946
- this.state = 355;
2035
+ this.state = 361;
1947
2036
  this._errHandler.sync(this);
1948
2037
  _la = this._input.LA(1);
1949
- if (_la === 35) {
2038
+ if (_la === 37) {
1950
2039
  {
1951
- this.state = 354;
2040
+ this.state = 360;
1952
2041
  this.function_args_expr();
1953
2042
  }
1954
2043
  }
1955
- this.state = 357;
2044
+ this.state = 363;
1956
2045
  this.match(CircuitScriptParser.CLOSE_PAREN);
1957
- this.state = 358;
2046
+ this.state = 364;
1958
2047
  this.match(CircuitScriptParser.T__0);
1959
- this.state = 359;
2048
+ this.state = 365;
1960
2049
  this.match(CircuitScriptParser.NEWLINE);
1961
- this.state = 360;
2050
+ this.state = 366;
1962
2051
  this.match(CircuitScriptParser.INDENT);
1963
- this.state = 363;
2052
+ this.state = 369;
1964
2053
  this._errHandler.sync(this);
1965
2054
  _la = this._input.LA(1);
1966
2055
  do {
1967
2056
  {
1968
- this.state = 363;
2057
+ this.state = 369;
1969
2058
  this._errHandler.sync(this);
1970
2059
  switch (this._input.LA(1)) {
1971
- case 43:
2060
+ case 45:
1972
2061
  {
1973
- this.state = 361;
2062
+ this.state = 367;
1974
2063
  this.match(CircuitScriptParser.NEWLINE);
1975
2064
  }
1976
2065
  break;
@@ -1986,11 +2075,13 @@ export default class CircuitScriptParser extends Parser {
1986
2075
  case 20:
1987
2076
  case 21:
1988
2077
  case 22:
1989
- case 27:
2078
+ case 23:
2079
+ case 24:
1990
2080
  case 29:
1991
- case 35:
2081
+ case 31:
2082
+ case 37:
1992
2083
  {
1993
- this.state = 362;
2084
+ this.state = 368;
1994
2085
  this.function_expr();
1995
2086
  }
1996
2087
  break;
@@ -1998,11 +2089,11 @@ export default class CircuitScriptParser extends Parser {
1998
2089
  throw new NoViableAltException(this);
1999
2090
  }
2000
2091
  }
2001
- this.state = 365;
2092
+ this.state = 371;
2002
2093
  this._errHandler.sync(this);
2003
2094
  _la = this._input.LA(1);
2004
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 679429904) !== 0) || _la === 35 || _la === 43);
2005
- this.state = 367;
2095
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2717861648) !== 0) || _la === 37 || _la === 45);
2096
+ this.state = 373;
2006
2097
  this.match(CircuitScriptParser.DEDENT);
2007
2098
  }
2008
2099
  }
@@ -2025,7 +2116,7 @@ export default class CircuitScriptParser extends Parser {
2025
2116
  let localctx = new Function_exprContext(this, this._ctx, this.state);
2026
2117
  this.enterRule(localctx, 64, CircuitScriptParser.RULE_function_expr);
2027
2118
  try {
2028
- this.state = 371;
2119
+ this.state = 377;
2029
2120
  this._errHandler.sync(this);
2030
2121
  switch (this._input.LA(1)) {
2031
2122
  case 4:
@@ -2037,21 +2128,23 @@ export default class CircuitScriptParser extends Parser {
2037
2128
  case 17:
2038
2129
  case 18:
2039
2130
  case 19:
2131
+ case 20:
2040
2132
  case 21:
2041
- case 22:
2042
- case 27:
2133
+ case 23:
2134
+ case 24:
2043
2135
  case 29:
2044
- case 35:
2136
+ case 31:
2137
+ case 37:
2045
2138
  this.enterOuterAlt(localctx, 1);
2046
2139
  {
2047
- this.state = 369;
2140
+ this.state = 375;
2048
2141
  this.expression();
2049
2142
  }
2050
2143
  break;
2051
- case 20:
2144
+ case 22:
2052
2145
  this.enterOuterAlt(localctx, 2);
2053
2146
  {
2054
- this.state = 370;
2147
+ this.state = 376;
2055
2148
  this.function_return_expr();
2056
2149
  }
2057
2150
  break;
@@ -2080,49 +2173,49 @@ export default class CircuitScriptParser extends Parser {
2080
2173
  let _la;
2081
2174
  try {
2082
2175
  let _alt;
2083
- this.state = 402;
2176
+ this.state = 408;
2084
2177
  this._errHandler.sync(this);
2085
- switch (this._interp.adaptivePredict(this._input, 44, this._ctx)) {
2178
+ switch (this._interp.adaptivePredict(this._input, 46, this._ctx)) {
2086
2179
  case 1:
2087
2180
  this.enterOuterAlt(localctx, 1);
2088
2181
  {
2089
- this.state = 373;
2182
+ this.state = 379;
2090
2183
  this.match(CircuitScriptParser.ID);
2091
- this.state = 378;
2184
+ this.state = 384;
2092
2185
  this._errHandler.sync(this);
2093
- _alt = this._interp.adaptivePredict(this._input, 41, this._ctx);
2186
+ _alt = this._interp.adaptivePredict(this._input, 43, this._ctx);
2094
2187
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
2095
2188
  if (_alt === 1) {
2096
2189
  {
2097
2190
  {
2098
- this.state = 374;
2191
+ this.state = 380;
2099
2192
  this.match(CircuitScriptParser.T__1);
2100
- this.state = 375;
2193
+ this.state = 381;
2101
2194
  this.match(CircuitScriptParser.ID);
2102
2195
  }
2103
2196
  }
2104
2197
  }
2105
- this.state = 380;
2198
+ this.state = 386;
2106
2199
  this._errHandler.sync(this);
2107
- _alt = this._interp.adaptivePredict(this._input, 41, this._ctx);
2200
+ _alt = this._interp.adaptivePredict(this._input, 43, this._ctx);
2108
2201
  }
2109
- this.state = 387;
2202
+ this.state = 393;
2110
2203
  this._errHandler.sync(this);
2111
2204
  _la = this._input.LA(1);
2112
2205
  while (_la === 2) {
2113
2206
  {
2114
2207
  {
2115
- this.state = 381;
2208
+ this.state = 387;
2116
2209
  this.match(CircuitScriptParser.T__1);
2117
- this.state = 382;
2210
+ this.state = 388;
2118
2211
  this.match(CircuitScriptParser.ID);
2119
- this.state = 383;
2212
+ this.state = 389;
2120
2213
  this.match(CircuitScriptParser.T__2);
2121
- this.state = 384;
2214
+ this.state = 390;
2122
2215
  this.value_expr();
2123
2216
  }
2124
2217
  }
2125
- this.state = 389;
2218
+ this.state = 395;
2126
2219
  this._errHandler.sync(this);
2127
2220
  _la = this._input.LA(1);
2128
2221
  }
@@ -2131,29 +2224,29 @@ export default class CircuitScriptParser extends Parser {
2131
2224
  case 2:
2132
2225
  this.enterOuterAlt(localctx, 2);
2133
2226
  {
2134
- this.state = 390;
2227
+ this.state = 396;
2135
2228
  this.match(CircuitScriptParser.ID);
2136
- this.state = 391;
2229
+ this.state = 397;
2137
2230
  this.match(CircuitScriptParser.T__2);
2138
- this.state = 392;
2231
+ this.state = 398;
2139
2232
  this.value_expr();
2140
- this.state = 399;
2233
+ this.state = 405;
2141
2234
  this._errHandler.sync(this);
2142
2235
  _la = this._input.LA(1);
2143
2236
  while (_la === 2) {
2144
2237
  {
2145
2238
  {
2146
- this.state = 393;
2239
+ this.state = 399;
2147
2240
  this.match(CircuitScriptParser.T__1);
2148
- this.state = 394;
2241
+ this.state = 400;
2149
2242
  this.match(CircuitScriptParser.ID);
2150
- this.state = 395;
2243
+ this.state = 401;
2151
2244
  this.match(CircuitScriptParser.T__2);
2152
- this.state = 396;
2245
+ this.state = 402;
2153
2246
  this.value_expr();
2154
2247
  }
2155
2248
  }
2156
- this.state = 401;
2249
+ this.state = 407;
2157
2250
  this._errHandler.sync(this);
2158
2251
  _la = this._input.LA(1);
2159
2252
  }
@@ -2184,32 +2277,32 @@ export default class CircuitScriptParser extends Parser {
2184
2277
  let _alt;
2185
2278
  this.enterOuterAlt(localctx, 1);
2186
2279
  {
2187
- this.state = 405;
2280
+ this.state = 411;
2188
2281
  this._errHandler.sync(this);
2189
2282
  _la = this._input.LA(1);
2190
- if (_la === 27 || _la === 29) {
2283
+ if (_la === 29 || _la === 31) {
2191
2284
  {
2192
- this.state = 404;
2285
+ this.state = 410;
2193
2286
  this.net_namespace_expr();
2194
2287
  }
2195
2288
  }
2196
- this.state = 407;
2289
+ this.state = 413;
2197
2290
  this.match(CircuitScriptParser.ID);
2198
- this.state = 411;
2291
+ this.state = 417;
2199
2292
  this._errHandler.sync(this);
2200
- _alt = this._interp.adaptivePredict(this._input, 46, this._ctx);
2293
+ _alt = this._interp.adaptivePredict(this._input, 48, this._ctx);
2201
2294
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
2202
2295
  if (_alt === 1) {
2203
2296
  {
2204
2297
  {
2205
- this.state = 408;
2298
+ this.state = 414;
2206
2299
  this.trailer_expr();
2207
2300
  }
2208
2301
  }
2209
2302
  }
2210
- this.state = 413;
2303
+ this.state = 419;
2211
2304
  this._errHandler.sync(this);
2212
- _alt = this._interp.adaptivePredict(this._input, 46, this._ctx);
2305
+ _alt = this._interp.adaptivePredict(this._input, 48, this._ctx);
2213
2306
  }
2214
2307
  }
2215
2308
  }
@@ -2233,33 +2326,33 @@ export default class CircuitScriptParser extends Parser {
2233
2326
  this.enterRule(localctx, 70, CircuitScriptParser.RULE_trailer_expr);
2234
2327
  let _la;
2235
2328
  try {
2236
- this.state = 421;
2329
+ this.state = 427;
2237
2330
  this._errHandler.sync(this);
2238
2331
  switch (this._input.LA(1)) {
2239
- case 31:
2332
+ case 33:
2240
2333
  this.enterOuterAlt(localctx, 1);
2241
2334
  {
2242
- this.state = 414;
2335
+ this.state = 420;
2243
2336
  this.match(CircuitScriptParser.OPEN_PAREN);
2244
- this.state = 416;
2337
+ this.state = 422;
2245
2338
  this._errHandler.sync(this);
2246
2339
  _la = this._input.LA(1);
2247
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3103787072) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 127) !== 0)) {
2340
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3825207360) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & 1017) !== 0)) {
2248
2341
  {
2249
- this.state = 415;
2342
+ this.state = 421;
2250
2343
  this.parameters();
2251
2344
  }
2252
2345
  }
2253
- this.state = 418;
2346
+ this.state = 424;
2254
2347
  this.match(CircuitScriptParser.CLOSE_PAREN);
2255
2348
  }
2256
2349
  break;
2257
2350
  case 5:
2258
2351
  this.enterOuterAlt(localctx, 2);
2259
2352
  {
2260
- this.state = 419;
2353
+ this.state = 425;
2261
2354
  this.match(CircuitScriptParser.T__4);
2262
- this.state = 420;
2355
+ this.state = 426;
2263
2356
  this.match(CircuitScriptParser.ID);
2264
2357
  }
2265
2358
  break;
@@ -2289,23 +2382,23 @@ export default class CircuitScriptParser extends Parser {
2289
2382
  try {
2290
2383
  this.enterOuterAlt(localctx, 1);
2291
2384
  {
2292
- this.state = 424;
2385
+ this.state = 430;
2293
2386
  this._errHandler.sync(this);
2294
2387
  _la = this._input.LA(1);
2295
- if (_la === 27) {
2388
+ if (_la === 29) {
2296
2389
  {
2297
- this.state = 423;
2390
+ this.state = 429;
2298
2391
  this.match(CircuitScriptParser.Addition);
2299
2392
  }
2300
2393
  }
2301
- this.state = 426;
2394
+ this.state = 432;
2302
2395
  this.match(CircuitScriptParser.Divide);
2303
- this.state = 428;
2396
+ this.state = 434;
2304
2397
  this._errHandler.sync(this);
2305
- switch (this._interp.adaptivePredict(this._input, 50, this._ctx)) {
2398
+ switch (this._interp.adaptivePredict(this._input, 52, this._ctx)) {
2306
2399
  case 1:
2307
2400
  {
2308
- this.state = 427;
2401
+ this.state = 433;
2309
2402
  this.data_expr(0);
2310
2403
  }
2311
2404
  break;
@@ -2333,9 +2426,9 @@ export default class CircuitScriptParser extends Parser {
2333
2426
  try {
2334
2427
  this.enterOuterAlt(localctx, 1);
2335
2428
  {
2336
- this.state = 430;
2429
+ this.state = 436;
2337
2430
  this.match(CircuitScriptParser.Return);
2338
- this.state = 431;
2431
+ this.state = 437;
2339
2432
  this.data_expr(0);
2340
2433
  }
2341
2434
  }
@@ -2361,35 +2454,35 @@ export default class CircuitScriptParser extends Parser {
2361
2454
  try {
2362
2455
  this.enterOuterAlt(localctx, 1);
2363
2456
  {
2364
- this.state = 433;
2457
+ this.state = 439;
2365
2458
  this.match(CircuitScriptParser.Create);
2366
- this.state = 434;
2459
+ this.state = 440;
2367
2460
  this.match(CircuitScriptParser.Component);
2368
- this.state = 435;
2461
+ this.state = 441;
2369
2462
  this.match(CircuitScriptParser.T__0);
2370
- this.state = 436;
2463
+ this.state = 442;
2371
2464
  this.match(CircuitScriptParser.NEWLINE);
2372
- this.state = 437;
2465
+ this.state = 443;
2373
2466
  this.match(CircuitScriptParser.INDENT);
2374
- this.state = 440;
2467
+ this.state = 446;
2375
2468
  this._errHandler.sync(this);
2376
2469
  _la = this._input.LA(1);
2377
2470
  do {
2378
2471
  {
2379
- this.state = 440;
2472
+ this.state = 446;
2380
2473
  this._errHandler.sync(this);
2381
2474
  switch (this._input.LA(1)) {
2382
- case 43:
2475
+ case 45:
2383
2476
  {
2384
- this.state = 438;
2477
+ this.state = 444;
2385
2478
  this.match(CircuitScriptParser.NEWLINE);
2386
2479
  }
2387
2480
  break;
2388
- case 35:
2389
- case 36:
2390
- case 39:
2481
+ case 37:
2482
+ case 38:
2483
+ case 41:
2391
2484
  {
2392
- this.state = 439;
2485
+ this.state = 445;
2393
2486
  this.property_expr();
2394
2487
  }
2395
2488
  break;
@@ -2397,11 +2490,11 @@ export default class CircuitScriptParser extends Parser {
2397
2490
  throw new NoViableAltException(this);
2398
2491
  }
2399
2492
  }
2400
- this.state = 442;
2493
+ this.state = 448;
2401
2494
  this._errHandler.sync(this);
2402
2495
  _la = this._input.LA(1);
2403
- } while (((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 275) !== 0));
2404
- this.state = 444;
2496
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
2497
+ this.state = 450;
2405
2498
  this.match(CircuitScriptParser.DEDENT);
2406
2499
  }
2407
2500
  }
@@ -2427,34 +2520,34 @@ export default class CircuitScriptParser extends Parser {
2427
2520
  try {
2428
2521
  this.enterOuterAlt(localctx, 1);
2429
2522
  {
2430
- this.state = 446;
2523
+ this.state = 452;
2431
2524
  this.match(CircuitScriptParser.Create);
2432
- this.state = 447;
2525
+ this.state = 453;
2433
2526
  this.match(CircuitScriptParser.Graphic);
2434
- this.state = 448;
2527
+ this.state = 454;
2435
2528
  this.match(CircuitScriptParser.T__0);
2436
- this.state = 449;
2529
+ this.state = 455;
2437
2530
  this.match(CircuitScriptParser.NEWLINE);
2438
- this.state = 450;
2531
+ this.state = 456;
2439
2532
  this.match(CircuitScriptParser.INDENT);
2440
- this.state = 453;
2533
+ this.state = 459;
2441
2534
  this._errHandler.sync(this);
2442
2535
  _la = this._input.LA(1);
2443
2536
  do {
2444
2537
  {
2445
- this.state = 453;
2538
+ this.state = 459;
2446
2539
  this._errHandler.sync(this);
2447
2540
  switch (this._input.LA(1)) {
2448
- case 43:
2541
+ case 45:
2449
2542
  {
2450
- this.state = 451;
2543
+ this.state = 457;
2451
2544
  this.match(CircuitScriptParser.NEWLINE);
2452
2545
  }
2453
2546
  break;
2454
2547
  case 15:
2455
- case 35:
2548
+ case 37:
2456
2549
  {
2457
- this.state = 452;
2550
+ this.state = 458;
2458
2551
  this.sub_expr();
2459
2552
  }
2460
2553
  break;
@@ -2462,11 +2555,11 @@ export default class CircuitScriptParser extends Parser {
2462
2555
  throw new NoViableAltException(this);
2463
2556
  }
2464
2557
  }
2465
- this.state = 455;
2558
+ this.state = 461;
2466
2559
  this._errHandler.sync(this);
2467
2560
  _la = this._input.LA(1);
2468
- } while (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 269484033) !== 0));
2469
- this.state = 457;
2561
+ } while (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 1077936129) !== 0));
2562
+ this.state = 463;
2470
2563
  this.match(CircuitScriptParser.DEDENT);
2471
2564
  }
2472
2565
  }
@@ -2492,33 +2585,33 @@ export default class CircuitScriptParser extends Parser {
2492
2585
  try {
2493
2586
  this.enterOuterAlt(localctx, 1);
2494
2587
  {
2495
- this.state = 459;
2588
+ this.state = 465;
2496
2589
  _la = this._input.LA(1);
2497
- if (!(_la === 15 || _la === 35)) {
2590
+ if (!(_la === 15 || _la === 37)) {
2498
2591
  this._errHandler.recoverInline(this);
2499
2592
  }
2500
2593
  else {
2501
2594
  this._errHandler.reportMatch(this);
2502
2595
  this.consume();
2503
2596
  }
2504
- this.state = 460;
2505
- this.match(CircuitScriptParser.T__0);
2506
2597
  this.state = 466;
2598
+ this.match(CircuitScriptParser.T__0);
2599
+ this.state = 472;
2507
2600
  this._errHandler.sync(this);
2508
- switch (this._interp.adaptivePredict(this._input, 55, this._ctx)) {
2601
+ switch (this._interp.adaptivePredict(this._input, 57, this._ctx)) {
2509
2602
  case 1:
2510
2603
  {
2511
- this.state = 461;
2604
+ this.state = 467;
2512
2605
  this.parameters();
2513
2606
  }
2514
2607
  break;
2515
2608
  case 2:
2516
2609
  {
2517
- this.state = 462;
2610
+ this.state = 468;
2518
2611
  this.match(CircuitScriptParser.OPEN_PAREN);
2519
- this.state = 463;
2612
+ this.state = 469;
2520
2613
  this.parameters();
2521
- this.state = 464;
2614
+ this.state = 470;
2522
2615
  this.match(CircuitScriptParser.CLOSE_PAREN);
2523
2616
  }
2524
2617
  break;
@@ -2546,11 +2639,11 @@ export default class CircuitScriptParser extends Parser {
2546
2639
  try {
2547
2640
  this.enterOuterAlt(localctx, 1);
2548
2641
  {
2549
- this.state = 468;
2642
+ this.state = 474;
2550
2643
  this.property_key_expr();
2551
- this.state = 469;
2644
+ this.state = 475;
2552
2645
  this.match(CircuitScriptParser.T__0);
2553
- this.state = 470;
2646
+ this.state = 476;
2554
2647
  this.property_value_expr();
2555
2648
  }
2556
2649
  }
@@ -2576,9 +2669,9 @@ export default class CircuitScriptParser extends Parser {
2576
2669
  try {
2577
2670
  this.enterOuterAlt(localctx, 1);
2578
2671
  {
2579
- this.state = 472;
2672
+ this.state = 478;
2580
2673
  _la = this._input.LA(1);
2581
- if (!(((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 19) !== 0))) {
2674
+ if (!(((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 19) !== 0))) {
2582
2675
  this._errHandler.recoverInline(this);
2583
2676
  }
2584
2677
  else {
@@ -2607,36 +2700,36 @@ export default class CircuitScriptParser extends Parser {
2607
2700
  this.enterRule(localctx, 86, CircuitScriptParser.RULE_property_value_expr);
2608
2701
  let _la;
2609
2702
  try {
2610
- this.state = 491;
2703
+ this.state = 497;
2611
2704
  this._errHandler.sync(this);
2612
2705
  switch (this._input.LA(1)) {
2613
- case 43:
2706
+ case 45:
2614
2707
  localctx = new Nested_propertiesContext(this, localctx);
2615
2708
  this.enterOuterAlt(localctx, 1);
2616
2709
  {
2617
- this.state = 474;
2710
+ this.state = 480;
2618
2711
  this.match(CircuitScriptParser.NEWLINE);
2619
- this.state = 475;
2712
+ this.state = 481;
2620
2713
  this.match(CircuitScriptParser.INDENT);
2621
- this.state = 478;
2714
+ this.state = 484;
2622
2715
  this._errHandler.sync(this);
2623
2716
  _la = this._input.LA(1);
2624
2717
  do {
2625
2718
  {
2626
- this.state = 478;
2719
+ this.state = 484;
2627
2720
  this._errHandler.sync(this);
2628
2721
  switch (this._input.LA(1)) {
2629
- case 43:
2722
+ case 45:
2630
2723
  {
2631
- this.state = 476;
2724
+ this.state = 482;
2632
2725
  this.match(CircuitScriptParser.NEWLINE);
2633
2726
  }
2634
2727
  break;
2635
- case 35:
2636
- case 36:
2637
- case 39:
2728
+ case 37:
2729
+ case 38:
2730
+ case 41:
2638
2731
  {
2639
- this.state = 477;
2732
+ this.state = 483;
2640
2733
  this.property_expr();
2641
2734
  }
2642
2735
  break;
@@ -2644,46 +2737,46 @@ export default class CircuitScriptParser extends Parser {
2644
2737
  throw new NoViableAltException(this);
2645
2738
  }
2646
2739
  }
2647
- this.state = 480;
2740
+ this.state = 486;
2648
2741
  this._errHandler.sync(this);
2649
2742
  _la = this._input.LA(1);
2650
- } while (((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 275) !== 0));
2651
- this.state = 482;
2743
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
2744
+ this.state = 488;
2652
2745
  this.match(CircuitScriptParser.DEDENT);
2653
2746
  }
2654
2747
  break;
2655
2748
  case 6:
2656
2749
  case 11:
2657
- case 24:
2658
- case 27:
2659
- case 28:
2750
+ case 26:
2660
2751
  case 29:
2752
+ case 30:
2661
2753
  case 31:
2662
- case 34:
2663
- case 35:
2754
+ case 33:
2664
2755
  case 36:
2665
2756
  case 37:
2666
2757
  case 38:
2667
2758
  case 39:
2668
2759
  case 40:
2760
+ case 41:
2761
+ case 42:
2669
2762
  localctx = new Single_line_propertyContext(this, localctx);
2670
2763
  this.enterOuterAlt(localctx, 2);
2671
2764
  {
2672
- this.state = 483;
2765
+ this.state = 489;
2673
2766
  this.data_expr(0);
2674
- this.state = 488;
2767
+ this.state = 494;
2675
2768
  this._errHandler.sync(this);
2676
2769
  _la = this._input.LA(1);
2677
2770
  while (_la === 2) {
2678
2771
  {
2679
2772
  {
2680
- this.state = 484;
2773
+ this.state = 490;
2681
2774
  this.match(CircuitScriptParser.T__1);
2682
- this.state = 485;
2775
+ this.state = 491;
2683
2776
  this.data_expr(0);
2684
2777
  }
2685
2778
  }
2686
- this.state = 490;
2779
+ this.state = 496;
2687
2780
  this._errHandler.sync(this);
2688
2781
  _la = this._input.LA(1);
2689
2782
  }
@@ -2714,11 +2807,11 @@ export default class CircuitScriptParser extends Parser {
2714
2807
  try {
2715
2808
  this.enterOuterAlt(localctx, 1);
2716
2809
  {
2717
- this.state = 493;
2810
+ this.state = 499;
2718
2811
  this.match(CircuitScriptParser.T__5);
2719
- this.state = 494;
2812
+ this.state = 500;
2720
2813
  this.match(CircuitScriptParser.INTEGER_VALUE);
2721
- this.state = 495;
2814
+ this.state = 501;
2722
2815
  this.match(CircuitScriptParser.T__6);
2723
2816
  }
2724
2817
  }
@@ -2745,20 +2838,20 @@ export default class CircuitScriptParser extends Parser {
2745
2838
  let _alt;
2746
2839
  this.enterOuterAlt(localctx, 1);
2747
2840
  {
2748
- this.state = 497;
2841
+ this.state = 503;
2749
2842
  this.match(CircuitScriptParser.Wire);
2750
- this.state = 498;
2843
+ this.state = 504;
2751
2844
  this.match(CircuitScriptParser.ID);
2752
- this.state = 502;
2845
+ this.state = 508;
2753
2846
  this._errHandler.sync(this);
2754
- _alt = this._interp.adaptivePredict(this._input, 60, this._ctx);
2847
+ _alt = this._interp.adaptivePredict(this._input, 62, this._ctx);
2755
2848
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
2756
2849
  if (_alt === 1) {
2757
2850
  {
2758
2851
  {
2759
- this.state = 499;
2852
+ this.state = 505;
2760
2853
  _la = this._input.LA(1);
2761
- if (!(_la === 35 || _la === 36)) {
2854
+ if (!(_la === 37 || _la === 38)) {
2762
2855
  this._errHandler.recoverInline(this);
2763
2856
  }
2764
2857
  else {
@@ -2768,9 +2861,9 @@ export default class CircuitScriptParser extends Parser {
2768
2861
  }
2769
2862
  }
2770
2863
  }
2771
- this.state = 504;
2864
+ this.state = 510;
2772
2865
  this._errHandler.sync(this);
2773
- _alt = this._interp.adaptivePredict(this._input, 60, this._ctx);
2866
+ _alt = this._interp.adaptivePredict(this._input, 62, this._ctx);
2774
2867
  }
2775
2868
  }
2776
2869
  }
@@ -2795,9 +2888,9 @@ export default class CircuitScriptParser extends Parser {
2795
2888
  try {
2796
2889
  this.enterOuterAlt(localctx, 1);
2797
2890
  {
2798
- this.state = 505;
2891
+ this.state = 511;
2799
2892
  this.match(CircuitScriptParser.Point);
2800
- this.state = 506;
2893
+ this.state = 512;
2801
2894
  this.match(CircuitScriptParser.ID);
2802
2895
  }
2803
2896
  }
@@ -2822,9 +2915,9 @@ export default class CircuitScriptParser extends Parser {
2822
2915
  try {
2823
2916
  this.enterOuterAlt(localctx, 1);
2824
2917
  {
2825
- this.state = 508;
2918
+ this.state = 514;
2826
2919
  this.match(CircuitScriptParser.Import);
2827
- this.state = 509;
2920
+ this.state = 515;
2828
2921
  this.match(CircuitScriptParser.ID);
2829
2922
  }
2830
2923
  }
@@ -2850,25 +2943,25 @@ export default class CircuitScriptParser extends Parser {
2850
2943
  try {
2851
2944
  this.enterOuterAlt(localctx, 1);
2852
2945
  {
2853
- this.state = 511;
2946
+ this.state = 517;
2854
2947
  this.match(CircuitScriptParser.T__7);
2855
- this.state = 512;
2948
+ this.state = 518;
2856
2949
  this.match(CircuitScriptParser.T__0);
2857
- this.state = 513;
2950
+ this.state = 519;
2858
2951
  this.match(CircuitScriptParser.NEWLINE);
2859
- this.state = 514;
2952
+ this.state = 520;
2860
2953
  this.match(CircuitScriptParser.INDENT);
2861
- this.state = 517;
2954
+ this.state = 523;
2862
2955
  this._errHandler.sync(this);
2863
2956
  _la = this._input.LA(1);
2864
2957
  do {
2865
2958
  {
2866
- this.state = 517;
2959
+ this.state = 523;
2867
2960
  this._errHandler.sync(this);
2868
2961
  switch (this._input.LA(1)) {
2869
- case 43:
2962
+ case 45:
2870
2963
  {
2871
- this.state = 515;
2964
+ this.state = 521;
2872
2965
  this.match(CircuitScriptParser.NEWLINE);
2873
2966
  }
2874
2967
  break;
@@ -2881,13 +2974,15 @@ export default class CircuitScriptParser extends Parser {
2881
2974
  case 17:
2882
2975
  case 18:
2883
2976
  case 19:
2977
+ case 20:
2884
2978
  case 21:
2885
- case 22:
2886
- case 27:
2979
+ case 23:
2980
+ case 24:
2887
2981
  case 29:
2888
- case 35:
2982
+ case 31:
2983
+ case 37:
2889
2984
  {
2890
- this.state = 516;
2985
+ this.state = 522;
2891
2986
  this.expression();
2892
2987
  }
2893
2988
  break;
@@ -2895,11 +2990,11 @@ export default class CircuitScriptParser extends Parser {
2895
2990
  throw new NoViableAltException(this);
2896
2991
  }
2897
2992
  }
2898
- this.state = 519;
2993
+ this.state = 525;
2899
2994
  this._errHandler.sync(this);
2900
2995
  _la = this._input.LA(1);
2901
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 678381328) !== 0) || _la === 35 || _la === 43);
2902
- this.state = 521;
2996
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la === 37 || _la === 45);
2997
+ this.state = 527;
2903
2998
  this.match(CircuitScriptParser.DEDENT);
2904
2999
  }
2905
3000
  }
@@ -2936,7 +3031,7 @@ export default class CircuitScriptParser extends Parser {
2936
3031
  }
2937
3032
  return true;
2938
3033
  }
2939
- static _serializedATN = [4, 1, 46, 524, 2, 0, 7, 0, 2,
3034
+ static _serializedATN = [4, 1, 48, 530, 2, 0, 7, 0, 2,
2940
3035
  1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2,
2941
3036
  10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17,
2942
3037
  7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7,
@@ -2949,167 +3044,169 @@ export default class CircuitScriptParser extends Parser {
2949
3044
  12, 3, 137, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 4, 4, 148, 8, 4, 11, 4, 12, 4, 149, 1, 4,
2950
3045
  1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 3, 6, 160, 8, 6, 1, 6, 3, 6, 163, 8, 6, 1, 7, 1, 7, 1, 7, 3, 7,
2951
3046
  168, 8, 7, 1, 8, 1, 8, 3, 8, 172, 8, 8, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 3, 11, 182,
2952
- 8, 11, 1, 12, 1, 12, 1, 12, 1, 12, 5, 12, 188, 8, 12, 10, 12, 12, 12, 191, 9, 12, 1, 12, 3, 12, 194,
2953
- 8, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 5, 13, 202, 8, 13, 10, 13, 12, 13, 205, 9, 13, 1,
2954
- 13, 1, 13, 1, 13, 1, 13, 1, 13, 4, 13, 212, 8, 13, 11, 13, 12, 13, 213, 1, 13, 1, 13, 1, 14, 1, 14,
2955
- 1, 14, 1, 14, 1, 14, 5, 14, 223, 8, 14, 10, 14, 12, 14, 226, 9, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1,
2956
- 16, 1, 16, 1, 16, 1, 16, 4, 16, 236, 8, 16, 11, 16, 12, 16, 237, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17,
2957
- 244, 8, 17, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 250, 8, 18, 1, 19, 1, 19, 3, 19, 254, 8, 19, 1, 20,
2958
- 1, 20, 1, 20, 1, 20, 4, 20, 260, 8, 20, 11, 20, 12, 20, 261, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1,
2959
- 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 5, 24, 279, 8, 24, 10, 24, 12,
2960
- 24, 282, 9, 24, 1, 24, 1, 24, 5, 24, 286, 8, 24, 10, 24, 12, 24, 289, 9, 24, 1, 24, 1, 24, 1, 24,
2961
- 5, 24, 294, 8, 24, 10, 24, 12, 24, 297, 9, 24, 3, 24, 299, 8, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1,
2962
- 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 3, 27, 312, 8, 27, 1, 27, 1, 27, 3, 27, 316, 8, 27,
2963
- 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27, 324, 8, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1,
2964
- 27, 1, 27, 1, 27, 1, 27, 1, 27, 5, 27, 336, 8, 27, 10, 27, 12, 27, 339, 9, 27, 1, 28, 1, 28, 1, 29,
2965
- 1, 29, 1, 30, 3, 30, 346, 8, 30, 1, 30, 1, 30, 3, 30, 350, 8, 30, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31,
2966
- 356, 8, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 4, 31, 364, 8, 31, 11, 31, 12, 31, 365, 1,
2967
- 31, 1, 31, 1, 32, 1, 32, 3, 32, 372, 8, 32, 1, 33, 1, 33, 1, 33, 5, 33, 377, 8, 33, 10, 33, 12, 33,
2968
- 380, 9, 33, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 386, 8, 33, 10, 33, 12, 33, 389, 9, 33, 1, 33, 1,
2969
- 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 398, 8, 33, 10, 33, 12, 33, 401, 9, 33, 3, 33, 403,
2970
- 8, 33, 1, 34, 3, 34, 406, 8, 34, 1, 34, 1, 34, 5, 34, 410, 8, 34, 10, 34, 12, 34, 413, 9, 34, 1,
2971
- 35, 1, 35, 3, 35, 417, 8, 35, 1, 35, 1, 35, 1, 35, 3, 35, 422, 8, 35, 1, 36, 3, 36, 425, 8, 36, 1,
2972
- 36, 1, 36, 3, 36, 429, 8, 36, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38,
2973
- 4, 38, 441, 8, 38, 11, 38, 12, 38, 442, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1,
2974
- 39, 4, 39, 454, 8, 39, 11, 39, 12, 39, 455, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40,
2975
- 1, 40, 3, 40, 467, 8, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 4,
2976
- 43, 479, 8, 43, 11, 43, 12, 43, 480, 1, 43, 1, 43, 1, 43, 1, 43, 5, 43, 487, 8, 43, 10, 43, 12,
2977
- 43, 490, 9, 43, 3, 43, 492, 8, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 5, 45, 501, 8,
2978
- 45, 10, 45, 12, 45, 504, 9, 45, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1,
2979
- 48, 1, 48, 1, 48, 4, 48, 518, 8, 48, 11, 48, 12, 48, 519, 1, 48, 1, 48, 1, 48, 0, 1, 54, 49, 0, 2,
2980
- 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52,
2981
- 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 0, 10,
2982
- 1, 0, 35, 36, 2, 0, 36, 36, 39, 39, 2, 0, 33, 33, 36, 36, 1, 0, 29, 30, 1, 0, 27, 28, 1, 0, 25, 26,
2983
- 2, 0, 24, 24, 28, 28, 2, 0, 34, 34, 36, 40, 2, 0, 15, 15, 35, 35, 2, 0, 35, 36, 39, 39, 554, 0, 100,
2984
- 1, 0, 0, 0, 2, 122, 1, 0, 0, 0, 4, 125, 1, 0, 0, 0, 6, 129, 1, 0, 0, 0, 8, 141, 1, 0, 0, 0, 10, 153,
2985
- 1, 0, 0, 0, 12, 159, 1, 0, 0, 0, 14, 164, 1, 0, 0, 0, 16, 171, 1, 0, 0, 0, 18, 173, 1, 0, 0, 0, 20,
2986
- 176, 1, 0, 0, 0, 22, 178, 1, 0, 0, 0, 24, 183, 1, 0, 0, 0, 26, 195, 1, 0, 0, 0, 28, 217, 1, 0, 0, 0,
2987
- 30, 227, 1, 0, 0, 0, 32, 229, 1, 0, 0, 0, 34, 243, 1, 0, 0, 0, 36, 245, 1, 0, 0, 0, 38, 253, 1, 0,
2988
- 0, 0, 40, 255, 1, 0, 0, 0, 42, 265, 1, 0, 0, 0, 44, 267, 1, 0, 0, 0, 46, 271, 1, 0, 0, 0, 48, 298,
2989
- 1, 0, 0, 0, 50, 300, 1, 0, 0, 0, 52, 304, 1, 0, 0, 0, 54, 323, 1, 0, 0, 0, 56, 340, 1, 0, 0, 0, 58,
2990
- 342, 1, 0, 0, 0, 60, 349, 1, 0, 0, 0, 62, 351, 1, 0, 0, 0, 64, 371, 1, 0, 0, 0, 66, 402, 1, 0, 0, 0,
2991
- 68, 405, 1, 0, 0, 0, 70, 421, 1, 0, 0, 0, 72, 424, 1, 0, 0, 0, 74, 430, 1, 0, 0, 0, 76, 433, 1, 0,
2992
- 0, 0, 78, 446, 1, 0, 0, 0, 80, 459, 1, 0, 0, 0, 82, 468, 1, 0, 0, 0, 84, 472, 1, 0, 0, 0, 86, 491,
2993
- 1, 0, 0, 0, 88, 493, 1, 0, 0, 0, 90, 497, 1, 0, 0, 0, 92, 505, 1, 0, 0, 0, 94, 508, 1, 0, 0, 0, 96,
2994
- 511, 1, 0, 0, 0, 98, 101, 3, 2, 1, 0, 99, 101, 5, 43, 0, 0, 100, 98, 1, 0, 0, 0, 100, 99, 1, 0, 0,
2995
- 0, 101, 102, 1, 0, 0, 0, 102, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 105,
2996
- 5, 0, 0, 1, 105, 1, 1, 0, 0, 0, 106, 123, 3, 14, 7, 0, 107, 123, 3, 24, 12, 0, 108, 123, 3, 22, 11,
2997
- 0, 109, 123, 3, 44, 22, 0, 110, 123, 3, 50, 25, 0, 111, 123, 3, 8, 4, 0, 112, 123, 3, 52, 26, 0,
2998
- 113, 123, 3, 42, 21, 0, 114, 123, 3, 62, 31, 0, 115, 123, 3, 90, 45, 0, 116, 123, 3, 92, 46, 0,
2999
- 117, 123, 3, 94, 47, 0, 118, 123, 3, 96, 48, 0, 119, 123, 3, 68, 34, 0, 120, 123, 3, 32, 16, 0,
3000
- 121, 123, 3, 4, 2, 0, 122, 106, 1, 0, 0, 0, 122, 107, 1, 0, 0, 0, 122, 108, 1, 0, 0, 0, 122, 109,
3001
- 1, 0, 0, 0, 122, 110, 1, 0, 0, 0, 122, 111, 1, 0, 0, 0, 122, 112, 1, 0, 0, 0, 122, 113, 1, 0, 0, 0,
3002
- 122, 114, 1, 0, 0, 0, 122, 115, 1, 0, 0, 0, 122, 116, 1, 0, 0, 0, 122, 117, 1, 0, 0, 0, 122, 118,
3003
- 1, 0, 0, 0, 122, 119, 1, 0, 0, 0, 122, 120, 1, 0, 0, 0, 122, 121, 1, 0, 0, 0, 123, 3, 1, 0, 0, 0, 124,
3004
- 126, 3, 6, 3, 0, 125, 124, 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127, 125, 1, 0, 0, 0, 127, 128, 1, 0,
3005
- 0, 0, 128, 5, 1, 0, 0, 0, 129, 130, 5, 10, 0, 0, 130, 131, 5, 1, 0, 0, 131, 132, 5, 43, 0, 0, 132,
3006
- 135, 5, 45, 0, 0, 133, 136, 5, 43, 0, 0, 134, 136, 3, 2, 1, 0, 135, 133, 1, 0, 0, 0, 135, 134, 1,
3007
- 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 139, 1, 0, 0, 0, 139,
3008
- 140, 5, 46, 0, 0, 140, 7, 1, 0, 0, 0, 141, 142, 3, 68, 34, 0, 142, 143, 5, 1, 0, 0, 143, 144, 5,
3009
- 43, 0, 0, 144, 147, 5, 45, 0, 0, 145, 148, 5, 43, 0, 0, 146, 148, 3, 10, 5, 0, 147, 145, 1, 0, 0,
3010
- 0, 147, 146, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 147, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 151,
3011
- 1, 0, 0, 0, 151, 152, 5, 46, 0, 0, 152, 9, 1, 0, 0, 0, 153, 154, 7, 0, 0, 0, 154, 155, 5, 1, 0, 0,
3012
- 155, 156, 3, 60, 30, 0, 156, 11, 1, 0, 0, 0, 157, 160, 3, 54, 27, 0, 158, 160, 3, 44, 22, 0, 159,
3013
- 157, 1, 0, 0, 0, 159, 158, 1, 0, 0, 0, 160, 162, 1, 0, 0, 0, 161, 163, 3, 18, 9, 0, 162, 161, 1,
3014
- 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 13, 1, 0, 0, 0, 164, 165, 5, 16, 0, 0, 165, 167, 3, 12, 6, 0,
3015
- 166, 168, 5, 35, 0, 0, 167, 166, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 15, 1, 0, 0, 0, 169, 172,
3016
- 3, 12, 6, 0, 170, 172, 3, 18, 9, 0, 171, 169, 1, 0, 0, 0, 171, 170, 1, 0, 0, 0, 172, 17, 1, 0, 0,
3017
- 0, 173, 174, 5, 15, 0, 0, 174, 175, 7, 1, 0, 0, 175, 19, 1, 0, 0, 0, 176, 177, 7, 1, 0, 0, 177, 21,
3018
- 1, 0, 0, 0, 178, 179, 5, 17, 0, 0, 179, 181, 3, 16, 8, 0, 180, 182, 5, 35, 0, 0, 181, 180, 1, 0,
3019
- 0, 0, 181, 182, 1, 0, 0, 0, 182, 23, 1, 0, 0, 0, 183, 184, 5, 18, 0, 0, 184, 189, 3, 16, 8, 0, 185,
3020
- 186, 5, 2, 0, 0, 186, 188, 3, 16, 8, 0, 187, 185, 1, 0, 0, 0, 188, 191, 1, 0, 0, 0, 189, 187, 1,
3021
- 0, 0, 0, 189, 190, 1, 0, 0, 0, 190, 193, 1, 0, 0, 0, 191, 189, 1, 0, 0, 0, 192, 194, 5, 35, 0, 0,
3022
- 193, 192, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 25, 1, 0, 0, 0, 195, 196, 5, 17, 0, 0, 196, 197,
3023
- 3, 16, 8, 0, 197, 198, 5, 18, 0, 0, 198, 203, 3, 16, 8, 0, 199, 200, 5, 2, 0, 0, 200, 202, 3, 16,
3024
- 8, 0, 201, 199, 1, 0, 0, 0, 202, 205, 1, 0, 0, 0, 203, 201, 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204,
3025
- 206, 1, 0, 0, 0, 205, 203, 1, 0, 0, 0, 206, 207, 5, 1, 0, 0, 207, 208, 5, 43, 0, 0, 208, 211, 5,
3026
- 45, 0, 0, 209, 212, 5, 43, 0, 0, 210, 212, 3, 28, 14, 0, 211, 209, 1, 0, 0, 0, 211, 210, 1, 0, 0,
3027
- 0, 212, 213, 1, 0, 0, 0, 213, 211, 1, 0, 0, 0, 213, 214, 1, 0, 0, 0, 214, 215, 1, 0, 0, 0, 215, 216,
3028
- 5, 46, 0, 0, 216, 27, 1, 0, 0, 0, 217, 218, 3, 20, 10, 0, 218, 219, 5, 1, 0, 0, 219, 224, 3, 30,
3029
- 15, 0, 220, 221, 5, 2, 0, 0, 221, 223, 3, 30, 15, 0, 222, 220, 1, 0, 0, 0, 223, 226, 1, 0, 0, 0,
3030
- 224, 222, 1, 0, 0, 0, 224, 225, 1, 0, 0, 0, 225, 29, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 227, 228,
3031
- 7, 2, 0, 0, 228, 31, 1, 0, 0, 0, 229, 230, 3, 22, 11, 0, 230, 231, 5, 1, 0, 0, 231, 232, 5, 43, 0,
3032
- 0, 232, 235, 5, 45, 0, 0, 233, 236, 5, 43, 0, 0, 234, 236, 3, 34, 17, 0, 235, 233, 1, 0, 0, 0, 235,
3033
- 234, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 235, 1, 0, 0, 0, 237, 238, 1, 0, 0, 0, 238, 239, 1, 0,
3034
- 0, 0, 239, 240, 5, 46, 0, 0, 240, 33, 1, 0, 0, 0, 241, 244, 3, 2, 1, 0, 242, 244, 3, 36, 18, 0, 243,
3035
- 241, 1, 0, 0, 0, 243, 242, 1, 0, 0, 0, 244, 35, 1, 0, 0, 0, 245, 246, 3, 20, 10, 0, 246, 249, 5,
3036
- 1, 0, 0, 247, 250, 3, 38, 19, 0, 248, 250, 3, 40, 20, 0, 249, 247, 1, 0, 0, 0, 249, 248, 1, 0, 0,
3037
- 0, 250, 37, 1, 0, 0, 0, 251, 254, 3, 2, 1, 0, 252, 254, 5, 33, 0, 0, 253, 251, 1, 0, 0, 0, 253, 252,
3038
- 1, 0, 0, 0, 254, 39, 1, 0, 0, 0, 255, 256, 5, 43, 0, 0, 256, 259, 5, 45, 0, 0, 257, 260, 5, 43, 0,
3039
- 0, 258, 260, 3, 2, 1, 0, 259, 257, 1, 0, 0, 0, 259, 258, 1, 0, 0, 0, 260, 261, 1, 0, 0, 0, 261, 259,
3040
- 1, 0, 0, 0, 261, 262, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 264, 5, 46, 0, 0, 264, 41, 1, 0, 0, 0,
3041
- 265, 266, 5, 9, 0, 0, 266, 43, 1, 0, 0, 0, 267, 268, 3, 68, 34, 0, 268, 269, 5, 3, 0, 0, 269, 270,
3042
- 3, 54, 27, 0, 270, 45, 1, 0, 0, 0, 271, 272, 5, 35, 0, 0, 272, 273, 5, 3, 0, 0, 273, 274, 3, 54,
3043
- 27, 0, 274, 47, 1, 0, 0, 0, 275, 280, 3, 54, 27, 0, 276, 277, 5, 2, 0, 0, 277, 279, 3, 54, 27, 0,
3044
- 278, 276, 1, 0, 0, 0, 279, 282, 1, 0, 0, 0, 280, 278, 1, 0, 0, 0, 280, 281, 1, 0, 0, 0, 281, 287,
3045
- 1, 0, 0, 0, 282, 280, 1, 0, 0, 0, 283, 284, 5, 2, 0, 0, 284, 286, 3, 46, 23, 0, 285, 283, 1, 0, 0,
3046
- 0, 286, 289, 1, 0, 0, 0, 287, 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 299, 1, 0, 0, 0, 289, 287,
3047
- 1, 0, 0, 0, 290, 295, 3, 46, 23, 0, 291, 292, 5, 2, 0, 0, 292, 294, 3, 46, 23, 0, 293, 291, 1, 0,
3048
- 0, 0, 294, 297, 1, 0, 0, 0, 295, 293, 1, 0, 0, 0, 295, 296, 1, 0, 0, 0, 296, 299, 1, 0, 0, 0, 297,
3049
- 295, 1, 0, 0, 0, 298, 275, 1, 0, 0, 0, 298, 290, 1, 0, 0, 0, 299, 49, 1, 0, 0, 0, 300, 301, 3, 68,
3050
- 34, 0, 301, 302, 5, 3, 0, 0, 302, 303, 3, 54, 27, 0, 303, 51, 1, 0, 0, 0, 304, 305, 5, 4, 0, 0, 305,
3051
- 306, 5, 35, 0, 0, 306, 307, 5, 3, 0, 0, 307, 308, 3, 54, 27, 0, 308, 53, 1, 0, 0, 0, 309, 311, 6,
3052
- 27, -1, 0, 310, 312, 3, 58, 29, 0, 311, 310, 1, 0, 0, 0, 311, 312, 1, 0, 0, 0, 312, 315, 1, 0, 0,
3053
- 0, 313, 316, 3, 60, 30, 0, 314, 316, 3, 68, 34, 0, 315, 313, 1, 0, 0, 0, 315, 314, 1, 0, 0, 0, 316,
3054
- 324, 1, 0, 0, 0, 317, 318, 5, 31, 0, 0, 318, 319, 3, 54, 27, 0, 319, 320, 5, 32, 0, 0, 320, 324,
3055
- 1, 0, 0, 0, 321, 324, 3, 76, 38, 0, 322, 324, 3, 78, 39, 0, 323, 309, 1, 0, 0, 0, 323, 317, 1, 0,
3056
- 0, 0, 323, 321, 1, 0, 0, 0, 323, 322, 1, 0, 0, 0, 324, 337, 1, 0, 0, 0, 325, 326, 10, 5, 0, 0, 326,
3057
- 327, 7, 3, 0, 0, 327, 336, 3, 54, 27, 6, 328, 329, 10, 4, 0, 0, 329, 330, 7, 4, 0, 0, 330, 336,
3058
- 3, 54, 27, 5, 331, 332, 10, 3, 0, 0, 332, 333, 3, 56, 28, 0, 333, 334, 3, 54, 27, 4, 334, 336,
3059
- 1, 0, 0, 0, 335, 325, 1, 0, 0, 0, 335, 328, 1, 0, 0, 0, 335, 331, 1, 0, 0, 0, 336, 339, 1, 0, 0, 0,
3060
- 337, 335, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 55, 1, 0, 0, 0, 339, 337, 1, 0, 0, 0, 340, 341,
3061
- 7, 5, 0, 0, 341, 57, 1, 0, 0, 0, 342, 343, 7, 6, 0, 0, 343, 59, 1, 0, 0, 0, 344, 346, 5, 28, 0, 0,
3062
- 345, 344, 1, 0, 0, 0, 345, 346, 1, 0, 0, 0, 346, 347, 1, 0, 0, 0, 347, 350, 7, 7, 0, 0, 348, 350,
3063
- 3, 88, 44, 0, 349, 345, 1, 0, 0, 0, 349, 348, 1, 0, 0, 0, 350, 61, 1, 0, 0, 0, 351, 352, 5, 21, 0,
3064
- 0, 352, 353, 5, 35, 0, 0, 353, 355, 5, 31, 0, 0, 354, 356, 3, 66, 33, 0, 355, 354, 1, 0, 0, 0, 355,
3065
- 356, 1, 0, 0, 0, 356, 357, 1, 0, 0, 0, 357, 358, 5, 32, 0, 0, 358, 359, 5, 1, 0, 0, 359, 360, 5,
3066
- 43, 0, 0, 360, 363, 5, 45, 0, 0, 361, 364, 5, 43, 0, 0, 362, 364, 3, 64, 32, 0, 363, 361, 1, 0,
3067
- 0, 0, 363, 362, 1, 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 363, 1, 0, 0, 0, 365, 366, 1, 0, 0, 0, 366,
3068
- 367, 1, 0, 0, 0, 367, 368, 5, 46, 0, 0, 368, 63, 1, 0, 0, 0, 369, 372, 3, 2, 1, 0, 370, 372, 3, 74,
3069
- 37, 0, 371, 369, 1, 0, 0, 0, 371, 370, 1, 0, 0, 0, 372, 65, 1, 0, 0, 0, 373, 378, 5, 35, 0, 0, 374,
3070
- 375, 5, 2, 0, 0, 375, 377, 5, 35, 0, 0, 376, 374, 1, 0, 0, 0, 377, 380, 1, 0, 0, 0, 378, 376, 1,
3071
- 0, 0, 0, 378, 379, 1, 0, 0, 0, 379, 387, 1, 0, 0, 0, 380, 378, 1, 0, 0, 0, 381, 382, 5, 2, 0, 0, 382,
3072
- 383, 5, 35, 0, 0, 383, 384, 5, 3, 0, 0, 384, 386, 3, 60, 30, 0, 385, 381, 1, 0, 0, 0, 386, 389,
3073
- 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 403, 1, 0, 0, 0, 389, 387, 1, 0, 0, 0,
3074
- 390, 391, 5, 35, 0, 0, 391, 392, 5, 3, 0, 0, 392, 399, 3, 60, 30, 0, 393, 394, 5, 2, 0, 0, 394,
3075
- 395, 5, 35, 0, 0, 395, 396, 5, 3, 0, 0, 396, 398, 3, 60, 30, 0, 397, 393, 1, 0, 0, 0, 398, 401,
3076
- 1, 0, 0, 0, 399, 397, 1, 0, 0, 0, 399, 400, 1, 0, 0, 0, 400, 403, 1, 0, 0, 0, 401, 399, 1, 0, 0, 0,
3077
- 402, 373, 1, 0, 0, 0, 402, 390, 1, 0, 0, 0, 403, 67, 1, 0, 0, 0, 404, 406, 3, 72, 36, 0, 405, 404,
3078
- 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 411, 5, 35, 0, 0, 408, 410, 3, 70, 35,
3079
- 0, 409, 408, 1, 0, 0, 0, 410, 413, 1, 0, 0, 0, 411, 409, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 69,
3080
- 1, 0, 0, 0, 413, 411, 1, 0, 0, 0, 414, 416, 5, 31, 0, 0, 415, 417, 3, 48, 24, 0, 416, 415, 1, 0,
3081
- 0, 0, 416, 417, 1, 0, 0, 0, 417, 418, 1, 0, 0, 0, 418, 422, 5, 32, 0, 0, 419, 420, 5, 5, 0, 0, 420,
3082
- 422, 5, 35, 0, 0, 421, 414, 1, 0, 0, 0, 421, 419, 1, 0, 0, 0, 422, 71, 1, 0, 0, 0, 423, 425, 5, 27,
3083
- 0, 0, 424, 423, 1, 0, 0, 0, 424, 425, 1, 0, 0, 0, 425, 426, 1, 0, 0, 0, 426, 428, 5, 29, 0, 0, 427,
3084
- 429, 3, 54, 27, 0, 428, 427, 1, 0, 0, 0, 428, 429, 1, 0, 0, 0, 429, 73, 1, 0, 0, 0, 430, 431, 5,
3085
- 20, 0, 0, 431, 432, 3, 54, 27, 0, 432, 75, 1, 0, 0, 0, 433, 434, 5, 11, 0, 0, 434, 435, 5, 12, 0,
3086
- 0, 435, 436, 5, 1, 0, 0, 436, 437, 5, 43, 0, 0, 437, 440, 5, 45, 0, 0, 438, 441, 5, 43, 0, 0, 439,
3087
- 441, 3, 82, 41, 0, 440, 438, 1, 0, 0, 0, 440, 439, 1, 0, 0, 0, 441, 442, 1, 0, 0, 0, 442, 440, 1,
3088
- 0, 0, 0, 442, 443, 1, 0, 0, 0, 443, 444, 1, 0, 0, 0, 444, 445, 5, 46, 0, 0, 445, 77, 1, 0, 0, 0, 446,
3089
- 447, 5, 11, 0, 0, 447, 448, 5, 13, 0, 0, 448, 449, 5, 1, 0, 0, 449, 450, 5, 43, 0, 0, 450, 453,
3090
- 5, 45, 0, 0, 451, 454, 5, 43, 0, 0, 452, 454, 3, 80, 40, 0, 453, 451, 1, 0, 0, 0, 453, 452, 1, 0,
3091
- 0, 0, 454, 455, 1, 0, 0, 0, 455, 453, 1, 0, 0, 0, 455, 456, 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457,
3092
- 458, 5, 46, 0, 0, 458, 79, 1, 0, 0, 0, 459, 460, 7, 8, 0, 0, 460, 466, 5, 1, 0, 0, 461, 467, 3, 48,
3093
- 24, 0, 462, 463, 5, 31, 0, 0, 463, 464, 3, 48, 24, 0, 464, 465, 5, 32, 0, 0, 465, 467, 1, 0, 0,
3094
- 0, 466, 461, 1, 0, 0, 0, 466, 462, 1, 0, 0, 0, 467, 81, 1, 0, 0, 0, 468, 469, 3, 84, 42, 0, 469,
3095
- 470, 5, 1, 0, 0, 470, 471, 3, 86, 43, 0, 471, 83, 1, 0, 0, 0, 472, 473, 7, 9, 0, 0, 473, 85, 1, 0,
3096
- 0, 0, 474, 475, 5, 43, 0, 0, 475, 478, 5, 45, 0, 0, 476, 479, 5, 43, 0, 0, 477, 479, 3, 82, 41,
3097
- 0, 478, 476, 1, 0, 0, 0, 478, 477, 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 478, 1, 0, 0, 0, 480, 481,
3098
- 1, 0, 0, 0, 481, 482, 1, 0, 0, 0, 482, 492, 5, 46, 0, 0, 483, 488, 3, 54, 27, 0, 484, 485, 5, 2,
3099
- 0, 0, 485, 487, 3, 54, 27, 0, 486, 484, 1, 0, 0, 0, 487, 490, 1, 0, 0, 0, 488, 486, 1, 0, 0, 0, 488,
3100
- 489, 1, 0, 0, 0, 489, 492, 1, 0, 0, 0, 490, 488, 1, 0, 0, 0, 491, 474, 1, 0, 0, 0, 491, 483, 1, 0,
3101
- 0, 0, 492, 87, 1, 0, 0, 0, 493, 494, 5, 6, 0, 0, 494, 495, 5, 36, 0, 0, 495, 496, 5, 7, 0, 0, 496,
3102
- 89, 1, 0, 0, 0, 497, 498, 5, 14, 0, 0, 498, 502, 5, 35, 0, 0, 499, 501, 7, 0, 0, 0, 500, 499, 1,
3103
- 0, 0, 0, 501, 504, 1, 0, 0, 0, 502, 500, 1, 0, 0, 0, 502, 503, 1, 0, 0, 0, 503, 91, 1, 0, 0, 0, 504,
3104
- 502, 1, 0, 0, 0, 505, 506, 5, 19, 0, 0, 506, 507, 5, 35, 0, 0, 507, 93, 1, 0, 0, 0, 508, 509, 5,
3105
- 22, 0, 0, 509, 510, 5, 35, 0, 0, 510, 95, 1, 0, 0, 0, 511, 512, 5, 8, 0, 0, 512, 513, 5, 1, 0, 0,
3106
- 513, 514, 5, 43, 0, 0, 514, 517, 5, 45, 0, 0, 515, 518, 5, 43, 0, 0, 516, 518, 3, 2, 1, 0, 517,
3107
- 515, 1, 0, 0, 0, 517, 516, 1, 0, 0, 0, 518, 519, 1, 0, 0, 0, 519, 517, 1, 0, 0, 0, 519, 520, 1, 0,
3108
- 0, 0, 520, 521, 1, 0, 0, 0, 521, 522, 5, 46, 0, 0, 522, 97, 1, 0, 0, 0, 63, 100, 102, 122, 127,
3109
- 135, 137, 147, 149, 159, 162, 167, 171, 181, 189, 193, 203, 211, 213, 224, 235, 237, 243,
3110
- 249, 253, 259, 261, 280, 287, 295, 298, 311, 315, 323, 335, 337, 345, 349, 355, 363, 365,
3111
- 371, 378, 387, 399, 402, 405, 411, 416, 421, 424, 428, 440, 442, 453, 455, 466, 478, 480,
3112
- 488, 491, 502, 517, 519];
3047
+ 8, 11, 1, 11, 3, 11, 185, 8, 11, 1, 12, 1, 12, 1, 12, 1, 12, 5, 12, 191, 8, 12, 10, 12, 12, 12, 194,
3048
+ 9, 12, 1, 12, 3, 12, 197, 8, 12, 1, 12, 3, 12, 200, 8, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13,
3049
+ 5, 13, 208, 8, 13, 10, 13, 12, 13, 211, 9, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 4, 13, 218, 8,
3050
+ 13, 11, 13, 12, 13, 219, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 229, 8, 14, 10,
3051
+ 14, 12, 14, 232, 9, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 4, 16, 242, 8, 16,
3052
+ 11, 16, 12, 16, 243, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 250, 8, 17, 1, 18, 1, 18, 1, 18, 1, 18, 3,
3053
+ 18, 256, 8, 18, 1, 19, 1, 19, 3, 19, 260, 8, 19, 1, 20, 1, 20, 1, 20, 1, 20, 4, 20, 266, 8, 20, 11,
3054
+ 20, 12, 20, 267, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23,
3055
+ 1, 24, 1, 24, 1, 24, 5, 24, 285, 8, 24, 10, 24, 12, 24, 288, 9, 24, 1, 24, 1, 24, 5, 24, 292, 8,
3056
+ 24, 10, 24, 12, 24, 295, 9, 24, 1, 24, 1, 24, 1, 24, 5, 24, 300, 8, 24, 10, 24, 12, 24, 303, 9,
3057
+ 24, 3, 24, 305, 8, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27,
3058
+ 3, 27, 318, 8, 27, 1, 27, 1, 27, 3, 27, 322, 8, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27,
3059
+ 330, 8, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 5, 27, 342, 8, 27,
3060
+ 10, 27, 12, 27, 345, 9, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 3, 30, 352, 8, 30, 1, 30, 1, 30, 3,
3061
+ 30, 356, 8, 30, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 362, 8, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31,
3062
+ 1, 31, 4, 31, 370, 8, 31, 11, 31, 12, 31, 371, 1, 31, 1, 31, 1, 32, 1, 32, 3, 32, 378, 8, 32, 1,
3063
+ 33, 1, 33, 1, 33, 5, 33, 383, 8, 33, 10, 33, 12, 33, 386, 9, 33, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33,
3064
+ 392, 8, 33, 10, 33, 12, 33, 395, 9, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 404,
3065
+ 8, 33, 10, 33, 12, 33, 407, 9, 33, 3, 33, 409, 8, 33, 1, 34, 3, 34, 412, 8, 34, 1, 34, 1, 34, 5,
3066
+ 34, 416, 8, 34, 10, 34, 12, 34, 419, 9, 34, 1, 35, 1, 35, 3, 35, 423, 8, 35, 1, 35, 1, 35, 1, 35,
3067
+ 3, 35, 428, 8, 35, 1, 36, 3, 36, 431, 8, 36, 1, 36, 1, 36, 3, 36, 435, 8, 36, 1, 37, 1, 37, 1, 37,
3068
+ 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 4, 38, 447, 8, 38, 11, 38, 12, 38, 448, 1, 38, 1,
3069
+ 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 4, 39, 460, 8, 39, 11, 39, 12, 39, 461, 1, 39,
3070
+ 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 3, 40, 473, 8, 40, 1, 41, 1, 41, 1, 41, 1,
3071
+ 41, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 4, 43, 485, 8, 43, 11, 43, 12, 43, 486, 1, 43, 1, 43,
3072
+ 1, 43, 1, 43, 5, 43, 493, 8, 43, 10, 43, 12, 43, 496, 9, 43, 3, 43, 498, 8, 43, 1, 44, 1, 44, 1,
3073
+ 44, 1, 44, 1, 45, 1, 45, 1, 45, 5, 45, 507, 8, 45, 10, 45, 12, 45, 510, 9, 45, 1, 46, 1, 46, 1, 46,
3074
+ 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 4, 48, 524, 8, 48, 11, 48, 12, 48,
3075
+ 525, 1, 48, 1, 48, 1, 48, 0, 1, 54, 49, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,
3076
+ 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78,
3077
+ 80, 82, 84, 86, 88, 90, 92, 94, 96, 0, 11, 2, 0, 10, 10, 19, 21, 1, 0, 37, 38, 2, 0, 38, 38, 41,
3078
+ 41, 2, 0, 35, 35, 38, 38, 1, 0, 31, 32, 1, 0, 29, 30, 1, 0, 27, 28, 2, 0, 26, 26, 30, 30, 2, 0, 36,
3079
+ 36, 38, 42, 2, 0, 15, 15, 37, 37, 2, 0, 37, 38, 41, 41, 562, 0, 100, 1, 0, 0, 0, 2, 122, 1, 0, 0,
3080
+ 0, 4, 125, 1, 0, 0, 0, 6, 129, 1, 0, 0, 0, 8, 141, 1, 0, 0, 0, 10, 153, 1, 0, 0, 0, 12, 159, 1, 0, 0,
3081
+ 0, 14, 164, 1, 0, 0, 0, 16, 171, 1, 0, 0, 0, 18, 173, 1, 0, 0, 0, 20, 176, 1, 0, 0, 0, 22, 178, 1,
3082
+ 0, 0, 0, 24, 186, 1, 0, 0, 0, 26, 201, 1, 0, 0, 0, 28, 223, 1, 0, 0, 0, 30, 233, 1, 0, 0, 0, 32, 235,
3083
+ 1, 0, 0, 0, 34, 249, 1, 0, 0, 0, 36, 251, 1, 0, 0, 0, 38, 259, 1, 0, 0, 0, 40, 261, 1, 0, 0, 0, 42,
3084
+ 271, 1, 0, 0, 0, 44, 273, 1, 0, 0, 0, 46, 277, 1, 0, 0, 0, 48, 304, 1, 0, 0, 0, 50, 306, 1, 0, 0, 0,
3085
+ 52, 310, 1, 0, 0, 0, 54, 329, 1, 0, 0, 0, 56, 346, 1, 0, 0, 0, 58, 348, 1, 0, 0, 0, 60, 355, 1, 0,
3086
+ 0, 0, 62, 357, 1, 0, 0, 0, 64, 377, 1, 0, 0, 0, 66, 408, 1, 0, 0, 0, 68, 411, 1, 0, 0, 0, 70, 427,
3087
+ 1, 0, 0, 0, 72, 430, 1, 0, 0, 0, 74, 436, 1, 0, 0, 0, 76, 439, 1, 0, 0, 0, 78, 452, 1, 0, 0, 0, 80,
3088
+ 465, 1, 0, 0, 0, 82, 474, 1, 0, 0, 0, 84, 478, 1, 0, 0, 0, 86, 497, 1, 0, 0, 0, 88, 499, 1, 0, 0, 0,
3089
+ 90, 503, 1, 0, 0, 0, 92, 511, 1, 0, 0, 0, 94, 514, 1, 0, 0, 0, 96, 517, 1, 0, 0, 0, 98, 101, 3, 2,
3090
+ 1, 0, 99, 101, 5, 45, 0, 0, 100, 98, 1, 0, 0, 0, 100, 99, 1, 0, 0, 0, 101, 102, 1, 0, 0, 0, 102, 100,
3091
+ 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 105, 5, 0, 0, 1, 105, 1, 1, 0, 0, 0, 106,
3092
+ 123, 3, 14, 7, 0, 107, 123, 3, 24, 12, 0, 108, 123, 3, 22, 11, 0, 109, 123, 3, 44, 22, 0, 110,
3093
+ 123, 3, 50, 25, 0, 111, 123, 3, 8, 4, 0, 112, 123, 3, 52, 26, 0, 113, 123, 3, 42, 21, 0, 114, 123,
3094
+ 3, 62, 31, 0, 115, 123, 3, 90, 45, 0, 116, 123, 3, 94, 47, 0, 117, 123, 3, 96, 48, 0, 118, 123,
3095
+ 3, 68, 34, 0, 119, 123, 3, 32, 16, 0, 120, 123, 3, 4, 2, 0, 121, 123, 3, 92, 46, 0, 122, 106, 1,
3096
+ 0, 0, 0, 122, 107, 1, 0, 0, 0, 122, 108, 1, 0, 0, 0, 122, 109, 1, 0, 0, 0, 122, 110, 1, 0, 0, 0, 122,
3097
+ 111, 1, 0, 0, 0, 122, 112, 1, 0, 0, 0, 122, 113, 1, 0, 0, 0, 122, 114, 1, 0, 0, 0, 122, 115, 1, 0,
3098
+ 0, 0, 122, 116, 1, 0, 0, 0, 122, 117, 1, 0, 0, 0, 122, 118, 1, 0, 0, 0, 122, 119, 1, 0, 0, 0, 122,
3099
+ 120, 1, 0, 0, 0, 122, 121, 1, 0, 0, 0, 123, 3, 1, 0, 0, 0, 124, 126, 3, 6, 3, 0, 125, 124, 1, 0, 0,
3100
+ 0, 126, 127, 1, 0, 0, 0, 127, 125, 1, 0, 0, 0, 127, 128, 1, 0, 0, 0, 128, 5, 1, 0, 0, 0, 129, 130,
3101
+ 7, 0, 0, 0, 130, 131, 5, 1, 0, 0, 131, 132, 5, 45, 0, 0, 132, 135, 5, 47, 0, 0, 133, 136, 5, 45,
3102
+ 0, 0, 134, 136, 3, 2, 1, 0, 135, 133, 1, 0, 0, 0, 135, 134, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137,
3103
+ 135, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 139, 1, 0, 0, 0, 139, 140, 5, 48, 0, 0, 140, 7, 1, 0,
3104
+ 0, 0, 141, 142, 3, 68, 34, 0, 142, 143, 5, 1, 0, 0, 143, 144, 5, 45, 0, 0, 144, 147, 5, 47, 0, 0,
3105
+ 145, 148, 5, 45, 0, 0, 146, 148, 3, 10, 5, 0, 147, 145, 1, 0, 0, 0, 147, 146, 1, 0, 0, 0, 148, 149,
3106
+ 1, 0, 0, 0, 149, 147, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 152, 5, 48, 0,
3107
+ 0, 152, 9, 1, 0, 0, 0, 153, 154, 7, 1, 0, 0, 154, 155, 5, 1, 0, 0, 155, 156, 3, 60, 30, 0, 156, 11,
3108
+ 1, 0, 0, 0, 157, 160, 3, 54, 27, 0, 158, 160, 3, 44, 22, 0, 159, 157, 1, 0, 0, 0, 159, 158, 1, 0,
3109
+ 0, 0, 160, 162, 1, 0, 0, 0, 161, 163, 3, 18, 9, 0, 162, 161, 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163,
3110
+ 13, 1, 0, 0, 0, 164, 165, 5, 16, 0, 0, 165, 167, 3, 12, 6, 0, 166, 168, 5, 37, 0, 0, 167, 166, 1,
3111
+ 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 15, 1, 0, 0, 0, 169, 172, 3, 12, 6, 0, 170, 172, 3, 18, 9, 0,
3112
+ 171, 169, 1, 0, 0, 0, 171, 170, 1, 0, 0, 0, 172, 17, 1, 0, 0, 0, 173, 174, 5, 15, 0, 0, 174, 175,
3113
+ 7, 2, 0, 0, 175, 19, 1, 0, 0, 0, 176, 177, 7, 2, 0, 0, 177, 21, 1, 0, 0, 0, 178, 184, 5, 17, 0, 0,
3114
+ 179, 181, 3, 16, 8, 0, 180, 182, 5, 37, 0, 0, 181, 180, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 185,
3115
+ 1, 0, 0, 0, 183, 185, 5, 19, 0, 0, 184, 179, 1, 0, 0, 0, 184, 183, 1, 0, 0, 0, 185, 23, 1, 0, 0, 0,
3116
+ 186, 199, 5, 18, 0, 0, 187, 192, 3, 16, 8, 0, 188, 189, 5, 2, 0, 0, 189, 191, 3, 16, 8, 0, 190,
3117
+ 188, 1, 0, 0, 0, 191, 194, 1, 0, 0, 0, 192, 190, 1, 0, 0, 0, 192, 193, 1, 0, 0, 0, 193, 196, 1, 0,
3118
+ 0, 0, 194, 192, 1, 0, 0, 0, 195, 197, 5, 37, 0, 0, 196, 195, 1, 0, 0, 0, 196, 197, 1, 0, 0, 0, 197,
3119
+ 200, 1, 0, 0, 0, 198, 200, 5, 19, 0, 0, 199, 187, 1, 0, 0, 0, 199, 198, 1, 0, 0, 0, 200, 25, 1, 0,
3120
+ 0, 0, 201, 202, 5, 17, 0, 0, 202, 203, 3, 16, 8, 0, 203, 204, 5, 18, 0, 0, 204, 209, 3, 16, 8, 0,
3121
+ 205, 206, 5, 2, 0, 0, 206, 208, 3, 16, 8, 0, 207, 205, 1, 0, 0, 0, 208, 211, 1, 0, 0, 0, 209, 207,
3122
+ 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 212, 1, 0, 0, 0, 211, 209, 1, 0, 0, 0, 212, 213, 5, 1, 0, 0,
3123
+ 213, 214, 5, 45, 0, 0, 214, 217, 5, 47, 0, 0, 215, 218, 5, 45, 0, 0, 216, 218, 3, 28, 14, 0, 217,
3124
+ 215, 1, 0, 0, 0, 217, 216, 1, 0, 0, 0, 218, 219, 1, 0, 0, 0, 219, 217, 1, 0, 0, 0, 219, 220, 1, 0,
3125
+ 0, 0, 220, 221, 1, 0, 0, 0, 221, 222, 5, 48, 0, 0, 222, 27, 1, 0, 0, 0, 223, 224, 3, 20, 10, 0, 224,
3126
+ 225, 5, 1, 0, 0, 225, 230, 3, 30, 15, 0, 226, 227, 5, 2, 0, 0, 227, 229, 3, 30, 15, 0, 228, 226,
3127
+ 1, 0, 0, 0, 229, 232, 1, 0, 0, 0, 230, 228, 1, 0, 0, 0, 230, 231, 1, 0, 0, 0, 231, 29, 1, 0, 0, 0,
3128
+ 232, 230, 1, 0, 0, 0, 233, 234, 7, 3, 0, 0, 234, 31, 1, 0, 0, 0, 235, 236, 3, 22, 11, 0, 236, 237,
3129
+ 5, 1, 0, 0, 237, 238, 5, 45, 0, 0, 238, 241, 5, 47, 0, 0, 239, 242, 5, 45, 0, 0, 240, 242, 3, 34,
3130
+ 17, 0, 241, 239, 1, 0, 0, 0, 241, 240, 1, 0, 0, 0, 242, 243, 1, 0, 0, 0, 243, 241, 1, 0, 0, 0, 243,
3131
+ 244, 1, 0, 0, 0, 244, 245, 1, 0, 0, 0, 245, 246, 5, 48, 0, 0, 246, 33, 1, 0, 0, 0, 247, 250, 3, 2,
3132
+ 1, 0, 248, 250, 3, 36, 18, 0, 249, 247, 1, 0, 0, 0, 249, 248, 1, 0, 0, 0, 250, 35, 1, 0, 0, 0, 251,
3133
+ 252, 3, 20, 10, 0, 252, 255, 5, 1, 0, 0, 253, 256, 3, 38, 19, 0, 254, 256, 3, 40, 20, 0, 255, 253,
3134
+ 1, 0, 0, 0, 255, 254, 1, 0, 0, 0, 256, 37, 1, 0, 0, 0, 257, 260, 3, 2, 1, 0, 258, 260, 5, 35, 0, 0,
3135
+ 259, 257, 1, 0, 0, 0, 259, 258, 1, 0, 0, 0, 260, 39, 1, 0, 0, 0, 261, 262, 5, 45, 0, 0, 262, 265,
3136
+ 5, 47, 0, 0, 263, 266, 5, 45, 0, 0, 264, 266, 3, 2, 1, 0, 265, 263, 1, 0, 0, 0, 265, 264, 1, 0, 0,
3137
+ 0, 266, 267, 1, 0, 0, 0, 267, 265, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 269, 1, 0, 0, 0, 269, 270,
3138
+ 5, 48, 0, 0, 270, 41, 1, 0, 0, 0, 271, 272, 5, 9, 0, 0, 272, 43, 1, 0, 0, 0, 273, 274, 3, 68, 34,
3139
+ 0, 274, 275, 5, 3, 0, 0, 275, 276, 3, 54, 27, 0, 276, 45, 1, 0, 0, 0, 277, 278, 5, 37, 0, 0, 278,
3140
+ 279, 5, 3, 0, 0, 279, 280, 3, 54, 27, 0, 280, 47, 1, 0, 0, 0, 281, 286, 3, 54, 27, 0, 282, 283,
3141
+ 5, 2, 0, 0, 283, 285, 3, 54, 27, 0, 284, 282, 1, 0, 0, 0, 285, 288, 1, 0, 0, 0, 286, 284, 1, 0, 0,
3142
+ 0, 286, 287, 1, 0, 0, 0, 287, 293, 1, 0, 0, 0, 288, 286, 1, 0, 0, 0, 289, 290, 5, 2, 0, 0, 290, 292,
3143
+ 3, 46, 23, 0, 291, 289, 1, 0, 0, 0, 292, 295, 1, 0, 0, 0, 293, 291, 1, 0, 0, 0, 293, 294, 1, 0, 0,
3144
+ 0, 294, 305, 1, 0, 0, 0, 295, 293, 1, 0, 0, 0, 296, 301, 3, 46, 23, 0, 297, 298, 5, 2, 0, 0, 298,
3145
+ 300, 3, 46, 23, 0, 299, 297, 1, 0, 0, 0, 300, 303, 1, 0, 0, 0, 301, 299, 1, 0, 0, 0, 301, 302, 1,
3146
+ 0, 0, 0, 302, 305, 1, 0, 0, 0, 303, 301, 1, 0, 0, 0, 304, 281, 1, 0, 0, 0, 304, 296, 1, 0, 0, 0, 305,
3147
+ 49, 1, 0, 0, 0, 306, 307, 3, 68, 34, 0, 307, 308, 5, 3, 0, 0, 308, 309, 3, 54, 27, 0, 309, 51, 1,
3148
+ 0, 0, 0, 310, 311, 5, 4, 0, 0, 311, 312, 5, 37, 0, 0, 312, 313, 5, 3, 0, 0, 313, 314, 3, 54, 27,
3149
+ 0, 314, 53, 1, 0, 0, 0, 315, 317, 6, 27, -1, 0, 316, 318, 3, 58, 29, 0, 317, 316, 1, 0, 0, 0, 317,
3150
+ 318, 1, 0, 0, 0, 318, 321, 1, 0, 0, 0, 319, 322, 3, 60, 30, 0, 320, 322, 3, 68, 34, 0, 321, 319,
3151
+ 1, 0, 0, 0, 321, 320, 1, 0, 0, 0, 322, 330, 1, 0, 0, 0, 323, 324, 5, 33, 0, 0, 324, 325, 3, 54, 27,
3152
+ 0, 325, 326, 5, 34, 0, 0, 326, 330, 1, 0, 0, 0, 327, 330, 3, 76, 38, 0, 328, 330, 3, 78, 39, 0,
3153
+ 329, 315, 1, 0, 0, 0, 329, 323, 1, 0, 0, 0, 329, 327, 1, 0, 0, 0, 329, 328, 1, 0, 0, 0, 330, 343,
3154
+ 1, 0, 0, 0, 331, 332, 10, 5, 0, 0, 332, 333, 7, 4, 0, 0, 333, 342, 3, 54, 27, 6, 334, 335, 10, 4,
3155
+ 0, 0, 335, 336, 7, 5, 0, 0, 336, 342, 3, 54, 27, 5, 337, 338, 10, 3, 0, 0, 338, 339, 3, 56, 28,
3156
+ 0, 339, 340, 3, 54, 27, 4, 340, 342, 1, 0, 0, 0, 341, 331, 1, 0, 0, 0, 341, 334, 1, 0, 0, 0, 341,
3157
+ 337, 1, 0, 0, 0, 342, 345, 1, 0, 0, 0, 343, 341, 1, 0, 0, 0, 343, 344, 1, 0, 0, 0, 344, 55, 1, 0,
3158
+ 0, 0, 345, 343, 1, 0, 0, 0, 346, 347, 7, 6, 0, 0, 347, 57, 1, 0, 0, 0, 348, 349, 7, 7, 0, 0, 349,
3159
+ 59, 1, 0, 0, 0, 350, 352, 5, 30, 0, 0, 351, 350, 1, 0, 0, 0, 351, 352, 1, 0, 0, 0, 352, 353, 1, 0,
3160
+ 0, 0, 353, 356, 7, 8, 0, 0, 354, 356, 3, 88, 44, 0, 355, 351, 1, 0, 0, 0, 355, 354, 1, 0, 0, 0, 356,
3161
+ 61, 1, 0, 0, 0, 357, 358, 5, 23, 0, 0, 358, 359, 5, 37, 0, 0, 359, 361, 5, 33, 0, 0, 360, 362, 3,
3162
+ 66, 33, 0, 361, 360, 1, 0, 0, 0, 361, 362, 1, 0, 0, 0, 362, 363, 1, 0, 0, 0, 363, 364, 5, 34, 0,
3163
+ 0, 364, 365, 5, 1, 0, 0, 365, 366, 5, 45, 0, 0, 366, 369, 5, 47, 0, 0, 367, 370, 5, 45, 0, 0, 368,
3164
+ 370, 3, 64, 32, 0, 369, 367, 1, 0, 0, 0, 369, 368, 1, 0, 0, 0, 370, 371, 1, 0, 0, 0, 371, 369, 1,
3165
+ 0, 0, 0, 371, 372, 1, 0, 0, 0, 372, 373, 1, 0, 0, 0, 373, 374, 5, 48, 0, 0, 374, 63, 1, 0, 0, 0, 375,
3166
+ 378, 3, 2, 1, 0, 376, 378, 3, 74, 37, 0, 377, 375, 1, 0, 0, 0, 377, 376, 1, 0, 0, 0, 378, 65, 1,
3167
+ 0, 0, 0, 379, 384, 5, 37, 0, 0, 380, 381, 5, 2, 0, 0, 381, 383, 5, 37, 0, 0, 382, 380, 1, 0, 0, 0,
3168
+ 383, 386, 1, 0, 0, 0, 384, 382, 1, 0, 0, 0, 384, 385, 1, 0, 0, 0, 385, 393, 1, 0, 0, 0, 386, 384,
3169
+ 1, 0, 0, 0, 387, 388, 5, 2, 0, 0, 388, 389, 5, 37, 0, 0, 389, 390, 5, 3, 0, 0, 390, 392, 3, 60, 30,
3170
+ 0, 391, 387, 1, 0, 0, 0, 392, 395, 1, 0, 0, 0, 393, 391, 1, 0, 0, 0, 393, 394, 1, 0, 0, 0, 394, 409,
3171
+ 1, 0, 0, 0, 395, 393, 1, 0, 0, 0, 396, 397, 5, 37, 0, 0, 397, 398, 5, 3, 0, 0, 398, 405, 3, 60, 30,
3172
+ 0, 399, 400, 5, 2, 0, 0, 400, 401, 5, 37, 0, 0, 401, 402, 5, 3, 0, 0, 402, 404, 3, 60, 30, 0, 403,
3173
+ 399, 1, 0, 0, 0, 404, 407, 1, 0, 0, 0, 405, 403, 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 409, 1, 0,
3174
+ 0, 0, 407, 405, 1, 0, 0, 0, 408, 379, 1, 0, 0, 0, 408, 396, 1, 0, 0, 0, 409, 67, 1, 0, 0, 0, 410,
3175
+ 412, 3, 72, 36, 0, 411, 410, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 417, 5,
3176
+ 37, 0, 0, 414, 416, 3, 70, 35, 0, 415, 414, 1, 0, 0, 0, 416, 419, 1, 0, 0, 0, 417, 415, 1, 0, 0,
3177
+ 0, 417, 418, 1, 0, 0, 0, 418, 69, 1, 0, 0, 0, 419, 417, 1, 0, 0, 0, 420, 422, 5, 33, 0, 0, 421, 423,
3178
+ 3, 48, 24, 0, 422, 421, 1, 0, 0, 0, 422, 423, 1, 0, 0, 0, 423, 424, 1, 0, 0, 0, 424, 428, 5, 34,
3179
+ 0, 0, 425, 426, 5, 5, 0, 0, 426, 428, 5, 37, 0, 0, 427, 420, 1, 0, 0, 0, 427, 425, 1, 0, 0, 0, 428,
3180
+ 71, 1, 0, 0, 0, 429, 431, 5, 29, 0, 0, 430, 429, 1, 0, 0, 0, 430, 431, 1, 0, 0, 0, 431, 432, 1, 0,
3181
+ 0, 0, 432, 434, 5, 31, 0, 0, 433, 435, 3, 54, 27, 0, 434, 433, 1, 0, 0, 0, 434, 435, 1, 0, 0, 0,
3182
+ 435, 73, 1, 0, 0, 0, 436, 437, 5, 22, 0, 0, 437, 438, 3, 54, 27, 0, 438, 75, 1, 0, 0, 0, 439, 440,
3183
+ 5, 11, 0, 0, 440, 441, 5, 12, 0, 0, 441, 442, 5, 1, 0, 0, 442, 443, 5, 45, 0, 0, 443, 446, 5, 47,
3184
+ 0, 0, 444, 447, 5, 45, 0, 0, 445, 447, 3, 82, 41, 0, 446, 444, 1, 0, 0, 0, 446, 445, 1, 0, 0, 0,
3185
+ 447, 448, 1, 0, 0, 0, 448, 446, 1, 0, 0, 0, 448, 449, 1, 0, 0, 0, 449, 450, 1, 0, 0, 0, 450, 451,
3186
+ 5, 48, 0, 0, 451, 77, 1, 0, 0, 0, 452, 453, 5, 11, 0, 0, 453, 454, 5, 13, 0, 0, 454, 455, 5, 1, 0,
3187
+ 0, 455, 456, 5, 45, 0, 0, 456, 459, 5, 47, 0, 0, 457, 460, 5, 45, 0, 0, 458, 460, 3, 80, 40, 0,
3188
+ 459, 457, 1, 0, 0, 0, 459, 458, 1, 0, 0, 0, 460, 461, 1, 0, 0, 0, 461, 459, 1, 0, 0, 0, 461, 462,
3189
+ 1, 0, 0, 0, 462, 463, 1, 0, 0, 0, 463, 464, 5, 48, 0, 0, 464, 79, 1, 0, 0, 0, 465, 466, 7, 9, 0, 0,
3190
+ 466, 472, 5, 1, 0, 0, 467, 473, 3, 48, 24, 0, 468, 469, 5, 33, 0, 0, 469, 470, 3, 48, 24, 0, 470,
3191
+ 471, 5, 34, 0, 0, 471, 473, 1, 0, 0, 0, 472, 467, 1, 0, 0, 0, 472, 468, 1, 0, 0, 0, 473, 81, 1, 0,
3192
+ 0, 0, 474, 475, 3, 84, 42, 0, 475, 476, 5, 1, 0, 0, 476, 477, 3, 86, 43, 0, 477, 83, 1, 0, 0, 0,
3193
+ 478, 479, 7, 10, 0, 0, 479, 85, 1, 0, 0, 0, 480, 481, 5, 45, 0, 0, 481, 484, 5, 47, 0, 0, 482, 485,
3194
+ 5, 45, 0, 0, 483, 485, 3, 82, 41, 0, 484, 482, 1, 0, 0, 0, 484, 483, 1, 0, 0, 0, 485, 486, 1, 0,
3195
+ 0, 0, 486, 484, 1, 0, 0, 0, 486, 487, 1, 0, 0, 0, 487, 488, 1, 0, 0, 0, 488, 498, 5, 48, 0, 0, 489,
3196
+ 494, 3, 54, 27, 0, 490, 491, 5, 2, 0, 0, 491, 493, 3, 54, 27, 0, 492, 490, 1, 0, 0, 0, 493, 496,
3197
+ 1, 0, 0, 0, 494, 492, 1, 0, 0, 0, 494, 495, 1, 0, 0, 0, 495, 498, 1, 0, 0, 0, 496, 494, 1, 0, 0, 0,
3198
+ 497, 480, 1, 0, 0, 0, 497, 489, 1, 0, 0, 0, 498, 87, 1, 0, 0, 0, 499, 500, 5, 6, 0, 0, 500, 501,
3199
+ 5, 38, 0, 0, 501, 502, 5, 7, 0, 0, 502, 89, 1, 0, 0, 0, 503, 504, 5, 14, 0, 0, 504, 508, 5, 37, 0,
3200
+ 0, 505, 507, 7, 1, 0, 0, 506, 505, 1, 0, 0, 0, 507, 510, 1, 0, 0, 0, 508, 506, 1, 0, 0, 0, 508, 509,
3201
+ 1, 0, 0, 0, 509, 91, 1, 0, 0, 0, 510, 508, 1, 0, 0, 0, 511, 512, 5, 19, 0, 0, 512, 513, 5, 37, 0,
3202
+ 0, 513, 93, 1, 0, 0, 0, 514, 515, 5, 24, 0, 0, 515, 516, 5, 37, 0, 0, 516, 95, 1, 0, 0, 0, 517, 518,
3203
+ 5, 8, 0, 0, 518, 519, 5, 1, 0, 0, 519, 520, 5, 45, 0, 0, 520, 523, 5, 47, 0, 0, 521, 524, 5, 45,
3204
+ 0, 0, 522, 524, 3, 2, 1, 0, 523, 521, 1, 0, 0, 0, 523, 522, 1, 0, 0, 0, 524, 525, 1, 0, 0, 0, 525,
3205
+ 523, 1, 0, 0, 0, 525, 526, 1, 0, 0, 0, 526, 527, 1, 0, 0, 0, 527, 528, 5, 48, 0, 0, 528, 97, 1, 0,
3206
+ 0, 0, 65, 100, 102, 122, 127, 135, 137, 147, 149, 159, 162, 167, 171, 181, 184, 192, 196,
3207
+ 199, 209, 217, 219, 230, 241, 243, 249, 255, 259, 265, 267, 286, 293, 301, 304, 317, 321,
3208
+ 329, 341, 343, 351, 355, 361, 369, 371, 377, 384, 393, 405, 408, 411, 417, 422, 427, 430,
3209
+ 434, 446, 448, 459, 461, 472, 484, 486, 494, 497, 508, 523, 525];
3113
3210
  static __ATN;
3114
3211
  static get _ATN() {
3115
3212
  if (!CircuitScriptParser.__ATN) {
@@ -3186,9 +3283,6 @@ export class ExpressionContext extends ParserRuleContext {
3186
3283
  wire_expr() {
3187
3284
  return this.getTypedRuleContext(Wire_exprContext, 0);
3188
3285
  }
3189
- point_expr() {
3190
- return this.getTypedRuleContext(Point_exprContext, 0);
3191
- }
3192
3286
  import_expr() {
3193
3287
  return this.getTypedRuleContext(Import_exprContext, 0);
3194
3288
  }
@@ -3201,8 +3295,11 @@ export class ExpressionContext extends ParserRuleContext {
3201
3295
  at_block() {
3202
3296
  return this.getTypedRuleContext(At_blockContext, 0);
3203
3297
  }
3204
- branch_blocks() {
3205
- return this.getTypedRuleContext(Branch_blocksContext, 0);
3298
+ path_blocks() {
3299
+ return this.getTypedRuleContext(Path_blocksContext, 0);
3300
+ }
3301
+ point_expr() {
3302
+ return this.getTypedRuleContext(Point_exprContext, 0);
3206
3303
  }
3207
3304
  get ruleIndex() {
3208
3305
  return CircuitScriptParser.RULE_expression;
@@ -3216,37 +3313,34 @@ export class ExpressionContext extends ParserRuleContext {
3216
3313
  }
3217
3314
  }
3218
3315
  }
3219
- export class Branch_blocksContext extends ParserRuleContext {
3316
+ export class Path_blocksContext extends ParserRuleContext {
3220
3317
  constructor(parser, parent, invokingState) {
3221
3318
  super(parent, invokingState);
3222
3319
  this.parser = parser;
3223
3320
  }
3224
- branch_block_inner_list() {
3225
- return this.getTypedRuleContexts(Branch_block_innerContext);
3321
+ path_block_inner_list() {
3322
+ return this.getTypedRuleContexts(Path_block_innerContext);
3226
3323
  }
3227
- branch_block_inner(i) {
3228
- return this.getTypedRuleContext(Branch_block_innerContext, i);
3324
+ path_block_inner(i) {
3325
+ return this.getTypedRuleContext(Path_block_innerContext, i);
3229
3326
  }
3230
3327
  get ruleIndex() {
3231
- return CircuitScriptParser.RULE_branch_blocks;
3328
+ return CircuitScriptParser.RULE_path_blocks;
3232
3329
  }
3233
3330
  accept(visitor) {
3234
- if (visitor.visitBranch_blocks) {
3235
- return visitor.visitBranch_blocks(this);
3331
+ if (visitor.visitPath_blocks) {
3332
+ return visitor.visitPath_blocks(this);
3236
3333
  }
3237
3334
  else {
3238
3335
  return visitor.visitChildren(this);
3239
3336
  }
3240
3337
  }
3241
3338
  }
3242
- export class Branch_block_innerContext extends ParserRuleContext {
3339
+ export class Path_block_innerContext extends ParserRuleContext {
3243
3340
  constructor(parser, parent, invokingState) {
3244
3341
  super(parent, invokingState);
3245
3342
  this.parser = parser;
3246
3343
  }
3247
- Branch() {
3248
- return this.getToken(CircuitScriptParser.Branch, 0);
3249
- }
3250
3344
  NEWLINE_list() {
3251
3345
  return this.getTokens(CircuitScriptParser.NEWLINE);
3252
3346
  }
@@ -3259,6 +3353,18 @@ export class Branch_block_innerContext extends ParserRuleContext {
3259
3353
  DEDENT() {
3260
3354
  return this.getToken(CircuitScriptParser.DEDENT, 0);
3261
3355
  }
3356
+ Branch() {
3357
+ return this.getToken(CircuitScriptParser.Branch, 0);
3358
+ }
3359
+ Join() {
3360
+ return this.getToken(CircuitScriptParser.Join, 0);
3361
+ }
3362
+ Parallel() {
3363
+ return this.getToken(CircuitScriptParser.Parallel, 0);
3364
+ }
3365
+ Point() {
3366
+ return this.getToken(CircuitScriptParser.Point, 0);
3367
+ }
3262
3368
  expression_list() {
3263
3369
  return this.getTypedRuleContexts(ExpressionContext);
3264
3370
  }
@@ -3266,11 +3372,11 @@ export class Branch_block_innerContext extends ParserRuleContext {
3266
3372
  return this.getTypedRuleContext(ExpressionContext, i);
3267
3373
  }
3268
3374
  get ruleIndex() {
3269
- return CircuitScriptParser.RULE_branch_block_inner;
3375
+ return CircuitScriptParser.RULE_path_block_inner;
3270
3376
  }
3271
3377
  accept(visitor) {
3272
- if (visitor.visitBranch_block_inner) {
3273
- return visitor.visitBranch_block_inner(this);
3378
+ if (visitor.visitPath_block_inner) {
3379
+ return visitor.visitPath_block_inner(this);
3274
3380
  }
3275
3381
  else {
3276
3382
  return visitor.visitChildren(this);
@@ -3473,6 +3579,9 @@ export class At_component_exprContext extends ParserRuleContext {
3473
3579
  At() {
3474
3580
  return this.getToken(CircuitScriptParser.At, 0);
3475
3581
  }
3582
+ Point() {
3583
+ return this.getToken(CircuitScriptParser.Point, 0);
3584
+ }
3476
3585
  component_select_expr() {
3477
3586
  return this.getTypedRuleContext(Component_select_exprContext, 0);
3478
3587
  }
@@ -3499,6 +3608,9 @@ export class To_component_exprContext extends ParserRuleContext {
3499
3608
  To() {
3500
3609
  return this.getToken(CircuitScriptParser.To, 0);
3501
3610
  }
3611
+ Point() {
3612
+ return this.getToken(CircuitScriptParser.Point, 0);
3613
+ }
3502
3614
  component_select_expr_list() {
3503
3615
  return this.getTypedRuleContexts(Component_select_exprContext);
3504
3616
  }