summaryrefslogtreecommitdiff
path: root/src/buildvm_x64.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64.h')
-rw-r--r--src/buildvm_x64.h2932
1 files changed, 1791 insertions, 1141 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index cdf67093..87115fe3 100644
--- a/src/buildvm_x64.h
+++ b/src/buildvm_x64.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[14600] = { 15static const unsigned char build_actionlist[15908] = {
16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, 16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, 17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, 18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133,
@@ -57,420 +57,430 @@ static const unsigned char build_actionlist[14600] = {
57 24,137,151,233,137,202,72,139,8,72,137,77,0,137,252,238,252,233,244,33,248, 57 24,137,151,233,137,202,72,139,8,72,137,77,0,137,252,238,252,233,244,33,248,
58 34,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,244,247, 58 34,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,244,247,
59 65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,35,15,182, 59 65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,35,15,182,
60 67,252,254,255,252,242,15,42,192,252,242,15,17,4,36,255,72,141,4,36,252,233, 60 67,252,254,255,199,68,36,4,237,137,4,36,255,252,242,15,42,192,252,242,15,
61 244,247,248,36,15,182,67,252,254,141,4,194,248,1,15,182,107,252,255,141,44, 61 17,4,36,255,72,141,4,36,252,233,244,247,248,36,15,182,67,252,254,141,4,194,
62 252,234,248,2,139,124,36,24,137,151,233,137,252,238,72,137,194,137,252,253, 62 248,1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,24,137,151,233,137,
63 137,92,36,28,232,251,1,1,139,149,233,133,192,15,132,244,249,248,32,15,182, 63 252,238,72,137,194,137,252,253,137,92,36,28,232,251,1,1,139,149,233,133,192,
64 75,252,253,72,139,40,72,137,44,202,139,3,15,182,204,15,182,232,131,195,4, 64 15,132,244,249,248,32,15,182,75,252,253,72,139,40,72,137,44,202,139,3,15,
65 193,232,16,65,252,255,36,252,238,248,3,139,141,233,137,89,252,244,141,153, 65 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141,
66 233,41,211,139,105,252,248,184,237,252,233,244,29,248,37,137,4,36,199,68, 66 233,137,89,252,244,141,153,233,41,211,139,105,252,248,184,237,252,233,244,
67 36,4,237,72,141,4,36,128,123,252,252,235,15,133,244,247,255,65,141,142,233, 67 29,248,37,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,
68 137,41,199,65,4,237,137,205,252,233,244,248,248,38,15,182,67,252,254,255, 68 244,247,255,65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,
69 72,141,4,36,252,233,244,247,248,39,15,182,67,252,254,141,4,194,248,1,15,182, 69 38,15,182,67,252,254,255,72,141,4,36,252,233,244,247,248,39,15,182,67,252,
70 107,252,255,141,44,252,234,248,2,139,124,36,24,137,151,233,137,252,238,72, 70 254,141,4,194,248,1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,24,
71 137,194,137,252,253,137,92,36,28,232,251,1,2,139,149,233,133,192,15,132,244, 71 137,151,233,137,252,238,72,137,194,137,252,253,137,92,36,28,232,251,1,2,139,
72 249,15,182,75,252,253,72,139,44,202,72,137,40,248,40,139,3,15,182,204,15, 72 149,233,133,192,15,132,244,249,15,182,75,252,253,72,139,44,202,72,137,40,
73 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141,233,137, 73 248,40,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
74 89,252,244,15,182,67,252,253,72,139,44,194,72,137,105,16,141,153,233,41,211, 74 238,248,3,139,141,233,137,89,252,244,15,182,67,252,253,72,139,44,194,72,137,
75 139,105,252,248,184,237,252,233,244,29,248,41,139,108,36,24,137,149,233,141, 75 105,16,141,153,233,41,211,139,105,252,248,184,237,252,233,244,29,248,41,139,
76 52,202,141,20,194,137,252,239,15,182,75,252,252,137,92,36,28,232,251,1,3, 76 108,36,24,137,149,233,141,52,202,141,20,194,137,252,239,15,182,75,252,252,
77 248,3,139,149,233,255,131,252,248,1,15,135,244,42,248,4,141,91,4,15,130,244, 77 137,92,36,28,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244,42,
78 252,248,5,15,183,67,252,254,141,156,253,131,233,248,6,139,3,15,182,204,15, 78 248,4,141,91,4,15,130,244,252,248,5,15,183,67,252,254,141,156,253,131,233,
79 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,43,131,195,4,129,120, 79 248,6,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
80 253,4,239,15,130,244,5,252,233,244,6,248,44,129,120,253,4,239,252,233,244, 80 238,248,43,131,195,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,44,
81 4,248,45,131,252,235,4,137,206,137,252,233,139,108,36,24,137,149,233,255, 81 129,120,253,4,239,252,233,244,4,248,45,131,252,235,4,137,206,137,252,233,
82 137,194,137,252,239,137,92,36,28,232,251,1,4,252,233,244,3,248,46,255,131, 82 139,108,36,24,137,149,233,255,137,194,137,252,239,137,92,36,28,232,251,1,
83 252,235,4,139,108,36,24,137,149,233,137,252,239,139,115,252,252,137,92,36, 83 4,252,233,244,3,248,46,255,131,252,235,4,139,108,36,24,137,149,233,137,252,
84 28,232,251,1,5,252,233,244,3,255,248,47,65,141,4,199,252,233,244,247,248, 84 239,139,115,252,252,137,92,36,28,232,251,1,5,252,233,244,3,255,248,47,255,
85 48,65,141,4,199,141,44,252,234,149,252,233,244,248,248,49,141,4,194,137,197, 85 15,182,107,252,255,255,248,48,65,141,4,199,252,233,244,247,248,49,255,248,
86 252,233,244,248,248,50,141,4,194,248,1,141,44,252,234,248,2,141,12,202,68, 86 50,65,141,4,199,141,44,252,234,149,252,233,244,248,248,51,141,4,194,137,197,
87 15,182,67,252,252,137,206,137,193,139,124,36,24,137,151,233,137,252,234,137, 87 252,233,244,248,248,52,255,248,53,141,4,194,248,1,141,44,252,234,248,2,141,
88 252,253,137,92,36,28,232,251,1,6,139,149,233,133,192,15,132,244,40,248,42, 88 12,202,68,15,182,67,252,252,137,206,137,193,139,124,36,24,137,151,233,137,
89 137,193,41,208,137,89,252,244,141,152,233,184,237,252,233,244,27,248,51,255, 89 252,234,137,252,253,137,92,36,28,232,251,1,6,139,149,233,133,192,15,132,244,
90 139,108,36,24,137,149,233,141,52,194,137,252,239,137,92,36,28,232,251,1,7, 90 40,248,42,137,193,41,208,137,89,252,244,141,152,233,184,237,252,233,244,27,
91 139,149,233,252,233,244,42,248,52,141,76,202,8,248,28,137,76,36,4,137,4,36, 91 248,54,139,108,36,24,137,149,233,141,52,194,137,252,239,137,92,36,28,232,
92 131,252,233,8,139,108,36,24,137,149,233,137,206,141,20,193,137,252,239,137, 92 251,1,7,139,149,233,252,233,244,42,248,55,141,76,202,8,248,28,137,76,36,4,
93 92,36,28,232,251,1,8,139,149,233,139,76,36,4,139,4,36,139,105,252,248,131, 93 137,4,36,131,252,233,8,139,108,36,24,137,149,233,255,137,206,141,20,193,137,
94 192,1,65,57,215,15,132,244,53,137,202,137,90,252,252,139,157,233,139,11,15, 94 252,239,137,92,36,28,232,251,1,8,139,149,233,139,76,36,4,139,4,36,139,105,
95 182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,54,139,108,36, 95 252,248,131,192,1,65,57,215,15,132,244,56,137,202,137,90,252,252,139,157,
96 24,137,149,233,137,206,137,252,239,137,92,36,28,232,251,1,9,139,149,233,139, 96 233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,
97 67,252,252,15,182,204,15,182,232,193,232,16,65,252,255,164,253,252,238,233, 97 57,139,108,36,24,137,149,233,137,206,137,252,239,137,92,36,28,232,251,1,9,
98 248,55,129,252,248,239,15,130,244,56,139,106,4,129,252,253,239,255,15,131, 98 139,149,233,139,67,252,252,15,182,204,15,182,232,193,232,16,65,252,255,164,
99 244,56,139,90,252,252,137,68,36,4,137,106,252,252,139,42,137,106,252,248, 99 253,252,238,233,248,58,129,252,248,239,15,130,244,59,139,106,4,129,252,253,
100 131,232,2,15,132,244,248,137,209,248,1,131,193,8,72,139,41,72,137,105,252, 100 239,15,131,244,59,139,90,252,252,137,68,36,4,137,106,252,252,139,42,137,106,
101 248,131,232,1,15,133,244,1,248,2,139,68,36,4,252,233,244,57,248,58,129,252, 101 252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,72,139,41,72,137,
102 248,239,15,130,244,56,139,106,4,137,252,233,193,252,249,15,131,252,249,252, 102 105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,4,252,233,244,60,248,
103 254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244, 103 61,129,252,248,239,15,130,244,59,139,106,4,137,252,233,193,252,249,15,131,
104 247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,90,252, 104 252,249,252,254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255,
105 252,199,66,252,252,237,137,66,252,248,252,233,244,59,248,3,184,237,252,233, 105 15,134,244,247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,
106 244,2,248,60,129,252,248,239,15,130,244,56,139,106,4,139,90,252,252,129,252, 106 139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,62,248,3,184,
107 253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,66, 107 237,252,233,244,2,248,63,129,252,248,239,15,130,244,59,139,106,4,139,90,252,
108 252,252,237,255,15,132,244,59,65,139,134,233,199,66,252,252,237,137,106,252, 108 252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,
109 248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15, 109 237,199,66,252,252,237,255,15,132,244,62,65,139,134,233,199,66,252,252,237,
110 133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244, 110 137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,
111 3,255,252,233,244,59,248,5,139,105,4,129,252,253,239,15,132,244,59,139,1, 111 233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,
112 137,106,252,252,137,66,252,248,252,233,244,59,248,6,129,252,253,239,15,132, 112 15,133,244,3,255,252,233,244,62,248,5,139,105,4,129,252,253,239,15,132,244,
113 244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,65,139,172, 113 62,139,1,137,106,252,252,137,66,252,248,252,233,244,62,248,6,129,252,253,
114 253,174,233,252,233,244,2,248,61,255,129,252,248,239,15,130,244,56,129,122, 114 239,15,132,244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,
115 253,4,239,15,133,244,56,139,42,131,189,233,0,15,133,244,56,129,122,253,12, 115 65,139,172,253,174,233,252,233,244,2,248,64,255,129,252,248,239,15,130,244,
116 239,15,133,244,56,139,66,8,137,133,233,139,90,252,252,199,66,252,252,237, 116 59,129,122,253,4,239,15,133,244,59,139,42,131,189,233,0,15,133,244,59,129,
117 137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,255,65, 117 122,253,12,239,15,133,244,59,139,66,8,137,133,233,139,90,252,252,199,66,252,
118 139,134,233,65,137,174,233,137,133,233,248,1,252,233,244,59,248,62,129,252, 118 252,237,137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,
119 248,239,15,130,244,56,129,122,253,4,239,15,133,244,56,137,213,139,50,141, 119 255,65,139,134,233,65,137,174,233,137,133,233,248,1,252,233,244,62,248,65,
120 82,8,139,124,36,24,232,251,1,10,137,252,234,72,139,40,139,90,252,252,72,137, 120 129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59,137,213,139,
121 106,252,248,252,233,244,59,248,63,129,252,248,239,15,133,244,56,129,122,253, 121 50,141,82,8,139,124,36,24,232,251,1,10,137,252,234,72,139,40,139,90,252,252,
122 4,239,255,15,135,244,56,255,252,242,15,16,2,252,233,244,64,255,221,2,252, 122 72,137,106,252,248,252,233,244,62,248,66,129,252,248,239,15,133,244,59,129,
123 233,244,65,255,248,66,129,252,248,239,15,130,244,56,139,90,252,252,129,122, 123 122,253,4,239,255,15,133,244,247,139,42,252,233,244,67,248,1,15,135,244,59,
124 253,4,239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252, 124 255,15,131,244,59,255,252,242,15,16,2,252,233,244,68,255,221,2,252,233,244,
125 233,244,59,248,3,129,122,253,4,239,15,135,244,56,65,131,190,233,0,15,133, 125 69,255,248,70,129,252,248,239,15,130,244,59,139,90,252,252,129,122,253,4,
126 244,56,65,139,174,233,65,59,174,233,255,15,130,244,247,232,244,67,248,1,139, 126 239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,
127 108,36,24,137,149,233,137,92,36,28,137,214,137,252,239,232,251,1,11,139,149, 127 244,62,248,3,129,122,253,4,239,15,135,244,59,65,131,190,233,0,15,133,244,
128 233,252,233,244,2,248,68,129,252,248,239,15,130,244,56,15,132,244,248,248, 128 59,65,139,174,233,65,59,174,233,255,15,130,244,247,232,244,71,248,1,139,108,
129 1,129,122,253,4,239,15,133,244,56,139,108,36,24,137,149,233,255,137,149,233, 129 36,24,137,149,233,137,92,36,28,137,214,137,252,239,255,232,251,1,11,255,232,
130 139,90,252,252,139,50,141,82,8,137,252,239,137,92,36,28,232,251,1,12,139, 130 251,1,12,255,139,149,233,252,233,244,2,248,72,129,252,248,239,15,130,244,
131 149,233,133,192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248, 131 59,15,132,244,248,248,1,129,122,253,4,239,15,133,244,59,139,108,36,24,137,
132 72,137,2,248,69,184,237,252,233,244,70,248,2,199,66,12,237,252,233,244,1, 132 149,233,137,149,233,139,90,252,252,139,50,141,82,8,137,252,239,137,92,36,
133 248,3,199,66,252,252,237,252,233,244,59,248,71,129,252,248,239,15,130,244, 133 28,232,251,1,13,139,149,233,133,192,15,132,244,249,72,139,106,8,72,139,66,
134 56,255,139,42,129,122,253,4,239,15,133,244,56,255,131,189,233,0,15,133,244, 134 16,72,137,106,252,248,72,137,2,248,73,184,237,255,252,233,244,74,248,2,199,
135 56,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252,237,137, 135 66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,62,248,75,129,
136 66,252,248,199,66,12,237,184,237,252,233,244,70,248,72,129,252,248,239,15, 136 252,248,239,15,130,244,59,139,42,129,122,253,4,239,15,133,244,59,255,131,
137 130,244,56,129,122,253,4,239,15,133,244,56,129,122,253,12,239,15,135,244, 137 189,233,0,15,133,244,59,255,139,106,252,248,139,133,233,139,90,252,252,199,
138 56,139,90,252,252,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110,205, 138 66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,74,248,76,
139 252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248,255,139,42,59, 139 129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59,129,122,253,
140 133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,132, 140 12,239,255,139,90,252,252,255,139,66,8,131,192,1,199,66,252,252,237,137,66,
141 244,73,72,139,40,72,137,42,252,233,244,69,248,2,131,189,233,0,15,132,244, 141 252,248,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,
142 73,137,252,239,137,213,137,198,232,251,1,13,137,252,234,133,192,15,133,244, 142 88,193,252,242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,
143 1,248,73,184,237,252,233,244,70,248,74,255,129,252,248,239,15,130,244,56, 143 131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,77,72,
144 139,42,129,122,253,4,239,15,133,244,56,255,139,106,252,248,139,133,233,139, 144 139,40,72,137,42,252,233,244,73,248,2,131,189,233,0,15,132,244,77,137,252,
145 90,252,252,199,66,252,252,237,137,66,252,248,255,15,87,192,252,242,15,17, 145 239,137,213,137,198,232,251,1,14,137,252,234,133,192,15,133,244,1,248,77,
146 66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,70,248,75,129,252,248, 146 184,237,252,233,244,74,248,78,255,139,106,252,248,139,133,233,139,90,252,
147 239,15,130,244,56,141,74,8,131,232,1,187,237,248,1,65,15,182,174,233,193, 147 252,199,66,252,252,237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0,
148 252,237,235,131,229,1,1,252,235,252,233,244,27,248,76,129,252,248,239,15, 148 255,15,87,192,252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,
149 130,244,56,129,122,253,12,239,15,133,244,56,255,139,106,4,137,106,12,199, 149 233,244,74,248,79,129,252,248,239,15,130,244,59,141,74,8,131,232,1,187,237,
150 66,4,237,139,42,139,90,8,137,106,8,137,26,141,74,16,131,232,2,187,237,252, 150 248,1,65,15,182,174,233,193,252,237,235,131,229,1,1,252,235,252,233,244,27,
151 233,244,1,248,77,129,252,248,239,15,130,244,56,139,42,139,90,252,252,137, 151 248,80,129,252,248,239,15,130,244,59,129,122,253,12,239,15,133,244,59,255,
152 92,36,28,137,44,36,129,122,253,4,239,15,133,244,56,72,131,189,233,0,15,133, 152 139,106,4,137,106,12,199,66,4,237,139,42,139,90,8,137,106,8,137,26,141,74,
153 244,56,128,189,233,235,15,135,244,56,139,141,233,15,132,244,247,255,59,141, 153 16,131,232,2,187,237,252,233,244,1,248,81,129,252,248,239,15,130,244,59,139,
154 233,15,132,244,56,248,1,141,92,193,252,240,59,157,233,15,135,244,56,137,157, 154 42,139,90,252,252,137,92,36,28,137,44,36,129,122,253,4,239,15,133,244,59,
155 233,139,108,36,24,137,149,233,131,194,8,137,149,233,141,108,194,232,72,41, 155 72,131,189,233,0,15,133,244,59,128,189,233,235,15,135,244,59,139,141,233,
156 221,57,203,15,132,244,249,248,2,72,139,4,43,72,137,67,252,248,131,252,235, 156 15,132,244,247,255,59,141,233,15,132,244,59,248,1,141,92,193,252,240,59,157,
157 8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,24,65,199,134,233,237, 157 233,15,135,244,59,137,157,233,139,108,36,24,137,149,233,131,194,8,137,149,
158 255,139,108,36,24,139,28,36,139,149,233,129,252,248,239,15,135,244,254,248, 158 233,141,108,194,232,72,41,221,57,203,15,132,244,249,248,2,72,139,4,43,72,
159 4,139,139,233,68,139,187,233,137,139,233,68,137,252,251,41,203,15,132,244, 159 137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,36,
160 252,141,4,26,193,252,235,3,59,133,233,15,135,244,255,137,213,72,41,205,248, 160 232,244,24,65,199,134,233,237,255,139,108,36,24,139,28,36,139,149,233,129,
161 5,72,139,1,72,137,4,41,131,193,8,68,57,252,249,15,133,244,5,248,6,141,67, 161 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68,
162 2,199,66,252,252,237,248,7,139,92,36,28,137,68,36,4,72,199,193,252,248,252, 162 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135,
163 255,252,255,252,255,252,247,195,237,255,15,132,244,13,252,233,244,14,248, 163 244,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,68,57,252,
164 8,199,66,252,252,237,139,139,233,131,252,233,8,137,139,233,72,139,1,72,137, 164 249,15,133,244,5,248,6,141,67,2,199,66,252,252,237,248,7,139,92,36,28,137,
165 2,184,237,252,233,244,7,248,9,139,12,36,68,137,185,233,137,222,137,252,239, 165 68,36,4,72,199,193,252,248,252,255,252,255,252,255,252,247,195,237,255,15,
166 232,251,1,0,139,28,36,139,149,233,252,233,244,4,248,78,139,106,252,248,139, 166 132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,139,233,131,252,233,
167 173,233,139,90,252,252,137,92,36,28,137,44,36,72,131,189,233,0,15,133,244, 167 8,137,139,233,72,139,1,72,137,2,184,237,252,233,244,7,248,9,139,12,36,68,
168 56,255,128,189,233,235,15,135,244,56,139,141,233,15,132,244,247,59,141,233, 168 137,185,233,137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233,
169 15,132,244,56,248,1,141,92,193,252,248,59,157,233,15,135,244,56,137,157,233, 169 244,4,248,82,139,106,252,248,139,173,233,139,90,252,252,137,92,36,28,137,
170 139,108,36,24,137,149,233,137,149,233,141,108,194,252,240,72,41,221,57,203, 170 44,36,72,131,189,233,0,15,133,244,59,255,128,189,233,235,15,135,244,59,139,
171 15,132,244,249,248,2,255,72,139,4,43,72,137,67,252,248,131,252,235,8,57,203, 171 141,233,15,132,244,247,59,141,233,15,132,244,59,248,1,141,92,193,252,248,
172 15,133,244,2,248,3,137,206,139,60,36,232,244,24,65,199,134,233,237,139,108, 172 59,157,233,15,135,244,59,137,157,233,139,108,36,24,137,149,233,137,149,233,
173 36,24,139,28,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,139, 173 141,108,194,252,240,72,41,221,57,203,15,132,244,249,248,2,255,72,139,4,43,
174 233,68,139,187,233,137,139,233,68,137,252,251,41,203,15,132,244,252,141,4, 174 72,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,
175 26,193,252,235,3,59,133,233,15,135,244,255,255,137,213,72,41,205,248,5,72, 175 36,232,244,24,65,199,134,233,237,139,108,36,24,139,28,36,139,149,233,129,
176 139,1,72,137,4,41,131,193,8,68,57,252,249,15,133,244,5,248,6,141,67,1,248, 176 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68,
177 7,139,92,36,28,137,68,36,4,49,201,252,247,195,237,15,132,244,13,252,233,244, 177 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135,
178 14,248,8,137,222,137,252,239,232,251,1,14,248,9,139,12,36,68,137,185,233, 178 244,255,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,68,57,
179 137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233,244,4,248,79, 179 252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,28,137,68,36,4,49,201,
180 139,108,36,24,72,252,247,133,233,237,15,132,244,56,255,137,149,233,141,68, 180 252,247,195,237,15,132,244,13,252,233,244,14,248,8,137,222,137,252,239,232,
181 194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133,233,252,233, 181 251,1,15,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,251,1,0,139,
182 244,16,255,248,65,139,90,252,252,221,90,252,248,252,233,244,59,248,80,129, 182 28,36,139,149,233,252,233,244,4,248,83,139,108,36,24,72,252,247,133,233,237,
183 252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2, 183 15,132,244,59,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72,137,
184 72,184,237,237,102,72,15,110,200,15,84,193,248,64,139,90,252,252,252,242, 184 133,233,176,235,136,133,233,252,233,244,16,255,248,67,255,248,69,139,90,252,
185 15,17,66,252,248,255,248,80,129,252,248,239,15,130,244,56,129,122,253,4,239, 185 252,221,90,252,248,252,233,244,62,255,248,84,129,252,248,239,15,130,244,59,
186 15,135,244,56,221,2,217,225,248,64,248,65,139,90,252,252,221,90,252,248,255, 186 255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244,67,252,
187 248,59,184,237,248,70,137,68,36,4,248,57,252,247,195,237,15,133,244,253,248, 187 247,221,15,136,244,247,248,85,248,67,139,90,252,252,199,66,252,252,237,137,
188 5,56,67,252,255,15,135,244,252,15,182,75,252,253,72,252,247,209,141,20,202, 188 106,252,248,252,233,244,62,248,1,139,90,252,252,199,66,252,252,0,0,224,65,
189 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248, 189 199,66,252,248,0,0,0,0,252,233,244,62,248,2,15,135,244,59,255,129,122,253,
190 6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248, 190 4,239,15,131,244,59,255,252,242,15,16,2,72,184,237,237,102,72,15,110,200,
191 252,255,252,255,252,255,252,233,244,14,255,248,81,129,252,248,239,15,130, 191 15,84,193,248,68,139,90,252,252,252,242,15,17,66,252,248,255,221,2,217,225,
192 244,56,129,122,253,4,239,15,135,244,56,252,242,15,81,2,252,233,244,64,248, 192 248,68,248,69,139,90,252,252,221,90,252,248,255,248,62,184,237,248,74,137,
193 82,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242, 193 68,36,4,248,60,252,247,195,237,15,133,244,253,248,5,56,67,252,255,15,135,
194 15,16,2,232,244,83,252,233,244,64,248,84,255,129,252,248,239,15,130,244,56, 194 244,252,15,182,75,252,253,72,252,247,209,141,20,202,139,3,15,182,204,15,182,
195 129,122,253,4,239,15,135,244,56,252,242,15,16,2,232,244,85,252,233,244,64, 195 232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,199,68,194,252,244,237,
196 255,248,81,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56, 196 131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,252,255,
197 221,2,217,252,250,252,233,244,65,248,82,129,252,248,239,15,130,244,56,129, 197 252,233,244,14,248,86,255,129,122,253,4,239,15,133,244,247,139,42,252,233,
198 122,253,4,239,15,135,244,56,221,2,232,244,83,252,233,244,65,248,84,255,129, 198 244,67,248,1,15,135,244,59,255,252,242,15,16,2,232,244,87,255,252,242,15,
199 252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,232,244,85, 199 45,232,129,252,253,0,0,0,128,15,133,244,67,252,242,15,42,205,102,15,46,193,
200 252,233,244,65,255,248,86,129,252,248,239,15,130,244,56,129,122,253,4,239, 200 15,138,244,68,15,132,244,67,255,221,2,232,244,87,255,248,88,255,252,242,15,
201 15,135,244,56,217,252,237,221,2,217,252,241,252,233,244,65,248,87,129,252, 201 16,2,232,244,89,255,221,2,232,244,89,255,248,90,129,252,248,239,15,130,244,
202 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,217,252,236,221,2,217, 202 59,129,122,253,4,239,15,131,244,59,252,242,15,81,2,252,233,244,68,255,248,
203 252,241,252,233,244,65,248,88,129,252,248,239,255,15,130,244,56,129,122,253, 203 90,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217,
204 4,239,15,135,244,56,221,2,232,244,89,252,233,244,65,248,90,129,252,248,239, 204 252,250,252,233,244,69,255,248,91,129,252,248,239,15,130,244,59,129,122,253,
205 15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,217,252,254,252,233,244, 205 4,239,15,131,244,59,217,252,237,221,2,217,252,241,252,233,244,69,248,92,129,
206 65,248,91,129,252,248,239,255,15,130,244,56,129,122,253,4,239,15,135,244, 206 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,217,252,236,221,
207 56,221,2,217,252,255,252,233,244,65,248,92,129,252,248,239,15,130,244,56, 207 2,217,252,241,252,233,244,69,248,93,129,252,248,239,255,15,130,244,59,129,
208 129,122,253,4,239,15,135,244,56,221,2,217,252,242,221,216,252,233,244,65, 208 122,253,4,239,15,131,244,59,221,2,232,244,94,252,233,244,69,248,95,129,252,
209 248,93,129,252,248,239,15,130,244,56,255,129,122,253,4,239,15,135,244,56, 209 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217,252,254,252,
210 221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,233,244, 210 233,244,69,248,96,129,252,248,239,255,15,130,244,59,129,122,253,4,239,15,
211 65,248,94,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221, 211 131,244,59,221,2,217,252,255,252,233,244,69,248,97,129,252,248,239,15,130,
212 2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,243,252,233, 212 244,59,129,122,253,4,239,15,131,244,59,221,2,217,252,242,221,216,252,233,
213 244,65,248,95,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, 213 244,69,248,98,129,252,248,239,15,130,244,59,255,129,122,253,4,239,15,131,
214 56,255,221,2,217,232,217,252,243,252,233,244,65,255,248,96,129,252,248,239, 214 244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,
215 15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,255,137,213, 215 233,244,69,248,99,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,
216 232,251,1,15,137,252,234,252,233,244,64,255,248,97,129,252,248,239,15,130, 216 244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,
217 244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,255,137,213,232,251, 217 243,252,233,244,69,248,100,129,252,248,239,15,130,244,59,129,122,253,4,239,
218 1,16,137,252,234,252,233,244,64,255,248,98,129,252,248,239,15,130,244,56, 218 15,131,244,59,255,221,2,217,232,217,252,243,252,233,244,69,255,248,101,129,
219 129,122,253,4,239,15,135,244,56,252,242,15,16,2,255,137,213,232,251,1,17, 219 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,
220 137,252,234,252,233,244,64,248,99,255,248,100,129,252,248,239,15,130,244, 220 255,137,213,232,251,1,16,137,252,234,252,233,244,68,255,248,102,129,252,248,
221 56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,139,106,252,248,252,242, 221 239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,137,
222 15,89,133,233,252,233,244,64,255,248,100,129,252,248,239,15,130,244,56,129, 222 213,232,251,1,17,137,252,234,252,233,244,68,255,248,103,129,252,248,239,15,
223 122,253,4,239,15,135,244,56,221,2,139,106,252,248,220,141,233,252,233,244, 223 130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,137,213,232,
224 65,255,248,101,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, 224 251,1,18,137,252,234,252,233,244,68,248,104,255,248,105,129,252,248,239,15,
225 56,129,122,253,12,239,15,135,244,56,221,2,221,66,8,217,252,243,252,233,244, 225 130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,139,106,252,248,
226 65,248,102,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56, 226 252,242,15,89,133,233,252,233,244,68,255,248,105,129,252,248,239,15,130,244,
227 129,122,253,12,239,255,15,135,244,56,221,66,8,221,2,217,252,253,221,217,252, 227 59,129,122,253,4,239,15,131,244,59,221,2,139,106,252,248,220,141,233,252,
228 233,244,65,248,103,129,252,248,239,15,130,244,56,139,106,4,129,252,253,239, 228 233,244,69,255,248,106,129,252,248,239,15,130,244,59,129,122,253,4,239,15,
229 15,135,244,56,139,90,252,252,139,2,137,106,252,252,137,66,252,248,209,229, 229 131,244,59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,217,252,243,252,
230 129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252,254, 230 233,244,69,248,107,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,
231 3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197,255, 231 244,59,129,122,253,12,239,255,15,131,244,59,221,66,8,221,2,217,252,253,221,
232 252,242,15,42,197,255,137,44,36,219,4,36,255,139,106,252,252,129,229,252, 232 217,252,233,244,69,248,108,129,252,248,239,15,130,244,59,139,106,4,129,252,
233 255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15, 233 253,239,15,131,244,59,139,90,252,252,139,2,137,106,252,252,137,66,252,248,
234 17,2,255,221,26,255,184,237,252,233,244,70,248,3,255,15,87,192,252,233,244, 234 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,
235 2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,72,189,237, 235 252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,
236 237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,66,252,248,255,221, 236 197,255,252,242,15,42,197,255,137,44,36,219,4,36,255,139,106,252,252,129,
237 2,199,4,36,0,0,128,90,216,12,36,221,90,252,248,255,139,106,252,252,184,52, 237 229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,252,
238 4,0,0,209,229,252,233,244,1,255,248,104,129,252,248,239,15,130,244,56,129, 238 242,15,17,2,255,221,26,255,184,237,252,233,244,74,248,3,255,15,87,192,252,
239 122,253,4,239,15,135,244,56,252,242,15,16,2,255,248,104,129,252,248,239,15, 239 233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,72,
240 130,244,56,129,122,253,4,239,15,135,244,56,221,2,255,139,106,4,139,90,252, 240 189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,66,252,248,
241 252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,232, 241 255,221,2,199,4,36,0,0,128,90,216,12,36,221,90,252,248,255,139,106,252,252,
242 244,105,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,34, 242 184,52,4,0,0,209,229,252,233,244,1,255,248,109,129,252,248,239,15,130,244,
243 255,217,192,232,244,105,220,252,233,248,1,221,90,252,248,221,26,255,139,66, 243 59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,248,109,129,252,248,
244 252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,70,248, 244 239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,255,139,106,4,139,
245 90,252,252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,
246 232,244,110,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,
247 34,255,217,192,232,244,110,220,252,233,248,1,221,90,252,248,221,26,255,139,
248 66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,74,248,
245 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233, 249 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233,
246 244,1,255,217,252,238,217,201,252,233,244,1,255,248,106,129,252,248,239,15, 250 244,1,255,217,252,238,217,201,252,233,244,1,255,248,111,129,252,248,239,15,
247 130,244,56,129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244, 251 130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,
248 56,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252, 252 59,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252,
249 233,244,65,255,248,107,129,252,248,239,15,130,244,56,129,122,253,4,239,15, 253 233,244,69,255,248,112,129,252,248,239,15,130,244,59,129,122,253,4,239,15,
250 135,244,56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252,242,15,16, 254 131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,
251 74,8,232,244,108,252,233,244,64,255,248,107,129,252,248,239,15,130,244,56, 255 74,8,232,244,113,252,233,244,68,255,248,112,129,252,248,239,15,130,244,59,
252 129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,221,2,221, 256 129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,221,2,221,
253 66,8,232,244,108,252,233,244,65,255,248,109,129,252,248,239,15,130,244,56, 257 66,8,232,244,113,252,233,244,69,255,248,114,185,2,0,0,0,129,122,253,4,239,
254 129,122,253,4,239,15,135,244,56,252,242,15,16,2,189,2,0,0,0,248,1,57,197, 258 255,15,133,244,250,139,42,248,1,57,193,15,131,244,67,129,124,253,202,252,
255 15,131,244,64,129,124,253,252,234,252,252,239,15,135,244,56,252,242,15,16, 259 252,239,15,133,244,249,59,108,202,252,248,15,79,108,202,252,248,131,193,1,
256 76,252,234,252,248,252,242,15,93,193,131,197,1,252,233,244,1,255,248,110, 260 252,233,244,1,248,3,15,135,244,59,255,252,233,244,252,248,4,15,135,244,59,
257 129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15, 261 255,252,242,15,16,2,248,5,57,193,15,131,244,68,129,124,253,202,252,252,239,
258 16,2,189,2,0,0,0,248,1,57,197,15,131,244,64,129,124,253,252,234,252,252,239, 262 255,15,130,244,252,15,135,244,59,252,242,15,42,76,202,252,248,252,233,244,
259 15,135,244,56,252,242,15,16,76,252,234,252,248,252,242,15,95,193,131,197, 263 253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,15,93,193,131,193,
260 1,252,233,244,1,255,248,5,221,216,252,233,244,56,255,248,111,129,252,248, 264 1,252,233,244,5,255,248,115,185,2,0,0,0,129,122,253,4,239,255,15,133,244,
261 239,15,130,244,56,129,122,253,4,239,15,133,244,56,139,42,255,252,242,15,42, 265 250,139,42,248,1,57,193,15,131,244,67,129,124,253,202,252,252,239,15,133,
262 133,233,252,233,244,64,255,219,133,233,252,233,244,65,255,248,112,129,252, 266 244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,1,252,233,244,1,
263 248,239,15,133,244,56,129,122,253,4,239,15,133,244,56,139,42,139,90,252,252, 267 248,3,15,135,244,59,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,
264 131,189,233,1,15,130,244,73,15,182,173,233,255,252,242,15,42,197,252,233, 268 15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233,244,59,255,248,
265 244,64,255,137,44,36,219,4,36,252,233,244,65,255,248,113,65,139,174,233,65, 269 116,129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59,139,42,
266 59,174,233,15,130,244,247,232,244,67,248,1,129,252,248,239,15,133,244,56, 270 255,139,173,233,252,233,244,67,255,252,242,15,42,133,233,252,233,244,68,255,
267 129,122,253,4,239,15,135,244,56,255,252,242,15,44,42,129,252,253,252,255, 271 219,133,233,252,233,244,69,255,248,117,129,252,248,239,15,133,244,59,129,
268 0,0,0,15,135,244,56,137,108,36,4,255,221,2,219,92,36,4,129,124,36,4,252,255, 272 122,253,4,239,15,133,244,59,139,42,139,90,252,252,131,189,233,1,15,130,244,
269 0,0,0,15,135,244,56,255,199,68,36,8,1,0,0,0,72,141,68,36,4,248,114,139,108, 273 77,15,182,173,233,255,252,242,15,42,197,252,233,244,68,255,137,44,36,219,
270 36,24,137,149,233,139,84,36,8,72,137,198,137,252,239,137,92,36,28,232,251, 274 4,36,252,233,244,69,255,248,118,65,139,174,233,65,59,174,233,15,130,244,247,
271 1,18,139,149,233,139,90,252,252,199,66,252,252,237,137,66,252,248,252,233, 275 232,244,71,248,1,129,252,248,239,15,133,244,59,129,122,253,4,239,255,15,133,
272 244,59,248,115,65,139,174,233,65,59,174,233,15,130,244,247,232,244,67,248, 276 244,59,139,42,129,252,253,252,255,0,0,0,15,135,244,59,137,108,36,4,255,15,
273 1,199,68,36,4,252,255,252,255,252,255,252,255,129,252,248,239,15,130,244, 277 131,244,59,252,242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,59,137,108,
274 56,15,134,244,247,129,122,253,20,239,255,252,242,15,44,106,16,137,108,36, 278 36,4,255,15,131,244,59,221,2,219,92,36,4,129,124,36,4,252,255,0,0,0,15,135,
275 4,255,221,66,16,219,92,36,4,255,248,1,129,122,253,4,239,15,133,244,56,129, 279 244,59,255,199,68,36,8,1,0,0,0,72,141,68,36,4,248,119,139,108,36,24,137,149,
276 122,253,12,239,15,135,244,56,139,42,137,108,36,8,139,173,233,255,252,242, 280 233,139,84,36,8,72,137,198,137,252,239,137,92,36,28,232,251,1,19,139,149,
277 15,44,74,8,255,139,68,36,4,57,197,15,130,244,251,248,2,133,201,15,142,244, 281 233,139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,62,248,120,
278 253,248,3,139,108,36,8,41,200,15,140,244,116,141,172,253,13,233,131,192,1, 282 65,139,174,233,65,59,174,233,15,130,244,247,232,244,71,248,1,199,68,36,4,
279 248,4,137,68,36,8,137,232,252,233,244,114,248,5,15,140,244,252,141,68,40, 283 252,255,252,255,252,255,252,255,129,252,248,239,15,130,244,59,15,134,244,
280 1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252, 284 247,129,122,253,20,239,255,15,133,244,59,139,106,16,137,108,36,4,255,15,131,
281 233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,116,49,192, 285 244,59,252,242,15,44,106,16,137,108,36,4,255,15,131,244,59,221,66,16,219,
282 252,233,244,4,248,117,129,252,248,239,15,130,244,56,65,139,174,233,65,59, 286 92,36,4,255,248,1,129,122,253,4,239,15,133,244,59,129,122,253,12,239,255,
283 174,233,15,130,244,247,232,244,67,248,1,255,129,122,253,4,239,15,133,244, 287 139,42,137,108,36,8,139,173,233,255,139,74,8,255,252,242,15,44,74,8,255,139,
284 56,129,122,253,12,239,15,135,244,56,139,42,255,252,242,15,44,66,8,255,221, 288 68,36,4,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,108,
285 66,8,219,92,36,4,139,68,36,4,255,133,192,15,142,244,116,131,189,233,1,15, 289 36,8,41,200,15,140,244,121,141,172,253,13,233,131,192,1,248,4,137,68,36,8,
286 130,244,116,15,133,244,118,65,57,134,233,15,130,244,118,15,182,141,233,65, 290 137,232,252,233,244,119,248,5,15,140,244,252,141,68,40,1,252,233,244,2,248,
287 139,174,233,137,68,36,8,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,65, 291 6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1,15,143,
288 139,134,233,252,233,244,114,248,119,129,252,248,239,255,15,130,244,56,65, 292 244,3,248,8,185,1,0,0,0,252,233,244,3,248,121,49,192,252,233,244,4,248,122,
289 139,174,233,65,59,174,233,15,130,244,247,232,244,67,248,1,129,122,253,4,239, 293 129,252,248,239,15,130,244,59,65,139,174,233,65,59,174,233,15,130,244,247,
290 15,133,244,56,139,42,139,133,233,133,192,15,132,244,116,65,57,134,233,15, 294 232,244,71,248,1,255,129,122,253,4,239,15,133,244,59,129,122,253,12,239,139,
291 130,244,120,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,248,1,255, 295 42,255,15,133,244,59,139,66,8,255,15,131,244,59,252,242,15,44,66,8,255,15,
292 15,182,77,0,131,197,1,131,232,1,136,12,3,15,133,244,1,137,216,139,92,36,4, 296 131,244,59,221,66,8,219,92,36,4,139,68,36,4,255,133,192,15,142,244,121,131,
293 252,233,244,114,248,121,129,252,248,239,15,130,244,56,65,139,174,233,65,59, 297 189,233,1,15,130,244,121,15,133,244,123,65,57,134,233,15,130,244,123,15,182,
294 174,233,15,130,244,247,232,244,67,248,1,129,122,253,4,239,15,133,244,56,139, 298 141,233,65,139,174,233,137,68,36,8,248,1,136,77,0,131,197,1,131,232,1,15,
295 42,139,133,233,65,57,134,233,255,15,130,244,120,129,197,239,137,92,36,4,137, 299 133,244,1,65,139,134,233,252,233,244,119,248,124,129,252,248,239,255,15,130,
296 68,36,8,65,139,158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,65, 300 244,59,65,139,174,233,65,59,174,233,15,130,244,247,232,244,71,248,1,129,122,
297 15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,12, 301 253,4,239,15,133,244,59,139,42,139,133,233,133,192,15,132,244,121,65,57,134,
298 3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,114,248,122, 302 233,15,130,244,125,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,248,
299 129,252,248,239,15,130,244,56,255,65,139,174,233,65,59,174,233,15,130,244, 303 1,255,15,182,77,0,131,197,1,131,232,1,136,12,3,15,133,244,1,137,216,139,92,
300 247,232,244,67,248,1,129,122,253,4,239,15,133,244,56,139,42,139,133,233,65, 304 36,4,252,233,244,119,248,126,129,252,248,239,15,130,244,59,65,139,174,233,
301 57,134,233,15,130,244,120,129,197,239,137,92,36,4,137,68,36,8,65,139,158, 305 65,59,174,233,15,130,244,247,232,244,71,248,1,129,122,253,4,239,15,133,244,
302 233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255, 306 59,139,42,139,133,233,65,57,134,233,255,15,130,244,125,129,197,239,137,92,
303 131,252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232, 307 36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,
304 1,15,137,244,1,137,216,139,92,36,4,252,233,244,114,248,123,129,252,248,239, 308 249,65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,
305 15,130,244,56,129,122,253,4,239,15,133,244,56,137,213,139,58,232,251,1,19, 309 136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,119,
306 137,252,234,255,252,242,15,42,192,252,233,244,64,255,248,124,129,252,248, 310 248,127,129,252,248,239,15,130,244,59,255,65,139,174,233,65,59,174,233,15,
307 239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72,189, 311 130,244,247,232,244,71,248,1,129,122,253,4,239,15,133,244,59,139,42,139,133,
308 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,252,242,15,42, 312 233,65,57,134,233,15,130,244,125,129,197,239,137,92,36,4,137,68,36,8,65,139,
309 197,252,233,244,64,255,248,125,129,252,248,239,15,130,244,56,129,122,253, 313 158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,
310 4,239,15,135,244,56,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252, 314 255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,
311 242,15,88,193,102,15,126,197,255,137,68,36,4,141,68,194,252,240,248,1,57, 315 232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,119,248,128,129,252,248,
312 208,15,134,244,126,129,120,253,4,239,15,135,244,127,255,252,242,15,16,0,252, 316 239,15,130,244,59,129,122,253,4,239,15,133,244,59,137,213,139,58,232,251,
313 242,15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,244,1,255,248,128, 317 1,20,137,252,234,255,137,197,252,233,244,67,255,252,242,15,42,192,252,233,
314 129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15, 318 244,68,255,248,129,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,
315 16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255, 319 85,248,1,15,135,244,59,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,
316 252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,248,129,129,252, 320 252,242,15,88,193,102,15,126,197,255,252,233,244,85,255,248,130,255,72,189,
317 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72, 321 237,237,102,72,15,110,205,255,199,4,36,0,0,192,89,255,15,133,244,247,139,
318 189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,242, 322 42,252,233,244,248,248,1,15,135,244,59,255,252,242,15,16,2,252,242,15,88,
319 15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,248,130,129,252,248,239, 323 193,102,15,126,197,255,248,2,137,68,36,4,141,68,194,252,240,248,1,57,208,
320 15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72,189,237, 324 15,134,244,85,129,120,253,4,239,255,15,133,244,248,35,40,131,232,8,252,233,
321 237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,15,205,252,233, 325 244,1,248,2,15,135,244,131,255,15,131,244,131,255,252,242,15,16,0,252,242,
322 244,126,255,248,131,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135, 326 15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,244,1,248,132,255,15,
323 244,56,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193, 327 133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,131,255,252,242,
324 102,15,126,197,255,252,247,213,255,248,126,252,242,15,42,197,252,233,244, 328 15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,131,232,8,252,233,244,
325 64,255,248,127,139,68,36,4,252,233,244,56,255,248,132,129,252,248,239,15, 329 1,248,133,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,15,135,244,
326 130,244,56,129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244, 330 131,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,131,232,
327 56,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252, 331 8,252,233,244,1,248,134,129,122,253,4,239,255,248,2,15,205,252,233,244,85,
328 242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255, 332 248,135,129,122,253,4,239,255,248,2,252,247,213,255,248,85,252,242,15,42,
329 211,229,137,193,252,233,244,126,255,248,133,129,252,248,239,15,130,244,56, 333 197,252,233,244,68,255,248,131,139,68,36,4,252,233,244,59,255,248,136,129,
330 129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252,242, 334 122,253,4,239,255,248,2,129,122,253,12,239,15,133,244,59,139,74,8,255,248,
331 15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88, 335 136,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122,
332 194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,252,237, 336 253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,
333 137,193,252,233,244,126,255,248,134,129,252,248,239,15,130,244,56,129,122, 337 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,
334 253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252,242,15,16,2, 338 15,126,201,255,211,229,252,233,244,85,255,248,137,129,122,253,4,239,255,248,
335 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 339 137,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122,
336 242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,252,253,137,193, 340 253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,
337 252,233,244,126,255,248,135,129,252,248,239,15,130,244,56,129,122,253,4,239, 341 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,
338 15,135,244,56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252,242,15, 342 15,126,201,255,211,252,237,252,233,244,85,255,248,138,129,122,253,4,239,255,
339 16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88, 343 248,138,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,
340 202,137,200,102,15,126,197,102,15,126,201,255,211,197,137,193,252,233,244, 344 122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189,237,
341 126,255,248,136,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, 345 237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,
342 56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252,242,15,16,74,8,72, 346 102,15,126,201,255,211,252,253,252,233,244,85,255,248,139,129,122,253,4,239,
343 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200, 347 255,248,139,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,
344 102,15,126,197,102,15,126,201,255,211,205,137,193,252,233,244,126,248,118, 348 129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189,
345 184,237,252,233,244,56,248,120,184,237,248,56,139,108,36,24,139,90,252,252, 349 237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,
346 137,92,36,28,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,66, 350 197,102,15,126,201,255,211,197,252,233,244,85,255,248,140,129,122,253,4,239,
347 252,248,59,141,233,15,135,244,251,137,252,239,252,255,144,233,139,149,233, 351 255,248,140,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,
348 133,192,15,143,244,70,248,1,255,139,141,233,41,209,193,252,233,3,133,192, 352 129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189,
349 141,65,1,139,106,252,248,15,133,244,248,139,157,233,139,11,15,182,252,233, 353 237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,
350 15,182,205,131,195,4,65,252,255,36,252,238,248,2,137,209,252,247,195,237, 354 197,102,15,126,201,255,211,205,252,233,244,85,248,123,184,237,252,233,244,
351 15,133,244,249,15,182,107,252,253,72,252,247,213,141,20,252,234,252,233,244, 355 59,248,125,184,237,248,59,139,108,36,24,139,90,252,252,137,92,36,28,137,149,
352 27,248,3,137,221,131,229,252,248,41,252,234,252,233,244,27,248,5,190,237, 356 233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,59,141,233,
353 137,252,239,232,251,1,0,139,149,233,49,192,252,233,244,1,248,67,93,72,137, 357 15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192,15,143,244,
354 108,36,8,139,108,36,24,137,92,36,28,137,149,233,255,141,68,194,252,248,137, 358 74,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252,
355 252,239,137,133,233,232,251,1,20,139,149,233,139,133,233,41,208,193,232,3, 359 248,15,133,244,248,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,
356 131,192,1,72,139,108,36,8,85,195,248,137,255,65,15,182,134,233,168,235,15, 360 65,252,255,36,252,238,248,2,137,209,252,247,195,237,15,133,244,249,15,182,
357 133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,65,252,255,142, 361 107,252,253,72,252,247,213,141,20,252,234,252,233,244,27,248,3,137,221,131,
358 233,252,233,244,247,255,248,138,65,15,182,134,233,168,235,15,133,244,251, 362 229,252,248,41,252,234,252,233,244,27,248,5,190,237,137,252,239,232,251,1,
359 252,233,244,247,248,139,65,15,182,134,233,168,235,15,133,244,251,168,235, 363 0,139,149,233,49,192,252,233,244,1,248,71,93,72,137,108,36,8,139,108,36,24,
360 15,132,244,251,65,252,255,142,233,15,132,244,247,168,235,15,132,244,251,248, 364 137,92,36,28,137,149,233,255,141,68,194,252,248,137,252,239,137,133,233,232,
361 1,255,139,108,36,24,137,149,233,137,222,137,252,239,232,251,1,21,248,3,139, 365 251,1,21,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36,
362 149,233,248,4,15,182,75,252,253,248,5,15,182,107,252,252,15,183,67,252,254, 366 8,85,195,248,141,255,65,15,182,134,233,168,235,15,133,244,251,168,235,15,
363 65,252,255,164,253,252,238,233,248,140,131,195,4,139,77,232,137,76,36,4,252, 367 133,244,247,168,235,15,132,244,247,65,252,255,142,233,252,233,244,247,255,
364 233,244,4,248,141,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194, 368 248,142,65,15,182,134,233,168,235,15,133,244,251,252,233,244,247,248,143,
365 139,108,36,24,137,149,233,137,133,233,137,222,65,141,190,233,73,137,174,233, 369 65,15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251,65,252,255,
366 137,92,36,28,232,251,1,22,252,233,244,3,255,248,142,137,92,36,28,255,248, 370 142,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,24,137,
367 143,255,137,92,36,28,131,203,1,248,1,255,141,68,194,252,248,139,108,36,24, 371 149,233,137,222,137,252,239,232,251,1,22,248,3,139,149,233,248,4,15,182,75,
368 137,149,233,137,133,233,137,222,137,252,239,232,251,1,23,199,68,36,28,0,0, 372 252,253,248,5,15,182,107,252,252,15,183,67,252,254,65,252,255,164,253,252,
369 0,0,255,131,227,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72, 373 238,233,248,144,131,195,4,139,77,232,137,76,36,4,252,233,244,4,248,145,255,
370 137,205,15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,144,255,65, 374 139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,24,137,149,
371 85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80, 375 233,137,133,233,137,222,65,141,190,233,73,137,174,233,137,92,36,28,232,251,
372 15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,68, 376 1,23,252,233,244,3,255,248,146,137,92,36,28,255,248,147,255,137,92,36,28,
373 139,117,0,65,139,142,233,65,199,134,233,237,65,137,134,233,65,137,142,233, 377 131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,137,149,233,137,133,
374 72,129,252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68, 378 233,137,222,137,252,239,232,251,1,24,199,68,36,28,0,0,0,0,255,131,227,252,
375 15,17,117,252,240,252,242,68,15,17,109,232,252,242,68,15,17,101,224,252,242, 379 254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,75,252,
376 68,15,17,93,216,252,242,68,15,17,85,208,252,242,68,15,17,77,200,252,242,68, 380 253,193,232,3,131,192,1,252,255,229,248,148,255,65,85,65,84,65,83,65,82,65,
377 15,17,69,192,252,242,15,17,125,184,252,242,15,17,117,176,252,242,15,17,109, 381 81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,248,138,101,
378 168,252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242, 382 252,240,76,137,125,252,248,76,137,117,252,240,68,139,117,0,65,139,142,233,
379 15,17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174, 383 65,199,134,233,237,65,137,134,233,65,137,142,233,72,129,252,236,239,72,131,
380 233,65,199,134,233,0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251, 384 197,128,252,242,68,15,17,125,252,248,252,242,68,15,17,117,252,240,252,242,
381 1,24,72,139,141,233,72,129,225,239,72,137,204,137,169,233,139,149,233,139, 385 68,15,17,109,232,252,242,68,15,17,101,224,252,242,68,15,17,93,216,252,242,
382 153,233,252,233,244,247,255,248,145,255,72,131,196,16,248,1,76,139,108,36, 386 68,15,17,85,208,252,242,68,15,17,77,200,252,242,68,15,17,69,192,252,242,15,
383 8,76,139,36,36,133,192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139, 387 17,125,184,252,242,15,17,117,176,252,242,15,17,109,168,252,242,15,17,101,
384 191,233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15, 388 160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,17,77,136,252,242,
385 182,204,15,182,232,131,195,4,193,232,16,129,252,253,239,15,130,244,248,139, 389 15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,233,65,199,134,233,
386 68,36,4,248,2,65,252,255,36,252,238,248,3,252,247,216,137,252,239,137,198, 390 0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,1,25,72,139,141,233,
387 232,251,1,25,255,248,83,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68, 391 72,129,225,239,72,137,204,137,169,233,139,149,233,139,153,233,252,233,244,
388 36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217, 392 247,255,248,149,255,72,131,196,16,248,1,76,139,108,36,8,76,139,36,36,133,
389 108,36,4,139,68,36,8,195,255,248,146,72,184,237,237,102,72,15,110,208,72, 393 192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,191,233,69,139,191,
390 184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134, 394 233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204,15,182,232,
391 244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72, 395 131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,68,36,4,248,2,65,
392 184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242, 396 252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,232,251,1,26,255,
393 15,92,200,15,40,193,248,1,195,248,85,255,217,124,36,4,137,68,36,8,102,184, 397 248,87,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,
394 0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217, 398 255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,
395 252,252,217,108,36,4,139,68,36,8,195,255,248,147,72,184,237,237,102,72,15, 399 36,8,195,255,248,150,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
396 110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46, 400 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
397 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102, 401 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,
398 15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84, 402 72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,
399 194,252,242,15,92,200,15,40,193,248,1,195,248,105,255,217,124,36,4,137,68, 403 193,248,1,195,248,89,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,
400 36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252, 404 4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
401 217,108,36,4,139,68,36,8,195,255,248,148,72,184,237,237,102,72,15,110,208, 405 36,4,139,68,36,8,195,255,248,151,72,184,237,237,102,72,15,110,208,72,184,
402 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, 406 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,
403 134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72, 407 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,
404 184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242, 408 237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,
405 15,92,200,102,15,86,202,15,40,193,248,1,195,248,149,255,15,40,232,252,242, 409 200,15,40,193,248,1,195,248,110,255,217,124,36,4,137,68,36,8,102,184,0,12,
406 15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216, 410 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
407 15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242, 411 68,36,8,195,255,248,152,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
408 15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208, 412 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
409 252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15, 413 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,
410 89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15, 414 15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,
411 92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36, 415 202,15,40,193,248,1,195,248,153,255,15,40,232,252,242,15,94,193,72,184,237,
412 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, 416 237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,
413 36,4,222,201,222,252,233,195,255,248,89,217,252,234,222,201,248,150,217,84, 417 226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,
414 36,252,248,129,124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248, 418 15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,
415 0,0,128,252,255,15,132,244,248,248,151,217,192,217,252,252,220,252,233,217, 419 1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,
416 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, 420 92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,
417 217,252,238,195,255,248,108,255,248,152,252,242,15,45,193,252,242,15,42,208, 421 193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,
418 102,15,46,202,15,133,244,254,15,138,244,255,248,153,131,252,248,1,15,142, 422 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,
419 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233, 423 233,195,255,248,94,217,252,234,222,201,248,154,217,84,36,252,248,129,124,
420 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209, 424 36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,255,
421 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4, 425 15,132,244,248,248,155,217,192,217,252,252,220,252,233,217,201,217,252,240,
422 252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216, 426 217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,
423 232,244,1,72,184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195, 427 255,248,113,255,248,156,252,242,15,45,193,252,242,15,42,208,102,15,46,202,
424 248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209, 428 15,133,244,254,15,138,244,255,248,157,131,252,248,1,15,142,244,252,248,1,
425 224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72, 429 169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,
426 209,224,15,132,244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244, 430 209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,
427 251,252,242,15,17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252, 431 250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,
428 240,221,68,36,252,248,217,252,241,217,192,217,252,252,220,252,233,217,201, 432 193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,232,244,1,72,
429 217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,252,248,252,242, 433 184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195,248,7,72,184,
430 15,16,68,36,252,248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46, 434 237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,
431 194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110, 435 12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15,132,
432 208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244, 436 244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,
433 1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72, 437 17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,240,221,68,36,
434 184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133, 438 252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,217,252,240,217,
435 244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195, 439 232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,15,16,68,36,252,
436 248,154,255,131,252,255,1,15,130,244,83,15,132,244,85,131,252,255,3,15,130, 440 248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,247,
437 244,105,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252, 441 15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84,194,
438 248,221,68,36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244, 442 72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,
439 89,252,233,244,253,248,1,232,244,150,255,252,233,244,253,248,2,131,252,255, 443 15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,
440 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244, 444 102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,
441 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9, 445 195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,158,255,131,
442 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244, 446 252,255,1,15,130,244,87,15,132,244,89,131,252,255,3,15,130,244,110,15,135,
443 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244, 447 244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,221,68,36,
444 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216, 448 252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,94,252,233,244,
445 248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12, 449 253,248,1,232,244,154,255,252,233,244,253,248,2,131,252,255,7,15,132,244,
446 221,68,36,4,131,252,255,1,15,130,244,83,15,132,244,85,131,252,255,3,15,130, 450 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1,
447 244,105,15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,89, 451 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,15,132,244,
448 15,132,244,150,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217, 452 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1,
449 201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255, 453 255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,247,15,135,
450 9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248, 454 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92,
451 1,217,252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217, 455 36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,221,68,36,4,
452 252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,155,255,131, 456 131,252,255,1,15,130,244,87,15,132,244,89,131,252,255,3,15,130,244,110,15,
453 252,255,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242, 457 135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,94,15,132,244,
454 15,92,193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15, 458 154,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
455 89,193,195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,149, 459 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,9,15,132,
456 15,132,244,108,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237, 460 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
457 255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200, 461 252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255,
458 15,84,193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252, 462 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,159,255,131,252,255,
459 248,252,242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132, 463 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,
460 244,247,217,252,243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195, 464 193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,193,
461 248,1,217,201,217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132, 465 195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,153,15,132,
462 244,247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195, 466 244,113,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102,
463 248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132, 467 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84,
464 244,247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248, 468 193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,252,
465 3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, 469 242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,247,
466 252,248,5,15,130,244,149,15,132,244,108,131,252,248,7,15,132,244,247,15,135, 470 217,252,243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,248,1,
471 217,201,217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132,244,
472 247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,
473 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,
474 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,
475 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,
476 252,248,5,15,130,244,153,15,132,244,113,131,252,248,7,15,132,244,247,15,135,
467 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, 477 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,
468 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, 478 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,
469 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, 479 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,
470 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, 480 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,
471 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, 481 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,
472 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, 482 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,
473 156,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,157, 483 160,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,161,
474 255,85,72,137,229,83,72,137,252,251,139,131,233,72,41,196,255,15,182,139, 484 255,85,72,137,229,83,72,137,252,251,139,131,233,72,41,196,255,15,182,139,
475 233,131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132, 485 233,131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132,
476 253,204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,187,233, 486 253,204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,187,233,
@@ -479,247 +489,298 @@ static const unsigned char build_actionlist[14600] = {
479 155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40,171,233,15,40,179, 489 155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40,171,233,15,40,179,
480 233,15,40,187,233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,137, 490 233,15,40,187,233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,137,
481 147,233,15,41,139,233,255,72,139,93,252,248,201,195,255,249,255,129,124,253, 491 147,233,15,41,139,233,255,72,139,93,252,248,201,195,255,249,255,129,124,253,
482 202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,15, 492 202,4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202,
483 16,4,194,131,195,4,102,15,46,4,202,255,221,4,202,221,4,194,131,195,4,255, 493 131,195,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244,
484 223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15, 494 255,255,15,142,244,255,255,248,6,15,183,67,252,254,141,156,253,131,233,248,
485 131,244,248,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,139,3,15, 495 9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
486 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108, 496 248,7,15,135,244,41,129,124,253,194,4,239,15,130,244,247,15,133,244,41,255,
487 194,4,131,195,4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135, 497 252,242,15,42,4,194,252,233,244,248,255,221,4,202,219,4,194,252,233,244,249,
488 244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255, 498 255,248,8,15,135,244,41,255,252,242,15,42,12,202,252,242,15,16,4,194,131,
489 15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1, 499 195,4,102,15,46,193,255,15,134,244,9,255,15,135,244,9,255,15,130,244,9,255,
490 15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183,67,252,254,141, 500 15,131,244,9,255,252,233,244,6,255,219,4,202,252,233,244,248,255,129,124,
491 156,253,131,233,248,1,255,248,5,255,129,252,253,239,15,132,244,46,129,124, 501 253,202,4,239,15,131,244,41,129,124,253,194,4,239,15,131,244,41,255,248,1,
492 253,202,4,239,15,132,244,46,255,57,108,202,4,15,133,244,2,129,252,253,239, 502 252,242,15,16,4,194,248,2,131,195,4,102,15,46,4,202,248,3,255,248,1,221,4,
493 15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15, 503 202,248,2,221,4,194,248,3,131,195,4,255,223,252,233,221,216,255,218,252,233,
494 135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133, 504 223,224,158,255,15,134,244,247,255,15,135,244,247,255,15,130,244,247,255,
495 244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,248,3,129,252, 505 15,131,244,247,255,15,183,67,252,254,141,156,253,131,233,248,1,139,3,15,182,
496 253,239,15,133,244,2,252,233,244,46,255,72,252,247,208,139,108,202,4,131, 506 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,
497 195,4,129,252,253,239,15,133,244,249,139,12,202,65,59,12,135,255,139,108, 507 4,131,195,4,255,129,252,253,239,15,133,244,253,129,124,253,202,4,239,15,133,
498 202,4,131,195,4,129,252,253,239,15,135,244,249,255,252,242,65,15,16,4,199, 508 244,254,139,44,194,59,44,202,255,15,133,244,255,255,15,132,244,255,255,15,
499 102,15,46,4,202,255,221,4,202,65,221,4,199,255,72,252,247,208,139,108,202, 509 183,67,252,254,141,156,253,131,233,248,9,139,3,15,182,204,15,182,232,131,
500 4,131,195,4,57,197,255,15,133,244,249,15,183,67,252,254,141,156,253,131,233, 510 195,4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,251,129,124,253,202,
501 248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 511 4,239,15,130,244,247,15,133,244,251,255,252,242,15,42,4,202,255,219,4,202,
502 238,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,15,132,244,248, 512 255,252,233,244,248,248,8,15,135,244,251,255,252,242,15,42,4,194,102,15,46,
503 129,252,253,239,15,132,244,46,15,183,67,252,254,141,156,253,131,233,248,2, 513 4,202,255,219,4,194,221,4,202,255,252,233,244,250,255,129,252,253,239,15,
504 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, 514 131,244,251,129,124,253,202,4,239,15,131,244,251,255,248,1,252,242,15,16,
505 139,108,194,4,131,195,4,129,252,253,239,255,15,131,244,247,255,15,130,244, 515 4,202,248,2,102,15,46,4,194,248,4,255,248,1,221,4,202,248,2,221,4,194,248,
506 247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,67,252,254,141,156, 516 4,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,
507 253,131,233,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, 517 248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183,67,252,
508 255,36,252,238,255,72,139,44,194,72,137,44,202,139,3,15,182,204,15,182,232, 518 254,141,156,253,131,233,248,1,255,252,233,244,9,255,248,5,255,129,252,253,
509 131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237,129,124,253,194, 519 239,15,132,244,46,129,124,253,202,4,239,15,132,244,46,255,57,108,202,4,15,
510 4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232,131,195,4,193, 520 133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132,
511 232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,135,244,49,255, 521 244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252,
512 252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15, 522 246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,
513 17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133, 523 45,255,248,3,129,252,253,239,255,15,133,244,9,255,252,233,244,46,255,72,252,
514 244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17, 524 247,208,139,108,202,4,131,195,4,129,252,253,239,15,133,244,249,139,12,202,
515 4,202,255,219,128,233,248,1,221,28,202,255,139,3,15,182,204,15,182,232,131, 525 65,59,12,135,255,139,108,202,4,131,195,4,255,129,252,253,239,15,133,244,253,
516 195,4,193,232,16,65,252,255,36,252,238,248,2,129,124,253,194,4,239,15,133, 526 65,129,124,253,199,4,239,15,133,244,254,65,139,44,199,59,44,202,255,15,183,
517 244,51,139,60,194,137,213,232,251,1,19,255,252,242,15,42,192,137,252,234, 527 67,252,254,141,156,253,131,233,248,9,139,3,15,182,204,15,182,232,131,195,
518 255,15,182,75,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129, 528 4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,249,65,129,124,253,199,
519 124,253,252,234,4,239,15,135,244,47,255,252,242,15,16,4,252,234,252,242,65, 529 4,239,15,130,244,247,255,252,242,65,15,42,4,199,255,65,219,4,199,255,252,
520 15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252,234,4,239, 530 233,244,248,248,8,255,252,242,15,42,4,202,102,65,15,46,4,199,255,219,4,202,
521 15,135,244,48,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221, 531 221,4,194,255,129,252,253,239,15,131,244,249,255,248,1,252,242,65,15,16,4,
522 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,50,129,124,253, 532 199,248,2,102,15,46,4,202,248,4,255,248,1,65,221,4,199,248,2,221,4,202,255,
523 194,4,239,15,135,244,50,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255, 533 72,252,247,208,139,108,202,4,131,195,4,57,197,255,15,133,244,249,15,183,67,
524 221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199, 534 252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,
525 255,221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92, 535 232,16,65,252,255,36,252,238,248,3,129,252,253,239,15,133,244,2,252,233,244,
526 4,252,234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252, 536 46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,183,67,252,254,141,
527 242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234, 537 156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
528 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15, 538 252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,253,239,255,137,108,
529 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252, 539 202,4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,3,15,182,
530 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255, 540 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237,
531 252,242,15,16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52, 541 129,124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232,
532 199,255,252,242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220, 542 131,195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,133,
533 52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252, 543 244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,
534 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221, 544 248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
535 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234, 545 238,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,
536 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16, 546 135,244,51,255,129,124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194,
537 12,194,255,221,4,252,234,221,4,194,255,248,158,232,244,149,255,252,233,244, 547 72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,
538 158,255,232,244,108,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233, 548 194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,
539 141,52,194,137,194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,26, 549 255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,
540 139,149,233,133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,72, 550 42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,
541 139,4,252,234,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,
542 16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,
543 137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
544 252,238,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,67,252,
545 254,221,28,202,255,252,242,65,15,16,4,199,252,242,15,17,4,202,255,65,221,
546 4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,3,15,182,204,15,182,
547 232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,76,202,12,141,68,194,
548 4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,
549 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,
550 106,252,248,139,172,253,133,233,139,173,233,72,139,69,0,72,137,4,202,139,
551 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,
552 106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,
553 68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,
554 248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
555 252,238,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,
556 15,132,244,1,137,252,238,137,213,65,141,190,233,255,232,251,1,27,137,252,
557 234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,141,233,
558 65,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,
559 248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
560 252,238,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,
561 137,213,137,198,65,141,190,233,232,251,1,27,137,252,234,252,233,244,1,255,
562 139,106,252,248,255,252,242,65,15,16,4,199,255,139,172,253,141,233,139,141,
563 233,255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,
564 172,253,141,233,139,141,233,137,65,4,139,3,15,182,204,15,182,232,131,195,
565 4,193,232,16,65,252,255,36,252,238,255,141,156,253,131,233,139,108,36,24,
566 131,189,233,0,15,132,244,247,137,149,233,141,52,202,137,252,239,232,251,1,
567 28,139,149,233,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
568 252,255,36,252,238,255,72,252,247,208,139,108,36,24,137,149,233,139,82,252,
569 248,65,139,52,135,137,252,239,137,92,36,28,232,251,1,29,139,149,233,15,182,
570 75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,
571 4,193,232,16,65,252,255,36,252,238,255,139,108,36,24,137,149,233,65,139,142,
572 233,65,59,142,233,137,92,36,28,15,131,244,251,248,1,137,194,37,252,255,7,
573 0,0,193,252,234,11,61,252,255,7,0,0,15,132,244,249,248,2,137,252,239,137,
574 198,232,251,1,30,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,
575 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,
576 3,184,1,8,0,0,252,233,244,2,248,5,137,252,239,232,251,1,31,15,183,67,252,
577 254,252,233,244,1,255,72,252,247,208,139,108,36,24,65,139,142,233,137,92,
578 36,28,65,59,142,233,137,149,233,15,131,244,249,248,2,65,139,52,135,137,252,
579 239,232,251,1,32,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,
580 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248, 551 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,
581 3,137,252,239,232,251,1,31,15,183,67,252,254,72,252,247,208,252,233,244,2, 552 2,129,124,253,194,4,239,15,133,244,54,139,60,194,137,213,232,251,1,20,255,
582 255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,135,252,233,244,159, 553 252,242,15,42,192,255,137,252,234,15,182,75,252,253,252,233,244,1,255,15,
583 255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,135,252,233,244,160, 554 182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,133,244,48,65,129,
584 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139, 555 124,253,199,4,239,15,133,244,48,139,44,252,234,65,3,44,199,15,128,244,47,
585 44,252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252, 556 255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133,
586 242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36,59,133,233, 557 244,50,65,139,4,199,3,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,
587 15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,139, 558 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,3,44,194,
588 40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, 559 15,128,244,52,255,199,68,202,4,237,255,129,124,253,252,234,4,239,15,131,244,
589 252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246, 560 48,255,65,129,124,253,199,4,239,15,131,244,48,255,252,242,15,16,4,252,234,
590 129,233,235,15,132,244,36,15,182,75,252,253,248,3,255,199,68,202,4,237,252, 561 252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252,
591 233,244,1,248,5,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244, 562 234,4,239,15,131,244,50,255,65,129,124,253,199,4,239,15,131,244,50,255,252,
592 159,255,15,182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253, 563 242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,4,199,220,4,252,234,
593 252,234,4,239,15,133,244,34,139,44,252,234,248,159,139,141,233,35,136,233, 564 255,129,124,253,252,234,4,239,15,131,244,53,129,124,253,194,4,239,15,131,
594 105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15, 565 244,53,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,
595 133,244,250,129,121,253,4,239,15,132,244,251,15,182,67,252,253,72,139,41, 566 220,4,194,255,129,124,253,252,234,4,239,15,133,244,48,65,129,124,253,199,
596 72,137,44,194,248,2,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16, 567 4,239,15,133,244,48,139,44,252,234,65,43,44,199,15,128,244,47,255,129,124,
597 65,252,255,36,252,238,248,3,15,182,67,252,253,199,68,194,4,237,252,233,244, 568 253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133,244,50,65,
598 2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132, 569 139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,15,133,
599 244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,236, 570 244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194,15,128,
600 15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,133, 571 244,52,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,221,4,252,234,
601 233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,72, 572 65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,234,255,65,221,
602 139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232, 573 4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,
574 221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,48,65,129,
575 124,253,199,4,239,15,133,244,48,139,44,252,234,65,15,175,44,199,15,128,244,
576 47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,
577 133,244,50,65,139,4,199,15,175,4,252,234,15,128,244,49,255,129,124,253,252,
578 234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,
579 15,175,44,194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,65,15,89,
580 4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,16,4,199,252,242,
581 15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,
582 252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,
583 234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,199,255,252,242,65,
584 15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,52,252,234,255,252,
585 242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,
586 252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,4,252,234,65,221,
587 4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,255,65,221,4,199,
588 221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,
589 252,234,221,4,194,255,248,162,232,244,153,255,252,233,244,162,255,232,244,
590 113,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233,141,52,194,137,
591 194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,27,139,149,233,133,
592 192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,72,139,4,252,234,72,
593 137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
594 252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,137,4,202,139,3,
595 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,15,191,
596 192,199,68,202,4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,
597 17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252,242,
598 15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,
599 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,
600 76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,
601 193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
602 255,36,252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,72,139,
603 69,0,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
604 255,36,252,238,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,
605 173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,
606 133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,
607 232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,248,239,15,134,244,
608 1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,65,141,190,233,255,
609 232,251,1,28,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,248,
610 139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,64,4,237,252,246,
611 133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,
612 232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,15,132,244,1,128,189,
613 233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,251,1,28,137,252,234,
614 252,233,244,1,255,139,106,252,248,255,252,242,65,15,16,4,199,255,139,172,
615 253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,252,247,208,
616 139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,3,15,182,204,
617 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,156,253,131,
618 233,139,108,36,24,131,189,233,0,15,132,244,247,137,149,233,141,52,202,137,
619 252,239,232,251,1,29,139,149,233,248,1,139,3,15,182,204,15,182,232,131,195,
620 4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,139,108,36,24,137,149,
621 233,139,82,252,248,65,139,52,135,137,252,239,137,92,36,28,232,251,1,30,139,
622 149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,
623 182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,36,24,137,
624 149,233,65,139,142,233,65,59,142,233,137,92,36,28,15,131,244,251,248,1,137,
625 194,37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15,132,244,249,248,2,
626 137,252,239,137,198,232,251,1,31,139,149,233,15,182,75,252,253,137,4,202,
627 199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
628 255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,239,232,251,
629 1,32,15,183,67,252,254,252,233,244,1,255,72,252,247,208,139,108,36,24,65,
630 139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244,249,248,2,65,
631 139,52,135,137,252,239,232,251,1,33,139,149,233,15,182,75,252,253,137,4,202,
632 199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
633 255,36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252,254,72,252,247,
634 208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,
635 135,252,233,244,163,255,72,252,247,208,139,106,252,248,139,173,233,65,139,
636 4,135,252,233,244,164,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
637 239,15,133,244,36,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251,
638 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194,
639 252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36,255,59,
640 133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,
641 72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,
642 16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252,
643 246,129,233,235,15,132,244,36,15,182,75,252,253,248,3,199,68,202,4,237,252,
644 233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,
645 244,163,255,15,182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,
646 253,252,234,4,239,15,133,244,34,139,44,252,234,248,163,139,141,233,35,136,
647 233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,
648 15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,67,252,253,72,139,
649 41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232,131,195,4,193,232,
650 16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68,194,4,237,252,233,
651 244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,
652 132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,
653 236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,
654 133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,
655 72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,
603 16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252, 656 16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252,
604 246,129,233,235,15,132,244,35,255,15,182,75,252,253,248,3,199,68,202,4,237, 657 246,129,233,235,15,132,244,35,255,15,182,75,252,253,248,3,199,68,202,4,237,
605 252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15, 658 252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,
606 133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133, 659 133,244,39,139,44,252,234,255,15,133,244,39,255,59,133,233,15,131,244,39,
607 244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15, 660 193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,
608 132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202, 661 235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3,15,182,204,15,182,
609 72,137,40,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 662 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0,15,132,
610 252,238,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233, 663 244,1,139,141,233,252,246,129,233,235,255,15,132,244,39,15,182,75,252,253,
611 235,15,132,244,39,15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4, 664 252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,
612 239,15,133,244,39,139,4,194,252,233,244,160,248,7,128,165,233,235,65,139, 665 244,164,248,7,128,165,233,235,65,139,142,233,65,137,174,233,137,141,233,15,
613 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,15, 666 182,75,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,247,208,
614 182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4, 667 65,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,164,
615 239,15,133,244,37,139,44,252,234,248,160,139,141,233,35,136,233,105,201,239, 668 139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,129,185,
616 198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15, 669 233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239,15,132,
617 133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235, 670 244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182,67,252,
618 15,133,244,253,248,3,15,182,67,252,253,72,139,44,194,72,137,41,139,3,15,182, 671 253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131,195,4,193,232,
619 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,131,189,233, 672 16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137,12,36,139,141,
620 0,15,132,244,2,137,12,36,139,141,233,252,246,129,233,235,15,132,244,37,139, 673 233,252,246,129,233,235,15,132,244,37,139,12,36,252,233,244,2,248,5,139,137,
621 12,36,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233, 674 233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,
622 133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,4,36,199, 675 233,235,15,132,244,37,248,6,137,4,36,199,68,36,4,237,137,108,36,8,139,124,
623 68,36,4,237,137,108,36,8,139,124,36,24,137,151,233,72,141,20,36,137,252,238, 676 36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137,92,36,28,232,251,
624 137,252,253,137,92,36,28,232,251,1,33,139,149,233,139,108,36,8,137,193,252, 677 1,34,139,149,233,139,108,36,8,137,193,252,233,244,2,248,7,128,165,233,235,
625 233,244,2,248,7,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233, 678 65,139,134,233,65,137,174,233,137,133,233,252,233,244,3,255,15,182,252,236,
626 252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15, 679 15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,59,133,
627 133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129, 680 233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,
628 120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248, 681 1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,72,137,8,139,3,15,
629 2,72,139,12,202,72,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16, 682 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,
630 65,252,255,36,252,238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252, 683 233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,
631 246,129,233,235,15,132,244,38,15,182,75,252,253,252,233,244,1,248,7,128,165, 684 75,252,253,252,233,244,1,248,7,128,165,233,235,65,139,142,233,65,137,174,
632 233,235,65,139,142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233, 685 233,137,141,233,15,182,75,252,253,252,233,244,2,255,68,137,60,36,69,139,60,
633 244,2,255,68,137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252, 686 199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,
634 246,133,233,235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250, 687 2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248,59,133,233,15,135,244,
635 68,1,252,248,59,133,233,15,135,244,251,68,41,252,248,65,193,231,3,68,3,189, 688 251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,72,139,41,131,193,8,73,
636 233,248,3,72,139,41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244, 689 137,47,65,131,199,8,131,232,1,15,133,244,3,248,4,68,139,60,36,139,3,15,182,
637 3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, 690 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,139,124,36,
638 252,255,36,252,238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137, 691 24,137,151,233,137,252,238,137,194,137,252,253,137,92,36,28,232,251,1,35,
639 252,253,137,92,36,28,232,251,1,34,139,149,233,15,182,75,252,253,252,233,244, 692 139,149,233,15,182,75,252,253,252,233,244,1,248,7,255,128,165,233,235,65,
640 1,248,7,255,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252, 693 139,134,233,65,137,174,233,137,133,233,252,233,244,2,255,3,68,36,4,255,129,
641 233,244,2,255,3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,52, 694 124,253,202,4,239,139,44,202,15,133,244,55,141,84,202,8,137,90,252,252,139,
642 141,84,202,8,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205, 695 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,
643 131,195,4,65,252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248, 696 255,141,76,202,8,65,137,215,139,105,252,248,129,121,253,252,252,239,15,133,
644 129,121,253,252,252,239,15,133,244,28,248,53,139,90,252,252,252,247,195,237, 697 244,28,248,56,139,90,252,252,252,247,195,237,15,133,244,253,248,1,137,106,
645 15,133,244,253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249, 698 252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,73,
646 248,2,72,139,41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,2,139, 699 137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,
647 106,252,248,248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,157, 700 4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15,182,252,233,15,
648 233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248, 701 182,205,131,195,4,65,252,255,36,252,238,248,5,255,252,247,195,237,15,133,
649 5,255,252,247,195,237,15,133,244,4,15,182,75,252,253,72,252,247,209,141,12, 702 244,4,15,182,75,252,253,72,252,247,209,141,12,202,68,139,121,252,248,69,139,
650 202,68,139,121,252,248,69,139,191,233,69,139,191,233,252,233,244,4,248,7, 703 191,233,69,139,191,233,252,233,244,4,248,7,129,252,235,239,252,247,195,237,
651 129,252,235,239,252,247,195,237,15,133,244,254,41,218,65,137,215,139,90,252, 704 15,133,244,254,41,218,65,137,215,139,90,252,252,252,233,244,1,248,8,129,195,
652 252,252,233,244,1,248,8,129,195,239,252,233,244,1,255,141,76,202,8,72,139, 705 239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,
653 105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105,224,139,65,228,137, 706 41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129,
654 105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,28,137,202, 707 252,248,239,184,237,15,133,244,28,137,202,137,90,252,252,139,157,233,139,
655 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65, 708 11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,255,68,137,60,
656 252,255,36,252,238,255,68,137,60,36,68,137,116,36,4,139,108,202,252,240,139, 709 36,68,137,116,36,4,139,108,202,252,240,139,68,202,252,248,68,139,181,233,
657 68,202,252,248,68,139,181,233,131,195,4,68,139,189,233,248,1,68,57,252,240, 710 131,195,4,68,139,189,233,248,1,68,57,252,240,15,131,244,251,65,129,124,253,
658 15,131,244,251,65,129,124,253,199,4,239,15,132,244,250,255,252,242,15,42, 711 199,4,239,15,132,244,250,255,219,68,202,252,248,255,73,139,44,199,72,137,
659 192,255,219,68,202,252,248,255,73,139,44,199,72,137,108,202,8,131,192,1,255, 712 108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,67,252,254,141,156,
660 137,68,202,252,248,248,2,15,183,67,252,254,141,156,253,131,233,248,3,68,139, 713 253,131,233,248,3,68,139,116,36,4,68,139,60,36,139,3,15,182,204,15,182,232,
661 116,36,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, 714 131,195,4,193,232,16,65,252,255,36,252,238,248,4,131,192,1,255,137,68,202,
662 252,255,36,252,238,248,4,131,192,1,255,137,68,202,252,248,255,252,233,244, 715 252,248,255,252,233,244,1,248,5,68,41,252,240,248,6,59,133,233,15,135,244,
663 1,248,5,68,41,252,240,248,6,59,133,233,15,135,244,3,68,105,252,248,239,68, 716 3,68,105,252,248,239,68,3,189,233,65,129,191,233,239,15,132,244,253,70,141,
664 3,189,233,65,129,191,233,239,15,132,244,253,70,141,116,48,1,73,139,175,233, 717 116,48,1,73,139,175,233,73,139,135,233,72,137,44,202,72,137,68,202,8,68,137,
665 73,139,135,233,72,137,44,202,72,137,68,202,8,68,137,116,202,252,248,252,233, 718 116,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,255,129,124,253,
666 244,2,248,7,131,192,1,252,233,244,6,255,129,124,253,202,252,236,239,15,133, 719 202,252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239,
667 244,251,139,108,202,232,129,124,253,202,252,244,239,15,133,244,251,129,124, 720 15,133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235,
668 253,202,252,252,239,15,133,244,251,128,189,233,235,15,133,244,251,141,156, 721 15,133,244,251,141,156,253,131,233,199,68,202,252,248,0,0,0,0,248,1,139,3,
669 253,131,233,199,68,202,252,248,0,0,0,0,248,1,139,3,15,182,204,15,182,232, 722 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,198,
670 131,195,4,193,232,16,65,252,255,36,252,238,248,5,198,67,252,252,235,141,156, 723 67,252,252,235,141,156,253,131,233,198,3,235,252,233,244,1,255,15,182,252,
671 253,131,233,198,3,235,252,233,244,1,255,15,182,252,236,15,182,192,68,137, 724 236,15,182,192,68,137,60,36,68,141,188,253,194,233,141,12,202,68,43,122,252,
672 60,36,68,141,188,253,194,233,141,12,202,68,43,122,252,252,133,252,237,15, 725 252,133,252,237,15,132,244,251,141,108,252,233,252,248,65,57,215,15,131,244,
673 132,244,251,141,108,252,233,252,248,65,57,215,15,131,244,248,248,1,73,139, 726 248,248,1,73,139,71,252,248,65,131,199,8,72,137,1,131,193,8,57,252,233,15,
674 71,252,248,65,131,199,8,72,137,1,131,193,8,57,252,233,15,131,244,249,65,57, 727 131,244,249,65,57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,
675 215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248, 728 15,130,244,2,248,3,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,
676 3,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255, 729 232,16,65,252,255,36,252,238,248,5,199,68,36,4,1,0,0,0,137,208,68,41,252,
677 36,252,238,248,5,199,68,36,4,1,0,0,0,137,208,68,41,252,248,15,134,244,3,137, 730 248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,36,4,139,108,36,
678 197,193,252,237,3,131,197,1,137,108,36,4,139,108,36,24,1,200,59,133,233,15, 731 24,1,200,59,133,233,15,135,244,253,248,6,255,73,139,71,252,248,65,131,199,
679 135,244,253,248,6,255,73,139,71,252,248,65,131,199,8,72,137,1,131,193,8,65, 732 8,72,137,1,131,193,8,65,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,
680 57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,92,36, 733 137,141,233,137,92,36,28,65,41,215,139,116,36,4,131,252,238,1,137,252,239,
681 28,65,41,215,139,116,36,4,131,252,238,1,137,252,239,232,251,1,0,139,149,233, 734 232,251,1,0,139,149,233,139,141,233,65,1,215,252,233,244,6,255,193,225,3,
682 139,141,233,65,1,215,252,233,244,6,255,193,225,3,255,248,1,139,90,252,252, 735 255,248,1,139,90,252,252,137,68,36,4,252,247,195,237,15,133,244,253,255,248,
683 137,68,36,4,252,247,195,237,15,133,244,253,255,248,13,65,137,215,131,232, 736 13,65,137,215,131,232,1,15,132,244,249,248,2,73,139,44,15,73,137,111,252,
684 1,15,132,244,249,248,2,73,139,44,15,73,137,111,252,248,65,131,199,8,131,232, 737 248,65,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,4,15,182,107,252,
685 1,15,133,244,2,248,3,139,68,36,4,15,182,107,252,255,248,5,57,197,15,135,244, 738 255,248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252,248,255,248,
686 252,255,72,139,44,10,72,137,106,252,248,255,248,5,56,67,252,255,15,135,244, 739 5,56,67,252,255,15,135,244,252,255,15,182,75,252,253,72,252,247,209,141,20,
687 252,255,15,182,75,252,253,72,252,247,209,141,20,202,68,139,122,252,248,69, 740 202,68,139,122,252,248,69,139,191,233,69,139,191,233,139,3,15,182,204,15,
688 139,191,233,69,139,191,233,139,3,15,182,204,15,182,232,131,195,4,193,232, 741 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,255,65,199,71,252,
689 16,65,252,255,36,252,238,248,6,255,65,199,71,252,252,237,65,131,199,8,255, 742 252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,
690 199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,141,171,233,252, 743 5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,
691 247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,137,221,209,252,237, 744 255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,244,
692 129,229,239,102,65,131,172,253,46,233,1,15,132,244,141,255,141,12,202,255, 745 145,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,
693 129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,255,139, 746 239,15,133,244,57,129,121,253,20,239,15,133,244,57,139,41,131,121,16,0,15,
694 105,20,255,129,252,253,239,15,135,244,54,255,252,242,15,16,1,252,242,15,16, 747 140,244,251,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,
748 137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,
749 6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,254,15,142,245,
750 248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248,1,255,248,7,
751 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,
752 5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253,131,233,15,
753 183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129,
754 121,253,4,239,255,15,131,244,57,129,121,253,12,239,15,131,244,57,255,139,
755 105,20,255,129,252,253,239,15,131,244,57,255,252,242,15,16,1,252,242,15,16,
695 73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255, 756 73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,
696 15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221, 757 15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,
697 1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24, 758 1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,
698 15,140,244,247,255,217,201,248,1,255,15,183,67,252,254,255,15,131,244,248, 759 15,140,244,247,255,217,201,248,1,255,15,183,67,252,254,255,15,131,244,7,255,
699 141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,254,15,131,245, 760 15,131,244,248,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,
700 255,15,130,244,248,141,156,253,131,233,255,248,3,102,15,46,193,252,233,244, 761 254,15,131,245,255,15,130,244,7,255,15,130,244,248,141,156,253,131,233,255,
701 1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252, 762 248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,
702 252,139,41,137,105,252,248,252,233,245,255,141,156,253,131,233,139,1,137, 763 15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,
703 105,252,252,137,65,252,248,255,65,139,142,233,139,4,129,72,139,128,233,139, 764 141,156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139,142,233,
704 108,36,24,65,137,150,233,65,137,174,233,76,137,36,36,76,137,108,36,8,72,131, 765 139,4,129,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174,233,76,137,
705 252,236,16,252,255,224,255,141,156,253,131,233,139,3,15,182,204,15,182,232, 766 36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,253,131,233,
706 131,195,4,193,232,16,65,252,255,36,252,238,255,137,221,209,252,237,129,229, 767 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,
707 239,102,65,131,172,253,46,233,1,15,132,244,143,255,68,139,187,233,139,108, 768 137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,244,147,
708 36,24,141,12,202,59,141,233,15,135,244,23,15,182,139,233,57,200,15,134,244, 769 255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135,244,23,15,182,
709 249,248,2,255,15,183,67,252,254,252,233,245,255,248,3,199,68,194,252,252, 770 139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252,233,245,255,
710 237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4, 771 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,
711 194,68,139,122,252,248,137,104,252,252,68,137,120,252,248,139,108,36,24,141, 772 255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252,68,137,120,
712 12,200,59,141,233,15,135,244,22,137,209,137,194,15,182,171,233,133,252,237, 773 252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,22,137,209,137,194,
713 15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,68,139,121,252,248,68, 774 15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,
714 137,56,68,139,121,252,252,68,137,120,4,131,192,8,199,65,252,252,237,131,252, 775 249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,137,120,4,131,192,
715 237,1,15,133,244,1,248,2,255,68,139,187,233,139,3,15,182,204,15,182,232,131, 776 8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,68,139,187,233,
716 195,4,193,232,16,65,252,255,36,252,238,255,248,3,199,64,4,237,131,192,8,131, 777 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,
717 252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,76,139,189,233,139, 778 248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,
718 108,36,24,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233, 779 139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,248,137,149,233,
719 255,137,252,239,255,76,137,252,254,137,252,239,255,15,135,244,21,65,199,134, 780 141,136,233,59,141,233,137,133,233,255,76,137,252,254,137,252,239,255,15,
720 233,237,255,65,252,255,215,255,65,252,255,150,233,255,65,199,134,233,237, 781 135,244,21,65,199,134,233,237,255,65,252,255,215,255,65,252,255,150,233,255,
721 139,149,233,141,12,194,252,247,217,3,141,233,139,90,252,252,252,233,244,12, 782 65,199,134,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,90,252,
722 255,254,0 783 252,252,233,244,12,255,254,0
723}; 784};
724 785
725enum { 786enum {
@@ -760,9 +821,12 @@ enum {
760 GLOB_cont_condf, 821 GLOB_cont_condf,
761 GLOB_vmeta_equal, 822 GLOB_vmeta_equal,
762 GLOB_vmeta_equal_cd, 823 GLOB_vmeta_equal_cd,
824 GLOB_vmeta_arith_vno,
763 GLOB_vmeta_arith_vn, 825 GLOB_vmeta_arith_vn,
826 GLOB_vmeta_arith_nvo,
764 GLOB_vmeta_arith_nv, 827 GLOB_vmeta_arith_nv,
765 GLOB_vmeta_unm, 828 GLOB_vmeta_unm,
829 GLOB_vmeta_arith_vvo,
766 GLOB_vmeta_arith_vv, 830 GLOB_vmeta_arith_vv,
767 GLOB_vmeta_len, 831 GLOB_vmeta_len,
768 GLOB_vmeta_call_ra, 832 GLOB_vmeta_call_ra,
@@ -777,6 +841,7 @@ enum {
777 GLOB_ff_setmetatable, 841 GLOB_ff_setmetatable,
778 GLOB_ff_rawget, 842 GLOB_ff_rawget,
779 GLOB_ff_tonumber, 843 GLOB_ff_tonumber,
844 GLOB_fff_resi,
780 GLOB_fff_resxmm0, 845 GLOB_fff_resxmm0,
781 GLOB_fff_resn, 846 GLOB_fff_resn,
782 GLOB_ff_tostring, 847 GLOB_ff_tostring,
@@ -794,11 +859,12 @@ enum {
794 GLOB_ff_coroutine_wrap_aux, 859 GLOB_ff_coroutine_wrap_aux,
795 GLOB_ff_coroutine_yield, 860 GLOB_ff_coroutine_yield,
796 GLOB_ff_math_abs, 861 GLOB_ff_math_abs,
797 GLOB_ff_math_sqrt, 862 GLOB_fff_resbit,
798 GLOB_ff_math_floor, 863 GLOB_ff_math_floor,
799 GLOB_vm_floor, 864 GLOB_vm_floor,
800 GLOB_ff_math_ceil, 865 GLOB_ff_math_ceil,
801 GLOB_vm_ceil, 866 GLOB_vm_ceil,
867 GLOB_ff_math_sqrt,
802 GLOB_ff_math_log, 868 GLOB_ff_math_log,
803 GLOB_ff_math_log10, 869 GLOB_ff_math_log10,
804 GLOB_ff_math_exp, 870 GLOB_ff_math_exp,
@@ -839,7 +905,6 @@ enum {
839 GLOB_ff_table_getn, 905 GLOB_ff_table_getn,
840 GLOB_ff_bit_tobit, 906 GLOB_ff_bit_tobit,
841 GLOB_ff_bit_band, 907 GLOB_ff_bit_band,
842 GLOB_fff_resbit,
843 GLOB_fff_fallback_bit_op, 908 GLOB_fff_fallback_bit_op,
844 GLOB_ff_bit_bor, 909 GLOB_ff_bit_bor,
845 GLOB_ff_bit_bxor, 910 GLOB_ff_bit_bxor,
@@ -914,9 +979,12 @@ static const char *const globnames[] = {
914 "cont_condf", 979 "cont_condf",
915 "vmeta_equal", 980 "vmeta_equal",
916 "vmeta_equal_cd", 981 "vmeta_equal_cd",
982 "vmeta_arith_vno",
917 "vmeta_arith_vn", 983 "vmeta_arith_vn",
984 "vmeta_arith_nvo",
918 "vmeta_arith_nv", 985 "vmeta_arith_nv",
919 "vmeta_unm", 986 "vmeta_unm",
987 "vmeta_arith_vvo",
920 "vmeta_arith_vv", 988 "vmeta_arith_vv",
921 "vmeta_len", 989 "vmeta_len",
922 "vmeta_call_ra", 990 "vmeta_call_ra",
@@ -931,6 +999,7 @@ static const char *const globnames[] = {
931 "ff_setmetatable", 999 "ff_setmetatable",
932 "ff_rawget", 1000 "ff_rawget",
933 "ff_tonumber", 1001 "ff_tonumber",
1002 "fff_resi",
934 "fff_resxmm0", 1003 "fff_resxmm0",
935 "fff_resn", 1004 "fff_resn",
936 "ff_tostring", 1005 "ff_tostring",
@@ -948,11 +1017,12 @@ static const char *const globnames[] = {
948 "ff_coroutine_wrap_aux", 1017 "ff_coroutine_wrap_aux",
949 "ff_coroutine_yield", 1018 "ff_coroutine_yield",
950 "ff_math_abs", 1019 "ff_math_abs",
951 "ff_math_sqrt", 1020 "fff_resbit",
952 "ff_math_floor", 1021 "ff_math_floor",
953 "vm_floor", 1022 "vm_floor",
954 "ff_math_ceil", 1023 "ff_math_ceil",
955 "vm_ceil", 1024 "vm_ceil",
1025 "ff_math_sqrt",
956 "ff_math_log", 1026 "ff_math_log",
957 "ff_math_log10", 1027 "ff_math_log10",
958 "ff_math_exp", 1028 "ff_math_exp",
@@ -993,7 +1063,6 @@ static const char *const globnames[] = {
993 "ff_table_getn", 1063 "ff_table_getn",
994 "ff_bit_tobit", 1064 "ff_bit_tobit",
995 "ff_bit_band", 1065 "ff_bit_band",
996 "fff_resbit",
997 "fff_fallback_bit_op", 1066 "fff_fallback_bit_op",
998 "ff_bit_bor", 1067 "ff_bit_bor",
999 "ff_bit_bxor", 1068 "ff_bit_bxor",
@@ -1042,6 +1111,7 @@ static const char *const extnames[] = {
1042 "lj_meta_call", 1111 "lj_meta_call",
1043 "lj_meta_for@8", 1112 "lj_meta_for@8",
1044 "lj_tab_get", 1113 "lj_tab_get",
1114 "lj_str_fromnumber@8",
1045 "lj_str_fromnum@8", 1115 "lj_str_fromnum@8",
1046 "lj_tab_next", 1116 "lj_tab_next",
1047 "lj_tab_getinth@8", 1117 "lj_tab_getinth@8",
@@ -1098,386 +1168,655 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1098 dasm_put(Dst, 529, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 1168 dasm_put(Dst, 529, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
1099 dasm_put(Dst, 642, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc)); 1169 dasm_put(Dst, 642, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc));
1100 dasm_put(Dst, 807, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); 1170 dasm_put(Dst, 807, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1101 if (sse) { 1171 if (LJ_DUALNUM) {
1102 dasm_put(Dst, 912); 1172 dasm_put(Dst, 912, LJ_TISNUM);
1173 } else if (sse) {
1174 dasm_put(Dst, 921);
1103 } else { 1175 } else {
1104 } 1176 }
1105 dasm_put(Dst, 924, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); 1177 dasm_put(Dst, 933, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1106 dasm_put(Dst, 1070, DISPATCH_GL(tmptv), LJ_TTAB); 1178 dasm_put(Dst, 1079, DISPATCH_GL(tmptv), LJ_TTAB);
1107 if (sse) { 1179 if (LJ_DUALNUM) {
1108 dasm_put(Dst, 912); 1180 dasm_put(Dst, 912, LJ_TISNUM);
1181 } else if (sse) {
1182 dasm_put(Dst, 921);
1109 } else { 1183 } else {
1110 } 1184 }
1111 dasm_put(Dst, 1094, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); 1185 dasm_put(Dst, 1103, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1112 dasm_put(Dst, 1266, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1186 dasm_put(Dst, 1275, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1113 dasm_put(Dst, 1365); 1187 dasm_put(Dst, 1374);
1114#if LJ_HASFFI 1188#if LJ_HASFFI
1115 dasm_put(Dst, 1385, Dt1(->base)); 1189 dasm_put(Dst, 1394, Dt1(->base));
1190#endif
1191 dasm_put(Dst, 1425);
1192#if LJ_DUALNUM
1193 dasm_put(Dst, 1428);
1194#endif
1195 dasm_put(Dst, 1434);
1196#if LJ_DUALNUM
1197 dasm_put(Dst, 906);
1198#endif
1199 dasm_put(Dst, 1447);
1200#if LJ_DUALNUM
1201 dasm_put(Dst, 1428);
1116#endif 1202#endif
1117 dasm_put(Dst, 1416, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1); 1203 dasm_put(Dst, 1476, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base));
1118 dasm_put(Dst, 1530, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1204 dasm_put(Dst, 1608, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1119 dasm_put(Dst, 1715, 1+1, ~LJ_TNUMX); 1205 dasm_put(Dst, 1792, 1+1, ~LJ_TNUMX);
1120 if (cmov) { 1206 if (cmov) {
1121 dasm_put(Dst, 1813); 1207 dasm_put(Dst, 1837);
1122 } else { 1208 } else {
1123 dasm_put(Dst, 1817); 1209 dasm_put(Dst, 1841);
1210 }
1211 dasm_put(Dst, 1850, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1212 dasm_put(Dst, 1929, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1213 dasm_put(Dst, 1987, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]));
1214 dasm_put(Dst, 2056, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK));
1215 dasm_put(Dst, 2125, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1216 if (LJ_DUALNUM) {
1217 dasm_put(Dst, 2211);
1218 } else {
1219 dasm_put(Dst, 2228);
1124 } 1220 }
1125 dasm_put(Dst, 1826, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1126 dasm_put(Dst, 1905, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1127 dasm_put(Dst, 1963, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]));
1128 dasm_put(Dst, 2032, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK));
1129 dasm_put(Dst, 2101, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1130 dasm_put(Dst, 2187);
1131 if (sse) { 1221 if (sse) {
1132 dasm_put(Dst, 2192); 1222 dasm_put(Dst, 2233);
1223 } else {
1224 dasm_put(Dst, 2243);
1225 }
1226 dasm_put(Dst, 2250, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1227 dasm_put(Dst, 2319, Dt1(->base));
1228 if (LJ_DUALNUM) {
1229 dasm_put(Dst, 2345);
1133 } else { 1230 } else {
1134 dasm_put(Dst, 2202); 1231 dasm_put(Dst, 2350);
1135 } 1232 }
1136 dasm_put(Dst, 2209, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1233 dasm_put(Dst, 2355, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1137 dasm_put(Dst, 2278, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); 1234 dasm_put(Dst, 2447, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1138 dasm_put(Dst, 2347, Dt1(->top), Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1);
1139 dasm_put(Dst, 2435, LJ_TTAB);
1140#ifdef LUAJIT_ENABLE_LUA52COMPAT 1235#ifdef LUAJIT_ENABLE_LUA52COMPAT
1141 dasm_put(Dst, 2447, Dt6(->metatable)); 1236 dasm_put(Dst, 2494, Dt6(->metatable));
1142#endif 1237#endif
1143 dasm_put(Dst, 2456, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1238 dasm_put(Dst, 2503, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1144 if (sse) { 1239 if (LJ_DUALNUM) {
1145 dasm_put(Dst, 2519, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1240 dasm_put(Dst, 2489);
1241 } else {
1242 dasm_put(Dst, 2228);
1243 }
1244 dasm_put(Dst, 2558);
1245 if (LJ_DUALNUM) {
1246 dasm_put(Dst, 2563, LJ_TISNUM);
1247 } else if (sse) {
1248 dasm_put(Dst, 2579, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1146 } else { 1249 } else {
1147 } 1250 }
1148 dasm_put(Dst, 2552, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1251 dasm_put(Dst, 2612, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1149 dasm_put(Dst, 2629, 1+1, LJ_TTAB); 1252 dasm_put(Dst, 2474, 1+1, LJ_TTAB);
1150#ifdef LUAJIT_ENABLE_LUA52COMPAT 1253#ifdef LUAJIT_ENABLE_LUA52COMPAT
1151 dasm_put(Dst, 2447, Dt6(->metatable)); 1254 dasm_put(Dst, 2494, Dt6(->metatable));
1152#endif 1255#endif
1153 dasm_put(Dst, 2649, Dt8(->upvalue[0]), LJ_TFUNC); 1256 dasm_put(Dst, 2689, Dt8(->upvalue[0]), LJ_TFUNC);
1154 if (sse) { 1257 if (LJ_DUALNUM) {
1155 dasm_put(Dst, 2670); 1258 dasm_put(Dst, 2710, LJ_TISNUM);
1156 } else { 1259 } else if (sse) {
1157 dasm_put(Dst, 2680); 1260 dasm_put(Dst, 2722);
1158 }
1159 dasm_put(Dst, 2687, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1160 dasm_put(Dst, 2752, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1161 dasm_put(Dst, 2841, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1162 dasm_put(Dst, 2928, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1163 dasm_put(Dst, 3043, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1164 dasm_put(Dst, 3138, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1165 dasm_put(Dst, 3204, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1166 dasm_put(Dst, 3293, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1167 dasm_put(Dst, 3403, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1168 if (sse) {
1169 dasm_put(Dst, 3430, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1170 } else { 1261 } else {
1171 dasm_put(Dst, 3494, 1+1, LJ_TISNUM); 1262 dasm_put(Dst, 2732);
1263 }
1264 dasm_put(Dst, 2739, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1265 dasm_put(Dst, 2804, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1266 dasm_put(Dst, 2893, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1267 dasm_put(Dst, 2980, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1268 dasm_put(Dst, 3095, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1269 dasm_put(Dst, 3190, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1270 dasm_put(Dst, 3256, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1271 dasm_put(Dst, 3345, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1272 dasm_put(Dst, 3455, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1273 if (!LJ_DUALNUM) {
1274 dasm_put(Dst, 3482);
1172 } 1275 }
1173 dasm_put(Dst, 3530, 1+1, FRAME_TYPE, LJ_TNIL);
1174 if (sse) { 1276 if (sse) {
1175 dasm_put(Dst, 3625, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1277 dasm_put(Dst, 3485);
1176 dasm_put(Dst, 3687, 1+1, LJ_TISNUM); 1278 }
1279 dasm_put(Dst, 3500, 1+1);
1280 if (LJ_DUALNUM) {
1281 dasm_put(Dst, 3511, LJ_TISNUM, LJ_TISNUM);
1177 } else { 1282 } else {
1178 dasm_put(Dst, 3717, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1283 dasm_put(Dst, 3591, LJ_TISNUM);
1179 dasm_put(Dst, 3776, 1+1, LJ_TISNUM);
1180 } 1284 }
1181 dasm_put(Dst, 3803, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1182 dasm_put(Dst, 3872, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1183 dasm_put(Dst, 3929, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1184 dasm_put(Dst, 3992, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1185 dasm_put(Dst, 4082);
1186 if (sse) { 1285 if (sse) {
1187 dasm_put(Dst, 4094, 1+1, LJ_TISNUM); 1286 dasm_put(Dst, 3601, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1287 } else {
1288 dasm_put(Dst, 3632);
1289 }
1290 dasm_put(Dst, 3649, 1+1, FRAME_TYPE, LJ_TNIL);
1291 if (LJ_DUALNUM) {
1292 dasm_put(Dst, 3746, LJ_TISNUM);
1188 } else { 1293 } else {
1294 dasm_put(Dst, 3591, LJ_TISNUM);
1189 } 1295 }
1190 dasm_put(Dst, 4119);
1191 if (sse) { 1296 if (sse) {
1192 dasm_put(Dst, 4133, 1+1, LJ_TISNUM); 1297 dasm_put(Dst, 3768);
1298 if (LJ_DUALNUM) {
1299 dasm_put(Dst, 3777);
1300 }
1301 dasm_put(Dst, 2238);
1302 } else {
1303 dasm_put(Dst, 3811);
1304 if (LJ_DUALNUM) {
1305 } else {
1306 dasm_put(Dst, 2245);
1307 }
1308 }
1309 dasm_put(Dst, 3817);
1310 if (LJ_DUALNUM) {
1311 dasm_put(Dst, 3746, LJ_TISNUM);
1193 } else { 1312 } else {
1313 dasm_put(Dst, 3591, LJ_TISNUM);
1194 } 1314 }
1195 dasm_put(Dst, 4158);
1196 if (sse) { 1315 if (sse) {
1197 dasm_put(Dst, 4172, 1+1, LJ_TISNUM); 1316 dasm_put(Dst, 3820);
1317 if (LJ_DUALNUM) {
1318 dasm_put(Dst, 3777);
1319 }
1320 dasm_put(Dst, 2238);
1198 } else { 1321 } else {
1322 dasm_put(Dst, 3829);
1323 if (LJ_DUALNUM) {
1324 } else {
1325 dasm_put(Dst, 2245);
1326 }
1199 } 1327 }
1200 dasm_put(Dst, 4197);
1201 if (sse) { 1328 if (sse) {
1202 dasm_put(Dst, 4213, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1329 dasm_put(Dst, 3835, 1+1, LJ_TISNUM);
1203 } else { 1330 } else {
1204 dasm_put(Dst, 4252, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1331 dasm_put(Dst, 3864, 1+1, LJ_TISNUM);
1205 } 1332 }
1206 dasm_put(Dst, 4285, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1333 dasm_put(Dst, 3893, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1207 dasm_put(Dst, 4350, 1+1, LJ_TISNUM); 1334 dasm_put(Dst, 3962, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1335 dasm_put(Dst, 4019, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1336 dasm_put(Dst, 4082, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1337 dasm_put(Dst, 4172);
1208 if (sse) { 1338 if (sse) {
1209 dasm_put(Dst, 4449); 1339 dasm_put(Dst, 4184, 1+1, LJ_TISNUM);
1210 } else { 1340 } else {
1211 dasm_put(Dst, 4455);
1212 } 1341 }
1213 dasm_put(Dst, 4462); 1342 dasm_put(Dst, 4209);
1214 if (sse) { 1343 if (sse) {
1215 dasm_put(Dst, 4487); 1344 dasm_put(Dst, 4223, 1+1, LJ_TISNUM);
1216 } else { 1345 } else {
1217 dasm_put(Dst, 4493);
1218 } 1346 }
1219 dasm_put(Dst, 4496, 1+2); 1347 dasm_put(Dst, 4248);
1220 if (sse) { 1348 if (sse) {
1221 dasm_put(Dst, 4505); 1349 dasm_put(Dst, 4262, 1+1, LJ_TISNUM);
1222 } else { 1350 } else {
1223 dasm_put(Dst, 4513);
1224 } 1351 }
1225 dasm_put(Dst, 4521); 1352 dasm_put(Dst, 4287);
1226 if (sse) { 1353 if (sse) {
1227 dasm_put(Dst, 4524, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1354 dasm_put(Dst, 4303, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1228 } else { 1355 } else {
1229 dasm_put(Dst, 4551); 1356 dasm_put(Dst, 4342, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1230 } 1357 }
1231 dasm_put(Dst, 4568); 1358 dasm_put(Dst, 4375, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1359 dasm_put(Dst, 4440, 1+1, LJ_TISNUM);
1232 if (sse) { 1360 if (sse) {
1233 dasm_put(Dst, 4584, 1+1, LJ_TISNUM); 1361 dasm_put(Dst, 4539);
1234 } else { 1362 } else {
1235 dasm_put(Dst, 4609, 1+1, LJ_TISNUM); 1363 dasm_put(Dst, 4545);
1236 } 1364 }
1237 dasm_put(Dst, 4631); 1365 dasm_put(Dst, 4552);
1238 if (sse) { 1366 if (sse) {
1239 dasm_put(Dst, 4653); 1367 dasm_put(Dst, 4577);
1240 } else { 1368 } else {
1241 dasm_put(Dst, 4679); 1369 dasm_put(Dst, 4583);
1242 } 1370 }
1243 dasm_put(Dst, 4696, 1+2); 1371 dasm_put(Dst, 4586, 1+2);
1244 if (sse) { 1372 if (sse) {
1245 dasm_put(Dst, 4736); 1373 dasm_put(Dst, 4595);
1246 } else { 1374 } else {
1247 dasm_put(Dst, 4744); 1375 dasm_put(Dst, 4603);
1248 } 1376 }
1249 dasm_put(Dst, 4754, 2+1, LJ_TISNUM, LJ_TISNUM); 1377 dasm_put(Dst, 4611);
1250 if (sse) { 1378 if (sse) {
1251 dasm_put(Dst, 4806, 2+1, LJ_TISNUM, LJ_TISNUM); 1379 dasm_put(Dst, 4614, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1252 } else { 1380 } else {
1253 dasm_put(Dst, 4853, 2+1, LJ_TISNUM, LJ_TISNUM); 1381 dasm_put(Dst, 4641);
1254 } 1382 }
1383 dasm_put(Dst, 4658);
1255 if (sse) { 1384 if (sse) {
1256 dasm_put(Dst, 4894, 1+1, LJ_TISNUM, LJ_TISNUM); 1385 dasm_put(Dst, 4674, 1+1, LJ_TISNUM);
1257 } else { 1386 } else {
1387 dasm_put(Dst, 4699, 1+1, LJ_TISNUM);
1258 } 1388 }
1389 dasm_put(Dst, 4721);
1259 if (sse) { 1390 if (sse) {
1260 dasm_put(Dst, 4965, 1+1, LJ_TISNUM, LJ_TISNUM); 1391 dasm_put(Dst, 4743);
1261 } else { 1392 } else {
1393 dasm_put(Dst, 4769);
1262 } 1394 }
1263 if (!sse) { 1395 dasm_put(Dst, 4786, 1+2);
1264 dasm_put(Dst, 5036); 1396 if (sse) {
1397 dasm_put(Dst, 4826);
1398 } else {
1399 dasm_put(Dst, 4834);
1265 } 1400 }
1266 dasm_put(Dst, 5045, 1+1, LJ_TSTR); 1401 dasm_put(Dst, 4844, 2+1, LJ_TISNUM, LJ_TISNUM);
1267 if (sse) { 1402 if (sse) {
1268 dasm_put(Dst, 5067, Dt5(->len)); 1403 dasm_put(Dst, 4896, 2+1, LJ_TISNUM, LJ_TISNUM);
1269 } else { 1404 } else {
1270 dasm_put(Dst, 5078, Dt5(->len)); 1405 dasm_put(Dst, 4943, 2+1, LJ_TISNUM, LJ_TISNUM);
1271 } 1406 }
1272 dasm_put(Dst, 5086, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1407 dasm_put(Dst, 4984, LJ_TISNUM);
1408 if (LJ_DUALNUM) {
1409 dasm_put(Dst, 4997, LJ_TISNUM);
1273 if (sse) { 1410 if (sse) {
1274 dasm_put(Dst, 5124); 1411 dasm_put(Dst, 4539);
1275 } else { 1412 } else {
1276 dasm_put(Dst, 5134);
1277 } 1413 }
1278 dasm_put(Dst, 5145, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1414 dasm_put(Dst, 5047);
1415 } else {
1416 dasm_put(Dst, 2228);
1417 }
1279 if (sse) { 1418 if (sse) {
1280 dasm_put(Dst, 5182); 1419 dasm_put(Dst, 5058, LJ_TISNUM);
1420 if (LJ_DUALNUM) {
1421 dasm_put(Dst, 5079);
1422 } else {
1423 dasm_put(Dst, 2228);
1424 }
1425 dasm_put(Dst, 5100);
1281 } else { 1426 } else {
1282 dasm_put(Dst, 5204);
1283 } 1427 }
1284 dasm_put(Dst, 5224, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1428 dasm_put(Dst, 5125, LJ_TISNUM);
1285 dasm_put(Dst, 2187); 1429 if (LJ_DUALNUM) {
1430 dasm_put(Dst, 5138, LJ_TISNUM);
1286 if (sse) { 1431 if (sse) {
1287 dasm_put(Dst, 5333); 1432 dasm_put(Dst, 4539);
1288 } else { 1433 } else {
1289 dasm_put(Dst, 5344);
1290 } 1434 }
1291 dasm_put(Dst, 5352, LJ_TSTR, LJ_TISNUM, Dt5(->len)); 1435 dasm_put(Dst, 5047);
1436 } else {
1437 dasm_put(Dst, 2228);
1438 }
1292 if (sse) { 1439 if (sse) {
1293 dasm_put(Dst, 5382); 1440 dasm_put(Dst, 5058, LJ_TISNUM);
1441 if (LJ_DUALNUM) {
1442 dasm_put(Dst, 5079);
1443 } else {
1444 dasm_put(Dst, 2228);
1445 }
1446 dasm_put(Dst, 5188);
1447 } else {
1448 }
1449 if (!sse) {
1450 dasm_put(Dst, 5213);
1451 }
1452 dasm_put(Dst, 5222, 1+1, LJ_TSTR);
1453 if (LJ_DUALNUM) {
1454 dasm_put(Dst, 5244, Dt5(->len));
1455 } else if (sse) {
1456 dasm_put(Dst, 5252, Dt5(->len));
1457 } else {
1458 dasm_put(Dst, 5263, Dt5(->len));
1459 }
1460 dasm_put(Dst, 5271, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1461 if (LJ_DUALNUM) {
1462 dasm_put(Dst, 5247);
1463 } else if (sse) {
1464 dasm_put(Dst, 5309);
1465 } else {
1466 dasm_put(Dst, 5319);
1467 }
1468 dasm_put(Dst, 5330, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1469 if (LJ_DUALNUM) {
1470 dasm_put(Dst, 5363);
1471 } else if (sse) {
1472 dasm_put(Dst, 5386);
1294 } else { 1473 } else {
1474 dasm_put(Dst, 5412);
1475 }
1476 dasm_put(Dst, 5436, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1477 if (LJ_DUALNUM) {
1478 dasm_put(Dst, 5545);
1479 } else if (sse) {
1480 dasm_put(Dst, 5557);
1481 } else {
1482 dasm_put(Dst, 5572);
1483 }
1484 dasm_put(Dst, 5584, LJ_TSTR, LJ_TISNUM);
1485 if (LJ_DUALNUM) {
1486 dasm_put(Dst, 2489);
1487 } else {
1488 dasm_put(Dst, 2228);
1489 }
1490 dasm_put(Dst, 5601, Dt5(->len));
1491 if (LJ_DUALNUM) {
1492 dasm_put(Dst, 5611);
1493 } else if (sse) {
1494 dasm_put(Dst, 5615);
1495 } else {
1496 }
1497 dasm_put(Dst, 5622, sizeof(GCstr)-1);
1498 dasm_put(Dst, 5697, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1499 dasm_put(Dst, 5758, LJ_TSTR, LJ_TISNUM);
1500 if (LJ_DUALNUM) {
1501 dasm_put(Dst, 5775);
1502 } else if (sse) {
1503 dasm_put(Dst, 5783);
1504 } else {
1505 dasm_put(Dst, 5794);
1506 }
1507 dasm_put(Dst, 5810, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1508 dasm_put(Dst, 5878, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1509 dasm_put(Dst, 5945, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1510 dasm_put(Dst, 6018, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1511 dasm_put(Dst, 6103, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1512 dasm_put(Dst, 6177, 1+1, LJ_TTAB);
1513 if (LJ_DUALNUM) {
1514 dasm_put(Dst, 6244);
1515 } else if (sse) {
1516 dasm_put(Dst, 6251);
1517 } else {
1518 }
1519 dasm_put(Dst, 6261, LJ_TISNUM);
1520 if (LJ_DUALNUM) {
1521 dasm_put(Dst, 6269);
1522 } else {
1523 dasm_put(Dst, 2228);
1295 } 1524 }
1296 dasm_put(Dst, 5389, sizeof(GCstr)-1);
1297 dasm_put(Dst, 5464, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1298 dasm_put(Dst, 5525, LJ_TSTR, LJ_TISNUM);
1299 if (sse) { 1525 if (sse) {
1300 dasm_put(Dst, 5546); 1526 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1527 } else {
1528 }
1529 dasm_put(Dst, 106);
1530 if (LJ_DUALNUM || sse) {
1531 if (!sse) {
1532 }
1533 dasm_put(Dst, 6310);
1301 } else { 1534 } else {
1302 dasm_put(Dst, 5553);
1303 } 1535 }
1304 dasm_put(Dst, 5565, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1536 dasm_put(Dst, 6315);
1305 dasm_put(Dst, 5633, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1306 dasm_put(Dst, 5700, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1307 dasm_put(Dst, 5773, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1308 dasm_put(Dst, 5858, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1309 dasm_put(Dst, 5932, 1+1, LJ_TTAB);
1310 if (sse) { 1537 if (sse) {
1311 dasm_put(Dst, 5999); 1538 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1312 } else { 1539 } else {
1540 dasm_put(Dst, 6328);
1541 }
1542 dasm_put(Dst, 2205, LJ_TISNUM);
1543 if (LJ_DUALNUM) {
1544 dasm_put(Dst, 6336);
1545 } else {
1546 dasm_put(Dst, 2228);
1313 } 1547 }
1314 if (sse) { 1548 if (sse) {
1315 dasm_put(Dst, 6009, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1549 dasm_put(Dst, 6353);
1550 } else {
1551 }
1552 dasm_put(Dst, 6368, LJ_TISNUM);
1553 if (LJ_DUALNUM) {
1554 dasm_put(Dst, 6393);
1316 } else { 1555 } else {
1556 dasm_put(Dst, 6413);
1317 } 1557 }
1318 if (sse) { 1558 if (sse) {
1319 dasm_put(Dst, 6061, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1559 dasm_put(Dst, 6418);
1320 } else { 1560 } else {
1321 } 1561 }
1322 dasm_put(Dst, 6104, LJ_TISNUM); 1562 dasm_put(Dst, 6435);
1323 if (sse) { 1563 if (sse) {
1324 dasm_put(Dst, 6131); 1564 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1325 } else { 1565 } else {
1566 dasm_put(Dst, 6328);
1567 }
1568 dasm_put(Dst, 2205, LJ_TISNUM);
1569 if (LJ_DUALNUM) {
1570 dasm_put(Dst, 6336);
1571 } else {
1572 dasm_put(Dst, 2228);
1326 } 1573 }
1327 dasm_put(Dst, 6148);
1328 if (sse) { 1574 if (sse) {
1329 dasm_put(Dst, 6156, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1575 dasm_put(Dst, 6353);
1576 } else {
1577 }
1578 dasm_put(Dst, 6368, LJ_TISNUM);
1579 if (LJ_DUALNUM) {
1580 dasm_put(Dst, 6445);
1330 } else { 1581 } else {
1582 dasm_put(Dst, 6413);
1331 } 1583 }
1332 dasm_put(Dst, 6104, LJ_TISNUM);
1333 if (sse) { 1584 if (sse) {
1334 dasm_put(Dst, 6199); 1585 dasm_put(Dst, 6465);
1335 } else { 1586 } else {
1336 } 1587 }
1337 dasm_put(Dst, 6148); 1588 dasm_put(Dst, 6482);
1338 if (sse) { 1589 if (sse) {
1339 dasm_put(Dst, 6216, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1590 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1591 } else {
1592 dasm_put(Dst, 6328);
1593 }
1594 dasm_put(Dst, 2205, LJ_TISNUM);
1595 if (LJ_DUALNUM) {
1596 dasm_put(Dst, 6336);
1340 } else { 1597 } else {
1598 dasm_put(Dst, 2228);
1341 } 1599 }
1342 dasm_put(Dst, 6104, LJ_TISNUM);
1343 if (sse) { 1600 if (sse) {
1344 dasm_put(Dst, 6259); 1601 dasm_put(Dst, 6353);
1602 } else {
1603 }
1604 dasm_put(Dst, 6368, LJ_TISNUM);
1605 if (LJ_DUALNUM) {
1606 dasm_put(Dst, 6492);
1345 } else { 1607 } else {
1608 dasm_put(Dst, 6413);
1346 } 1609 }
1347 dasm_put(Dst, 6148);
1348 if (sse) { 1610 if (sse) {
1349 dasm_put(Dst, 6276, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1611 dasm_put(Dst, 6512);
1612 } else {
1613 }
1614 dasm_put(Dst, 6529, LJ_TISNUM);
1615 if (LJ_DUALNUM) {
1616 dasm_put(Dst, 6336);
1350 } else { 1617 } else {
1618 dasm_put(Dst, 2228);
1351 } 1619 }
1352 dasm_put(Dst, 6319);
1353 if (sse) { 1620 if (sse) {
1354 dasm_put(Dst, 6326, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1621 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1622 } else {
1623 }
1624 dasm_put(Dst, 6544, LJ_TISNUM);
1625 if (LJ_DUALNUM) {
1626 dasm_put(Dst, 6336);
1355 } else { 1627 } else {
1628 dasm_put(Dst, 2228);
1356 } 1629 }
1357 dasm_put(Dst, 6369);
1358 if (sse) { 1630 if (sse) {
1359 dasm_put(Dst, 6373); 1631 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1632 } else {
1633 }
1634 dasm_put(Dst, 6560);
1635 if (LJ_DUALNUM) {
1636 dasm_put(Dst, 6310);
1637 } else if (sse) {
1638 dasm_put(Dst, 6566);
1639 } else {
1640 }
1641 dasm_put(Dst, 6578);
1642 if (LJ_DUALNUM) {
1643 dasm_put(Dst, 6589, LJ_TISNUM);
1644 if (LJ_DUALNUM) {
1645 dasm_put(Dst, 6336);
1360 } else { 1646 } else {
1647 dasm_put(Dst, 2228);
1361 } 1648 }
1362 dasm_put(Dst, 6385);
1363 if (sse) { 1649 if (sse) {
1364 dasm_put(Dst, 6396, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1650 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1365 } else { 1651 } else {
1366 } 1652 }
1367 dasm_put(Dst, 6465); 1653 dasm_put(Dst, 6597, LJ_TISNUM);
1654 } else if (sse) {
1655 dasm_put(Dst, 6612, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1656 } else {
1657 }
1658 dasm_put(Dst, 6679);
1659 if (LJ_DUALNUM) {
1660 dasm_put(Dst, 6686, LJ_TISNUM);
1661 if (LJ_DUALNUM) {
1662 dasm_put(Dst, 6336);
1663 } else {
1664 dasm_put(Dst, 2228);
1665 }
1368 if (sse) { 1666 if (sse) {
1369 dasm_put(Dst, 6474, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1667 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1668 } else {
1669 }
1670 dasm_put(Dst, 6597, LJ_TISNUM);
1671 } else if (sse) {
1672 dasm_put(Dst, 6694, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1370 } else { 1673 } else {
1371 } 1674 }
1372 dasm_put(Dst, 6543); 1675 dasm_put(Dst, 6761);
1676 if (LJ_DUALNUM) {
1677 dasm_put(Dst, 6769, LJ_TISNUM);
1678 if (LJ_DUALNUM) {
1679 dasm_put(Dst, 6336);
1680 } else {
1681 dasm_put(Dst, 2228);
1682 }
1373 if (sse) { 1683 if (sse) {
1374 dasm_put(Dst, 6553, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1684 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1685 } else {
1686 }
1687 dasm_put(Dst, 6597, LJ_TISNUM);
1688 } else if (sse) {
1689 dasm_put(Dst, 6777, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1375 } else { 1690 } else {
1376 } 1691 }
1377 dasm_put(Dst, 6622); 1692 dasm_put(Dst, 6844);
1693 if (LJ_DUALNUM) {
1694 dasm_put(Dst, 6852, LJ_TISNUM);
1695 if (LJ_DUALNUM) {
1696 dasm_put(Dst, 6336);
1697 } else {
1698 dasm_put(Dst, 2228);
1699 }
1378 if (sse) { 1700 if (sse) {
1379 dasm_put(Dst, 6632, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1701 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1702 } else {
1703 }
1704 dasm_put(Dst, 6597, LJ_TISNUM);
1705 } else if (sse) {
1706 dasm_put(Dst, 6860, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1380 } else { 1707 } else {
1381 } 1708 }
1382 dasm_put(Dst, 6701); 1709 dasm_put(Dst, 6927);
1710 if (LJ_DUALNUM) {
1711 dasm_put(Dst, 6934, LJ_TISNUM);
1712 if (LJ_DUALNUM) {
1713 dasm_put(Dst, 6336);
1714 } else {
1715 dasm_put(Dst, 2228);
1716 }
1383 if (sse) { 1717 if (sse) {
1384 dasm_put(Dst, 6710, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1718 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1719 } else {
1720 }
1721 dasm_put(Dst, 6597, LJ_TISNUM);
1722 } else if (sse) {
1723 dasm_put(Dst, 6942, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1385 } else { 1724 } else {
1386 } 1725 }
1387 dasm_put(Dst, 6779, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1726 dasm_put(Dst, 7009, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1388 dasm_put(Dst, 6857, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1727 dasm_put(Dst, 7085, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1389 dasm_put(Dst, 6984, Dt1(->top), Dt1(->base), Dt1(->top)); 1728 dasm_put(Dst, 7212, Dt1(->top), Dt1(->base), Dt1(->top));
1390#if LJ_HASJIT 1729#if LJ_HASJIT
1391 dasm_put(Dst, 7023, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1730 dasm_put(Dst, 7251, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1392#endif 1731#endif
1393 dasm_put(Dst, 7056, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1732 dasm_put(Dst, 7284, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1394 dasm_put(Dst, 7110, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1733 dasm_put(Dst, 7338, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1395#if LJ_HASJIT 1734#if LJ_HASJIT
1396 dasm_put(Dst, 7177, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1735 dasm_put(Dst, 7405, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1397#endif 1736#endif
1398 dasm_put(Dst, 7224); 1737 dasm_put(Dst, 7452);
1399#if LJ_HASJIT 1738#if LJ_HASJIT
1400 dasm_put(Dst, 7051); 1739 dasm_put(Dst, 7279);
1401#endif 1740#endif
1402 dasm_put(Dst, 7231); 1741 dasm_put(Dst, 7459);
1403#if LJ_HASJIT 1742#if LJ_HASJIT
1404 dasm_put(Dst, 7234); 1743 dasm_put(Dst, 7462);
1405#endif 1744#endif
1406 dasm_put(Dst, 7244, Dt1(->base), Dt1(->top)); 1745 dasm_put(Dst, 7472, Dt1(->base), Dt1(->top));
1407#if LJ_HASJIT 1746#if LJ_HASJIT
1408 dasm_put(Dst, 7277); 1747 dasm_put(Dst, 7505);
1409#endif 1748#endif
1410 dasm_put(Dst, 7282, Dt1(->base), Dt1(->top)); 1749 dasm_put(Dst, 7510, Dt1(->base), Dt1(->top));
1411#if LJ_HASJIT 1750#if LJ_HASJIT
1412 dasm_put(Dst, 7313, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1751 dasm_put(Dst, 7541, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1413#endif 1752#endif
1414 dasm_put(Dst, 7552); 1753 dasm_put(Dst, 7780);
1415#if LJ_HASJIT 1754#if LJ_HASJIT
1416 dasm_put(Dst, 7555, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1755 dasm_put(Dst, 7783, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1417#endif 1756#endif
1418 dasm_put(Dst, 7655); 1757 dasm_put(Dst, 7883);
1419 if (!sse) { 1758 if (!sse) {
1420 dasm_put(Dst, 7658); 1759 dasm_put(Dst, 7886);
1421 } 1760 }
1422 dasm_put(Dst, 7703, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1761 dasm_put(Dst, 7931, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1423 if (!sse) { 1762 if (!sse) {
1424 dasm_put(Dst, 7789); 1763 dasm_put(Dst, 8017);
1425 } 1764 }
1426 dasm_put(Dst, 7834, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); 1765 dasm_put(Dst, 8062, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
1427 if (!sse) { 1766 if (!sse) {
1428 dasm_put(Dst, 7920); 1767 dasm_put(Dst, 8148);
1429 } 1768 }
1430 dasm_put(Dst, 7959, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1769 dasm_put(Dst, 8187, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1431 if (sse) { 1770 if (sse) {
1432 dasm_put(Dst, 8048, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1771 dasm_put(Dst, 8276, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1433 } else { 1772 } else {
1434 dasm_put(Dst, 8162); 1773 dasm_put(Dst, 8390);
1435 } 1774 }
1436 dasm_put(Dst, 8209); 1775 dasm_put(Dst, 8437);
1437 if (!sse) { 1776 if (!sse) {
1438 } else { 1777 } else {
1439 dasm_put(Dst, 8286); 1778 dasm_put(Dst, 8514);
1440 } 1779 }
1441 dasm_put(Dst, 8289); 1780 dasm_put(Dst, 8517);
1442 dasm_put(Dst, 8374, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1781 dasm_put(Dst, 8602, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1443 dasm_put(Dst, 8477, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); 1782 dasm_put(Dst, 8705, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1444 dasm_put(Dst, 8639); 1783 dasm_put(Dst, 8867);
1445#if LJ_HASJIT 1784#if LJ_HASJIT
1446 if (sse) { 1785 if (sse) {
1447 dasm_put(Dst, 8680); 1786 dasm_put(Dst, 8908);
1448 dasm_put(Dst, 8750); 1787 dasm_put(Dst, 8978);
1449 dasm_put(Dst, 8822); 1788 dasm_put(Dst, 9050);
1450 } else { 1789 } else {
1451 dasm_put(Dst, 8874); 1790 dasm_put(Dst, 9102);
1452 dasm_put(Dst, 8966); 1791 dasm_put(Dst, 9194);
1453 } 1792 }
1454 dasm_put(Dst, 9012); 1793 dasm_put(Dst, 9240);
1455#endif 1794#endif
1456 dasm_put(Dst, 9016); 1795 dasm_put(Dst, 9244);
1457 if (sse) { 1796 if (sse) {
1458 dasm_put(Dst, 9019, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1797 dasm_put(Dst, 9247, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1459 dasm_put(Dst, 9104, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1798 dasm_put(Dst, 9332, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1460 } else { 1799 } else {
1461 dasm_put(Dst, 9232); 1800 dasm_put(Dst, 9460);
1462 dasm_put(Dst, 9315); 1801 dasm_put(Dst, 9543);
1463 if (cmov) { 1802 if (cmov) {
1464 dasm_put(Dst, 9370); 1803 dasm_put(Dst, 9598);
1465 } else { 1804 } else {
1466 dasm_put(Dst, 9389); 1805 dasm_put(Dst, 9617);
1467 } 1806 }
1468 dasm_put(Dst, 9012); 1807 dasm_put(Dst, 9240);
1469 } 1808 }
1470 dasm_put(Dst, 9430); 1809 dasm_put(Dst, 9658);
1471#if LJ_HASFFI 1810#if LJ_HASFFI
1472#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1811#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1473 dasm_put(Dst, 9454, DtE(->spadj)); 1812 dasm_put(Dst, 9682, DtE(->spadj));
1474#if LJ_TARGET_WINDOWS 1813#if LJ_TARGET_WINDOWS
1475#endif 1814#endif
1476 dasm_put(Dst, 9470, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1])); 1815 dasm_put(Dst, 9698, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1]));
1477 dasm_put(Dst, 9549, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1])); 1816 dasm_put(Dst, 9777, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1]));
1478#if LJ_TARGET_WINDOWS 1817#if LJ_TARGET_WINDOWS
1479#endif 1818#endif
1480 dasm_put(Dst, 9604); 1819 dasm_put(Dst, 9832);
1481#endif 1820#endif
1482} 1821}
1483 1822
@@ -1485,7 +1824,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1485static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1824static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1486{ 1825{
1487 int vk = 0; 1826 int vk = 0;
1488 dasm_put(Dst, 9612, defop); 1827 dasm_put(Dst, 9840, defop);
1489 1828
1490 switch (op) { 1829 switch (op) {
1491 1830
@@ -1493,642 +1832,906 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1493 1832
1494 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1833 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1495 1834
1835
1496 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1836 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1497 dasm_put(Dst, 9614, LJ_TISNUM, LJ_TISNUM); 1837 if (LJ_DUALNUM) {
1838 dasm_put(Dst, 9842, LJ_TISNUM, LJ_TISNUM);
1839 switch (op) {
1840 case BC_ISLT:
1841 dasm_put(Dst, 9872);
1842 break;
1843 case BC_ISGE:
1844 dasm_put(Dst, 9877);
1845 break;
1846 case BC_ISLE:
1847 dasm_put(Dst, 9882);
1848 break;
1849 case BC_ISGT:
1850 dasm_put(Dst, 9887);
1851 break;
1852 default: break; /* Shut up GCC. */
1853 }
1854 dasm_put(Dst, 9892, -BCBIAS_J*4, LJ_TISNUM);
1855 if (sse) {
1856 dasm_put(Dst, 9947);
1857 } else {
1858 dasm_put(Dst, 9958);
1859 }
1860 dasm_put(Dst, 9969);
1861 if (sse) {
1862 dasm_put(Dst, 9976);
1863 switch (op) {
1864 case BC_ISLT:
1865 dasm_put(Dst, 9996);
1866 break;
1867 case BC_ISGE:
1868 dasm_put(Dst, 10001);
1869 break;
1870 case BC_ISLE:
1871 dasm_put(Dst, 10006);
1872 break;
1873 case BC_ISGT:
1874 dasm_put(Dst, 10011);
1875 break;
1876 default: break; /* Shut up GCC. */
1877 }
1878 dasm_put(Dst, 10016);
1879 } else {
1880 dasm_put(Dst, 10021);
1881 }
1882 } else {
1883 dasm_put(Dst, 10029, LJ_TISNUM, LJ_TISNUM);
1884 }
1498 if (sse) { 1885 if (sse) {
1499 dasm_put(Dst, 9635); 1886 dasm_put(Dst, 10050);
1500 } else { 1887 } else {
1501 dasm_put(Dst, 9650); 1888 dasm_put(Dst, 10071);
1502 if (cmov) { 1889 if (cmov) {
1503 dasm_put(Dst, 9660); 1890 dasm_put(Dst, 10087);
1504 } else { 1891 } else {
1505 dasm_put(Dst, 9666); 1892 dasm_put(Dst, 10093);
1506 } 1893 }
1507 } 1894 }
1508 switch (op) { 1895 if (LJ_DUALNUM) {
1509 case BC_ISLT: 1896 switch (op) {
1510 dasm_put(Dst, 9673); 1897 case BC_ISLT:
1898 dasm_put(Dst, 9996);
1899 break;
1900 case BC_ISGE:
1901 dasm_put(Dst, 10001);
1902 break;
1903 case BC_ISLE:
1904 dasm_put(Dst, 10006);
1905 break;
1906 case BC_ISGT:
1907 dasm_put(Dst, 10011);
1511 break; 1908 break;
1512 case BC_ISGE: 1909 default: break; /* Shut up GCC. */
1513 dasm_put(Dst, 9310); 1910 }
1911 dasm_put(Dst, 10016);
1912 } else {
1913 switch (op) {
1914 case BC_ISLT:
1915 dasm_put(Dst, 10100);
1916 break;
1917 case BC_ISGE:
1918 dasm_put(Dst, 10105);
1514 break; 1919 break;
1515 case BC_ISLE: 1920 case BC_ISLE:
1516 dasm_put(Dst, 5927); 1921 dasm_put(Dst, 10110);
1517 break; 1922 break;
1518 case BC_ISGT: 1923 case BC_ISGT:
1519 dasm_put(Dst, 9678); 1924 dasm_put(Dst, 10115);
1520 break; 1925 break;
1521 default: break; /* Shut up GCC. */ 1926 default: break; /* Shut up GCC. */
1927 }
1928 dasm_put(Dst, 10120, -BCBIAS_J*4);
1522 } 1929 }
1523 dasm_put(Dst, 9683, -BCBIAS_J*4);
1524 break; 1930 break;
1525 1931
1526 case BC_ISEQV: case BC_ISNEV: 1932 case BC_ISEQV: case BC_ISNEV:
1527 vk = op == BC_ISEQV; 1933 vk = op == BC_ISEQV;
1528 dasm_put(Dst, 9718, LJ_TISNUM, LJ_TISNUM); 1934 dasm_put(Dst, 10153);
1935 if (LJ_DUALNUM) {
1936 dasm_put(Dst, 10161, LJ_TISNUM, LJ_TISNUM);
1937 if (vk) {
1938 dasm_put(Dst, 10186);
1939 } else {
1940 dasm_put(Dst, 10191);
1941 }
1942 dasm_put(Dst, 10196, -BCBIAS_J*4, LJ_TISNUM);
1943 if (sse) {
1944 dasm_put(Dst, 10249);
1945 } else {
1946 dasm_put(Dst, 10256);
1947 }
1948 dasm_put(Dst, 10260);
1949 if (sse) {
1950 dasm_put(Dst, 10271);
1951 } else {
1952 dasm_put(Dst, 10283);
1953 }
1954 dasm_put(Dst, 10290);
1955 } else {
1956 dasm_put(Dst, 10295, LJ_TISNUM, LJ_TISNUM);
1957 }
1529 if (sse) { 1958 if (sse) {
1530 dasm_put(Dst, 9744); 1959 dasm_put(Dst, 10314);
1531 } else { 1960 } else {
1532 dasm_put(Dst, 9756); 1961 dasm_put(Dst, 10332);
1533 if (cmov) { 1962 if (cmov) {
1534 dasm_put(Dst, 9660); 1963 dasm_put(Dst, 10087);
1535 } else { 1964 } else {
1536 dasm_put(Dst, 9666); 1965 dasm_put(Dst, 10093);
1537 } 1966 }
1538 } 1967 }
1539 iseqne_fp: 1968 iseqne_fp:
1540 if (vk) { 1969 if (vk) {
1541 dasm_put(Dst, 9763); 1970 dasm_put(Dst, 10345);
1542 } else { 1971 } else {
1543 dasm_put(Dst, 9772); 1972 dasm_put(Dst, 10354);
1544 } 1973 }
1545 iseqne_end: 1974 iseqne_end:
1546 if (vk) { 1975 if (vk) {
1547 dasm_put(Dst, 9781, -BCBIAS_J*4); 1976 dasm_put(Dst, 10363, -BCBIAS_J*4);
1548 if (!LJ_HASFFI) { 1977 if (!LJ_HASFFI) {
1549 dasm_put(Dst, 4502); 1978 dasm_put(Dst, 4592);
1550 } 1979 }
1551 } else { 1980 } else {
1552 if (!LJ_HASFFI) { 1981 if (!LJ_HASFFI) {
1553 dasm_put(Dst, 4502); 1982 dasm_put(Dst, 4592);
1554 } 1983 }
1555 dasm_put(Dst, 9796, -BCBIAS_J*4); 1984 dasm_put(Dst, 10378, -BCBIAS_J*4);
1985 }
1986 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
1987 op == BC_ISEQN || op == BC_ISNEN)) {
1988 dasm_put(Dst, 10393);
1989 } else {
1990 dasm_put(Dst, 10132);
1556 } 1991 }
1557 dasm_put(Dst, 9697);
1558 if (op == BC_ISEQV || op == BC_ISNEV) { 1992 if (op == BC_ISEQV || op == BC_ISNEV) {
1559 dasm_put(Dst, 9811); 1993 dasm_put(Dst, 10398);
1560 if (LJ_HASFFI) { 1994 if (LJ_HASFFI) {
1561 dasm_put(Dst, 9814, LJ_TCDATA, LJ_TCDATA); 1995 dasm_put(Dst, 10401, LJ_TCDATA, LJ_TCDATA);
1562 } 1996 }
1563 dasm_put(Dst, 9833, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1997 dasm_put(Dst, 10420, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1564 if (vk) { 1998 if (vk) {
1565 dasm_put(Dst, 9889); 1999 dasm_put(Dst, 10476);
1566 } else { 2000 } else {
1567 dasm_put(Dst, 9893); 2001 dasm_put(Dst, 10480);
1568 } 2002 }
1569 dasm_put(Dst, 9899); 2003 dasm_put(Dst, 10486);
1570 } else if (LJ_HASFFI) { 2004 } else if (LJ_HASFFI) {
1571 dasm_put(Dst, 9904, LJ_TCDATA); 2005 dasm_put(Dst, 10491, LJ_TCDATA);
2006 if (LJ_DUALNUM && vk) {
2007 dasm_put(Dst, 10498);
2008 } else {
2009 dasm_put(Dst, 10471);
2010 }
2011 dasm_put(Dst, 10503);
1572 } 2012 }
1573 break; 2013 break;
1574 case BC_ISEQS: case BC_ISNES: 2014 case BC_ISEQS: case BC_ISNES:
1575 vk = op == BC_ISEQS; 2015 vk = op == BC_ISEQS;
1576 dasm_put(Dst, 9919, LJ_TSTR); 2016 dasm_put(Dst, 10508, LJ_TSTR);
1577 iseqne_test: 2017 iseqne_test:
1578 if (vk) { 2018 if (vk) {
1579 dasm_put(Dst, 9767); 2019 dasm_put(Dst, 10349);
1580 } else { 2020 } else {
1581 dasm_put(Dst, 2836); 2021 dasm_put(Dst, 2888);
1582 } 2022 }
1583 goto iseqne_end; 2023 goto iseqne_end;
1584 case BC_ISEQN: case BC_ISNEN: 2024 case BC_ISEQN: case BC_ISNEN:
1585 vk = op == BC_ISEQN; 2025 vk = op == BC_ISEQN;
1586 dasm_put(Dst, 9946, LJ_TISNUM); 2026 dasm_put(Dst, 10535);
2027 if (LJ_DUALNUM) {
2028 dasm_put(Dst, 10543, LJ_TISNUM, LJ_TISNUM);
2029 if (vk) {
2030 dasm_put(Dst, 10186);
2031 } else {
2032 dasm_put(Dst, 10191);
2033 }
2034 dasm_put(Dst, 10570, -BCBIAS_J*4, LJ_TISNUM);
2035 if (sse) {
2036 dasm_put(Dst, 10620);
2037 } else {
2038 dasm_put(Dst, 10628);
2039 }
2040 dasm_put(Dst, 10633);
2041 if (sse) {
2042 dasm_put(Dst, 10640);
2043 } else {
2044 dasm_put(Dst, 10653);
2045 }
2046 dasm_put(Dst, 10290);
2047 } else {
2048 dasm_put(Dst, 10660, LJ_TISNUM);
2049 }
1587 if (sse) { 2050 if (sse) {
1588 dasm_put(Dst, 9962); 2051 dasm_put(Dst, 10669);
1589 } else { 2052 } else {
1590 dasm_put(Dst, 9975); 2053 dasm_put(Dst, 10688);
1591 if (cmov) { 2054 if (cmov) {
1592 dasm_put(Dst, 9660); 2055 dasm_put(Dst, 10087);
1593 } else { 2056 } else {
1594 dasm_put(Dst, 9666); 2057 dasm_put(Dst, 10093);
1595 } 2058 }
2059 dasm_put(Dst, 4611);
1596 } 2060 }
1597 goto iseqne_fp; 2061 goto iseqne_fp;
1598 case BC_ISEQP: case BC_ISNEP: 2062 case BC_ISEQP: case BC_ISNEP:
1599 vk = op == BC_ISEQP; 2063 vk = op == BC_ISEQP;
1600 dasm_put(Dst, 9983); 2064 dasm_put(Dst, 10700);
1601 if (!LJ_HASFFI) goto iseqne_test; 2065 if (!LJ_HASFFI) goto iseqne_test;
1602 if (vk) { 2066 if (vk) {
1603 dasm_put(Dst, 9997, -BCBIAS_J*4, LJ_TCDATA); 2067 dasm_put(Dst, 10714, -BCBIAS_J*4, LJ_TCDATA);
1604 } else { 2068 } else {
1605 dasm_put(Dst, 10048, LJ_TCDATA, -BCBIAS_J*4); 2069 dasm_put(Dst, 10765, LJ_TCDATA, -BCBIAS_J*4);
1606 } 2070 }
1607 break; 2071 break;
1608 2072
1609 /* -- Unary test and copy ops ------------------------------------------- */ 2073 /* -- Unary test and copy ops ------------------------------------------- */
1610 2074
1611 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2075 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1612 dasm_put(Dst, 10093, LJ_TISTRUECOND); 2076 dasm_put(Dst, 10810, LJ_TISTRUECOND);
1613 if (op == BC_IST || op == BC_ISTC) { 2077 if (op == BC_IST || op == BC_ISTC) {
1614 dasm_put(Dst, 10105); 2078 dasm_put(Dst, 10115);
1615 } else { 2079 } else {
1616 dasm_put(Dst, 10110); 2080 dasm_put(Dst, 10110);
1617 } 2081 }
1618 if (op == BC_ISTC || op == BC_ISFC) { 2082 if (op == BC_ISTC || op == BC_ISFC) {
1619 dasm_put(Dst, 10115); 2083 dasm_put(Dst, 10822);
1620 } 2084 }
1621 dasm_put(Dst, 10126, -BCBIAS_J*4); 2085 dasm_put(Dst, 10120, -BCBIAS_J*4);
1622 break; 2086 break;
1623 2087
1624 /* -- Unary ops --------------------------------------------------------- */ 2088 /* -- Unary ops --------------------------------------------------------- */
1625 2089
1626 case BC_MOV: 2090 case BC_MOV:
1627 dasm_put(Dst, 10159); 2091 dasm_put(Dst, 10833);
1628 break; 2092 break;
1629 case BC_NOT: 2093 case BC_NOT:
1630 dasm_put(Dst, 10188, LJ_TISTRUECOND, LJ_TTRUE); 2094 dasm_put(Dst, 10862, LJ_TISTRUECOND, LJ_TTRUE);
1631 break; 2095 break;
1632 case BC_UNM: 2096 case BC_UNM:
1633 dasm_put(Dst, 10225, LJ_TISNUM); 2097 if (LJ_DUALNUM) {
2098 dasm_put(Dst, 10899, LJ_TISNUM, LJ_TISNUM);
2099 } else {
2100 dasm_put(Dst, 10977, LJ_TISNUM);
2101 }
1634 if (sse) { 2102 if (sse) {
1635 dasm_put(Dst, 10236, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 2103 dasm_put(Dst, 10988, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
2104 } else {
2105 dasm_put(Dst, 11013);
2106 }
2107 if (LJ_DUALNUM) {
2108 dasm_put(Dst, 10393);
1636 } else { 2109 } else {
1637 dasm_put(Dst, 10261); 2110 dasm_put(Dst, 10132);
1638 } 2111 }
1639 dasm_put(Dst, 9697);
1640 break; 2112 break;
1641 case BC_LEN: 2113 case BC_LEN:
1642 dasm_put(Dst, 10270, LJ_TSTR); 2114 dasm_put(Dst, 11022, LJ_TSTR);
1643 if (sse) { 2115 if (LJ_DUALNUM) {
1644 dasm_put(Dst, 10284, Dt5(->len)); 2116 dasm_put(Dst, 11036, Dt5(->len), LJ_TISNUM);
2117 } else if (sse) {
2118 dasm_put(Dst, 11050, Dt5(->len));
1645 } else { 2119 } else {
1646 dasm_put(Dst, 10302, Dt5(->len)); 2120 dasm_put(Dst, 11068, Dt5(->len));
1647 } 2121 }
1648 dasm_put(Dst, 10311, LJ_TTAB); 2122 dasm_put(Dst, 11077, LJ_TTAB);
1649 if (sse) { 2123 if (LJ_DUALNUM) {
1650 dasm_put(Dst, 10353); 2124 } else if (sse) {
2125 dasm_put(Dst, 11119);
1651 } else { 2126 } else {
1652 } 2127 }
1653 dasm_put(Dst, 10362); 2128 dasm_put(Dst, 11125);
1654 break; 2129 break;
1655 2130
1656 /* -- Binary ops -------------------------------------------------------- */ 2131 /* -- Binary ops -------------------------------------------------------- */
1657 2132
1658 2133
1659 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2134 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1660 dasm_put(Dst, 10372); 2135 if (LJ_DUALNUM) {
2136 dasm_put(Dst, 11138);
2137 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2138 switch (vk) {
2139 case 0:
2140 dasm_put(Dst, 11146, LJ_TISNUM, LJ_TISNUM);
2141 break;
2142 case 1:
2143 dasm_put(Dst, 11181, LJ_TISNUM, LJ_TISNUM);
2144 break;
2145 default:
2146 dasm_put(Dst, 11216, LJ_TISNUM, LJ_TISNUM);
2147 break;
2148 }
2149 dasm_put(Dst, 11249, LJ_TISNUM);
2150 if (vk == 1) {
2151 dasm_put(Dst, 11046);
2152 } else {
2153 dasm_put(Dst, 10829);
2154 }
2155 dasm_put(Dst, 10132);
2156 } else {
2157 dasm_put(Dst, 11138);
1661 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2158 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1662 switch (vk) { 2159 switch (vk) {
1663 case 0: 2160 case 0:
1664 dasm_put(Dst, 10380, LJ_TISNUM); 2161 dasm_put(Dst, 11255, LJ_TISNUM);
2162 if (LJ_DUALNUM) {
2163 dasm_put(Dst, 11267, LJ_TISNUM);
2164 }
1665 if (sse) { 2165 if (sse) {
1666 dasm_put(Dst, 10392); 2166 dasm_put(Dst, 11279);
1667 } else { 2167 } else {
1668 dasm_put(Dst, 10407); 2168 dasm_put(Dst, 11294);
1669 } 2169 }
1670 break; 2170 break;
1671 case 1: 2171 case 1:
1672 dasm_put(Dst, 10416, LJ_TISNUM); 2172 dasm_put(Dst, 11303, LJ_TISNUM);
2173 if (LJ_DUALNUM) {
2174 dasm_put(Dst, 11315, LJ_TISNUM);
2175 }
1673 if (sse) { 2176 if (sse) {
1674 dasm_put(Dst, 10428); 2177 dasm_put(Dst, 11327);
1675 } else { 2178 } else {
1676 dasm_put(Dst, 10443); 2179 dasm_put(Dst, 11342);
1677 } 2180 }
1678 break; 2181 break;
1679 default: 2182 default:
1680 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); 2183 dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
1681 if (sse) { 2184 if (sse) {
1682 dasm_put(Dst, 10474); 2185 dasm_put(Dst, 11373);
1683 } else { 2186 } else {
1684 dasm_put(Dst, 10488); 2187 dasm_put(Dst, 11387);
1685 } 2188 }
1686 break; 2189 break;
1687 } 2190 }
1688 if (sse) { 2191 if (sse) {
1689 dasm_put(Dst, 10254); 2192 dasm_put(Dst, 11006);
1690 } else { 2193 } else {
1691 dasm_put(Dst, 10266); 2194 dasm_put(Dst, 11018);
2195 }
2196 dasm_put(Dst, 10132);
1692 } 2197 }
1693 dasm_put(Dst, 9697);
1694 break; 2198 break;
1695 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2199 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1696 dasm_put(Dst, 10372); 2200 if (LJ_DUALNUM) {
2201 dasm_put(Dst, 11138);
2202 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2203 switch (vk) {
2204 case 0:
2205 dasm_put(Dst, 11395, LJ_TISNUM, LJ_TISNUM);
2206 break;
2207 case 1:
2208 dasm_put(Dst, 11430, LJ_TISNUM, LJ_TISNUM);
2209 break;
2210 default:
2211 dasm_put(Dst, 11465, LJ_TISNUM, LJ_TISNUM);
2212 break;
2213 }
2214 dasm_put(Dst, 11249, LJ_TISNUM);
2215 if (vk == 1) {
2216 dasm_put(Dst, 11046);
2217 } else {
2218 dasm_put(Dst, 10829);
2219 }
2220 dasm_put(Dst, 10132);
2221 } else {
2222 dasm_put(Dst, 11138);
1697 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2223 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1698 switch (vk) { 2224 switch (vk) {
1699 case 0: 2225 case 0:
1700 dasm_put(Dst, 10380, LJ_TISNUM); 2226 dasm_put(Dst, 11255, LJ_TISNUM);
2227 if (LJ_DUALNUM) {
2228 dasm_put(Dst, 11267, LJ_TISNUM);
2229 }
1701 if (sse) { 2230 if (sse) {
1702 dasm_put(Dst, 10496); 2231 dasm_put(Dst, 11498);
1703 } else { 2232 } else {
1704 dasm_put(Dst, 10511); 2233 dasm_put(Dst, 11513);
1705 } 2234 }
1706 break; 2235 break;
1707 case 1: 2236 case 1:
1708 dasm_put(Dst, 10416, LJ_TISNUM); 2237 dasm_put(Dst, 11303, LJ_TISNUM);
2238 if (LJ_DUALNUM) {
2239 dasm_put(Dst, 11315, LJ_TISNUM);
2240 }
1709 if (sse) { 2241 if (sse) {
1710 dasm_put(Dst, 10520); 2242 dasm_put(Dst, 11522);
1711 } else { 2243 } else {
1712 dasm_put(Dst, 10535); 2244 dasm_put(Dst, 11537);
1713 } 2245 }
1714 break; 2246 break;
1715 default: 2247 default:
1716 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); 2248 dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
1717 if (sse) { 2249 if (sse) {
1718 dasm_put(Dst, 10544); 2250 dasm_put(Dst, 11546);
1719 } else { 2251 } else {
1720 dasm_put(Dst, 10558); 2252 dasm_put(Dst, 11560);
1721 } 2253 }
1722 break; 2254 break;
1723 } 2255 }
1724 if (sse) { 2256 if (sse) {
1725 dasm_put(Dst, 10254); 2257 dasm_put(Dst, 11006);
1726 } else { 2258 } else {
1727 dasm_put(Dst, 10266); 2259 dasm_put(Dst, 11018);
2260 }
2261 dasm_put(Dst, 10132);
1728 } 2262 }
1729 dasm_put(Dst, 9697);
1730 break; 2263 break;
1731 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2264 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1732 dasm_put(Dst, 10372); 2265 if (LJ_DUALNUM) {
2266 dasm_put(Dst, 11138);
2267 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2268 switch (vk) {
2269 case 0:
2270 dasm_put(Dst, 11568, LJ_TISNUM, LJ_TISNUM);
2271 break;
2272 case 1:
2273 dasm_put(Dst, 11604, LJ_TISNUM, LJ_TISNUM);
2274 break;
2275 default:
2276 dasm_put(Dst, 11640, LJ_TISNUM, LJ_TISNUM);
2277 break;
2278 }
2279 dasm_put(Dst, 11249, LJ_TISNUM);
2280 if (vk == 1) {
2281 dasm_put(Dst, 11046);
2282 } else {
2283 dasm_put(Dst, 10829);
2284 }
2285 dasm_put(Dst, 10132);
2286 } else {
2287 dasm_put(Dst, 11138);
1733 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2288 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1734 switch (vk) { 2289 switch (vk) {
1735 case 0: 2290 case 0:
1736 dasm_put(Dst, 10380, LJ_TISNUM); 2291 dasm_put(Dst, 11255, LJ_TISNUM);
2292 if (LJ_DUALNUM) {
2293 dasm_put(Dst, 11267, LJ_TISNUM);
2294 }
1737 if (sse) { 2295 if (sse) {
1738 dasm_put(Dst, 10566); 2296 dasm_put(Dst, 11674);
1739 } else { 2297 } else {
1740 dasm_put(Dst, 10581); 2298 dasm_put(Dst, 11689);
1741 } 2299 }
1742 break; 2300 break;
1743 case 1: 2301 case 1:
1744 dasm_put(Dst, 10416, LJ_TISNUM); 2302 dasm_put(Dst, 11303, LJ_TISNUM);
2303 if (LJ_DUALNUM) {
2304 dasm_put(Dst, 11315, LJ_TISNUM);
2305 }
1745 if (sse) { 2306 if (sse) {
1746 dasm_put(Dst, 10590); 2307 dasm_put(Dst, 11698);
1747 } else { 2308 } else {
1748 dasm_put(Dst, 10605); 2309 dasm_put(Dst, 11713);
1749 } 2310 }
1750 break; 2311 break;
1751 default: 2312 default:
1752 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); 2313 dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
1753 if (sse) { 2314 if (sse) {
1754 dasm_put(Dst, 10614); 2315 dasm_put(Dst, 11722);
1755 } else { 2316 } else {
1756 dasm_put(Dst, 10628); 2317 dasm_put(Dst, 11736);
1757 } 2318 }
1758 break; 2319 break;
1759 } 2320 }
1760 if (sse) { 2321 if (sse) {
1761 dasm_put(Dst, 10254); 2322 dasm_put(Dst, 11006);
1762 } else { 2323 } else {
1763 dasm_put(Dst, 10266); 2324 dasm_put(Dst, 11018);
2325 }
2326 dasm_put(Dst, 10132);
1764 } 2327 }
1765 dasm_put(Dst, 9697);
1766 break; 2328 break;
1767 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2329 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1768 dasm_put(Dst, 10372); 2330 dasm_put(Dst, 11138);
1769 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2331 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1770 switch (vk) { 2332 switch (vk) {
1771 case 0: 2333 case 0:
1772 dasm_put(Dst, 10380, LJ_TISNUM); 2334 dasm_put(Dst, 11255, LJ_TISNUM);
2335 if (LJ_DUALNUM) {
2336 dasm_put(Dst, 11267, LJ_TISNUM);
2337 }
1773 if (sse) { 2338 if (sse) {
1774 dasm_put(Dst, 10636); 2339 dasm_put(Dst, 11744);
1775 } else { 2340 } else {
1776 dasm_put(Dst, 10651); 2341 dasm_put(Dst, 11759);
1777 } 2342 }
1778 break; 2343 break;
1779 case 1: 2344 case 1:
1780 dasm_put(Dst, 10416, LJ_TISNUM); 2345 dasm_put(Dst, 11303, LJ_TISNUM);
2346 if (LJ_DUALNUM) {
2347 dasm_put(Dst, 11315, LJ_TISNUM);
2348 }
1781 if (sse) { 2349 if (sse) {
1782 dasm_put(Dst, 10660); 2350 dasm_put(Dst, 11768);
1783 } else { 2351 } else {
1784 dasm_put(Dst, 10675); 2352 dasm_put(Dst, 11783);
1785 } 2353 }
1786 break; 2354 break;
1787 default: 2355 default:
1788 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); 2356 dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
1789 if (sse) { 2357 if (sse) {
1790 dasm_put(Dst, 10684); 2358 dasm_put(Dst, 11792);
1791 } else { 2359 } else {
1792 dasm_put(Dst, 10698); 2360 dasm_put(Dst, 11806);
1793 } 2361 }
1794 break; 2362 break;
1795 } 2363 }
1796 if (sse) { 2364 if (sse) {
1797 dasm_put(Dst, 10254); 2365 dasm_put(Dst, 11006);
1798 } else { 2366 } else {
1799 dasm_put(Dst, 10266); 2367 dasm_put(Dst, 11018);
1800 } 2368 }
1801 dasm_put(Dst, 9697); 2369 dasm_put(Dst, 10132);
1802 break; 2370 break;
1803 case BC_MODVN: 2371 case BC_MODVN:
1804 dasm_put(Dst, 10372); 2372 dasm_put(Dst, 11138);
1805 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2373 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1806 switch (vk) { 2374 switch (vk) {
1807 case 0: 2375 case 0:
1808 dasm_put(Dst, 10380, LJ_TISNUM); 2376 dasm_put(Dst, 11255, LJ_TISNUM);
2377 if (LJ_DUALNUM) {
2378 dasm_put(Dst, 11267, LJ_TISNUM);
2379 }
1809 if (sse) { 2380 if (sse) {
1810 dasm_put(Dst, 10706); 2381 dasm_put(Dst, 11814);
1811 } else { 2382 } else {
1812 dasm_put(Dst, 10721); 2383 dasm_put(Dst, 11829);
1813 } 2384 }
1814 break; 2385 break;
1815 case 1: 2386 case 1:
1816 dasm_put(Dst, 10416, LJ_TISNUM); 2387 dasm_put(Dst, 11303, LJ_TISNUM);
2388 if (LJ_DUALNUM) {
2389 dasm_put(Dst, 11315, LJ_TISNUM);
2390 }
1817 if (sse) { 2391 if (sse) {
1818 dasm_put(Dst, 10730); 2392 dasm_put(Dst, 11838);
1819 } else { 2393 } else {
1820 dasm_put(Dst, 10745); 2394 dasm_put(Dst, 11853);
1821 } 2395 }
1822 break; 2396 break;
1823 default: 2397 default:
1824 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); 2398 dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
1825 if (sse) { 2399 if (sse) {
1826 dasm_put(Dst, 10754); 2400 dasm_put(Dst, 11862);
1827 } else { 2401 } else {
1828 dasm_put(Dst, 10768); 2402 dasm_put(Dst, 11876);
1829 } 2403 }
1830 break; 2404 break;
1831 } 2405 }
1832 dasm_put(Dst, 10776); 2406 dasm_put(Dst, 11884);
1833 if (sse) { 2407 if (sse) {
1834 dasm_put(Dst, 10254); 2408 dasm_put(Dst, 11006);
1835 } else { 2409 } else {
1836 dasm_put(Dst, 10266); 2410 dasm_put(Dst, 11018);
1837 } 2411 }
1838 dasm_put(Dst, 9697); 2412 dasm_put(Dst, 10132);
1839 break; 2413 break;
1840 case BC_MODNV: case BC_MODVV: 2414 case BC_MODNV: case BC_MODVV:
1841 dasm_put(Dst, 10372); 2415 dasm_put(Dst, 11138);
1842 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2416 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1843 switch (vk) { 2417 switch (vk) {
1844 case 0: 2418 case 0:
1845 dasm_put(Dst, 10380, LJ_TISNUM); 2419 dasm_put(Dst, 11255, LJ_TISNUM);
2420 if (LJ_DUALNUM) {
2421 dasm_put(Dst, 11267, LJ_TISNUM);
2422 }
1846 if (sse) { 2423 if (sse) {
1847 dasm_put(Dst, 10706); 2424 dasm_put(Dst, 11814);
1848 } else { 2425 } else {
1849 dasm_put(Dst, 10721); 2426 dasm_put(Dst, 11829);
1850 } 2427 }
1851 break; 2428 break;
1852 case 1: 2429 case 1:
1853 dasm_put(Dst, 10416, LJ_TISNUM); 2430 dasm_put(Dst, 11303, LJ_TISNUM);
2431 if (LJ_DUALNUM) {
2432 dasm_put(Dst, 11315, LJ_TISNUM);
2433 }
1854 if (sse) { 2434 if (sse) {
1855 dasm_put(Dst, 10730); 2435 dasm_put(Dst, 11838);
1856 } else { 2436 } else {
1857 dasm_put(Dst, 10745); 2437 dasm_put(Dst, 11853);
1858 } 2438 }
1859 break; 2439 break;
1860 default: 2440 default:
1861 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); 2441 dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
1862 if (sse) { 2442 if (sse) {
1863 dasm_put(Dst, 10754); 2443 dasm_put(Dst, 11862);
1864 } else { 2444 } else {
1865 dasm_put(Dst, 10768); 2445 dasm_put(Dst, 11876);
1866 } 2446 }
1867 break; 2447 break;
1868 } 2448 }
1869 dasm_put(Dst, 10782); 2449 dasm_put(Dst, 11890);
1870 break; 2450 break;
1871 case BC_POW: 2451 case BC_POW:
1872 dasm_put(Dst, 10372); 2452 dasm_put(Dst, 11138);
1873 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2453 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1874 switch (vk) { 2454 switch (vk) {
1875 case 0: 2455 case 0:
1876 dasm_put(Dst, 10380, LJ_TISNUM); 2456 dasm_put(Dst, 11255, LJ_TISNUM);
2457 if (LJ_DUALNUM) {
2458 dasm_put(Dst, 11267, LJ_TISNUM);
2459 }
1877 if (sse) { 2460 if (sse) {
1878 dasm_put(Dst, 10706); 2461 dasm_put(Dst, 11814);
1879 } else { 2462 } else {
1880 dasm_put(Dst, 10721); 2463 dasm_put(Dst, 11829);
1881 } 2464 }
1882 break; 2465 break;
1883 case 1: 2466 case 1:
1884 dasm_put(Dst, 10416, LJ_TISNUM); 2467 dasm_put(Dst, 11303, LJ_TISNUM);
2468 if (LJ_DUALNUM) {
2469 dasm_put(Dst, 11315, LJ_TISNUM);
2470 }
1885 if (sse) { 2471 if (sse) {
1886 dasm_put(Dst, 10730); 2472 dasm_put(Dst, 11838);
1887 } else { 2473 } else {
1888 dasm_put(Dst, 10745); 2474 dasm_put(Dst, 11853);
1889 } 2475 }
1890 break; 2476 break;
1891 default: 2477 default:
1892 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); 2478 dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM);
1893 if (sse) { 2479 if (sse) {
1894 dasm_put(Dst, 10754); 2480 dasm_put(Dst, 11862);
1895 } else { 2481 } else {
1896 dasm_put(Dst, 10768); 2482 dasm_put(Dst, 11876);
1897 } 2483 }
1898 break; 2484 break;
1899 } 2485 }
1900 dasm_put(Dst, 10787); 2486 dasm_put(Dst, 11895);
1901 if (sse) { 2487 if (sse) {
1902 dasm_put(Dst, 10254); 2488 dasm_put(Dst, 11006);
1903 } else { 2489 } else {
1904 dasm_put(Dst, 10266); 2490 dasm_put(Dst, 11018);
1905 } 2491 }
1906 dasm_put(Dst, 9697); 2492 dasm_put(Dst, 10132);
1907 break; 2493 break;
1908 2494
1909 case BC_CAT: 2495 case BC_CAT:
1910 dasm_put(Dst, 10791, Dt1(->base), Dt1(->base)); 2496 dasm_put(Dst, 11899, Dt1(->base), Dt1(->base));
1911 break; 2497 break;
1912 2498
1913 /* -- Constant ops ------------------------------------------------------ */ 2499 /* -- Constant ops ------------------------------------------------------ */
1914 2500
1915 case BC_KSTR: 2501 case BC_KSTR:
1916 dasm_put(Dst, 10875, LJ_TSTR); 2502 dasm_put(Dst, 11983, LJ_TSTR);
1917 break; 2503 break;
1918 case BC_KCDATA: 2504 case BC_KCDATA:
1919#if LJ_HASFFI 2505#if LJ_HASFFI
1920 dasm_put(Dst, 10875, LJ_TCDATA); 2506 dasm_put(Dst, 11983, LJ_TCDATA);
1921#endif 2507#endif
1922 break; 2508 break;
1923 case BC_KSHORT: 2509 case BC_KSHORT:
1924 if (sse) { 2510 if (LJ_DUALNUM) {
1925 dasm_put(Dst, 10912); 2511 dasm_put(Dst, 12020, LJ_TISNUM);
2512 } else if (sse) {
2513 dasm_put(Dst, 12032);
1926 } else { 2514 } else {
1927 dasm_put(Dst, 10927); 2515 dasm_put(Dst, 12047);
1928 } 2516 }
1929 dasm_put(Dst, 9697); 2517 dasm_put(Dst, 10132);
1930 break; 2518 break;
1931 case BC_KNUM: 2519 case BC_KNUM:
1932 if (sse) { 2520 if (sse) {
1933 dasm_put(Dst, 10935); 2521 dasm_put(Dst, 12055);
1934 } else { 2522 } else {
1935 dasm_put(Dst, 10949); 2523 dasm_put(Dst, 12069);
1936 } 2524 }
1937 dasm_put(Dst, 9697); 2525 dasm_put(Dst, 10132);
1938 break; 2526 break;
1939 case BC_KPRI: 2527 case BC_KPRI:
1940 dasm_put(Dst, 10957); 2528 dasm_put(Dst, 12077);
1941 break; 2529 break;
1942 case BC_KNIL: 2530 case BC_KNIL:
1943 dasm_put(Dst, 10986, LJ_TNIL); 2531 dasm_put(Dst, 12106, LJ_TNIL);
1944 break; 2532 break;
1945 2533
1946 /* -- Upvalue and function ops ------------------------------------------ */ 2534 /* -- Upvalue and function ops ------------------------------------------ */
1947 2535
1948 case BC_UGET: 2536 case BC_UGET:
1949 dasm_put(Dst, 11034, offsetof(GCfuncL, uvptr), DtA(->v)); 2537 dasm_put(Dst, 12154, offsetof(GCfuncL, uvptr), DtA(->v));
1950 break; 2538 break;
1951 case BC_USETV: 2539 case BC_USETV:
1952#define TV2MARKOFS \ 2540#define TV2MARKOFS \
1953 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2541 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1954 dasm_put(Dst, 11075, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G); 2542 dasm_put(Dst, 12195, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
1955 dasm_put(Dst, 11171); 2543 dasm_put(Dst, 12291);
1956 break; 2544 break;
1957#undef TV2MARKOFS 2545#undef TV2MARKOFS
1958 case BC_USETS: 2546 case BC_USETS:
1959 dasm_put(Dst, 11183, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2547 dasm_put(Dst, 12303, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1960 break; 2548 break;
1961 case BC_USETN: 2549 case BC_USETN:
1962 dasm_put(Dst, 11279); 2550 dasm_put(Dst, 12399);
1963 if (sse) { 2551 if (sse) {
1964 dasm_put(Dst, 11284); 2552 dasm_put(Dst, 12404);
1965 } else { 2553 } else {
1966 dasm_put(Dst, 9978); 2554 dasm_put(Dst, 11833);
1967 } 2555 }
1968 dasm_put(Dst, 11292, offsetof(GCfuncL, uvptr), DtA(->v)); 2556 dasm_put(Dst, 12412, offsetof(GCfuncL, uvptr), DtA(->v));
1969 if (sse) { 2557 if (sse) {
1970 dasm_put(Dst, 11301); 2558 dasm_put(Dst, 12421);
1971 } else { 2559 } else {
1972 dasm_put(Dst, 11307); 2560 dasm_put(Dst, 12427);
1973 } 2561 }
1974 dasm_put(Dst, 9697); 2562 dasm_put(Dst, 10132);
1975 break; 2563 break;
1976 case BC_USETP: 2564 case BC_USETP:
1977 dasm_put(Dst, 11310, offsetof(GCfuncL, uvptr), DtA(->v)); 2565 dasm_put(Dst, 12430, offsetof(GCfuncL, uvptr), DtA(->v));
1978 break; 2566 break;
1979 case BC_UCLO: 2567 case BC_UCLO:
1980 dasm_put(Dst, 11350, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2568 dasm_put(Dst, 12470, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1981 break; 2569 break;
1982 2570
1983 case BC_FNEW: 2571 case BC_FNEW:
1984 dasm_put(Dst, 11406, Dt1(->base), Dt1(->base), LJ_TFUNC); 2572 dasm_put(Dst, 12526, Dt1(->base), Dt1(->base), LJ_TFUNC);
1985 break; 2573 break;
1986 2574
1987 /* -- Table ops --------------------------------------------------------- */ 2575 /* -- Table ops --------------------------------------------------------- */
1988 2576
1989 case BC_TNEW: 2577 case BC_TNEW:
1990 dasm_put(Dst, 11473, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2578 dasm_put(Dst, 12593, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1991 break; 2579 break;
1992 case BC_TDUP: 2580 case BC_TDUP:
1993 dasm_put(Dst, 11597, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2581 dasm_put(Dst, 12717, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1994 break; 2582 break;
1995 2583
1996 case BC_GGET: 2584 case BC_GGET:
1997 dasm_put(Dst, 11696, Dt7(->env)); 2585 dasm_put(Dst, 12816, Dt7(->env));
1998 break; 2586 break;
1999 case BC_GSET: 2587 case BC_GSET:
2000 dasm_put(Dst, 11716, Dt7(->env)); 2588 dasm_put(Dst, 12836, Dt7(->env));
2001 break; 2589 break;
2002 2590
2003 case BC_TGETV: 2591 case BC_TGETV:
2004 dasm_put(Dst, 11736, LJ_TTAB, LJ_TISNUM); 2592 dasm_put(Dst, 12856, LJ_TTAB);
2005 if (sse) { 2593 if (LJ_DUALNUM) {
2006 dasm_put(Dst, 11769); 2594 dasm_put(Dst, 12879, LJ_TISNUM);
2007 } else { 2595 } else {
2596 dasm_put(Dst, 12893, LJ_TISNUM);
2597 if (sse) {
2598 dasm_put(Dst, 12904);
2599 } else {
2600 }
2601 dasm_put(Dst, 12925);
2008 } 2602 }
2009 dasm_put(Dst, 11790, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2603 dasm_put(Dst, 12930, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2010 dasm_put(Dst, 11875, LJ_TNIL, LJ_TSTR); 2604 dasm_put(Dst, 13022, LJ_TSTR);
2011 break; 2605 break;
2012 case BC_TGETS: 2606 case BC_TGETS:
2013 dasm_put(Dst, 11904, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2607 dasm_put(Dst, 13040, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2014 dasm_put(Dst, 11989, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2608 dasm_put(Dst, 13125, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2015 break; 2609 break;
2016 case BC_TGETB: 2610 case BC_TGETB:
2017 dasm_put(Dst, 12061, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2611 dasm_put(Dst, 13197, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2018 dasm_put(Dst, 12157, LJ_TNIL); 2612 dasm_put(Dst, 13293, LJ_TNIL);
2019 break; 2613 break;
2020 2614
2021 case BC_TSETV: 2615 case BC_TSETV:
2022 dasm_put(Dst, 12174, LJ_TTAB, LJ_TISNUM); 2616 dasm_put(Dst, 13310, LJ_TTAB);
2023 if (sse) { 2617 if (LJ_DUALNUM) {
2024 dasm_put(Dst, 11769); 2618 dasm_put(Dst, 12879, LJ_TISNUM);
2025 } else { 2619 } else {
2620 dasm_put(Dst, 12893, LJ_TISNUM);
2621 if (sse) {
2622 dasm_put(Dst, 12904);
2623 } else {
2624 }
2625 dasm_put(Dst, 13333);
2026 } 2626 }
2027 dasm_put(Dst, 12207, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2627 dasm_put(Dst, 13338, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2028 dasm_put(Dst, 12287, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2628 dasm_put(Dst, 13419, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2029 break; 2629 break;
2030 case BC_TSETS: 2630 case BC_TSETS:
2031 dasm_put(Dst, 12351, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2631 dasm_put(Dst, 13478, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2032 dasm_put(Dst, 12428, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2632 dasm_put(Dst, 13555, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2033 dasm_put(Dst, 12515, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2633 dasm_put(Dst, 13642, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2034 break; 2634 break;
2035 case BC_TSETB: 2635 case BC_TSETB:
2036 dasm_put(Dst, 12607, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2636 dasm_put(Dst, 13734, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2037 dasm_put(Dst, 12702, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2637 dasm_put(Dst, 13829, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2038 break; 2638 break;
2039 2639
2040 case BC_TSETM: 2640 case BC_TSETM:
2041 dasm_put(Dst, 12750, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2641 dasm_put(Dst, 13877, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2042 dasm_put(Dst, 12900, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2642 dasm_put(Dst, 14027, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2043 break; 2643 break;
2044 2644
2045 /* -- Calls and vararg handling ----------------------------------------- */ 2645 /* -- Calls and vararg handling ----------------------------------------- */
2046 2646
2047 case BC_CALL: case BC_CALLM: 2647 case BC_CALL: case BC_CALLM:
2048 dasm_put(Dst, 10376); 2648 dasm_put(Dst, 11142);
2049 if (op == BC_CALLM) { 2649 if (op == BC_CALLM) {
2050 dasm_put(Dst, 12920); 2650 dasm_put(Dst, 14047);
2051 } 2651 }
2052 dasm_put(Dst, 12925, LJ_TFUNC, Dt7(->pc)); 2652 dasm_put(Dst, 14052, LJ_TFUNC, Dt7(->pc));
2053 break; 2653 break;
2054 2654
2055 case BC_CALLMT: 2655 case BC_CALLMT:
2056 dasm_put(Dst, 12920); 2656 dasm_put(Dst, 14047);
2057 break; 2657 break;
2058 case BC_CALLT: 2658 case BC_CALLT:
2059 dasm_put(Dst, 12968, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2659 dasm_put(Dst, 14095, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2060 dasm_put(Dst, 13086, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2660 dasm_put(Dst, 14213, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2061 break; 2661 break;
2062 2662
2063 case BC_ITERC: 2663 case BC_ITERC:
2064 dasm_put(Dst, 13160, LJ_TFUNC, 2+1, Dt7(->pc)); 2664 dasm_put(Dst, 14287, LJ_TFUNC, 2+1, Dt7(->pc));
2065 break; 2665 break;
2066 2666
2067 case BC_ITERN: 2667 case BC_ITERN:
2068#if LJ_HASJIT 2668#if LJ_HASJIT
2069#endif 2669#endif
2070 dasm_put(Dst, 13232, Dt6(->asize), Dt6(->array), LJ_TNIL); 2670 dasm_put(Dst, 14359, Dt6(->asize), Dt6(->array), LJ_TNIL);
2071 if (sse) { 2671 if (LJ_DUALNUM) {
2072 dasm_put(Dst, 13284); 2672 dasm_put(Dst, 11041, LJ_TISNUM);
2673 } else if (sse) {
2674 dasm_put(Dst, 11119);
2073 } else { 2675 } else {
2074 dasm_put(Dst, 13290); 2676 dasm_put(Dst, 14411);
2075 } 2677 }
2076 dasm_put(Dst, 13296); 2678 dasm_put(Dst, 14417);
2077 if (sse) { 2679 if (LJ_DUALNUM) {
2078 dasm_put(Dst, 10254); 2680 } else if (sse) {
2681 dasm_put(Dst, 11006);
2079 } else { 2682 } else {
2080 dasm_put(Dst, 10266); 2683 dasm_put(Dst, 11018);
2081 } 2684 }
2082 dasm_put(Dst, 13309, -BCBIAS_J*4); 2685 dasm_put(Dst, 14430, -BCBIAS_J*4);
2083 if (!sse) { 2686 if (!LJ_DUALNUM && !sse) {
2084 dasm_put(Dst, 13363); 2687 dasm_put(Dst, 14484);
2085 } 2688 }
2086 dasm_put(Dst, 13369, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2689 dasm_put(Dst, 14490, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2087 break; 2690 break;
2088 2691
2089 case BC_ISNEXT: 2692 case BC_ISNEXT:
2090 dasm_put(Dst, 13448, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2693 dasm_put(Dst, 14569, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2091 break; 2694 break;
2092 2695
2093 case BC_VARG: 2696 case BC_VARG:
2094 dasm_put(Dst, 13549, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2697 dasm_put(Dst, 14670, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2095 dasm_put(Dst, 13716, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2698 dasm_put(Dst, 14837, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2096 break; 2699 break;
2097 2700
2098 /* -- Returns ----------------------------------------------------------- */ 2701 /* -- Returns ----------------------------------------------------------- */
2099 2702
2100 case BC_RETM: 2703 case BC_RETM:
2101 dasm_put(Dst, 12920); 2704 dasm_put(Dst, 14047);
2102 break; 2705 break;
2103 2706
2104 case BC_RET: case BC_RET0: case BC_RET1: 2707 case BC_RET: case BC_RET0: case BC_RET1:
2105 if (op != BC_RET0) { 2708 if (op != BC_RET0) {
2106 dasm_put(Dst, 13786); 2709 dasm_put(Dst, 14907);
2107 } 2710 }
2108 dasm_put(Dst, 13790, FRAME_TYPE); 2711 dasm_put(Dst, 14911, FRAME_TYPE);
2109 switch (op) { 2712 switch (op) {
2110 case BC_RET: 2713 case BC_RET:
2111 dasm_put(Dst, 13809); 2714 dasm_put(Dst, 14930);
2112 break; 2715 break;
2113 case BC_RET1: 2716 case BC_RET1:
2114 dasm_put(Dst, 13863); 2717 dasm_put(Dst, 14984);
2115 /* fallthrough */ 2718 /* fallthrough */
2116 case BC_RET0: 2719 case BC_RET0:
2117 dasm_put(Dst, 13873); 2720 dasm_put(Dst, 14994);
2118 default: 2721 default:
2119 break; 2722 break;
2120 } 2723 }
2121 dasm_put(Dst, 13884, Dt7(->pc), PC2PROTO(k)); 2724 dasm_put(Dst, 15005, Dt7(->pc), PC2PROTO(k));
2122 if (op == BC_RET) { 2725 if (op == BC_RET) {
2123 dasm_put(Dst, 13932, LJ_TNIL); 2726 dasm_put(Dst, 15053, LJ_TNIL);
2124 } else { 2727 } else {
2125 dasm_put(Dst, 13943, LJ_TNIL); 2728 dasm_put(Dst, 15064, LJ_TNIL);
2126 } 2729 }
2127 dasm_put(Dst, 13950, -FRAME_VARG, FRAME_TYPEP); 2730 dasm_put(Dst, 15071, -FRAME_VARG, FRAME_TYPEP);
2128 if (op != BC_RET0) { 2731 if (op != BC_RET0) {
2129 dasm_put(Dst, 13974); 2732 dasm_put(Dst, 15095);
2130 } 2733 }
2131 dasm_put(Dst, 4579); 2734 dasm_put(Dst, 4669);
2132 break; 2735 break;
2133 2736
2134 /* -- Loops and branches ------------------------------------------------ */ 2737 /* -- Loops and branches ------------------------------------------------ */
@@ -2136,7 +2739,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2136 2739
2137 case BC_FORL: 2740 case BC_FORL:
2138#if LJ_HASJIT 2741#if LJ_HASJIT
2139 dasm_put(Dst, 13978, HOTCOUNT_PCMASK, GG_DISP2HOT); 2742 dasm_put(Dst, 15099, HOTCOUNT_PCMASK, GG_DISP2HOT);
2140#endif 2743#endif
2141 break; 2744 break;
2142 2745
@@ -2148,57 +2751,104 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2148 case BC_FORI: 2751 case BC_FORI:
2149 case BC_IFORL: 2752 case BC_IFORL:
2150 vk = (op == BC_IFORL || op == BC_JFORL); 2753 vk = (op == BC_IFORL || op == BC_JFORL);
2151 dasm_put(Dst, 13999); 2754 dasm_put(Dst, 15120);
2755 if (LJ_DUALNUM) {
2756 dasm_put(Dst, 15124, LJ_TISNUM);
2757 if (!vk) {
2758 dasm_put(Dst, 15134, LJ_TISNUM, LJ_TISNUM);
2759 } else {
2760 dasm_put(Dst, 15163);
2761 }
2762 dasm_put(Dst, 15182, LJ_TISNUM);
2763 if (op == BC_FORI) {
2764 dasm_put(Dst, 15193, -BCBIAS_J*4);
2765 } else if (op == BC_JFORI) {
2766 dasm_put(Dst, 15207, -BCBIAS_J*4, BC_JLOOP);
2767 } else if (op == BC_IFORL) {
2768 dasm_put(Dst, 15225, -BCBIAS_J*4);
2769 } else {
2770 dasm_put(Dst, 15217, BC_JLOOP);
2771 }
2772 dasm_put(Dst, 15239);
2773 if (vk) {
2774 dasm_put(Dst, 15264);
2775 }
2776 dasm_put(Dst, 15182, LJ_TISNUM);
2777 if (op == BC_FORI) {
2778 dasm_put(Dst, 15273);
2779 } else if (op == BC_JFORI) {
2780 dasm_put(Dst, 15278, -BCBIAS_J*4, BC_JLOOP);
2781 } else if (op == BC_IFORL) {
2782 dasm_put(Dst, 15292);
2783 } else {
2784 dasm_put(Dst, 15288, BC_JLOOP);
2785 }
2786 dasm_put(Dst, 15297);
2787 } else if (!vk) {
2788 dasm_put(Dst, 15304, LJ_TISNUM);
2789 }
2152 if (!vk) { 2790 if (!vk) {
2153 dasm_put(Dst, 14003, LJ_TISNUM, LJ_TISNUM); 2791 dasm_put(Dst, 15310, LJ_TISNUM);
2154 } 2792 }
2155 dasm_put(Dst, 14022); 2793 dasm_put(Dst, 15324);
2156 if (!vk) { 2794 if (!vk) {
2157 dasm_put(Dst, 14026, LJ_TISNUM); 2795 dasm_put(Dst, 15328, LJ_TISNUM);
2158 } 2796 }
2159 if (sse) { 2797 if (sse) {
2160 dasm_put(Dst, 14035); 2798 dasm_put(Dst, 15337);
2161 if (vk) { 2799 if (vk) {
2162 dasm_put(Dst, 14047); 2800 dasm_put(Dst, 15349);
2163 } else { 2801 } else {
2164 dasm_put(Dst, 14066); 2802 dasm_put(Dst, 15368);
2165 } 2803 }
2166 dasm_put(Dst, 14071); 2804 dasm_put(Dst, 15373);
2167 } else { 2805 } else {
2168 dasm_put(Dst, 14084); 2806 dasm_put(Dst, 15386);
2169 if (vk) { 2807 if (vk) {
2170 dasm_put(Dst, 14090); 2808 dasm_put(Dst, 15392);
2171 } else { 2809 } else {
2172 dasm_put(Dst, 14106); 2810 dasm_put(Dst, 15408);
2173 } 2811 }
2174 dasm_put(Dst, 14114); 2812 dasm_put(Dst, 15416);
2175 if (cmov) { 2813 if (cmov) {
2176 dasm_put(Dst, 9660); 2814 dasm_put(Dst, 10087);
2177 } else { 2815 } else {
2178 dasm_put(Dst, 9666); 2816 dasm_put(Dst, 10093);
2179 } 2817 }
2180 if (!cmov) { 2818 if (!cmov) {
2181 dasm_put(Dst, 14119); 2819 dasm_put(Dst, 15421);
2182 } 2820 }
2183 } 2821 }
2184 if (op == BC_FORI) { 2822 if (op == BC_FORI) {
2185 dasm_put(Dst, 14125, -BCBIAS_J*4); 2823 if (LJ_DUALNUM) {
2824 dasm_put(Dst, 15427);
2825 } else {
2826 dasm_put(Dst, 15432, -BCBIAS_J*4);
2827 }
2186 } else if (op == BC_JFORI) { 2828 } else if (op == BC_JFORI) {
2187 dasm_put(Dst, 14135, -BCBIAS_J*4, BC_JLOOP); 2829 dasm_put(Dst, 15442, -BCBIAS_J*4, BC_JLOOP);
2188 } else if (op == BC_IFORL) { 2830 } else if (op == BC_IFORL) {
2189 dasm_put(Dst, 14149, -BCBIAS_J*4); 2831 if (LJ_DUALNUM) {
2832 dasm_put(Dst, 15456);
2833 } else {
2834 dasm_put(Dst, 15461, -BCBIAS_J*4);
2835 }
2836 } else {
2837 dasm_put(Dst, 15452, BC_JLOOP);
2838 }
2839 if (LJ_DUALNUM) {
2840 dasm_put(Dst, 10016);
2190 } else { 2841 } else {
2191 dasm_put(Dst, 14145, BC_JLOOP); 2842 dasm_put(Dst, 10787);
2192 } 2843 }
2193 dasm_put(Dst, 9695);
2194 if (sse) { 2844 if (sse) {
2195 dasm_put(Dst, 14159); 2845 dasm_put(Dst, 15471);
2196 } 2846 }
2197 break; 2847 break;
2198 2848
2199 case BC_ITERL: 2849 case BC_ITERL:
2200#if LJ_HASJIT 2850#if LJ_HASJIT
2201 dasm_put(Dst, 13978, HOTCOUNT_PCMASK, GG_DISP2HOT); 2851 dasm_put(Dst, 15099, HOTCOUNT_PCMASK, GG_DISP2HOT);
2202#endif 2852#endif
2203 break; 2853 break;
2204 2854
@@ -2207,33 +2857,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2207 break; 2857 break;
2208#endif 2858#endif
2209 case BC_IITERL: 2859 case BC_IITERL:
2210 dasm_put(Dst, 14170, LJ_TNIL); 2860 dasm_put(Dst, 15482, LJ_TNIL);
2211 if (op == BC_JITERL) { 2861 if (op == BC_JITERL) {
2212 dasm_put(Dst, 14185, BC_JLOOP); 2862 dasm_put(Dst, 15497, BC_JLOOP);
2213 } else { 2863 } else {
2214 dasm_put(Dst, 14199, -BCBIAS_J*4); 2864 dasm_put(Dst, 15511, -BCBIAS_J*4);
2215 } 2865 }
2216 dasm_put(Dst, 10136); 2866 dasm_put(Dst, 10130);
2217 break; 2867 break;
2218 2868
2219 case BC_LOOP: 2869 case BC_LOOP:
2220#if LJ_HASJIT 2870#if LJ_HASJIT
2221 dasm_put(Dst, 13978, HOTCOUNT_PCMASK, GG_DISP2HOT); 2871 dasm_put(Dst, 15099, HOTCOUNT_PCMASK, GG_DISP2HOT);
2222#endif 2872#endif
2223 break; 2873 break;
2224 2874
2225 case BC_ILOOP: 2875 case BC_ILOOP:
2226 dasm_put(Dst, 9697); 2876 dasm_put(Dst, 10132);
2227 break; 2877 break;
2228 2878
2229 case BC_JLOOP: 2879 case BC_JLOOP:
2230#if LJ_HASJIT 2880#if LJ_HASJIT
2231 dasm_put(Dst, 14215, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2881 dasm_put(Dst, 15527, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2232#endif 2882#endif
2233 break; 2883 break;
2234 2884
2235 case BC_JMP: 2885 case BC_JMP:
2236 dasm_put(Dst, 14256, -BCBIAS_J*4); 2886 dasm_put(Dst, 15568, -BCBIAS_J*4);
2237 break; 2887 break;
2238 2888
2239 /* -- Function headers -------------------------------------------------- */ 2889 /* -- Function headers -------------------------------------------------- */
@@ -2247,7 +2897,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2247 2897
2248 case BC_FUNCF: 2898 case BC_FUNCF:
2249#if LJ_HASJIT 2899#if LJ_HASJIT
2250 dasm_put(Dst, 14282, HOTCOUNT_PCMASK, GG_DISP2HOT); 2900 dasm_put(Dst, 15594, HOTCOUNT_PCMASK, GG_DISP2HOT);
2251#endif 2901#endif
2252 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2902 case BC_FUNCV: /* NYI: compiled vararg functions. */
2253 break; 2903 break;
@@ -2257,47 +2907,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2257 break; 2907 break;
2258#endif 2908#endif
2259 case BC_IFUNCF: 2909 case BC_IFUNCF:
2260 dasm_put(Dst, 14303, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2910 dasm_put(Dst, 15615, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2261 if (op == BC_JFUNCF) { 2911 if (op == BC_JFUNCF) {
2262 dasm_put(Dst, 14334, BC_JLOOP); 2912 dasm_put(Dst, 15646, BC_JLOOP);
2263 } else { 2913 } else {
2264 dasm_put(Dst, 9697); 2914 dasm_put(Dst, 10132);
2265 } 2915 }
2266 dasm_put(Dst, 14343, LJ_TNIL); 2916 dasm_put(Dst, 15655, LJ_TNIL);
2267 break; 2917 break;
2268 2918
2269 case BC_JFUNCV: 2919 case BC_JFUNCV:
2270#if !LJ_HASJIT 2920#if !LJ_HASJIT
2271 break; 2921 break;
2272#endif 2922#endif
2273 dasm_put(Dst, 9014); 2923 dasm_put(Dst, 9242);
2274 break; /* NYI: compiled vararg functions. */ 2924 break; /* NYI: compiled vararg functions. */
2275 2925
2276 case BC_IFUNCV: 2926 case BC_IFUNCV:
2277 dasm_put(Dst, 14365, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2927 dasm_put(Dst, 15677, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2278 if (op == BC_JFUNCV) { 2928 if (op == BC_JFUNCV) {
2279 dasm_put(Dst, 14334, BC_JLOOP); 2929 dasm_put(Dst, 15646, BC_JLOOP);
2280 } else { 2930 } else {
2281 dasm_put(Dst, 14462, -4+PC2PROTO(k)); 2931 dasm_put(Dst, 15774, -4+PC2PROTO(k));
2282 } 2932 }
2283 dasm_put(Dst, 14487, LJ_TNIL); 2933 dasm_put(Dst, 15799, LJ_TNIL);
2284 break; 2934 break;
2285 2935
2286 case BC_FUNCC: 2936 case BC_FUNCC:
2287 case BC_FUNCCW: 2937 case BC_FUNCCW:
2288 dasm_put(Dst, 14509, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2938 dasm_put(Dst, 15821, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2289 if (op == BC_FUNCC) { 2939 if (op == BC_FUNCC) {
2290 dasm_put(Dst, 14539); 2940 dasm_put(Dst, 2341);
2291 } else { 2941 } else {
2292 dasm_put(Dst, 14543); 2942 dasm_put(Dst, 15851);
2293 } 2943 }
2294 dasm_put(Dst, 14551, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2944 dasm_put(Dst, 15859, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2295 if (op == BC_FUNCC) { 2945 if (op == BC_FUNCC) {
2296 dasm_put(Dst, 14561); 2946 dasm_put(Dst, 15869);
2297 } else { 2947 } else {
2298 dasm_put(Dst, 14566, DISPATCH_GL(wrapf)); 2948 dasm_put(Dst, 15874, DISPATCH_GL(wrapf));
2299 } 2949 }
2300 dasm_put(Dst, 14572, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2950 dasm_put(Dst, 15880, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2301 break; 2951 break;
2302 2952
2303 /* ---------------------------------------------------------------------- */ 2953 /* ---------------------------------------------------------------------- */
@@ -2325,7 +2975,7 @@ static int build_backend(BuildCtx *ctx)
2325 2975
2326 build_subroutines(ctx, cmov, sse); 2976 build_subroutines(ctx, cmov, sse);
2327 2977
2328 dasm_put(Dst, 14598); 2978 dasm_put(Dst, 15906);
2329 for (op = 0; op < BC__MAX; op++) 2979 for (op = 0; op < BC__MAX; op++)
2330 build_ins(ctx, (BCOp)op, op, cmov, sse); 2980 build_ins(ctx, (BCOp)op, op, cmov, sse);
2331 2981