aboutsummaryrefslogtreecommitdiff
path: root/src/buildvm_x64.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64.h')
-rw-r--r--src/buildvm_x64.h1864
1 files changed, 932 insertions, 932 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index 1a0cc248..b22c68a1 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[14087] = { 15static const unsigned char build_actionlist[14093] = {
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,
@@ -163,537 +163,537 @@ static const unsigned char build_actionlist[14087] = {
163 193,252,248,252,255,252,255,252,255,252,247,195,237,255,15,132,244,13,252, 163 193,252,248,252,255,252,255,252,255,252,247,195,237,255,15,132,244,13,252,
164 233,244,14,248,8,199,66,252,252,237,139,139,233,131,252,233,8,137,139,233, 164 233,244,14,248,8,199,66,252,252,237,139,139,233,131,252,233,8,137,139,233,
165 139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,12,36,68,137, 165 139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,12,36,68,137,
166 185,233,137,222,137,252,239,232,251,1,0,139,149,233,252,233,244,4,248,77, 166 185,233,137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233,244,
167 139,106,252,248,139,173,233,139,90,252,252,137,92,36,28,137,44,36,72,131, 167 4,248,77,139,106,252,248,139,173,233,139,90,252,252,137,92,36,28,137,44,36,
168 189,233,0,15,133,244,55,255,128,189,233,235,15,135,244,55,139,141,233,15, 168 72,131,189,233,0,15,133,244,55,255,128,189,233,235,15,135,244,55,139,141,
169 132,244,247,59,141,233,15,132,244,55,248,1,141,92,193,252,248,59,157,233, 169 233,15,132,244,247,59,141,233,15,132,244,55,248,1,141,92,193,252,248,59,157,
170 15,135,244,55,137,157,233,139,108,36,24,137,149,233,137,149,233,141,108,194, 170 233,15,135,244,55,137,157,233,139,108,36,24,137,149,233,137,149,233,141,108,
171 252,240,72,41,221,57,203,15,132,244,249,248,2,255,139,68,43,4,137,67,252, 171 194,252,240,72,41,221,57,203,15,132,244,249,248,2,255,139,68,43,4,137,67,
172 252,139,4,43,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206, 172 252,252,139,4,43,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,
173 139,60,36,232,244,24,65,199,134,233,237,139,108,36,24,139,28,36,139,149,233, 173 206,139,60,36,232,244,24,65,199,134,233,237,139,108,36,24,139,28,36,139,149,
174 129,252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233, 174 233,129,252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,
175 68,137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15, 175 233,68,137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,
176 135,244,255,255,137,213,72,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41, 176 15,135,244,255,255,137,213,72,41,205,248,5,139,1,137,4,41,139,65,4,137,68,
177 4,131,193,8,68,57,252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,28, 177 41,4,131,193,8,68,57,252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,
178 137,68,36,4,49,201,252,247,195,237,15,132,244,13,252,233,244,14,248,8,137, 178 28,137,68,36,4,49,201,252,247,195,237,15,132,244,13,252,233,244,14,248,8,
179 222,137,252,239,232,251,1,13,248,9,139,12,36,68,137,185,233,137,222,137,252, 179 137,222,137,252,239,232,251,1,13,248,9,139,12,36,68,137,185,233,137,222,137,
180 239,232,251,1,0,139,149,233,252,233,244,4,248,78,139,108,36,24,72,252,247, 180 252,239,232,251,1,0,139,28,36,139,149,233,252,233,244,4,248,78,139,108,36,
181 133,233,237,15,132,244,55,255,137,149,233,141,68,194,252,248,137,133,233, 181 24,72,252,247,133,233,237,15,132,244,55,255,137,149,233,141,68,194,252,248,
182 49,192,72,137,133,233,176,235,136,133,233,252,233,244,16,255,248,64,139,90, 182 137,133,233,49,192,72,137,133,233,176,235,136,133,233,252,233,244,16,255,
183 252,252,221,90,252,248,252,233,244,58,248,79,129,252,248,239,15,130,244,55, 183 248,64,139,90,252,252,221,90,252,248,252,233,244,58,248,79,129,252,248,239,
184 129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,184,237,237,102,72,15, 184 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,184,237,
185 110,200,15,84,193,248,63,139,90,252,252,252,242,15,17,66,252,248,255,248, 185 237,102,72,15,110,200,15,84,193,248,63,139,90,252,252,252,242,15,17,66,252,
186 79,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217, 186 248,255,248,79,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
187 225,248,63,248,64,139,90,252,252,221,90,252,248,255,248,58,184,237,248,69, 187 55,221,2,217,225,248,63,248,64,139,90,252,252,221,90,252,248,255,248,58,184,
188 137,68,36,4,248,56,252,247,195,237,15,133,244,253,248,5,56,67,252,255,15, 188 237,248,69,137,68,36,4,248,56,252,247,195,237,15,133,244,253,248,5,56,67,
189 135,244,252,15,182,75,252,253,72,252,247,209,141,20,202,139,3,15,182,204, 189 252,255,15,135,244,252,15,182,75,252,253,72,252,247,209,141,20,202,139,3,
190 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,199,68,194,252, 190 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,199,
191 244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255, 191 68,194,252,244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,
192 252,255,252,233,244,14,255,248,80,129,252,248,239,15,130,244,55,129,122,253, 192 252,255,252,255,252,233,244,14,255,248,80,129,252,248,239,15,130,244,55,129,
193 4,239,15,135,244,55,252,242,15,81,2,252,233,244,63,248,81,129,252,248,239, 193 122,253,4,239,15,135,244,55,252,242,15,81,2,252,233,244,63,248,81,129,252,
194 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,232,244,82, 194 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,232,
195 252,233,244,63,248,83,255,129,252,248,239,15,130,244,55,129,122,253,4,239, 195 244,82,252,233,244,63,248,83,255,129,252,248,239,15,130,244,55,129,122,253,
196 15,135,244,55,252,242,15,16,2,232,244,84,252,233,244,63,255,248,80,129,252, 196 4,239,15,135,244,55,252,242,15,16,2,232,244,84,252,233,244,63,255,248,80,
197 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,250,252, 197 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,
198 233,244,64,248,81,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135, 198 250,252,233,244,64,248,81,129,252,248,239,15,130,244,55,129,122,253,4,239,
199 244,55,221,2,232,244,82,252,233,244,64,248,83,255,129,252,248,239,15,130, 199 15,135,244,55,221,2,232,244,82,252,233,244,64,248,83,255,129,252,248,239,
200 244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,84,252,233,244,64,255, 200 15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,84,252,233,244,
201 248,85,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,217, 201 64,255,248,85,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
202 252,237,221,2,217,252,241,252,233,244,64,248,86,129,252,248,239,15,130,244, 202 55,217,252,237,221,2,217,252,241,252,233,244,64,248,86,129,252,248,239,15,
203 55,129,122,253,4,239,15,135,244,55,217,252,236,221,2,217,252,241,252,233, 203 130,244,55,129,122,253,4,239,15,135,244,55,217,252,236,221,2,217,252,241,
204 244,64,248,87,129,252,248,239,255,15,130,244,55,129,122,253,4,239,15,135, 204 252,233,244,64,248,87,129,252,248,239,255,15,130,244,55,129,122,253,4,239,
205 244,55,221,2,232,244,88,252,233,244,64,248,89,129,252,248,239,15,130,244, 205 15,135,244,55,221,2,232,244,88,252,233,244,64,248,89,129,252,248,239,15,130,
206 55,129,122,253,4,239,15,135,244,55,221,2,217,252,254,252,233,244,64,248,90, 206 244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,254,252,233,244,64,248,
207 129,252,248,239,255,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217, 207 90,129,252,248,239,255,15,130,244,55,129,122,253,4,239,15,135,244,55,221,
208 252,255,252,233,244,64,248,91,129,252,248,239,15,130,244,55,129,122,253,4, 208 2,217,252,255,252,233,244,64,248,91,129,252,248,239,15,130,244,55,129,122,
209 239,15,135,244,55,221,2,217,252,242,221,216,252,233,244,64,248,92,129,252, 209 253,4,239,15,135,244,55,221,2,217,252,242,221,216,252,233,244,64,248,92,129,
210 248,239,15,130,244,55,255,129,122,253,4,239,15,135,244,55,221,2,217,192,216, 210 252,248,239,15,130,244,55,255,129,122,253,4,239,15,135,244,55,221,2,217,192,
211 200,217,232,222,225,217,252,250,217,252,243,252,233,244,64,248,93,129,252, 211 216,200,217,232,222,225,217,252,250,217,252,243,252,233,244,64,248,93,129,
212 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,192,216,200, 212 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,192,216,
213 217,232,222,225,217,252,250,217,201,217,252,243,252,233,244,64,248,94,129, 213 200,217,232,222,225,217,252,250,217,201,217,252,243,252,233,244,64,248,94,
214 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,255,221,2,217,232, 214 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,255,221,2,217,
215 217,252,243,252,233,244,64,255,248,95,129,252,248,239,15,130,244,55,129,122, 215 232,217,252,243,252,233,244,64,255,248,95,129,252,248,239,15,130,244,55,129,
216 253,4,239,15,135,244,55,252,242,15,16,2,255,137,213,232,251,1,14,137,252, 216 122,253,4,239,15,135,244,55,252,242,15,16,2,255,137,213,232,251,1,14,137,
217 234,252,233,244,63,255,248,96,129,252,248,239,15,130,244,55,129,122,253,4, 217 252,234,252,233,244,63,255,248,96,129,252,248,239,15,130,244,55,129,122,253,
218 239,15,135,244,55,252,242,15,16,2,255,137,213,232,251,1,15,137,252,234,252, 218 4,239,15,135,244,55,252,242,15,16,2,255,137,213,232,251,1,15,137,252,234,
219 233,244,63,255,248,97,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 219 252,233,244,63,255,248,97,129,252,248,239,15,130,244,55,129,122,253,4,239,
220 135,244,55,252,242,15,16,2,255,137,213,232,251,1,16,137,252,234,252,233,244, 220 15,135,244,55,252,242,15,16,2,255,137,213,232,251,1,16,137,252,234,252,233,
221 63,248,98,255,248,99,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135, 221 244,63,248,98,255,248,99,129,252,248,239,15,130,244,55,129,122,253,4,239,
222 244,55,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244, 222 15,135,244,55,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,
223 63,255,248,99,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244, 223 244,63,255,248,99,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
224 55,221,2,139,106,252,248,220,141,233,252,233,244,64,255,248,100,129,252,248, 224 244,55,221,2,139,106,252,248,220,141,233,252,233,244,64,255,248,100,129,252,
225 239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,
226 244,55,221,2,221,66,8,217,252,243,252,233,244,64,248,101,129,252,248,239,
227 15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,255,15,135,
228 244,55,221,66,8,221,2,217,252,253,221,217,252,233,244,64,248,102,129,252,
229 248,239,15,130,244,55,139,106,4,129,252,253,239,15,135,244,55,139,90,252,
230 252,139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,
231 255,15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,
232 32,0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,
233 137,44,36,219,4,36,255,139,106,252,252,129,229,252,255,252,255,15,128,129,
234 205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,184,
235 237,252,233,244,69,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252,
236 233,244,2,255,248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,
237 252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,4,36,0,0,128,90,
238 216,12,36,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,
239 244,1,255,248,103,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
240 244,55,252,242,15,16,2,255,248,103,129,252,248,239,15,130,244,55,129,122,
241 253,4,239,15,135,244,55,221,2,255,139,106,4,139,90,252,252,209,229,129,252,
242 253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,104,252,242,15,92,
243 224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,244,104,
244 220,252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,
245 15,136,244,249,248,2,184,237,252,233,244,69,248,3,129,252,245,0,0,0,128,137,
246 106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,
247 201,252,233,244,1,255,248,105,129,252,248,239,15,130,244,55,129,122,253,4,
248 239,15,135,244,55,129,122,253,12,239,15,135,244,55,221,66,8,221,2,248,1,217,
249 252,248,223,224,158,15,138,244,1,221,217,252,233,244,64,255,248,106,129,252,
250 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239, 225 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,
251 15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,232,244,107,252,233,244, 226 15,135,244,55,221,2,221,66,8,217,252,243,252,233,244,64,248,101,129,252,248,
252 63,255,248,106,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244, 227 239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,255,
253 55,129,122,253,12,239,15,135,244,55,221,2,221,66,8,232,244,107,252,233,244, 228 15,135,244,55,221,66,8,221,2,217,252,253,221,217,252,233,244,64,248,102,129,
254 64,255,248,108,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244, 229 252,248,239,15,130,244,55,139,106,4,129,252,253,239,15,135,244,55,139,90,
255 55,252,242,15,16,2,189,2,0,0,0,248,1,57,197,15,131,244,63,129,124,253,252, 230 252,252,139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,
256 234,252,252,239,15,135,244,55,252,242,15,16,76,252,234,252,248,252,242,15, 231 252,255,15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,
257 93,193,131,197,1,252,233,244,1,255,248,109,129,252,248,239,15,130,244,55, 232 0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,
258 129,122,253,4,239,15,135,244,55,252,242,15,16,2,189,2,0,0,0,248,1,57,197, 233 255,137,44,36,219,4,36,255,139,106,252,252,129,229,252,255,252,255,15,128,
259 15,131,244,63,129,124,253,252,234,252,252,239,15,135,244,55,252,242,15,16, 234 129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,
260 76,252,234,252,248,252,242,15,95,193,131,197,1,252,233,244,1,255,248,5,221, 235 184,237,252,233,244,69,248,3,255,15,87,192,252,233,244,2,255,217,252,238,
261 216,252,233,244,55,255,248,110,129,252,248,239,15,130,244,55,129,122,253, 236 252,233,244,2,255,248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,
262 4,239,15,133,244,55,139,42,255,252,242,15,42,133,233,252,233,244,63,255,219, 237 205,252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,4,36,0,0,128,
263 133,233,252,233,244,64,255,248,111,129,252,248,239,15,133,244,55,129,122, 238 90,216,12,36,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252,
264 253,4,239,15,133,244,55,139,42,139,90,252,252,131,189,233,1,15,130,244,72, 239 233,244,1,255,248,103,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
265 15,182,173,233,255,252,242,15,42,197,252,233,244,63,255,137,44,36,219,4,36, 240 135,244,55,252,242,15,16,2,255,248,103,129,252,248,239,15,130,244,55,129,
266 252,233,244,64,255,248,112,65,139,174,233,65,59,174,233,15,130,244,247,232, 241 122,253,4,239,15,135,244,55,221,2,255,139,106,4,139,90,252,252,209,229,129,
267 244,66,248,1,129,252,248,239,15,133,244,55,129,122,253,4,239,15,135,244,55, 242 252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,104,252,242,
268 255,252,242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,55,137,108,36,4, 243 15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,
269 255,221,2,219,92,36,4,129,124,36,4,252,255,0,0,0,15,135,244,55,255,199,68, 244 244,104,220,252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,
270 36,8,1,0,0,0,72,141,68,36,4,248,113,139,108,36,24,137,149,233,139,84,36,8, 245 4,49,232,15,136,244,249,248,2,184,237,252,233,244,69,248,3,129,252,245,0,
271 72,137,198,137,252,239,137,92,36,28,232,251,1,17,139,149,233,139,90,252,252, 246 0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,
272 199,66,252,252,237,137,66,252,248,252,233,244,58,248,114,65,139,174,233,65, 247 252,238,217,201,252,233,244,1,255,248,105,129,252,248,239,15,130,244,55,129,
273 59,174,233,15,130,244,247,232,244,66,248,1,199,68,36,4,252,255,252,255,252, 248 122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,221,66,8,221,
274 255,252,255,129,252,248,239,15,130,244,55,15,134,244,247,129,122,253,20,239, 249 2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252,233,244,64,255,248,
275 255,252,242,15,44,106,16,137,108,36,4,255,221,66,16,219,92,36,4,255,248,1, 250 106,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,
276 129,122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,42,137, 251 253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,232,244,107,252,
277 108,36,8,139,173,233,255,252,242,15,44,74,8,255,139,68,36,4,57,197,15,130, 252 233,244,63,255,248,106,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
278 244,251,248,2,133,201,15,142,244,253,248,3,139,108,36,8,41,200,15,140,244, 253 135,244,55,129,122,253,12,239,15,135,244,55,221,2,221,66,8,232,244,107,252,
279 115,141,172,253,13,233,131,192,1,248,4,137,68,36,8,137,232,252,233,244,113, 254 233,244,64,255,248,108,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
280 248,5,15,140,244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244, 255 135,244,55,252,242,15,16,2,189,2,0,0,0,248,1,57,197,15,131,244,63,129,124,
281 2,248,7,255,15,132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0, 256 253,252,234,252,252,239,15,135,244,55,252,242,15,16,76,252,234,252,248,252,
282 0,0,252,233,244,3,248,115,49,192,252,233,244,4,248,116,129,252,248,239,15, 257 242,15,93,193,131,197,1,252,233,244,1,255,248,109,129,252,248,239,15,130,
283 130,244,55,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,248,1,255, 258 244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,189,2,0,0,0,248,1,
284 129,122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,42,255, 259 57,197,15,131,244,63,129,124,253,252,234,252,252,239,15,135,244,55,252,242,
285 252,242,15,44,66,8,255,221,66,8,219,92,36,4,139,68,36,4,255,133,192,15,142, 260 15,16,76,252,234,252,248,252,242,15,95,193,131,197,1,252,233,244,1,255,248,
286 244,115,131,189,233,1,15,130,244,115,15,133,244,117,65,57,134,233,15,130, 261 5,221,216,252,233,244,55,255,248,110,129,252,248,239,15,130,244,55,129,122,
287 244,117,15,182,141,233,65,139,174,233,137,68,36,8,248,1,136,77,0,131,197, 262 253,4,239,15,133,244,55,139,42,255,252,242,15,42,133,233,252,233,244,63,255,
288 1,131,232,1,15,133,244,1,65,139,134,233,252,233,244,113,248,118,129,252,248, 263 219,133,233,252,233,244,64,255,248,111,129,252,248,239,15,133,244,55,129,
289 239,255,15,130,244,55,65,139,174,233,65,59,174,233,15,130,244,247,232,244, 264 122,253,4,239,15,133,244,55,139,42,139,90,252,252,131,189,233,1,15,130,244,
290 66,248,1,129,122,253,4,239,15,133,244,55,139,42,139,133,233,133,192,15,132, 265 72,15,182,173,233,255,252,242,15,42,197,252,233,244,63,255,137,44,36,219,
291 244,115,65,57,134,233,15,130,244,119,129,197,239,137,92,36,4,137,68,36,8, 266 4,36,252,233,244,64,255,248,112,65,139,174,233,65,59,174,233,15,130,244,247,
292 65,139,158,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,3,15,133, 267 232,244,66,248,1,129,252,248,239,15,133,244,55,129,122,253,4,239,15,135,244,
293 244,1,137,216,139,92,36,4,252,233,244,113,248,120,129,252,248,239,15,130, 268 55,255,252,242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,55,137,108,36,
294 244,55,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,248,1,129,122, 269 4,255,221,2,219,92,36,4,129,124,36,4,252,255,0,0,0,15,135,244,55,255,199,
295 253,4,239,15,133,244,55,139,42,139,133,233,65,57,134,233,255,15,130,244,119, 270 68,36,8,1,0,0,0,72,141,68,36,4,248,113,139,108,36,24,137,149,233,139,84,36,
296 129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1, 271 8,72,137,198,137,252,239,137,92,36,28,232,251,1,17,139,149,233,139,90,252,
297 15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248, 272 252,199,66,252,252,237,137,66,252,248,252,233,244,58,248,114,65,139,174,233,
298 131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92, 273 65,59,174,233,15,130,244,247,232,244,66,248,1,199,68,36,4,252,255,252,255,
299 36,4,252,233,244,113,248,121,129,252,248,239,15,130,244,55,255,65,139,174, 274 252,255,252,255,129,252,248,239,15,130,244,55,15,134,244,247,129,122,253,
300 233,65,59,174,233,15,130,244,247,232,244,66,248,1,129,122,253,4,239,15,133, 275 20,239,255,252,242,15,44,106,16,137,108,36,4,255,221,66,16,219,92,36,4,255,
301 244,55,139,42,139,133,233,65,57,134,233,15,130,244,119,129,197,239,137,92, 276 248,1,129,122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,
302 36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,15,182,76,5,0,131,252, 277 42,137,108,36,8,139,173,233,255,252,242,15,44,74,8,255,139,68,36,4,57,197,
303 249,97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248, 278 15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,108,36,8,41,200,15,
304 2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,113, 279 140,244,115,141,172,253,13,233,131,192,1,248,4,137,68,36,8,137,232,252,233,
305 248,122,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,137, 280 244,113,248,5,15,140,244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,
306 213,139,58,232,251,1,18,137,252,234,255,252,242,15,42,192,252,233,244,63, 281 233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,
307 255,248,123,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55, 282 185,1,0,0,0,252,233,244,3,248,115,49,192,252,233,244,4,248,116,129,252,248,
308 252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15, 283 239,15,130,244,55,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,
309 126,197,252,242,15,42,197,252,233,244,63,255,248,124,129,252,248,239,15,130, 284 248,1,255,129,122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,
310 244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102, 285 139,42,255,252,242,15,44,66,8,255,221,66,8,219,92,36,4,139,68,36,4,255,133,
311 72,15,110,205,252,242,15,88,193,102,15,126,197,255,137,68,36,4,141,68,194, 286 192,15,142,244,115,131,189,233,1,15,130,244,115,15,133,244,117,65,57,134,
312 252,240,248,1,57,208,15,134,244,125,129,120,253,4,239,15,135,244,126,255, 287 233,15,130,244,117,15,182,141,233,65,139,174,233,137,68,36,8,248,1,136,77,
313 252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,252, 288 0,131,197,1,131,232,1,15,133,244,1,65,139,134,233,252,233,244,113,248,118,
314 233,244,1,255,248,127,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 289 129,252,248,239,255,15,130,244,55,65,139,174,233,65,59,174,233,15,130,244,
290 247,232,244,66,248,1,129,122,253,4,239,15,133,244,55,139,42,139,133,233,133,
291 192,15,132,244,115,65,57,134,233,15,130,244,119,129,197,239,137,92,36,4,137,
292 68,36,8,65,139,158,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,3,
293 15,133,244,1,137,216,139,92,36,4,252,233,244,113,248,120,129,252,248,239,
294 15,130,244,55,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,248,
295 1,129,122,253,4,239,15,133,244,55,139,42,139,133,233,65,57,134,233,255,15,
296 130,244,119,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233,244,
297 249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,
298 244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,
299 139,92,36,4,252,233,244,113,248,121,129,252,248,239,15,130,244,55,255,65,
300 139,174,233,65,59,174,233,15,130,244,247,232,244,66,248,1,129,122,253,4,239,
301 15,133,244,55,139,42,139,133,233,65,57,134,233,15,130,244,119,129,197,239,
302 137,92,36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,15,182,76,5,
303 0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,
304 241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,
305 233,244,113,248,122,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,
306 244,55,137,213,139,58,232,251,1,18,137,252,234,255,252,242,15,42,192,252,
307 233,244,63,255,248,123,129,252,248,239,15,130,244,55,129,122,253,4,239,15,
315 135,244,55,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88, 308 135,244,55,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,
316 193,102,15,126,197,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9, 309 193,102,15,126,197,252,242,15,42,197,252,233,244,63,255,248,124,129,252,248,
317 205,255,248,128,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244, 310 239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,
318 55,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102, 311 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,137,68,36,
319 15,126,197,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255, 312 4,141,68,194,252,240,248,1,57,208,15,134,244,125,129,120,253,4,239,15,135,
320 248,129,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252, 313 244,126,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,
321 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126, 314 232,8,252,233,244,1,255,248,127,129,252,248,239,15,130,244,55,129,122,253,
322 197,255,15,205,252,233,244,125,255,248,130,129,252,248,239,15,130,244,55, 315 4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,
323 129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,15, 316 242,15,88,193,102,15,126,197,255,252,242,15,16,0,252,242,15,88,193,102,15,
324 110,205,252,242,15,88,193,102,15,126,197,255,252,247,213,255,248,125,252, 317 126,193,9,205,255,248,128,129,252,248,239,15,130,244,55,129,122,253,4,239,
325 242,15,42,197,252,233,244,63,255,248,126,139,68,36,4,252,233,244,55,255,248, 318 15,135,244,55,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,
326 131,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122, 319 88,193,102,15,126,197,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,
320 49,205,255,248,129,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
321 244,55,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,
322 102,15,126,197,255,15,205,252,233,244,125,255,248,130,129,252,248,239,15,
323 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,72,189,237,237,
324 102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,247,213,255,248,
325 125,252,242,15,42,197,252,233,244,63,255,248,126,139,68,36,4,252,233,244,
326 55,255,248,131,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
327 55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,
328 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,
329 102,15,126,197,102,15,126,201,255,211,229,137,193,252,233,244,125,255,248,
330 132,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,
327 253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237, 331 253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,
328 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126, 332 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,
329 197,102,15,126,201,255,211,229,137,193,252,233,244,125,255,248,132,129,252, 333 197,102,15,126,201,255,211,252,237,137,193,252,233,244,125,255,248,133,129,
330 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239, 334 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,
331 15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15, 335 239,15,135,244,55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,
332 110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15, 336 15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,
333 126,201,255,211,252,237,137,193,252,233,244,125,255,248,133,129,252,248,239, 337 15,126,201,255,211,252,253,137,193,252,233,244,125,255,248,134,129,252,248,
334 15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244, 338 239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,
335 55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252, 339 244,55,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,
336 242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255, 340 252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,
337 211,252,253,137,193,252,233,244,125,255,248,134,129,252,248,239,15,130,244, 341 255,211,197,137,193,252,233,244,125,255,248,135,129,252,248,239,15,130,244,
338 55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,252,242, 342 55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,252,242,
339 15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88, 343 15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,
340 194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,197,137, 344 194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,205,137,
341 193,252,233,244,125,255,248,135,129,252,248,239,15,130,244,55,129,122,253, 345 193,252,233,244,125,248,117,184,237,252,233,244,55,248,119,184,237,248,55,
342 4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252, 346 139,108,36,24,139,90,252,252,137,92,36,28,137,149,233,141,68,194,252,248,
343 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242, 347 141,136,233,137,133,233,139,66,252,248,59,141,233,15,135,244,251,137,252,
344 15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,205,137,193,252,233, 348 239,252,255,144,233,139,149,233,133,192,15,143,244,69,248,1,255,139,141,233,
345 244,125,248,117,184,237,252,233,244,55,248,119,184,237,248,55,139,108,36, 349 41,209,193,252,233,3,133,192,141,65,1,139,106,252,248,15,133,244,248,139,
346 24,139,90,252,252,137,92,36,28,137,149,233,141,68,194,252,248,141,136,233, 350 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,
347 137,133,233,139,66,252,248,59,141,233,15,135,244,251,137,252,239,252,255, 351 248,2,137,209,252,247,195,237,15,133,244,249,15,182,107,252,253,72,252,247,
348 144,233,139,149,233,133,192,15,143,244,69,248,1,255,139,141,233,41,209,193, 352 213,141,20,252,234,252,233,244,27,248,3,137,221,131,229,252,248,41,252,234,
349 252,233,3,133,192,141,65,1,139,106,252,248,15,133,244,248,139,157,233,139, 353 252,233,244,27,248,5,190,237,137,252,239,232,251,1,0,139,149,233,49,192,252,
350 11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,2,137,209, 354 233,244,1,248,66,93,72,137,108,36,8,139,108,36,24,137,92,36,28,137,149,233,
351 252,247,195,237,15,133,244,249,15,182,107,252,253,72,252,247,213,141,20,252, 355 255,141,68,194,252,248,137,252,239,137,133,233,232,251,1,19,139,149,233,139,
352 234,252,233,244,27,248,3,137,221,131,229,252,248,41,252,234,252,233,244,27, 356 133,233,41,208,193,232,3,131,192,1,72,139,108,36,8,85,195,248,136,255,65,
353 248,5,190,237,137,252,239,232,251,1,0,139,149,233,49,192,252,233,244,1,248, 357 15,182,134,233,168,235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,
354 66,93,72,137,108,36,8,139,108,36,24,137,92,36,28,137,149,233,255,141,68,194, 358 244,247,65,252,255,142,233,252,233,244,247,255,248,137,65,15,182,134,233,
355 252,248,137,252,239,137,133,233,232,251,1,19,139,149,233,139,133,233,41,208, 359 168,235,15,133,244,251,252,233,244,247,248,138,65,15,182,134,233,168,235,
356 193,232,3,131,192,1,72,139,108,36,8,85,195,248,136,255,65,15,182,134,233, 360 15,133,244,251,168,235,15,132,244,251,65,252,255,142,233,15,132,244,247,168,
357 168,235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,65,252, 361 235,15,132,244,251,248,1,255,139,108,36,24,137,149,233,137,222,137,252,239,
358 255,142,233,252,233,244,247,255,248,137,65,15,182,134,233,168,235,15,133, 362 232,251,1,20,248,3,139,149,233,248,4,15,182,75,252,253,248,5,15,182,107,252,
359 244,251,252,233,244,247,248,138,65,15,182,134,233,168,235,15,133,244,251, 363 252,15,183,67,252,254,65,252,255,164,253,252,238,233,248,139,131,195,4,139,
360 168,235,15,132,244,251,65,252,255,142,233,15,132,244,247,168,235,15,132,244, 364 77,232,137,76,36,4,252,233,244,4,248,140,255,139,106,252,248,139,173,233,
361 251,248,1,255,139,108,36,24,137,149,233,137,222,137,252,239,232,251,1,20, 365 15,182,133,233,141,4,194,139,108,36,24,137,149,233,137,133,233,137,222,65,
362 248,3,139,149,233,248,4,15,182,75,252,253,248,5,15,182,107,252,252,15,183, 366 141,190,233,73,137,174,233,137,92,36,28,232,251,1,21,252,233,244,3,255,248,
363 67,252,254,65,252,255,164,253,252,238,233,248,139,131,195,4,139,77,232,137, 367 141,137,92,36,28,255,248,142,255,137,92,36,28,131,203,1,248,1,255,141,68,
364 76,36,4,252,233,244,4,248,140,255,139,106,252,248,139,173,233,15,182,133, 368 194,252,248,139,108,36,24,137,149,233,137,133,233,137,222,137,252,239,232,
365 233,141,4,194,139,108,36,24,137,149,233,137,133,233,137,222,65,141,190,233, 369 251,1,22,199,68,36,28,0,0,0,0,255,131,227,252,254,255,139,149,233,72,137,
366 73,137,174,233,137,92,36,28,232,251,1,21,252,233,244,3,255,248,141,137,92, 370 193,139,133,233,41,208,72,137,205,15,182,75,252,253,193,232,3,131,192,1,252,
367 36,28,255,248,142,255,137,92,36,28,131,203,1,248,1,255,141,68,194,252,248, 371 255,229,248,143,255,65,85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,
368 139,108,36,24,137,149,233,137,133,233,137,222,137,252,239,232,251,1,22,199, 372 36,88,85,83,82,81,80,15,182,69,252,248,138,101,252,240,76,137,125,252,248,
369 68,36,28,0,0,0,0,255,131,227,252,254,255,139,149,233,72,137,193,139,133,233, 373 76,137,117,252,240,68,139,117,0,65,139,142,233,65,199,134,233,237,65,137,
370 41,208,72,137,205,15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,143, 374 134,233,65,137,142,233,72,129,252,236,239,72,131,197,128,252,242,68,15,17,
371 255,65,85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82, 375 125,252,248,252,242,68,15,17,117,252,240,252,242,68,15,17,109,232,252,242,
372 81,80,15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117,252, 376 68,15,17,101,224,252,242,68,15,17,93,216,252,242,68,15,17,85,208,252,242,
373 240,68,139,117,0,65,139,142,233,65,199,134,233,237,65,137,134,233,65,137, 377 68,15,17,77,200,252,242,68,15,17,69,192,252,242,15,17,125,184,252,242,15,
374 142,233,72,129,252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252, 378 17,117,176,252,242,15,17,109,168,252,242,15,17,101,160,252,242,15,17,93,152,
375 242,68,15,17,117,252,240,252,242,68,15,17,109,232,252,242,68,15,17,101,224, 379 252,242,15,17,85,144,252,242,15,17,77,136,252,242,15,17,69,128,65,139,174,
376 252,242,68,15,17,93,216,252,242,68,15,17,85,208,252,242,68,15,17,77,200,252, 380 233,65,139,150,233,73,137,174,233,65,199,134,233,0,0,0,0,137,149,233,72,137,
377 242,68,15,17,69,192,252,242,15,17,125,184,252,242,15,17,117,176,252,242,15, 381 230,65,141,190,233,232,251,1,23,72,139,141,233,72,129,225,239,72,137,204,
378 17,109,168,252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144, 382 137,169,233,139,149,233,139,153,233,252,233,244,247,255,248,144,255,72,131,
379 252,242,15,17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73, 383 196,16,248,1,76,139,108,36,8,76,139,36,36,133,192,15,136,244,249,137,68,36,
380 137,174,233,65,199,134,233,0,0,0,0,137,149,233,72,137,230,65,141,190,233, 384 4,68,139,122,252,248,69,139,191,233,69,139,191,233,65,199,134,233,0,0,0,0,
381 232,251,1,23,72,139,141,233,72,129,225,239,72,137,204,137,169,233,139,149, 385 65,199,134,233,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,129,252,
382 233,139,153,233,252,233,244,247,255,248,144,255,72,131,196,16,248,1,76,139, 386 253,239,15,130,244,248,139,68,36,4,248,2,65,252,255,36,252,238,248,3,252,
383 108,36,8,76,139,36,36,133,192,15,136,244,249,137,68,36,4,68,139,122,252,248, 387 247,216,137,252,239,137,198,232,251,1,24,255,248,82,255,217,124,36,4,137,
384 69,139,191,233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139, 388 68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,
385 3,15,182,204,15,182,232,131,195,4,193,232,16,129,252,253,239,15,130,244,248, 389 217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,145,72,184,
386 139,68,36,4,248,2,65,252,255,36,252,238,248,3,252,247,216,137,252,239,137, 390 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,
387 198,232,251,1,24,255,248,82,255,217,124,36,4,137,68,36,8,102,184,0,4,102, 391 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,
388 11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252, 392 242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,
389 217,108,36,4,139,68,36,8,195,255,248,145,72,184,237,237,102,72,15,110,208, 393 193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,84,255,217,
390 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, 394 124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,
391 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202, 395 137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,
392 72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242, 396 146,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,
393 15,92,200,15,40,193,248,1,195,248,84,255,217,124,36,4,137,68,36,8,102,184, 397 40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,
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 88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,
395 252,252,217,108,36,4,139,68,36,8,195,255,248,146,72,184,237,237,102,72,15, 399 242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,
396 110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46, 400 104,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,
397 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102, 401 6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,147,72,184,
398 15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84, 402 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,
399 194,252,242,15,92,200,15,40,193,248,1,195,248,104,255,217,124,36,4,137,68, 403 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,
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 88,203,252,242,15,92,203,72,184,237,237,102,72,15,110,216,252,242,15,194,
401 217,108,36,4,139,68,36,8,195,255,248,147,72,184,237,237,102,72,15,110,208, 405 193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,
402 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, 406 148,255,15,40,232,252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184,
403 134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72, 407 237,237,102,72,15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244,
404 184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242, 408 247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184,
405 15,92,200,102,15,86,202,15,40,193,248,1,195,248,148,255,15,40,232,252,242, 409 237,237,102,72,15,110,208,252,242,15,194,196,1,102,15,84,194,252,242,15,92,
406 15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216, 410 224,15,40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,
407 15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242, 411 200,15,40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,
408 15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208, 412 102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,
409 252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15, 413 36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255,248,88,217,252,
410 89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15, 414 234,222,201,248,149,217,84,36,252,248,129,124,36,252,248,0,0,128,127,15,132,
411 92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36, 415 244,247,129,124,36,252,248,0,0,128,252,255,15,132,244,248,248,150,217,192,
412 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
413 36,4,222,201,222,252,233,195,255,248,88,217,252,234,222,201,248,149,217,84,
414 36,252,248,129,124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,
415 0,0,128,252,255,15,132,244,248,248,150,217,192,217,252,252,220,252,233,217,
416 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
417 217,252,238,195,255,248,107,255,248,151,252,242,15,45,193,252,242,15,42,208,
418 102,15,46,202,15,133,244,254,15,138,244,255,248,152,131,252,248,1,15,142,
419 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,
420 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,
421 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,
422 252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,72,184,237,
423 237,102,72,15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,131,252,
424 248,1,15,132,244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,192,195,
425 248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15,
426 132,244,248,255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,192,12,
427 72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,252,240,252,242,15,
428 17,68,36,252,248,221,68,36,252,240,221,68,36,252,248,217,252,241,217,192,
429 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, 416 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,
430 217,221,92,36,252,248,252,242,15,16,68,36,252,248,195,248,9,72,184,237,237, 417 217,248,1,195,248,2,221,216,217,252,238,195,255,248,107,255,248,151,252,242,
431 102,72,15,110,208,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2, 418 15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248,
432 72,184,237,237,102,72,15,110,208,102,15,84,194,72,184,237,237,102,72,15,110, 419 152,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,
433 208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,146,208, 420 15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248,
434 48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,248,4, 421 3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89,
435 102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133, 422 200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,
436 192,15,132,244,3,15,87,192,195,248,153,255,131,252,255,1,15,130,244,82,15, 423 130,244,253,80,72,184,237,237,102,72,15,110,200,252,242,15,94,200,88,15,40,
437 132,244,84,131,252,255,3,15,130,244,104,15,135,244,248,252,242,15,81,192, 424 193,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,72,184,237,
438 195,248,2,252,242,15,17,68,36,252,248,221,68,36,252,248,131,252,255,5,15, 425 237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,12,
439 135,244,248,15,132,244,247,232,244,88,252,233,244,253,248,1,232,244,149,255, 426 72,61,252,254,15,0,0,15,132,244,248,255,102,72,15,126,192,72,209,224,15,132,
440 252,233,244,253,248,2,131,252,255,7,15,132,244,247,15,135,244,248,217,252, 427 244,250,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,
441 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241, 428 36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,240,221,68,36,252,248,
442 252,233,244,253,248,2,131,252,255,9,15,132,244,247,15,135,244,248,217,252, 429 217,252,241,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,
443 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244, 430 193,217,252,253,221,217,221,92,36,252,248,252,242,15,16,68,36,252,248,195,
444 253,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255,252,233, 431 248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,247,15,40,
445 244,253,248,1,217,252,242,221,216,248,7,221,92,36,252,248,252,242,15,16,68, 432 193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84,194,72,184,
446 36,252,248,195,255,139,124,36,12,221,68,36,4,131,252,255,1,15,130,244,82, 433 237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,
447 15,132,244,84,131,252,255,3,15,130,244,104,15,135,244,248,217,252,250,195, 434 192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,
448 248,2,131,252,255,5,15,130,244,88,15,132,244,149,131,252,255,7,15,132,244, 435 15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,
449 247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,217, 436 5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,153,255,131,252,255,
450 201,217,252,241,195,248,2,131,252,255,9,15,132,244,247,255,15,135,244,248, 437 1,15,130,244,82,15,132,244,84,131,252,255,3,15,130,244,104,15,135,244,248,
451 217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,255, 438 252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,221,68,36,252,248,
452 11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216, 439 131,252,255,5,15,135,244,248,15,132,244,247,232,244,88,252,233,244,253,248,
453 195,255,248,9,204,255,248,154,255,131,252,255,1,15,132,244,247,15,135,244, 440 1,232,244,149,255,252,233,244,253,248,2,131,252,255,7,15,132,244,247,15,135,
454 248,252,242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,131,252,255,3, 441 244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,
455 15,132,244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193, 442 201,217,252,241,252,233,244,253,248,2,131,252,255,9,15,132,244,247,15,135,
456 195,248,2,131,252,255,5,15,130,244,148,15,132,244,107,131,252,255,7,15,132, 443 244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,
457 244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193,195, 444 254,252,233,244,253,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,
458 248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,131,252,255,9, 445 252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92,36,252,248,
459 15,135,244,248,252,242,15,17,68,36,252,248,252,242,15,17,76,36,252,240,221, 446 252,242,15,16,68,36,252,248,195,255,139,124,36,12,221,68,36,4,131,252,255,
460 68,36,252,248,221,68,36,252,240,15,132,244,247,217,252,243,248,7,221,92,36, 447 1,15,130,244,82,15,132,244,84,131,252,255,3,15,130,244,104,15,135,244,248,
461 252,248,252,242,15,16,68,36,252,248,195,248,1,217,201,217,252,253,221,217, 448 217,252,250,195,248,2,131,252,255,5,15,130,244,88,15,132,244,149,131,252,
462 252,233,244,7,248,2,131,252,255,11,15,132,244,247,15,135,244,255,252,242, 449 255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,
463 15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,20,221, 450 1,217,232,217,201,217,252,241,195,248,2,131,252,255,9,15,132,244,247,255,
464 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193, 451 15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,
465 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248, 452 248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,
466 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,15,132, 453 217,252,242,221,216,195,255,248,9,204,255,248,154,255,131,252,255,1,15,132,
467 244,107,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195, 454 244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,193,195,
468 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248, 455 248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,193,195,248,
469 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11, 456 1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,148,15,132,244,107,
470 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219, 457 131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102,72,15,
471 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244, 458 110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,
472 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, 459 248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,252,242,15,
473 244,248,217,201,248,2,221,216,195,255,248,155,137,252,248,83,15,162,137,6, 460 17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,247,217,252,
474 137,94,4,137,78,8,137,86,12,91,195,255,129,124,253,202,4,239,15,135,244,41, 461 243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,248,1,217,201,
475 129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,195,4,102, 462 217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132,244,247,15,
476 15,46,4,202,255,221,4,202,221,4,194,131,195,4,255,223,252,233,221,216,255, 463 135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,
477 218,252,233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15, 464 139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,
478 183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131, 465 244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,
479 195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252, 466 247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,
480 253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15, 467 15,130,244,148,15,132,244,107,131,252,248,7,15,132,244,247,15,135,244,248,
481 16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133, 468 255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,
482 244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,183,67,252,254,141, 469 132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221,
483 156,253,131,233,248,2,255,248,2,15,183,67,252,254,141,156,253,131,233,248, 470 217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233,
484 1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12, 471 219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223,
485 202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233, 472 224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225,
486 133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237, 473 223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,155,
487 255,189,1,0,0,0,255,252,233,244,45,255,72,252,247,208,131,195,4,129,124,253, 474 137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,255,129,124,
488 202,4,239,15,133,244,248,139,12,202,65,59,12,135,255,131,195,4,129,124,253, 475 253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,
489 202,4,239,15,135,244,248,255,252,242,65,15,16,4,199,102,15,46,4,202,255,221, 476 15,16,4,194,131,195,4,102,15,46,4,202,255,221,4,202,221,4,194,131,195,4,255,
490 4,202,65,221,4,199,255,72,252,247,208,131,195,4,57,68,202,4,255,139,108,194, 477 223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15,
491 4,131,195,4,129,252,253,239,255,15,131,244,247,255,15,130,244,247,255,137, 478 131,244,248,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,139,3,15,
492 108,202,4,139,44,194,137,44,202,255,15,183,67,252,254,141,156,253,131,233, 479 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,
493 248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 480 194,4,131,195,4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,
494 238,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,3,15,182,204, 481 244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,
495 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237,129, 482 15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,
496 124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232,131, 483 15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183,67,252,254,141,
497 195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,135,244, 484 156,253,131,233,248,1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,
498 48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252, 485 15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,
499 242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239, 486 135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,
500 15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242, 487 244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,72,252,247,208,
501 15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,3,15,182,204,15,182, 488 131,195,4,129,124,253,202,4,239,15,133,244,248,139,12,202,65,59,12,135,255,
502 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,124,253,194,4,239, 489 131,195,4,129,124,253,202,4,239,15,135,244,248,255,252,242,65,15,16,4,199,
503 15,133,244,50,139,60,194,137,213,232,251,1,18,255,252,242,15,42,192,137,252, 490 102,15,46,4,202,255,221,4,202,65,221,4,199,255,72,252,247,208,131,195,4,57,
504 234,255,15,182,75,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255, 491 68,202,4,255,139,108,194,4,131,195,4,129,252,253,239,255,15,131,244,247,255,
505 129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242, 492 15,130,244,247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,67,252,
506 65,15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252,234,4,239, 493 254,141,156,253,131,233,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,
507 15,135,244,47,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221, 494 16,65,252,255,36,252,238,255,139,108,194,4,139,4,194,137,108,202,4,137,4,
508 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253, 495 202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
509 194,4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255, 496 255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,
510 221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199, 497 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,
511 255,221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92, 498 194,4,239,15,135,244,48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,
512 4,252,234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252, 499 110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,
513 242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234, 500 129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,
514 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15, 501 128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,
515 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,
516 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,
517 252,242,15,16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,
518 199,255,252,242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,
519 52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,
520 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,
521 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,
522 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,
523 12,194,255,221,4,252,234,221,4,194,255,248,156,232,244,148,255,252,233,244,
524 156,255,232,244,107,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233,
525 141,52,194,137,194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,25,
526 139,149,233,133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,139,
527 68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,3,15,182,204,15,182,
528 232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,65,139,
529 4,135,199,68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,
530 232,16,65,252,255,36,252,238,255,15,191,192,252,242,15,42,192,252,242,15,
531 17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252,242,
532 15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,
533 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,
534 76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,
535 193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
536 255,36,252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,
537 4,139,109,0,137,68,202,4,137,44,202,139,3,15,182,204,15,182,232,131,195,4,
538 193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,253,141,233,
539 128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,
540 244,247,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,
541 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,
542 248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,
543 65,141,190,233,255,232,251,1,26,137,252,234,252,233,244,1,255,72,252,247,
544 208,139,106,252,248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,
545 64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,
546 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,
547 15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,
548 251,1,26,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15,
549 16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,
550 25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,
551 65,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
552 255,141,156,253,131,233,139,108,36,24,131,189,233,0,15,132,244,247,137,149,
553 233,141,52,202,137,252,239,232,251,1,27,139,149,233,248,1,139,3,15,182,204,
554 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,
555 139,108,36,24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92,
556 36,28,232,251,1,28,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,
557 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,
558 139,108,36,24,137,149,233,65,139,142,233,65,59,142,233,137,92,36,28,15,131,
559 244,251,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15,
560 132,244,249,248,2,137,252,239,137,198,232,251,1,29,139,149,233,15,182,75,
561 252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,
562 193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,137,
563 252,239,232,251,1,30,15,183,67,252,254,252,233,244,1,255,72,252,247,208,139,
564 108,36,24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244,
565 249,248,2,65,139,52,135,137,252,239,232,251,1,31,139,149,233,15,182,75,252,
566 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,
567 232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,30,15,183,67,252,
568 254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,
569 233,65,139,4,135,252,233,244,157,255,72,252,247,208,139,106,252,248,139,173,
570 233,65,139,4,135,252,233,244,158,255,15,182,252,236,15,182,192,129,124,253,
571 252,234,4,239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,
572 251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,
573 193,255,15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,
574 253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,
575 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2, 502 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,
576 131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36, 503 129,124,253,194,4,239,15,133,244,50,139,60,194,137,213,232,251,1,18,255,252,
577 15,182,75,252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, 504 242,15,42,192,137,252,234,255,15,182,75,252,253,252,233,244,1,255,15,182,
578 36,139,4,194,252,233,244,157,255,15,182,252,236,15,182,192,72,252,247,208, 505 252,236,15,182,192,255,129,124,253,252,234,4,239,15,135,244,46,255,252,242,
579 65,139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,157, 506 15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199,255,
580 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, 507 129,124,253,252,234,4,239,15,135,244,47,255,252,242,65,15,16,4,199,252,242,
581 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, 508 15,88,4,252,234,255,65,221,4,199,220,4,252,234,255,129,124,253,252,234,4,
582 67,252,253,139,41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,3,15,182, 509 239,15,135,244,49,129,124,253,194,4,239,15,135,244,49,255,252,242,15,16,4,
583 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67, 510 252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252,242,15,16,
584 252,253,185,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248, 511 4,252,234,252,242,65,15,92,4,199,255,221,4,252,234,65,220,36,199,255,252,
585 5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233, 512 242,65,15,16,4,199,252,242,15,92,4,252,234,255,65,221,4,199,220,36,252,234,
586 244,34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244, 513 255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,
587 35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253, 514 194,255,252,242,15,16,4,252,234,252,242,65,15,89,4,199,255,221,4,252,234,
588 4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,3, 515 65,220,12,199,255,252,242,65,15,16,4,199,252,242,15,89,4,252,234,255,65,221,
589 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131, 516 4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,
590 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,35,255, 517 221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,65,15,94,4,199,
591 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44, 518 255,221,4,252,234,65,220,52,199,255,252,242,65,15,16,4,199,252,242,15,94,
592 252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133,233, 519 4,252,234,255,65,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,
593 15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1, 520 242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,
594 252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104, 521 252,242,65,15,16,12,199,255,221,4,252,234,65,221,4,199,255,252,242,65,15,
522 16,4,199,252,242,15,16,12,252,234,255,65,221,4,199,221,4,252,234,255,252,
523 242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,
524 248,156,232,244,148,255,252,233,244,156,255,232,244,107,255,15,182,252,236,
525 15,182,192,139,124,36,24,137,151,233,141,52,194,137,194,41,252,234,248,33,
526 137,252,253,137,92,36,28,232,251,1,25,139,149,233,133,192,15,133,244,42,15,
527 182,107,252,255,15,182,75,252,253,139,68,252,234,4,139,44,252,234,137,68,
528 202,4,137,44,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
529 255,36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,137,4,202,
530 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,
531 15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,67,252,254,221,28,
532 202,255,252,242,65,15,16,4,199,252,242,15,17,4,202,255,65,221,4,199,221,28,
533 202,255,72,252,247,208,137,68,202,4,139,3,15,182,204,15,182,232,131,195,4,
534 193,232,16,65,252,255,36,252,238,255,141,76,202,12,141,68,194,4,189,237,137,
535 105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,3,15,182,204,15,
536 182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,
537 172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,
538 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,
539 106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,
540 68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,
541 248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
542 252,238,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,
543 15,132,244,1,137,252,238,137,213,65,141,190,233,255,232,251,1,26,137,252,
544 234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,141,233,
545 65,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,
546 248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
547 252,238,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,
548 137,213,137,198,65,141,190,233,232,251,1,26,137,252,234,252,233,244,1,255,
549 139,106,252,248,255,252,242,65,15,16,4,199,255,139,172,253,141,233,139,141,
550 233,255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,
551 172,253,141,233,139,141,233,137,65,4,139,3,15,182,204,15,182,232,131,195,
552 4,193,232,16,65,252,255,36,252,238,255,141,156,253,131,233,139,108,36,24,
553 131,189,233,0,15,132,244,247,137,149,233,141,52,202,137,252,239,232,251,1,
554 27,139,149,233,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
555 252,255,36,252,238,255,72,252,247,208,139,108,36,24,137,149,233,139,82,252,
556 248,65,139,52,135,137,252,239,137,92,36,28,232,251,1,28,139,149,233,15,182,
557 75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,
558 4,193,232,16,65,252,255,36,252,238,255,139,108,36,24,137,149,233,65,139,142,
559 233,65,59,142,233,137,92,36,28,15,131,244,251,248,1,137,194,37,252,255,7,
560 0,0,193,252,234,11,61,252,255,7,0,0,15,132,244,249,248,2,137,252,239,137,
561 198,232,251,1,29,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,
562 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,
563 3,184,1,8,0,0,252,233,244,2,248,5,137,252,239,232,251,1,30,15,183,67,252,
564 254,252,233,244,1,255,72,252,247,208,139,108,36,24,65,139,142,233,137,92,
565 36,28,65,59,142,233,137,149,233,15,131,244,249,248,2,65,139,52,135,137,252,
566 239,232,251,1,31,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,
567 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,
568 3,137,252,239,232,251,1,30,15,183,67,252,254,72,252,247,208,252,233,244,2,
569 255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,135,252,233,244,157,
570 255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,135,252,233,244,158,
571 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,
572 44,252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,
573 242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36,59,133,233,
574 15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1,
575 139,40,139,64,4,137,44,202,137,68,202,4,139,3,15,182,204,15,182,232,131,195,
576 4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,1,139,141,
577 233,252,246,129,233,235,15,132,244,36,15,182,75,252,253,252,233,244,1,248,
578 5,255,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244,157,255,15,
579 182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,
580 239,15,133,244,34,139,44,252,234,248,157,139,141,233,35,136,233,105,201,239,
581 3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,
582 129,121,253,4,239,15,132,244,251,15,182,67,252,253,139,41,139,73,4,137,44,
583 194,248,2,255,137,76,194,4,139,3,15,182,204,15,182,232,131,195,4,193,232,
584 16,65,252,255,36,252,238,248,3,15,182,67,252,253,185,237,252,233,244,2,248,
585 4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,
586 252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,236,15,182,
587 192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,133,233,15,
588 131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1,139,
589 40,139,64,4,137,44,202,137,68,202,4,139,3,15,182,204,15,182,232,131,195,4,
590 193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,1,139,141,
591 233,252,246,129,233,235,15,132,244,35,255,15,182,252,236,15,182,192,129,124,
592 253,252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,
593 244,251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,
594 120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,
595 2,139,108,202,4,139,12,202,137,104,4,137,8,139,3,15,182,204,15,182,232,131,
596 195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0,15,132,244,1,139,
597 141,233,255,252,246,129,233,235,15,132,244,39,15,182,75,252,253,252,233,244,
598 1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,158,248,
599 7,128,165,233,235,65,139,142,233,65,137,174,233,137,141,233,15,182,75,252,
600 253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,247,208,65,139,4,135,
601 129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,158,139,141,233,
602 35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,
603 244,251,57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,
604 255,252,246,133,233,235,15,133,244,253,248,3,15,182,67,252,253,139,108,194,
605 4,139,4,194,137,105,4,137,1,139,3,15,182,204,15,182,232,131,195,4,193,232,
606 16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137,12,36,139,141,
607 233,252,246,129,233,235,15,132,244,37,139,12,36,252,233,244,2,248,5,139,137,
608 233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,
609 233,235,15,132,244,37,248,6,137,4,36,199,68,36,4,237,137,108,36,8,139,124,
610 36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137,92,36,28,232,251,
611 1,32,139,149,233,139,108,36,8,137,193,252,233,244,2,248,7,128,165,233,235,
612 65,139,134,233,65,137,174,233,137,133,233,252,233,244,3,255,15,182,252,236,
613 15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,59,133,
614 233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,
615 1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,
595 4,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 616 4,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
596 238,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235, 617 238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,
597 15,132,244,39,15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239, 618 15,132,244,38,15,182,75,252,253,252,233,244,1,248,7,128,165,233,235,65,139,
598 15,133,244,39,139,4,194,252,233,244,158,248,7,128,165,233,235,65,139,142, 619 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,68,
599 233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182, 620 137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,
600 252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239, 621 235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248,
601 15,133,244,37,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239,198, 622 59,133,233,15,135,244,251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,139,
602 133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133, 623 41,65,137,47,139,105,4,131,193,8,65,137,111,4,65,131,199,8,131,232,1,15,133,
603 244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15, 624 244,3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,
604 133,244,253,248,3,15,182,67,252,253,139,108,194,4,139,4,194,137,105,4,137, 625 65,252,255,36,252,238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,
605 1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, 626 137,252,253,137,92,36,28,232,251,1,33,139,149,233,15,182,75,252,253,252,233,
606 248,4,131,189,233,0,15,132,244,2,137,12,36,139,141,233,252,246,129,233,235, 627 244,1,248,7,255,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,
607 15,132,244,37,139,12,36,252,233,244,2,248,5,139,137,233,133,201,15,133,244, 628 252,233,244,2,255,3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,
608 1,255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37, 629 51,141,84,202,8,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,
609 248,6,137,4,36,199,68,36,4,237,137,108,36,8,139,124,36,24,137,151,233,72, 630 131,195,4,65,252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,
610 141,20,36,137,252,238,137,252,253,137,92,36,28,232,251,1,32,139,149,233,139, 631 129,121,253,252,252,239,15,133,244,28,248,52,139,90,252,252,252,247,195,237,
611 108,36,8,137,193,252,233,244,2,248,7,128,165,233,235,65,139,134,233,65,137, 632 15,133,244,253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,
612 174,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253, 633 248,2,139,41,65,137,47,139,105,4,65,137,111,4,65,131,199,8,131,193,8,131,
613 252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224, 634 232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,4,128,189,233,1,15,135,
614 3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15, 635 244,251,248,4,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,
615 133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,3,15,182,204, 636 255,36,252,238,248,5,255,252,247,195,237,15,133,244,4,15,182,75,252,253,72,
616 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0, 637 252,247,209,141,12,202,68,139,121,252,248,69,139,191,233,69,139,191,233,252,
617 15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,75, 638 233,244,4,248,7,129,252,235,239,252,247,195,237,15,133,244,254,41,218,65,
618 252,253,252,233,244,1,248,7,128,165,233,235,65,139,142,233,65,137,174,233, 639 137,215,139,90,252,252,252,233,244,1,248,8,129,195,239,252,233,244,1,255,
619 137,141,233,15,182,75,252,253,252,233,244,2,255,68,137,60,36,69,139,60,199, 640 141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,
620 248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2, 641 65,252,244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,
621 139,68,36,4,131,232,1,15,132,244,250,68,1,252,248,59,133,233,15,135,244,251, 642 65,252,252,129,252,248,239,184,237,15,133,244,28,137,202,137,90,252,252,139,
622 68,41,252,248,65,193,231,3,68,3,189,233,248,3,139,41,65,137,47,139,105,4,
623 131,193,8,65,137,111,4,65,131,199,8,131,232,1,15,133,244,3,248,4,68,139,60,
624 36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
625 248,5,139,124,36,24,137,151,233,137,252,238,137,194,137,252,253,137,92,36,
626 28,232,251,1,33,139,149,233,15,182,75,252,253,252,233,244,1,248,7,255,128,
627 165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,2,255,3,
628 68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,51,141,84,202,8,137,
629 90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,
630 255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,129,121,253,252,
631 252,239,15,133,244,28,248,52,139,90,252,252,252,247,195,237,15,133,244,253,
632 248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,139,41,65,
633 137,47,139,105,4,65,137,111,4,65,131,199,8,131,193,8,131,232,1,15,133,244,
634 2,139,106,252,248,248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,
635 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238, 643 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,
636 248,5,255,252,247,195,237,15,133,244,4,15,182,75,252,253,72,252,247,209,141, 644 255,15,182,252,236,15,182,192,68,137,60,36,68,141,188,253,194,233,141,12,
637 12,202,68,139,121,252,248,69,139,191,233,69,139,191,233,252,233,244,4,248, 645 202,68,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,
638 7,129,252,235,239,252,247,195,237,15,133,244,254,41,218,65,137,215,139,90, 646 65,57,215,15,131,244,248,248,1,65,139,71,252,248,137,1,65,139,71,252,252,
639 252,252,252,233,244,1,248,8,129,195,239,252,233,244,1,255,141,76,202,8,139, 647 65,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,65,57,215,15,130,
640 105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252,244,137, 648 244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,3,68,139,60,
641 105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129, 649 36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
642 252,248,239,184,237,15,133,244,28,137,202,137,90,252,252,139,157,233,139, 650 248,5,199,68,36,4,1,0,0,0,137,208,68,41,252,248,15,134,244,3,137,197,193,
643 11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,255,15,182,252, 651 252,237,3,131,197,1,137,108,36,4,139,108,36,24,1,200,59,133,233,15,135,244,
644 236,15,182,192,68,137,60,36,68,141,188,253,194,233,141,12,202,68,43,122,252, 652 253,248,6,255,65,139,71,252,248,137,1,65,139,71,252,252,65,131,199,8,137,
645 252,133,252,237,15,132,244,251,141,108,252,233,252,248,65,57,215,15,131,244, 653 65,4,131,193,8,65,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,
646 248,248,1,65,139,71,252,248,137,1,65,139,71,252,252,65,131,199,8,137,65,4, 654 141,233,137,92,36,28,65,41,215,139,116,36,4,131,252,238,1,137,252,239,232,
647 131,193,8,57,252,233,15,131,244,249,65,57,215,15,130,244,1,248,2,199,65,4, 655 251,1,0,139,149,233,139,141,233,65,1,215,252,233,244,6,255,193,225,3,255,
648 237,131,193,8,57,252,233,15,130,244,2,248,3,68,139,60,36,139,3,15,182,204, 656 248,1,139,90,252,252,137,68,36,4,252,247,195,237,15,133,244,253,255,248,13,
649 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,199,68,36,4,1, 657 65,137,215,131,232,1,15,132,244,249,248,2,65,139,44,15,65,137,111,252,248,
650 0,0,0,137,208,68,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1, 658 65,139,108,15,4,65,137,111,252,252,65,131,199,8,131,232,1,15,133,244,2,248,
651 137,108,36,4,139,108,36,24,1,200,59,133,233,15,135,244,253,248,6,255,65,139, 659 3,139,68,36,4,15,182,107,252,255,248,5,57,197,15,135,244,252,255,139,108,
652 71,252,248,137,1,65,139,71,252,252,65,131,199,8,137,65,4,131,193,8,65,57, 660 10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,67,252,255,15,
653 215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,92,36,28, 661 135,244,252,255,15,182,75,252,253,72,252,247,209,141,20,202,68,139,122,252,
654 65,41,215,139,116,36,4,131,252,238,1,137,252,239,232,251,1,0,139,149,233, 662 248,69,139,191,233,69,139,191,233,139,3,15,182,204,15,182,232,131,195,4,193,
655 139,141,233,65,1,215,252,233,244,6,255,193,225,3,255,248,1,139,90,252,252, 663 232,16,65,252,255,36,252,238,248,6,255,65,199,71,252,252,237,65,131,199,8,
656 137,68,36,4,252,247,195,237,15,133,244,253,255,248,13,65,137,215,131,232, 664 255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,141,171,233,
657 1,15,132,244,249,248,2,65,139,44,15,65,137,111,252,248,65,139,108,15,4,65, 665 252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,137,221,209,252,
658 137,111,252,252,65,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,4,15, 666 237,129,229,239,102,65,131,172,253,46,233,1,15,132,244,140,255,141,12,202,
659 182,107,252,255,248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252, 667 255,129,121,253,4,239,15,135,244,53,129,121,253,12,239,15,135,244,53,255,
660 252,139,44,10,137,106,252,248,255,248,5,56,67,252,255,15,135,244,252,255, 668 139,105,20,255,129,252,253,239,15,135,244,53,255,252,242,15,16,1,252,242,
661 15,182,75,252,253,72,252,247,209,141,20,202,68,139,122,252,248,69,139,191, 669 15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,
662 233,69,139,191,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, 670 249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,
663 255,36,252,238,248,6,255,65,199,71,252,252,237,65,131,199,8,255,199,68,194, 671 65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,
664 252,244,237,255,131,192,1,252,233,244,5,248,7,141,171,233,252,247,197,237, 672 221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,67,252,254,255,15,131,
665 15,133,244,14,41,252,234,255,1,252,233,255,137,221,209,252,237,129,229,239, 673 244,248,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,254,15,
666 102,65,131,172,253,46,233,1,15,132,244,140,255,141,12,202,255,129,121,253, 674 131,245,255,15,130,244,248,141,156,253,131,233,255,248,3,102,15,46,193,252,
667 4,239,15,135,244,53,129,121,253,12,239,15,135,244,53,255,139,105,20,255,129, 675 233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,
668 252,253,239,15,135,244,53,255,252,242,15,16,1,252,242,15,16,73,8,255,252, 676 105,252,252,139,41,137,105,252,248,252,233,245,255,141,156,253,131,233,139,
669 242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244, 677 1,137,105,252,252,137,65,252,248,255,65,139,142,233,139,4,129,72,139,128,
670 249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220, 678 233,139,108,36,24,65,137,150,233,65,137,174,233,76,137,36,36,76,137,108,36,
671 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244, 679 8,72,131,252,236,16,252,255,224,255,141,156,253,131,233,139,3,15,182,204,
672 247,255,217,201,248,1,255,15,183,67,252,254,255,15,131,244,248,141,156,253, 680 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,137,221,209,252,
673 131,233,255,141,156,253,131,233,15,183,67,252,254,15,131,245,255,15,130,244, 681 237,129,229,239,102,65,131,172,253,46,233,1,15,132,244,142,255,68,139,187,
674 248,141,156,253,131,233,255,248,3,102,15,46,193,252,233,244,1,255,141,12, 682 233,139,108,36,24,141,12,202,59,141,233,15,135,244,23,15,182,139,233,57,200,
675 202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,137, 683 15,134,244,249,248,2,255,15,183,67,252,254,252,233,245,255,248,3,199,68,194,
676 105,252,248,252,233,245,255,141,156,253,131,233,139,1,137,105,252,252,137, 684 252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,
677 65,252,248,255,65,139,142,233,139,4,129,72,139,128,233,139,108,36,24,65,137, 685 141,4,194,68,139,122,252,248,137,104,252,252,68,137,120,252,248,139,108,36,
678 150,233,65,137,174,233,76,137,36,36,76,137,108,36,8,72,131,252,236,16,252, 686 24,141,12,200,59,141,233,15,135,244,22,137,209,137,194,15,182,171,233,133,
679 255,224,255,141,156,253,131,233,139,3,15,182,204,15,182,232,131,195,4,193, 687 252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,68,139,121,252,
680 232,16,65,252,255,36,252,238,255,137,221,209,252,237,129,229,239,102,65,131, 688 248,68,137,56,68,139,121,252,252,68,137,120,4,131,192,8,199,65,252,252,237,
681 172,253,46,233,1,15,132,244,142,255,68,139,187,233,139,108,36,24,141,12,202, 689 131,252,237,1,15,133,244,1,248,2,255,68,139,187,233,139,3,15,182,204,15,182,
682 59,141,233,15,135,244,23,15,182,139,233,57,200,15,134,244,249,248,2,255,15, 690 232,131,195,4,193,232,16,65,252,255,36,252,238,255,248,3,199,64,4,237,131,
683 183,67,252,254,252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,57, 691 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,76,139,
684 200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4,194,68,139,122,252, 692 189,233,139,108,36,24,141,68,194,252,248,137,149,233,141,136,233,59,141,233,
685 248,137,104,252,252,68,137,120,252,248,139,108,36,24,141,12,200,59,141,233, 693 137,133,233,255,137,252,239,255,76,137,252,254,137,252,239,255,15,135,244,
686 15,135,244,22,137,209,137,194,15,182,171,233,133,252,237,15,132,244,248,248, 694 21,65,199,134,233,237,255,65,252,255,215,255,65,252,255,150,233,255,65,199,
687 1,131,193,8,57,209,15,131,244,249,68,139,121,252,248,68,137,56,68,139,121, 695 134,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,90,252,252,252,
688 252,252,68,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244, 696 233,244,12,255,254,0
689 1,248,2,255,68,139,187,233,139,3,15,182,204,15,182,232,131,195,4,193,232,
690 16,65,252,255,36,252,238,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,
691 133,244,3,252,233,244,2,255,139,106,252,248,76,139,189,233,139,108,36,24,
692 141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,137,
693 252,239,255,76,137,252,254,137,252,239,255,15,135,244,21,65,199,134,233,237,
694 255,65,252,255,215,255,65,252,255,150,233,255,65,199,134,233,237,139,149,
695 233,141,12,194,252,247,217,3,141,233,139,90,252,252,252,233,244,12,255,254,
696 0
697}; 697};
698 698
699enum { 699enum {
@@ -1119,313 +1119,313 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1119 dasm_put(Dst, 2841, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1119 dasm_put(Dst, 2841, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1120 dasm_put(Dst, 2934, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1120 dasm_put(Dst, 2934, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1121 dasm_put(Dst, 3054, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1121 dasm_put(Dst, 3054, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1122 dasm_put(Dst, 3150, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1122 dasm_put(Dst, 3153, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1123 dasm_put(Dst, 3216, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1123 dasm_put(Dst, 3219, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1124 dasm_put(Dst, 3311, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1124 dasm_put(Dst, 3314, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1125 dasm_put(Dst, 3423, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1125 dasm_put(Dst, 3429, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1126 if (sse) { 1126 if (sse) {
1127 dasm_put(Dst, 3450, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1127 dasm_put(Dst, 3456, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1128 } else { 1128 } else {
1129 dasm_put(Dst, 3514, 1+1, LJ_TISNUM); 1129 dasm_put(Dst, 3520, 1+1, LJ_TISNUM);
1130 } 1130 }
1131 dasm_put(Dst, 3550, 1+1, FRAME_TYPE, LJ_TNIL); 1131 dasm_put(Dst, 3556, 1+1, FRAME_TYPE, LJ_TNIL);
1132 if (sse) { 1132 if (sse) {
1133 dasm_put(Dst, 3645, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1133 dasm_put(Dst, 3651, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1134 dasm_put(Dst, 3707, 1+1, LJ_TISNUM); 1134 dasm_put(Dst, 3713, 1+1, LJ_TISNUM);
1135 } else { 1135 } else {
1136 dasm_put(Dst, 3737, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1136 dasm_put(Dst, 3743, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1137 dasm_put(Dst, 3796, 1+1, LJ_TISNUM); 1137 dasm_put(Dst, 3802, 1+1, LJ_TISNUM);
1138 } 1138 }
1139 dasm_put(Dst, 3823, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1139 dasm_put(Dst, 3829, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1140 dasm_put(Dst, 3892, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1140 dasm_put(Dst, 3898, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1141 dasm_put(Dst, 3949, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1141 dasm_put(Dst, 3955, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1142 dasm_put(Dst, 4012, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1142 dasm_put(Dst, 4018, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1143 dasm_put(Dst, 4102); 1143 dasm_put(Dst, 4108);
1144 if (sse) { 1144 if (sse) {
1145 dasm_put(Dst, 4114, 1+1, LJ_TISNUM); 1145 dasm_put(Dst, 4120, 1+1, LJ_TISNUM);
1146 } else { 1146 } else {
1147 } 1147 }
1148 dasm_put(Dst, 4139); 1148 dasm_put(Dst, 4145);
1149 if (sse) { 1149 if (sse) {
1150 dasm_put(Dst, 4153, 1+1, LJ_TISNUM); 1150 dasm_put(Dst, 4159, 1+1, LJ_TISNUM);
1151 } else { 1151 } else {
1152 } 1152 }
1153 dasm_put(Dst, 4178); 1153 dasm_put(Dst, 4184);
1154 if (sse) { 1154 if (sse) {
1155 dasm_put(Dst, 4192, 1+1, LJ_TISNUM); 1155 dasm_put(Dst, 4198, 1+1, LJ_TISNUM);
1156 } else { 1156 } else {
1157 } 1157 }
1158 dasm_put(Dst, 4217); 1158 dasm_put(Dst, 4223);
1159 if (sse) { 1159 if (sse) {
1160 dasm_put(Dst, 4233, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1160 dasm_put(Dst, 4239, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1161 } else { 1161 } else {
1162 dasm_put(Dst, 4272, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1162 dasm_put(Dst, 4278, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1163 } 1163 }
1164 dasm_put(Dst, 4305, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1164 dasm_put(Dst, 4311, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1165 dasm_put(Dst, 4370, 1+1, LJ_TISNUM); 1165 dasm_put(Dst, 4376, 1+1, LJ_TISNUM);
1166 if (sse) { 1166 if (sse) {
1167 dasm_put(Dst, 4469);
1168 } else {
1169 dasm_put(Dst, 4475); 1167 dasm_put(Dst, 4475);
1168 } else {
1169 dasm_put(Dst, 4481);
1170 } 1170 }
1171 dasm_put(Dst, 4482); 1171 dasm_put(Dst, 4488);
1172 if (sse) { 1172 if (sse) {
1173 dasm_put(Dst, 4507);
1174 } else {
1175 dasm_put(Dst, 4513); 1173 dasm_put(Dst, 4513);
1174 } else {
1175 dasm_put(Dst, 4519);
1176 } 1176 }
1177 dasm_put(Dst, 4516, 1+2); 1177 dasm_put(Dst, 4522, 1+2);
1178 if (sse) { 1178 if (sse) {
1179 dasm_put(Dst, 4525); 1179 dasm_put(Dst, 4531);
1180 } else { 1180 } else {
1181 dasm_put(Dst, 4533); 1181 dasm_put(Dst, 4539);
1182 } 1182 }
1183 dasm_put(Dst, 4541); 1183 dasm_put(Dst, 4547);
1184 if (sse) { 1184 if (sse) {
1185 dasm_put(Dst, 4544, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1185 dasm_put(Dst, 4550, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1186 } else { 1186 } else {
1187 dasm_put(Dst, 4571); 1187 dasm_put(Dst, 4577);
1188 } 1188 }
1189 dasm_put(Dst, 4588); 1189 dasm_put(Dst, 4594);
1190 if (sse) { 1190 if (sse) {
1191 dasm_put(Dst, 4604, 1+1, LJ_TISNUM); 1191 dasm_put(Dst, 4610, 1+1, LJ_TISNUM);
1192 } else { 1192 } else {
1193 dasm_put(Dst, 4629, 1+1, LJ_TISNUM); 1193 dasm_put(Dst, 4635, 1+1, LJ_TISNUM);
1194 } 1194 }
1195 dasm_put(Dst, 4651); 1195 dasm_put(Dst, 4657);
1196 if (sse) { 1196 if (sse) {
1197 dasm_put(Dst, 4673); 1197 dasm_put(Dst, 4679);
1198 } else { 1198 } else {
1199 dasm_put(Dst, 4699); 1199 dasm_put(Dst, 4705);
1200 } 1200 }
1201 dasm_put(Dst, 4716, 1+2); 1201 dasm_put(Dst, 4722, 1+2);
1202 if (sse) { 1202 if (sse) {
1203 dasm_put(Dst, 4756); 1203 dasm_put(Dst, 4762);
1204 } else { 1204 } else {
1205 dasm_put(Dst, 4764); 1205 dasm_put(Dst, 4770);
1206 } 1206 }
1207 dasm_put(Dst, 4774, 2+1, LJ_TISNUM, LJ_TISNUM); 1207 dasm_put(Dst, 4780, 2+1, LJ_TISNUM, LJ_TISNUM);
1208 if (sse) { 1208 if (sse) {
1209 dasm_put(Dst, 4826, 2+1, LJ_TISNUM, LJ_TISNUM); 1209 dasm_put(Dst, 4832, 2+1, LJ_TISNUM, LJ_TISNUM);
1210 } else { 1210 } else {
1211 dasm_put(Dst, 4873, 2+1, LJ_TISNUM, LJ_TISNUM); 1211 dasm_put(Dst, 4879, 2+1, LJ_TISNUM, LJ_TISNUM);
1212 } 1212 }
1213 if (sse) { 1213 if (sse) {
1214 dasm_put(Dst, 4914, 1+1, LJ_TISNUM, LJ_TISNUM); 1214 dasm_put(Dst, 4920, 1+1, LJ_TISNUM, LJ_TISNUM);
1215 } else { 1215 } else {
1216 } 1216 }
1217 if (sse) { 1217 if (sse) {
1218 dasm_put(Dst, 4985, 1+1, LJ_TISNUM, LJ_TISNUM); 1218 dasm_put(Dst, 4991, 1+1, LJ_TISNUM, LJ_TISNUM);
1219 } else { 1219 } else {
1220 } 1220 }
1221 if (!sse) { 1221 if (!sse) {
1222 dasm_put(Dst, 5056); 1222 dasm_put(Dst, 5062);
1223 } 1223 }
1224 dasm_put(Dst, 5065, 1+1, LJ_TSTR); 1224 dasm_put(Dst, 5071, 1+1, LJ_TSTR);
1225 if (sse) { 1225 if (sse) {
1226 dasm_put(Dst, 5087, Dt5(->len)); 1226 dasm_put(Dst, 5093, Dt5(->len));
1227 } else { 1227 } else {
1228 dasm_put(Dst, 5098, Dt5(->len)); 1228 dasm_put(Dst, 5104, Dt5(->len));
1229 } 1229 }
1230 dasm_put(Dst, 5106, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1230 dasm_put(Dst, 5112, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1231 if (sse) { 1231 if (sse) {
1232 dasm_put(Dst, 5144); 1232 dasm_put(Dst, 5150);
1233 } else { 1233 } else {
1234 dasm_put(Dst, 5154); 1234 dasm_put(Dst, 5160);
1235 } 1235 }
1236 dasm_put(Dst, 5165, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1236 dasm_put(Dst, 5171, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1237 if (sse) { 1237 if (sse) {
1238 dasm_put(Dst, 5202); 1238 dasm_put(Dst, 5208);
1239 } else { 1239 } else {
1240 dasm_put(Dst, 5224); 1240 dasm_put(Dst, 5230);
1241 } 1241 }
1242 dasm_put(Dst, 5244, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1242 dasm_put(Dst, 5250, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1243 dasm_put(Dst, 2189); 1243 dasm_put(Dst, 2189);
1244 if (sse) { 1244 if (sse) {
1245 dasm_put(Dst, 5353); 1245 dasm_put(Dst, 5359);
1246 } else { 1246 } else {
1247 dasm_put(Dst, 5364); 1247 dasm_put(Dst, 5370);
1248 } 1248 }
1249 dasm_put(Dst, 5372, LJ_TSTR, LJ_TISNUM, Dt5(->len)); 1249 dasm_put(Dst, 5378, LJ_TSTR, LJ_TISNUM, Dt5(->len));
1250 if (sse) { 1250 if (sse) {
1251 dasm_put(Dst, 5402); 1251 dasm_put(Dst, 5408);
1252 } else { 1252 } else {
1253 } 1253 }
1254 dasm_put(Dst, 5409, sizeof(GCstr)-1); 1254 dasm_put(Dst, 5415, sizeof(GCstr)-1);
1255 dasm_put(Dst, 5484, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1255 dasm_put(Dst, 5490, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1256 dasm_put(Dst, 5545, LJ_TSTR, LJ_TISNUM); 1256 dasm_put(Dst, 5551, LJ_TSTR, LJ_TISNUM);
1257 if (sse) { 1257 if (sse) {
1258 dasm_put(Dst, 5566); 1258 dasm_put(Dst, 5572);
1259 } else { 1259 } else {
1260 dasm_put(Dst, 5573); 1260 dasm_put(Dst, 5579);
1261 } 1261 }
1262 dasm_put(Dst, 5585, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1262 dasm_put(Dst, 5591, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1263 dasm_put(Dst, 5653, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1263 dasm_put(Dst, 5659, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1264 dasm_put(Dst, 5720, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1264 dasm_put(Dst, 5726, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1265 dasm_put(Dst, 5793, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1265 dasm_put(Dst, 5799, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1266 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)); 1266 dasm_put(Dst, 5884, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1267 dasm_put(Dst, 5952, 1+1, LJ_TTAB); 1267 dasm_put(Dst, 5958, 1+1, LJ_TTAB);
1268 if (sse) { 1268 if (sse) {
1269 dasm_put(Dst, 6019); 1269 dasm_put(Dst, 6025);
1270 } else { 1270 } else {
1271 } 1271 }
1272 if (sse) { 1272 if (sse) {
1273 dasm_put(Dst, 6029, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1273 dasm_put(Dst, 6035, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1274 } else { 1274 } else {
1275 } 1275 }
1276 if (sse) { 1276 if (sse) {
1277 dasm_put(Dst, 6081, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1277 dasm_put(Dst, 6087, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1278 } else { 1278 } else {
1279 } 1279 }
1280 dasm_put(Dst, 6124, LJ_TISNUM); 1280 dasm_put(Dst, 6130, LJ_TISNUM);
1281 if (sse) { 1281 if (sse) {
1282 dasm_put(Dst, 6151); 1282 dasm_put(Dst, 6157);
1283 } else { 1283 } else {
1284 } 1284 }
1285 dasm_put(Dst, 6168); 1285 dasm_put(Dst, 6174);
1286 if (sse) { 1286 if (sse) {
1287 dasm_put(Dst, 6176, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1287 dasm_put(Dst, 6182, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1288 } else { 1288 } else {
1289 } 1289 }
1290 dasm_put(Dst, 6124, LJ_TISNUM); 1290 dasm_put(Dst, 6130, LJ_TISNUM);
1291 if (sse) { 1291 if (sse) {
1292 dasm_put(Dst, 6219); 1292 dasm_put(Dst, 6225);
1293 } else { 1293 } else {
1294 } 1294 }
1295 dasm_put(Dst, 6168); 1295 dasm_put(Dst, 6174);
1296 if (sse) { 1296 if (sse) {
1297 dasm_put(Dst, 6236, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1297 dasm_put(Dst, 6242, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1298 } else { 1298 } else {
1299 } 1299 }
1300 dasm_put(Dst, 6124, LJ_TISNUM); 1300 dasm_put(Dst, 6130, LJ_TISNUM);
1301 if (sse) { 1301 if (sse) {
1302 dasm_put(Dst, 6279); 1302 dasm_put(Dst, 6285);
1303 } else { 1303 } else {
1304 } 1304 }
1305 dasm_put(Dst, 6168); 1305 dasm_put(Dst, 6174);
1306 if (sse) { 1306 if (sse) {
1307 dasm_put(Dst, 6296, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1307 dasm_put(Dst, 6302, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1308 } else { 1308 } else {
1309 } 1309 }
1310 dasm_put(Dst, 6339); 1310 dasm_put(Dst, 6345);
1311 if (sse) { 1311 if (sse) {
1312 dasm_put(Dst, 6346, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1312 dasm_put(Dst, 6352, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1313 } else { 1313 } else {
1314 } 1314 }
1315 dasm_put(Dst, 6389); 1315 dasm_put(Dst, 6395);
1316 if (sse) { 1316 if (sse) {
1317 dasm_put(Dst, 6393); 1317 dasm_put(Dst, 6399);
1318 } else { 1318 } else {
1319 } 1319 }
1320 dasm_put(Dst, 6405); 1320 dasm_put(Dst, 6411);
1321 if (sse) { 1321 if (sse) {
1322 dasm_put(Dst, 6416, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1322 dasm_put(Dst, 6422, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1323 } else { 1323 } else {
1324 } 1324 }
1325 dasm_put(Dst, 6485); 1325 dasm_put(Dst, 6491);
1326 if (sse) { 1326 if (sse) {
1327 dasm_put(Dst, 6494, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1327 dasm_put(Dst, 6500, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1328 } else { 1328 } else {
1329 } 1329 }
1330 dasm_put(Dst, 6563); 1330 dasm_put(Dst, 6569);
1331 if (sse) { 1331 if (sse) {
1332 dasm_put(Dst, 6573, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1332 dasm_put(Dst, 6579, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1333 } else { 1333 } else {
1334 } 1334 }
1335 dasm_put(Dst, 6642); 1335 dasm_put(Dst, 6648);
1336 if (sse) { 1336 if (sse) {
1337 dasm_put(Dst, 6652, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1337 dasm_put(Dst, 6658, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1338 } else { 1338 } else {
1339 } 1339 }
1340 dasm_put(Dst, 6721); 1340 dasm_put(Dst, 6727);
1341 if (sse) { 1341 if (sse) {
1342 dasm_put(Dst, 6730, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1342 dasm_put(Dst, 6736, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1343 } else { 1343 } else {
1344 } 1344 }
1345 dasm_put(Dst, 6799, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1345 dasm_put(Dst, 6805, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1346 dasm_put(Dst, 6877, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1346 dasm_put(Dst, 6883, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1347 dasm_put(Dst, 7004, Dt1(->top), Dt1(->base), Dt1(->top)); 1347 dasm_put(Dst, 7010, Dt1(->top), Dt1(->base), Dt1(->top));
1348#if LJ_HASJIT 1348#if LJ_HASJIT
1349 dasm_put(Dst, 7043, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1349 dasm_put(Dst, 7049, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1350#endif 1350#endif
1351 dasm_put(Dst, 7076, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1351 dasm_put(Dst, 7082, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1352 dasm_put(Dst, 7130, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1352 dasm_put(Dst, 7136, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1353#if LJ_HASJIT 1353#if LJ_HASJIT
1354 dasm_put(Dst, 7197, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1354 dasm_put(Dst, 7203, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1355#endif 1355#endif
1356 dasm_put(Dst, 7244); 1356 dasm_put(Dst, 7250);
1357#if LJ_HASJIT 1357#if LJ_HASJIT
1358 dasm_put(Dst, 7071); 1358 dasm_put(Dst, 7077);
1359#endif 1359#endif
1360 dasm_put(Dst, 7251); 1360 dasm_put(Dst, 7257);
1361#if LJ_HASJIT 1361#if LJ_HASJIT
1362 dasm_put(Dst, 7254); 1362 dasm_put(Dst, 7260);
1363#endif 1363#endif
1364 dasm_put(Dst, 7264, Dt1(->base), Dt1(->top)); 1364 dasm_put(Dst, 7270, Dt1(->base), Dt1(->top));
1365#if LJ_HASJIT 1365#if LJ_HASJIT
1366 dasm_put(Dst, 7297); 1366 dasm_put(Dst, 7303);
1367#endif 1367#endif
1368 dasm_put(Dst, 7302, Dt1(->base), Dt1(->top)); 1368 dasm_put(Dst, 7308, Dt1(->base), Dt1(->top));
1369#if LJ_HASJIT 1369#if LJ_HASJIT
1370 dasm_put(Dst, 7333, 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); 1370 dasm_put(Dst, 7339, 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);
1371#endif 1371#endif
1372 dasm_put(Dst, 7572); 1372 dasm_put(Dst, 7578);
1373#if LJ_HASJIT 1373#if LJ_HASJIT
1374 dasm_put(Dst, 7575, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1374 dasm_put(Dst, 7581, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1375#endif 1375#endif
1376 dasm_put(Dst, 7675); 1376 dasm_put(Dst, 7681);
1377 if (!sse) { 1377 if (!sse) {
1378 dasm_put(Dst, 7678); 1378 dasm_put(Dst, 7684);
1379 } 1379 }
1380 dasm_put(Dst, 7723, (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)); 1380 dasm_put(Dst, 7729, (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));
1381 if (!sse) { 1381 if (!sse) {
1382 dasm_put(Dst, 7809); 1382 dasm_put(Dst, 7815);
1383 } 1383 }
1384 dasm_put(Dst, 7854, (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)); 1384 dasm_put(Dst, 7860, (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));
1385 if (!sse) { 1385 if (!sse) {
1386 dasm_put(Dst, 7940); 1386 dasm_put(Dst, 7946);
1387 } 1387 }
1388 dasm_put(Dst, 7979, (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)); 1388 dasm_put(Dst, 7985, (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));
1389 if (sse) { 1389 if (sse) {
1390 dasm_put(Dst, 8068, (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)); 1390 dasm_put(Dst, 8074, (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));
1391 } else { 1391 } else {
1392 dasm_put(Dst, 8182); 1392 dasm_put(Dst, 8188);
1393 } 1393 }
1394 dasm_put(Dst, 8229); 1394 dasm_put(Dst, 8235);
1395 if (!sse) { 1395 if (!sse) {
1396 } else { 1396 } else {
1397 dasm_put(Dst, 8306); 1397 dasm_put(Dst, 8312);
1398 } 1398 }
1399 dasm_put(Dst, 8309); 1399 dasm_put(Dst, 8315);
1400 dasm_put(Dst, 8394, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1400 dasm_put(Dst, 8400, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1401 dasm_put(Dst, 8495, (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)); 1401 dasm_put(Dst, 8501, (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));
1402 dasm_put(Dst, 8669); 1402 dasm_put(Dst, 8675);
1403#if LJ_HASJIT 1403#if LJ_HASJIT
1404 if (sse) { 1404 if (sse) {
1405 dasm_put(Dst, 8710); 1405 dasm_put(Dst, 8716);
1406 dasm_put(Dst, 8780); 1406 dasm_put(Dst, 8786);
1407 dasm_put(Dst, 8852); 1407 dasm_put(Dst, 8858);
1408 } else { 1408 } else {
1409 dasm_put(Dst, 8904); 1409 dasm_put(Dst, 8910);
1410 dasm_put(Dst, 8996); 1410 dasm_put(Dst, 9002);
1411 } 1411 }
1412 dasm_put(Dst, 9042); 1412 dasm_put(Dst, 9048);
1413#endif 1413#endif
1414 dasm_put(Dst, 9046); 1414 dasm_put(Dst, 9052);
1415 if (sse) { 1415 if (sse) {
1416 dasm_put(Dst, 9049, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1416 dasm_put(Dst, 9055, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1417 dasm_put(Dst, 9134, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1417 dasm_put(Dst, 9140, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1418 } else { 1418 } else {
1419 dasm_put(Dst, 9262); 1419 dasm_put(Dst, 9268);
1420 dasm_put(Dst, 9345); 1420 dasm_put(Dst, 9351);
1421 if (cmov) { 1421 if (cmov) {
1422 dasm_put(Dst, 9400); 1422 dasm_put(Dst, 9406);
1423 } else { 1423 } else {
1424 dasm_put(Dst, 9419); 1424 dasm_put(Dst, 9425);
1425 } 1425 }
1426 dasm_put(Dst, 9042); 1426 dasm_put(Dst, 9048);
1427 } 1427 }
1428 dasm_put(Dst, 9460); 1428 dasm_put(Dst, 9466);
1429} 1429}
1430 1430
1431/* Generate the code for a single instruction. */ 1431/* Generate the code for a single instruction. */
@@ -1441,592 +1441,592 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1441 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1441 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1442 1442
1443 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1443 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1444 dasm_put(Dst, 9482, LJ_TISNUM, LJ_TISNUM); 1444 dasm_put(Dst, 9488, LJ_TISNUM, LJ_TISNUM);
1445 if (sse) { 1445 if (sse) {
1446 dasm_put(Dst, 9503); 1446 dasm_put(Dst, 9509);
1447 } else { 1447 } else {
1448 dasm_put(Dst, 9518); 1448 dasm_put(Dst, 9524);
1449 if (cmov) { 1449 if (cmov) {
1450 dasm_put(Dst, 9528);
1451 } else {
1452 dasm_put(Dst, 9534); 1450 dasm_put(Dst, 9534);
1451 } else {
1452 dasm_put(Dst, 9540);
1453 } 1453 }
1454 } 1454 }
1455 switch (op) { 1455 switch (op) {
1456 case BC_ISLT: 1456 case BC_ISLT:
1457 dasm_put(Dst, 9541); 1457 dasm_put(Dst, 9547);
1458 break; 1458 break;
1459 case BC_ISGE: 1459 case BC_ISGE:
1460 dasm_put(Dst, 9340); 1460 dasm_put(Dst, 9346);
1461 break; 1461 break;
1462 case BC_ISLE: 1462 case BC_ISLE:
1463 dasm_put(Dst, 5947); 1463 dasm_put(Dst, 5953);
1464 break; 1464 break;
1465 case BC_ISGT: 1465 case BC_ISGT:
1466 dasm_put(Dst, 9546); 1466 dasm_put(Dst, 9552);
1467 break; 1467 break;
1468 default: break; /* Shut up GCC. */ 1468 default: break; /* Shut up GCC. */
1469 } 1469 }
1470 dasm_put(Dst, 9551, -BCBIAS_J*4); 1470 dasm_put(Dst, 9557, -BCBIAS_J*4);
1471 break; 1471 break;
1472 1472
1473 case BC_ISEQV: case BC_ISNEV: 1473 case BC_ISEQV: case BC_ISNEV:
1474 vk = op == BC_ISEQV; 1474 vk = op == BC_ISEQV;
1475 dasm_put(Dst, 9586, LJ_TISNUM, LJ_TISNUM); 1475 dasm_put(Dst, 9592, LJ_TISNUM, LJ_TISNUM);
1476 if (sse) { 1476 if (sse) {
1477 dasm_put(Dst, 9612); 1477 dasm_put(Dst, 9618);
1478 } else { 1478 } else {
1479 dasm_put(Dst, 9624); 1479 dasm_put(Dst, 9630);
1480 if (cmov) { 1480 if (cmov) {
1481 dasm_put(Dst, 9528);
1482 } else {
1483 dasm_put(Dst, 9534); 1481 dasm_put(Dst, 9534);
1482 } else {
1483 dasm_put(Dst, 9540);
1484 } 1484 }
1485 } 1485 }
1486 iseqne_fp: 1486 iseqne_fp:
1487 if (vk) { 1487 if (vk) {
1488 dasm_put(Dst, 9631); 1488 dasm_put(Dst, 9637);
1489 } else { 1489 } else {
1490 dasm_put(Dst, 9640); 1490 dasm_put(Dst, 9646);
1491 } 1491 }
1492 iseqne_end: 1492 iseqne_end:
1493 if (vk) { 1493 if (vk) {
1494 dasm_put(Dst, 9649, -BCBIAS_J*4); 1494 dasm_put(Dst, 9655, -BCBIAS_J*4);
1495 } else { 1495 } else {
1496 dasm_put(Dst, 9664, -BCBIAS_J*4); 1496 dasm_put(Dst, 9670, -BCBIAS_J*4);
1497 } 1497 }
1498 dasm_put(Dst, 9565); 1498 dasm_put(Dst, 9571);
1499 if (op == BC_ISEQV || op == BC_ISNEV) { 1499 if (op == BC_ISEQV || op == BC_ISNEV) {
1500 dasm_put(Dst, 9679, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1500 dasm_put(Dst, 9685, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1501 if (vk) { 1501 if (vk) {
1502 dasm_put(Dst, 9737); 1502 dasm_put(Dst, 9743);
1503 } else { 1503 } else {
1504 dasm_put(Dst, 9741); 1504 dasm_put(Dst, 9747);
1505 } 1505 }
1506 dasm_put(Dst, 9747); 1506 dasm_put(Dst, 9753);
1507 } 1507 }
1508 break; 1508 break;
1509 case BC_ISEQS: case BC_ISNES: 1509 case BC_ISEQS: case BC_ISNES:
1510 vk = op == BC_ISEQS; 1510 vk = op == BC_ISEQS;
1511 dasm_put(Dst, 9752, LJ_TSTR); 1511 dasm_put(Dst, 9758, LJ_TSTR);
1512 iseqne_test: 1512 iseqne_test:
1513 if (vk) { 1513 if (vk) {
1514 dasm_put(Dst, 9635); 1514 dasm_put(Dst, 9641);
1515 } else { 1515 } else {
1516 dasm_put(Dst, 2836); 1516 dasm_put(Dst, 2836);
1517 } 1517 }
1518 goto iseqne_end; 1518 goto iseqne_end;
1519 case BC_ISEQN: case BC_ISNEN: 1519 case BC_ISEQN: case BC_ISNEN:
1520 vk = op == BC_ISEQN; 1520 vk = op == BC_ISEQN;
1521 dasm_put(Dst, 9777, LJ_TISNUM); 1521 dasm_put(Dst, 9783, LJ_TISNUM);
1522 if (sse) { 1522 if (sse) {
1523 dasm_put(Dst, 9791); 1523 dasm_put(Dst, 9797);
1524 } else { 1524 } else {
1525 dasm_put(Dst, 9804); 1525 dasm_put(Dst, 9810);
1526 if (cmov) { 1526 if (cmov) {
1527 dasm_put(Dst, 9528);
1528 } else {
1529 dasm_put(Dst, 9534); 1527 dasm_put(Dst, 9534);
1528 } else {
1529 dasm_put(Dst, 9540);
1530 } 1530 }
1531 } 1531 }
1532 goto iseqne_fp; 1532 goto iseqne_fp;
1533 case BC_ISEQP: case BC_ISNEP: 1533 case BC_ISEQP: case BC_ISNEP:
1534 vk = op == BC_ISEQP; 1534 vk = op == BC_ISEQP;
1535 dasm_put(Dst, 9812); 1535 dasm_put(Dst, 9818);
1536 goto iseqne_test; 1536 goto iseqne_test;
1537 1537
1538 /* -- Unary test and copy ops ------------------------------------------- */ 1538 /* -- Unary test and copy ops ------------------------------------------- */
1539 1539
1540 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1540 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1541 dasm_put(Dst, 9824, LJ_TISTRUECOND); 1541 dasm_put(Dst, 9830, LJ_TISTRUECOND);
1542 if (op == BC_IST || op == BC_ISTC) { 1542 if (op == BC_IST || op == BC_ISTC) {
1543 dasm_put(Dst, 9836); 1543 dasm_put(Dst, 9842);
1544 } else { 1544 } else {
1545 dasm_put(Dst, 9841); 1545 dasm_put(Dst, 9847);
1546 } 1546 }
1547 if (op == BC_ISTC || op == BC_ISFC) { 1547 if (op == BC_ISTC || op == BC_ISFC) {
1548 dasm_put(Dst, 9846); 1548 dasm_put(Dst, 9852);
1549 } 1549 }
1550 dasm_put(Dst, 9857, -BCBIAS_J*4); 1550 dasm_put(Dst, 9863, -BCBIAS_J*4);
1551 break; 1551 break;
1552 1552
1553 /* -- Unary ops --------------------------------------------------------- */ 1553 /* -- Unary ops --------------------------------------------------------- */
1554 1554
1555 case BC_MOV: 1555 case BC_MOV:
1556 dasm_put(Dst, 9890); 1556 dasm_put(Dst, 9896);
1557 break; 1557 break;
1558 case BC_NOT: 1558 case BC_NOT:
1559 dasm_put(Dst, 9925, LJ_TISTRUECOND, LJ_TTRUE); 1559 dasm_put(Dst, 9931, LJ_TISTRUECOND, LJ_TTRUE);
1560 break; 1560 break;
1561 case BC_UNM: 1561 case BC_UNM:
1562 dasm_put(Dst, 9962, LJ_TISNUM); 1562 dasm_put(Dst, 9968, LJ_TISNUM);
1563 if (sse) { 1563 if (sse) {
1564 dasm_put(Dst, 9973, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1564 dasm_put(Dst, 9979, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1565 } else { 1565 } else {
1566 dasm_put(Dst, 9998); 1566 dasm_put(Dst, 10004);
1567 } 1567 }
1568 dasm_put(Dst, 9565); 1568 dasm_put(Dst, 9571);
1569 break; 1569 break;
1570 case BC_LEN: 1570 case BC_LEN:
1571 dasm_put(Dst, 10007, LJ_TSTR); 1571 dasm_put(Dst, 10013, LJ_TSTR);
1572 if (sse) { 1572 if (sse) {
1573 dasm_put(Dst, 10021, Dt5(->len)); 1573 dasm_put(Dst, 10027, Dt5(->len));
1574 } else { 1574 } else {
1575 dasm_put(Dst, 10039, Dt5(->len)); 1575 dasm_put(Dst, 10045, Dt5(->len));
1576 } 1576 }
1577 dasm_put(Dst, 10048, LJ_TTAB); 1577 dasm_put(Dst, 10054, LJ_TTAB);
1578 if (sse) { 1578 if (sse) {
1579 dasm_put(Dst, 10090); 1579 dasm_put(Dst, 10096);
1580 } else { 1580 } else {
1581 } 1581 }
1582 dasm_put(Dst, 10099); 1582 dasm_put(Dst, 10105);
1583 break; 1583 break;
1584 1584
1585 /* -- Binary ops -------------------------------------------------------- */ 1585 /* -- Binary ops -------------------------------------------------------- */
1586 1586
1587 1587
1588 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1588 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1589 dasm_put(Dst, 10109); 1589 dasm_put(Dst, 10115);
1590 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1590 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1591 switch (vk) { 1591 switch (vk) {
1592 case 0: 1592 case 0:
1593 dasm_put(Dst, 10117, LJ_TISNUM); 1593 dasm_put(Dst, 10123, LJ_TISNUM);
1594 if (sse) { 1594 if (sse) {
1595 dasm_put(Dst, 10129); 1595 dasm_put(Dst, 10135);
1596 } else { 1596 } else {
1597 dasm_put(Dst, 10144); 1597 dasm_put(Dst, 10150);
1598 } 1598 }
1599 break; 1599 break;
1600 case 1: 1600 case 1:
1601 dasm_put(Dst, 10153, LJ_TISNUM); 1601 dasm_put(Dst, 10159, LJ_TISNUM);
1602 if (sse) { 1602 if (sse) {
1603 dasm_put(Dst, 10165); 1603 dasm_put(Dst, 10171);
1604 } else { 1604 } else {
1605 dasm_put(Dst, 10180); 1605 dasm_put(Dst, 10186);
1606 } 1606 }
1607 break; 1607 break;
1608 default: 1608 default:
1609 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM); 1609 dasm_put(Dst, 10195, LJ_TISNUM, LJ_TISNUM);
1610 if (sse) { 1610 if (sse) {
1611 dasm_put(Dst, 10211); 1611 dasm_put(Dst, 10217);
1612 } else { 1612 } else {
1613 dasm_put(Dst, 10225); 1613 dasm_put(Dst, 10231);
1614 } 1614 }
1615 break; 1615 break;
1616 } 1616 }
1617 if (sse) { 1617 if (sse) {
1618 dasm_put(Dst, 9991); 1618 dasm_put(Dst, 9997);
1619 } else { 1619 } else {
1620 dasm_put(Dst, 10003); 1620 dasm_put(Dst, 10009);
1621 } 1621 }
1622 dasm_put(Dst, 9565); 1622 dasm_put(Dst, 9571);
1623 break; 1623 break;
1624 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1624 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1625 dasm_put(Dst, 10109); 1625 dasm_put(Dst, 10115);
1626 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1626 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1627 switch (vk) { 1627 switch (vk) {
1628 case 0: 1628 case 0:
1629 dasm_put(Dst, 10117, LJ_TISNUM); 1629 dasm_put(Dst, 10123, LJ_TISNUM);
1630 if (sse) { 1630 if (sse) {
1631 dasm_put(Dst, 10233); 1631 dasm_put(Dst, 10239);
1632 } else { 1632 } else {
1633 dasm_put(Dst, 10248); 1633 dasm_put(Dst, 10254);
1634 } 1634 }
1635 break; 1635 break;
1636 case 1: 1636 case 1:
1637 dasm_put(Dst, 10153, LJ_TISNUM); 1637 dasm_put(Dst, 10159, LJ_TISNUM);
1638 if (sse) { 1638 if (sse) {
1639 dasm_put(Dst, 10257); 1639 dasm_put(Dst, 10263);
1640 } else { 1640 } else {
1641 dasm_put(Dst, 10272); 1641 dasm_put(Dst, 10278);
1642 } 1642 }
1643 break; 1643 break;
1644 default: 1644 default:
1645 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM); 1645 dasm_put(Dst, 10195, LJ_TISNUM, LJ_TISNUM);
1646 if (sse) { 1646 if (sse) {
1647 dasm_put(Dst, 10281); 1647 dasm_put(Dst, 10287);
1648 } else { 1648 } else {
1649 dasm_put(Dst, 10295); 1649 dasm_put(Dst, 10301);
1650 } 1650 }
1651 break; 1651 break;
1652 } 1652 }
1653 if (sse) { 1653 if (sse) {
1654 dasm_put(Dst, 9991); 1654 dasm_put(Dst, 9997);
1655 } else { 1655 } else {
1656 dasm_put(Dst, 10003); 1656 dasm_put(Dst, 10009);
1657 } 1657 }
1658 dasm_put(Dst, 9565); 1658 dasm_put(Dst, 9571);
1659 break; 1659 break;
1660 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1660 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1661 dasm_put(Dst, 10109); 1661 dasm_put(Dst, 10115);
1662 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1662 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1663 switch (vk) { 1663 switch (vk) {
1664 case 0: 1664 case 0:
1665 dasm_put(Dst, 10117, LJ_TISNUM); 1665 dasm_put(Dst, 10123, LJ_TISNUM);
1666 if (sse) { 1666 if (sse) {
1667 dasm_put(Dst, 10303); 1667 dasm_put(Dst, 10309);
1668 } else { 1668 } else {
1669 dasm_put(Dst, 10318); 1669 dasm_put(Dst, 10324);
1670 } 1670 }
1671 break; 1671 break;
1672 case 1: 1672 case 1:
1673 dasm_put(Dst, 10153, LJ_TISNUM); 1673 dasm_put(Dst, 10159, LJ_TISNUM);
1674 if (sse) { 1674 if (sse) {
1675 dasm_put(Dst, 10327); 1675 dasm_put(Dst, 10333);
1676 } else { 1676 } else {
1677 dasm_put(Dst, 10342); 1677 dasm_put(Dst, 10348);
1678 } 1678 }
1679 break; 1679 break;
1680 default: 1680 default:
1681 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM); 1681 dasm_put(Dst, 10195, LJ_TISNUM, LJ_TISNUM);
1682 if (sse) { 1682 if (sse) {
1683 dasm_put(Dst, 10351); 1683 dasm_put(Dst, 10357);
1684 } else { 1684 } else {
1685 dasm_put(Dst, 10365); 1685 dasm_put(Dst, 10371);
1686 } 1686 }
1687 break; 1687 break;
1688 } 1688 }
1689 if (sse) { 1689 if (sse) {
1690 dasm_put(Dst, 9991); 1690 dasm_put(Dst, 9997);
1691 } else { 1691 } else {
1692 dasm_put(Dst, 10003); 1692 dasm_put(Dst, 10009);
1693 } 1693 }
1694 dasm_put(Dst, 9565); 1694 dasm_put(Dst, 9571);
1695 break; 1695 break;
1696 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1696 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1697 dasm_put(Dst, 10109); 1697 dasm_put(Dst, 10115);
1698 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1698 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1699 switch (vk) { 1699 switch (vk) {
1700 case 0: 1700 case 0:
1701 dasm_put(Dst, 10117, LJ_TISNUM); 1701 dasm_put(Dst, 10123, LJ_TISNUM);
1702 if (sse) { 1702 if (sse) {
1703 dasm_put(Dst, 10373); 1703 dasm_put(Dst, 10379);
1704 } else { 1704 } else {
1705 dasm_put(Dst, 10388); 1705 dasm_put(Dst, 10394);
1706 } 1706 }
1707 break; 1707 break;
1708 case 1: 1708 case 1:
1709 dasm_put(Dst, 10153, LJ_TISNUM); 1709 dasm_put(Dst, 10159, LJ_TISNUM);
1710 if (sse) { 1710 if (sse) {
1711 dasm_put(Dst, 10397); 1711 dasm_put(Dst, 10403);
1712 } else { 1712 } else {
1713 dasm_put(Dst, 10412); 1713 dasm_put(Dst, 10418);
1714 } 1714 }
1715 break; 1715 break;
1716 default: 1716 default:
1717 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM); 1717 dasm_put(Dst, 10195, LJ_TISNUM, LJ_TISNUM);
1718 if (sse) { 1718 if (sse) {
1719 dasm_put(Dst, 10421); 1719 dasm_put(Dst, 10427);
1720 } else { 1720 } else {
1721 dasm_put(Dst, 10435); 1721 dasm_put(Dst, 10441);
1722 } 1722 }
1723 break; 1723 break;
1724 } 1724 }
1725 if (sse) { 1725 if (sse) {
1726 dasm_put(Dst, 9991); 1726 dasm_put(Dst, 9997);
1727 } else { 1727 } else {
1728 dasm_put(Dst, 10003); 1728 dasm_put(Dst, 10009);
1729 } 1729 }
1730 dasm_put(Dst, 9565); 1730 dasm_put(Dst, 9571);
1731 break; 1731 break;
1732 case BC_MODVN: 1732 case BC_MODVN:
1733 dasm_put(Dst, 10109); 1733 dasm_put(Dst, 10115);
1734 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1734 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1735 switch (vk) { 1735 switch (vk) {
1736 case 0: 1736 case 0:
1737 dasm_put(Dst, 10117, LJ_TISNUM); 1737 dasm_put(Dst, 10123, LJ_TISNUM);
1738 if (sse) { 1738 if (sse) {
1739 dasm_put(Dst, 10443); 1739 dasm_put(Dst, 10449);
1740 } else { 1740 } else {
1741 dasm_put(Dst, 10458); 1741 dasm_put(Dst, 10464);
1742 } 1742 }
1743 break; 1743 break;
1744 case 1: 1744 case 1:
1745 dasm_put(Dst, 10153, LJ_TISNUM); 1745 dasm_put(Dst, 10159, LJ_TISNUM);
1746 if (sse) { 1746 if (sse) {
1747 dasm_put(Dst, 10467); 1747 dasm_put(Dst, 10473);
1748 } else { 1748 } else {
1749 dasm_put(Dst, 10482); 1749 dasm_put(Dst, 10488);
1750 } 1750 }
1751 break; 1751 break;
1752 default: 1752 default:
1753 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM); 1753 dasm_put(Dst, 10195, LJ_TISNUM, LJ_TISNUM);
1754 if (sse) { 1754 if (sse) {
1755 dasm_put(Dst, 10491); 1755 dasm_put(Dst, 10497);
1756 } else { 1756 } else {
1757 dasm_put(Dst, 10505); 1757 dasm_put(Dst, 10511);
1758 } 1758 }
1759 break; 1759 break;
1760 } 1760 }
1761 dasm_put(Dst, 10513); 1761 dasm_put(Dst, 10519);
1762 if (sse) { 1762 if (sse) {
1763 dasm_put(Dst, 9991); 1763 dasm_put(Dst, 9997);
1764 } else { 1764 } else {
1765 dasm_put(Dst, 10003); 1765 dasm_put(Dst, 10009);
1766 } 1766 }
1767 dasm_put(Dst, 9565); 1767 dasm_put(Dst, 9571);
1768 break; 1768 break;
1769 case BC_MODNV: case BC_MODVV: 1769 case BC_MODNV: case BC_MODVV:
1770 dasm_put(Dst, 10109); 1770 dasm_put(Dst, 10115);
1771 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1771 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1772 switch (vk) { 1772 switch (vk) {
1773 case 0: 1773 case 0:
1774 dasm_put(Dst, 10117, LJ_TISNUM); 1774 dasm_put(Dst, 10123, LJ_TISNUM);
1775 if (sse) { 1775 if (sse) {
1776 dasm_put(Dst, 10443); 1776 dasm_put(Dst, 10449);
1777 } else { 1777 } else {
1778 dasm_put(Dst, 10458); 1778 dasm_put(Dst, 10464);
1779 } 1779 }
1780 break; 1780 break;
1781 case 1: 1781 case 1:
1782 dasm_put(Dst, 10153, LJ_TISNUM); 1782 dasm_put(Dst, 10159, LJ_TISNUM);
1783 if (sse) { 1783 if (sse) {
1784 dasm_put(Dst, 10467); 1784 dasm_put(Dst, 10473);
1785 } else { 1785 } else {
1786 dasm_put(Dst, 10482); 1786 dasm_put(Dst, 10488);
1787 } 1787 }
1788 break; 1788 break;
1789 default: 1789 default:
1790 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM); 1790 dasm_put(Dst, 10195, LJ_TISNUM, LJ_TISNUM);
1791 if (sse) { 1791 if (sse) {
1792 dasm_put(Dst, 10491); 1792 dasm_put(Dst, 10497);
1793 } else { 1793 } else {
1794 dasm_put(Dst, 10505); 1794 dasm_put(Dst, 10511);
1795 } 1795 }
1796 break; 1796 break;
1797 } 1797 }
1798 dasm_put(Dst, 10519); 1798 dasm_put(Dst, 10525);
1799 break; 1799 break;
1800 case BC_POW: 1800 case BC_POW:
1801 dasm_put(Dst, 10109); 1801 dasm_put(Dst, 10115);
1802 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1802 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1803 switch (vk) { 1803 switch (vk) {
1804 case 0: 1804 case 0:
1805 dasm_put(Dst, 10117, LJ_TISNUM); 1805 dasm_put(Dst, 10123, LJ_TISNUM);
1806 if (sse) { 1806 if (sse) {
1807 dasm_put(Dst, 10443); 1807 dasm_put(Dst, 10449);
1808 } else { 1808 } else {
1809 dasm_put(Dst, 10458); 1809 dasm_put(Dst, 10464);
1810 } 1810 }
1811 break; 1811 break;
1812 case 1: 1812 case 1:
1813 dasm_put(Dst, 10153, LJ_TISNUM); 1813 dasm_put(Dst, 10159, LJ_TISNUM);
1814 if (sse) { 1814 if (sse) {
1815 dasm_put(Dst, 10467); 1815 dasm_put(Dst, 10473);
1816 } else { 1816 } else {
1817 dasm_put(Dst, 10482); 1817 dasm_put(Dst, 10488);
1818 } 1818 }
1819 break; 1819 break;
1820 default: 1820 default:
1821 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM); 1821 dasm_put(Dst, 10195, LJ_TISNUM, LJ_TISNUM);
1822 if (sse) { 1822 if (sse) {
1823 dasm_put(Dst, 10491); 1823 dasm_put(Dst, 10497);
1824 } else { 1824 } else {
1825 dasm_put(Dst, 10505); 1825 dasm_put(Dst, 10511);
1826 } 1826 }
1827 break; 1827 break;
1828 } 1828 }
1829 dasm_put(Dst, 10524); 1829 dasm_put(Dst, 10530);
1830 if (sse) { 1830 if (sse) {
1831 dasm_put(Dst, 9991); 1831 dasm_put(Dst, 9997);
1832 } else { 1832 } else {
1833 dasm_put(Dst, 10003); 1833 dasm_put(Dst, 10009);
1834 } 1834 }
1835 dasm_put(Dst, 9565); 1835 dasm_put(Dst, 9571);
1836 break; 1836 break;
1837 1837
1838 case BC_CAT: 1838 case BC_CAT:
1839 dasm_put(Dst, 10528, Dt1(->base), Dt1(->base)); 1839 dasm_put(Dst, 10534, Dt1(->base), Dt1(->base));
1840 break; 1840 break;
1841 1841
1842 /* -- Constant ops ------------------------------------------------------ */ 1842 /* -- Constant ops ------------------------------------------------------ */
1843 1843
1844 case BC_KSTR: 1844 case BC_KSTR:
1845 dasm_put(Dst, 10619, LJ_TSTR); 1845 dasm_put(Dst, 10625, LJ_TSTR);
1846 break; 1846 break;
1847 case BC_KSHORT: 1847 case BC_KSHORT:
1848 if (sse) { 1848 if (sse) {
1849 dasm_put(Dst, 10656); 1849 dasm_put(Dst, 10662);
1850 } else { 1850 } else {
1851 dasm_put(Dst, 10671); 1851 dasm_put(Dst, 10677);
1852 } 1852 }
1853 dasm_put(Dst, 9565); 1853 dasm_put(Dst, 9571);
1854 break; 1854 break;
1855 case BC_KNUM: 1855 case BC_KNUM:
1856 if (sse) { 1856 if (sse) {
1857 dasm_put(Dst, 10679); 1857 dasm_put(Dst, 10685);
1858 } else { 1858 } else {
1859 dasm_put(Dst, 10693); 1859 dasm_put(Dst, 10699);
1860 } 1860 }
1861 dasm_put(Dst, 9565); 1861 dasm_put(Dst, 9571);
1862 break; 1862 break;
1863 case BC_KPRI: 1863 case BC_KPRI:
1864 dasm_put(Dst, 10701); 1864 dasm_put(Dst, 10707);
1865 break; 1865 break;
1866 case BC_KNIL: 1866 case BC_KNIL:
1867 dasm_put(Dst, 10730, LJ_TNIL); 1867 dasm_put(Dst, 10736, LJ_TNIL);
1868 break; 1868 break;
1869 1869
1870 /* -- Upvalue and function ops ------------------------------------------ */ 1870 /* -- Upvalue and function ops ------------------------------------------ */
1871 1871
1872 case BC_UGET: 1872 case BC_UGET:
1873 dasm_put(Dst, 10778, offsetof(GCfuncL, uvptr), DtA(->v)); 1873 dasm_put(Dst, 10784, offsetof(GCfuncL, uvptr), DtA(->v));
1874 break; 1874 break;
1875 case BC_USETV: 1875 case BC_USETV:
1876#define TV2MARKOFS \ 1876#define TV2MARKOFS \
1877 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1877 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1878 dasm_put(Dst, 10824, 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); 1878 dasm_put(Dst, 10830, 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);
1879 dasm_put(Dst, 10920); 1879 dasm_put(Dst, 10926);
1880 break; 1880 break;
1881#undef TV2MARKOFS 1881#undef TV2MARKOFS
1882 case BC_USETS: 1882 case BC_USETS:
1883 dasm_put(Dst, 10932, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1883 dasm_put(Dst, 10938, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1884 break; 1884 break;
1885 case BC_USETN: 1885 case BC_USETN:
1886 dasm_put(Dst, 11028); 1886 dasm_put(Dst, 11034);
1887 if (sse) { 1887 if (sse) {
1888 dasm_put(Dst, 11033); 1888 dasm_put(Dst, 11039);
1889 } else { 1889 } else {
1890 dasm_put(Dst, 9807); 1890 dasm_put(Dst, 9813);
1891 } 1891 }
1892 dasm_put(Dst, 11041, offsetof(GCfuncL, uvptr), DtA(->v)); 1892 dasm_put(Dst, 11047, offsetof(GCfuncL, uvptr), DtA(->v));
1893 if (sse) { 1893 if (sse) {
1894 dasm_put(Dst, 11050);
1895 } else {
1896 dasm_put(Dst, 11056); 1894 dasm_put(Dst, 11056);
1895 } else {
1896 dasm_put(Dst, 11062);
1897 } 1897 }
1898 dasm_put(Dst, 9565); 1898 dasm_put(Dst, 9571);
1899 break; 1899 break;
1900 case BC_USETP: 1900 case BC_USETP:
1901 dasm_put(Dst, 11059, offsetof(GCfuncL, uvptr), DtA(->v)); 1901 dasm_put(Dst, 11065, offsetof(GCfuncL, uvptr), DtA(->v));
1902 break; 1902 break;
1903 case BC_UCLO: 1903 case BC_UCLO:
1904 dasm_put(Dst, 11099, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 1904 dasm_put(Dst, 11105, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1905 break; 1905 break;
1906 1906
1907 case BC_FNEW: 1907 case BC_FNEW:
1908 dasm_put(Dst, 11155, Dt1(->base), Dt1(->base), LJ_TFUNC); 1908 dasm_put(Dst, 11161, Dt1(->base), Dt1(->base), LJ_TFUNC);
1909 break; 1909 break;
1910 1910
1911 /* -- Table ops --------------------------------------------------------- */ 1911 /* -- Table ops --------------------------------------------------------- */
1912 1912
1913 case BC_TNEW: 1913 case BC_TNEW:
1914 dasm_put(Dst, 11222, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 1914 dasm_put(Dst, 11228, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1915 break; 1915 break;
1916 case BC_TDUP: 1916 case BC_TDUP:
1917 dasm_put(Dst, 11346, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 1917 dasm_put(Dst, 11352, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1918 break; 1918 break;
1919 1919
1920 case BC_GGET: 1920 case BC_GGET:
1921 dasm_put(Dst, 11445, Dt7(->env)); 1921 dasm_put(Dst, 11451, Dt7(->env));
1922 break; 1922 break;
1923 case BC_GSET: 1923 case BC_GSET:
1924 dasm_put(Dst, 11465, Dt7(->env)); 1924 dasm_put(Dst, 11471, Dt7(->env));
1925 break; 1925 break;
1926 1926
1927 case BC_TGETV: 1927 case BC_TGETV:
1928 dasm_put(Dst, 11485, LJ_TTAB, LJ_TISNUM); 1928 dasm_put(Dst, 11491, LJ_TTAB, LJ_TISNUM);
1929 if (sse) { 1929 if (sse) {
1930 dasm_put(Dst, 11518); 1930 dasm_put(Dst, 11524);
1931 } else { 1931 } else {
1932 } 1932 }
1933 dasm_put(Dst, 11539, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1933 dasm_put(Dst, 11545, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1934 dasm_put(Dst, 11633, LJ_TSTR); 1934 dasm_put(Dst, 11639, LJ_TSTR);
1935 break; 1935 break;
1936 case BC_TGETS: 1936 case BC_TGETS:
1937 dasm_put(Dst, 11651, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1937 dasm_put(Dst, 11657, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1938 dasm_put(Dst, 11737, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1938 dasm_put(Dst, 11743, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1939 break; 1939 break;
1940 case BC_TGETB: 1940 case BC_TGETB:
1941 dasm_put(Dst, 11810, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1941 dasm_put(Dst, 11816, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1942 dasm_put(Dst, 10099); 1942 dasm_put(Dst, 10105);
1943 break; 1943 break;
1944 1944
1945 case BC_TSETV: 1945 case BC_TSETV:
1946 dasm_put(Dst, 11911, LJ_TTAB, LJ_TISNUM); 1946 dasm_put(Dst, 11917, LJ_TTAB, LJ_TISNUM);
1947 if (sse) { 1947 if (sse) {
1948 dasm_put(Dst, 11518); 1948 dasm_put(Dst, 11524);
1949 } else { 1949 } else {
1950 } 1950 }
1951 dasm_put(Dst, 11944, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 1951 dasm_put(Dst, 11950, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
1952 dasm_put(Dst, 12029, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1952 dasm_put(Dst, 12035, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1953 break; 1953 break;
1954 case BC_TSETS: 1954 case BC_TSETS:
1955 dasm_put(Dst, 12093, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1955 dasm_put(Dst, 12099, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1956 dasm_put(Dst, 12170, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 1956 dasm_put(Dst, 12176, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
1957 dasm_put(Dst, 12262, 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)); 1957 dasm_put(Dst, 12268, 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));
1958 break; 1958 break;
1959 case BC_TSETB: 1959 case BC_TSETB:
1960 dasm_put(Dst, 12354, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 1960 dasm_put(Dst, 12360, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
1961 dasm_put(Dst, 12454, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1961 dasm_put(Dst, 12460, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1962 break; 1962 break;
1963 1963
1964 case BC_TSETM: 1964 case BC_TSETM:
1965 dasm_put(Dst, 12502, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 1965 dasm_put(Dst, 12508, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
1966 dasm_put(Dst, 12658, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1966 dasm_put(Dst, 12664, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1967 break; 1967 break;
1968 1968
1969 /* -- Calls and vararg handling ----------------------------------------- */ 1969 /* -- Calls and vararg handling ----------------------------------------- */
1970 1970
1971 case BC_CALL: case BC_CALLM: 1971 case BC_CALL: case BC_CALLM:
1972 dasm_put(Dst, 10113); 1972 dasm_put(Dst, 10119);
1973 if (op == BC_CALLM) { 1973 if (op == BC_CALLM) {
1974 dasm_put(Dst, 12678); 1974 dasm_put(Dst, 12684);
1975 } 1975 }
1976 dasm_put(Dst, 12683, LJ_TFUNC, Dt7(->pc)); 1976 dasm_put(Dst, 12689, LJ_TFUNC, Dt7(->pc));
1977 break; 1977 break;
1978 1978
1979 case BC_CALLMT: 1979 case BC_CALLMT:
1980 dasm_put(Dst, 12678); 1980 dasm_put(Dst, 12684);
1981 break; 1981 break;
1982 case BC_CALLT: 1982 case BC_CALLT:
1983 dasm_put(Dst, 12726, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 1983 dasm_put(Dst, 12732, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
1984 dasm_put(Dst, 12850, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 1984 dasm_put(Dst, 12856, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
1985 break; 1985 break;
1986 1986
1987 case BC_ITERC: 1987 case BC_ITERC:
1988 dasm_put(Dst, 12924, LJ_TFUNC, 2+1, Dt7(->pc)); 1988 dasm_put(Dst, 12930, LJ_TFUNC, 2+1, Dt7(->pc));
1989 break; 1989 break;
1990 1990
1991 case BC_VARG: 1991 case BC_VARG:
1992 dasm_put(Dst, 13006, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 1992 dasm_put(Dst, 13012, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
1993 dasm_put(Dst, 13180, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 1993 dasm_put(Dst, 13186, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
1994 break; 1994 break;
1995 1995
1996 /* -- Returns ----------------------------------------------------------- */ 1996 /* -- Returns ----------------------------------------------------------- */
1997 1997
1998 case BC_RETM: 1998 case BC_RETM:
1999 dasm_put(Dst, 12678); 1999 dasm_put(Dst, 12684);
2000 break; 2000 break;
2001 2001
2002 case BC_RET: case BC_RET0: case BC_RET1: 2002 case BC_RET: case BC_RET0: case BC_RET1:
2003 if (op != BC_RET0) { 2003 if (op != BC_RET0) {
2004 dasm_put(Dst, 13257); 2004 dasm_put(Dst, 13263);
2005 } 2005 }
2006 dasm_put(Dst, 13261, FRAME_TYPE); 2006 dasm_put(Dst, 13267, FRAME_TYPE);
2007 switch (op) { 2007 switch (op) {
2008 case BC_RET: 2008 case BC_RET:
2009 dasm_put(Dst, 13280); 2009 dasm_put(Dst, 13286);
2010 break; 2010 break;
2011 case BC_RET1: 2011 case BC_RET1:
2012 dasm_put(Dst, 13344); 2012 dasm_put(Dst, 13350);
2013 /* fallthrough */ 2013 /* fallthrough */
2014 case BC_RET0: 2014 case BC_RET0:
2015 dasm_put(Dst, 13360); 2015 dasm_put(Dst, 13366);
2016 default: 2016 default:
2017 break; 2017 break;
2018 } 2018 }
2019 dasm_put(Dst, 13371, Dt7(->pc), PC2PROTO(k)); 2019 dasm_put(Dst, 13377, Dt7(->pc), PC2PROTO(k));
2020 if (op == BC_RET) { 2020 if (op == BC_RET) {
2021 dasm_put(Dst, 13419, LJ_TNIL); 2021 dasm_put(Dst, 13425, LJ_TNIL);
2022 } else { 2022 } else {
2023 dasm_put(Dst, 13430, LJ_TNIL); 2023 dasm_put(Dst, 13436, LJ_TNIL);
2024 } 2024 }
2025 dasm_put(Dst, 13437, -FRAME_VARG, FRAME_TYPEP); 2025 dasm_put(Dst, 13443, -FRAME_VARG, FRAME_TYPEP);
2026 if (op != BC_RET0) { 2026 if (op != BC_RET0) {
2027 dasm_put(Dst, 13461); 2027 dasm_put(Dst, 13467);
2028 } 2028 }
2029 dasm_put(Dst, 4599); 2029 dasm_put(Dst, 4605);
2030 break; 2030 break;
2031 2031
2032 /* -- Loops and branches ------------------------------------------------ */ 2032 /* -- Loops and branches ------------------------------------------------ */
@@ -2034,7 +2034,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2034 2034
2035 case BC_FORL: 2035 case BC_FORL:
2036#if LJ_HASJIT 2036#if LJ_HASJIT
2037 dasm_put(Dst, 13465, HOTCOUNT_PCMASK, GG_DISP2HOT); 2037 dasm_put(Dst, 13471, HOTCOUNT_PCMASK, GG_DISP2HOT);
2038#endif 2038#endif
2039 break; 2039 break;
2040 2040
@@ -2046,57 +2046,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2046 case BC_FORI: 2046 case BC_FORI:
2047 case BC_IFORL: 2047 case BC_IFORL:
2048 vk = (op == BC_IFORL || op == BC_JFORL); 2048 vk = (op == BC_IFORL || op == BC_JFORL);
2049 dasm_put(Dst, 13486); 2049 dasm_put(Dst, 13492);
2050 if (!vk) { 2050 if (!vk) {
2051 dasm_put(Dst, 13490, LJ_TISNUM, LJ_TISNUM); 2051 dasm_put(Dst, 13496, LJ_TISNUM, LJ_TISNUM);
2052 } 2052 }
2053 dasm_put(Dst, 13509); 2053 dasm_put(Dst, 13515);
2054 if (!vk) { 2054 if (!vk) {
2055 dasm_put(Dst, 13513, LJ_TISNUM); 2055 dasm_put(Dst, 13519, LJ_TISNUM);
2056 } 2056 }
2057 if (sse) { 2057 if (sse) {
2058 dasm_put(Dst, 13522); 2058 dasm_put(Dst, 13528);
2059 if (vk) { 2059 if (vk) {
2060 dasm_put(Dst, 13534); 2060 dasm_put(Dst, 13540);
2061 } else { 2061 } else {
2062 dasm_put(Dst, 13553); 2062 dasm_put(Dst, 13559);
2063 } 2063 }
2064 dasm_put(Dst, 13558); 2064 dasm_put(Dst, 13564);
2065 } else { 2065 } else {
2066 dasm_put(Dst, 13571); 2066 dasm_put(Dst, 13577);
2067 if (vk) { 2067 if (vk) {
2068 dasm_put(Dst, 13577); 2068 dasm_put(Dst, 13583);
2069 } else { 2069 } else {
2070 dasm_put(Dst, 13593); 2070 dasm_put(Dst, 13599);
2071 } 2071 }
2072 dasm_put(Dst, 13601); 2072 dasm_put(Dst, 13607);
2073 if (cmov) { 2073 if (cmov) {
2074 dasm_put(Dst, 9528);
2075 } else {
2076 dasm_put(Dst, 9534); 2074 dasm_put(Dst, 9534);
2075 } else {
2076 dasm_put(Dst, 9540);
2077 } 2077 }
2078 if (!cmov) { 2078 if (!cmov) {
2079 dasm_put(Dst, 13606); 2079 dasm_put(Dst, 13612);
2080 } 2080 }
2081 } 2081 }
2082 if (op == BC_FORI) { 2082 if (op == BC_FORI) {
2083 dasm_put(Dst, 13612, -BCBIAS_J*4); 2083 dasm_put(Dst, 13618, -BCBIAS_J*4);
2084 } else if (op == BC_JFORI) { 2084 } else if (op == BC_JFORI) {
2085 dasm_put(Dst, 13622, -BCBIAS_J*4, BC_JLOOP); 2085 dasm_put(Dst, 13628, -BCBIAS_J*4, BC_JLOOP);
2086 } else if (op == BC_IFORL) { 2086 } else if (op == BC_IFORL) {
2087 dasm_put(Dst, 13636, -BCBIAS_J*4); 2087 dasm_put(Dst, 13642, -BCBIAS_J*4);
2088 } else { 2088 } else {
2089 dasm_put(Dst, 13632, BC_JLOOP); 2089 dasm_put(Dst, 13638, BC_JLOOP);
2090 } 2090 }
2091 dasm_put(Dst, 9563); 2091 dasm_put(Dst, 9569);
2092 if (sse) { 2092 if (sse) {
2093 dasm_put(Dst, 13646); 2093 dasm_put(Dst, 13652);
2094 } 2094 }
2095 break; 2095 break;
2096 2096
2097 case BC_ITERL: 2097 case BC_ITERL:
2098#if LJ_HASJIT 2098#if LJ_HASJIT
2099 dasm_put(Dst, 13465, HOTCOUNT_PCMASK, GG_DISP2HOT); 2099 dasm_put(Dst, 13471, HOTCOUNT_PCMASK, GG_DISP2HOT);
2100#endif 2100#endif
2101 break; 2101 break;
2102 2102
@@ -2105,33 +2105,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2105 break; 2105 break;
2106#endif 2106#endif
2107 case BC_IITERL: 2107 case BC_IITERL:
2108 dasm_put(Dst, 13657, LJ_TNIL); 2108 dasm_put(Dst, 13663, LJ_TNIL);
2109 if (op == BC_JITERL) { 2109 if (op == BC_JITERL) {
2110 dasm_put(Dst, 13672, BC_JLOOP); 2110 dasm_put(Dst, 13678, BC_JLOOP);
2111 } else { 2111 } else {
2112 dasm_put(Dst, 13686, -BCBIAS_J*4); 2112 dasm_put(Dst, 13692, -BCBIAS_J*4);
2113 } 2113 }
2114 dasm_put(Dst, 9867); 2114 dasm_put(Dst, 9873);
2115 break; 2115 break;
2116 2116
2117 case BC_LOOP: 2117 case BC_LOOP:
2118#if LJ_HASJIT 2118#if LJ_HASJIT
2119 dasm_put(Dst, 13465, HOTCOUNT_PCMASK, GG_DISP2HOT); 2119 dasm_put(Dst, 13471, HOTCOUNT_PCMASK, GG_DISP2HOT);
2120#endif 2120#endif
2121 break; 2121 break;
2122 2122
2123 case BC_ILOOP: 2123 case BC_ILOOP:
2124 dasm_put(Dst, 9565); 2124 dasm_put(Dst, 9571);
2125 break; 2125 break;
2126 2126
2127 case BC_JLOOP: 2127 case BC_JLOOP:
2128#if LJ_HASJIT 2128#if LJ_HASJIT
2129 dasm_put(Dst, 13702, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2129 dasm_put(Dst, 13708, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2130#endif 2130#endif
2131 break; 2131 break;
2132 2132
2133 case BC_JMP: 2133 case BC_JMP:
2134 dasm_put(Dst, 13743, -BCBIAS_J*4); 2134 dasm_put(Dst, 13749, -BCBIAS_J*4);
2135 break; 2135 break;
2136 2136
2137 /* -- Function headers -------------------------------------------------- */ 2137 /* -- Function headers -------------------------------------------------- */
@@ -2145,7 +2145,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2145 2145
2146 case BC_FUNCF: 2146 case BC_FUNCF:
2147#if LJ_HASJIT 2147#if LJ_HASJIT
2148 dasm_put(Dst, 13769, HOTCOUNT_PCMASK, GG_DISP2HOT); 2148 dasm_put(Dst, 13775, HOTCOUNT_PCMASK, GG_DISP2HOT);
2149#endif 2149#endif
2150 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2150 case BC_FUNCV: /* NYI: compiled vararg functions. */
2151 break; 2151 break;
@@ -2155,47 +2155,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2155 break; 2155 break;
2156#endif 2156#endif
2157 case BC_IFUNCF: 2157 case BC_IFUNCF:
2158 dasm_put(Dst, 13790, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2158 dasm_put(Dst, 13796, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2159 if (op == BC_JFUNCF) { 2159 if (op == BC_JFUNCF) {
2160 dasm_put(Dst, 13821, BC_JLOOP); 2160 dasm_put(Dst, 13827, BC_JLOOP);
2161 } else { 2161 } else {
2162 dasm_put(Dst, 9565); 2162 dasm_put(Dst, 9571);
2163 } 2163 }
2164 dasm_put(Dst, 13830, LJ_TNIL); 2164 dasm_put(Dst, 13836, LJ_TNIL);
2165 break; 2165 break;
2166 2166
2167 case BC_JFUNCV: 2167 case BC_JFUNCV:
2168#if !LJ_HASJIT 2168#if !LJ_HASJIT
2169 break; 2169 break;
2170#endif 2170#endif
2171 dasm_put(Dst, 9044); 2171 dasm_put(Dst, 9050);
2172 break; /* NYI: compiled vararg functions. */ 2172 break; /* NYI: compiled vararg functions. */
2173 2173
2174 case BC_IFUNCV: 2174 case BC_IFUNCV:
2175 dasm_put(Dst, 13852, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2175 dasm_put(Dst, 13858, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2176 if (op == BC_JFUNCV) { 2176 if (op == BC_JFUNCV) {
2177 dasm_put(Dst, 13821, BC_JLOOP); 2177 dasm_put(Dst, 13827, BC_JLOOP);
2178 } else { 2178 } else {
2179 dasm_put(Dst, 13949, -4+PC2PROTO(k)); 2179 dasm_put(Dst, 13955, -4+PC2PROTO(k));
2180 } 2180 }
2181 dasm_put(Dst, 13974, LJ_TNIL); 2181 dasm_put(Dst, 13980, LJ_TNIL);
2182 break; 2182 break;
2183 2183
2184 case BC_FUNCC: 2184 case BC_FUNCC:
2185 case BC_FUNCCW: 2185 case BC_FUNCCW:
2186 dasm_put(Dst, 13996, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2186 dasm_put(Dst, 14002, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2187 if (op == BC_FUNCC) { 2187 if (op == BC_FUNCC) {
2188 dasm_put(Dst, 14026); 2188 dasm_put(Dst, 14032);
2189 } else { 2189 } else {
2190 dasm_put(Dst, 14030); 2190 dasm_put(Dst, 14036);
2191 } 2191 }
2192 dasm_put(Dst, 14038, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2192 dasm_put(Dst, 14044, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2193 if (op == BC_FUNCC) { 2193 if (op == BC_FUNCC) {
2194 dasm_put(Dst, 14048); 2194 dasm_put(Dst, 14054);
2195 } else { 2195 } else {
2196 dasm_put(Dst, 14053, DISPATCH_GL(wrapf)); 2196 dasm_put(Dst, 14059, DISPATCH_GL(wrapf));
2197 } 2197 }
2198 dasm_put(Dst, 14059, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2198 dasm_put(Dst, 14065, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2199 break; 2199 break;
2200 2200
2201 /* ---------------------------------------------------------------------- */ 2201 /* ---------------------------------------------------------------------- */
@@ -2223,7 +2223,7 @@ static int build_backend(BuildCtx *ctx)
2223 2223
2224 build_subroutines(ctx, cmov, sse); 2224 build_subroutines(ctx, cmov, sse);
2225 2225
2226 dasm_put(Dst, 14085); 2226 dasm_put(Dst, 14091);
2227 for (op = 0; op < BC__MAX; op++) 2227 for (op = 0; op < BC__MAX; op++)
2228 build_ins(ctx, (BCOp)op, op, cmov, sse); 2228 build_ins(ctx, (BCOp)op, op, cmov, sse);
2229 2229