Source code for braket.default_simulator.openqasm.parser.generated.BraketPragmasLexer
# Generated from BraketPragmasLexer.g4 by ANTLR 4.13.2
from antlr4 import *
from io import StringIO
import sys
if sys.version_info[1] > 5:
from typing import TextIO
else:
from typing.io import TextIO
[docs]
def serializedATN():
return [
4,
0,
130,
1247,
6,
-1,
6,
-1,
6,
-1,
2,
0,
7,
0,
2,
1,
7,
1,
2,
2,
7,
2,
2,
3,
7,
3,
2,
4,
7,
4,
2,
5,
7,
5,
2,
6,
7,
6,
2,
7,
7,
7,
2,
8,
7,
8,
2,
9,
7,
9,
2,
10,
7,
10,
2,
11,
7,
11,
2,
12,
7,
12,
2,
13,
7,
13,
2,
14,
7,
14,
2,
15,
7,
15,
2,
16,
7,
16,
2,
17,
7,
17,
2,
18,
7,
18,
2,
19,
7,
19,
2,
20,
7,
20,
2,
21,
7,
21,
2,
22,
7,
22,
2,
23,
7,
23,
2,
24,
7,
24,
2,
25,
7,
25,
2,
26,
7,
26,
2,
27,
7,
27,
2,
28,
7,
28,
2,
29,
7,
29,
2,
30,
7,
30,
2,
31,
7,
31,
2,
32,
7,
32,
2,
33,
7,
33,
2,
34,
7,
34,
2,
35,
7,
35,
2,
36,
7,
36,
2,
37,
7,
37,
2,
38,
7,
38,
2,
39,
7,
39,
2,
40,
7,
40,
2,
41,
7,
41,
2,
42,
7,
42,
2,
43,
7,
43,
2,
44,
7,
44,
2,
45,
7,
45,
2,
46,
7,
46,
2,
47,
7,
47,
2,
48,
7,
48,
2,
49,
7,
49,
2,
50,
7,
50,
2,
51,
7,
51,
2,
52,
7,
52,
2,
53,
7,
53,
2,
54,
7,
54,
2,
55,
7,
55,
2,
56,
7,
56,
2,
57,
7,
57,
2,
58,
7,
58,
2,
59,
7,
59,
2,
60,
7,
60,
2,
61,
7,
61,
2,
62,
7,
62,
2,
63,
7,
63,
2,
64,
7,
64,
2,
65,
7,
65,
2,
66,
7,
66,
2,
67,
7,
67,
2,
68,
7,
68,
2,
69,
7,
69,
2,
70,
7,
70,
2,
71,
7,
71,
2,
72,
7,
72,
2,
73,
7,
73,
2,
74,
7,
74,
2,
75,
7,
75,
2,
76,
7,
76,
2,
77,
7,
77,
2,
78,
7,
78,
2,
79,
7,
79,
2,
80,
7,
80,
2,
81,
7,
81,
2,
82,
7,
82,
2,
83,
7,
83,
2,
84,
7,
84,
2,
85,
7,
85,
2,
86,
7,
86,
2,
87,
7,
87,
2,
88,
7,
88,
2,
89,
7,
89,
2,
90,
7,
90,
2,
91,
7,
91,
2,
92,
7,
92,
2,
93,
7,
93,
2,
94,
7,
94,
2,
95,
7,
95,
2,
96,
7,
96,
2,
97,
7,
97,
2,
98,
7,
98,
2,
99,
7,
99,
2,
100,
7,
100,
2,
101,
7,
101,
2,
102,
7,
102,
2,
103,
7,
103,
2,
104,
7,
104,
2,
105,
7,
105,
2,
106,
7,
106,
2,
107,
7,
107,
2,
108,
7,
108,
2,
109,
7,
109,
2,
110,
7,
110,
2,
111,
7,
111,
2,
112,
7,
112,
2,
113,
7,
113,
2,
114,
7,
114,
2,
115,
7,
115,
2,
116,
7,
116,
2,
117,
7,
117,
2,
118,
7,
118,
2,
119,
7,
119,
2,
120,
7,
120,
2,
121,
7,
121,
2,
122,
7,
122,
2,
123,
7,
123,
2,
124,
7,
124,
2,
125,
7,
125,
2,
126,
7,
126,
2,
127,
7,
127,
2,
128,
7,
128,
2,
129,
7,
129,
2,
130,
7,
130,
2,
131,
7,
131,
2,
132,
7,
132,
2,
133,
7,
133,
2,
134,
7,
134,
2,
135,
7,
135,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
2,
1,
2,
1,
2,
1,
2,
1,
2,
1,
2,
1,
2,
1,
3,
1,
3,
1,
3,
1,
3,
1,
3,
1,
3,
1,
4,
1,
4,
1,
4,
1,
4,
1,
4,
1,
4,
1,
4,
1,
4,
1,
4,
1,
5,
1,
5,
1,
5,
1,
5,
1,
5,
1,
5,
1,
5,
1,
5,
1,
5,
1,
5,
1,
5,
1,
5,
1,
5,
1,
6,
1,
6,
1,
6,
1,
6,
1,
6,
1,
6,
1,
6,
1,
6,
1,
6,
1,
6,
1,
6,
1,
6,
1,
7,
1,
7,
1,
7,
1,
7,
1,
7,
1,
7,
1,
7,
1,
7,
1,
7,
1,
7,
1,
7,
1,
7,
1,
7,
1,
7,
1,
7,
1,
8,
1,
8,
1,
8,
1,
8,
1,
8,
1,
8,
1,
8,
1,
8,
1,
8,
1,
8,
1,
9,
1,
9,
1,
9,
1,
9,
1,
9,
1,
9,
1,
9,
1,
9,
1,
9,
1,
9,
1,
9,
1,
9,
1,
10,
1,
10,
1,
10,
1,
10,
1,
10,
1,
10,
1,
10,
1,
10,
1,
10,
1,
11,
1,
11,
1,
11,
1,
11,
1,
11,
1,
11,
1,
11,
1,
12,
1,
12,
1,
13,
1,
13,
1,
14,
1,
14,
1,
15,
1,
15,
1,
16,
1,
16,
1,
17,
1,
17,
1,
17,
1,
17,
1,
17,
1,
17,
1,
17,
1,
17,
1,
17,
1,
17,
1,
18,
1,
18,
1,
18,
1,
18,
1,
19,
1,
19,
1,
20,
1,
20,
1,
20,
1,
20,
1,
20,
1,
20,
1,
20,
1,
20,
1,
20,
1,
21,
1,
21,
1,
21,
1,
21,
1,
21,
1,
21,
1,
21,
1,
21,
1,
21,
1,
21,
1,
21,
1,
22,
1,
22,
1,
22,
1,
22,
1,
22,
1,
22,
1,
22,
1,
22,
1,
22,
1,
22,
1,
22,
1,
22,
1,
22,
1,
22,
1,
23,
1,
23,
1,
23,
1,
23,
1,
23,
1,
23,
1,
23,
1,
23,
1,
23,
1,
23,
1,
23,
1,
23,
1,
23,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
24,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
25,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
26,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
27,
1,
28,
1,
28,
1,
28,
1,
28,
1,
28,
1,
28,
1,
28,
1,
28,
1,
28,
1,
28,
1,
28,
1,
28,
1,
28,
1,
28,
1,
29,
1,
29,
1,
29,
1,
29,
1,
29,
1,
29,
1,
30,
1,
30,
1,
30,
1,
30,
1,
30,
1,
30,
1,
30,
1,
30,
1,
30,
1,
30,
1,
30,
1,
31,
1,
31,
1,
31,
1,
31,
1,
31,
1,
31,
1,
31,
1,
31,
1,
32,
1,
32,
1,
32,
1,
32,
1,
32,
1,
32,
1,
32,
1,
32,
1,
32,
1,
32,
1,
32,
1,
32,
1,
32,
1,
32,
1,
33,
1,
33,
1,
33,
1,
33,
1,
34,
1,
34,
1,
34,
1,
34,
1,
34,
1,
34,
1,
34,
1,
35,
1,
35,
1,
35,
1,
35,
1,
35,
1,
36,
1,
36,
1,
36,
1,
36,
1,
36,
1,
36,
1,
36,
1,
37,
1,
37,
1,
37,
1,
37,
1,
38,
1,
38,
1,
38,
1,
38,
1,
39,
1,
39,
1,
39,
1,
39,
1,
39,
1,
39,
1,
40,
1,
40,
1,
40,
1,
40,
1,
40,
1,
40,
1,
40,
1,
40,
1,
40,
1,
41,
1,
41,
1,
41,
1,
42,
1,
42,
1,
42,
1,
42,
1,
42,
1,
43,
1,
43,
1,
43,
1,
43,
1,
44,
1,
44,
1,
44,
1,
44,
1,
44,
1,
44,
1,
44,
1,
45,
1,
45,
1,
45,
1,
45,
1,
46,
1,
46,
1,
46,
1,
46,
1,
46,
1,
46,
1,
47,
1,
47,
1,
47,
1,
48,
3,
48,
687,
8,
48,
1,
48,
1,
48,
1,
48,
1,
48,
1,
48,
1,
48,
1,
48,
1,
48,
1,
48,
1,
49,
1,
49,
1,
49,
1,
49,
1,
49,
1,
50,
1,
50,
1,
50,
1,
50,
1,
50,
1,
50,
1,
51,
1,
51,
1,
51,
1,
51,
1,
51,
1,
51,
1,
51,
1,
52,
1,
52,
1,
52,
1,
52,
1,
52,
1,
52,
1,
53,
1,
53,
1,
53,
1,
53,
1,
53,
1,
53,
1,
53,
1,
53,
1,
54,
1,
54,
1,
54,
1,
54,
1,
54,
1,
55,
1,
55,
1,
55,
1,
55,
1,
55,
1,
55,
1,
56,
1,
56,
1,
56,
1,
56,
1,
56,
1,
57,
1,
57,
1,
57,
1,
57,
1,
57,
1,
58,
1,
58,
1,
58,
1,
58,
1,
59,
1,
59,
1,
59,
1,
59,
1,
60,
1,
60,
1,
60,
1,
60,
1,
60,
1,
61,
1,
61,
1,
61,
1,
61,
1,
61,
1,
61,
1,
62,
1,
62,
1,
62,
1,
62,
1,
62,
1,
62,
1,
63,
1,
63,
1,
63,
1,
63,
1,
63,
1,
63,
1,
63,
1,
63,
1,
64,
1,
64,
1,
64,
1,
64,
1,
64,
1,
64,
1,
65,
1,
65,
1,
65,
1,
65,
1,
65,
1,
65,
1,
65,
1,
65,
1,
65,
1,
66,
1,
66,
1,
66,
1,
66,
1,
66,
1,
66,
1,
66,
1,
66,
1,
67,
1,
67,
1,
67,
1,
67,
1,
67,
1,
67,
1,
67,
1,
68,
1,
68,
1,
68,
1,
68,
1,
69,
1,
69,
1,
69,
1,
69,
1,
70,
1,
70,
1,
70,
1,
70,
1,
70,
1,
71,
1,
71,
1,
71,
1,
71,
1,
71,
1,
71,
1,
71,
1,
71,
1,
72,
1,
72,
1,
72,
1,
72,
1,
72,
1,
73,
1,
73,
1,
73,
1,
73,
1,
73,
1,
73,
1,
73,
1,
73,
1,
73,
1,
73,
1,
73,
1,
74,
1,
74,
1,
74,
1,
74,
1,
74,
1,
74,
1,
75,
1,
75,
1,
75,
1,
75,
1,
75,
1,
75,
1,
76,
1,
76,
1,
76,
1,
76,
1,
76,
1,
76,
1,
76,
1,
76,
1,
77,
1,
77,
1,
77,
1,
77,
1,
77,
1,
77,
1,
77,
1,
77,
1,
78,
1,
78,
1,
78,
1,
78,
1,
78,
1,
78,
1,
78,
1,
78,
1,
78,
3,
78,
888,
8,
78,
1,
79,
1,
79,
1,
80,
1,
80,
1,
81,
1,
81,
1,
82,
1,
82,
1,
83,
1,
83,
1,
84,
1,
84,
1,
85,
1,
85,
1,
86,
1,
86,
1,
87,
1,
87,
1,
88,
1,
88,
1,
89,
1,
89,
1,
90,
1,
90,
1,
90,
1,
91,
1,
91,
1,
92,
1,
92,
1,
92,
1,
93,
1,
93,
1,
94,
1,
94,
1,
95,
1,
95,
1,
95,
1,
96,
1,
96,
1,
97,
1,
97,
1,
98,
1,
98,
1,
99,
1,
99,
1,
99,
1,
100,
1,
100,
1,
101,
1,
101,
1,
101,
1,
102,
1,
102,
1,
103,
1,
103,
1,
104,
1,
104,
1,
105,
1,
105,
1,
105,
1,
105,
3,
105,
951,
8,
105,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
1,
106,
3,
106,
980,
8,
106,
1,
107,
1,
107,
1,
107,
1,
107,
1,
107,
3,
107,
987,
8,
107,
1,
108,
1,
108,
1,
108,
1,
108,
3,
108,
993,
8,
108,
1,
109,
1,
109,
1,
109,
1,
110,
1,
110,
3,
110,
1000,
8,
110,
1,
110,
5,
110,
1003,
8,
110,
10,
110,
12,
110,
1006,
9,
110,
1,
110,
1,
110,
1,
111,
1,
111,
1,
111,
1,
111,
3,
111,
1014,
8,
111,
1,
111,
1,
111,
3,
111,
1018,
8,
111,
5,
111,
1020,
8,
111,
10,
111,
12,
111,
1023,
9,
111,
1,
111,
1,
111,
1,
112,
1,
112,
1,
112,
1,
112,
1,
112,
3,
112,
1032,
8,
112,
5,
112,
1034,
8,
112,
10,
112,
12,
112,
1037,
9,
112,
1,
112,
1,
112,
1,
113,
1,
113,
3,
113,
1043,
8,
113,
5,
113,
1045,
8,
113,
10,
113,
12,
113,
1048,
9,
113,
1,
113,
1,
113,
1,
114,
1,
114,
1,
114,
1,
114,
3,
114,
1056,
8,
114,
1,
114,
1,
114,
3,
114,
1060,
8,
114,
5,
114,
1062,
8,
114,
10,
114,
12,
114,
1065,
9,
114,
1,
114,
1,
114,
1,
115,
1,
115,
1,
116,
1,
116,
1,
117,
1,
117,
1,
117,
3,
117,
1076,
8,
117,
1,
118,
1,
118,
3,
118,
1080,
8,
118,
1,
119,
1,
119,
5,
119,
1084,
8,
119,
10,
119,
12,
119,
1087,
9,
119,
1,
120,
1,
120,
4,
120,
1091,
8,
120,
11,
120,
12,
120,
1092,
1,
121,
1,
121,
1,
121,
3,
121,
1098,
8,
121,
1,
121,
1,
121,
1,
122,
1,
122,
1,
122,
1,
122,
1,
122,
1,
122,
3,
122,
1108,
8,
122,
1,
122,
1,
122,
1,
122,
3,
122,
1113,
8,
122,
1,
122,
3,
122,
1116,
8,
122,
3,
122,
1118,
8,
122,
1,
123,
1,
123,
1,
123,
1,
123,
1,
123,
1,
123,
1,
123,
1,
123,
1,
123,
1,
123,
1,
123,
3,
123,
1131,
8,
123,
1,
124,
1,
124,
3,
124,
1135,
8,
124,
1,
124,
1,
124,
1,
125,
1,
125,
1,
125,
3,
125,
1142,
8,
125,
5,
125,
1144,
8,
125,
10,
125,
12,
125,
1147,
9,
125,
1,
125,
1,
125,
1,
125,
1,
126,
1,
126,
4,
126,
1154,
8,
126,
11,
126,
12,
126,
1155,
1,
126,
1,
126,
1,
126,
4,
126,
1161,
8,
126,
11,
126,
12,
126,
1162,
1,
126,
3,
126,
1166,
8,
126,
1,
127,
4,
127,
1169,
8,
127,
11,
127,
12,
127,
1170,
1,
127,
1,
127,
1,
128,
4,
128,
1176,
8,
128,
11,
128,
12,
128,
1177,
1,
128,
1,
128,
1,
129,
1,
129,
1,
129,
1,
129,
5,
129,
1186,
8,
129,
10,
129,
12,
129,
1189,
9,
129,
1,
129,
1,
129,
1,
130,
1,
130,
1,
130,
1,
130,
5,
130,
1197,
8,
130,
10,
130,
12,
130,
1200,
9,
130,
1,
130,
1,
130,
1,
130,
1,
130,
1,
130,
1,
131,
4,
131,
1208,
8,
131,
11,
131,
12,
131,
1209,
1,
131,
1,
131,
1,
132,
4,
132,
1215,
8,
132,
11,
132,
12,
132,
1216,
1,
132,
1,
132,
4,
132,
1221,
8,
132,
11,
132,
12,
132,
1222,
3,
132,
1225,
8,
132,
1,
132,
1,
132,
1,
133,
4,
133,
1230,
8,
133,
11,
133,
12,
133,
1231,
1,
133,
1,
133,
1,
134,
1,
134,
1,
134,
1,
134,
1,
134,
1,
135,
1,
135,
5,
135,
1243,
8,
135,
10,
135,
12,
135,
1246,
9,
135,
3,
1155,
1162,
1198,
0,
136,
3,
1,
5,
2,
7,
3,
9,
4,
11,
5,
13,
6,
15,
7,
17,
8,
19,
9,
21,
10,
23,
11,
25,
12,
27,
13,
29,
14,
31,
15,
33,
16,
35,
17,
37,
18,
39,
19,
41,
20,
43,
21,
45,
22,
47,
23,
49,
24,
51,
25,
53,
26,
55,
27,
57,
28,
59,
29,
61,
30,
63,
31,
65,
32,
67,
33,
69,
34,
71,
35,
73,
36,
75,
37,
77,
38,
79,
39,
81,
40,
83,
41,
85,
42,
87,
43,
89,
44,
91,
45,
93,
46,
95,
47,
97,
48,
99,
49,
101,
50,
103,
51,
105,
52,
107,
53,
109,
54,
111,
55,
113,
56,
115,
57,
117,
58,
119,
59,
121,
60,
123,
61,
125,
62,
127,
63,
129,
64,
131,
65,
133,
66,
135,
67,
137,
68,
139,
69,
141,
70,
143,
71,
145,
72,
147,
73,
149,
74,
151,
75,
153,
76,
155,
77,
157,
78,
159,
79,
161,
80,
163,
81,
165,
82,
167,
83,
169,
84,
171,
85,
173,
86,
175,
87,
177,
88,
179,
89,
181,
90,
183,
91,
185,
92,
187,
93,
189,
94,
191,
95,
193,
96,
195,
97,
197,
98,
199,
99,
201,
100,
203,
101,
205,
102,
207,
103,
209,
104,
211,
105,
213,
106,
215,
107,
217,
108,
219,
109,
221,
110,
223,
111,
225,
112,
227,
113,
229,
114,
231,
115,
233,
0,
235,
0,
237,
0,
239,
0,
241,
116,
243,
117,
245,
0,
247,
118,
249,
0,
251,
119,
253,
120,
255,
121,
257,
122,
259,
123,
261,
124,
263,
125,
265,
126,
267,
127,
269,
128,
271,
129,
273,
130,
3,
0,
1,
2,
13,
2,
0,
60,
60,
62,
62,
1,
0,
48,
49,
1,
0,
48,
55,
1,
0,
48,
57,
3,
0,
48,
57,
65,
70,
97,
102,
662,
0,
65,
90,
97,
122,
170,
170,
181,
181,
186,
186,
192,
214,
216,
246,
248,
705,
710,
721,
736,
740,
748,
748,
750,
750,
880,
884,
886,
887,
890,
893,
895,
895,
902,
902,
904,
906,
908,
908,
910,
929,
931,
1013,
1015,
1153,
1162,
1327,
1329,
1366,
1369,
1369,
1376,
1416,
1488,
1514,
1519,
1522,
1568,
1610,
1646,
1647,
1649,
1747,
1749,
1749,
1765,
1766,
1774,
1775,
1786,
1788,
1791,
1791,
1808,
1808,
1810,
1839,
1869,
1957,
1969,
1969,
1994,
2026,
2036,
2037,
2042,
2042,
2048,
2069,
2074,
2074,
2084,
2084,
2088,
2088,
2112,
2136,
2144,
2154,
2160,
2183,
2185,
2190,
2208,
2249,
2308,
2361,
2365,
2365,
2384,
2384,
2392,
2401,
2417,
2432,
2437,
2444,
2447,
2448,
2451,
2472,
2474,
2480,
2482,
2482,
2486,
2489,
2493,
2493,
2510,
2510,
2524,
2525,
2527,
2529,
2544,
2545,
2556,
2556,
2565,
2570,
2575,
2576,
2579,
2600,
2602,
2608,
2610,
2611,
2613,
2614,
2616,
2617,
2649,
2652,
2654,
2654,
2674,
2676,
2693,
2701,
2703,
2705,
2707,
2728,
2730,
2736,
2738,
2739,
2741,
2745,
2749,
2749,
2768,
2768,
2784,
2785,
2809,
2809,
2821,
2828,
2831,
2832,
2835,
2856,
2858,
2864,
2866,
2867,
2869,
2873,
2877,
2877,
2908,
2909,
2911,
2913,
2929,
2929,
2947,
2947,
2949,
2954,
2958,
2960,
2962,
2965,
2969,
2970,
2972,
2972,
2974,
2975,
2979,
2980,
2984,
2986,
2990,
3001,
3024,
3024,
3077,
3084,
3086,
3088,
3090,
3112,
3114,
3129,
3133,
3133,
3160,
3162,
3165,
3165,
3168,
3169,
3200,
3200,
3205,
3212,
3214,
3216,
3218,
3240,
3242,
3251,
3253,
3257,
3261,
3261,
3293,
3294,
3296,
3297,
3313,
3314,
3332,
3340,
3342,
3344,
3346,
3386,
3389,
3389,
3406,
3406,
3412,
3414,
3423,
3425,
3450,
3455,
3461,
3478,
3482,
3505,
3507,
3515,
3517,
3517,
3520,
3526,
3585,
3632,
3634,
3635,
3648,
3654,
3713,
3714,
3716,
3716,
3718,
3722,
3724,
3747,
3749,
3749,
3751,
3760,
3762,
3763,
3773,
3773,
3776,
3780,
3782,
3782,
3804,
3807,
3840,
3840,
3904,
3911,
3913,
3948,
3976,
3980,
4096,
4138,
4159,
4159,
4176,
4181,
4186,
4189,
4193,
4193,
4197,
4198,
4206,
4208,
4213,
4225,
4238,
4238,
4256,
4293,
4295,
4295,
4301,
4301,
4304,
4346,
4348,
4680,
4682,
4685,
4688,
4694,
4696,
4696,
4698,
4701,
4704,
4744,
4746,
4749,
4752,
4784,
4786,
4789,
4792,
4798,
4800,
4800,
4802,
4805,
4808,
4822,
4824,
4880,
4882,
4885,
4888,
4954,
4992,
5007,
5024,
5109,
5112,
5117,
5121,
5740,
5743,
5759,
5761,
5786,
5792,
5866,
5870,
5880,
5888,
5905,
5919,
5937,
5952,
5969,
5984,
5996,
5998,
6000,
6016,
6067,
6103,
6103,
6108,
6108,
6176,
6264,
6272,
6276,
6279,
6312,
6314,
6314,
6320,
6389,
6400,
6430,
6480,
6509,
6512,
6516,
6528,
6571,
6576,
6601,
6656,
6678,
6688,
6740,
6823,
6823,
6917,
6963,
6981,
6988,
7043,
7072,
7086,
7087,
7098,
7141,
7168,
7203,
7245,
7247,
7258,
7293,
7296,
7304,
7312,
7354,
7357,
7359,
7401,
7404,
7406,
7411,
7413,
7414,
7418,
7418,
7424,
7615,
7680,
7957,
7960,
7965,
7968,
8005,
8008,
8013,
8016,
8023,
8025,
8025,
8027,
8027,
8029,
8029,
8031,
8061,
8064,
8116,
8118,
8124,
8126,
8126,
8130,
8132,
8134,
8140,
8144,
8147,
8150,
8155,
8160,
8172,
8178,
8180,
8182,
8188,
8305,
8305,
8319,
8319,
8336,
8348,
8450,
8450,
8455,
8455,
8458,
8467,
8469,
8469,
8473,
8477,
8484,
8484,
8486,
8486,
8488,
8488,
8490,
8493,
8495,
8505,
8508,
8511,
8517,
8521,
8526,
8526,
8544,
8584,
11264,
11492,
11499,
11502,
11506,
11507,
11520,
11557,
11559,
11559,
11565,
11565,
11568,
11623,
11631,
11631,
11648,
11670,
11680,
11686,
11688,
11694,
11696,
11702,
11704,
11710,
11712,
11718,
11720,
11726,
11728,
11734,
11736,
11742,
11823,
11823,
12293,
12295,
12321,
12329,
12337,
12341,
12344,
12348,
12353,
12438,
12445,
12447,
12449,
12538,
12540,
12543,
12549,
12591,
12593,
12686,
12704,
12735,
12784,
12799,
13312,
19903,
19968,
42124,
42192,
42237,
42240,
42508,
42512,
42527,
42538,
42539,
42560,
42606,
42623,
42653,
42656,
42735,
42775,
42783,
42786,
42888,
42891,
42954,
42960,
42961,
42963,
42963,
42965,
42969,
42994,
43009,
43011,
43013,
43015,
43018,
43020,
43042,
43072,
43123,
43138,
43187,
43250,
43255,
43259,
43259,
43261,
43262,
43274,
43301,
43312,
43334,
43360,
43388,
43396,
43442,
43471,
43471,
43488,
43492,
43494,
43503,
43514,
43518,
43520,
43560,
43584,
43586,
43588,
43595,
43616,
43638,
43642,
43642,
43646,
43695,
43697,
43697,
43701,
43702,
43705,
43709,
43712,
43712,
43714,
43714,
43739,
43741,
43744,
43754,
43762,
43764,
43777,
43782,
43785,
43790,
43793,
43798,
43808,
43814,
43816,
43822,
43824,
43866,
43868,
43881,
43888,
44002,
44032,
55203,
55216,
55238,
55243,
55291,
63744,
64109,
64112,
64217,
64256,
64262,
64275,
64279,
64285,
64285,
64287,
64296,
64298,
64310,
64312,
64316,
64318,
64318,
64320,
64321,
64323,
64324,
64326,
64433,
64467,
64829,
64848,
64911,
64914,
64967,
65008,
65019,
65136,
65140,
65142,
65276,
65313,
65338,
65345,
65370,
65382,
65470,
65474,
65479,
65482,
65487,
65490,
65495,
65498,
65500,
65536,
65547,
65549,
65574,
65576,
65594,
65596,
65597,
65599,
65613,
65616,
65629,
65664,
65786,
65856,
65908,
66176,
66204,
66208,
66256,
66304,
66335,
66349,
66378,
66384,
66421,
66432,
66461,
66464,
66499,
66504,
66511,
66513,
66517,
66560,
66717,
66736,
66771,
66776,
66811,
66816,
66855,
66864,
66915,
66928,
66938,
66940,
66954,
66956,
66962,
66964,
66965,
66967,
66977,
66979,
66993,
66995,
67001,
67003,
67004,
67072,
67382,
67392,
67413,
67424,
67431,
67456,
67461,
67463,
67504,
67506,
67514,
67584,
67589,
67592,
67592,
67594,
67637,
67639,
67640,
67644,
67644,
67647,
67669,
67680,
67702,
67712,
67742,
67808,
67826,
67828,
67829,
67840,
67861,
67872,
67897,
67968,
68023,
68030,
68031,
68096,
68096,
68112,
68115,
68117,
68119,
68121,
68149,
68192,
68220,
68224,
68252,
68288,
68295,
68297,
68324,
68352,
68405,
68416,
68437,
68448,
68466,
68480,
68497,
68608,
68680,
68736,
68786,
68800,
68850,
68864,
68899,
69248,
69289,
69296,
69297,
69376,
69404,
69415,
69415,
69424,
69445,
69488,
69505,
69552,
69572,
69600,
69622,
69635,
69687,
69745,
69746,
69749,
69749,
69763,
69807,
69840,
69864,
69891,
69926,
69956,
69956,
69959,
69959,
69968,
70002,
70006,
70006,
70019,
70066,
70081,
70084,
70106,
70106,
70108,
70108,
70144,
70161,
70163,
70187,
70207,
70208,
70272,
70278,
70280,
70280,
70282,
70285,
70287,
70301,
70303,
70312,
70320,
70366,
70405,
70412,
70415,
70416,
70419,
70440,
70442,
70448,
70450,
70451,
70453,
70457,
70461,
70461,
70480,
70480,
70493,
70497,
70656,
70708,
70727,
70730,
70751,
70753,
70784,
70831,
70852,
70853,
70855,
70855,
71040,
71086,
71128,
71131,
71168,
71215,
71236,
71236,
71296,
71338,
71352,
71352,
71424,
71450,
71488,
71494,
71680,
71723,
71840,
71903,
71935,
71942,
71945,
71945,
71948,
71955,
71957,
71958,
71960,
71983,
71999,
71999,
72001,
72001,
72096,
72103,
72106,
72144,
72161,
72161,
72163,
72163,
72192,
72192,
72203,
72242,
72250,
72250,
72272,
72272,
72284,
72329,
72349,
72349,
72368,
72440,
72704,
72712,
72714,
72750,
72768,
72768,
72818,
72847,
72960,
72966,
72968,
72969,
72971,
73008,
73030,
73030,
73056,
73061,
73063,
73064,
73066,
73097,
73112,
73112,
73440,
73458,
73474,
73474,
73476,
73488,
73490,
73523,
73648,
73648,
73728,
74649,
74752,
74862,
74880,
75075,
77712,
77808,
77824,
78895,
78913,
78918,
82944,
83526,
92160,
92728,
92736,
92766,
92784,
92862,
92880,
92909,
92928,
92975,
92992,
92995,
93027,
93047,
93053,
93071,
93760,
93823,
93952,
94026,
94032,
94032,
94099,
94111,
94176,
94177,
94179,
94179,
94208,
100343,
100352,
101589,
101632,
101640,
110576,
110579,
110581,
110587,
110589,
110590,
110592,
110882,
110898,
110898,
110928,
110930,
110933,
110933,
110948,
110951,
110960,
111355,
113664,
113770,
113776,
113788,
113792,
113800,
113808,
113817,
119808,
119892,
119894,
119964,
119966,
119967,
119970,
119970,
119973,
119974,
119977,
119980,
119982,
119993,
119995,
119995,
119997,
120003,
120005,
120069,
120071,
120074,
120077,
120084,
120086,
120092,
120094,
120121,
120123,
120126,
120128,
120132,
120134,
120134,
120138,
120144,
120146,
120485,
120488,
120512,
120514,
120538,
120540,
120570,
120572,
120596,
120598,
120628,
120630,
120654,
120656,
120686,
120688,
120712,
120714,
120744,
120746,
120770,
120772,
120779,
122624,
122654,
122661,
122666,
122928,
122989,
123136,
123180,
123191,
123197,
123214,
123214,
123536,
123565,
123584,
123627,
124112,
124139,
124896,
124902,
124904,
124907,
124909,
124910,
124912,
124926,
124928,
125124,
125184,
125251,
125259,
125259,
126464,
126467,
126469,
126495,
126497,
126498,
126500,
126500,
126503,
126503,
126505,
126514,
126516,
126519,
126521,
126521,
126523,
126523,
126530,
126530,
126535,
126535,
126537,
126537,
126539,
126539,
126541,
126543,
126545,
126546,
126548,
126548,
126551,
126551,
126553,
126553,
126555,
126555,
126557,
126557,
126559,
126559,
126561,
126562,
126564,
126564,
126567,
126570,
126572,
126578,
126580,
126583,
126585,
126588,
126590,
126590,
126592,
126601,
126603,
126619,
126625,
126627,
126629,
126633,
126635,
126651,
131072,
173791,
173824,
177977,
177984,
178205,
178208,
183969,
183984,
191456,
194560,
195101,
196608,
201546,
201552,
205743,
2,
0,
65,
90,
97,
122,
2,
0,
69,
69,
101,
101,
3,
0,
9,
10,
13,
13,
34,
34,
3,
0,
9,
10,
13,
13,
39,
39,
2,
0,
9,
9,
32,
32,
2,
0,
10,
10,
13,
13,
3,
0,
9,
10,
13,
13,
32,
32,
1300,
0,
3,
1,
0,
0,
0,
0,
5,
1,
0,
0,
0,
0,
7,
1,
0,
0,
0,
0,
9,
1,
0,
0,
0,
0,
11,
1,
0,
0,
0,
0,
13,
1,
0,
0,
0,
0,
15,
1,
0,
0,
0,
0,
17,
1,
0,
0,
0,
0,
19,
1,
0,
0,
0,
0,
21,
1,
0,
0,
0,
0,
23,
1,
0,
0,
0,
0,
25,
1,
0,
0,
0,
0,
27,
1,
0,
0,
0,
0,
29,
1,
0,
0,
0,
0,
31,
1,
0,
0,
0,
0,
33,
1,
0,
0,
0,
0,
35,
1,
0,
0,
0,
0,
37,
1,
0,
0,
0,
0,
39,
1,
0,
0,
0,
0,
41,
1,
0,
0,
0,
0,
43,
1,
0,
0,
0,
0,
45,
1,
0,
0,
0,
0,
47,
1,
0,
0,
0,
0,
49,
1,
0,
0,
0,
0,
51,
1,
0,
0,
0,
0,
53,
1,
0,
0,
0,
0,
55,
1,
0,
0,
0,
0,
57,
1,
0,
0,
0,
0,
59,
1,
0,
0,
0,
0,
61,
1,
0,
0,
0,
0,
63,
1,
0,
0,
0,
0,
65,
1,
0,
0,
0,
0,
67,
1,
0,
0,
0,
0,
69,
1,
0,
0,
0,
0,
71,
1,
0,
0,
0,
0,
73,
1,
0,
0,
0,
0,
75,
1,
0,
0,
0,
0,
77,
1,
0,
0,
0,
0,
79,
1,
0,
0,
0,
0,
81,
1,
0,
0,
0,
0,
83,
1,
0,
0,
0,
0,
85,
1,
0,
0,
0,
0,
87,
1,
0,
0,
0,
0,
89,
1,
0,
0,
0,
0,
91,
1,
0,
0,
0,
0,
93,
1,
0,
0,
0,
0,
95,
1,
0,
0,
0,
0,
97,
1,
0,
0,
0,
0,
99,
1,
0,
0,
0,
0,
101,
1,
0,
0,
0,
0,
103,
1,
0,
0,
0,
0,
105,
1,
0,
0,
0,
0,
107,
1,
0,
0,
0,
0,
109,
1,
0,
0,
0,
0,
111,
1,
0,
0,
0,
0,
113,
1,
0,
0,
0,
0,
115,
1,
0,
0,
0,
0,
117,
1,
0,
0,
0,
0,
119,
1,
0,
0,
0,
0,
121,
1,
0,
0,
0,
0,
123,
1,
0,
0,
0,
0,
125,
1,
0,
0,
0,
0,
127,
1,
0,
0,
0,
0,
129,
1,
0,
0,
0,
0,
131,
1,
0,
0,
0,
0,
133,
1,
0,
0,
0,
0,
135,
1,
0,
0,
0,
0,
137,
1,
0,
0,
0,
0,
139,
1,
0,
0,
0,
0,
141,
1,
0,
0,
0,
0,
143,
1,
0,
0,
0,
0,
145,
1,
0,
0,
0,
0,
147,
1,
0,
0,
0,
0,
149,
1,
0,
0,
0,
0,
151,
1,
0,
0,
0,
0,
153,
1,
0,
0,
0,
0,
155,
1,
0,
0,
0,
0,
157,
1,
0,
0,
0,
0,
159,
1,
0,
0,
0,
0,
161,
1,
0,
0,
0,
0,
163,
1,
0,
0,
0,
0,
165,
1,
0,
0,
0,
0,
167,
1,
0,
0,
0,
0,
169,
1,
0,
0,
0,
0,
171,
1,
0,
0,
0,
0,
173,
1,
0,
0,
0,
0,
175,
1,
0,
0,
0,
0,
177,
1,
0,
0,
0,
0,
179,
1,
0,
0,
0,
0,
181,
1,
0,
0,
0,
0,
183,
1,
0,
0,
0,
0,
185,
1,
0,
0,
0,
0,
187,
1,
0,
0,
0,
0,
189,
1,
0,
0,
0,
0,
191,
1,
0,
0,
0,
0,
193,
1,
0,
0,
0,
0,
195,
1,
0,
0,
0,
0,
197,
1,
0,
0,
0,
0,
199,
1,
0,
0,
0,
0,
201,
1,
0,
0,
0,
0,
203,
1,
0,
0,
0,
0,
205,
1,
0,
0,
0,
0,
207,
1,
0,
0,
0,
0,
209,
1,
0,
0,
0,
0,
211,
1,
0,
0,
0,
0,
213,
1,
0,
0,
0,
0,
215,
1,
0,
0,
0,
0,
217,
1,
0,
0,
0,
0,
219,
1,
0,
0,
0,
0,
221,
1,
0,
0,
0,
0,
223,
1,
0,
0,
0,
0,
225,
1,
0,
0,
0,
0,
227,
1,
0,
0,
0,
0,
229,
1,
0,
0,
0,
0,
231,
1,
0,
0,
0,
0,
241,
1,
0,
0,
0,
0,
243,
1,
0,
0,
0,
0,
247,
1,
0,
0,
0,
0,
251,
1,
0,
0,
0,
0,
253,
1,
0,
0,
0,
0,
255,
1,
0,
0,
0,
0,
257,
1,
0,
0,
0,
0,
259,
1,
0,
0,
0,
0,
261,
1,
0,
0,
0,
0,
263,
1,
0,
0,
0,
1,
265,
1,
0,
0,
0,
1,
267,
1,
0,
0,
0,
2,
269,
1,
0,
0,
0,
2,
271,
1,
0,
0,
0,
2,
273,
1,
0,
0,
0,
3,
275,
1,
0,
0,
0,
5,
282,
1,
0,
0,
0,
7,
290,
1,
0,
0,
0,
9,
297,
1,
0,
0,
0,
11,
303,
1,
0,
0,
0,
13,
312,
1,
0,
0,
0,
15,
325,
1,
0,
0,
0,
17,
337,
1,
0,
0,
0,
19,
352,
1,
0,
0,
0,
21,
362,
1,
0,
0,
0,
23,
374,
1,
0,
0,
0,
25,
383,
1,
0,
0,
0,
27,
390,
1,
0,
0,
0,
29,
392,
1,
0,
0,
0,
31,
394,
1,
0,
0,
0,
33,
396,
1,
0,
0,
0,
35,
398,
1,
0,
0,
0,
37,
400,
1,
0,
0,
0,
39,
410,
1,
0,
0,
0,
41,
414,
1,
0,
0,
0,
43,
416,
1,
0,
0,
0,
45,
425,
1,
0,
0,
0,
47,
436,
1,
0,
0,
0,
49,
450,
1,
0,
0,
0,
51,
463,
1,
0,
0,
0,
53,
486,
1,
0,
0,
0,
55,
506,
1,
0,
0,
0,
57,
524,
1,
0,
0,
0,
59,
554,
1,
0,
0,
0,
61,
568,
1,
0,
0,
0,
63,
574,
1,
0,
0,
0,
65,
585,
1,
0,
0,
0,
67,
593,
1,
0,
0,
0,
69,
607,
1,
0,
0,
0,
71,
611,
1,
0,
0,
0,
73,
618,
1,
0,
0,
0,
75,
623,
1,
0,
0,
0,
77,
630,
1,
0,
0,
0,
79,
634,
1,
0,
0,
0,
81,
638,
1,
0,
0,
0,
83,
644,
1,
0,
0,
0,
85,
653,
1,
0,
0,
0,
87,
656,
1,
0,
0,
0,
89,
661,
1,
0,
0,
0,
91,
665,
1,
0,
0,
0,
93,
672,
1,
0,
0,
0,
95,
676,
1,
0,
0,
0,
97,
682,
1,
0,
0,
0,
99,
686,
1,
0,
0,
0,
101,
697,
1,
0,
0,
0,
103,
702,
1,
0,
0,
0,
105,
708,
1,
0,
0,
0,
107,
715,
1,
0,
0,
0,
109,
721,
1,
0,
0,
0,
111,
729,
1,
0,
0,
0,
113,
734,
1,
0,
0,
0,
115,
740,
1,
0,
0,
0,
117,
745,
1,
0,
0,
0,
119,
750,
1,
0,
0,
0,
121,
754,
1,
0,
0,
0,
123,
758,
1,
0,
0,
0,
125,
763,
1,
0,
0,
0,
127,
769,
1,
0,
0,
0,
129,
775,
1,
0,
0,
0,
131,
783,
1,
0,
0,
0,
133,
789,
1,
0,
0,
0,
135,
798,
1,
0,
0,
0,
137,
806,
1,
0,
0,
0,
139,
813,
1,
0,
0,
0,
141,
817,
1,
0,
0,
0,
143,
821,
1,
0,
0,
0,
145,
826,
1,
0,
0,
0,
147,
834,
1,
0,
0,
0,
149,
839,
1,
0,
0,
0,
151,
850,
1,
0,
0,
0,
153,
856,
1,
0,
0,
0,
155,
862,
1,
0,
0,
0,
157,
870,
1,
0,
0,
0,
159,
887,
1,
0,
0,
0,
161,
889,
1,
0,
0,
0,
163,
891,
1,
0,
0,
0,
165,
893,
1,
0,
0,
0,
167,
895,
1,
0,
0,
0,
169,
897,
1,
0,
0,
0,
171,
899,
1,
0,
0,
0,
173,
901,
1,
0,
0,
0,
175,
903,
1,
0,
0,
0,
177,
905,
1,
0,
0,
0,
179,
907,
1,
0,
0,
0,
181,
909,
1,
0,
0,
0,
183,
911,
1,
0,
0,
0,
185,
914,
1,
0,
0,
0,
187,
916,
1,
0,
0,
0,
189,
919,
1,
0,
0,
0,
191,
921,
1,
0,
0,
0,
193,
923,
1,
0,
0,
0,
195,
926,
1,
0,
0,
0,
197,
928,
1,
0,
0,
0,
199,
930,
1,
0,
0,
0,
201,
932,
1,
0,
0,
0,
203,
935,
1,
0,
0,
0,
205,
937,
1,
0,
0,
0,
207,
940,
1,
0,
0,
0,
209,
942,
1,
0,
0,
0,
211,
944,
1,
0,
0,
0,
213,
950,
1,
0,
0,
0,
215,
979,
1,
0,
0,
0,
217,
986,
1,
0,
0,
0,
219,
992,
1,
0,
0,
0,
221,
994,
1,
0,
0,
0,
223,
999,
1,
0,
0,
0,
225,
1013,
1,
0,
0,
0,
227,
1026,
1,
0,
0,
0,
229,
1046,
1,
0,
0,
0,
231,
1055,
1,
0,
0,
0,
233,
1068,
1,
0,
0,
0,
235,
1070,
1,
0,
0,
0,
237,
1075,
1,
0,
0,
0,
239,
1079,
1,
0,
0,
0,
241,
1081,
1,
0,
0,
0,
243,
1088,
1,
0,
0,
0,
245,
1094,
1,
0,
0,
0,
247,
1117,
1,
0,
0,
0,
249,
1130,
1,
0,
0,
0,
251,
1134,
1,
0,
0,
0,
253,
1138,
1,
0,
0,
0,
255,
1165,
1,
0,
0,
0,
257,
1168,
1,
0,
0,
0,
259,
1175,
1,
0,
0,
0,
261,
1181,
1,
0,
0,
0,
263,
1192,
1,
0,
0,
0,
265,
1207,
1,
0,
0,
0,
267,
1214,
1,
0,
0,
0,
269,
1229,
1,
0,
0,
0,
271,
1235,
1,
0,
0,
0,
273,
1240,
1,
0,
0,
0,
275,
276,
5,
98,
0,
0,
276,
277,
5,
114,
0,
0,
277,
278,
5,
97,
0,
0,
278,
279,
5,
107,
0,
0,
279,
280,
5,
101,
0,
0,
280,
281,
5,
116,
0,
0,
281,
4,
1,
0,
0,
0,
282,
283,
5,
117,
0,
0,
283,
284,
5,
110,
0,
0,
284,
285,
5,
105,
0,
0,
285,
286,
5,
116,
0,
0,
286,
287,
5,
97,
0,
0,
287,
288,
5,
114,
0,
0,
288,
289,
5,
121,
0,
0,
289,
6,
1,
0,
0,
0,
290,
291,
5,
114,
0,
0,
291,
292,
5,
101,
0,
0,
292,
293,
5,
115,
0,
0,
293,
294,
5,
117,
0,
0,
294,
295,
5,
108,
0,
0,
295,
296,
5,
116,
0,
0,
296,
8,
1,
0,
0,
0,
297,
298,
5,
110,
0,
0,
298,
299,
5,
111,
0,
0,
299,
300,
5,
105,
0,
0,
300,
301,
5,
115,
0,
0,
301,
302,
5,
101,
0,
0,
302,
10,
1,
0,
0,
0,
303,
304,
5,
118,
0,
0,
304,
305,
5,
101,
0,
0,
305,
306,
5,
114,
0,
0,
306,
307,
5,
98,
0,
0,
307,
308,
5,
97,
0,
0,
308,
309,
5,
116,
0,
0,
309,
310,
5,
105,
0,
0,
310,
311,
5,
109,
0,
0,
311,
12,
1,
0,
0,
0,
312,
313,
5,
115,
0,
0,
313,
314,
5,
116,
0,
0,
314,
315,
5,
97,
0,
0,
315,
316,
5,
116,
0,
0,
316,
317,
5,
101,
0,
0,
317,
318,
5,
95,
0,
0,
318,
319,
5,
118,
0,
0,
319,
320,
5,
101,
0,
0,
320,
321,
5,
99,
0,
0,
321,
322,
5,
116,
0,
0,
322,
323,
5,
111,
0,
0,
323,
324,
5,
114,
0,
0,
324,
14,
1,
0,
0,
0,
325,
326,
5,
112,
0,
0,
326,
327,
5,
114,
0,
0,
327,
328,
5,
111,
0,
0,
328,
329,
5,
98,
0,
0,
329,
330,
5,
97,
0,
0,
330,
331,
5,
98,
0,
0,
331,
332,
5,
105,
0,
0,
332,
333,
5,
108,
0,
0,
333,
334,
5,
105,
0,
0,
334,
335,
5,
116,
0,
0,
335,
336,
5,
121,
0,
0,
336,
16,
1,
0,
0,
0,
337,
338,
5,
100,
0,
0,
338,
339,
5,
101,
0,
0,
339,
340,
5,
110,
0,
0,
340,
341,
5,
115,
0,
0,
341,
342,
5,
105,
0,
0,
342,
343,
5,
116,
0,
0,
343,
344,
5,
121,
0,
0,
344,
345,
5,
95,
0,
0,
345,
346,
5,
109,
0,
0,
346,
347,
5,
97,
0,
0,
347,
348,
5,
116,
0,
0,
348,
349,
5,
114,
0,
0,
349,
350,
5,
105,
0,
0,
350,
351,
5,
120,
0,
0,
351,
18,
1,
0,
0,
0,
352,
353,
5,
97,
0,
0,
353,
354,
5,
109,
0,
0,
354,
355,
5,
112,
0,
0,
355,
356,
5,
108,
0,
0,
356,
357,
5,
105,
0,
0,
357,
358,
5,
116,
0,
0,
358,
359,
5,
117,
0,
0,
359,
360,
5,
100,
0,
0,
360,
361,
5,
101,
0,
0,
361,
20,
1,
0,
0,
0,
362,
363,
5,
101,
0,
0,
363,
364,
5,
120,
0,
0,
364,
365,
5,
112,
0,
0,
365,
366,
5,
101,
0,
0,
366,
367,
5,
99,
0,
0,
367,
368,
5,
116,
0,
0,
368,
369,
5,
97,
0,
0,
369,
370,
5,
116,
0,
0,
370,
371,
5,
105,
0,
0,
371,
372,
5,
111,
0,
0,
372,
373,
5,
110,
0,
0,
373,
22,
1,
0,
0,
0,
374,
375,
5,
118,
0,
0,
375,
376,
5,
97,
0,
0,
376,
377,
5,
114,
0,
0,
377,
378,
5,
105,
0,
0,
378,
379,
5,
97,
0,
0,
379,
380,
5,
110,
0,
0,
380,
381,
5,
99,
0,
0,
381,
382,
5,
101,
0,
0,
382,
24,
1,
0,
0,
0,
383,
384,
5,
115,
0,
0,
384,
385,
5,
97,
0,
0,
385,
386,
5,
109,
0,
0,
386,
387,
5,
112,
0,
0,
387,
388,
5,
108,
0,
0,
388,
389,
5,
101,
0,
0,
389,
26,
1,
0,
0,
0,
390,
391,
5,
120,
0,
0,
391,
28,
1,
0,
0,
0,
392,
393,
5,
121,
0,
0,
393,
30,
1,
0,
0,
0,
394,
395,
5,
122,
0,
0,
395,
32,
1,
0,
0,
0,
396,
397,
5,
105,
0,
0,
397,
34,
1,
0,
0,
0,
398,
399,
5,
104,
0,
0,
399,
36,
1,
0,
0,
0,
400,
401,
5,
104,
0,
0,
401,
402,
5,
101,
0,
0,
402,
403,
5,
114,
0,
0,
403,
404,
5,
109,
0,
0,
404,
405,
5,
105,
0,
0,
405,
406,
5,
116,
0,
0,
406,
407,
5,
105,
0,
0,
407,
408,
5,
97,
0,
0,
408,
409,
5,
110,
0,
0,
409,
38,
1,
0,
0,
0,
410,
411,
5,
97,
0,
0,
411,
412,
5,
108,
0,
0,
412,
413,
5,
108,
0,
0,
413,
40,
1,
0,
0,
0,
414,
415,
5,
64,
0,
0,
415,
42,
1,
0,
0,
0,
416,
417,
5,
98,
0,
0,
417,
418,
5,
105,
0,
0,
418,
419,
5,
116,
0,
0,
419,
420,
5,
95,
0,
0,
420,
421,
5,
102,
0,
0,
421,
422,
5,
108,
0,
0,
422,
423,
5,
105,
0,
0,
423,
424,
5,
112,
0,
0,
424,
44,
1,
0,
0,
0,
425,
426,
5,
112,
0,
0,
426,
427,
5,
104,
0,
0,
427,
428,
5,
97,
0,
0,
428,
429,
5,
115,
0,
0,
429,
430,
5,
101,
0,
0,
430,
431,
5,
95,
0,
0,
431,
432,
5,
102,
0,
0,
432,
433,
5,
108,
0,
0,
433,
434,
5,
105,
0,
0,
434,
435,
5,
112,
0,
0,
435,
46,
1,
0,
0,
0,
436,
437,
5,
112,
0,
0,
437,
438,
5,
97,
0,
0,
438,
439,
5,
117,
0,
0,
439,
440,
5,
108,
0,
0,
440,
441,
5,
105,
0,
0,
441,
442,
5,
95,
0,
0,
442,
443,
5,
99,
0,
0,
443,
444,
5,
104,
0,
0,
444,
445,
5,
97,
0,
0,
445,
446,
5,
110,
0,
0,
446,
447,
5,
110,
0,
0,
447,
448,
5,
101,
0,
0,
448,
449,
5,
108,
0,
0,
449,
48,
1,
0,
0,
0,
450,
451,
5,
100,
0,
0,
451,
452,
5,
101,
0,
0,
452,
453,
5,
112,
0,
0,
453,
454,
5,
111,
0,
0,
454,
455,
5,
108,
0,
0,
455,
456,
5,
97,
0,
0,
456,
457,
5,
114,
0,
0,
457,
458,
5,
105,
0,
0,
458,
459,
5,
122,
0,
0,
459,
460,
5,
105,
0,
0,
460,
461,
5,
110,
0,
0,
461,
462,
5,
103,
0,
0,
462,
50,
1,
0,
0,
0,
463,
464,
5,
116,
0,
0,
464,
465,
5,
119,
0,
0,
465,
466,
5,
111,
0,
0,
466,
467,
5,
95,
0,
0,
467,
468,
5,
113,
0,
0,
468,
469,
5,
117,
0,
0,
469,
470,
5,
98,
0,
0,
470,
471,
5,
105,
0,
0,
471,
472,
5,
116,
0,
0,
472,
473,
5,
95,
0,
0,
473,
474,
5,
100,
0,
0,
474,
475,
5,
101,
0,
0,
475,
476,
5,
112,
0,
0,
476,
477,
5,
111,
0,
0,
477,
478,
5,
108,
0,
0,
478,
479,
5,
97,
0,
0,
479,
480,
5,
114,
0,
0,
480,
481,
5,
105,
0,
0,
481,
482,
5,
122,
0,
0,
482,
483,
5,
105,
0,
0,
483,
484,
5,
110,
0,
0,
484,
485,
5,
103,
0,
0,
485,
52,
1,
0,
0,
0,
486,
487,
5,
116,
0,
0,
487,
488,
5,
119,
0,
0,
488,
489,
5,
111,
0,
0,
489,
490,
5,
95,
0,
0,
490,
491,
5,
113,
0,
0,
491,
492,
5,
117,
0,
0,
492,
493,
5,
98,
0,
0,
493,
494,
5,
105,
0,
0,
494,
495,
5,
116,
0,
0,
495,
496,
5,
95,
0,
0,
496,
497,
5,
100,
0,
0,
497,
498,
5,
101,
0,
0,
498,
499,
5,
112,
0,
0,
499,
500,
5,
104,
0,
0,
500,
501,
5,
97,
0,
0,
501,
502,
5,
115,
0,
0,
502,
503,
5,
105,
0,
0,
503,
504,
5,
110,
0,
0,
504,
505,
5,
103,
0,
0,
505,
54,
1,
0,
0,
0,
506,
507,
5,
97,
0,
0,
507,
508,
5,
109,
0,
0,
508,
509,
5,
112,
0,
0,
509,
510,
5,
108,
0,
0,
510,
511,
5,
105,
0,
0,
511,
512,
5,
116,
0,
0,
512,
513,
5,
117,
0,
0,
513,
514,
5,
100,
0,
0,
514,
515,
5,
101,
0,
0,
515,
516,
5,
95,
0,
0,
516,
517,
5,
100,
0,
0,
517,
518,
5,
97,
0,
0,
518,
519,
5,
109,
0,
0,
519,
520,
5,
112,
0,
0,
520,
521,
5,
105,
0,
0,
521,
522,
5,
110,
0,
0,
522,
523,
5,
103,
0,
0,
523,
56,
1,
0,
0,
0,
524,
525,
5,
103,
0,
0,
525,
526,
5,
101,
0,
0,
526,
527,
5,
110,
0,
0,
527,
528,
5,
101,
0,
0,
528,
529,
5,
114,
0,
0,
529,
530,
5,
97,
0,
0,
530,
531,
5,
108,
0,
0,
531,
532,
5,
105,
0,
0,
532,
533,
5,
122,
0,
0,
533,
534,
5,
101,
0,
0,
534,
535,
5,
100,
0,
0,
535,
536,
5,
95,
0,
0,
536,
537,
5,
97,
0,
0,
537,
538,
5,
109,
0,
0,
538,
539,
5,
112,
0,
0,
539,
540,
5,
108,
0,
0,
540,
541,
5,
105,
0,
0,
541,
542,
5,
116,
0,
0,
542,
543,
5,
117,
0,
0,
543,
544,
5,
100,
0,
0,
544,
545,
5,
101,
0,
0,
545,
546,
5,
95,
0,
0,
546,
547,
5,
100,
0,
0,
547,
548,
5,
97,
0,
0,
548,
549,
5,
109,
0,
0,
549,
550,
5,
112,
0,
0,
550,
551,
5,
105,
0,
0,
551,
552,
5,
110,
0,
0,
552,
553,
5,
103,
0,
0,
553,
58,
1,
0,
0,
0,
554,
555,
5,
112,
0,
0,
555,
556,
5,
104,
0,
0,
556,
557,
5,
97,
0,
0,
557,
558,
5,
115,
0,
0,
558,
559,
5,
101,
0,
0,
559,
560,
5,
95,
0,
0,
560,
561,
5,
100,
0,
0,
561,
562,
5,
97,
0,
0,
562,
563,
5,
109,
0,
0,
563,
564,
5,
112,
0,
0,
564,
565,
5,
105,
0,
0,
565,
566,
5,
110,
0,
0,
566,
567,
5,
103,
0,
0,
567,
60,
1,
0,
0,
0,
568,
569,
5,
107,
0,
0,
569,
570,
5,
114,
0,
0,
570,
571,
5,
97,
0,
0,
571,
572,
5,
117,
0,
0,
572,
573,
5,
115,
0,
0,
573,
62,
1,
0,
0,
0,
574,
575,
5,
79,
0,
0,
575,
576,
5,
80,
0,
0,
576,
577,
5,
69,
0,
0,
577,
578,
5,
78,
0,
0,
578,
579,
5,
81,
0,
0,
579,
580,
5,
65,
0,
0,
580,
581,
5,
83,
0,
0,
581,
582,
5,
77,
0,
0,
582,
583,
1,
0,
0,
0,
583,
584,
6,
30,
0,
0,
584,
64,
1,
0,
0,
0,
585,
586,
5,
105,
0,
0,
586,
587,
5,
110,
0,
0,
587,
588,
5,
99,
0,
0,
588,
589,
5,
108,
0,
0,
589,
590,
5,
117,
0,
0,
590,
591,
5,
100,
0,
0,
591,
592,
5,
101,
0,
0,
592,
66,
1,
0,
0,
0,
593,
594,
5,
100,
0,
0,
594,
595,
5,
101,
0,
0,
595,
596,
5,
102,
0,
0,
596,
597,
5,
99,
0,
0,
597,
598,
5,
97,
0,
0,
598,
599,
5,
108,
0,
0,
599,
600,
5,
103,
0,
0,
600,
601,
5,
114,
0,
0,
601,
602,
5,
97,
0,
0,
602,
603,
5,
109,
0,
0,
603,
604,
5,
109,
0,
0,
604,
605,
5,
97,
0,
0,
605,
606,
5,
114,
0,
0,
606,
68,
1,
0,
0,
0,
607,
608,
5,
100,
0,
0,
608,
609,
5,
101,
0,
0,
609,
610,
5,
102,
0,
0,
610,
70,
1,
0,
0,
0,
611,
612,
5,
100,
0,
0,
612,
613,
5,
101,
0,
0,
613,
614,
5,
102,
0,
0,
614,
615,
5,
99,
0,
0,
615,
616,
5,
97,
0,
0,
616,
617,
5,
108,
0,
0,
617,
72,
1,
0,
0,
0,
618,
619,
5,
103,
0,
0,
619,
620,
5,
97,
0,
0,
620,
621,
5,
116,
0,
0,
621,
622,
5,
101,
0,
0,
622,
74,
1,
0,
0,
0,
623,
624,
5,
101,
0,
0,
624,
625,
5,
120,
0,
0,
625,
626,
5,
116,
0,
0,
626,
627,
5,
101,
0,
0,
627,
628,
5,
114,
0,
0,
628,
629,
5,
110,
0,
0,
629,
76,
1,
0,
0,
0,
630,
631,
5,
98,
0,
0,
631,
632,
5,
111,
0,
0,
632,
633,
5,
120,
0,
0,
633,
78,
1,
0,
0,
0,
634,
635,
5,
108,
0,
0,
635,
636,
5,
101,
0,
0,
636,
637,
5,
116,
0,
0,
637,
80,
1,
0,
0,
0,
638,
639,
5,
98,
0,
0,
639,
640,
5,
114,
0,
0,
640,
641,
5,
101,
0,
0,
641,
642,
5,
97,
0,
0,
642,
643,
5,
107,
0,
0,
643,
82,
1,
0,
0,
0,
644,
645,
5,
99,
0,
0,
645,
646,
5,
111,
0,
0,
646,
647,
5,
110,
0,
0,
647,
648,
5,
116,
0,
0,
648,
649,
5,
105,
0,
0,
649,
650,
5,
110,
0,
0,
650,
651,
5,
117,
0,
0,
651,
652,
5,
101,
0,
0,
652,
84,
1,
0,
0,
0,
653,
654,
5,
105,
0,
0,
654,
655,
5,
102,
0,
0,
655,
86,
1,
0,
0,
0,
656,
657,
5,
101,
0,
0,
657,
658,
5,
108,
0,
0,
658,
659,
5,
115,
0,
0,
659,
660,
5,
101,
0,
0,
660,
88,
1,
0,
0,
0,
661,
662,
5,
101,
0,
0,
662,
663,
5,
110,
0,
0,
663,
664,
5,
100,
0,
0,
664,
90,
1,
0,
0,
0,
665,
666,
5,
114,
0,
0,
666,
667,
5,
101,
0,
0,
667,
668,
5,
116,
0,
0,
668,
669,
5,
117,
0,
0,
669,
670,
5,
114,
0,
0,
670,
671,
5,
110,
0,
0,
671,
92,
1,
0,
0,
0,
672,
673,
5,
102,
0,
0,
673,
674,
5,
111,
0,
0,
674,
675,
5,
114,
0,
0,
675,
94,
1,
0,
0,
0,
676,
677,
5,
119,
0,
0,
677,
678,
5,
104,
0,
0,
678,
679,
5,
105,
0,
0,
679,
680,
5,
108,
0,
0,
680,
681,
5,
101,
0,
0,
681,
96,
1,
0,
0,
0,
682,
683,
5,
105,
0,
0,
683,
684,
5,
110,
0,
0,
684,
98,
1,
0,
0,
0,
685,
687,
5,
35,
0,
0,
686,
685,
1,
0,
0,
0,
686,
687,
1,
0,
0,
0,
687,
688,
1,
0,
0,
0,
688,
689,
5,
112,
0,
0,
689,
690,
5,
114,
0,
0,
690,
691,
5,
97,
0,
0,
691,
692,
5,
103,
0,
0,
692,
693,
5,
109,
0,
0,
693,
694,
5,
97,
0,
0,
694,
695,
1,
0,
0,
0,
695,
696,
6,
48,
1,
0,
696,
100,
1,
0,
0,
0,
697,
698,
5,
64,
0,
0,
698,
699,
3,
241,
119,
0,
699,
700,
1,
0,
0,
0,
700,
701,
6,
49,
1,
0,
701,
102,
1,
0,
0,
0,
702,
703,
5,
105,
0,
0,
703,
704,
5,
110,
0,
0,
704,
705,
5,
112,
0,
0,
705,
706,
5,
117,
0,
0,
706,
707,
5,
116,
0,
0,
707,
104,
1,
0,
0,
0,
708,
709,
5,
111,
0,
0,
709,
710,
5,
117,
0,
0,
710,
711,
5,
116,
0,
0,
711,
712,
5,
112,
0,
0,
712,
713,
5,
117,
0,
0,
713,
714,
5,
116,
0,
0,
714,
106,
1,
0,
0,
0,
715,
716,
5,
99,
0,
0,
716,
717,
5,
111,
0,
0,
717,
718,
5,
110,
0,
0,
718,
719,
5,
115,
0,
0,
719,
720,
5,
116,
0,
0,
720,
108,
1,
0,
0,
0,
721,
722,
5,
109,
0,
0,
722,
723,
5,
117,
0,
0,
723,
724,
5,
116,
0,
0,
724,
725,
5,
97,
0,
0,
725,
726,
5,
98,
0,
0,
726,
727,
5,
108,
0,
0,
727,
728,
5,
101,
0,
0,
728,
110,
1,
0,
0,
0,
729,
730,
5,
113,
0,
0,
730,
731,
5,
114,
0,
0,
731,
732,
5,
101,
0,
0,
732,
733,
5,
103,
0,
0,
733,
112,
1,
0,
0,
0,
734,
735,
5,
113,
0,
0,
735,
736,
5,
117,
0,
0,
736,
737,
5,
98,
0,
0,
737,
738,
5,
105,
0,
0,
738,
739,
5,
116,
0,
0,
739,
114,
1,
0,
0,
0,
740,
741,
5,
99,
0,
0,
741,
742,
5,
114,
0,
0,
742,
743,
5,
101,
0,
0,
743,
744,
5,
103,
0,
0,
744,
116,
1,
0,
0,
0,
745,
746,
5,
98,
0,
0,
746,
747,
5,
111,
0,
0,
747,
748,
5,
111,
0,
0,
748,
749,
5,
108,
0,
0,
749,
118,
1,
0,
0,
0,
750,
751,
5,
98,
0,
0,
751,
752,
5,
105,
0,
0,
752,
753,
5,
116,
0,
0,
753,
120,
1,
0,
0,
0,
754,
755,
5,
105,
0,
0,
755,
756,
5,
110,
0,
0,
756,
757,
5,
116,
0,
0,
757,
122,
1,
0,
0,
0,
758,
759,
5,
117,
0,
0,
759,
760,
5,
105,
0,
0,
760,
761,
5,
110,
0,
0,
761,
762,
5,
116,
0,
0,
762,
124,
1,
0,
0,
0,
763,
764,
5,
102,
0,
0,
764,
765,
5,
108,
0,
0,
765,
766,
5,
111,
0,
0,
766,
767,
5,
97,
0,
0,
767,
768,
5,
116,
0,
0,
768,
126,
1,
0,
0,
0,
769,
770,
5,
97,
0,
0,
770,
771,
5,
110,
0,
0,
771,
772,
5,
103,
0,
0,
772,
773,
5,
108,
0,
0,
773,
774,
5,
101,
0,
0,
774,
128,
1,
0,
0,
0,
775,
776,
5,
99,
0,
0,
776,
777,
5,
111,
0,
0,
777,
778,
5,
109,
0,
0,
778,
779,
5,
112,
0,
0,
779,
780,
5,
108,
0,
0,
780,
781,
5,
101,
0,
0,
781,
782,
5,
120,
0,
0,
782,
130,
1,
0,
0,
0,
783,
784,
5,
97,
0,
0,
784,
785,
5,
114,
0,
0,
785,
786,
5,
114,
0,
0,
786,
787,
5,
97,
0,
0,
787,
788,
5,
121,
0,
0,
788,
132,
1,
0,
0,
0,
789,
790,
5,
100,
0,
0,
790,
791,
5,
117,
0,
0,
791,
792,
5,
114,
0,
0,
792,
793,
5,
97,
0,
0,
793,
794,
5,
116,
0,
0,
794,
795,
5,
105,
0,
0,
795,
796,
5,
111,
0,
0,
796,
797,
5,
110,
0,
0,
797,
134,
1,
0,
0,
0,
798,
799,
5,
115,
0,
0,
799,
800,
5,
116,
0,
0,
800,
801,
5,
114,
0,
0,
801,
802,
5,
101,
0,
0,
802,
803,
5,
116,
0,
0,
803,
804,
5,
99,
0,
0,
804,
805,
5,
104,
0,
0,
805,
136,
1,
0,
0,
0,
806,
807,
5,
103,
0,
0,
807,
808,
5,
112,
0,
0,
808,
809,
5,
104,
0,
0,
809,
810,
5,
97,
0,
0,
810,
811,
5,
115,
0,
0,
811,
812,
5,
101,
0,
0,
812,
138,
1,
0,
0,
0,
813,
814,
5,
105,
0,
0,
814,
815,
5,
110,
0,
0,
815,
816,
5,
118,
0,
0,
816,
140,
1,
0,
0,
0,
817,
818,
5,
112,
0,
0,
818,
819,
5,
111,
0,
0,
819,
820,
5,
119,
0,
0,
820,
142,
1,
0,
0,
0,
821,
822,
5,
99,
0,
0,
822,
823,
5,
116,
0,
0,
823,
824,
5,
114,
0,
0,
824,
825,
5,
108,
0,
0,
825,
144,
1,
0,
0,
0,
826,
827,
5,
110,
0,
0,
827,
828,
5,
101,
0,
0,
828,
829,
5,
103,
0,
0,
829,
830,
5,
99,
0,
0,
830,
831,
5,
116,
0,
0,
831,
832,
5,
114,
0,
0,
832,
833,
5,
108,
0,
0,
833,
146,
1,
0,
0,
0,
834,
835,
5,
35,
0,
0,
835,
836,
5,
100,
0,
0,
836,
837,
5,
105,
0,
0,
837,
838,
5,
109,
0,
0,
838,
148,
1,
0,
0,
0,
839,
840,
5,
100,
0,
0,
840,
841,
5,
117,
0,
0,
841,
842,
5,
114,
0,
0,
842,
843,
5,
97,
0,
0,
843,
844,
5,
116,
0,
0,
844,
845,
5,
105,
0,
0,
845,
846,
5,
111,
0,
0,
846,
847,
5,
110,
0,
0,
847,
848,
5,
111,
0,
0,
848,
849,
5,
102,
0,
0,
849,
150,
1,
0,
0,
0,
850,
851,
5,
100,
0,
0,
851,
852,
5,
101,
0,
0,
852,
853,
5,
108,
0,
0,
853,
854,
5,
97,
0,
0,
854,
855,
5,
121,
0,
0,
855,
152,
1,
0,
0,
0,
856,
857,
5,
114,
0,
0,
857,
858,
5,
101,
0,
0,
858,
859,
5,
115,
0,
0,
859,
860,
5,
101,
0,
0,
860,
861,
5,
116,
0,
0,
861,
154,
1,
0,
0,
0,
862,
863,
5,
109,
0,
0,
863,
864,
5,
101,
0,
0,
864,
865,
5,
97,
0,
0,
865,
866,
5,
115,
0,
0,
866,
867,
5,
117,
0,
0,
867,
868,
5,
114,
0,
0,
868,
869,
5,
101,
0,
0,
869,
156,
1,
0,
0,
0,
870,
871,
5,
98,
0,
0,
871,
872,
5,
97,
0,
0,
872,
873,
5,
114,
0,
0,
873,
874,
5,
114,
0,
0,
874,
875,
5,
105,
0,
0,
875,
876,
5,
101,
0,
0,
876,
877,
5,
114,
0,
0,
877,
158,
1,
0,
0,
0,
878,
879,
5,
116,
0,
0,
879,
880,
5,
114,
0,
0,
880,
881,
5,
117,
0,
0,
881,
888,
5,
101,
0,
0,
882,
883,
5,
102,
0,
0,
883,
884,
5,
97,
0,
0,
884,
885,
5,
108,
0,
0,
885,
886,
5,
115,
0,
0,
886,
888,
5,
101,
0,
0,
887,
878,
1,
0,
0,
0,
887,
882,
1,
0,
0,
0,
888,
160,
1,
0,
0,
0,
889,
890,
5,
91,
0,
0,
890,
162,
1,
0,
0,
0,
891,
892,
5,
93,
0,
0,
892,
164,
1,
0,
0,
0,
893,
894,
5,
123,
0,
0,
894,
166,
1,
0,
0,
0,
895,
896,
5,
125,
0,
0,
896,
168,
1,
0,
0,
0,
897,
898,
5,
40,
0,
0,
898,
170,
1,
0,
0,
0,
899,
900,
5,
41,
0,
0,
900,
172,
1,
0,
0,
0,
901,
902,
5,
58,
0,
0,
902,
174,
1,
0,
0,
0,
903,
904,
5,
59,
0,
0,
904,
176,
1,
0,
0,
0,
905,
906,
5,
46,
0,
0,
906,
178,
1,
0,
0,
0,
907,
908,
5,
44,
0,
0,
908,
180,
1,
0,
0,
0,
909,
910,
5,
61,
0,
0,
910,
182,
1,
0,
0,
0,
911,
912,
5,
45,
0,
0,
912,
913,
5,
62,
0,
0,
913,
184,
1,
0,
0,
0,
914,
915,
5,
43,
0,
0,
915,
186,
1,
0,
0,
0,
916,
917,
5,
43,
0,
0,
917,
918,
5,
43,
0,
0,
918,
188,
1,
0,
0,
0,
919,
920,
5,
45,
0,
0,
920,
190,
1,
0,
0,
0,
921,
922,
5,
42,
0,
0,
922,
192,
1,
0,
0,
0,
923,
924,
5,
42,
0,
0,
924,
925,
5,
42,
0,
0,
925,
194,
1,
0,
0,
0,
926,
927,
5,
47,
0,
0,
927,
196,
1,
0,
0,
0,
928,
929,
5,
37,
0,
0,
929,
198,
1,
0,
0,
0,
930,
931,
5,
124,
0,
0,
931,
200,
1,
0,
0,
0,
932,
933,
5,
124,
0,
0,
933,
934,
5,
124,
0,
0,
934,
202,
1,
0,
0,
0,
935,
936,
5,
38,
0,
0,
936,
204,
1,
0,
0,
0,
937,
938,
5,
38,
0,
0,
938,
939,
5,
38,
0,
0,
939,
206,
1,
0,
0,
0,
940,
941,
5,
94,
0,
0,
941,
208,
1,
0,
0,
0,
942,
943,
5,
126,
0,
0,
943,
210,
1,
0,
0,
0,
944,
945,
5,
33,
0,
0,
945,
212,
1,
0,
0,
0,
946,
947,
5,
61,
0,
0,
947,
951,
5,
61,
0,
0,
948,
949,
5,
33,
0,
0,
949,
951,
5,
61,
0,
0,
950,
946,
1,
0,
0,
0,
950,
948,
1,
0,
0,
0,
951,
214,
1,
0,
0,
0,
952,
953,
5,
43,
0,
0,
953,
980,
5,
61,
0,
0,
954,
955,
5,
45,
0,
0,
955,
980,
5,
61,
0,
0,
956,
957,
5,
42,
0,
0,
957,
980,
5,
61,
0,
0,
958,
959,
5,
47,
0,
0,
959,
980,
5,
61,
0,
0,
960,
961,
5,
38,
0,
0,
961,
980,
5,
61,
0,
0,
962,
963,
5,
124,
0,
0,
963,
980,
5,
61,
0,
0,
964,
965,
5,
126,
0,
0,
965,
980,
5,
61,
0,
0,
966,
967,
5,
94,
0,
0,
967,
980,
5,
61,
0,
0,
968,
969,
5,
60,
0,
0,
969,
970,
5,
60,
0,
0,
970,
980,
5,
61,
0,
0,
971,
972,
5,
62,
0,
0,
972,
973,
5,
62,
0,
0,
973,
980,
5,
61,
0,
0,
974,
975,
5,
37,
0,
0,
975,
980,
5,
61,
0,
0,
976,
977,
5,
42,
0,
0,
977,
978,
5,
42,
0,
0,
978,
980,
5,
61,
0,
0,
979,
952,
1,
0,
0,
0,
979,
954,
1,
0,
0,
0,
979,
956,
1,
0,
0,
0,
979,
958,
1,
0,
0,
0,
979,
960,
1,
0,
0,
0,
979,
962,
1,
0,
0,
0,
979,
964,
1,
0,
0,
0,
979,
966,
1,
0,
0,
0,
979,
968,
1,
0,
0,
0,
979,
971,
1,
0,
0,
0,
979,
974,
1,
0,
0,
0,
979,
976,
1,
0,
0,
0,
980,
216,
1,
0,
0,
0,
981,
987,
7,
0,
0,
0,
982,
983,
5,
62,
0,
0,
983,
987,
5,
61,
0,
0,
984,
985,
5,
60,
0,
0,
985,
987,
5,
61,
0,
0,
986,
981,
1,
0,
0,
0,
986,
982,
1,
0,
0,
0,
986,
984,
1,
0,
0,
0,
987,
218,
1,
0,
0,
0,
988,
989,
5,
62,
0,
0,
989,
993,
5,
62,
0,
0,
990,
991,
5,
60,
0,
0,
991,
993,
5,
60,
0,
0,
992,
988,
1,
0,
0,
0,
992,
990,
1,
0,
0,
0,
993,
220,
1,
0,
0,
0,
994,
995,
5,
105,
0,
0,
995,
996,
5,
109,
0,
0,
996,
222,
1,
0,
0,
0,
997,
1000,
3,
229,
113,
0,
998,
1000,
3,
247,
122,
0,
999,
997,
1,
0,
0,
0,
999,
998,
1,
0,
0,
0,
1000,
1004,
1,
0,
0,
0,
1001,
1003,
5,
32,
0,
0,
1002,
1001,
1,
0,
0,
0,
1003,
1006,
1,
0,
0,
0,
1004,
1002,
1,
0,
0,
0,
1004,
1005,
1,
0,
0,
0,
1005,
1007,
1,
0,
0,
0,
1006,
1004,
1,
0,
0,
0,
1007,
1008,
3,
221,
109,
0,
1008,
224,
1,
0,
0,
0,
1009,
1010,
5,
48,
0,
0,
1010,
1014,
5,
98,
0,
0,
1011,
1012,
5,
48,
0,
0,
1012,
1014,
5,
66,
0,
0,
1013,
1009,
1,
0,
0,
0,
1013,
1011,
1,
0,
0,
0,
1014,
1021,
1,
0,
0,
0,
1015,
1017,
7,
1,
0,
0,
1016,
1018,
5,
95,
0,
0,
1017,
1016,
1,
0,
0,
0,
1017,
1018,
1,
0,
0,
0,
1018,
1020,
1,
0,
0,
0,
1019,
1015,
1,
0,
0,
0,
1020,
1023,
1,
0,
0,
0,
1021,
1019,
1,
0,
0,
0,
1021,
1022,
1,
0,
0,
0,
1022,
1024,
1,
0,
0,
0,
1023,
1021,
1,
0,
0,
0,
1024,
1025,
7,
1,
0,
0,
1025,
226,
1,
0,
0,
0,
1026,
1027,
5,
48,
0,
0,
1027,
1028,
5,
111,
0,
0,
1028,
1035,
1,
0,
0,
0,
1029,
1031,
7,
2,
0,
0,
1030,
1032,
5,
95,
0,
0,
1031,
1030,
1,
0,
0,
0,
1031,
1032,
1,
0,
0,
0,
1032,
1034,
1,
0,
0,
0,
1033,
1029,
1,
0,
0,
0,
1034,
1037,
1,
0,
0,
0,
1035,
1033,
1,
0,
0,
0,
1035,
1036,
1,
0,
0,
0,
1036,
1038,
1,
0,
0,
0,
1037,
1035,
1,
0,
0,
0,
1038,
1039,
7,
2,
0,
0,
1039,
228,
1,
0,
0,
0,
1040,
1042,
7,
3,
0,
0,
1041,
1043,
5,
95,
0,
0,
1042,
1041,
1,
0,
0,
0,
1042,
1043,
1,
0,
0,
0,
1043,
1045,
1,
0,
0,
0,
1044,
1040,
1,
0,
0,
0,
1045,
1048,
1,
0,
0,
0,
1046,
1044,
1,
0,
0,
0,
1046,
1047,
1,
0,
0,
0,
1047,
1049,
1,
0,
0,
0,
1048,
1046,
1,
0,
0,
0,
1049,
1050,
7,
3,
0,
0,
1050,
230,
1,
0,
0,
0,
1051,
1052,
5,
48,
0,
0,
1052,
1056,
5,
120,
0,
0,
1053,
1054,
5,
48,
0,
0,
1054,
1056,
5,
88,
0,
0,
1055,
1051,
1,
0,
0,
0,
1055,
1053,
1,
0,
0,
0,
1056,
1063,
1,
0,
0,
0,
1057,
1059,
7,
4,
0,
0,
1058,
1060,
5,
95,
0,
0,
1059,
1058,
1,
0,
0,
0,
1059,
1060,
1,
0,
0,
0,
1060,
1062,
1,
0,
0,
0,
1061,
1057,
1,
0,
0,
0,
1062,
1065,
1,
0,
0,
0,
1063,
1061,
1,
0,
0,
0,
1063,
1064,
1,
0,
0,
0,
1064,
1066,
1,
0,
0,
0,
1065,
1063,
1,
0,
0,
0,
1066,
1067,
7,
4,
0,
0,
1067,
232,
1,
0,
0,
0,
1068,
1069,
7,
5,
0,
0,
1069,
234,
1,
0,
0,
0,
1070,
1071,
7,
6,
0,
0,
1071,
236,
1,
0,
0,
0,
1072,
1076,
5,
95,
0,
0,
1073,
1076,
3,
233,
115,
0,
1074,
1076,
3,
235,
116,
0,
1075,
1072,
1,
0,
0,
0,
1075,
1073,
1,
0,
0,
0,
1075,
1074,
1,
0,
0,
0,
1076,
238,
1,
0,
0,
0,
1077,
1080,
3,
237,
117,
0,
1078,
1080,
7,
3,
0,
0,
1079,
1077,
1,
0,
0,
0,
1079,
1078,
1,
0,
0,
0,
1080,
240,
1,
0,
0,
0,
1081,
1085,
3,
237,
117,
0,
1082,
1084,
3,
239,
118,
0,
1083,
1082,
1,
0,
0,
0,
1084,
1087,
1,
0,
0,
0,
1085,
1083,
1,
0,
0,
0,
1085,
1086,
1,
0,
0,
0,
1086,
242,
1,
0,
0,
0,
1087,
1085,
1,
0,
0,
0,
1088,
1090,
5,
36,
0,
0,
1089,
1091,
7,
3,
0,
0,
1090,
1089,
1,
0,
0,
0,
1091,
1092,
1,
0,
0,
0,
1092,
1090,
1,
0,
0,
0,
1092,
1093,
1,
0,
0,
0,
1093,
244,
1,
0,
0,
0,
1094,
1097,
7,
7,
0,
0,
1095,
1098,
3,
185,
91,
0,
1096,
1098,
3,
189,
93,
0,
1097,
1095,
1,
0,
0,
0,
1097,
1096,
1,
0,
0,
0,
1097,
1098,
1,
0,
0,
0,
1098,
1099,
1,
0,
0,
0,
1099,
1100,
3,
229,
113,
0,
1100,
246,
1,
0,
0,
0,
1101,
1102,
3,
229,
113,
0,
1102,
1103,
3,
245,
121,
0,
1103,
1118,
1,
0,
0,
0,
1104,
1105,
3,
177,
87,
0,
1105,
1107,
3,
229,
113,
0,
1106,
1108,
3,
245,
121,
0,
1107,
1106,
1,
0,
0,
0,
1107,
1108,
1,
0,
0,
0,
1108,
1118,
1,
0,
0,
0,
1109,
1110,
3,
229,
113,
0,
1110,
1112,
3,
177,
87,
0,
1111,
1113,
3,
229,
113,
0,
1112,
1111,
1,
0,
0,
0,
1112,
1113,
1,
0,
0,
0,
1113,
1115,
1,
0,
0,
0,
1114,
1116,
3,
245,
121,
0,
1115,
1114,
1,
0,
0,
0,
1115,
1116,
1,
0,
0,
0,
1116,
1118,
1,
0,
0,
0,
1117,
1101,
1,
0,
0,
0,
1117,
1104,
1,
0,
0,
0,
1117,
1109,
1,
0,
0,
0,
1118,
248,
1,
0,
0,
0,
1119,
1120,
5,
100,
0,
0,
1120,
1131,
5,
116,
0,
0,
1121,
1122,
5,
110,
0,
0,
1122,
1131,
5,
115,
0,
0,
1123,
1124,
5,
117,
0,
0,
1124,
1131,
5,
115,
0,
0,
1125,
1126,
5,
181,
0,
0,
1126,
1131,
5,
115,
0,
0,
1127,
1128,
5,
109,
0,
0,
1128,
1131,
5,
115,
0,
0,
1129,
1131,
5,
115,
0,
0,
1130,
1119,
1,
0,
0,
0,
1130,
1121,
1,
0,
0,
0,
1130,
1123,
1,
0,
0,
0,
1130,
1125,
1,
0,
0,
0,
1130,
1127,
1,
0,
0,
0,
1130,
1129,
1,
0,
0,
0,
1131,
250,
1,
0,
0,
0,
1132,
1135,
3,
229,
113,
0,
1133,
1135,
3,
247,
122,
0,
1134,
1132,
1,
0,
0,
0,
1134,
1133,
1,
0,
0,
0,
1135,
1136,
1,
0,
0,
0,
1136,
1137,
3,
249,
123,
0,
1137,
252,
1,
0,
0,
0,
1138,
1145,
5,
34,
0,
0,
1139,
1141,
7,
1,
0,
0,
1140,
1142,
5,
95,
0,
0,
1141,
1140,
1,
0,
0,
0,
1141,
1142,
1,
0,
0,
0,
1142,
1144,
1,
0,
0,
0,
1143,
1139,
1,
0,
0,
0,
1144,
1147,
1,
0,
0,
0,
1145,
1143,
1,
0,
0,
0,
1145,
1146,
1,
0,
0,
0,
1146,
1148,
1,
0,
0,
0,
1147,
1145,
1,
0,
0,
0,
1148,
1149,
7,
1,
0,
0,
1149,
1150,
5,
34,
0,
0,
1150,
254,
1,
0,
0,
0,
1151,
1153,
5,
34,
0,
0,
1152,
1154,
8,
8,
0,
0,
1153,
1152,
1,
0,
0,
0,
1154,
1155,
1,
0,
0,
0,
1155,
1156,
1,
0,
0,
0,
1155,
1153,
1,
0,
0,
0,
1156,
1157,
1,
0,
0,
0,
1157,
1166,
5,
34,
0,
0,
1158,
1160,
5,
39,
0,
0,
1159,
1161,
8,
9,
0,
0,
1160,
1159,
1,
0,
0,
0,
1161,
1162,
1,
0,
0,
0,
1162,
1163,
1,
0,
0,
0,
1162,
1160,
1,
0,
0,
0,
1163,
1164,
1,
0,
0,
0,
1164,
1166,
5,
39,
0,
0,
1165,
1151,
1,
0,
0,
0,
1165,
1158,
1,
0,
0,
0,
1166,
256,
1,
0,
0,
0,
1167,
1169,
7,
10,
0,
0,
1168,
1167,
1,
0,
0,
0,
1169,
1170,
1,
0,
0,
0,
1170,
1168,
1,
0,
0,
0,
1170,
1171,
1,
0,
0,
0,
1171,
1172,
1,
0,
0,
0,
1172,
1173,
6,
127,
2,
0,
1173,
258,
1,
0,
0,
0,
1174,
1176,
7,
11,
0,
0,
1175,
1174,
1,
0,
0,
0,
1176,
1177,
1,
0,
0,
0,
1177,
1175,
1,
0,
0,
0,
1177,
1178,
1,
0,
0,
0,
1178,
1179,
1,
0,
0,
0,
1179,
1180,
6,
128,
2,
0,
1180,
260,
1,
0,
0,
0,
1181,
1182,
5,
47,
0,
0,
1182,
1183,
5,
47,
0,
0,
1183,
1187,
1,
0,
0,
0,
1184,
1186,
8,
11,
0,
0,
1185,
1184,
1,
0,
0,
0,
1186,
1189,
1,
0,
0,
0,
1187,
1185,
1,
0,
0,
0,
1187,
1188,
1,
0,
0,
0,
1188,
1190,
1,
0,
0,
0,
1189,
1187,
1,
0,
0,
0,
1190,
1191,
6,
129,
2,
0,
1191,
262,
1,
0,
0,
0,
1192,
1193,
5,
47,
0,
0,
1193,
1194,
5,
42,
0,
0,
1194,
1198,
1,
0,
0,
0,
1195,
1197,
9,
0,
0,
0,
1196,
1195,
1,
0,
0,
0,
1197,
1200,
1,
0,
0,
0,
1198,
1199,
1,
0,
0,
0,
1198,
1196,
1,
0,
0,
0,
1199,
1201,
1,
0,
0,
0,
1200,
1198,
1,
0,
0,
0,
1201,
1202,
5,
42,
0,
0,
1202,
1203,
5,
47,
0,
0,
1203,
1204,
1,
0,
0,
0,
1204,
1205,
6,
130,
2,
0,
1205,
264,
1,
0,
0,
0,
1206,
1208,
7,
12,
0,
0,
1207,
1206,
1,
0,
0,
0,
1208,
1209,
1,
0,
0,
0,
1209,
1207,
1,
0,
0,
0,
1209,
1210,
1,
0,
0,
0,
1210,
1211,
1,
0,
0,
0,
1211,
1212,
6,
131,
2,
0,
1212,
266,
1,
0,
0,
0,
1213,
1215,
7,
3,
0,
0,
1214,
1213,
1,
0,
0,
0,
1215,
1216,
1,
0,
0,
0,
1216,
1214,
1,
0,
0,
0,
1216,
1217,
1,
0,
0,
0,
1217,
1224,
1,
0,
0,
0,
1218,
1220,
5,
46,
0,
0,
1219,
1221,
7,
3,
0,
0,
1220,
1219,
1,
0,
0,
0,
1221,
1222,
1,
0,
0,
0,
1222,
1220,
1,
0,
0,
0,
1222,
1223,
1,
0,
0,
0,
1223,
1225,
1,
0,
0,
0,
1224,
1218,
1,
0,
0,
0,
1224,
1225,
1,
0,
0,
0,
1225,
1226,
1,
0,
0,
0,
1226,
1227,
6,
132,
3,
0,
1227,
268,
1,
0,
0,
0,
1228,
1230,
7,
10,
0,
0,
1229,
1228,
1,
0,
0,
0,
1230,
1231,
1,
0,
0,
0,
1231,
1229,
1,
0,
0,
0,
1231,
1232,
1,
0,
0,
0,
1232,
1233,
1,
0,
0,
0,
1233,
1234,
6,
133,
2,
0,
1234,
270,
1,
0,
0,
0,
1235,
1236,
7,
11,
0,
0,
1236,
1237,
1,
0,
0,
0,
1237,
1238,
6,
134,
3,
0,
1238,
1239,
6,
134,
2,
0,
1239,
272,
1,
0,
0,
0,
1240,
1244,
8,
12,
0,
0,
1241,
1243,
8,
11,
0,
0,
1242,
1241,
1,
0,
0,
0,
1243,
1246,
1,
0,
0,
0,
1244,
1242,
1,
0,
0,
0,
1244,
1245,
1,
0,
0,
0,
1245,
274,
1,
0,
0,
0,
1246,
1244,
1,
0,
0,
0,
47,
0,
1,
2,
686,
887,
950,
979,
986,
992,
999,
1004,
1013,
1017,
1021,
1031,
1035,
1042,
1046,
1055,
1059,
1063,
1075,
1079,
1085,
1092,
1097,
1107,
1112,
1115,
1117,
1130,
1134,
1141,
1145,
1155,
1162,
1165,
1170,
1177,
1187,
1198,
1209,
1216,
1222,
1224,
1231,
1244,
4,
5,
1,
0,
5,
2,
0,
6,
0,
0,
4,
0,
0,
]
[docs]
class BraketPragmasLexer(Lexer):
atn = ATNDeserializer().deserialize(serializedATN())
decisionsToDFA = [DFA(ds, i) for i, ds in enumerate(atn.decisionToState)]
VERSION_IDENTIFIER = 1
EAT_TO_LINE_END = 2
BRAKET = 1
UNITARY = 2
RESULT = 3
NOISE = 4
VERBATIM = 5
STATE_VECTOR = 6
PROBABILITY = 7
DENSITY_MATRIX = 8
AMPLITUDE = 9
EXPECTATION = 10
VARIANCE = 11
SAMPLE = 12
X = 13
Y = 14
Z = 15
I = 16
H = 17
HERMITIAN = 18
ALL = 19
AT = 20
BIT_FLIP = 21
PHASE_FLIP = 22
PAULI_CHANNEL = 23
DEPOLARIZING = 24
TWO_QUBIT_DEPOLARIZING = 25
TWO_QUBIT_DEPHASING = 26
AMPLITUDE_DAMPING = 27
GENERALIZED_AMPLITUDE_DAMPING = 28
PHASE_DAMPING = 29
KRAUS = 30
OPENQASM = 31
INCLUDE = 32
DEFCALGRAMMAR = 33
DEF = 34
DEFCAL = 35
GATE = 36
EXTERN = 37
BOX = 38
LET = 39
BREAK = 40
CONTINUE = 41
IF = 42
ELSE = 43
END = 44
RETURN = 45
FOR = 46
WHILE = 47
IN = 48
PRAGMA = 49
AnnotationKeyword = 50
INPUT = 51
OUTPUT = 52
CONST = 53
MUTABLE = 54
QREG = 55
QUBIT = 56
CREG = 57
BOOL = 58
BIT = 59
INT = 60
UINT = 61
FLOAT = 62
ANGLE = 63
COMPLEX = 64
ARRAY = 65
DURATION = 66
STRETCH = 67
GPHASE = 68
INV = 69
POW = 70
CTRL = 71
NEGCTRL = 72
DIM = 73
DURATIONOF = 74
DELAY = 75
RESET = 76
MEASURE = 77
BARRIER = 78
BooleanLiteral = 79
LBRACKET = 80
RBRACKET = 81
LBRACE = 82
RBRACE = 83
LPAREN = 84
RPAREN = 85
COLON = 86
SEMICOLON = 87
DOT = 88
COMMA = 89
EQUALS = 90
ARROW = 91
PLUS = 92
DOUBLE_PLUS = 93
MINUS = 94
ASTERISK = 95
DOUBLE_ASTERISK = 96
SLASH = 97
PERCENT = 98
PIPE = 99
DOUBLE_PIPE = 100
AMPERSAND = 101
DOUBLE_AMPERSAND = 102
CARET = 103
TILDE = 104
EXCLAMATION_POINT = 105
EqualityOperator = 106
CompoundAssignmentOperator = 107
ComparisonOperator = 108
BitshiftOperator = 109
IMAG = 110
ImaginaryLiteral = 111
BinaryIntegerLiteral = 112
OctalIntegerLiteral = 113
DecimalIntegerLiteral = 114
HexIntegerLiteral = 115
Identifier = 116
HardwareQubit = 117
FloatLiteral = 118
TimingLiteral = 119
BitstringLiteral = 120
StringLiteral = 121
Whitespace = 122
Newline = 123
LineComment = 124
BlockComment = 125
VERSION_IDENTIFER_WHITESPACE = 126
VersionSpecifier = 127
EAT_INITIAL_SPACE = 128
EAT_LINE_END = 129
RemainingLineContent = 130
channelNames = ["DEFAULT_TOKEN_CHANNEL", "HIDDEN"]
modeNames = ["DEFAULT_MODE", "VERSION_IDENTIFIER", "EAT_TO_LINE_END"]
literalNames = [
"<INVALID>",
"'braket'",
"'unitary'",
"'result'",
"'noise'",
"'verbatim'",
"'state_vector'",
"'probability'",
"'density_matrix'",
"'amplitude'",
"'expectation'",
"'variance'",
"'sample'",
"'x'",
"'y'",
"'z'",
"'i'",
"'h'",
"'hermitian'",
"'all'",
"'@'",
"'bit_flip'",
"'phase_flip'",
"'pauli_channel'",
"'depolarizing'",
"'two_qubit_depolarizing'",
"'two_qubit_dephasing'",
"'amplitude_damping'",
"'generalized_amplitude_damping'",
"'phase_damping'",
"'kraus'",
"'OPENQASM'",
"'include'",
"'defcalgrammar'",
"'def'",
"'defcal'",
"'gate'",
"'extern'",
"'box'",
"'let'",
"'break'",
"'continue'",
"'if'",
"'else'",
"'end'",
"'return'",
"'for'",
"'while'",
"'in'",
"'input'",
"'output'",
"'const'",
"'mutable'",
"'qreg'",
"'qubit'",
"'creg'",
"'bool'",
"'bit'",
"'int'",
"'uint'",
"'float'",
"'angle'",
"'complex'",
"'array'",
"'duration'",
"'stretch'",
"'gphase'",
"'inv'",
"'pow'",
"'ctrl'",
"'negctrl'",
"'#dim'",
"'durationof'",
"'delay'",
"'reset'",
"'measure'",
"'barrier'",
"'['",
"']'",
"'{'",
"'}'",
"'('",
"')'",
"':'",
"';'",
"'.'",
"','",
"'='",
"'->'",
"'+'",
"'++'",
"'-'",
"'*'",
"'**'",
"'/'",
"'%'",
"'|'",
"'||'",
"'&'",
"'&&'",
"'^'",
"'~'",
"'!'",
"'im'",
]
symbolicNames = [
"<INVALID>",
"BRAKET",
"UNITARY",
"RESULT",
"NOISE",
"VERBATIM",
"STATE_VECTOR",
"PROBABILITY",
"DENSITY_MATRIX",
"AMPLITUDE",
"EXPECTATION",
"VARIANCE",
"SAMPLE",
"X",
"Y",
"Z",
"I",
"H",
"HERMITIAN",
"ALL",
"AT",
"BIT_FLIP",
"PHASE_FLIP",
"PAULI_CHANNEL",
"DEPOLARIZING",
"TWO_QUBIT_DEPOLARIZING",
"TWO_QUBIT_DEPHASING",
"AMPLITUDE_DAMPING",
"GENERALIZED_AMPLITUDE_DAMPING",
"PHASE_DAMPING",
"KRAUS",
"OPENQASM",
"INCLUDE",
"DEFCALGRAMMAR",
"DEF",
"DEFCAL",
"GATE",
"EXTERN",
"BOX",
"LET",
"BREAK",
"CONTINUE",
"IF",
"ELSE",
"END",
"RETURN",
"FOR",
"WHILE",
"IN",
"PRAGMA",
"AnnotationKeyword",
"INPUT",
"OUTPUT",
"CONST",
"MUTABLE",
"QREG",
"QUBIT",
"CREG",
"BOOL",
"BIT",
"INT",
"UINT",
"FLOAT",
"ANGLE",
"COMPLEX",
"ARRAY",
"DURATION",
"STRETCH",
"GPHASE",
"INV",
"POW",
"CTRL",
"NEGCTRL",
"DIM",
"DURATIONOF",
"DELAY",
"RESET",
"MEASURE",
"BARRIER",
"BooleanLiteral",
"LBRACKET",
"RBRACKET",
"LBRACE",
"RBRACE",
"LPAREN",
"RPAREN",
"COLON",
"SEMICOLON",
"DOT",
"COMMA",
"EQUALS",
"ARROW",
"PLUS",
"DOUBLE_PLUS",
"MINUS",
"ASTERISK",
"DOUBLE_ASTERISK",
"SLASH",
"PERCENT",
"PIPE",
"DOUBLE_PIPE",
"AMPERSAND",
"DOUBLE_AMPERSAND",
"CARET",
"TILDE",
"EXCLAMATION_POINT",
"EqualityOperator",
"CompoundAssignmentOperator",
"ComparisonOperator",
"BitshiftOperator",
"IMAG",
"ImaginaryLiteral",
"BinaryIntegerLiteral",
"OctalIntegerLiteral",
"DecimalIntegerLiteral",
"HexIntegerLiteral",
"Identifier",
"HardwareQubit",
"FloatLiteral",
"TimingLiteral",
"BitstringLiteral",
"StringLiteral",
"Whitespace",
"Newline",
"LineComment",
"BlockComment",
"VERSION_IDENTIFER_WHITESPACE",
"VersionSpecifier",
"EAT_INITIAL_SPACE",
"EAT_LINE_END",
"RemainingLineContent",
]
ruleNames = [
"BRAKET",
"UNITARY",
"RESULT",
"NOISE",
"VERBATIM",
"STATE_VECTOR",
"PROBABILITY",
"DENSITY_MATRIX",
"AMPLITUDE",
"EXPECTATION",
"VARIANCE",
"SAMPLE",
"X",
"Y",
"Z",
"I",
"H",
"HERMITIAN",
"ALL",
"AT",
"BIT_FLIP",
"PHASE_FLIP",
"PAULI_CHANNEL",
"DEPOLARIZING",
"TWO_QUBIT_DEPOLARIZING",
"TWO_QUBIT_DEPHASING",
"AMPLITUDE_DAMPING",
"GENERALIZED_AMPLITUDE_DAMPING",
"PHASE_DAMPING",
"KRAUS",
"OPENQASM",
"INCLUDE",
"DEFCALGRAMMAR",
"DEF",
"DEFCAL",
"GATE",
"EXTERN",
"BOX",
"LET",
"BREAK",
"CONTINUE",
"IF",
"ELSE",
"END",
"RETURN",
"FOR",
"WHILE",
"IN",
"PRAGMA",
"AnnotationKeyword",
"INPUT",
"OUTPUT",
"CONST",
"MUTABLE",
"QREG",
"QUBIT",
"CREG",
"BOOL",
"BIT",
"INT",
"UINT",
"FLOAT",
"ANGLE",
"COMPLEX",
"ARRAY",
"DURATION",
"STRETCH",
"GPHASE",
"INV",
"POW",
"CTRL",
"NEGCTRL",
"DIM",
"DURATIONOF",
"DELAY",
"RESET",
"MEASURE",
"BARRIER",
"BooleanLiteral",
"LBRACKET",
"RBRACKET",
"LBRACE",
"RBRACE",
"LPAREN",
"RPAREN",
"COLON",
"SEMICOLON",
"DOT",
"COMMA",
"EQUALS",
"ARROW",
"PLUS",
"DOUBLE_PLUS",
"MINUS",
"ASTERISK",
"DOUBLE_ASTERISK",
"SLASH",
"PERCENT",
"PIPE",
"DOUBLE_PIPE",
"AMPERSAND",
"DOUBLE_AMPERSAND",
"CARET",
"TILDE",
"EXCLAMATION_POINT",
"EqualityOperator",
"CompoundAssignmentOperator",
"ComparisonOperator",
"BitshiftOperator",
"IMAG",
"ImaginaryLiteral",
"BinaryIntegerLiteral",
"OctalIntegerLiteral",
"DecimalIntegerLiteral",
"HexIntegerLiteral",
"ValidUnicode",
"Letter",
"FirstIdCharacter",
"GeneralIdCharacter",
"Identifier",
"HardwareQubit",
"FloatLiteralExponent",
"FloatLiteral",
"TimeUnit",
"TimingLiteral",
"BitstringLiteral",
"StringLiteral",
"Whitespace",
"Newline",
"LineComment",
"BlockComment",
"VERSION_IDENTIFER_WHITESPACE",
"VersionSpecifier",
"EAT_INITIAL_SPACE",
"EAT_LINE_END",
"RemainingLineContent",
]
grammarFileName = "BraketPragmasLexer.g4"
def __init__(self, input=None, output: TextIO = sys.stdout):
super().__init__(input, output)
self.checkVersion("4.13.2")
self._interp = LexerATNSimulator(
self, self.atn, self.decisionsToDFA, PredictionContextCache()
)
self._actions = None
self._predicates = None