Pico8ArcadeMachine/hello_root_access.js

8104 lines
1.5 MiB

var _cartname=[`hello_root_access.html.p8`];
var _cdpos=0; var iii=0; var ciii=0;
var _cartdat=[
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,119,7,112,119,119,7,112,119,119,7,112,119,119,7,0,0,0,0,112,119,119,7,112,119,119,7,112,119,119,7,112,119,119,7,112,119,119,7,112,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,112,7,112,7,112,7,112,7,112,7,112,119,119,7,0,0,0,0,112,7,112,7,112,7,0,0,112,7,0,0,112,7,0,0,112,119,0,0,112,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,112,7,112,7,112,7,112,7,112,7,0,112,7,0,0,0,0,0,112,7,112,7,112,7,0,0,112,7,0,0,112,119,119,7,112,119,0,0,112,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,112,119,7,0,112,7,112,7,112,7,112,7,0,112,7,0,0,0,0,0,112,119,119,7,112,7,0,0,112,7,0,0,112,119,119,7,0,0,119,7,0,0,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,112,7,112,7,112,7,112,7,112,7,0,112,7,0,0,0,0,0,112,7,112,7,112,7,0,0,112,7,0,0,112,7,0,0,0,0,119,7,0,0,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,112,7,112,119,119,7,112,119,119,7,0,112,7,0,0,0,0,0,112,7,112,7,112,119,119,7,112,119,119,7,112,119,119,7,112,119,119,7,112,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,119,0,7,0,0,0,0,0,0,0,7,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,0,0,112,0,0,0,112,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,7,0,0,119,7,0,0,0,7,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,112,112,0,0,112,0,0,0,112,112,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,112,7,0,7,0,7,7,0,0,7,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,119,119,112,0,112,0,112,119,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,7,119,119,119,7,0,7,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,112,0,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,0,0,119,0,0,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,7,0,0,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,0,0,112,7,0,0,0,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,0,0,0,112,119,0,0,0,112,119,7,112,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,0,0,0,0,119,7,0,0,0,119,119,7,0,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,0,0,0,0,112,119,0,0,0,0,119,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,0,0,0,0,0,0,119,7,0,0,0,7,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,0,0,0,0,0,0,119,119,0,0,0,7,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,0,0,0,0,0,0,0,119,119,0,0,0,7,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,0,0,0,0,0,0,0,112,119,7,0,0,7,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,0,0,0,0,0,0,0,0,119,7,0,0,112,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,0,0,0,0,0,0,0,0,0,119,119,0,0,112,7,0,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,0,0,0,0,0,0,0,0,0,112,119,7,0,0,112,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,0,0,0,0,0,0,0,0,0,0,119,119,0,0,0,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,0,0,0,0,0,0,0,0,0,0,0,119,119,0,0,0,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,0,0,0,0,0,0,0,0,0,0,0,112,119,7,0,0,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,0,0,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,0,0,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,0,0,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,0,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,112,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,0,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,0,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,7,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,7,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,112,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,7,0,0,0,0,0,0,0,112,119,7,0,0,0,0,0,0,0,112,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,0,0,119,0,0,0,0,0,0,112,7,0,112,7,0,0,0,0,0,0,119,7,112,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,112,0,0,0,0,0,0,112,0,0,0,7,0,0,0,0,0,0,7,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,112,0,0,0,0,7,0,0,0,0,0,7,0,0,0,112,0,0,0,0,0,112,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,7,0,0,0,0,0,7,0,0,0,112,0,0,0,0,0,112,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,119,119,119,119,119,119,7,0,0,0,112,119,119,119,119,119,119,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,119,119,119,119,119,119,7,0,0,0,112,119,119,119,119,119,119,7,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,7,0,0,112,0,0,0,0,0,0,112,0,0,0,7,0,0,0,0,0,0,7,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,0,0,119,0,0,0,0,0,0,112,7,0,112,7,0,0,0,0,0,0,119,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,0,0,0,0,0,0,0,0,112,119,7,0,0,0,0,0,0,0,0,119,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,4,66,8,0,4,65,8,0,1,3,4,0,1,3,4,128,1,2,3,0,1,2,3,0,1,3,5,0,1,3,6,0,1,3,5,0,1,3,6,0,1,2,69,0,129,2,67,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,
0,47,0,45,204,8,204,56,24,15,0,23,24,85,0,83,192,14,204,80,192,94,216,94,204,0,204,94,31,63,204,94,197,46,197,44,81,9,17,55,204,94,100,91,228,35,204,62,10,15,214,42,29,94,226,94,22,35,138,18,34,84,238,82,1,16,0,0,216,62,36,81,24,55,57,49,188,91,57,49,88,57,107,57,24,63,57,49,24,55,57,49,188,91,176,81,57,49,57,49,24,63,57,49,24,53,57,49,188,91,57,49,24,59,33,55,24,63,57,49,24,63,57,49,188,91,57,49,57,49,57,49,1,16,0,0,228,91,231,123,233,91,231,91,228,91,231,91,233,27,231,91,228,91,231,91,235,91,231,91,228,91,231,123,233,91,231,123,224,91,228,123,231,91,228,123,224,91,228,43,231,91,228,43,226,91,230,123,233,91,230,123,226,43,230,43,233,91,230,27,1,16,0,0,64,94,12,90,192,90,12,90,64,94,12,90,192,90,12,90,64,94,24,92,12,92,24,92,64,94,12,92,192,92,12,92,69,94,17,92,197,92,17,92,76,94,24,94,192,92,12,92,74,88,22,94,
202,88,22,94,81,88,29,94,209,88,29,94,1,16,0,0,91,127,95,123,98,119,102,115,91,103,95,101,98,83,102,35,219,127,223,125,226,123,230,121,219,105,223,103,226,83,226,35,88,127,91,123,93,119,98,115,216,103,219,101,221,87,226,35,100,89,103,119,105,85,110,115,221,87,212,89,226,89,238,89,1,16,0,0,103,41,103,41,103,41,103,41,110,25,110,89,235,25,107,41,107,89,107,41,100,73,100,41,103,41,105,25,105,41,105,41,228,41,231,41,238,41,235,41,107,41,107,121,105,41,103,41,105,41,235,41,240,41,110,41,238,121,107,121,112,105,238,41,1,16,0,0,112,91,240,93,110,95,235,91,105,45,238,47,235,43,231,45,39,46,103,29,233,43,43,46,105,121,231,41,36,40,103,41,27,41,91,89,91,41,27,41,93,41,105,121,29,41,105,41,36,105,100,105,100,121,36,121,103,105,103,105,41,121,105,121,1,16,0,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,17,114,93,114,
17,114,157,116,83,20,159,116,19,118,159,118,15,24,91,120,143,120,219,122,22,26,98,122,150,124,226,124,1,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,238,95,0,0,110,94,46,94,0,0,110,94,238,95,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,
0,112,120,97,7,83,3,0,235,193,226,225,103,31,31,220,31,189,67,242,6,209,233,27,118,184,252,37,194,167,72,31,225,144,232,13,94,224,254,129,251,195,188,123,146,106,32,124,135,114,98,193,59,241,75,84,89,118,204,73,231,132,111,208,46,180,11,7,134,93,150,61,65,189,18,229,47,145,166,151,5,2,65,19,79,17,229,197,75,116,59,217,66,210,54,65,212,244,35,65,216,7,209,80,247,14,197,70,17,111,116,101,156,6,85,245,22,19,43,110,207,154,27,148,7,202,116,162,92,152,154,137,7,38,70,202,129,166,153,202,46,10,70,92,48,18,183,105,86,142,212,213,96,160,28,176,48,160,32,80,102,101,25,141,141,213,241,184,246,64,86,102,39,153,175,154,27,155,105,55,130,108,48,142,203,169,40,185,206,3,215,69,3,102,144,40,200,207,187,209,17,7,150,101,228,140,27,45,208,197,253,200,80,35,48,158,98,110,100,89,83,96,98,109,116,204,38,10,103,46,186,111,37,205,230,22,39,28,21,156,169,41,80,204,45,78,76,136,12,168,159,103,171,26,15,194,
114,163,79,179,193,197,168,239,235,137,40,145,12,190,115,183,220,8,138,157,137,33,63,74,8,172,73,136,95,211,18,2,242,6,2,226,247,145,2,226,43,52,200,191,57,13,2,1,133,141,74,131,252,109,52,200,25,104,144,255,255,25,68,194,231,255,23,42,195,246,242,42,129,67,52,226,225,100,69,181,69,103,39,181,184,192,156,38,250,167,35,60,20,200,66,13,228,107,91,93,50,179,82,244,150,106,167,146,102,184,91,218,154,121,138,168,95,72,6,123,37,10,237,150,180,213,8,137,116,23,118,38,207,44,202,173,106,42,156,91,10,138,66,69,124,43,67,123,65,81,251,194,49,27,115,109,93,232,132,67,110,36,27,218,202,187,61,173,151,164,80,126,25,243,66,51,165,59,227,143,46,204,82,133,144,35,149,24,54,155,174,209,94,144,37,9,38,39,38,4,132,149,32,34,241,26,203,172,139,17,172,134,77,215,132,6,137,22,103,6,38,250,254,204,221,97,1,1,251,204,219,99,183,142,75,101,131,181,185,37,251,14,219,35,176,207,236,214,94,151,173,153,163,115,139,156,
205,192,112,59,84,237,44,37,201,130,101,180,150,244,13,87,118,22,139,59,171,102,49,107,180,21,15,216,146,58,12,214,21,208,132,249,165,222,231,11,1,4,9,113,40,159,255,19,62,255,31,221,115,202,158,255,86,61,255,45,122,62,9,31,185,109,225,131,122,105,53,225,137,240,232,32,4,3,91,142,143,44,82,184,88,168,80,114,66,160,242,137,240,217,157,125,189,15,10,65,105,55,209,237,120,96,166,222,137,116,130,151,135,183,54,115,177,143,165,66,254,109,110,46,202,212,130,152,34,100,209,3,241,108,236,6,67,168,88,28,145,174,79,102,149,122,181,138,135,218,224,11,13,116,55,132,65,95,86,11,210,17,3,67,114,11,253,34,157,132,41,125,212,154,35,59,82,194,157,152,121,130,109,183,111,46,81,203,16,50,83,28,79,163,56,254,61,142,226,248,255,255,63,135,21,199,207,17,141,243,239,145,52,206,255,255,215,170,198,249,2,197,241,201,170,103,78,86,253,123,22,201,241,255,255,127,202,170,191,107,66,238,33,193,192,18,62,195,95,73,166,128,34,195,28,62,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
var Module = typeof Module !== "undefined" ? Module : {};
if (!Module.expectedDataFileDownloads) {
Module.expectedDataFileDownloads = 0;
Module.finishedDataFileDownloads = 0;
}
Module.expectedDataFileDownloads++;
(function() {
var loadPackage = function(metadata) {
function runWithFS() {
var fileData0 = [];
fileData0.push.apply(fileData0, [ 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 70, 73, 76, 0, 0, 0, 0, 123, 144, 0, 0, 112, 111, 100, 47, 112, 105, 99, 111, 56, 95, 98, 111, 111, 116, 46, 112, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 1, 0, 0, 242, 16, 112, 105, 99, 111, 45, 56, 32, 99, 97, 114, 116, 114, 105, 100, 103, 101, 32, 47, 47, 32, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 31, 0, 255, 13, 46, 99, 111, 109, 10, 118, 101, 114, 115, 105, 111, 110, 32, 56, 10, 95, 95, 108, 117, 97, 95, 95, 10, 10, 45, 45, 62, 56, 6, 0, 25, 159, 95, 95, 103, 102, 120, 95, 95, 10, 48, 1, 0, 108, 15, 129, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 45, 1, 137, 64, 31, 102, 137, 64, 112, 15, 139, 1, 109, 15, 1, 1, 239, 95, 95, 95, 109, 97, 112, 10, 2, 240, 15, 1, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 50, 95, 95, 115, 187, 98, 48, 49, 48, 99, 17, 0, 161, 51, 48, 53, 53, 53, 50, 98, 53, 54, 53, 10, 0, 64, 51, 53, 53, 52, 5, 0, 128, 49, 53, 51, 53, 55, 48, 53, 48, 3, 0, 15, 5, 0, 106, 0, 169, 0, 16, 56, 12, 0, 115, 50, 52, 48, 51, 53, 50, 52, 26, 0, 15, 91, 2, 130, 30, 49, 154, 0, 15, 169, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 113, 95, 95, 109, 117, 115, 105, 99, 114, 74, 50, 32, 52, 49, 2, 0, 15, 12, 0, 255, 255, 224, 80, 49, 52, 49, 10, 10, 99, 70, 73, 76, 0, 0, 0, 0, 91, 157, 12, 0, 112, 111, 100, 47, 103, 102, 120, 49, 46, 112, 111, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 72, 0, 0, 243, 22, 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 103, 102, 120, 49, 46, 112, 111, 100, 0, 47, 112, 97, 98, 97, 47, 112, 105, 99, 111, 56, 47, 112, 111, 100, 47, 25, 0, 63, 8, 1, 0, 1, 0, 10, 177, 67, 66, 77, 80, 20, 0, 1, 0, 128, 0, 0, 4, 0, 47, 32, 0, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 207, 79, 77, 0, 255, 255, 4, 0, 73, 47, 0, 0, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 91, 63, 163, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 75, 47, 170, 204, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 79, 39, 236, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 255, 12, 47, 168, 119, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 15, 1, 0, 77, 79, 54, 228, 0, 255, 4, 0, 73, 15, 160, 1, 77, 63, 156, 118, 131, 4, 0, 74, 15, 160, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 15, 1, 0, 77, 79, 255, 173, 41, 255, 4, 0, 73, 15, 99, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 92, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 36, 97, 67, 80, 65, 76, 0, 3, 11, 0, 241, 36, 29, 43, 83, 126, 37, 83, 0, 135, 81, 171, 82, 54, 95, 87, 79, 194, 195, 199, 255, 241, 232, 255, 0, 77, 255, 163, 0, 255, 236, 39, 0, 228, 54, 41, 173, 255, 131, 118, 156, 255, 119, 168, 255, 204, 170, 2, 4, 8, 2, 4, 6, 6, 0, 15, 3, 0, 128, 17, 9, 3, 0, 15, 48, 0, 29, 9, 54, 0, 63, 3, 5, 10, 48, 0, 10, 12, 60, 0, 14, 48, 0, 15, 150, 0, 11, 56, 3, 5, 10, 3, 0, 254, 33, 41, 24, 20, 17, 29, 53, 66, 33, 54, 18, 83, 89, 116, 47, 41, 73, 51, 59, 162, 136, 121, 243, 239, 125, 190, 18, 80, 255, 108, 36, 168, 231, 46, 0, 181, 67, 6, 90, 181, 117, 70, 101, 255, 110, 89, 255, 157, 129, 122, 1, 15, 3, 0, 255, 44, 255, 2, 67, 66, 77, 80, 164, 1, 0, 0, 40, 0, 0, 0, 10, 0, 0, 0, 8, 68, 3, 24, 15, 44, 0, 20, 63, 9, 7, 15, 39, 0, 17, 95, 10, 7, 7, 7, 14, 41, 0, 17, 51, 11, 7, 13, 10, 0, 66, 7, 7, 7, 7, 5, 0, 20, 0, 5, 0, 22, 7, 25, 0, 37, 0, 12, 39, 0, 0, 3, 0, 5, 4, 0, 4, 16, 0, 0, 10, 0, 1, 3, 0, 23, 0, 79, 0, 14, 40, 0, 3, 99, 0, 9, 40, 0, 5, 7, 0, 10, 80, 0, 1, 18, 0, 12, 40, 0, 6, 165, 0, 9, 159, 0, 31, 7, 180, 4, 54, 57, 79, 72, 67, 180, 4, 88, 231, 39, 0, 231, 86, 180, 4, 15, 106, 0, 31, 240, 4, 0, 28, 0, 73, 109, 24, 69, 0, 122, 44, 160, 72, 50, 52, 54, 53, 173, 177, 183, 100, 14, 240, 8, 0, 77, 255, 132, 0, 255, 255, 39, 0, 226, 50, 41, 173, 255, 174, 75, 176, 255, 136, 188, 255, 214, 197, 48, 0, 32, 48, 102, 144, 0, 177, 131, 72, 171, 82, 54, 63, 65, 65, 180, 182, 188, 48, 0, 49, 42, 255, 163, 79, 0, 96, 231, 86, 41, 162, 255, 132, 48, 0, 245, 7, 175, 255, 217, 177, 0, 0, 0, 32, 51, 123, 140, 28, 60, 0, 131, 49, 171, 100, 54, 80, 80, 80, 120, 0, 35, 255, 155, 9, 0, 97, 63, 155, 255, 132, 112, 169, 192, 0, 0, 75, 0, 255, 0, 28, 24, 87, 135, 37, 77, 0, 147, 60, 0, 0, 0, 69, 69, 69, 180, 0, 2, 98, 146, 133, 174, 255, 105, 154, 48, 0, 48, 55, 67, 91, 19, 0, 143, 135, 81, 0, 0, 0, 86, 70, 59, 48, 0, 2, 53, 131, 118, 156, 12, 0, 53, 37, 55, 77, 12, 0, 63, 101, 91, 82, 32, 1, 14, 53, 43, 55, 66, 12, 0, 63, 79, 72, 67, 48, 0, 15, 37, 62, 83, 12, 0, 63, 95, 87, 79, 48, 0, 14, 79, 29, 43, 83, 0, 1, 0, 255, 4, 48, 255, 0, 255, 180, 4, 158, 20, 48, 0, 0, 128, 0, 0, 0, 96, 180, 4, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 26, 0, 28, 48, 83, 36, 0, 0, 0, 4, 4, 0, 9, 28, 48, 241, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 72, 48, 33, 0, 1, 72, 48, 0, 76, 48, 47, 32, 0, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 207, 79, 77, 0, 255, 255, 4, 0, 73, 47, 0, 0, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 91, 63, 163, 255, 255, 4, 0, 72, 15, 32, 170, 78, 47, 170, 204, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 79, 39, 236, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 255, 12, 47, 168, 119, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 15, 1, 0, 77, 79, 54, 228, 0, 255, 4, 0, 73, 15, 160, 1, 77, 63, 156, 118, 131, 4, 0, 74, 15, 160, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 15, 1, 0, 77, 79, 255, 173, 41, 255, 4, 0, 73, 15, 99, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 92, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 36, 151, 67, 66, 77, 80, 84, 0, 0, 0, 8, 4, 0, 4, 1, 0, 20, 8, 1, 0, 36, 2, 2, 8, 0, 36, 2, 2, 8, 0, 42, 2, 2, 8, 0, 8, 40, 0, 3, 1, 0, 15, 92, 0, 18, 36, 15, 15, 8, 0, 36, 15, 15, 8, 0, 42, 15, 15, 8, 0, 8, 40, 0, 15, 92, 0, 25, 6, 147, 0, 3, 186, 0, 4, 176, 0, 19, 8, 15, 0, 36, 8, 8, 208, 0, 15, 92, 0, 33, 40, 15, 15, 186, 0, 4, 176, 0, 19, 8, 15, 0, 36, 8, 8, 208, 0, 15, 92, 0, 32, 47, 2, 2, 191, 0, 1, 6, 16, 0, 4, 185, 0, 3, 8, 0, 15, 92, 0, 26, 47, 15, 15, 191, 0, 1, 6, 16, 0, 4, 185, 0, 3, 8, 0, 6, 92, 0, 95, 100, 0, 0, 0, 10, 20, 1, 12, 6, 194, 0, 3, 2, 0, 15, 10, 0, 23, 15, 108, 0, 39, 19, 15, 2, 0, 15, 10, 0, 22, 15, 216, 0, 50, 15, 20, 0, 8, 15, 216, 0, 62, 15, 20, 0, 30, 0, 108, 0, 95, 68, 1, 0, 0, 38, 108, 0, 1, 15, 1, 0, 33, 2, 236, 3, 45, 2, 2, 164, 0, 37, 15, 15, 4, 0, 85, 8, 2, 2, 15, 15, 39, 0, 18, 2, 103, 3, 1, 5, 1, 5, 162, 0, 0, 165, 0, 16, 2, 115, 2, 5, 139, 3, 21, 8, 7, 2, 6, 72, 0, 13, 38, 0, 1, 76, 0, 3, 43, 0, 4, 202, 1, 2, 76, 0, 8, 114, 0, 7, 83, 2, 10, 38, 0, 8, 190, 0, 6, 118, 0, 31, 2, 251, 0, 8, 15, 76, 1, 98, 2, 231, 0, 39, 2, 8, 93, 5, 0, 222, 0, 2, 156, 3, 35, 15, 15, 67, 1, 5, 90, 2, 5, 210, 4, 1, 42, 1, 4, 243, 0, 3, 29, 1, 6, 72, 0, 12, 38, 0, 1, 76, 0, 3, 43, 0, 5, 123, 1, 43, 2, 8, 114, 0, 7, 51, 3, 10, 38, 0, 8, 190, 0, 39, 15, 15, 114, 0, 15, 76, 1, 22, 95, 36, 0, 0, 0, 2, 76, 1, 0, 244, 1, 0, 8, 1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15, 44, 0, 23, 8, 48, 0, 5, 44, 0, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 88, 0, 10, 255, 0, 10, 4, 9, 2, 8, 3, 11, 1, 12, 13, 14, 5, 15, 6, 7, 40, 5, 9, 34, 6, 7, 1, 0, 33, 13, 6, 1, 0, 0, 8, 0, 33, 5, 5, 8, 0, 129, 5, 5, 5, 5, 6, 7, 13, 5, 1, 0, 8, 32, 0, 2, 8, 0, 2, 1, 0, 31, 6, 92, 0, 10, 3, 37, 0, 18, 7, 52, 0, 8, 8, 0, 33, 5, 5, 8, 0, 1, 100, 0, 34, 13, 7, 100, 0, 6, 32, 0, 2, 1, 0, 31, 6, 184, 0, 26, 5, 168, 0, 3, 184, 0, 5, 200, 0, 15, 184, 0, 56, 5, 168, 0, 3, 184, 0, 5, 200, 0, 15, 184, 0, 23, 31, 5, 1, 0, 44, 0, 92, 0, 19, 44, 84, 0, 31, 3, 20, 1, 4, 19, 1, 236, 0, 18, 1, 1, 0, 1, 144, 0, 32, 20, 32, 68, 2, 60, 0, 0, 32, 44, 2, 255, 1, 0, 5, 1, 2, 1, 13, 6, 2, 4, 9, 3, 13, 5, 13, 6, 0, 1, 0, 221, 11, 88, 3, 15, 255, 0, 221, 16, 5, 0, 2, 30, 13, 0, 2, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 4, 72, 34, 19, 4, 4, 0, 9, 28, 32, 255, 0, 5, 6, 7, 2, 4, 9, 10, 1, 13, 14, 15, 3, 11, 12, 8, 44, 0, 18, 67, 3, 11, 8, 2, 160, 34, 19, 35, 164, 32, 28, 5, 168, 32, 81, 0, 0, 6, 6, 0, 164, 32, 34, 0, 6, 131, 0, 19, 45, 39, 0, 12, 43, 0, 11, 174, 0, 17, 2, 2, 0, 31, 0, 200, 41, 12, 7, 106, 0, 0, 99, 0, 1, 113, 0, 2, 118, 0, 11, 8, 0, 4, 32, 0, 14, 20, 1, 15, 92, 0, 33, 47, 8, 8, 92, 0, 20, 83, 164, 0, 0, 0, 12, 4, 0, 8, 92, 0, 31, 11, 1, 0, 124, 0, 172, 0, 19, 76, 164, 0, 27, 7, 172, 0, 3, 35, 35, 31, 5, 8, 0, 29, 15, 84, 0, 9, 2, 183, 34, 47, 6, 5, 8, 0, 29, 15, 168, 0, 12, 31, 5, 4, 0, 1, 4, 1, 0, 15, 32, 0, 1, 15, 168, 0, 16, 31, 5, 4, 0, 1, 4, 1, 0, 15, 32, 0, 1, 15, 168, 0, 14, 18, 5, 2, 0, 5, 152, 0, 15, 16, 0, 20, 15, 168, 0, 10, 18, 5, 2, 0, 5, 152, 0, 15, 16, 0, 20, 15, 80, 1, 11, 1, 53, 1, 3, 138, 0, 31, 13, 168, 36, 6, 4, 32, 0, 4, 48, 0, 15, 80, 1, 11, 1, 53, 1, 3, 138, 0, 31, 6, 84, 0, 6, 4, 32, 0, 4, 48, 0, 15, 144, 4, 10, 65, 13, 13, 0, 13, 6, 0, 32, 0, 13, 6, 0, 15, 44, 0, 10, 0, 136, 4, 96, 11, 7, 6, 6, 11, 11, 151, 4, 30, 0, 172, 0, 15, 74, 5, 17, 95, 10, 10, 10, 10, 0, 104, 5, 5, 15, 84, 0, 70, 98, 20, 64, 0, 0, 128, 0, 4, 0, 8, 84, 0, 79, 1, 0, 0, 1, 4, 0, 102, 15, 127, 0, 111, 31, 1, 127, 0, 236, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 196, 68, 19, 51, 0, 0, 14, 7, 0, 19, 14, 7, 0, 10, 16, 0, 5, 32, 0, 15, 32, 69, 32, 5, 24, 0, 36, 8, 8, 58, 106, 9, 16, 0, 5, 32, 0, 15, 92, 0, 33, 42, 14, 0, 168, 0, 4, 185, 0, 5, 16, 0, 31, 0, 92, 0, 39, 42, 8, 0, 168, 0, 4, 185, 0, 5, 16, 0, 15, 92, 0, 40, 4, 1, 0, 34, 7, 7, 7, 0, 2, 13, 66, 18, 7, 12, 0, 2, 20, 0, 47, 0, 7, 92, 0, 44, 4, 66, 0, 17, 7, 82, 0, 47, 7, 7, 92, 0, 59, 3, 187, 0, 8, 93, 0, 47, 7, 7, 92, 0, 49, 1, 187, 104, 1, 172, 0, 8, 4, 0, 3, 20, 0, 15, 184, 0, 46, 6, 165, 0, 6, 8, 0, 2, 114, 0, 15, 92, 0, 45, 40, 7, 0, 89, 0, 4, 110, 1, 3, 182, 0, 15, 92, 0, 48, 22, 7, 2, 0, 3, 1, 0, 7, 19, 0, 9, 120, 1, 15, 132, 2, 36, 6, 99, 1, 5, 14, 1, 14, 112, 1, 15, 56, 112, 32, 8, 10, 0, 5, 199, 113, 15, 16, 113, 68, 8, 10, 0, 5, 215, 113, 15, 16, 113, 67, 36, 2, 8, 157, 111, 15, 20, 0, 18, 15, 216, 0, 42, 36, 15, 8, 189, 110, 15, 20, 0, 18, 15, 48, 116, 34, 25, 2, 175, 1, 5, 128, 115, 11, 0, 117, 15, 48, 116, 35, 25, 15, 159, 1, 5, 128, 115, 11, 0, 117, 15, 48, 116, 29, 4, 144, 111, 7, 2, 0, 22, 2, 69, 2, 7, 16, 0, 11, 117, 112, 15, 48, 116, 17, 2, 135, 117, 39, 15, 8, 2, 0, 22, 15, 53, 2, 7, 16, 0, 3, 255, 116, 15, 20, 1, 26, 3, 17, 2, 6, 46, 114, 15, 8, 0, 3, 12, 57, 2, 15, 88, 118, 21, 2, 63, 118, 6, 12, 0, 15, 8, 0, 1, 12, 41, 2, 15, 16, 119, 22, 9, 0, 119, 1, 162, 0, 6, 16, 0, 6, 41, 2, 47, 8, 8, 184, 0, 32, 25, 8, 0, 119, 1, 162, 0, 6, 16, 0, 6, 41, 2, 47, 8, 8, 184, 0, 31, 4, 113, 1, 6, 8, 0, 8, 248, 2, 42, 2, 2, 8, 0, 15, 184, 0, 27, 4, 113, 1, 6, 8, 0, 8, 248, 2, 42, 15, 15, 8, 0, 15, 60, 3, 28, 21, 8, 98, 120, 5, 49, 2, 6, 8, 0, 4, 24, 0, 7, 50, 119, 15, 92, 0, 26, 5, 98, 120, 5, 49, 2, 6, 8, 0, 4, 24, 0, 7, 50, 119, 15, 128, 120, 32, 11, 88, 4, 15, 80, 4, 53, 14, 88, 4, 15, 80, 4, 17, 14, 112, 79, 15, 14, 7, 2, 19, 6, 68, 113, 7, 82, 7, 19, 7, 208, 79, 4, 212, 79, 15, 1, 0, 28, 8, 60, 0, 8, 84, 0, 8, 108, 0, 12, 28, 80, 82, 1, 0, 0, 20, 0, 4, 0, 15, 232, 9, 15, 41, 7, 6, 111, 0, 9, 188, 0, 14, 196, 0, 14, 153, 0, 15, 1, 0, 216, 14, 4, 1, 15, 44, 1, 3, 14, 84, 1, 15, 56, 83, 7, 48, 5, 0, 0, 84, 78, 31, 36, 208, 77, 1, 15, 188, 1, 17, 23, 6, 4, 0, 41, 7, 7, 15, 0, 15, 204, 1, 3, 15, 220, 1, 1, 15, 249, 0, 20, 15, 39, 0, 46, 31, 6, 144, 0, 255, 255, 255, 154, 15, 108, 0, 53, 15, 164, 4, 15, 15, 100, 88, 22, 98, 56, 19, 0, 0, 70, 0, 4, 0, 47, 8, 0, 1, 0, 62, 1, 120, 121, 1, 88, 88, 15, 8, 0, 3, 2, 229, 14, 47, 6, 6, 38, 0, 7, 14, 112, 5, 15, 137, 0, 35, 15, 70, 0, 123, 31, 6, 57, 7, 48, 15, 70, 0, 34, 15, 114, 8, 140, 15, 24, 1, 119, 15, 48, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 53, 15, 164, 1, 255, 6, 15, 70, 0, 49, 15, 82, 18, 53, 31, 0, 180, 148, 88, 6, 97, 144, 9, 156, 29, 9, 160, 145, 8, 9, 0, 15, 236, 28, 26, 40, 15, 15, 40, 147, 11, 253, 30, 5, 33, 31, 5, 9, 0, 14, 164, 29, 15, 184, 0, 22, 14, 8, 0, 14, 208, 0, 15, 184, 0, 37, 14, 8, 0, 14, 208, 0, 15, 184, 0, 31, 10, 8, 0, 14, 44, 150, 15, 184, 0, 41, 10, 8, 0, 14, 44, 150, 12, 184, 0, 16, 141, 72, 108, 3, 4, 0, 15, 104, 21, 42, 22, 1, 10, 0, 38, 7, 1, 11, 0, 38, 7, 1, 11, 0, 38, 7, 1, 11, 0, 37, 7, 1, 33, 0, 5, 34, 0, 35, 1, 7, 137, 40, 23, 69, 211, 37, 31, 8, 103, 0, 1, 2, 99, 0, 2, 4, 0, 17, 1, 42, 0, 19, 1, 14, 0, 6, 127, 0, 0, 6, 0, 15, 226, 0, 24, 38, 1, 0, 170, 0, 20, 1, 149, 0, 1, 11, 0, 42, 7, 1, 11, 0, 51, 1, 1, 7, 193, 0, 37, 1, 7, 11, 0, 2, 213, 0, 2, 11, 0, 2, 34, 0, 29, 1, 248, 0, 63, 0, 1, 1, 149, 0, 13, 15, 160, 0, 41, 14, 138, 0, 15, 149, 0, 28, 83, 245, 0, 0, 0, 15, 4, 0, 15, 116, 23, 60, 6, 30, 2, 11, 34, 2, 3, 15, 0, 6, 222, 0, 9, 213, 0, 9, 110, 1, 42, 0, 0, 114, 1, 27, 0, 225, 0, 12, 229, 0, 12, 233, 0, 6, 237, 0, 12, 158, 0, 14, 253, 0, 15, 81, 144, 89, 31, 0, 253, 0, 111, 14, 106, 108, 12, 126, 146, 1, 141, 111, 3, 167, 109, 30, 13, 8, 0, 4, 32, 0, 7, 118, 146, 15, 84, 0, 15, 34, 6, 6, 154, 109, 82, 8, 8, 8, 7, 6, 8, 0, 23, 8, 8, 0, 4, 32, 0, 15, 84, 0, 34, 82, 9, 9, 9, 7, 6, 8, 0, 23, 9, 8, 0, 15, 84, 0, 42, 82, 10, 10, 10, 7, 6, 8, 0, 23, 10, 8, 0, 15, 84, 0, 42, 82, 11, 11, 11, 7, 6, 8, 0, 23, 11, 8, 0, 15, 84, 0, 42, 82, 12, 12, 12, 7, 6, 8, 0, 23, 12, 8, 0, 15, 84, 0, 42, 82, 14, 14, 14, 7, 6, 8, 0, 23, 14, 8, 0, 14, 84, 0, 15, 248, 1, 66, 19, 55, 235, 115, 15, 84, 0, 3, 1, 29, 0, 51, 1, 1, 13, 226, 2, 0, 5, 0, 1, 20, 0, 15, 63, 0, 25, 10, 7, 10, 10, 63, 0, 15, 210, 0, 5, 23, 0, 217, 4, 34, 1, 1, 97, 3, 23, 1, 206, 48, 1, 8, 0, 15, 114, 3, 0, 15, 84, 0, 97, 6, 91, 0, 39, 1, 0, 115, 49, 2, 92, 0, 1, 16, 0, 14, 168, 5, 15, 84, 0, 103, 3, 67, 0, 15, 8, 0, 6, 47, 0, 0, 84, 0, 81, 15, 232, 46, 27, 9, 1, 0, 14, 17, 45, 15, 92, 0, 37, 42, 7, 7, 145, 46, 8, 11, 0, 14, 102, 0, 15, 48, 46, 31, 42, 7, 0, 200, 45, 4, 84, 47, 31, 7, 180, 48, 53, 5, 107, 0, 3, 3, 48, 3, 8, 0, 31, 0, 180, 48, 50, 7, 149, 46, 7, 156, 46, 15, 160, 47, 49, 13, 121, 1, 15, 92, 0, 49, 5, 11, 1, 9, 2, 0, 14, 127, 14, 15, 132, 2, 40, 42, 7, 7, 4, 0, 14, 92, 0, 15, 128, 50, 47, 6, 32, 2, 14, 232, 2, 15, 40, 2, 40, 11, 8, 0, 15, 112, 1, 48, 27, 7, 43, 3, 7, 212, 1, 15, 92, 0, 56, 31, 0, 132, 2, 64, 11, 126, 50, 6, 200, 0, 31, 0, 184, 0, 53, 8, 80, 4, 15, 60, 3, 63, 25, 7, 40, 2, 15, 112, 1, 66, 14, 8, 0, 11, 92, 0, 83, 101, 0, 0, 0, 9, 4, 0, 15, 60, 3, 13, 20, 6, 159, 123, 0, 205, 157, 2, 146, 17, 45, 13, 6, 9, 0, 4, 27, 0, 3, 46, 0, 3, 213, 122, 15, 109, 0, 21, 5, 178, 52, 0, 86, 158, 2, 160, 3, 45, 13, 7, 9, 0, 4, 27, 0, 3, 46, 0, 5, 9, 0, 4, 118, 0, 15, 218, 0, 41, 19, 6, 191, 0, 13, 9, 0, 15, 218, 0, 56, 4, 182, 0, 13, 9, 0, 15, 218, 0, 74, 5, 191, 0, 5, 180, 1, 15, 218, 0, 61, 0, 2, 11, 3, 182, 0, 3, 9, 0, 20, 14, 200, 0, 7, 27, 0, 10, 218, 0, 18, 14, 1, 0, 15, 218, 0, 50, 14, 227, 0, 15, 218, 0, 63, 14, 227, 0, 15, 218, 0, 17, 98, 20, 1, 0, 0, 16, 0, 4, 0, 14, 59, 15, 15, 44, 129, 235, 15, 28, 1, 5, 28, 7, 1, 0, 11, 31, 5, 15, 16, 0, 205, 15, 56, 2, 13, 15, 43, 1, 233, 15, 46, 4, 29, 21, 1, 203, 12, 53, 13, 7, 13, 13, 20, 11, 18, 0, 15, 231, 12, 3, 15, 41, 7, 1, 15, 18, 3, 76, 15, 109, 0, 19, 46, 7, 0, 126, 11, 25, 7, 246, 59, 11, 99, 8, 14, 47, 10, 15, 109, 0, 21, 7, 36, 10, 15, 9, 0, 4, 6, 255, 4, 8, 238, 25, 9, 138, 2, 15, 109, 0, 19, 14, 242, 11, 14, 11, 61, 14, 18, 0, 13, 54, 0, 15, 218, 0, 22, 8, 109, 60, 26, 7, 9, 0, 4, 209, 0, 9, 89, 1, 14, 74, 1, 15, 180, 1, 96, 162, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 127, 166, 4, 28, 0, 53, 105, 102, 102, 4, 0, 79, 8, 4, 2, 255, 4, 0, 255, 255, 83, 8, 116, 2, 8, 124, 2, 63, 103, 102, 102, 4, 0, 255, 255, 84, 12, 132, 2, 14, 124, 2, 15, 132, 2, 255, 255, 85, 15, 124, 2, 255, 255, 103, 8, 132, 2, 15, 128, 2, 255, 255, 255, 255, 255, 174, 63, 77, 0, 255, 128, 2, 255, 255, 104, 34, 0, 155, 155, 250, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 31, 253, 63, 168, 119, 255, 0, 5, 255, 255, 96, 34, 50, 226, 247, 255, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 42, 232, 241, 140, 4, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 0, 27, 210, 15, 124, 1, 165, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 65, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 15, 80, 57, 255, 246, 15, 128, 2, 105, 63, 139, 138, 136, 4, 0, 255, 235, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 51, 31, 103, 124, 82, 255, 255, 46, 78, 105, 102, 102, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 101, 14, 128, 2, 15, 124, 2, 255, 255, 77, 15, 128, 2, 4, 15, 124, 2, 255, 255, 104, 14, 132, 2, 15, 124, 2, 255, 255, 97, 14, 132, 2, 15, 124, 2, 255, 255, 97, 8, 132, 2, 15, 4, 0, 255, 255, 55, 15, 116, 2, 21, 255, 3, 67, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 0, 1, 0, 3, 14, 156, 2, 15, 4, 0, 255, 255, 69, 15, 124, 2, 0, 15, 36, 20, 255, 255, 96, 15, 124, 2, 255, 255, 103, 12, 132, 2, 14, 124, 2, 15, 156, 122, 255, 255, 255, 255, 255, 255, 255, 255, 31, 63, 77, 0, 255, 128, 2, 255, 255, 104, 191, 0, 155, 255, 255, 232, 241, 255, 255, 188, 204, 255, 128, 2, 255, 255, 96, 34, 39, 231, 124, 2, 4, 4, 0, 63, 168, 119, 255, 0, 5, 255, 255, 96, 49, 50, 226, 0, 124, 2, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 42, 232, 241, 140, 4, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 172, 1, 214, 53, 167, 171, 178, 4, 0, 15, 16, 0, 1, 8, 20, 0, 14, 16, 0, 15, 80, 0, 15, 14, 36, 0, 15, 80, 0, 6, 14, 64, 0, 15, 128, 2, 100, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 15, 44, 4, 225, 8, 248, 1, 8, 16, 2, 14, 12, 0, 15, 48, 0, 6, 15, 32, 0, 34, 14, 48, 0, 15, 128, 2, 127, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 234, 15, 144, 4, 0, 15, 48, 2, 38, 14, 64, 2, 15, 128, 2, 31, 14, 192, 2, 15, 0, 5, 103, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 235, 14, 20, 0, 15, 0, 5, 42, 15, 128, 2, 194, 15, 20, 10, 16, 15, 252, 9, 17, 15, 0, 5, 254, 12, 16, 0, 15, 160, 9, 16, 15, 80, 5, 38, 15, 80, 0, 8, 15, 128, 2, 65, 15, 156, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 54, 31, 8, 28, 190, 255, 255, 110, 0, 60, 0, 0, 132, 44, 15, 4, 0, 255, 234, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 201, 8, 108, 35, 15, 16, 0, 25, 15, 64, 0, 15, 15, 128, 2, 255, 255, 25, 57, 83, 37, 126, 64, 2, 8, 16, 0, 0, 12, 0, 12, 16, 0, 46, 232, 241, 64, 0, 0, 4, 0, 14, 16, 0, 15, 128, 2, 255, 255, 21, 15, 8, 0, 13, 14, 244, 4, 15, 0, 5, 255, 255, 61, 15, 8, 0, 13, 12, 208, 4, 8, 128, 2, 14, 32, 5, 10, 48, 5, 15, 0, 10, 255, 255, 71, 47, 232, 241, 0, 5, 255, 255, 53, 4, 176, 4, 4, 224, 4, 15, 16, 0, 56, 15, 128, 2, 255, 255, 20, 15, 4, 0, 72, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 63, 188, 182, 180, 4, 0, 2, 15, 0, 5, 255, 255, 91, 49, 53, 54, 52, 8, 0, 49, 54, 82, 171, 4, 0, 14, 0, 5, 15, 128, 2, 255, 255, 77, 0, 20, 81, 4, 124, 2, 15, 128, 2, 255, 34, 15, 68, 6, 4, 15, 116, 2, 255, 15, 12, 12, 0, 34, 177, 217, 252, 22, 15, 0, 5, 255, 34, 15, 68, 6, 0, 15, 128, 2, 255, 19, 0, 56, 1, 0, 12, 0, 0, 8, 0, 4, 116, 25, 0, 12, 0, 4, 80, 1, 8, 96, 1, 12, 20, 0, 15, 128, 2, 249, 14, 68, 6, 15, 120, 12, 255, 16, 0, 80, 2, 15, 60, 6, 5, 4, 112, 2, 12, 4, 0, 15, 128, 2, 249, 15, 68, 6, 8, 15, 0, 5, 255, 19, 14, 100, 2, 14, 4, 0, 15, 128, 2, 255, 18, 15, 68, 6, 28, 15, 128, 7, 254, 15, 108, 2, 24, 15, 128, 2, 250, 15, 68, 6, 36, 15, 148, 7, 255, 11, 31, 77, 128, 22, 255, 25, 15, 68, 6, 12, 15, 128, 2, 255, 27, 14, 28, 1, 15, 128, 2, 195, 0, 252, 101, 15, 4, 0, 53, 0, 128, 2, 47, 168, 119, 68, 6, 11, 14, 112, 0, 15, 4, 0, 255, 4, 15, 48, 1, 83, 15, 128, 22, 207, 14, 248, 19, 15, 0, 30, 255, 255, 89, 14, 224, 9, 15, 128, 2, 255, 255, 1, 15, 68, 6, 84, 15, 4, 0, 255, 135, 15, 0, 30, 255, 166, 12, 84, 98, 15, 0, 5, 255, 130, 15, 4, 0, 193, 47, 232, 241, 4, 0, 9, 15, 0, 5, 157, 15, 128, 2, 255, 156, 14, 124, 2, 15, 132, 2, 1, 15, 128, 2, 255, 255, 69, 14, 124, 2, 15, 132, 2, 9, 15, 128, 2, 255, 255, 49, 12, 72, 2, 15, 128, 2, 33, 14, 148, 2, 15, 128, 2, 255, 255, 17, 47, 232, 241, 4, 0, 77, 15, 128, 2, 255, 244, 15, 12, 2, 1, 47, 232, 241, 128, 2, 255, 255, 81, 15, 48, 7, 11, 15, 132, 2, 85, 15, 128, 2, 255, 255, 1, 15, 4, 0, 53, 47, 177, 217, 128, 2, 255, 255, 9, 15, 92, 2, 49, 47, 177, 217, 36, 0, 19, 47, 177, 217, 128, 2, 255, 255, 1, 14, 24, 2, 15, 56, 2, 19, 47, 177, 217, 4, 0, 43, 14, 192, 2, 15, 128, 2, 255, 228, 8, 132, 2, 15, 4, 0, 105, 15, 204, 5, 63, 15, 128, 2, 255, 176, 15, 32, 0, 45, 8, 40, 0, 15, 128, 2, 11, 15, 0, 28, 73, 15, 128, 17, 255, 152, 12, 12, 2, 12, 172, 35, 12, 32, 0, 15, 200, 2, 11, 15, 36, 0, 21, 15, 0, 28, 81, 15, 128, 22, 255, 160, 0, 120, 2, 4, 20, 148, 14, 48, 38, 15, 0, 28, 161, 15, 128, 2, 255, 160, 0, 16, 153, 46, 39, 231, 128, 2, 15, 0, 28, 183, 15, 128, 27, 255, 140, 14, 44, 43, 15, 0, 28, 197, 15, 128, 2, 255, 76, 14, 116, 45, 15, 0, 28, 153, 15, 128, 2, 255, 172, 15, 200, 9, 169, 31, 168, 0, 28, 90, 15, 128, 2, 118, 15, 200, 9, 255, 79, 31, 168, 0, 28, 94, 15, 128, 2, 195, 15, 72, 26, 141, 30, 168, 128, 7, 15, 0, 28, 255, 19, 15, 0, 5, 153, 4, 204, 74, 23, 168, 108, 62, 15, 4, 0, 44, 15, 0, 28, 255, 111, 15, 128, 2, 141, 38, 77, 0, 124, 2, 0, 88, 4, 0, 192, 0, 4, 228, 69, 15, 128, 2, 48, 15, 0, 28, 255, 111, 15, 128, 2, 121, 15, 164, 5, 5, 4, 172, 55, 8, 192, 0, 8, 128, 2, 15, 12, 5, 40, 15, 0, 28, 255, 111, 15, 128, 2, 113, 8, 116, 2, 8, 236, 113, 47, 232, 241, 44, 114, 3, 0, 12, 0, 0, 128, 2, 0, 8, 0, 31, 168, 140, 7, 255, 45, 14, 32, 0, 15, 0, 28, 69, 15, 128, 22, 131, 47, 232, 241, 128, 2, 3, 12, 4, 0, 15, 200, 10, 5, 4, 140, 2, 15, 12, 12, 9, 0, 160, 2, 4, 4, 0, 4, 140, 77, 15, 188, 12, 4, 15, 72, 0, 36, 15, 0, 65, 255, 168, 15, 128, 2, 0, 15, 4, 0, 30, 14, 0, 5, 15, 4, 0, 255, 132, 15, 148, 81, 1, 15, 128, 2, 125, 14, 228, 4, 15, 148, 2, 6, 14, 128, 7, 15, 4, 0, 255, 145, 4, 156, 18, 4, 204, 16, 15, 128, 2, 145, 8, 4, 0, 4, 244, 6, 15, 8, 20, 123, 15, 204, 7, 255, 24, 12, 24, 94, 15, 128, 2, 157, 4, 192, 1, 14, 128, 2, 15, 244, 4, 255, 136, 8, 160, 6, 4, 12, 0, 4, 24, 94, 15, 128, 2, 181, 14, 40, 21, 15, 4, 0, 255, 120, 0, 116, 2, 46, 177, 217, 24, 94, 15, 128, 2, 112, 15, 84, 56, 41, 15, 4, 5, 255, 151, 14, 24, 94, 15, 128, 12, 119, 15, 84, 28, 27, 15, 128, 2, 255, 164, 15, 24, 94, 9, 15, 128, 2, 117, 15, 84, 28, 43, 15, 128, 7, 255, 152, 15, 128, 2, 181, 14, 92, 23, 15, 4, 0, 255, 156, 4, 52, 24, 15, 128, 2, 112, 15, 4, 0, 255, 143, 15, 208, 103, 5, 15, 80, 0, 37, 4, 252, 4, 0, 76, 34, 15, 128, 2, 255, 162, 15, 68, 20, 11, 15, 88, 0, 39, 0, 56, 43, 38, 0, 155, 16, 0, 4, 76, 43, 4, 116, 0, 0, 48, 2, 4, 184, 19, 15, 192, 0, 49, 47, 177, 217, 0, 5, 255, 252, 4, 148, 208, 8, 84, 11, 4, 144, 2, 12, 56, 22, 15, 116, 0, 51, 15, 128, 92, 255, 160, 31, 168, 40, 45, 88, 15, 56, 22, 9, 15, 108, 0, 48, 15, 0, 10, 255, 255, 8, 8, 128, 2, 47, 177, 217, 80, 116, 11, 15, 88, 7, 0, 15, 0, 5, 21, 15, 128, 7, 255, 255, 24, 15, 80, 116, 20, 15, 128, 2, 255, 255, 48, 15, 128, 12, 3, 15, 208, 113, 6, 15, 128, 2, 255, 151, 14, 152, 1, 15, 48, 2, 75, 31, 177, 52, 17, 7, 15, 56, 22, 54, 15, 212, 0, 8, 15, 128, 2, 255, 123, 12, 148, 62, 15, 176, 14, 85, 31, 177, 52, 17, 60, 4, 4, 0, 14, 248, 19, 15, 128, 2, 255, 144, 8, 200, 6, 31, 177, 48, 12, 72, 14, 192, 4, 14, 52, 17, 15, 200, 5, 80, 15, 128, 7, 255, 215, 15, 128, 2, 1, 4, 52, 7, 12, 12, 0, 0, 180, 14, 15, 200, 0, 85, 14, 236, 7, 15, 128, 12, 255, 196, 15, 128, 7, 4, 15, 52, 17, 78, 15, 124, 2, 8, 14, 112, 10, 15, 128, 2, 255, 201, 4, 128, 12, 4, 8, 0, 42, 0, 155, 20, 0, 15, 52, 17, 69, 15, 120, 2, 8, 15, 248, 12, 5, 15, 128, 17, 255, 203, 42, 0, 155, 128, 7, 4, 8, 5, 15, 52, 17, 24, 15, 120, 2, 70, 14, 136, 2, 15, 0, 20, 255, 200, 8, 8, 10, 15, 52, 17, 41, 14, 184, 4, 15, 120, 2, 47, 14, 136, 2, 15, 128, 2, 255, 28, 14, 116, 36, 15, 128, 2, 139, 12, 188, 0, 15, 108, 37, 44, 15, 116, 2, 1, 15, 132, 2, 45, 15, 128, 2, 255, 15, 15, 248, 38, 4, 15, 136, 12, 158, 15, 244, 4, 20, 15, 4, 0, 97, 15, 128, 2, 254, 15, 200, 8, 20, 15, 56, 27, 146, 14, 128, 2, 15, 124, 2, 6, 15, 128, 2, 230, 15, 100, 57, 12, 15, 4, 0, 255, 207, 15, 0, 5, 125, 15, 176, 26, 44, 15, 104, 6, 65, 15, 20, 5, 45, 15, 228, 5, 145, 15, 128, 7, 246, 14, 176, 26, 15, 104, 1, 78, 15, 148, 2, 218, 15, 188, 0, 25, 4, 180, 59, 4, 192, 27, 15, 128, 7, 255, 255, 35, 15, 76, 1, 41, 12, 64, 30, 15, 128, 7, 196, 15, 4, 0, 255, 71, 15, 204, 8, 27, 15, 64, 30, 79, 15, 4, 0, 0, 15, 0, 70, 109, 15, 220, 11, 255, 75, 12, 204, 8, 15, 244, 4, 21, 47, 232, 241, 64, 30, 11, 15, 172, 6, 55, 15, 128, 2, 255, 204, 15, 32, 2, 31, 15, 196, 163, 30, 15, 128, 2, 255, 243, 15, 48, 11, 57, 15, 196, 163, 36, 15, 0, 10, 255, 231, 15, 176, 18, 16, 15, 116, 47, 61, 15, 0, 10, 255, 251, 14, 228, 9, 15, 100, 0, 63, 0, 120, 7, 15, 192, 0, 12, 15, 128, 7, 209, 15, 172, 17, 9, 15, 128, 7, 255, 55, 15, 96, 1, 4, 15, 128, 2, 255, 3, 12, 124, 6, 14, 176, 27, 15, 92, 10, 255, 124, 15, 128, 2, 193, 14, 124, 6, 15, 0, 30, 255, 255, 29, 15, 160, 3, 56, 15, 128, 2, 255, 255, 100, 14, 4, 0, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 63, 255, 155, 63, 4, 0, 255, 235, 15, 128, 2, 255, 94, 4, 176, 20, 15, 128, 2, 255, 255, 99, 12, 48, 28, 15, 128, 2, 255, 255, 99, 8, 48, 28, 15, 128, 2, 255, 255, 31, 14, 60, 7, 15, 128, 7, 255, 204, 8, 40, 13, 15, 248, 0, 61, 14, 92, 0, 15, 60, 7, 255, 0, 14, 128, 1, 15, 0, 5, 255, 12, 12, 44, 1, 14, 56, 1, 15, 56, 0, 22, 15, 60, 7, 13, 15, 8, 2, 101, 15, 0, 5, 255, 91, 15, 160, 1, 25, 14, 72, 2, 15, 56, 0, 30, 15, 60, 7, 21, 15, 32, 3, 61, 15, 0, 10, 255, 199, 14, 52, 4, 15, 56, 0, 30, 15, 32, 3, 77, 15, 128, 2, 255, 187, 12, 220, 1, 14, 72, 2, 15, 56, 0, 30, 15, 32, 3, 81, 15, 0, 5, 255, 191, 15, 8, 10, 56, 15, 32, 3, 61, 15, 128, 2, 255, 227, 15, 144, 4, 89, 14, 44, 12, 15, 232, 2, 79, 8, 32, 62, 15, 32, 0, 8, 15, 80, 0, 34, 15, 4, 0, 20, 15, 128, 2, 186, 14, 212, 0, 15, 80, 19, 14, 15, 0, 20, 154, 14, 8, 10, 15, 0, 30, 255, 255, 89, 14, 4, 0, 15, 128, 2, 255, 255, 255, 250, 15, 32, 38, 0, 15, 0, 5, 255, 255, 255, 133, 15, 168, 3, 0, 15, 128, 2, 255, 135, 15, 84, 5, 20, 15, 8, 3, 255, 54, 15, 128, 12, 255, 255, 111, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 248, 8, 68, 58, 15, 16, 0, 17, 8, 20, 0, 8, 32, 0, 15, 228, 0, 0, 15, 80, 0, 34, 15, 84, 0, 25, 4, 12, 0, 15, 8, 0, 9, 14, 60, 0, 14, 32, 0, 15, 80, 0, 4, 15, 156, 0, 9, 15, 128, 2, 255, 59, 15, 8, 0, 57, 15, 240, 1, 0, 15, 20, 0, 10, 12, 32, 0, 14, 48, 0, 15, 80, 0, 6, 15, 128, 2, 21, 15, 240, 0, 69, 15, 0, 5, 255, 59, 15, 176, 4, 13, 15, 240, 1, 41, 14, 100, 2, 15, 128, 2, 11, 15, 100, 4, 0, 15, 160, 0, 13, 15, 64, 0, 29, 15, 128, 2, 49, 15, 0, 5, 255, 187, 15, 8, 5, 37, 15, 64, 0, 0, 15, 0, 5, 255, 163, 14, 120, 1, 15, 16, 9, 14, 15, 128, 2, 34, 15, 112, 10, 0, 15, 80, 10, 34, 15, 80, 2, 0, 14, 0, 5, 15, 128, 2, 20, 14, 164, 0, 15, 16, 10, 10, 14, 4, 10, 15, 0, 20, 255, 255, 255, 255, 255, 255, 255, 255, 196, 8, 8, 0, 12, 180, 0, 15, 48, 20, 24, 15, 128, 2, 255, 255, 24, 15, 8, 0, 0, 15, 128, 14, 30, 15, 24, 0, 0, 15, 0, 5, 255, 255, 28, 15, 224, 4, 0, 15, 4, 22, 9, 15, 64, 0, 1, 15, 0, 5, 255, 255, 52, 14, 100, 2, 14, 124, 2, 15, 16, 0, 20, 15, 0, 30, 255, 255, 52, 31, 54, 0, 10, 23, 15, 128, 2, 255, 255, 36, 15, 4, 0, 64, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43, 53, 143, 147, 154, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 5, 15, 80, 0, 8, 15, 36, 0, 10, 14, 128, 0, 15, 16, 0, 55, 15, 112, 0, 21, 15, 156, 0, 1, 12, 8, 0, 15, 48, 0, 4, 15, 32, 0, 29, 15, 128, 2, 255, 7, 8, 8, 0, 15, 12, 0, 0, 15, 48, 0, 13, 15, 32, 0, 34, 15, 240, 1, 0, 15, 144, 0, 13, 15, 32, 0, 34, 14, 112, 0, 14, 8, 2, 15, 144, 0, 4, 15, 240, 0, 50, 14, 120, 0, 15, 0, 5, 255, 12, 15, 128, 2, 29, 15, 64, 5, 4, 15, 128, 2, 26, 15, 192, 4, 17, 15, 124, 5, 0, 15, 128, 2, 38, 14, 156, 5, 15, 128, 2, 46, 15, 0, 5, 255, 47, 14, 208, 1, 15, 0, 5, 187, 15, 168, 4, 25, 12, 16, 3, 15, 240, 0, 52, 15, 128, 2, 255, 19, 15, 0, 10, 8, 14, 64, 4, 15, 0, 10, 52, 15, 128, 2, 32, 15, 48, 10, 54, 15, 52, 2, 4, 15, 32, 6, 1, 15, 32, 0, 25, 15, 0, 5, 255, 14, 15, 0, 20, 255, 255, 255, 255, 255, 255, 255, 113, 31, 103, 124, 82, 255, 255, 46, 78, 0, 0, 0, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 101, 14, 128, 2, 15, 124, 2, 255, 255, 77, 15, 128, 2, 4, 15, 124, 2, 255, 255, 104, 14, 132, 2, 15, 124, 2, 255, 255, 97, 14, 132, 2, 15, 124, 2, 255, 255, 97, 8, 132, 2, 15, 4, 0, 255, 255, 55, 15, 116, 2, 21, 255, 2, 67, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 156, 2, 8, 15, 4, 0, 255, 255, 83, 15, 124, 2, 5, 63, 207, 195, 197, 4, 0, 255, 255, 76, 143, 224, 210, 212, 255, 242, 227, 229, 255, 160, 22, 1, 127, 140, 134, 135, 255, 173, 164, 166, 128, 2, 255, 255, 76, 0, 124, 2, 4, 4, 0, 8, 28, 30, 113, 75, 75, 74, 255, 107, 104, 104, 132, 2, 14, 160, 12, 15, 4, 0, 255, 255, 61, 49, 196, 184, 186, 128, 2, 53, 189, 177, 181, 144, 7, 0, 128, 2, 0, 4, 0, 14, 124, 2, 15, 4, 0, 255, 255, 69, 127, 174, 156, 166, 255, 138, 129, 134, 128, 2, 255, 255, 255, 49, 63, 77, 0, 255, 128, 2, 255, 255, 104, 34, 0, 155, 200, 82, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 208, 173, 63, 168, 119, 255, 0, 5, 255, 255, 96, 68, 50, 226, 0, 255, 140, 251, 14, 124, 2, 15, 128, 2, 255, 216, 12, 92, 178, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 132, 1, 166, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 73, 15, 4, 0, 255, 255, 35, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 31, 8, 28, 190, 255, 255, 38, 15, 128, 2, 57, 0, 132, 44, 15, 4, 0, 255, 234, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 201, 8, 108, 35, 15, 16, 0, 25, 15, 64, 0, 15, 15, 128, 2, 255, 255, 25, 57, 83, 37, 126, 64, 2, 8, 16, 0, 0, 12, 0, 12, 16, 0, 46, 232, 241, 64, 0, 0, 4, 0, 14, 16, 0, 15, 128, 2, 255, 255, 21, 15, 8, 0, 13, 14, 244, 4, 15, 0, 5, 255, 255, 61, 15, 8, 0, 13, 12, 208, 4, 8, 128, 2, 14, 32, 5, 10, 48, 5, 15, 0, 10, 255, 255, 71, 47, 232, 241, 0, 5, 255, 255, 53, 4, 176, 4, 4, 224, 4, 15, 16, 0, 56, 15, 128, 2, 255, 255, 20, 15, 4, 0, 72, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 63, 188, 182, 180, 4, 0, 2, 15, 0, 5, 255, 255, 91, 49, 53, 54, 52, 8, 0, 49, 54, 82, 171, 4, 0, 14, 0, 5, 15, 128, 2, 255, 255, 77, 0, 20, 81, 4, 124, 2, 15, 128, 2, 255, 34, 15, 68, 6, 4, 15, 116, 2, 255, 15, 12, 12, 0, 34, 177, 217, 252, 22, 15, 0, 5, 255, 34, 15, 68, 6, 0, 15, 128, 2, 255, 19, 0, 56, 1, 0, 12, 0, 0, 8, 0, 4, 116, 25, 0, 12, 0, 4, 80, 1, 8, 96, 1, 12, 20, 0, 15, 128, 2, 249, 14, 68, 6, 15, 120, 12, 255, 16, 0, 80, 2, 15, 60, 6, 5, 4, 112, 2, 12, 4, 0, 15, 128, 2, 249, 15, 68, 6, 8, 15, 0, 5, 255, 19, 14, 100, 2, 14, 4, 0, 15, 128, 2, 255, 18, 15, 68, 6, 28, 15, 128, 7, 254, 15, 108, 2, 24, 15, 128, 2, 250, 15, 68, 6, 36, 15, 148, 7, 255, 11, 31, 77, 128, 22, 255, 25, 15, 68, 6, 12, 15, 128, 2, 255, 27, 14, 28, 1, 15, 128, 2, 195, 0, 252, 101, 15, 4, 0, 53, 0, 128, 2, 47, 168, 119, 68, 6, 11, 14, 112, 0, 15, 4, 0, 255, 4, 15, 48, 1, 83, 15, 128, 22, 207, 14, 248, 19, 15, 0, 30, 255, 255, 89, 14, 224, 9, 15, 128, 2, 255, 255, 1, 15, 68, 6, 84, 15, 4, 0, 255, 135, 15, 0, 30, 255, 166, 12, 84, 98, 15, 0, 5, 255, 130, 15, 4, 0, 193, 47, 232, 241, 4, 0, 9, 15, 0, 5, 157, 15, 128, 2, 255, 156, 14, 124, 2, 15, 132, 2, 1, 15, 128, 2, 255, 255, 69, 14, 124, 2, 15, 132, 2, 9, 15, 128, 2, 255, 255, 49, 12, 72, 2, 15, 128, 2, 33, 14, 148, 2, 15, 128, 2, 255, 255, 17, 47, 232, 241, 4, 0, 77, 15, 128, 2, 255, 244, 15, 12, 2, 1, 47, 232, 241, 128, 2, 255, 255, 81, 15, 48, 7, 11, 15, 132, 2, 85, 15, 128, 2, 255, 255, 1, 15, 4, 0, 53, 47, 177, 217, 128, 2, 255, 255, 9, 15, 92, 2, 49, 47, 177, 217, 36, 0, 19, 47, 177, 217, 128, 2, 255, 255, 1, 14, 24, 2, 15, 56, 2, 19, 47, 177, 217, 4, 0, 43, 14, 192, 2, 15, 128, 2, 255, 228, 8, 132, 2, 15, 4, 0, 105, 15, 204, 5, 63, 15, 128, 2, 255, 176, 15, 32, 0, 45, 8, 40, 0, 15, 128, 2, 11, 15, 0, 28, 73, 15, 128, 17, 255, 152, 12, 12, 2, 12, 172, 35, 12, 32, 0, 15, 200, 2, 11, 15, 36, 0, 21, 15, 0, 28, 81, 15, 128, 22, 255, 160, 0, 120, 2, 4, 20, 148, 14, 48, 38, 15, 0, 28, 161, 15, 128, 2, 255, 160, 0, 16, 153, 46, 39, 231, 128, 2, 15, 0, 28, 183, 15, 128, 27, 255, 140, 14, 44, 43, 15, 0, 28, 197, 15, 128, 2, 255, 76, 14, 116, 45, 15, 0, 28, 153, 15, 128, 2, 255, 172, 15, 200, 9, 169, 31, 168, 0, 28, 90, 15, 128, 2, 118, 15, 200, 9, 255, 79, 31, 168, 0, 28, 94, 15, 128, 2, 195, 15, 72, 26, 141, 30, 168, 128, 7, 15, 0, 28, 255, 19, 15, 0, 5, 153, 4, 204, 74, 23, 168, 108, 62, 15, 4, 0, 44, 15, 0, 28, 255, 111, 15, 128, 2, 141, 38, 77, 0, 124, 2, 0, 88, 4, 0, 192, 0, 4, 228, 69, 15, 128, 2, 48, 15, 0, 28, 255, 111, 15, 128, 2, 121, 15, 164, 5, 5, 4, 172, 55, 8, 192, 0, 8, 128, 2, 15, 12, 5, 40, 15, 0, 28, 255, 111, 15, 128, 2, 113, 8, 116, 2, 8, 236, 113, 47, 232, 241, 44, 114, 3, 0, 12, 0, 0, 128, 2, 0, 8, 0, 31, 168, 140, 7, 255, 45, 14, 32, 0, 15, 0, 28, 69, 15, 128, 22, 131, 47, 232, 241, 128, 2, 3, 12, 4, 0, 15, 200, 10, 5, 4, 140, 2, 15, 12, 12, 9, 0, 160, 2, 4, 4, 0, 4, 140, 77, 15, 188, 12, 4, 15, 72, 0, 36, 15, 0, 65, 255, 168, 15, 128, 2, 0, 15, 4, 0, 30, 14, 0, 5, 15, 4, 0, 255, 132, 15, 148, 81, 1, 15, 128, 2, 125, 14, 228, 4, 15, 148, 2, 6, 14, 128, 7, 15, 4, 0, 255, 145, 4, 156, 18, 4, 204, 16, 15, 128, 2, 145, 8, 4, 0, 4, 244, 6, 15, 8, 20, 123, 15, 204, 7, 255, 24, 12, 24, 94, 15, 128, 2, 157, 4, 192, 1, 14, 128, 2, 15, 244, 4, 255, 136, 8, 160, 6, 4, 12, 0, 4, 24, 94, 15, 128, 2, 181, 14, 40, 21, 15, 4, 0, 255, 120, 0, 116, 2, 46, 177, 217, 24, 94, 15, 128, 2, 112, 15, 84, 56, 41, 15, 4, 5, 255, 151, 14, 24, 94, 15, 128, 12, 119, 15, 84, 28, 27, 15, 128, 2, 255, 164, 15, 24, 94, 9, 15, 128, 2, 117, 15, 84, 28, 43, 15, 128, 7, 255, 152, 15, 128, 2, 181, 14, 92, 23, 15, 4, 0, 255, 156, 4, 52, 24, 15, 128, 2, 112, 15, 4, 0, 255, 143, 15, 208, 103, 5, 15, 80, 0, 37, 4, 252, 4, 0, 76, 34, 15, 128, 2, 255, 162, 15, 68, 20, 11 ]);
fileData0.push.apply(fileData0, [ 15, 88, 0, 39, 0, 56, 43, 38, 0, 155, 16, 0, 4, 76, 43, 4, 116, 0, 0, 48, 2, 4, 184, 19, 15, 192, 0, 49, 47, 177, 217, 0, 5, 255, 252, 4, 148, 208, 8, 84, 11, 4, 144, 2, 12, 56, 22, 15, 116, 0, 51, 15, 128, 92, 255, 160, 31, 168, 40, 45, 88, 15, 56, 22, 9, 15, 108, 0, 48, 15, 0, 10, 255, 255, 8, 8, 128, 2, 47, 177, 217, 80, 116, 11, 15, 88, 7, 0, 15, 0, 5, 21, 15, 128, 7, 255, 255, 24, 15, 80, 116, 20, 15, 128, 2, 255, 255, 48, 15, 128, 12, 3, 15, 208, 113, 6, 15, 128, 2, 255, 151, 14, 152, 1, 15, 48, 2, 75, 31, 177, 52, 17, 7, 15, 56, 22, 54, 15, 212, 0, 8, 15, 128, 2, 255, 123, 12, 148, 62, 15, 176, 14, 85, 31, 177, 52, 17, 60, 4, 4, 0, 14, 248, 19, 15, 128, 2, 255, 144, 8, 200, 6, 31, 177, 48, 12, 72, 14, 192, 4, 14, 52, 17, 15, 200, 5, 80, 15, 128, 7, 255, 215, 15, 128, 2, 1, 4, 52, 7, 12, 12, 0, 0, 180, 14, 15, 200, 0, 85, 14, 236, 7, 15, 128, 12, 255, 196, 15, 128, 7, 4, 15, 52, 17, 78, 15, 124, 2, 8, 14, 112, 10, 15, 128, 2, 255, 201, 4, 128, 12, 4, 8, 0, 42, 0, 155, 20, 0, 15, 52, 17, 69, 15, 120, 2, 8, 15, 248, 12, 5, 15, 128, 17, 255, 203, 42, 0, 155, 128, 7, 4, 8, 5, 15, 52, 17, 24, 15, 120, 2, 70, 14, 136, 2, 15, 0, 20, 255, 200, 8, 8, 10, 15, 52, 17, 41, 14, 184, 4, 15, 120, 2, 47, 14, 136, 2, 15, 128, 2, 255, 28, 14, 116, 36, 15, 128, 2, 139, 12, 188, 0, 15, 108, 37, 44, 15, 116, 2, 1, 15, 132, 2, 45, 15, 128, 2, 255, 15, 15, 248, 38, 4, 15, 136, 12, 158, 15, 244, 4, 20, 15, 4, 0, 97, 15, 128, 2, 254, 15, 200, 8, 20, 15, 56, 27, 146, 14, 128, 2, 15, 124, 2, 6, 15, 128, 2, 230, 15, 100, 57, 12, 15, 4, 0, 255, 207, 15, 0, 5, 125, 15, 176, 26, 44, 15, 104, 6, 65, 15, 20, 5, 45, 15, 228, 5, 145, 15, 128, 7, 246, 14, 176, 26, 15, 104, 1, 78, 15, 148, 2, 218, 15, 188, 0, 25, 4, 180, 59, 4, 192, 27, 15, 128, 7, 255, 255, 35, 15, 76, 1, 41, 12, 64, 30, 15, 128, 7, 196, 15, 4, 0, 255, 71, 15, 204, 8, 27, 15, 64, 30, 79, 15, 4, 0, 0, 15, 0, 70, 109, 15, 220, 11, 255, 75, 12, 204, 8, 15, 244, 4, 21, 47, 232, 241, 64, 30, 11, 15, 172, 6, 55, 15, 128, 2, 255, 204, 15, 32, 2, 31, 15, 196, 163, 30, 15, 128, 2, 255, 243, 15, 48, 11, 57, 15, 196, 163, 36, 15, 0, 10, 255, 231, 15, 176, 18, 16, 15, 116, 47, 61, 15, 0, 10, 255, 251, 14, 228, 9, 15, 100, 0, 63, 0, 120, 7, 15, 192, 0, 12, 15, 128, 7, 209, 15, 172, 17, 9, 15, 128, 7, 255, 55, 15, 96, 1, 4, 15, 128, 2, 255, 3, 12, 124, 6, 14, 176, 27, 15, 92, 10, 255, 124, 15, 128, 2, 193, 14, 124, 6, 15, 0, 30, 255, 255, 29, 15, 160, 3, 56, 15, 128, 2, 255, 255, 100, 14, 4, 0, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 63, 255, 155, 63, 4, 0, 255, 235, 15, 128, 2, 255, 94, 4, 176, 20, 15, 128, 2, 255, 255, 99, 12, 48, 28, 15, 128, 2, 255, 255, 99, 8, 48, 28, 15, 128, 2, 255, 255, 31, 14, 60, 7, 15, 128, 7, 255, 204, 8, 40, 13, 15, 248, 0, 61, 14, 92, 0, 15, 60, 7, 255, 0, 14, 128, 1, 15, 0, 5, 255, 12, 12, 44, 1, 14, 56, 1, 15, 56, 0, 22, 15, 60, 7, 13, 15, 8, 2, 101, 15, 0, 5, 255, 91, 15, 160, 1, 25, 14, 72, 2, 15, 56, 0, 30, 15, 60, 7, 21, 15, 32, 3, 61, 15, 0, 10, 255, 199, 14, 52, 4, 15, 56, 0, 30, 15, 32, 3, 77, 15, 128, 2, 255, 187, 12, 220, 1, 14, 72, 2, 15, 56, 0, 30, 15, 32, 3, 81, 15, 0, 5, 255, 191, 15, 8, 10, 56, 15, 32, 3, 61, 15, 128, 2, 255, 227, 15, 144, 4, 89, 14, 44, 12, 15, 232, 2, 79, 8, 32, 62, 15, 32, 0, 8, 15, 80, 0, 34, 15, 4, 0, 20, 15, 128, 2, 186, 14, 212, 0, 15, 80, 19, 14, 15, 0, 20, 154, 14, 8, 10, 15, 0, 30, 255, 255, 89, 14, 4, 0, 15, 128, 2, 255, 255, 255, 250, 15, 32, 38, 0, 15, 0, 5, 255, 255, 255, 133, 15, 168, 3, 0, 15, 128, 2, 255, 135, 15, 84, 5, 20, 15, 8, 3, 255, 54, 15, 128, 12, 255, 255, 111, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48, 15, 4, 0, 255, 242, 15, 128, 2, 56, 15, 4, 0, 255, 255, 35, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 49, 93, 85, 88, 4, 0, 0, 132, 2, 15, 128, 82, 255, 255, 95, 4, 124, 2, 0, 4, 0, 0, 120, 2, 78, 0, 0, 0, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 12, 128, 2, 63, 75, 65, 68, 124, 2, 255, 255, 92, 9, 132, 2, 111, 65, 68, 255, 75, 56, 63, 4, 0, 255, 255, 52, 15, 124, 2, 25, 9, 132, 2, 47, 56, 63, 4, 0, 255, 255, 56, 14, 124, 2, 15, 132, 2, 19, 15, 4, 0, 255, 255, 55, 15, 116, 2, 21, 208, 67, 66, 77, 80, 244, 0, 0, 0, 32, 0, 0, 0, 7, 132, 2, 7, 28, 0, 31, 5, 1, 0, 49, 31, 13, 1, 0, 4, 3, 31, 0, 31, 6, 55, 0, 5, 3, 8, 0, 34, 7, 6, 1, 0, 27, 13, 8, 0, 15, 155, 0, 49, 0, 252, 0, 19, 84, 244, 0, 27, 8, 252, 0, 115, 0, 0, 6, 6, 6, 7, 6, 9, 0, 3, 18, 0, 4, 26, 0, 15, 88, 1, 113, 15, 1, 0, 44, 4, 88, 1, 13, 8, 0, 15, 183, 1, 12, 31, 13, 88, 1, 46, 15, 96, 1, 1, 15, 88, 1, 27, 19, 69, 84, 1, 12, 88, 1, 0, 73, 0, 0, 196, 0, 15, 173, 1, 0, 1, 23, 0, 5, 105, 0, 15, 77, 0, 17, 9, 88, 0, 4, 75, 0, 0, 2, 0, 3, 3, 0, 3, 14, 0, 6, 84, 0, 15, 77, 0, 22, 21, 6, 86, 0, 2, 63, 0, 4, 83, 0, 15, 77, 0, 33, 2, 223, 0, 25, 6, 77, 0, 3, 91, 0, 47, 0, 0, 154, 0, 35, 27, 6, 154, 0, 31, 6, 154, 0, 32, 4, 74, 0, 1, 34, 0, 36, 6, 0, 150, 0, 28, 13, 65, 3, 14, 129, 1, 15, 1, 0, 40, 0, 77, 0, 83, 101, 0, 0, 0, 9, 4, 0, 15, 77, 0, 7, 20, 7, 8, 0, 36, 7, 7, 8, 0, 40, 7, 7, 8, 0, 4, 26, 0, 20, 7, 44, 0, 4, 42, 0, 15, 109, 0, 30, 5, 57, 0, 15, 9, 0, 6, 1, 117, 0, 22, 7, 106, 0, 7, 18, 0, 15, 109, 0, 27, 19, 7, 2, 0, 12, 232, 0, 15, 18, 0, 13, 11, 54, 0, 15, 218, 0, 22, 40, 0, 7, 66, 0, 9, 9, 0, 4, 209, 0, 9, 89, 1, 14, 74, 1, 15, 180, 1, 33, 12, 10, 0, 4, 45, 1, 22, 7, 118, 0, 3, 100, 0, 4, 85, 2, 15, 180, 1, 38, 10, 69, 0, 9, 162, 1, 15, 32, 0, 1, 31, 7, 109, 0, 32, 14, 253, 1, 15, 9, 0, 5, 15, 33, 2, 48, 14, 77, 1, 15, 10, 0, 23, 11, 218, 0, 147, 148, 0, 2, 0, 160, 0, 0, 0, 205, 227, 6, 7, 31, 0, 31, 255, 4, 0, 255, 255, 119, 14, 203, 20, 15, 4, 0, 255, 255, 69, 15, 124, 2, 255, 255, 107, 14, 132, 2, 14, 124, 2, 15, 132, 2, 255, 255, 86, 15, 128, 2, 255, 255, 255, 255, 255, 179, 63, 77, 0, 255, 128, 2, 255, 255, 104, 34, 0, 155, 127, 179, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 3, 182, 63, 168, 119, 255, 0, 5, 255, 255, 96, 49, 50, 226, 0, 124, 2, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 12, 143, 186, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 124, 1, 166, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 65, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 15, 56, 57, 255, 255, 47, 15, 64, 0, 49, 63, 139, 138, 136, 4, 0, 255, 235, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 157, 14, 60, 2, 15, 128, 2, 255, 255, 89, 15, 124, 2, 44, 15, 128, 2, 45, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 47, 15, 128, 82, 255, 255, 68, 15, 192, 107, 32, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 40, 15, 128, 2, 37, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 32, 15, 128, 2, 45, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 28, 15, 132, 2, 53, 15, 124, 2, 255, 255, 108, 14, 132, 2, 15, 124, 2, 255, 255, 12, 15, 4, 0, 255, 255, 188, 255, 3, 67, 66, 77, 80, 20, 6, 0, 0, 48, 0, 0, 0, 32, 0, 0, 0, 8, 0, 1, 0, 89, 31, 6, 1, 0, 24, 15, 47, 0, 28, 47, 6, 6, 47, 0, 17, 79, 7, 7, 7, 7, 24, 0, 5, 31, 7, 48, 0, 23, 46, 7, 7, 49, 0, 15, 119, 0, 12, 31, 5, 48, 0, 27, 63, 5, 5, 5, 48, 0, 25, 16, 5, 1, 0, 15, 144, 0, 4, 15, 192, 0, 48, 17, 13, 47, 0, 63, 13, 6, 6, 60, 1, 14, 2, 13, 0, 18, 13, 1, 0, 14, 87, 1, 12, 124, 0, 18, 7, 26, 1, 20, 6, 47, 0, 30, 5, 49, 0, 9, 12, 1, 0, 47, 0, 6, 25, 1, 2, 13, 0, 14, 48, 0, 1, 83, 0, 14, 73, 1, 13, 75, 0, 47, 7, 7, 96, 0, 23, 5, 183, 0, 15, 192, 0, 2, 6, 123, 0, 4, 192, 0, 5, 135, 0, 9, 60, 1, 10, 73, 1, 8, 87, 1, 5, 35, 2, 4, 60, 1, 2, 34, 0, 9, 73, 1, 8, 27, 0, 6, 231, 0, 7, 47, 0, 39, 6, 6, 47, 0, 5, 87, 1, 14, 243, 1, 15, 64, 2, 4, 15, 243, 1, 24, 13, 160, 2, 9, 183, 0, 15, 0, 3, 17, 14, 47, 0, 15, 160, 2, 68, 14, 48, 0, 14, 173, 0, 15, 49, 0, 0, 15, 173, 0, 22, 30, 6, 129, 4, 15, 225, 4, 65, 15, 158, 5, 79, 15, 28, 6, 255, 255, 79, 16, 14, 1, 0, 15, 28, 6, 23, 0, 46, 0, 63, 5, 14, 14, 28, 6, 22, 0, 47, 0, 0, 48, 0, 31, 6, 28, 6, 20, 0, 47, 0, 10, 48, 0, 14, 28, 6, 15, 96, 0, 0, 15, 28, 6, 22, 4, 192, 0, 15, 28, 6, 22, 1, 32, 1, 15, 28, 6, 255, 255, 255, 255, 232, 10, 197, 4, 2, 42, 6, 31, 6, 56, 12, 21, 1, 104, 5, 47, 14, 14, 56, 12, 22, 2, 201, 5, 31, 14, 56, 12, 22, 9, 42, 6, 14, 56, 12, 15, 96, 0, 5, 15, 56, 12, 22, 8, 192, 0, 15, 56, 12, 18, 7, 42, 6, 15, 28, 6, 255, 255, 255, 138, 14, 197, 4, 15, 48, 0, 10, 46, 14, 14, 49, 0, 15, 155, 0, 9, 2, 94, 10, 15, 48, 0, 25, 8, 239, 10, 15, 48, 0, 16, 1, 220, 3, 15, 144, 0, 4, 15, 192, 0, 48, 10, 239, 10, 15, 84, 18, 255, 255, 255, 255, 255, 255, 43, 15, 28, 6, 255, 69, 10, 171, 19, 15, 28, 6, 14, 4, 252, 7, 14, 28, 6, 15, 92, 8, 22, 14, 243, 1, 14, 188, 8, 15, 111, 5, 0, 15, 28, 9, 23, 14, 111, 5, 15, 188, 8, 68, 31, 6, 28, 6, 255, 255, 255, 107, 9, 199, 3, 15, 28, 6, 15, 9, 248, 3, 15, 28, 6, 16, 12, 9, 18, 15, 28, 6, 13, 0, 135, 4, 7, 48, 0, 15, 28, 6, 11, 15, 96, 0, 23, 5, 51, 1, 14, 192, 0, 15, 28, 6, 12, 8, 184, 4, 15, 56, 12, 255, 255, 255, 255, 255, 153, 4, 226, 5, 15, 96, 0, 20, 5, 19, 6, 15, 56, 12, 20, 5, 163, 6, 15, 56, 12, 20, 5, 91, 11, 15, 28, 6, 20, 6, 3, 7, 15, 28, 6, 19, 14, 139, 11, 14, 28, 6, 14, 71, 20, 15, 28, 6, 255, 255, 219, 14, 31, 3, 14, 28, 6, 14, 48, 0, 15, 196, 42, 255, 255, 255, 255, 220, 83, 69, 0, 0, 0, 7, 4, 0, 15, 28, 6, 1, 86, 6, 9, 9, 9, 6, 7, 0, 2, 153, 0, 0, 176, 1, 3, 14, 0, 15, 77, 0, 27, 3, 63, 0, 72, 5, 5, 5, 6, 14, 0, 31, 6, 77, 0, 33, 4, 22, 0, 241, 2, 9, 7, 15, 0, 0, 0, 10, 7, 7, 7, 14, 0, 0, 0, 11, 7, 13, 22, 0, 31, 12, 231, 0, 28, 0, 239, 1, 6, 7, 0, 15, 231, 0, 44, 70, 12, 12, 12, 6, 7, 0, 15, 77, 0, 43, 35, 13, 13, 7, 0, 63, 13, 13, 13, 7, 0, 2, 15, 52, 1, 27, 18, 7, 6, 0, 18, 7, 6, 0, 8, 14, 0, 4, 28, 0, 15, 77, 0, 30, 4, 64, 0, 3, 79, 0, 47, 7, 7, 77, 0, 33, 1, 145, 4, 15, 7, 0, 8, 31, 0, 231, 0, 35, 18, 7, 6, 0, 46, 7, 7, 175, 0, 15, 206, 1, 22, 70, 10, 10, 10, 6, 7, 0, 15, 2, 3, 46, 3, 7, 0, 6, 64, 4, 11, 7, 0, 15, 77, 0, 16, 34, 8, 8, 3, 0, 83, 8, 8, 8, 7, 8, 1, 0, 2, 15, 0, 1, 29, 0, 23, 8, 30, 3, 15, 129, 1, 21, 33, 11, 11, 5, 0, 66, 11, 11, 11, 0, 4, 0, 2, 18, 0, 17, 0, 5, 0, 5, 7, 0, 15, 77, 0, 16, 18, 10, 6, 0, 33, 10, 10, 5, 0, 65, 10, 7, 10, 10, 8, 0, 37, 10, 0, 7, 0, 5, 37, 0, 15, 77, 0, 14, 49, 9, 9, 9, 7, 0, 33, 1, 9, 13, 0, 49, 1, 9, 9, 20, 0, 65, 9, 9, 0, 9, 14, 0, 4, 1, 0, 15, 77, 0, 18, 98, 15, 15, 15, 0, 0, 15, 7, 0, 3, 57, 13, 1, 9, 0, 32, 0, 15, 46, 4, 1, 48, 4, 3, 7, 0, 15, 231, 0, 16, 32, 4, 4, 117, 0, 85, 2, 2, 2, 7, 2, 7, 0, 85, 8, 8, 8, 15, 8, 7, 0, 16, 2, 1, 0, 15, 52, 1, 20, 5, 159, 2, 22, 7, 7, 0, 17, 6, 21, 0, 2, 15, 2, 47, 6, 0, 183, 5, 22, 82, 4, 4, 4, 4, 10, 125, 0, 48, 7, 2, 2, 229, 0, 28, 15, 7, 0, 2, 1, 0, 15, 231, 0, 24, 0, 252, 7, 0, 135, 3, 50, 8, 8, 14, 7, 0, 22, 8, 7, 0, 0, 29, 0, 15, 52, 1, 40, 0, 146, 0, 21, 14, 7, 0, 15, 52, 1, 12, 15, 235, 6, 76, 9, 93, 3, 15, 79, 3, 44, 102, 0, 6, 8, 8, 8, 6, 7, 0, 15, 54, 4, 43, 33, 1, 1, 3, 0, 32, 8, 8, 3, 0, 17, 1, 154, 0, 1, 15, 0, 32, 8, 1, 29, 0, 34, 8, 1, 37, 0, 4, 238, 13, 82, 1, 0, 0, 16, 0, 4, 0, 9, 77, 0, 25, 32, 1, 0, 71, 0, 32, 32, 7, 1, 0, 72, 32, 32, 32, 7, 31, 0, 31, 7, 16, 0, 159, 11, 208, 0, 12, 240, 0, 0, 28, 1, 38, 120, 0, 128, 4, 8, 28, 1, 10, 9, 1, 2, 81, 0, 15, 10, 0, 52, 5, 1, 0, 0, 128, 0, 19, 84, 120, 0, 27, 8, 128, 0, 1, 161, 0, 0, 8, 0, 38, 7, 7, 8, 0, 5, 169, 1, 1, 236, 0, 7, 15, 0, 26, 7, 44, 0, 63, 32, 32, 32, 92, 0, 9, 12, 93, 0, 20, 32, 8, 0, 11, 64, 1, 3, 34, 0, 27, 32, 91, 0, 31, 0, 92, 0, 10, 3, 93, 0, 19, 32, 85, 0, 35, 32, 7, 8, 0, 21, 32, 117, 0, 3, 10, 0, 0, 24, 0, 19, 7, 8, 0, 36, 32, 32, 56, 0, 15, 184, 0, 14, 26, 32, 85, 0, 8, 152, 0, 9, 216, 0, 9, 99, 0, 31, 32, 184, 0, 4, 15, 93, 0, 23, 15, 91, 0, 5, 47, 0, 32, 184, 0, 16, 35, 0, 0, 62, 0, 2, 99, 1, 4, 115, 1, 5, 26, 2, 8, 12, 0, 2, 45, 0, 39, 7, 32, 55, 0, 15, 92, 0, 12, 8, 93, 0, 6, 227, 2, 42, 7, 7, 4, 0, 7, 60, 2, 8, 53, 0, 15, 92, 0, 13, 5, 93, 1, 3, 84, 0, 42, 0, 32, 80, 0, 35, 32, 7, 140, 2, 37, 7, 7, 39, 0, 8, 201, 4, 15, 96, 3, 5, 49, 0, 0, 16, 1, 0, 0, 9, 0, 2, 231, 8, 16, 16, 10, 0, 1, 110, 17, 15, 10, 0, 16, 6, 50, 0, 1, 38, 14, 5, 20, 0, 21, 16, 90, 0, 15, 128, 0, 14, 19, 0, 38, 0, 69, 0, 0, 16, 7, 58, 0, 63, 6, 15, 15, 10, 0, 19, 6, 50, 0, 38, 7, 7, 20, 0, 21, 16, 90, 0, 15, 0, 1, 15, 0, 39, 0, 4, 9, 0, 6, 58, 0, 15, 10, 0, 50, 3, 90, 0, 15, 0, 1, 22, 7, 206, 0, 15, 10, 0, 13, 20, 7, 10, 0, 5, 246, 0, 20, 7, 119, 0, 13, 1, 1, 15, 0, 2, 32, 10, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 5, 246, 1, 35, 7, 7, 129, 0, 17, 16, 155, 17, 8, 1, 2, 15, 128, 0, 139, 10, 128, 1, 6, 88, 1, 21, 7, 88, 2, 3, 10, 0, 24, 7, 10, 0, 20, 6, 10, 0, 4, 148, 1, 5, 117, 0, 1, 51, 0, 14, 128, 1, 15, 128, 2, 19, 5, 57, 0, 31, 7, 10, 0, 1, 15, 108, 2, 1, 14, 30, 0, 15, 128, 2, 39, 7, 206, 0, 36, 14, 14, 88, 2, 15, 10, 0, 3, 15, 128, 3, 21, 15, 128, 4, 110, 15, 128, 0, 244, 16, 36, 231, 11, 3, 4, 0, 15, 176, 11, 6, 15, 44, 0, 32, 16, 245, 192, 13, 3, 4, 0, 15, 8, 12, 14, 5, 190, 7, 2, 14, 0, 1, 170, 0, 5, 53, 7, 17, 6, 30, 0, 0, 18, 0, 1, 42, 0, 53, 6, 32, 32, 30, 7, 67, 32, 7, 7, 13, 4, 8, 2, 14, 0, 0, 15, 0, 47, 7, 32, 15, 0, 3, 3, 82, 20, 7, 30, 0, 1, 61, 10, 15, 15, 0, 32, 3, 16, 0, 31, 32, 192, 0, 2, 0, 253, 0, 94, 19, 1, 0, 0, 17, 253, 0, 15, 1, 0, 51, 26, 17, 1, 0, 58, 0, 17, 7, 1, 0, 116, 17, 17, 7, 7, 13, 13, 7, 2, 0, 2, 17, 0, 7, 34, 0, 16, 13, 17, 0, 7, 33, 0, 17, 13, 17, 0, 15, 68, 0, 0, 17, 7, 48, 1, 2, 69, 0, 14, 34, 0, 13, 136, 0, 15, 1, 0, 7, 15, 32, 14, 70, 15, 61, 3, 17, 1, 146, 18, 47, 5, 16, 10, 0, 24, 2, 40, 2, 10, 20, 0, 14, 189, 3, 15, 128, 0, 51, 6, 108, 0, 14, 118, 0, 14, 61, 4, 15, 128, 0, 53, 15, 118, 0, 7, 15, 189, 4, 63, 15, 88, 1, 11, 7, 118, 0, 15, 61, 5, 68, 15, 118, 0, 7, 15, 189, 5, 83, 15, 118, 0, 7, 15, 128, 0, 89, 15, 61, 7, 255, 46, 4, 69, 1, 15, 128, 0, 91, 11, 60, 3, 31, 0, 128, 0, 83, 15, 40, 4, 6, 15, 0, 1, 74, 15, 40, 4, 7, 15, 128, 0, 73, 14, 10, 5, 15, 0, 1, 81, 15, 148, 5, 21, 11, 148, 0, 15, 128, 2, 44, 15, 10, 6, 27, 15, 128, 1, 0, 15, 128, 6, 64, 15, 138, 7, 26, 13, 128, 0, 15, 77, 8, 7, 5, 186, 12, 23, 16, 44, 13, 19, 16, 30, 14, 4, 14, 0, 21, 16, 42, 0, 0, 77, 0, 98, 184, 31, 0, 0, 90, 0, 4, 0, 47, 8, 0, 1, 0, 255, 25, 0, 146, 25, 1, 2, 0, 0, 8, 0, 2, 163, 25, 0, 3, 0, 12, 38, 0, 4, 34, 0, 47, 0, 14, 90, 0, 23, 3, 2, 0, 1, 51, 0, 23, 14, 16, 0, 15, 38, 0, 0, 31, 0, 90, 0, 27, 47, 14, 0, 90, 0, 17, 20, 14, 4, 0, 15, 180, 0, 69, 31, 0, 180, 0, 26, 4, 143, 0, 3, 90, 0, 47, 14, 0, 90, 0, 5, 4, 138, 1, 15, 28, 2, 113, 15, 1, 0, 9, 15, 38, 0, 15, 31, 0, 1, 0, 255, 239, 49, 13, 13, 0, 2, 0, 2, 63, 33, 2, 16, 0, 4, 12, 0, 15, 89, 0, 43, 1, 4, 0, 4, 2, 0, 10, 12, 0, 15, 90, 0, 52, 2, 242, 33, 9, 12, 0, 15, 180, 0, 55, 12, 190, 0, 7, 1, 0, 15, 63, 3, 33, 4, 92, 1, 5, 172, 0, 6, 196, 0, 9, 95, 4, 5, 124, 4, 15, 1, 0, 60, 2, 185, 4, 15, 90, 0, 67, 31, 0, 90, 0, 70, 47, 14, 14, 90, 0, 72, 14, 31, 6, 15, 147, 5, 48, 15, 91, 5, 122, 4, 18, 3, 2, 196, 2, 22, 5, 61, 37, 15, 134, 3, 52, 3, 74, 0, 22, 5, 32, 3, 14, 90, 0, 15, 89, 0, 36, 2, 8, 0, 15, 90, 0, 58, 9, 74, 0, 8, 180, 0, 47, 13, 13, 104, 1, 56, 23, 5, 165, 38, 10, 55, 4, 15, 44, 7, 255, 177, 15, 1, 0, 61, 47, 0, 0, 126, 9, 255, 239, 2, 7, 0, 12, 8, 0, 31, 0, 69, 5, 56, 47, 0, 0, 70, 5, 58, 11, 164, 0, 6, 235, 4, 15, 84, 6, 55, 14, 180, 0, 15, 126, 9, 43, 12, 143, 5, 12, 112, 1, 25, 0, 126, 9, 31, 0, 126, 9, 69, 31, 14, 90, 0, 52, 15, 180, 0, 86, 14, 233, 14, 15, 126, 9, 191, 1, 66, 12, 3, 4, 0, 8, 37, 2, 15, 202, 8, 51, 8, 244, 12, 4, 118, 9, 15, 90, 0, 52, 45, 13, 13, 124, 3, 15, 180, 0, 64, 5, 230, 3, 15, 90, 0, 54, 11, 57, 4, 14, 90, 0, 15, 1, 0, 55, 15, 126, 9, 255, 255, 255, 40, 5, 20, 5, 2, 105, 4, 5, 28, 5, 6, 44, 5, 10, 108, 4, 2, 20, 8, 22, 5, 28, 0, 12, 84, 5, 6, 42, 0, 47, 0, 13, 88, 17, 2, 42, 13, 13, 116, 17, 46, 0, 13, 172, 13, 4, 24, 0, 5, 12, 0, 15, 180, 0, 6, 12, 28, 5, 5, 110, 17, 12, 180, 0, 3, 19, 15, 5, 90, 0, 14, 249, 18, 15, 22, 18, 2, 8, 204, 0, 15, 180, 0, 1, 31, 0, 180, 0, 21, 5, 34, 0, 10, 194, 18, 42, 13, 0, 128, 1, 26, 0, 19, 15, 7, 28, 0, 7, 12, 0, 31, 0, 182, 13, 255, 88, 15, 1, 0, 255, 255, 255, 255, 224, 15, 13, 32, 10, 2, 148, 58, 31, 5, 1, 0, 1, 18, 13, 6, 0, 4, 54, 5, 2, 6, 0, 15, 167, 40, 17, 2, 195, 13, 15, 184, 28, 2, 3, 179, 69, 7, 77, 0, 147, 20, 50, 1, 0, 144, 0, 0, 0, 136, 210, 67, 4, 69, 0, 113, 59, 51, 73, 255, 64, 49, 62, 4, 0, 63, 0, 0, 2, 4, 0, 28, 31, 0, 16, 0, 255, 141, 15, 4, 0, 65, 81, 0, 255, 80, 49, 58, 4, 0, 8, 60, 2, 14, 64, 2, 15, 36, 2, 22, 15, 84, 2, 255, 221, 6, 64, 2, 0, 4, 0, 15, 64, 2, 8, 15, 86, 117, 255, 249, 15, 64, 2, 25, 30, 1, 56, 2, 15, 4, 0, 255, 247, 31, 1, 64, 2, 12, 29, 0, 64, 2, 63, 255, 173, 41, 4, 0, 86, 63, 83, 43, 29, 4, 0, 34, 15, 108, 0, 89, 14, 124, 0, 15, 108, 0, 43, 15, 152, 0, 0, 15, 4, 0, 122, 15, 64, 2, 27, 14, 180, 6, 15, 32, 2, 65, 15, 220, 1, 77, 14, 68, 0, 15, 56, 0, 35, 15, 184, 0, 9, 15, 68, 2, 213, 15, 64, 2, 31, 31, 1, 64, 2, 78, 15, 156, 1, 8, 14, 24, 0, 15, 92, 1, 84, 15, 124, 0, 0, 15, 44, 2, 1, 15, 16, 3, 9, 15, 72, 2, 57, 15, 64, 2, 255, 3, 15, 156, 1, 25, 14, 72, 1, 15, 104, 1, 2, 15, 132, 6, 94, 15, 116, 5, 53, 15, 144, 0, 16, 15, 64, 2, 160, 15, 0, 9, 87, 15, 132, 4, 0, 15, 44, 0, 9, 15, 192, 8, 106, 15, 72, 2, 0, 15, 116, 5, 50, 15, 68, 2, 145, 14, 72, 11, 15, 0, 9, 103, 15, 88, 4, 12, 15, 248, 10, 126, 15, 16, 2, 4, 15, 68, 2, 38, 14, 192, 0, 15, 68, 2, 18, 15, 64, 11, 246, 14, 12, 2, 15, 124, 6, 67, 15, 48, 2, 40, 15, 204, 6, 117, 15, 0, 9, 255, 7, 15, 176, 6, 8, 15, 224, 5, 33, 15, 32, 2, 65, 15, 244, 0, 117, 15, 0, 9, 255, 3, 14, 20, 4, 15, 216, 3, 14, 15, 100, 4, 21, 15, 60, 2, 142, 14, 164, 0, 15, 68, 2, 14, 15, 0, 9, 156, 14, 44, 0, 15, 136, 3, 85, 14, 8, 2, 15, 144, 1, 18, 14, 132, 4, 15, 124, 4, 160, 31, 255, 64, 20, 255, 21, 15, 100, 1, 44, 15, 180, 6, 1, 15, 4, 0, 177, 15, 64, 20, 205, 15, 4, 0, 255, 103, 15, 0, 9, 160, 15, 64, 2, 255, 55, 15, 228, 9, 12, 15, 72, 2, 25, 15, 0, 9, 157, 15, 64, 2, 255, 59, 14, 44, 14, 15, 236, 11, 34, 15, 64, 2, 255, 223, 14, 108, 4, 15, 108, 16, 46, 15, 64, 11, 145, 15, 64, 2, 255, 59, 15, 56, 2, 4, 15, 64, 2, 37, 15, 0, 9, 255, 219, 15, 248, 1, 4, 15, 64, 2, 41, 15, 192, 6, 255, 215, 31, 83, 40, 32, 3, 15, 0, 9, 255, 255, 8, 15, 40, 11, 0, 15, 68, 2, 17, 15, 64, 2, 29, 15, 0, 9, 255, 159, 14, 232, 1, 15, 24, 39, 35, 14, 56, 2, 14, 200, 31, 15, 0, 9, 255, 194, 15, 24, 2, 8, 15, 152, 25, 33, 15, 80, 36, 49, 15, 192, 6, 206, 53, 170, 204, 255, 4, 0, 15, 156, 6, 217, 31, 255, 48, 41, 43, 15, 36, 27, 25, 15, 64, 2, 194, 8, 56, 2, 0, 4, 0, 34, 232, 241, 4, 0, 15, 72, 2, 92, 15, 48, 41, 206, 15, 128, 4, 193, 15, 56, 2, 1, 47, 232, 241, 68, 2, 186, 15, 188, 51, 226, 15, 0, 9, 0, 15, 64, 2, 58, 14, 116, 4, 15, 64, 2, 199, 15, 224, 1, 44, 15, 196, 33, 25, 15, 128, 4, 210, 15, 60, 2, 21, 47, 232, 241, 16, 9, 10, 15, 88, 2, 214, 14, 252, 6, 15, 72, 2, 14, 15, 64, 2, 198, 15, 60, 2, 7, 15, 132, 4, 207, 31, 255, 48, 41, 55, 15, 128, 31, 226, 15, 60, 2, 7, 15, 132, 4, 18, 15, 148, 24, 226, 31, 83, 48, 41, 55, 15, 64, 2, 230, 14, 132, 4, 15, 124, 4, 223, 15, 48, 7, 52, 15, 64, 2, 255, 179, 15, 244, 4, 104, 15, 64, 2, 255, 255, 40, 14, 76, 2, 15, 64, 11, 162, 15, 64, 2, 255, 251, 53, 67, 49, 61, 4, 0, 15, 192, 15, 39, 15, 64, 2, 255, 255, 33, 14, 68, 2, 14, 80, 2, 15, 64, 2, 255, 255, 15, 14, 68, 2, 15, 76, 20, 22, 15, 64, 2, 255, 255, 40, 14, 140, 13, 15, 192, 6, 255, 255, 1, 15, 80, 11, 255, 58, 14, 60, 18, 15, 64, 11, 182, 15, 64, 2, 255, 91, 12, 68, 2, 15, 64, 2, 149, 15, 248, 1, 1, 14, 64, 2, 15, 68, 2, 5, 15, 12, 9, 255, 52, 15, 64, 2, 189, 8, 252, 1, 15, 4, 0, 23, 15, 4, 9, 255, 48, 8, 72, 2, 15, 64, 2, 173, 15, 72, 2, 21, 12, 36, 0, 14, 136, 13, 15, 196, 24, 255, 140, 15, 64, 2, 101, 15, 40, 0, 11, 15, 124, 4, 255, 148, 15, 64, 2, 81, 15, 192, 33, 19, 15, 60, 2, 255, 52, 15, 64, 2, 235, 15, 180, 6, 6, 15, 64, 11, 255, 227, 15, 64, 2, 53, 47, 170, 204, 156, 13, 10, 15, 12, 9, 255, 111, 15, 64, 2, 117, 15, 4, 9, 3, 15, 36, 18, 18, 15, 64, 2, 255, 255, 48, 14, 68, 2, 15, 192, 24, 255, 120, 53, 71, 49, 60, 4, 0, 15, 64, 11, 71, 15, 104, 20, 50, 15, 64, 2, 255, 235, 15, 128, 4, 7, 15, 68, 2, 26, 15, 4, 18, 255, 95, 15, 64, 2, 121, 15, 68, 2, 31, 15, 72, 18, 18, 15, 64, 2, 255, 219, 15, 184, 22, 17, 15, 80, 2, 32, 15, 64, 2, 255, 223, 14, 24, 9, 15, 68, 2, 46, 15, 64, 2, 255, 99, 53, 72, 50, 59, 4, 0, 15, 44, 0, 1, 15, 220, 1, 0, 15, 212, 6, 137, 15, 64, 2, 255, 147, 47, 170, 204, 204, 6, 85, 15, 64, 2, 255, 200, 47, 170, 204, 64, 2, 83, 15, 224, 31, 11, 15, 64, 2, 231, 63, 0, 163, 255, 64, 2, 174, 15, 68, 2, 53, 31, 255, 200, 76, 208, 8, 4, 0, 0, 252, 1, 15, 64, 2, 49, 14, 68, 2, 15, 64, 2, 159, 15, 68, 2, 47, 15, 60, 13, 219, 34, 0, 163, 52, 1, 14, 68, 2, 15, 68, 0, 31, 4, 72, 0, 15, 64, 2, 173, 47, 170, 204, 60, 2, 255, 20, 8, 88, 5, 46, 0, 163, 68, 2, 15, 64, 2, 233, 47, 170, 204, 56, 2, 255, 12, 4, 248, 1, 15, 4, 0, 59, 15, 64, 2, 111, 38, 75, 53, 4, 0, 15, 64, 2, 15, 15, 248, 44, 33, 15, 60, 2, 75, 14, 140, 22, 15, 64, 2, 223, 14, 68, 2, 15, 64, 2, 179, 4, 28, 13, 15, 128, 4, 53, 14, 240, 4, 15, 56, 36, 6, 15, 60, 2, 129, 15, 64, 2, 255, 31, 15, 212, 6, 16, 15, 60, 2, 58, 12, 72, 2, 15, 60, 2, 213, 14, 68, 2, 15, 192, 6, 203, 15, 68, 2, 0, 15, 168, 56, 69, 15, 60, 2, 113, 15, 64, 2, 255, 47, 15, 248, 1, 11, 15, 160, 2, 45, 15, 136, 4, 14, 15, 64, 2, 255, 63, 53, 78, 48, 57, 4, 0, 15, 64, 2, 61, 14, 16, 2, 15, 4, 0, 235, 15, 232, 1, 1, 49, 2, 0, 0, 4, 0, 15, 28, 2, 3, 15, 52, 0, 42, 15, 64, 2, 129, 15, 4, 0, 255, 39, 47, 0, 163, 64, 2, 218, 15, 0, 117, 255, 63, 14, 188, 6, 15, 196, 6, 159, 15, 64, 2, 45, 63, 199, 195, 194, 4, 0, 255, 35, 14, 60, 2, 15, 68, 2, 86, 15, 128, 4, 255, 179, 15, 64, 2, 245, 63, 156, 118, 131, 128, 4, 255, 159, 14, 68, 2, 15, 64, 2, 59, 53, 76, 48, 57, 4, 0, 15, 64, 2, 17, 0, 12, 10, 15, 168, 1, 133, 0, 160, 0, 14, 228, 2, 15, 60, 2, 147, 63, 54, 82, 171, 4, 0, 18, 15, 72, 2, 40, 15, 64, 2, 114, 4, 68, 2, 14, 72, 2, 15, 56, 2, 111, 8, 160, 0, 15, 124, 4, 245, 14, 68, 2, 15, 64, 2, 102, 15, 164, 1, 130, 12, 60, 2, 14, 68, 2, 15, 60, 2, 106, 15, 64, 2, 255, 3, 8, 216, 16, 15, 244, 1, 44, 15, 56, 2, 62, 14, 36, 5, 15, 60, 2, 247, 14, 68, 2, 15, 128, 4, 103, 4, 164, 1, 14, 4, 2, 15, 108, 6, 79, 15, 60, 2, 16, 14, 228, 2, 15, 60, 2, 128, 15, 156, 20, 51, 15, 64, 2, 119, 53, 77, 55, 58, 4, 0, 15, 64, 2, 17, 12, 4, 0, 15, 240, 1, 40, 15, 56, 2, 50, 15, 68, 2, 1, 4, 16, 0, 14, 188, 54, 15, 4, 0, 71, 15, 56, 2, 27, 15, 72, 2, 53, 15, 64, 2, 99, 53, 73, 47, 57, 4, 0, 15, 64, 2, 16, 15, 4, 0, 70, 15, 204, 4, 8, 15, 96, 0, 49, 15, 124, 4, 118, 14, 40, 25, 15, 68, 2, 151, 15, 64, 2, 73, 8, 236, 3, 15, 4, 0, 133, 15, 124, 4, 107, 15, 108, 27, 85, 15, 64, 2, 167, 15, 68, 2, 144, 15, 64, 2, 255, 135, 15, 4, 0, 157, 4, 240, 1, 15, 32, 9, 63, 15, 64, 2, 109, 15, 0, 9, 18, 15, 64, 2, 255, 47, 15, 156, 4, 79, 15, 64, 2, 127, 14, 128, 22, 15, 64, 2, 255, 60, 15, 72, 2, 9, 0, 64, 1, 8, 8, 0, 15, 64, 2, 255, 255, 11, 4, 68, 2, 12, 44, 2, 14, 60, 2, 15, 132, 4, 13, 15, 64, 2, 255, 160, 0, 40, 1, 15, 68, 2, 65, 15, 60, 2, 13, 63, 81, 135, 0, 64, 2, 12, 15, 60, 2, 171, 15, 64, 2, 5, 53, 70, 46, 57, 4, 0, 15, 64, 2, 173, 38, 0, 163, 180, 1, 15, 68, 2, 41, 0, 44, 1, 8, 12, 0, 4, 64, 2, 8, 68, 2, 12, 140, 4, 12, 64, 2, 5, 116, 1, 15, 64, 2, 60, 63, 79, 87, 95, 64, 2, 255, 47, 63, 168, 119, 255, 128, 4, 26, 8, 16, 2, 15, 64, 2, 33, 12, 4, 0, 8, 80, 2, 4, 16, 0, 8, 68, 2, 8, 28, 0, 12, 200, 1, 42, 81, 135, 72, 46, 12, 16, 0, 15, 60, 2, 68, 15, 64, 2, 246, 34, 168, 119, 172, 1, 15, 68, 2, 9, 0, 148, 1, 15, 68, 2, 0, 15, 20, 0, 26, 4, 68, 0, 0, 16, 0, 0, 12, 0, 15, 92, 1, 13, 4, 64, 2, 12, 40, 0, 12, 232, 46, 15, 64, 2, 25, 0, 48, 2, 8, 4, 0, 15, 60, 2, 21, 0, 84, 0, 15, 64, 2, 17, 0, 40, 0, 4, 4, 0, 15, 28, 0, 8, 15, 128, 4, 218, 8, 252, 1, 4, 0, 1, 8, 72, 4, 15, 48, 2, 5, 8, 60, 1, 8, 60, 0, 8, 64, 2, 15, 72, 2, 13, 8, 40, 0, 0, 124, 1, 14, 40, 49, 14, 224, 1, 4, 44, 0, 15, 76, 2, 1, 0, 16, 25, 8, 164, 18, 14, 120, 2, 15, 116, 4, 3, 8, 252, 1, 15, 4, 0, 1, 12, 32, 2, 15, 4, 0, 16, 15, 64, 2, 6, 53, 68, 46, 57, 4, 0, 53, 80, 58, 58, 4, 0, 15, 64, 2, 137, 0, 208, 0, 63, 54, 228, 0, 32, 0, 10, 8, 60, 2, 15, 96, 4, 4, 15, 172, 6, 14, 14, 116, 1, 6, 64, 2, 15, 84, 2, 5, 4, 48, 0, 4, 12, 9, 14, 68, 2, 6, 64, 2, 15, 232, 1, 13, 12, 64, 2, 14, 120, 2, 14, 72, 0, 15, 12, 2, 21, 15, 68, 2, 33, 15, 64, 2, 181, 12, 60, 2, 12, 16, 0, 14, 192, 6, 10, 220, 8, 12, 36, 4, 12, 132, 4, 12, 72, 4, 14, 180, 3, 15, 208, 3, 3, 49, 77, 0, 255, 4, 0, 15, 156, 13, 0, 15, 4, 0, 34, 15, 64, 2, 0, 15, 4, 0, 57, 15, 64, 2, 222, 4, 40, 2, 15, 124, 4, 17, 15, 24, 0, 5, 4, 48, 2, 0, 152, 8, 8, 20, 0, 15, 228, 5, 0, 15, 184, 3, 22, 4, 56, 2, 47, 77, 0, 224, 15, 7, 47, 77, 0, 4, 0, 23, 15, 64, 2, 255, 74, 4, 4, 0, 15, 92, 2, 0, 15, 64, 2, 10, 4, 28, 0, 42, 2, 0, 28, 2, 47, 54, 228, 228, 5, 23, 15, 132, 4, 0, 14, 120, 4, 15, 112, 4, 0, 15, 68, 2, 9, 4, 144, 6, 15, 28, 0, 1, 12, 64, 2, 63, 83, 37, 126, 64, 2, 255, 11, 14, 88, 4, 14, 60, 2, 15, 136, 4, 5, 8, 8, 2, 15, 20, 2, 5, 8, 96, 2, 4, 80, 0, 15, 76, 1, 37, 14, 240, 1, 15, 64, 2, 31, 4, 188, 8, 46, 39, 236, 68, 2, 15, 64, 2, 5, 0, 4, 0, 14, 172, 4, 15, 64, 2, 103, 53, 62, 45, 57, 4, 0, 15, 64, 2, 153, 14, 4, 0, 15, 64, 2, 3, 12, 180, 4, 14, 64, 2, 15, 60, 2, 51, 8, 68, 2, 15, 64, 2, 1, 12, 252, 1, 12, 52, 13, 15, 68, 2, 1, 12, 192, 15, 8, 64, 0, 4, 136, 0, 15, 64, 2, 121, 53, 77, 58, 62, 4, 0, 15, 64, 2, 0, 15, 12, 11, 98, 12, 36, 2, 14, 64, 2, 15, 76, 2, 10, 15, 44, 0, 18, 47, 54, 228, 60, 2, 51, 15, 4, 0, 25, 15, 236, 19, 3, 15, 40, 9, 30, 15, 64, 2, 186, 0, 68, 3, 15, 212, 8, 37, 15, 104, 4, 4, 15, 4, 0, 38, 14, 60, 2, 15, 64, 2, 43, 8, 244, 3, 15, 68, 2, 69, 14, 160, 6, 15, 60, 2, 10, 15, 64, 2, 186, 34, 39, 236, 188, 5, 14, 68, 2, 15, 88, 13, 27, 15, 64, 2, 9, 0, 56, 20, 14, 84, 2, 15, 4, 0, 59, 15, 112, 4, 0, 15, 4, 0, 74, 15, 60, 2, 25, 8, 144, 0, 15, 64, 2, 65, 47, 54, 228, 128, 4, 151, 15, 104, 4, 29, 8, 184, 24, 15, 68, 2, 77, 46, 54, 228, 60, 2, 15, 4, 0, 109, 14, 60, 2, 15, 64, 2, 171, 14, 236, 10, 14, 184, 19, 15, 96, 15, 9, 47, 81, 135, 168, 6, 31, 34, 168, 119, 60, 1, 15, 64, 2, 81, 8, 188, 1, 14, 20, 0, 15, 64, 2, 103, 14, 236, 1, 15, 12, 2, 23, 47, 54, 228, 64, 2, 135, 15, 156, 17, 13, 8, 64, 2, 14, 16, 11, 15, 216, 8, 25, 15, 60, 2, 91, 8, 68, 2, 15, 64, 2, 8, 15, 96, 2, 42, 15, 60, 0, 9, 46, 54, 228, 104, 13, 15, 100, 14, 3, 15, 64, 2, 51, 12, 104, 1, 15, 64, 2, 73, 15, 184, 8, 0, 15, 52, 22, 5, 14, 20, 11, 15, 4, 0, 164, 12, 240, 1, 4, 156, 4, 14, 160, 4, 15, 60, 2, 23, 14, 60, 0, 6, 56, 2, 14, 212, 1, 15, 64, 2, 39, 14, 56, 0, 15, 64, 2, 7, 47, 54, 228, 128, 4, 19, 53, 58, 44, 57, 4, 0, 53, 76, 59, 66, 4, 0, 15, 64, 2, 25, 8, 192, 19, 15, 228, 19, 12, 15, 64, 2, 214, 14, 52, 0, 15, 40, 0, 2, 15, 240, 4, 18, 31, 54, 252, 11, 32, 15, 24, 0, 3, 15, 40, 19, 9, 15, 64, 2, 79, 15, 116, 4, 4, 15, 64, 2, 6, 8, 132, 0, 14, 124, 4, 15, 4, 0, 231, 14, 184, 4, 15, 48, 7, 6, 15, 220, 7, 34, 47, 81, 135, 28, 19, 25, 15, 64, 2, 95, 15, 192, 0, 15, 15, 184, 8, 5, 15, 4, 0, 255, 16, 14, 52, 2, 15, 88, 14, 63, 14, 184, 1, 14, 0, 7, 15, 64, 2, 91, 15, 48, 2, 5, 15, 4, 0, 255, 128, 15, 120, 4, 5, 47, 81, 135, 64, 2, 47, 53, 74, 60, 70, 4, 0, 15, 64, 2, 3, 15, 4, 0, 255, 148, 15, 16, 11, 9, 47, 54, 228, 64, 2, 255, 255, 17, 47, 54, 228, 12, 2, 1, 15, 128, 4, 31, 31, 54, 192, 15, 16, 53, 56, 44, 57, 4, 0, 15, 64, 2, 255, 186, 47, 54, 228, 64, 2, 43, 14, 64, 20, 15, 64, 2, 255, 224, 14, 144, 4, 15, 116, 22, 5, 15, 64, 2, 255, 255, 17, 15, 68, 2, 13, 47, 54, 228, 64, 2, 255, 252, 14, 76, 17, 15, 232, 8, 5, 15, 64, 2, 255, 255, 13, 14, 12, 0, 15, 128, 4, 255, 255, 29, 47, 54, 228, 124, 31, 17, 15, 64, 2, 255, 255, 5, 14, 4, 0, 15, 64, 2, 255, 255, 25, 47, 54, 228, 64, 2, 31, 47, 54, 228, 64, 2, 43, 53, 73, 61, 74, 4, 0, 15, 64, 2, 45, 0, 148, 41, 15, 64, 2, 255, 138, 47, 54, 228, 64, 2, 135, 8, 136, 71, 15, 64, 2, 255, 122, 46, 54, 228, 64, 2, 15, 128, 4, 255, 255, 11, 31, 54, 252, 35, 18, 14, 128, 22, 15, 64, 2, 85, 0, 48, 47, 15, 128, 31, 7, 15, 84, 2, 255, 120, 14, 240, 35, 15, 64, 2, 111, 8, 176, 51, 15, 212, 6, 255, 154, 14, 88, 2, 15, 24, 18, 13, 15, 128, 4, 75, 47, 81, 135, 212, 6, 255, 160, 14, 64, 2, 15, 12, 0, 7, 8, 44, 0, 15, 64, 2, 49, 15, 16, 14, 29, 14, 180, 0, 14, 64, 2, 15, 28, 9, 255, 134, 13, 0, 4, 15, 64, 2, 52, 47, 54, 228, 12, 0, 9, 15, 64, 2, 255, 152, 15, 160, 1, 11, 15, 64, 2, 71, 15, 76, 34, 17, 47, 54, 228, 4, 0, 255, 192, 15, 128, 4, 57, 15, 60, 7, 7, 15, 64, 2, 255, 184, 47, 81, 135, 192, 6, 95, 47, 81, 135, 128, 4, 255, 255, 17, 15, 64, 11, 7, 15, 64, 2, 255, 255, 17, 15, 4, 0, 19, 15, 64, 2, 255, 243, 15, 4, 0, 255, 253, 15, 64, 2, 255, 255, 255, 255, 147, 63, 59, 51, 73, 64, 2, 255, 255, 40, 0, 60, 2, 147, 67, 66, 77, 80, 45, 0, 0, 0, 5, 4, 0, 41, 8, 0, 1, 0, 17, 13, 4, 0, 6, 2, 0, 32, 0, 13, 18, 0, 0, 53, 0, 83, 100, 1, 0, 0, 42, 49, 0, 8, 53, 0, 31, 8, 1, 0, 41, 19, 2, 1, 0, 13, 25, 0, 33, 15, 15, 4, 0, 35, 15, 15, 12, 0, 69, 2, 2, 15, 15, 43, 0, 32, 2, 2, 57, 0, 16, 8, 2, 0, 17, 8, 33, 0, 5, 2, 0, 0, 29, 0, 35, 15, 15, 43, 0, 16, 8, 32, 0, 3, 4, 0, 0, 42, 0, 47, 15, 15, 42, 0, 8, 1, 84, 0, 3, 47, 0, 8, 82, 0, 44, 15, 8, 126, 0, 40, 8, 2, 84, 0, 3, 4, 0, 33, 8, 15, 96, 0, 9, 210, 0, 6, 130, 0, 31, 2, 19, 1, 24, 15, 108, 1, 95, 2, 0, 1, 22, 8, 180, 0, 1, 1, 0, 0, 242, 0, 2, 125, 1, 4, 57, 1, 5, 205, 0, 3, 123, 1, 3, 83, 0, 1, 70, 1, 4, 137, 1, 2, 141, 1, 5, 159, 1, 15, 42, 0, 3, 5, 217, 1, 41, 8, 8, 82, 0, 44, 2, 8, 126, 0, 40, 8, 15, 84, 0, 4, 83, 1, 2, 255, 1, 9, 210, 0, 39, 15, 15, 126, 0, 15, 108, 1, 26, 23, 84, 104, 1, 15, 108, 1, 6, 3, 249, 1, 3, 161, 0, 40, 8, 8, 8, 0, 4, 24, 0, 6, 40, 0, 15, 92, 0, 27, 35, 15, 15, 6, 0, 3, 76, 2, 8, 8, 0, 4, 24, 0, 6, 40, 0, 15, 92, 0, 23, 5, 175, 2, 6, 183, 2, 1, 11, 0, 6, 24, 0, 3, 159, 2, 5, 200, 0, 15, 184, 0, 23, 0, 202, 1, 9, 8, 0, 1, 10, 0, 23, 15, 24, 0, 3, 143, 1, 5, 200, 0, 2, 184, 0, 81, 80, 65, 76, 0, 3, 75, 0, 255, 81, 29, 43, 83, 126, 37, 83, 0, 135, 81, 171, 82, 54, 95, 87, 79, 194, 195, 199, 255, 241, 232, 255, 0, 77, 255, 163, 0, 255, 236, 39, 0, 228, 54, 41, 173, 255, 131, 118, 156, 255, 119, 168, 255, 204, 170, 12, 18, 35, 53, 41, 83, 94, 61, 82, 42, 121, 74, 152, 83, 60, 119, 114, 109, 209, 206, 207, 255, 180, 193, 255, 40, 57, 255, 181, 9, 191, 214, 42, 10, 214, 104, 63, 159, 230, 162, 118, 159, 255, 140, 168, 200, 161, 130, 2, 4, 8, 3, 0, 88, 17, 9, 3, 0, 15, 48, 0, 29, 9, 54, 0, 63, 3, 5, 10, 48, 0, 10, 12, 60, 0, 14, 48, 0, 15, 150, 0, 11, 56, 3, 5, 10, 3, 0, 254, 81, 41, 24, 20, 17, 29, 53, 66, 33, 54, 18, 83, 89, 116, 47, 41, 73, 51, 59, 162, 136, 121, 243, 239, 125, 190, 18, 80, 255, 108, 36, 168, 231, 46, 0, 181, 67, 6, 90, 181, 117, 70, 101, 255, 110, 89, 255, 157, 129, 52, 35, 31, 41, 31, 53, 54, 45, 62, 42, 74, 77, 105, 48, 45, 95, 72, 74, 182, 161, 122, 229, 183, 113, 206, 40, 69, 233, 138, 38, 126, 218, 51, 1, 158, 95, 33, 85, 161, 151, 80, 98, 255, 121, 99, 208, 135, 109, 128, 1, 15, 3, 0, 251, 0, 100, 3, 83, 101, 0, 0, 0, 9, 4, 0, 47, 8, 0, 1, 0, 3, 52, 7, 7, 7, 8, 0, 36, 7, 7, 8, 0, 47, 7, 7, 9, 0, 1, 5, 36, 0, 6, 54, 0, 3, 69, 0, 15, 109, 0, 19, 14, 91, 0, 15, 9, 0, 26, 15, 109, 0, 28, 3, 2, 0, 15, 18, 0, 44, 15, 109, 0, 14, 81, 16, 16, 16, 16, 0, 4, 0, 32, 7, 7, 5, 0, 4, 9, 0, 2, 22, 0, 25, 16, 41, 0, 1, 4, 0, 3, 36, 0, 23, 16, 18, 0, 15, 218, 0, 27, 15, 73, 0, 16, 6, 127, 0, 10, 145, 0, 0, 9, 0, 4, 181, 0, 15, 109, 0, 54, 15, 2, 1, 12, 80, 0, 0, 0, 0, 0, 99, 70, 73, 76, 0, 0, 0, 0, 76, 53, 0, 0, 112, 111, 100, 47, 102, 95, 112, 105, 99, 111, 56, 46, 112, 111, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 8, 0, 0, 242, 14, 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 102, 95, 112, 105, 99, 111, 56, 46, 112, 111, 100, 0, 0, 105, 120, 101, 100, 10, 0, 6, 1, 0, 47, 1, 0, 1, 0, 10, 247, 2, 67, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 28, 0, 66, 255, 255, 255, 255, 5, 0, 1, 12, 0, 15, 43, 0, 11, 79, 0, 0, 255, 0, 43, 0, 24, 31, 0, 43, 0, 19, 2, 128, 0, 15, 129, 0, 17, 3, 169, 0, 15, 43, 0, 16, 0, 123, 0, 18, 255, 128, 0, 15, 86, 0, 15, 47, 0, 255, 129, 0, 21, 4, 216, 0, 15, 129, 0, 18, 4, 85, 0, 15, 129, 0, 2, 15, 174, 1, 7, 15, 43, 0, 52, 47, 255, 255, 215, 0, 25, 2, 5, 1, 15, 172, 0, 58, 2, 125, 0, 15, 129, 0, 22, 0, 176, 1, 31, 0, 43, 0, 20, 6, 1, 0, 15, 172, 0, 12, 5, 40, 0, 15, 88, 1, 4, 14, 9, 3, 15, 43, 0, 18, 5, 2, 0, 15, 43, 0, 18, 31, 0, 43, 0, 22, 2, 3, 0, 15, 43, 0, 14, 21, 255, 92, 1, 47, 0, 0, 219, 2, 15, 6, 94, 1, 15, 4, 2, 16, 2, 220, 2, 15, 133, 2, 16, 4, 225, 3, 15, 178, 3, 18, 2, 7, 2, 31, 255, 219, 2, 17, 31, 255, 6, 3, 25, 2, 92, 1, 15, 43, 0, 19, 1, 47, 1, 15, 172, 0, 13, 47, 0, 255, 219, 2, 18, 7, 0, 2, 14, 172, 0, 15, 49, 3, 38, 24, 0, 129, 1, 15, 172, 0, 54, 6, 45, 2, 1, 6, 0, 15, 135, 3, 15, 5, 48, 2, 15, 129, 0, 12, 4, 6, 1, 31, 0, 86, 0, 14, 5, 217, 2, 15, 178, 3, 14, 8, 213, 0, 15, 131, 1, 16, 47, 0, 255, 4, 2, 18, 23, 255, 92, 1, 15, 215, 0, 15, 4, 173, 2, 15, 215, 0, 3, 14, 137, 3, 47, 0, 255, 4, 2, 23, 14, 135, 3, 15, 43, 0, 2, 3, 56, 6, 15, 90, 2, 24, 31, 255, 51, 4, 15, 5, 1, 1, 15, 16, 8, 17, 4, 56, 4, 15, 229, 7, 17, 3, 8, 1, 15, 57, 7, 15, 5, 95, 2, 15, 100, 7, 16, 31, 255, 94, 4, 20, 7, 185, 4, 15, 227, 6, 20, 31, 255, 16, 8, 16, 7, 15, 6, 15, 16, 8, 17, 15, 129, 0, 21, 31, 255, 86, 0, 21, 15, 215, 0, 21, 4, 222, 2, 3, 6, 0, 15, 43, 0, 21, 47, 255, 0, 47, 2, 16, 3, 54, 3, 31, 0, 100, 7, 16, 5, 6, 0, 15, 88, 1, 12, 5, 13, 7, 14, 133, 2, 15, 4, 2, 5, 15, 221, 3, 16, 4, 176, 2, 47, 0, 0, 188, 8, 15, 15, 10, 5, 20, 47, 0, 0, 180, 4, 23, 7, 8, 2, 47, 0, 255, 86, 0, 17, 3, 182, 2, 47, 0, 67, 188, 8, 16, 15, 86, 0, 21, 3, 43, 0, 14, 94, 4, 15, 172, 0, 2, 15, 215, 0, 19, 47, 255, 0, 45, 1, 24, 30, 255, 8, 4, 15, 43, 0, 14, 15, 18, 9, 17, 4, 48, 1, 15, 43, 0, 14, 6, 152, 11, 15, 20, 10, 19, 14, 86, 0, 15, 174, 1, 9, 31, 0, 90, 2, 16, 14, 217, 1, 15, 133, 2, 14, 15, 178, 3, 16, 3, 67, 11, 15, 90, 2, 21, 47, 255, 0, 172, 0, 20, 3, 7, 0, 15, 174, 1, 21, 47, 0, 255, 192, 10, 23, 15, 90, 2, 23, 15, 86, 0, 22, 31, 255, 176, 2, 19, 5, 150, 8, 15, 90, 2, 17, 31, 255, 2, 1, 22, 31, 0, 184, 6, 18, 7, 10, 6, 31, 255, 10, 5, 17, 31, 255, 96, 5, 17, 10, 101, 7, 15, 149, 10, 12, 15, 192, 10, 22, 10, 224, 0, 31, 67, 61, 9, 14, 15, 75, 16, 27, 14, 49, 3, 15, 14, 7, 5, 15, 20, 10, 18, 31, 255, 221, 3, 21, 8, 175, 3, 15, 243, 14, 20, 3, 235, 7, 15, 43, 0, 22, 47, 0, 0, 172, 0, 20, 15, 188, 8, 15, 15, 45, 1, 25, 15, 104, 9, 25, 6, 43, 0, 15, 239, 12, 13, 15, 96, 5, 21, 9, 229, 8, 15, 159, 15, 18, 14, 53, 5, 15, 174, 1, 4, 15, 43, 0, 19, 6, 93, 5, 14, 96, 5, 15, 133, 2, 7, 14, 174, 1, 15, 59, 8, 1, 15, 96, 5, 18, 47, 255, 255, 45, 1, 22, 5, 101, 10, 14, 94, 4, 15, 174, 1, 8, 15, 241, 13, 16, 15, 96, 5, 21, 8, 3, 3, 15, 86, 0, 22, 31, 255, 176, 2, 19, 5, 51, 1, 15, 151, 11, 21, 15, 237, 11, 20, 47, 0, 255, 210, 19, 24, 15, 14, 7, 15, 47, 255, 0, 88, 1, 22, 5, 177, 5, 15, 145, 8, 17, 5, 196, 12, 15, 10, 5, 4, 15, 35, 16, 4, 0, 43, 0, 95, 55, 0, 0, 0, 7, 208, 18, 15, 15, 1, 0, 1, 15, 63, 0, 10, 15, 2, 0, 15, 15, 63, 0, 11, 9, 132, 0, 8, 197, 8, 4, 70, 3, 15, 63, 0, 9, 7, 136, 18, 7, 68, 22, 3, 246, 19, 15, 63, 0, 15, 5, 91, 6, 2, 57, 0, 15, 14, 0, 1, 15, 126, 0, 10, 4, 152, 6, 24, 255, 131, 12, 5, 161, 1, 15, 63, 0, 16, 5, 55, 0, 27, 255, 253, 16, 3, 28, 0, 15, 252, 0, 12, 47, 0, 255, 56, 0, 4, 3, 155, 0, 15, 126, 0, 19, 5, 113, 1, 4, 124, 1, 14, 126, 0, 15, 189, 0, 7, 7, 245, 0, 7, 126, 0, 31, 255, 252, 0, 24, 6, 255, 3, 7, 65, 9, 15, 248, 1, 21, 27, 255, 248, 1, 31, 0, 248, 1, 19, 43, 255, 255, 39, 2, 5, 181, 1, 15, 244, 2, 17, 8, 232, 0, 6, 7, 2, 9, 16, 1, 15, 181, 2, 26, 7, 0, 25, 15, 244, 2, 17, 7, 54, 3, 31, 0, 248, 1, 33, 15, 37, 4, 4, 6, 1, 0, 15, 189, 0, 20, 7, 122, 0, 3, 219, 16, 15, 189, 0, 29, 7, 135, 1, 25, 255, 74, 19, 15, 248, 1, 12, 10, 238, 0, 10, 10, 1, 15, 55, 2, 20, 10, 189, 0, 15, 122, 1, 22, 5, 221, 2, 4, 229, 5, 25, 255, 53, 22, 15, 63, 0, 19, 9, 135, 16, 2, 227, 16, 15, 122, 1, 26, 11, 82, 21, 15, 244, 2, 26, 15, 14, 0, 2, 15, 232, 5, 23, 15, 7, 0, 2, 15, 232, 5, 16, 14, 177, 1, 22, 255, 69, 22, 2, 12, 0, 15, 169, 5, 13, 9, 184, 12, 7, 109, 13, 7, 49, 24, 15, 173, 4 ]);
fileData0.push.apply(fileData0, [ 14, 10, 69, 2, 6, 186, 3, 31, 0, 181, 2, 18, 27, 255, 197, 0, 6, 232, 10, 31, 0, 252, 0, 15, 25, 255, 237, 6, 6, 152, 25, 31, 255, 244, 2, 15, 8, 69, 23, 6, 114, 22, 11, 217, 25, 15, 106, 5, 19, 5, 14, 0, 3, 113, 2, 15, 232, 5, 16, 5, 70, 29, 25, 0, 56, 0, 6, 9, 0, 15, 189, 0, 16, 6, 136, 25, 7, 186, 0, 3, 128, 14, 15, 55, 2, 18, 8, 3, 14, 8, 189, 0, 15, 47, 4, 20, 8, 162, 5, 9, 62, 0, 15, 189, 0, 15, 15, 7, 0, 2, 14, 35, 7, 15, 55, 2, 12, 7, 61, 1, 4, 59, 1, 47, 255, 0, 126, 0, 15, 8, 217, 6, 47, 0, 0, 185, 1, 28, 9, 175, 2, 5, 240, 3, 7, 255, 0, 15, 220, 8, 17, 6, 68, 0, 40, 255, 255, 3, 1, 15, 63, 0, 19, 28, 255, 176, 5, 5, 57, 6, 15, 189, 0, 18, 14, 101, 7, 15, 177, 3, 20, 7, 208, 7, 15, 194, 1, 0, 31, 0, 185, 1, 20, 10, 50, 2, 15, 118, 2, 24, 8, 250, 0, 6, 167, 3, 5, 33, 8, 15, 43, 5, 13, 6, 44, 3, 5, 108, 6, 4, 9, 0, 15, 122, 1, 15, 5, 32, 5, 6, 46, 6, 7, 187, 13, 5, 187, 12, 15, 118, 2, 10, 5, 56, 0, 25, 0, 216, 10, 7, 2, 17, 15, 118, 2, 13, 7, 216, 5, 1, 133, 33, 31, 255, 236, 4, 23, 5, 239, 4, 14, 14, 0, 15, 59, 1, 13, 40, 255, 255, 55, 3, 11, 110, 4, 15, 51, 3, 19, 15, 196, 2, 0, 6, 252, 6, 47, 0, 255, 90, 9, 18, 43, 255, 255, 77, 29, 5, 59, 2, 15, 98, 7, 12, 9, 35, 5, 40, 255, 255, 30, 7, 1, 148, 1, 15, 232, 5, 25, 10, 179, 6, 47, 255, 255, 90, 9, 15, 27, 0, 126, 26, 4, 48, 2, 15, 204, 12, 20, 4, 56, 0, 9, 235, 6, 3, 144, 1, 15, 51, 3, 16, 15, 25, 8, 0, 7, 146, 13, 15, 232, 5, 16, 7, 238, 3, 7, 14, 0, 4, 170, 5, 15, 189, 0, 20, 25, 255, 57, 36, 15, 169, 5, 22, 6, 162, 19, 4, 193, 12, 9, 8, 2, 15, 110, 4, 26, 9, 185, 1, 14, 27, 9, 15, 102, 6, 6, 31, 0, 220, 8, 1, 15, 228, 6, 26, 8, 44, 3, 14, 248, 1, 15, 102, 6, 17, 7, 9, 26, 5, 237, 4, 15, 102, 6, 19, 5, 101, 8, 5, 16, 10, 2, 35, 8, 31, 255, 126, 0, 34, 14, 55, 2, 15, 236, 4, 23, 15, 157, 8, 31, 6, 160, 23, 9, 171, 5, 15, 35, 7, 1, 15, 246, 1, 10, 7, 239, 4, 14, 59, 1, 15, 110, 4, 6, 10, 140, 0, 47, 0, 0, 7, 14, 27, 41, 255, 0, 29, 10, 8, 115, 7, 15, 236, 4, 19, 8, 173, 2, 5, 0, 25, 15, 126, 0, 23, 13, 249, 2, 4, 78, 3, 15, 224, 7, 20, 7, 6, 11, 9, 236, 7, 31, 67, 212, 10, 16, 10, 6, 12, 9, 7, 0, 15, 216, 9, 26, 13, 156, 8, 15, 141, 12, 20, 14, 126, 0, 15, 196, 14, 17, 13, 209, 9, 7, 238, 6, 14, 204, 12, 15, 216, 9, 8, 10, 234, 2, 4, 145, 11, 31, 255, 63, 0, 22, 15, 10, 1, 0, 47, 255, 0, 126, 0, 19, 6, 94, 32, 9, 93, 9, 15, 63, 0, 26, 5, 11, 13, 14, 244, 2, 15, 55, 2, 20, 9, 7, 0, 47, 255, 255, 39, 6, 33, 11, 127, 0, 15, 169, 5, 20, 9, 21, 8, 7, 140, 2, 15, 189, 0, 27, 8, 100, 7, 14, 39, 6, 15, 248, 1, 9, 15, 79, 12, 0, 15, 200, 13, 20, 14, 116, 1, 15, 109, 20, 23, 6, 242, 1, 6, 35, 7, 2, 191, 0, 47, 0, 255, 51, 3, 26, 12, 81, 13, 31, 0, 161, 7, 16, 8, 49, 16, 15, 177, 3, 38, 31, 0, 126, 0, 34, 47, 0, 255, 240, 5, 5, 14, 106, 5, 15, 70, 14, 19, 15, 126, 0, 26, 15, 196, 0, 1, 9, 203, 0, 15, 118, 2, 26, 9, 184, 1, 47, 255, 255, 189, 0, 29, 8, 202, 16, 15, 165, 6, 20, 15, 111, 2, 4, 47, 0, 255, 252, 0, 18, 47, 255, 0, 115, 16, 0, 6, 50, 6, 15, 244, 2, 14, 13, 223, 7, 15, 125, 16, 32, 47, 0, 0, 39, 6, 36, 31, 0, 71, 12, 4, 3, 8, 0, 15, 55, 2, 22, 15, 204, 12, 32, 15, 98, 7, 3, 14, 66, 15, 15, 23, 10, 14, 11, 77, 0, 3, 14, 0, 15, 58, 17, 19, 8, 130, 1, 39, 0, 0, 168, 21, 47, 0, 255, 244, 2, 15, 14, 183, 0, 6, 223, 24, 15, 39, 6, 20, 47, 255, 0, 58, 17, 36, 6, 157, 24, 13, 190, 1, 15, 94, 8, 17, 14, 233, 5, 9, 246, 7, 15, 11, 13, 18, 7, 48, 0, 5, 9, 17, 14, 122, 1, 15, 236, 4, 21, 14, 121, 17, 15, 35, 7, 10, 11, 7, 0, 15, 63, 0, 25, 31, 255, 7, 0, 3, 4, 25, 12, 15, 177, 3, 20, 30, 0, 191, 3, 15, 152, 25, 20, 15, 130, 0, 5, 15, 122, 1, 19, 10, 87, 7, 31, 255, 157, 8, 39, 15, 122, 1, 29, 12, 28, 4, 8, 66, 3, 47, 255, 255, 39, 6, 21, 7, 13, 26, 15, 106, 5, 30, 31, 0, 92, 10, 4, 15, 165, 6, 25, 11, 131, 2, 31, 255, 47, 4, 22, 8, 56, 0, 13, 156, 10, 31, 0, 110, 4, 25, 13, 237, 22, 15, 192, 15, 23, 41, 0, 255, 143, 9, 160, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0 ]);
Module["FS_createDataFile"]("/", "data.pod", fileData0, true, true, false);
}
if (Module["calledRun"]) {
runWithFS();
} else {
if (!Module["preRun"]) Module["preRun"] = [];
Module["preRun"].push(runWithFS);
}
};
loadPackage({
"files": []
});
})();
var moduleOverrides = {};
var key;
for (key in Module) {
if (Module.hasOwnProperty(key)) {
moduleOverrides[key] = Module[key];
}
}
Module["arguments"] = [];
Module["thisProgram"] = "./this.program";
Module["quit"] = function(status, toThrow) {
throw toThrow;
};
Module["preRun"] = [];
Module["postRun"] = [];
var ENVIRONMENT_IS_WEB = false;
var ENVIRONMENT_IS_WORKER = false;
var ENVIRONMENT_IS_NODE = false;
var ENVIRONMENT_IS_SHELL = false;
ENVIRONMENT_IS_WEB = typeof window === "object";
ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
ENVIRONMENT_IS_NODE = typeof process === "object" && typeof require === "function" && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
var scriptDirectory = "";
function locateFile(path) {
if (Module["locateFile"]) {
return Module["locateFile"](path, scriptDirectory);
} else {
return scriptDirectory + path;
}
}
if (ENVIRONMENT_IS_NODE) {
scriptDirectory = __dirname + "/";
var nodeFS;
var nodePath;
Module["read"] = function shell_read(filename, binary) {
var ret;
ret = tryParseAsDataURI(filename);
if (!ret) {
if (!nodeFS) nodeFS = require("fs");
if (!nodePath) nodePath = require("path");
filename = nodePath["normalize"](filename);
ret = nodeFS["readFileSync"](filename);
}
return binary ? ret : ret.toString();
};
Module["readBinary"] = function readBinary(filename) {
var ret = Module["read"](filename, true);
if (!ret.buffer) {
ret = new Uint8Array(ret);
}
assert(ret.buffer);
return ret;
};
if (process["argv"].length > 1) {
Module["thisProgram"] = process["argv"][1].replace(/\\/g, "/");
}
Module["arguments"] = process["argv"].slice(2);
if (typeof module !== "undefined") {
module["exports"] = Module;
}
process["on"]("uncaughtException", function(ex) {
if (!(ex instanceof ExitStatus)) {
throw ex;
}
});
process["on"]("unhandledRejection", abort);
Module["quit"] = function(status) {
process["exit"](status);
};
Module["inspect"] = function() {
return "[Emscripten Module object]";
};
} else if (ENVIRONMENT_IS_SHELL) {
if (typeof read != "undefined") {
Module["read"] = function shell_read(f) {
var data = tryParseAsDataURI(f);
if (data) {
return intArrayToString(data);
}
return read(f);
};
}
Module["readBinary"] = function readBinary(f) {
var data;
data = tryParseAsDataURI(f);
if (data) {
return data;
}
if (typeof readbuffer === "function") {
return new Uint8Array(readbuffer(f));
}
data = read(f, "binary");
assert(typeof data === "object");
return data;
};
if (typeof scriptArgs != "undefined") {
Module["arguments"] = scriptArgs;
} else if (typeof arguments != "undefined") {
Module["arguments"] = arguments;
}
if (typeof quit === "function") {
Module["quit"] = function(status) {
quit(status);
};
}
} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
if (ENVIRONMENT_IS_WORKER) {
scriptDirectory = self.location.href;
} else if (document.currentScript) {
scriptDirectory = document.currentScript.src;
}
if (scriptDirectory.indexOf("blob:") !== 0) {
scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1);
} else {
scriptDirectory = "";
}
Module["read"] = function shell_read(url) {
try {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, false);
xhr.send(null);
return xhr.responseText;
} catch (err) {
var data = tryParseAsDataURI(url);
if (data) {
return intArrayToString(data);
}
throw err;
}
};
if (ENVIRONMENT_IS_WORKER) {
Module["readBinary"] = function readBinary(url) {
try {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, false);
xhr.responseType = "arraybuffer";
xhr.send(null);
return new Uint8Array(xhr.response);
} catch (err) {
var data = tryParseAsDataURI(url);
if (data) {
return data;
}
throw err;
}
};
}
Module["readAsync"] = function readAsync(url, onload, onerror) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.responseType = "arraybuffer";
xhr.onload = function xhr_onload() {
if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
onload(xhr.response);
return;
}
var data = tryParseAsDataURI(url);
if (data) {
onload(data.buffer);
return;
}
onerror();
};
xhr.onerror = onerror;
xhr.send(null);
};
Module["setWindowTitle"] = function(title) {
document.title = title;
};
} else {}
var out = Module["print"] || (typeof console !== "undefined" ? console.log.bind(console) : typeof print !== "undefined" ? print : null);
var err = Module["printErr"] || (typeof printErr !== "undefined" ? printErr : typeof console !== "undefined" && console.warn.bind(console) || out);
for (key in moduleOverrides) {
if (moduleOverrides.hasOwnProperty(key)) {
Module[key] = moduleOverrides[key];
}
}
moduleOverrides = undefined;
var STACK_ALIGN = 16;
function dynamicAlloc(size) {
var ret = HEAP32[DYNAMICTOP_PTR >> 2];
var end = ret + size + 15 & -16;
if (end <= _emscripten_get_heap_size()) {
HEAP32[DYNAMICTOP_PTR >> 2] = end;
} else {
return 0;
}
return ret;
}
function getNativeTypeSize(type) {
switch (type) {
case "i1":
case "i8":
return 1;
case "i16":
return 2;
case "i32":
return 4;
case "i64":
return 8;
case "float":
return 4;
case "double":
return 8;
default:
{
if (type[type.length - 1] === "*") {
return 4;
} else if (type[0] === "i") {
var bits = parseInt(type.substr(1));
assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type);
return bits / 8;
} else {
return 0;
}
}
}
}
function warnOnce(text) {
if (!warnOnce.shown) warnOnce.shown = {};
if (!warnOnce.shown[text]) {
warnOnce.shown[text] = 1;
err(text);
}
}
var jsCallStartIndex = 1;
var functionPointers = new Array(0);
var funcWrappers = {};
function dynCall(sig, ptr, args) {
if (args && args.length) {
return Module["dynCall_" + sig].apply(null, [ ptr ].concat(args));
} else {
return Module["dynCall_" + sig].call(null, ptr);
}
}
var tempRet0 = 0;
var setTempRet0 = function(value) {
tempRet0 = value;
};
var getTempRet0 = function() {
return tempRet0;
};
var GLOBAL_BASE = 8;
function getValue(ptr, type, noSafe) {
type = type || "i8";
if (type.charAt(type.length - 1) === "*") type = "i32";
switch (type) {
case "i1":
return HEAP8[ptr >> 0];
case "i8":
return HEAP8[ptr >> 0];
case "i16":
return HEAP16[ptr >> 1];
case "i32":
return HEAP32[ptr >> 2];
case "i64":
return HEAP32[ptr >> 2];
case "float":
return HEAPF32[ptr >> 2];
case "double":
return HEAPF64[ptr >> 3];
default:
abort("invalid type for getValue: " + type);
}
return null;
}
var ABORT = false;
var EXITSTATUS = 0;
function assert(condition, text) {
if (!condition) {
abort("Assertion failed: " + text);
}
}
function getCFunc(ident) {
var func = Module["_" + ident];
assert(func, "Cannot call unknown function " + ident + ", make sure it is exported");
return func;
}
function ccall(ident, returnType, argTypes, args, opts) {
var toC = {
"string": function(str) {
var ret = 0;
if (str !== null && str !== undefined && str !== 0) {
var len = (str.length << 2) + 1;
ret = stackAlloc(len);
stringToUTF8(str, ret, len);
}
return ret;
},
"array": function(arr) {
var ret = stackAlloc(arr.length);
writeArrayToMemory(arr, ret);
return ret;
}
};
function convertReturnValue(ret) {
if (returnType === "string") return UTF8ToString(ret);
if (returnType === "boolean") return Boolean(ret);
return ret;
}
var func = getCFunc(ident);
var cArgs = [];
var stack = 0;
if (args) {
for (var i = 0; i < args.length; i++) {
var converter = toC[argTypes[i]];
if (converter) {
if (stack === 0) stack = stackSave();
cArgs[i] = converter(args[i]);
} else {
cArgs[i] = args[i];
}
}
}
var ret = func.apply(null, cArgs);
ret = convertReturnValue(ret);
if (stack !== 0) stackRestore(stack);
return ret;
}
function setValue(ptr, value, type, noSafe) {
type = type || "i8";
if (type.charAt(type.length - 1) === "*") type = "i32";
switch (type) {
case "i1":
HEAP8[ptr >> 0] = value;
break;
case "i8":
HEAP8[ptr >> 0] = value;
break;
case "i16":
HEAP16[ptr >> 1] = value;
break;
case "i32":
HEAP32[ptr >> 2] = value;
break;
case "i64":
tempI64 = [ value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0) ],
HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
break;
case "float":
HEAPF32[ptr >> 2] = value;
break;
case "double":
HEAPF64[ptr >> 3] = value;
break;
default:
abort("invalid type for setValue: " + type);
}
}
var ALLOC_NORMAL = 0;
var ALLOC_NONE = 3;
function allocate(slab, types, allocator, ptr) {
var zeroinit, size;
if (typeof slab === "number") {
zeroinit = true;
size = slab;
} else {
zeroinit = false;
size = slab.length;
}
var singleType = typeof types === "string" ? types : null;
var ret;
if (allocator == ALLOC_NONE) {
ret = ptr;
} else {
ret = [ _malloc, stackAlloc, dynamicAlloc ][allocator](Math.max(size, singleType ? 1 : types.length));
}
if (zeroinit) {
var stop;
ptr = ret;
assert((ret & 3) == 0);
stop = ret + (size & ~3);
for (;ptr < stop; ptr += 4) {
HEAP32[ptr >> 2] = 0;
}
stop = ret + size;
while (ptr < stop) {
HEAP8[ptr++ >> 0] = 0;
}
return ret;
}
if (singleType === "i8") {
if (slab.subarray || slab.slice) {
HEAPU8.set(slab, ret);
} else {
HEAPU8.set(new Uint8Array(slab), ret);
}
return ret;
}
var i = 0, type, typeSize, previousType;
while (i < size) {
var curr = slab[i];
type = singleType || types[i];
if (type === 0) {
i++;
continue;
}
if (type == "i64") type = "i32";
setValue(ret + i, curr, type);
if (previousType !== type) {
typeSize = getNativeTypeSize(type);
previousType = type;
}
i += typeSize;
}
return ret;
}
function getMemory(size) {
if (!runtimeInitialized) return dynamicAlloc(size);
return _malloc(size);
}
var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;
function UTF8ArrayToString(u8Array, idx, maxBytesToRead) {
var endIdx = idx + maxBytesToRead;
var endPtr = idx;
while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr;
if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
} else {
var str = "";
while (idx < endPtr) {
var u0 = u8Array[idx++];
if (!(u0 & 128)) {
str += String.fromCharCode(u0);
continue;
}
var u1 = u8Array[idx++] & 63;
if ((u0 & 224) == 192) {
str += String.fromCharCode((u0 & 31) << 6 | u1);
continue;
}
var u2 = u8Array[idx++] & 63;
if ((u0 & 240) == 224) {
u0 = (u0 & 15) << 12 | u1 << 6 | u2;
} else {
u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63;
}
if (u0 < 65536) {
str += String.fromCharCode(u0);
} else {
var ch = u0 - 65536;
str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
}
}
}
return str;
}
function UTF8ToString(ptr, maxBytesToRead) {
return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
}
function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
if (!(maxBytesToWrite > 0)) return 0;
var startIdx = outIdx;
var endIdx = outIdx + maxBytesToWrite - 1;
for (var i = 0; i < str.length; ++i) {
var u = str.charCodeAt(i);
if (u >= 55296 && u <= 57343) {
var u1 = str.charCodeAt(++i);
u = 65536 + ((u & 1023) << 10) | u1 & 1023;
}
if (u <= 127) {
if (outIdx >= endIdx) break;
outU8Array[outIdx++] = u;
} else if (u <= 2047) {
if (outIdx + 1 >= endIdx) break;
outU8Array[outIdx++] = 192 | u >> 6;
outU8Array[outIdx++] = 128 | u & 63;
} else if (u <= 65535) {
if (outIdx + 2 >= endIdx) break;
outU8Array[outIdx++] = 224 | u >> 12;
outU8Array[outIdx++] = 128 | u >> 6 & 63;
outU8Array[outIdx++] = 128 | u & 63;
} else {
if (outIdx + 3 >= endIdx) break;
outU8Array[outIdx++] = 240 | u >> 18;
outU8Array[outIdx++] = 128 | u >> 12 & 63;
outU8Array[outIdx++] = 128 | u >> 6 & 63;
outU8Array[outIdx++] = 128 | u & 63;
}
}
outU8Array[outIdx] = 0;
return outIdx - startIdx;
}
function stringToUTF8(str, outPtr, maxBytesToWrite) {
return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
}
function lengthBytesUTF8(str) {
var len = 0;
for (var i = 0; i < str.length; ++i) {
var u = str.charCodeAt(i);
if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;
if (u <= 127) ++len; else if (u <= 2047) len += 2; else if (u <= 65535) len += 3; else len += 4;
}
return len;
}
var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined;
function allocateUTF8OnStack(str) {
var size = lengthBytesUTF8(str) + 1;
var ret = stackAlloc(size);
stringToUTF8Array(str, HEAP8, ret, size);
return ret;
}
function writeArrayToMemory(array, buffer) {
HEAP8.set(array, buffer);
}
function writeAsciiToMemory(str, buffer, dontAddNull) {
for (var i = 0; i < str.length; ++i) {
HEAP8[buffer++ >> 0] = str.charCodeAt(i);
}
if (!dontAddNull) HEAP8[buffer >> 0] = 0;
}
function demangle(func) {
return func;
}
function demangleAll(text) {
var regex = /__Z[\w\d_]+/g;
return text.replace(regex, function(x) {
var y = demangle(x);
return x === y ? x : y + " [" + x + "]";
});
}
function jsStackTrace() {
var err = new Error();
if (!err.stack) {
try {
throw new Error(0);
} catch (e) {
err = e;
}
if (!err.stack) {
return "(no stack trace available)";
}
}
return err.stack.toString();
}
function stackTrace() {
var js = jsStackTrace();
if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"]();
return demangleAll(js);
}
var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
function updateGlobalBufferViews() {
Module["HEAP8"] = HEAP8 = new Int8Array(buffer);
Module["HEAP16"] = HEAP16 = new Int16Array(buffer);
Module["HEAP32"] = HEAP32 = new Int32Array(buffer);
Module["HEAPU8"] = HEAPU8 = new Uint8Array(buffer);
Module["HEAPU16"] = HEAPU16 = new Uint16Array(buffer);
Module["HEAPU32"] = HEAPU32 = new Uint32Array(buffer);
Module["HEAPF32"] = HEAPF32 = new Float32Array(buffer);
Module["HEAPF64"] = HEAPF64 = new Float64Array(buffer);
}
var STACK_BASE = 3002288, DYNAMIC_BASE = 8245168, DYNAMICTOP_PTR = 3002032;
var TOTAL_STACK = 5242880;
var TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 134217728;
if (TOTAL_MEMORY < TOTAL_STACK) err("TOTAL_MEMORY should be larger than TOTAL_STACK, was " + TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")");
if (Module["buffer"]) {
buffer = Module["buffer"];
} else {
{
buffer = new ArrayBuffer(TOTAL_MEMORY);
}
Module["buffer"] = buffer;
}
updateGlobalBufferViews();
HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
function callRuntimeCallbacks(callbacks) {
while (callbacks.length > 0) {
var callback = callbacks.shift();
if (typeof callback == "function") {
callback();
continue;
}
var func = callback.func;
if (typeof func === "number") {
if (callback.arg === undefined) {
Module["dynCall_v"](func);
} else {
Module["dynCall_vi"](func, callback.arg);
}
} else {
func(callback.arg === undefined ? null : callback.arg);
}
}
}
var __ATPRERUN__ = [];
var __ATINIT__ = [];
var __ATMAIN__ = [];
var __ATEXIT__ = [];
var __ATPOSTRUN__ = [];
var runtimeInitialized = false;
var runtimeExited = false;
function preRun() {
if (Module["preRun"]) {
if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ];
while (Module["preRun"].length) {
addOnPreRun(Module["preRun"].shift());
}
}
callRuntimeCallbacks(__ATPRERUN__);
}
function ensureInitRuntime() {
if (runtimeInitialized) return;
runtimeInitialized = true;
callRuntimeCallbacks(__ATINIT__);
}
function preMain() {
callRuntimeCallbacks(__ATMAIN__);
}
function exitRuntime() {
callRuntimeCallbacks(__ATEXIT__);
runtimeExited = true;
}
function postRun() {
if (Module["postRun"]) {
if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ];
while (Module["postRun"].length) {
addOnPostRun(Module["postRun"].shift());
}
}
callRuntimeCallbacks(__ATPOSTRUN__);
}
function addOnPreRun(cb) {
__ATPRERUN__.unshift(cb);
}
function addOnPostRun(cb) {
__ATPOSTRUN__.unshift(cb);
}
var Math_abs = Math.abs;
var Math_ceil = Math.ceil;
var Math_floor = Math.floor;
var Math_min = Math.min;
var runDependencies = 0;
var runDependencyWatcher = null;
var dependenciesFulfilled = null;
function getUniqueRunDependency(id) {
return id;
}
function addRunDependency(id) {
runDependencies++;
if (Module["monitorRunDependencies"]) {
Module["monitorRunDependencies"](runDependencies);
}
}
function removeRunDependency(id) {
runDependencies--;
if (Module["monitorRunDependencies"]) {
Module["monitorRunDependencies"](runDependencies);
}
if (runDependencies == 0) {
if (runDependencyWatcher !== null) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
}
if (dependenciesFulfilled) {
var callback = dependenciesFulfilled;
dependenciesFulfilled = null;
callback();
}
}
}
Module["preloadedImages"] = {};
Module["preloadedAudios"] = {};
var memoryInitializer = null;
var dataURIPrefix = "data:application/octet-stream;base64,";
function isDataURI(filename) {
return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0;
}
var ASM_CONSTS = [ function() {
if (typeof _cartdat !== "undefined") return 1;
return 0;
}, function() {
return _cartdat.length / 32768;
}, function() {
_cdpos = _cdpos + 1;
return _cartdat[_cdpos - 1];
}, function($0) {
ciii = $0;
iii = 0;
}, function() {
iii = iii + 1;
return _cartname[ciii].charCodeAt(iii - 1);
}, function() {
Module.pico8Reset = function() {
codo_command = 1;
};
Module.pico8ToggleSound = function() {
codo_command = 3;
};
Module.pico8TogglePaused = function() {
codo_command = 4;
};
Module.pico8SetPaused = function(p) {
codo_command = 5;
codo_command_p = 0;
if (p) codo_command_p = 1;
};
Module.pico8ToggleControlMenu = function() {
codo_command = 7;
};
}, function() {
function mkdir_0(d) {
try {
stat = FS.stat(d);
console.log("found directory: " + d);
} catch (e) {
FS.mkdir(d);
console.log("created directory: " + d);
}
}
console.log("mounting /user_data");
mkdir_0("/user_data");
FS.mount(IDBFS, {}, "/user_data");
FS.syncfs(true, function(err) {
if (!err) {
console.log("codo: mounted filesystem.\n");
codo_mounted_filesystem = 1;
mkdir_0("/user_data/cdata");
mkdir_0("/user_data/cstore");
mkdir_0("/user_data/carts");
mkdir_0("/user_data/backup");
mkdir_0("/user_data/plates");
mkdir_0("/user_data/bbs");
mkdir_0("/user_data/bbs/carts");
mkdir_0("/user_data/bbs/labels");
} else {
console.log("** could not mount filesystem\n");
console.log(err);
}
});
}, function() {
var val = 0;
if (window.location.pathname.indexOf("widget.php") >= 0) val = 1;
return val;
}, function() {
var val = 0;
if (window.location.pathname.indexOf("pico-8.php") >= 0) val = 1;
return val;
}, function($0, $1, $2, $3, $4) {
if (typeof pico8_state !== "undefined") {
pico8_state.is_paused = $0;
pico8_state.sound_volume = $1;
pico8_state.frame_number = $2;
pico8_state.has_focus = $3;
pico8_state.show_dpad = $4;
}
}, function() {
var val = 0;
if (typeof codo_command !== "undefined") {
val = codo_command;
codo_command = 0;
}
return val;
}, function() {
var val = 0;
if (typeof codo_command_p !== "undefined") {
val = codo_command_p;
codo_command_p = 0;
}
return val;
}, function() {
button_i = 0;
}, function() {
var val = -1;
if (typeof pico8_buttons !== "undefined") {
val = pico8_buttons[button_i];
button_i++;
}
return val;
}, function() {
var val = 0;
if (typeof pico8_gamepads !== "undefined") {
val = pico8_gamepads.count;
}
return val;
}, function() {
if (typeof on_module_load !== "undefined") {
if (on_module_load) on_module_load();
}
}, function($0, $1, $2, $3) {
var img = document.createElement("img");
img.src = UTF8ToString($0, $1);
img.style.cssText = "margin:4px; display:block; width:" + $2 + "px; height:" + $3 + "px";
holder = document.getElementById("p8_desktop");
if (holder) {
while (holder.childElementCount > 16 - 1) holder.removeChild(holder.firstChild);
holder.appendChild(img);
}
}, function($0, $1) {
if (typeof pico8_state !== "undefined") {
if (typeof pico8_state.system_messages === "undefined") pico8_state.system_messages = new Array();
pico8_state.system_messages.push(UTF8ToString($0, $1));
}
}, function($0) {
var str = window.location.hostname;
return allocate(intArrayFromString(str), "i8", ALLOC_NORMAL);
}, function($0, $1) {
if (typeof pico8_gpio !== "undefined") pico8_gpio[$0] = $1;
}, function($0) {
var val = 0;
if (typeof pico8_gpio !== "undefined") val = pico8_gpio[$0];
return val;
}, function() {
FS.syncfs(false, function(err) {});
}, function() {
var val = 0;
if (typeof codo_mounted_filesystem !== "undefined") val = 1;
return val;
}, function() {
return typeof p8_touch_detected === "undefined" || !p8_touch_detected ? 0 : 1;
}, function() {
return document.hidden ? 1 : 0;
}, function() {
if (typeof codo_key_buffer === "undefined") codo_key_buffer = [];
document.addEventListener("keydown", function(e) {
var val = -1;
if (e.key.length == 1) {
val = e.key.charCodeAt(0);
} else {
if (e.key == "Tab") val = 9;
if (e.key == "Enter") val = 13;
if (e.key == "Backspace") val = 8;
if (e.key == "Escape") val = 27;
if (val == -1) {}
}
var el = document.getElementById("codo_textarea");
codo_key_buffer.push(val);
});
}, function() {
}, function() {
document.addEventListener("wheel", function(e) {
dx = e.deltaX;
if (dx < 0) dx = -1;
if (dx > 0) dx = 1;
if (e.deltaMode == 2) dx *= 4;
if (typeof codo_wheel_dx !== "undefined") codo_wheel_dx -= dx;
dy = e.deltaY;
if (dy < 0) dy = -1;
if (dy > 0) dy = 1;
if (e.deltaMode == 2) dy *= 4;
if (typeof codo_wheel_dy !== "undefined") codo_wheel_dy -= dy;
});
}, function($0) {
function audio_log(msg) {
if (window.console && window.console.log) {
window.console.log("[codo] audio_init_webaudio " + msg);
}
}
audio_log("audio_init");
var codo_audio_context;
if (typeof Module === "undefined") audio_log(" *** Module undefined"); else if (typeof Module.ccall === "undefined") audio_log(" **** Module.ccall undefined"); else {
var webAudioAPI = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.oAudioContext || window.msAudioContext;
if (webAudioAPI) {
if (typeof pico8_audio_context !== "undefined") {
codo_audio_context = pico8_audio_context;
audio_log("found pico8_audio_context");
} else if (typeof voxatron_audio_context !== "undefined") {
codo_audio_context = voxatron_audio_context;
audio_log("found voxatron_audio_context");
} else {
codo_audio_context = new webAudioAPI();
audio_log("creating own audio context");
}
if (codo_audio_context) {
audio_log("Sample Rate: " + codo_audio_context.sampleRate);
audio_log("Buffer Size: " + $0);
node = codo_audio_context.createScriptProcessor($0, 1, 1);
node.onaudioprocess = function(e) {
var data = e.outputBuffer.getChannelData(0);
var r = 22050 / codo_audio_context.sampleRate;
var len0 = Math.floor(data.length * r);
var len1 = data.length;
var ptr = Module.ccall("mix_0", "number", [ "number", "number" ], [ len0, len1 ]);
for (var j = 0; j < data.length; j++) data[j] = Module.getValue(ptr + j * 2, "i16") / 32768;
};
node.connect(codo_audio_context.destination);
} else {
audio_log("** failed to create codo_audio_context");
}
} else {
audio_log("** webAudioAPI not found");
}
}
}, function() {
if (typeof codo_key_buffer === "undefined") codo_key_buffer = [];
return codo_key_buffer.length > 0 ? 1 : 0;
}, function() {
if (typeof codo_key_buffer === "undefined") codo_key_buffer = [];
let val = codo_key_buffer.shift() | 0;
return val;
}, function() {
temp = typeof codo_wheel_dx !== "undefined" ? codo_wheel_dx : 0;
codo_wheel_dx = 0;
return temp;
}, function() {
temp = typeof codo_wheel_dy !== "undefined" ? codo_wheel_dy : 0;
codo_wheel_dy = 0;
return temp;
}, function() {
if (document.hidden) return 0;
el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
if (el) {
if (el == document.activeElement) return 1;
}
el = document.activeElement;
return !el || el.tagName.toLowerCase() != "input" && el.tagName.toLowerCase() != "textarea";
}, function() {
el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
if (el && el.style.display != "none") {
el.focus();
el.select();
}
}, function() {
el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
if (el && el.style.display != "none") {
el.select();
}
}, function() {
var ret = 0;
if (typeof pico8_mouse !== "undefined" && pico8_mouse.length > 0) ret = 1;
return ret;
}, function() {
return pico8_mouse[0];
}, function() {
return pico8_mouse[1];
}, function() {
return pico8_mouse[2];
}, function() {
_dir_name = "";
}, function($0) {
_dir_name = _dir_name + String.fromCharCode($0);
}, function() {
console.log("@@ mkdir directory (nocheck): " + _dir_name);
FS.createPath("", _dir_name, true, true);
}, function() {
el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
if (el) {}
}, function() {
_codo_str_out = "";
}, function($0) {
_codo_str_out = _codo_str_out + String.fromCharCode($0);
}, function() {
el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
if (el) {
el.value = _codo_str_out;
return 0;
} else return 1;
}, function() {
el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
if (el && el.style.display == "none" && (typeof p8_touch_detected === "undefined" || !p8_touch_detected)) {
console.log("@@ enabling codo_textfield");
el.style.display = "";
el.focus();
el.select();
}
}, function() {
el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea;
if (el && el.style.display != "none" && el.value != "") {
_codo_text_value = el.value;
return 1;
}
return 0;
}, function() {
return typeof _codo_text_value === "undefined" ? 1 : 0;
}, function() {
iii = 0;
}, function() {
iii = iii + 1;
return _codo_text_value.charCodeAt(iii - 1);
} ];
function _emscripten_asm_const_i(code) {
return ASM_CONSTS[code]();
}
function _emscripten_asm_const_ii(code, a0) {
return ASM_CONSTS[code](a0);
}
function _emscripten_asm_const_iii(code, a0, a1) {
return ASM_CONSTS[code](a0, a1);
}
function _emscripten_asm_const_iiiiii(code, a0, a1, a2, a3, a4) {
return ASM_CONSTS[code](a0, a1, a2, a3, a4);
}
function _emscripten_asm_const_iiiii(code, a0, a1, a2, a3) {
return ASM_CONSTS[code](a0, a1, a2, a3);
}
__ATINIT__.push({
func: function() {
___emscripten_environ_constructor();
}
});
memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAACoqAAAY88AALGoAAC5qAAAwqgAAMmoAADQqAAABc8AALmoAADWqAAA3agAAOOoAAAAAAAAAAAAAAAACAgICAgAAAAAAAAAAAAAAAAAAAAAAAAMBAQEBAQEBAQEBAQEBAQEFhYWFhYWFhYWFgQEBAQEBAQVFRUVFRUFBQUFBQUFBQUFBQUFBQUFBQUFBQQEBAQFBBUVFRUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBxQVRQUFxsPBA8VGx8fHx8fHx8fHx8fHx8fGB8YGBgYGBgaCK8vLyE5FRUEGJiBGIUUVAXAAAAAAAAAAAAAAAAAQICAwMDAwQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINM8AAF3PAAA7zwAAHs8AACPPAAAOzwAAENAAABLPAAAFzwAAWM8AABbPAABnzwAAPs8AAGPPAAAwzwAAOM8AAEvPAABEzwAAGc8AAAvQAABSzwAAKs8AAHXqAABGqwAADq0AABGtAAAUrQAAF60AABqtAADQtQAAHa0AACatAAAtrQAAAAAAAAAAAAAAAAAAEBAQEBERERERERQTCAgGBgcHCQkJCQkJCQkJCQUFEREoKCgoKCgPDgMDAwMDAwMDAwMDAwICAQEAAAAAAAAAANmxAADhsQAA7LEAAPGxAAD4sQAA/rEAAAOyAAAJsgAAD7IAABWyAAAbsgAAIbIAACeyAAAtsgAAMrIAADiyAAA+sgAARLIAAEuyAABSsgAAWbIAAF+yAABmsgAAbbIAAHWyAAB9sgAAg7IAAIiyAACNsgAAlrIAAAAAAAAAAAAAJtEAAA/RAABt1wAAcdcAACvRAAA40QAAE9EAAHjXAAAJ0QAABtEAABzRAAAh0QAAg9cAAJHXAABG0QAAS9EAAJ/XAACp1wAAUtEAABbRAAAM2QAAV7QAAHzXAAAy0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFtAAABvQAAAg0AAAJdAAACrQAAAv0AAANNAAADnQAAA+0AAARNAAAEnQAAAAAAAAEAECAwQFBgcICQoLDA0ODwABAgMEBQYHCAkKCwwNDg8AAICAAAYAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmgreaBC13eAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABAAAABQAAAAEAAAAFAAAABQAAAAUAAAABAAAAAQAAAAEAAAAFAAAAAAAAAAEAAAADAAAABQAAAAQAAAACAAAACwAAAA8AAAAHAAAADAAAAA0AAAAJAAAACAAAAAYAAAAKAAAADgAAADXfAABB3wAATd8AAFnfAABl3wAAcN8AAHvfAACH3wAAk98AAJ/fAACr3wAAtt8AAMHfAAAAAAAAAAAAAAAAAAD23gAA+94AAAHfAAAE3wAACd8AABPfAAAd3wAAH98AACHfAAAj3wAAJd8AACnfAAAr3wAAAAAAAAAAAAAAAAAAHuMAACfjAAAu4wAAOuMAAETjAABM4wAAV+MAAGHjAABr4wAAdOMAAHzjAACG4wAAAAAAAAAAAAAAAAAAAAAAAJTOLQCP4wAAleMAAJvjAACh4wAAp+MAAK3jAACz4wAAAAAAAAAAAAAAAAAAAAAAAJTOLQC54wAAyOMAANnjAADq4wAA+eMAAAvkAAAh5AAAlM4tADDkAAA45AAAQuQAAEzkAABd5AAAaOQAAHfkAABjb2RvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAoKAAAACh8KHwofFB8FHxECBAgRCBQdEg0EBAAAAAQICAgEBAICAgQVDh8OFQQEHwQEAAAACBAAAB8AAAAAAAAEAQIECBAfERERHwQMBAQfHwEfEB8fAQcBHxERHwEBHxAfAR8QEB8RHx8BAQEBHxEfER8fER8BAQAEAAQAAAQABAgDDBAMAwAOAA4AGAYBBhgfAQcABB8RHRUdHxEfEREeER4RHw8QEBAPHhERER8fEBwQHx8QHhAQDhAQEQ8RER8REQ4EBAQOAgICEgwSFBgUEhAQEBAfERsVERERGRUTEQ4REREOHhEeEBAfERETHx4RHhERDxAOAR4fBAQEBBEREREOERERCgQRERUbEREKBAoREREOBAQfAgQIHwwICAgMEAgEAgEGAgICBgQKAAAAAAAAAB8EAgAAAB8RHxERHhEeER8PEBAQDx4REREfHxAcEB8fEB4QEA4QEBEPEREfEREOBAQEDgICAhIMEhQYFBIQEBAQHxEbFRERERkVExEOERERDh4RHhAQHxEREx8eER4REQ8QDgEeHwQEBAQRERERDhEREQoEEREVGxERCgQKERERDgQEHwIECB8EBAgEBAQEBAQEBAQCBAQFCgAAAAAAAAAfAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/v8AAP7/AAD+/wAA/v8AAP7/AAD9/wAA/f8AAP3/AAD9/wAA/P8AAPz/AAD8/wAA/P8AAPv/AAD7/wAA+/8AAPr/AAD6/wAA+v8AAPn/AAD5/wAA+f8AAPj/AAD4/wAA9/8AAPf/AAD3/wAA9v8AAPb/AAD1/wAA9f8AAPT/AAD0/wAA8/8AAPP/AADy/wAA8v8AAPH/AADx/wAA8P8AAPD/AADv/wAA7/8AAO7/AADt/wAA7f8AAOz/AADs/wAA6/8AAOr/AADq/wAA6f8AAOj/AADo/wAA5/8AAOb/AADm/wAA5f8AAOT/AADj/wAA4/8AAOL/AADh/wAA4P8AAOD/AADf/wAA3v8AAN3/AADc/wAA3P8AANv/AADa/wAA2f8AANj/AADX/wAA1v8AANX/AADV/wAA1P8AANP/AADS/wAA0f8AAND/AADP/wAAzv8AAM3/AADM/wAAy/8AAMr/AADJ/wAAyP8AAMf/AADG/wAAxf8AAMT/AADC/wAAwf8AAMD/AAC//wAAvv8AAL3/AAC8/wAAu/8AALn/AAC4/wAAt/8AALb/AAC1/wAAtP8AALL/AACx/wAAsP8AAK//AACt/wAArP8AAKv/AACp/wAAqP8AAKf/AACm/wAApP8AAKP/AACi/wAAoP8AAJ//AACd/wAAnP8AAJv/AACZ/wAAmP8AAJb/AACV/wAAlP8AAJL/AACR/wAAj/8AAI7/AACM/wAAi/8AAIn/AACI/wAAhv8AAIX/AACD/wAAgv8AAID/AAB+/wAAff8AAHv/AAB6/wAAeP8AAHb/AAB1/wAAc/8AAHH/AABw/wAAbv8AAGz/AABr/wAAaf8AAGf/AABm/wAAZP8AAGL/AABg/wAAX/8AAF3/AABb/wAAWf8AAFj/AABW/wAAVP8AAFL/AABQ/wAATv8AAE3/AABL/wAASf8AAEf/AABF/wAAQ/8AAEH/AAA//wAAPf8AADv/AAA6/wAAOP8AADb/AAA0/wAAMv8AADD/AAAu/wAALP8AACr/AAAo/wAAJf8AACP/AAAh/wAAH/8AAB3/AAAb/wAAGf8AABf/AAAV/wAAE/8AABD/AAAO/wAADP8AAAr/AAAI/wAABv8AAAP/AAAB/wAA//4AAP3+AAD7/gAA+P4AAPb+AAD0/gAA8f4AAO/+AADt/gAA6/4AAOj+AADm/gAA5P4AAOH+AADf/gAA3f4AANr+AADY/gAA1f4AANP+AADR/gAAzv4AAMz+AADJ/gAAx/4AAMT+AADC/gAAv/4AAL3+AAC6/gAAuP4AALX+AACz/gAAsP4AAK7+AACr/gAAqf4AAKb+AACk/gAAof4AAJ7+AACc/gAAmf4AAJf+AACU/gAAkf4AAI/+AACM/gAAif4AAIf+AACE/gAAgf4AAH7+AAB8/gAAef4AAHb+AABz/gAAcf4AAG7+AABr/gAAaP4AAGb+AABj/gAAYP4AAF3+AABa/gAAV/4AAFX+AABS/gAAT/4AAEz+AABJ/gAARv4AAEP+AABA/gAAPf4AADr+AAA3/gAANP4AADH+AAAu/gAAK/4AACj+AAAl/gAAIv4AAB/+AAAc/gAAGf4AABb+AAAT/gAAEP4AAA3+AAAK/gAAB/4AAAT+AAAB/gAA/f0AAPr9AAD3/QAA9P0AAPH9AADu/QAA6v0AAOf9AADk/QAA4f0AAN39AADa/QAA1/0AANT9AADQ/QAAzf0AAMr9AADH/QAAw/0AAMD9AAC9/QAAuf0AALb9AACz/QAAr/0AAKz9AACo/QAApf0AAKL9AACe/QAAm/0AAJf9AACU/QAAkP0AAI39AACJ/QAAhv0AAIP9AAB//QAAfP0AAHj9AAB0/QAAcf0AAG39AABq/QAAZv0AAGP9AABf/QAAW/0AAFj9AABU/QAAUf0AAE39AABJ/QAARv0AAEL9AAA+/QAAO/0AADf9AAAz/QAAMP0AACz9AAAo/QAAJP0AACH9AAAd/QAAGf0AABX9AAAS/QAADv0AAAr9AAAG/QAAAv0AAP78AAD7/AAA9/wAAPP8AADv/AAA6/wAAOf8AADj/AAA3/wAANz8AADY/AAA1PwAAND8AADM/AAAyPwAAMT8AADA/AAAvPwAALj8AAC0/AAAsPwAAKz8AACo/AAApPwAAKD8AACb/AAAl/wAAJP8AACP/AAAi/wAAIf8AACD/AAAf/wAAHv8AAB2/AAAcvwAAG78AABq/AAAZvwAAGH8AABd/AAAWfwAAFX8AABR/AAATPwAAEj8AABE/AAAP/wAADv8AAA3/AAAM/wAAC78AAAq/AAAJvwAACH8AAAd/AAAGPwAABT8AAAQ/AAAC/wAAAf8AAAC/AAA/vsAAPr7AAD1+wAA8fsAAOz7AADo+wAA4/sAAN/7AADa+wAA1vsAANH7AADN+wAAyPsAAMT7AAC/+wAAu/sAALb7AACx+wAArfsAAKj7AACk+wAAn/sAAJr7AACW+wAAkfsAAIz7AACI+wAAg/sAAH77AAB6+wAAdfsAAHD7AABr+wAAZ/sAAGL7AABd+wAAWPsAAFT7AABP+wAASvsAAEX7AABA+wAAPPsAADf7AAAy+wAALfsAACj7AAAj+wAAH/sAABr7AAAV+wAAEPsAAAv7AAAG+wAAAfsAAPz6AAD3+gAA8voAAO36AADo+gAA4/oAAN76AADZ+gAA1PoAAM/6AADK+gAAxfoAAMD6AAC7+gAAtvoAALH6AACs+gAAp/oAAKH6AACc+gAAl/oAAJL6AACN+gAAiPoAAIP6AAB9+gAAePoAAHP6AABu+gAAafoAAGP6AABe+gAAWfoAAFT6AABO+gAASfoAAET6AAA++gAAOfoAADT6AAAv+gAAKfoAACT6AAAf+gAAGfoAABT6AAAO+gAACfoAAAT6AAD++QAA+fkAAPP5AADu+QAA6PkAAOP5AADe+QAA2PkAANP5AADN+QAAyPkAAML5AAC9+QAAt/kAALL5AACs+QAApvkAAKH5AACb+QAAlvkAAJD5AACK+QAAhfkAAH/5AAB6+QAAdPkAAG75AABp+QAAY/kAAF35AABY+QAAUvkAAEz5AABG+QAAQfkAADv5AAA1+QAAMPkAACr5AAAk+QAAHvkAABj5AAAT+QAADfkAAAf5AAAB+QAA+/gAAPX4AADw+AAA6vgAAOT4AADe+AAA2PgAANL4AADM+AAAxvgAAMD4AAC6+AAAtPgAAK/4AACp+AAAo/gAAJ34AACX+AAAkfgAAIv4AACF+AAAfvgAAHj4AABy+AAAbPgAAGb4AABg+AAAWvgAAFT4AABO+AAASPgAAEL4AAA7+AAANfgAAC/4AAAp+AAAI/gAAB34AAAW+AAAEPgAAAr4AAAE+AAA/vcAAPf3AADx9wAA6/cAAOX3AADe9wAA2PcAANL3AADL9wAAxfcAAL/3AAC49wAAsvcAAKz3AACl9wAAn/cAAJn3AACS9wAAjPcAAIX3AAB/9wAAefcAAHL3AABs9wAAZfcAAF/3AABY9wAAUvcAAEv3AABF9wAAPvcAADj3AAAx9wAAK/cAACT3AAAe9wAAF/cAABD3AAAK9wAAA/cAAP32AAD29gAA7/YAAOn2AADi9gAA2/YAANX2AADO9gAAx/YAAMH2AAC69gAAs/YAAK32AACm9gAAn/YAAJj2AACS9gAAi/YAAIT2AAB99gAAd/YAAHD2AABp9gAAYvYAAFv2AABU9gAATvYAAEf2AABA9gAAOfYAADL2AAAr9gAAJPYAAB32AAAW9gAAEPYAAAn2AAAC9gAA+/UAAPT1AADt9QAA5vUAAN/1AADY9QAA0fUAAMr1AADD9QAAvPUAALX1AACu9QAApvUAAJ/1AACY9QAAkfUAAIr1AACD9QAAfPUAAHX1AABu9QAAZvUAAF/1AABY9QAAUfUAAEr1AABD9QAAO/UAADT1AAAt9QAAJvUAAB71AAAX9QAAEPUAAAn1AAAB9QAA+vQAAPP0AADr9AAA5PQAAN30AADV9AAAzvQAAMf0AAC/9AAAuPQAALH0AACp9AAAovQAAJr0AACT9AAAjPQAAIT0AAB99AAAdfQAAG70AABm9AAAX/QAAFf0AABQ9AAASPQAAEH0AAA59AAAMvQAACr0AAAj9AAAG/QAABP0AAAM9AAABPQAAP3zAAD18wAA7fMAAObzAADe8wAA1/MAAM/zAADH8wAAwPMAALjzAACw8wAAqPMAAKHzAACZ8wAAkfMAAIrzAACC8wAAevMAAHLzAABq8wAAY/MAAFvzAABT8wAAS/MAAEPzAAA88wAANPMAACzzAAAk8wAAHPMAABTzAAAM8wAABPMAAP3yAAD18gAA7fIAAOXyAADd8gAA1fIAAM3yAADF8gAAvfIAALXyAACt8gAApfIAAJ3yAACV8gAAjfIAAIXyAAB98gAAdfIAAG3yAABl8gAAXfIAAFTyAABM8gAARPIAADzyAAA08gAALPIAACTyAAAb8gAAE/IAAAvyAAAD8gAA+/EAAPPxAADq8QAA4vEAANrxAADS8QAAyfEAAMHxAAC58QAAsfEAAKjxAACg8QAAmPEAAI/xAACH8QAAf/EAAHbxAABu8QAAZvEAAF3xAABV8QAATPEAAETxAAA88QAAM/EAACvxAAAi8QAAGvEAABHxAAAJ8QAAAfEAAPjwAADw8AAA5/AAAN/wAADW8AAAzvAAAMXwAAC88AAAtPAAAKvwAACj8AAAmvAAAJLwAACJ8AAAgPAAAHjwAABv8AAAZ/AAAF7wAABV8AAATfAAAETwAAA78AAAM/AAACrwAAAh8AAAGPAAABDwAAAH8AAA/u8AAPXvAADt7wAA5O8AANvvAADS7wAAyu8AAMHvAAC47wAAr+8AAKbvAACd7wAAle8AAIzvAACD7wAAeu8AAHHvAABo7wAAX+8AAFbvAABN7wAARe8AADzvAAAz7wAAKu8AACHvAAAY7wAAD+8AAAbvAAD97gAA9O4AAOvuAADi7gAA2e4AANDuAADH7gAAve4AALTuAACr7gAAou4AAJnuAACQ7gAAh+4AAH7uAAB17gAAa+4AAGLuAABZ7gAAUO4AAEfuAAA+7gAANO4AACvuAAAi7gAAGe4AAA/uAAAG7gAA/e0AAPTtAADq7QAA4e0AANjtAADP7QAAxe0AALztAACz7QAAqe0AAKDtAACX7QAAje0AAITtAAB67QAAce0AAGjtAABe7QAAVe0AAEvtAABC7QAAOO0AAC/tAAAm7QAAHO0AABPtAAAJ7QAAAO0AAPbsAADt7AAA4+wAANrsAADQ7AAAxuwAAL3sAACz7AAAquwAAKDsAACX7AAAjewAAIPsAAB67AAAcOwAAGbsAABd7AAAU+wAAErsAABA7AAANuwAACzsAAAj7AAAGewAAA/sAAAG7AAA/OsAAPLrAADo6wAA3+sAANXrAADL6wAAwesAALfrAACu6wAApOsAAJrrAACQ6wAAhusAAHzrAABz6wAAaesAAF/rAABV6wAAS+sAAEHrAAA36wAALesAACPrAAAZ6wAAD+sAAAbrAAD86gAA8uoAAOjqAADe6gAA1OoAAMrqAADA6gAAtuoAAKvqAACh6gAAl+oAAI3qAACD6gAAeeoAAG/qAABl6gAAW+oAAFHqAABH6gAAPOoAADLqAAAo6gAAHuoAABTqAAAK6gAA/+kAAPXpAADr6QAA4ekAANfpAADM6QAAwukAALjpAACu6QAAo+kAAJnpAACP6QAAhekAAHrpAABw6QAAZukAAFvpAABR6QAAR+kAADzpAAAy6QAAJ+kAAB3pAAAT6QAACOkAAP7oAADz6AAA6egAAN/oAADU6AAAyugAAL/oAAC16AAAqugAAKDoAACV6AAAi+gAAIDoAAB26AAAa+gAAGHoAABW6AAATOgAAEHoAAA26AAALOgAACHoAAAX6AAADOgAAAHoAAD35wAA7OcAAOLnAADX5wAAzOcAAMLnAAC35wAArOcAAKHnAACX5wAAjOcAAIHnAAB35wAAbOcAAGHnAABW5wAATOcAAEHnAAA25wAAK+cAACDnAAAW5wAAC+cAAADnAAD15gAA6uYAAN/mAADV5gAAyuYAAL/mAAC05gAAqeYAAJ7mAACT5gAAiOYAAH3mAABy5gAAZ+YAAFzmAABS5gAAR+YAADzmAAAx5gAAJuYAABvmAAAQ5gAABeYAAPnlAADu5QAA4+UAANjlAADN5QAAwuUAALflAACs5QAAoeUAAJblAACL5QAAf+UAAHTlAABp5QAAXuUAAFPlAABI5QAAPeUAADHlAAAm5QAAG+UAABDlAAAE5QAA+eQAAO7kAADj5AAA1+QAAMzkAADB5AAAtuQAAKrkAACf5AAAlOQAAIjkAAB95AAAcuQAAGbkAABb5AAAUOQAAETkAAA55AAALuQAACLkAAAX5AAAC+QAAADkAAD04wAA6eMAAN7jAADS4wAAx+MAALvjAACw4wAApOMAAJnjAACN4wAAguMAAHbjAABr4wAAX+MAAFPjAABI4wAAPOMAADHjAAAl4wAAGuMAAA7jAAAC4wAA9+IAAOviAADf4gAA1OIAAMjiAAC94gAAseIAAKXiAACZ4gAAjuIAAILiAAB24gAAa+IAAF/iAABT4gAAR+IAADziAAAw4gAAJOIAABjiAAAN4gAAAeIAAPXhAADp4QAA3eEAANHhAADG4QAAuuEAAK7hAACi4QAAluEAAIrhAAB+4QAAcuEAAGfhAABb4QAAT+EAAEPhAAA34QAAK+EAAB/hAAAT4QAAB+EAAPvgAADv4AAA4+AAANfgAADL4AAAv+AAALPgAACn4AAAm+AAAI/gAACD4AAAd+AAAGrgAABe4AAAUuAAAEbgAAA64AAALuAAACLgAAAW4AAACeAAAP3fAADx3wAA5d8AANnfAADN3wAAwN8AALTfAACo3wAAnN8AAI/fAACD3wAAd98AAGvfAABe3wAAUt8AAEbfAAA53wAALd8AACHfAAAV3wAACN8AAPzeAADw3gAA494AANfeAADK3gAAvt4AALLeAACl3gAAmd4AAIzeAACA3gAAdN4AAGfeAABb3gAATt4AAELeAAA13gAAKd4AABzeAAAQ3gAAA94AAPfdAADq3QAA3t0AANHdAADF3QAAuN0AAKvdAACf3QAAkt0AAIbdAAB53QAAbN0AAGDdAABT3QAAR90AADrdAAAt3QAAId0AABTdAAAH3QAA+9wAAO7cAADh3AAA1dwAAMjcAAC73AAArtwAAKLcAACV3AAAiNwAAHvcAABv3AAAYtwAAFXcAABI3AAAO9wAAC/cAAAi3AAAFdwAAAjcAAD72wAA7tsAAOHbAADV2wAAyNsAALvbAACu2wAAodsAAJTbAACH2wAAetsAAG3bAABg2wAAU9sAAEbbAAA52wAALNsAAB/bAAAS2wAABdsAAPjaAADr2gAA3toAANHaAADE2gAAt9oAAKraAACd2gAAkNoAAIPaAAB22gAAadoAAFzaAABP2gAAQdoAADTaAAAn2gAAGtoAAA3aAAAA2gAA8tkAAOXZAADY2QAAy9kAAL7ZAACw2QAAo9kAAJbZAACJ2QAAe9kAAG7ZAABh2QAAVNkAAEbZAAA52QAALNkAAB7ZAAAR2QAABNkAAPbYAADp2AAA3NgAAM7YAADB2AAAtNgAAKbYAACZ2AAAi9gAAH7YAABx2AAAY9gAAFbYAABI2AAAO9gAAC3YAAAg2AAAEtgAAAXYAAD41wAA6tcAANzXAADP1wAAwdcAALTXAACm1wAAmdcAAIvXAAB+1wAAcNcAAGPXAABV1wAAR9cAADrXAAAs1wAAH9cAABHXAAAD1wAA9tYAAOjWAADa1gAAzdYAAL/WAACx1gAApNYAAJbWAACI1gAAetYAAG3WAABf1gAAUdYAAETWAAA21gAAKNYAABrWAAAM1gAA/9UAAPHVAADj1QAA1dUAAMfVAAC61QAArNUAAJ7VAACQ1QAAgtUAAHTVAABm1QAAWdUAAEvVAAA91QAAL9UAACHVAAAT1QAABdUAAPfUAADp1AAA29QAAM3UAAC/1AAAsdQAAKPUAACV1AAAh9QAAHnUAABr1AAAXdQAAE/UAABB1AAAM9QAACXUAAAX1AAACdQAAPvTAADt0wAA39MAANDTAADC0wAAtNMAAKbTAACY0wAAitMAAHzTAABt0wAAX9MAAFHTAABD0wAANdMAACbTAAAY0wAACtMAAPzSAADu0gAA39IAANHSAADD0gAAtdIAAKbSAACY0gAAitIAAHvSAABt0gAAX9IAAFDSAABC0gAANNIAACXSAAAX0gAACdIAAPrRAADs0QAA3tEAAM/RAADB0QAAstEAAKTRAACV0QAAh9EAAHnRAABq0QAAXNEAAE3RAAA/0QAAMNEAACLRAAAT0QAABdEAAPbQAADo0AAA2dAAAMvQAAC80AAArtAAAJ/QAACQ0AAAgtAAAHPQAABl0AAAVtAAAEfQAAA50AAAKtAAABzQAAAN0AAA/s8AAPDPAADhzwAA0s8AAMTPAAC1zwAAps8AAJjPAACJzwAAes8AAGvPAABdzwAATs8AAD/PAAAwzwAAIs8AABPPAAAEzwAA9c4AAOfOAADYzgAAyc4AALrOAACrzgAAnM4AAI7OAAB/zgAAcM4AAGHOAABSzgAAQ84AADTOAAAlzgAAF84AAAjOAAD5zQAA6s0AANvNAADMzQAAvc0AAK7NAACfzQAAkM0AAIHNAAByzQAAY80AAFTNAABFzQAANs0AACfNAAAYzQAACc0AAPrMAADrzAAA3MwAAM3MAAC+zAAArswAAJ/MAACQzAAAgcwAAHLMAABjzAAAVMwAAEXMAAA1zAAAJswAABfMAAAIzAAA+csAAOrLAADaywAAy8sAALzLAACtywAAnssAAI7LAAB/ywAAcMsAAGHLAABRywAAQssAADPLAAAjywAAFMsAAAXLAAD1ygAA5soAANfKAADHygAAuMoAAKnKAACZygAAisoAAHvKAABrygAAXMoAAE3KAAA9ygAALsoAAB7KAAAPygAA/8kAAPDJAADhyQAA0ckAAMLJAACyyQAAo8kAAJPJAACEyQAAdMkAAGXJAABVyQAARskAADbJAAAnyQAAF8kAAAfJAAD4yAAA6MgAANnIAADJyAAAusgAAKrIAACayAAAi8gAAHvIAABryAAAXMgAAEzIAAA8yAAALcgAAB3IAAANyAAA/scAAO7HAADexwAAz8cAAL/HAACvxwAAoMcAAJDHAACAxwAAcMcAAGHHAABRxwAAQccAADHHAAAhxwAAEscAAALHAADyxgAA4sYAANLGAADCxgAAs8YAAKPGAACTxgAAg8YAAHPGAABjxgAAU8YAAETGAAA0xgAAJMYAABTGAAAExgAA9MUAAOTFAADUxQAAxMUAALTFAACkxQAAlMUAAITFAAB0xQAAZMUAAFTFAABExQAANMUAACTFAAAUxQAABMUAAPTEAADkxAAA1MQAAMTEAAC0xAAApMQAAJTEAACDxAAAc8QAAGPEAABTxAAAQ8QAADPEAAAjxAAAE8QAAALEAADywwAA4sMAANLDAADCwwAAscMAAKHDAACRwwAAgcMAAHHDAABgwwAAUMMAAEDDAAAwwwAAH8MAAA/DAAD/wgAA7sIAAN7CAADOwgAAvsIAAK3CAACdwgAAjcIAAHzCAABswgAAXMIAAEvCAAA7wgAAKsIAABrCAAAKwgAA+cEAAOnBAADYwQAAyMEAALjBAACnwQAAl8EAAIbBAAB2wQAAZcEAAFXBAABEwQAANMEAACPBAAATwQAAAsEAAPLAAADhwAAA0cAAAMDAAACwwAAAn8AAAI/AAAB+wAAAbsAAAF3AAABMwAAAPMAAACvAAAAbwAAACsAAAPm/AADpvwAA2L8AAMe/AAC3vwAApr8AAJW/AACFvwAAdL8AAGO/AABTvwAAQr8AADG/AAAhvwAAEL8AAP++AADuvgAA3r4AAM2+AAC8vgAAq74AAJu+AACKvgAAeb4AAGi+AABXvgAAR74AADa+AAAlvgAAFL4AAAO+AADyvQAA4r0AANG9AADAvQAAr70AAJ69AACNvQAAfL0AAGu9AABavQAASr0AADm9AAAovQAAF70AAAa9AAD1vAAA5LwAANO8AADCvAAAsbwAAKC8AACPvAAAfrwAAG28AABcvAAAS7wAADq8AAApvAAAGLwAAAe8AAD2uwAA5bsAANS7AADDuwAAsbsAAKC7AACPuwAAfrsAAG27AABcuwAAS7sAADq7AAAouwAAF7sAAAa7AAD1ugAA5LoAANO6AADBugAAsLoAAJ+6AACOugAAfboAAGu6AABaugAASboAADi6AAAmugAAFboAAAS6AADzuQAA4bkAANC5AAC/uQAArrkAAJy5AACLuQAAerkAAGi5AABXuQAARrkAADS5AAAjuQAAErkAAAC5AADvuAAA3bgAAMy4AAC7uAAAqbgAAJi4AACGuAAAdbgAAGS4AABSuAAAQbgAAC+4AAAeuAAADLgAAPu3AADptwAA2LcAAMa3AAC1twAAo7cAAJK3AACAtwAAb7cAAF23AABMtwAAOrcAACm3AAAXtwAABbcAAPS2AADitgAA0bYAAL+2AACttgAAnLYAAIq2AAB5tgAAZ7YAAFW2AABEtgAAMrYAACC2AAAPtgAA/bUAAOu1AADatQAAyLUAALa1AACltQAAk7UAAIG1AABvtQAAXrUAAEy1AAA6tQAAKLUAABe1AAAFtQAA87QAAOG0AADQtAAAvrQAAKy0AACatAAAiLQAAHe0AABltAAAU7QAAEG0AAAvtAAAHbQAAAu0AAD6swAA6LMAANazAADEswAAsrMAAKCzAACOswAAfLMAAGqzAABYswAAR7MAADWzAAAjswAAEbMAAP+yAADtsgAA27IAAMmyAAC3sgAApbIAAJOyAACBsgAAb7IAAF2yAABLsgAAObIAACeyAAAVsgAAA7IAAPCxAADesQAAzLEAALqxAACosQAAlrEAAISxAABysQAAYLEAAE6xAAA7sQAAKbEAABexAAAFsQAA87AAAOGwAADOsAAAvLAAAKqwAACYsAAAhrAAAHSwAABhsAAAT7AAAD2wAAArsAAAGLAAAAawAAD0rwAA4q8AAM+vAAC9rwAAq68AAJmvAACGrwAAdK8AAGKvAABPrwAAPa8AACuvAAAYrwAABq8AAPSuAADhrgAAz64AAL2uAACqrgAAmK4AAIWuAABzrgAAYa4AAE6uAAA8rgAAKa4AABeuAAAFrgAA8q0AAOCtAADNrQAAu60AAKitAACWrQAAg60AAHGtAABerQAATK0AADmtAAAnrQAAFK0AAAKtAADvrAAA3awAAMqsAAC4rAAApawAAJOsAACArAAAbawAAFusAABIrAAANqwAACOsAAARrAAA/qsAAOurAADZqwAAxqsAALOrAAChqwAAjqsAAHurAABpqwAAVqsAAEOrAAAxqwAAHqsAAAurAAD5qgAA5qoAANOqAADBqgAArqoAAJuqAACIqgAAdqoAAGOqAABQqgAAPaoAACqqAAAYqgAABaoAAPKpAADfqQAAzakAALqpAACnqQAAlKkAAIGpAABuqQAAXKkAAEmpAAA2qQAAI6kAABCpAAD9qAAA6qgAANeoAADFqAAAsqgAAJ+oAACMqAAAeagAAGaoAABTqAAAQKgAAC2oAAAaqAAAB6gAAPSnAADhpwAAzqcAALunAACopwAAlacAAIKnAABvpwAAXKcAAEmnAAA2pwAAI6cAABCnAAD9pgAA6qYAANemAADEpgAAsaYAAJ6mAACLpgAAeKYAAGWmAABSpgAAPqYAACumAAAYpgAABaYAAPKlAADfpQAAzKUAALilAAClpQAAkqUAAH+lAABspQAAWaUAAEWlAAAypQAAH6UAAAylAAD5pAAA5aQAANKkAAC/pAAArKQAAJikAACFpAAAcqQAAF+kAABLpAAAOKQAACWkAAASpAAA/qMAAOujAADYowAAxKMAALGjAACeowAAiqMAAHejAABkowAAUKMAAD2jAAAqowAAFqMAAAOjAADvogAA3KIAAMmiAAC1ogAAoqIAAI6iAAB7ogAAaKIAAFSiAABBogAALaIAABqiAAAGogAA86EAAN+hAADMoQAAuaEAAKWhAACSoQAAfqEAAGuhAABXoQAAQ6EAADChAAAcoQAACaEAAPWgAADioAAAzqAAALugAACnoAAAlKAAAICgAABsoAAAWaAAAEWgAAAyoAAAHqAAAAqgAAD3nwAA458AANCfAAC8nwAAqJ8AAJWfAACBnwAAbZ8AAFqfAABGnwAAMp8AAB+fAAALnwAA954AAOOeAADQngAAvJ4AAKieAACVngAAgZ4AAG2eAABZngAARp4AADKeAAAengAACp4AAPedAADjnQAAz50AALudAACnnQAAlJ0AAICdAABsnQAAWJ0AAESdAAAxnQAAHZ0AAAmdAAD1nAAA4ZwAAM2cAAC5nAAAppwAAJKcAAB+nAAAapwAAFacAABCnAAALpwAABqcAAAGnAAA8psAAN6bAADKmwAAt5sAAKObAACPmwAAe5sAAGebAABTmwAAP5sAACubAAAXmwAAA5sAAO+aAADbmgAAx5oAALOaAACfmgAAi5oAAHeaAABjmgAAT5oAADqaAAAmmgAAEpoAAP6ZAADqmQAA1pkAAMKZAACumQAAmpkAAIaZAABymQAAXZkAAEmZAAA1mQAAIZkAAA2ZAAD5mAAA5ZgAANCYAAC8mAAAqJgAAJSYAACAmAAAbJgAAFeYAABDmAAAL5gAABuYAAAHmAAA8pcAAN6XAADKlwAAtpcAAKGXAACNlwAAeZcAAGWXAABQlwAAPJcAACiXAAATlwAA/5YAAOuWAADXlgAAwpYAAK6WAACalgAAhZYAAHGWAABdlgAASJYAADSWAAAglgAAC5YAAPeVAADilQAAzpUAALqVAACllQAAkZUAAH2VAABolQAAVJUAAD+VAAArlQAAFpUAAAKVAADulAAA2ZQAAMWUAACwlAAAnJQAAIeUAABzlAAAXpQAAEqUAAA1lAAAIZQAAAyUAAD4kwAA45MAAM+TAAC6kwAAppMAAJGTAAB9kwAAaJMAAFSTAAA/kwAAKpMAABaTAAABkwAA7ZIAANiSAADEkgAAr5IAAJqSAACGkgAAcZIAAF2SAABIkgAAM5IAAB+SAAAKkgAA9ZEAAOGRAADMkQAAt5EAAKORAACOkQAAeZEAAGWRAABQkQAAO5EAACeRAAASkQAA/ZAAAOmQAADUkAAAv5AAAKqQAACWkAAAgZAAAGyQAABXkAAAQ5AAAC6QAAAZkAAABJAAAPCPAADbjwAAxo8AALGPAACcjwAAiI8AAHOPAABejwAASY8AADSPAAAfjwAAC48AAPaOAADhjgAAzI4AALeOAACijgAAjY4AAHmOAABkjgAAT44AADqOAAAljgAAEI4AAPuNAADmjQAA0Y0AALyNAACnjQAAk40AAH6NAABpjQAAVI0AAD+NAAAqjQAAFY0AAACNAADrjAAA1owAAMGMAACsjAAAl4wAAIKMAABtjAAAWIwAAEOMAAAujAAAGYwAAASMAADviwAA2osAAMWLAACviwAAmosAAIWLAABwiwAAW4sAAEaLAAAxiwAAHIsAAAeLAADyigAA3YoAAMeKAACyigAAnYoAAIiKAABzigAAXooAAEmKAAA0igAAHooAAAmKAAD0iQAA34kAAMqJAAC0iQAAn4kAAIqJAAB1iQAAYIkAAEqJAAA1iQAAIIkAAAuJAAD2iAAA4IgAAMuIAAC2iAAAoYgAAIuIAAB2iAAAYYgAAEyIAAA2iAAAIYgAAAyIAAD2hwAA4YcAAMyHAAC3hwAAoYcAAIyHAAB3hwAAYYcAAEyHAAA3hwAAIYcAAAyHAAD3hgAA4YYAAMyGAAC2hgAAoYYAAIyGAAB2hgAAYYYAAEyGAAA2hgAAIYYAAAuGAAD2hQAA4IUAAMuFAAC2hQAAoIUAAIuFAAB1hQAAYIUAAEqFAAA1hQAAH4UAAAqFAAD1hAAA34QAAMqEAAC0hAAAn4QAAImEAAB0hAAAXoQAAEmEAAAzhAAAHYQAAAiEAADygwAA3YMAAMeDAACygwAAnIMAAIeDAABxgwAAXIMAAEaDAAAwgwAAG4MAAAWDAADwggAA2oIAAMSCAACvggAAmYIAAISCAABuggAAWIIAAEOCAAAtggAAF4IAAAKCAADsgQAA1oEAAMGBAACrgQAAlYEAAICBAABqgQAAVIEAAD+BAAApgQAAE4EAAP6AAADogAAA0oAAALyAAACngAAAkYAAAHuAAABmgAAAUIAAADqAAAAkgAAAD4AAAPl/AADjfwAAzX8AALd/AACifwAAjH8AAHZ/AABgfwAASn8AADV/AAAffwAACX8AAPN+AADdfgAAyH4AALJ+AACcfgAAhn4AAHB+AABafgAARH4AAC9+AAAZfgAAA34AAO19AADXfQAAwX0AAKt9AACVfQAAf30AAGp9AABUfQAAPn0AACh9AAASfQAA/HwAAOZ8AADQfAAAunwAAKR8AACOfAAAeHwAAGJ8AABMfAAANnwAACB8AAAKfAAA9HsAAN57AADIewAAsnsAAJx7AACGewAAcHsAAFp7AABEewAALnsAABh7AAACewAA7HoAANZ6AADAegAAqnoAAJR6AAB+egAAaHoAAFJ6AAA8egAAJnoAABB6AAD5eQAA43kAAM15AAC3eQAAoXkAAIt5AAB1eQAAX3kAAEl5AAAyeQAAHHkAAAZ5AADweAAA2ngAAMR4AACteAAAl3gAAIF4AABreAAAVXgAAD94AAAoeAAAEngAAPx3AADmdwAA0HcAALl3AACjdwAAjXcAAHd3AABgdwAASncAADR3AAAedwAACHcAAPF2AADbdgAAxXYAAK52AACYdgAAgnYAAGx2AABVdgAAP3YAACl2AAASdgAA/HUAAOZ1AADQdQAAuXUAAKN1AACNdQAAdnUAAGB1AABKdQAAM3UAAB11AAAHdQAA8HQAANp0AADDdAAArXQAAJd0AACAdAAAanQAAFR0AAA9dAAAJ3QAABB0AAD6cwAA5HMAAM1zAAC3cwAAoHMAAIpzAABzcwAAXXMAAEdzAAAwcwAAGnMAAANzAADtcgAA1nIAAMByAACpcgAAk3IAAHxyAABmcgAAUHIAADlyAAAjcgAADHIAAPZxAADfcQAAyXEAALJxAACbcQAAhXEAAG5xAABYcQAAQXEAACtxAAAUcQAA/nAAAOdwAADRcAAAunAAAKNwAACNcAAAdnAAAGBwAABJcAAAM3AAABxwAAAFcAAA728AANhvAADCbwAAq28AAJRvAAB+bwAAZ28AAFBvAAA6bwAAI28AAA1vAAD2bgAA324AAMluAACybgAAm24AAIVuAABubgAAV24AAEFuAAAqbgAAE24AAPxtAADmbQAAz20AALhtAACibQAAi20AAHRtAABebQAAR20AADBtAAAZbQAAA20AAOxsAADVbAAAvmwAAKhsAACRbAAAemwAAGNsAABNbAAANmwAAB9sAAAIbAAA8WsAANtrAADEawAArWsAAJZrAAB/awAAaWsAAFJrAAA7awAAJGsAAA1rAAD2agAA4GoAAMlqAACyagAAm2oAAIRqAABtagAAV2oAAEBqAAApagAAEmoAAPtpAADkaQAAzWkAALZpAACgaQAAiWkAAHJpAABbaQAARGkAAC1pAAAWaQAA/2gAAOhoAADRaAAAumgAAKNoAACNaAAAdmgAAF9oAABIaAAAMWgAABpoAAADaAAA7GcAANVnAAC+ZwAAp2cAAJBnAAB5ZwAAYmcAAEtnAAA0ZwAAHWcAAAZnAADvZgAA2GYAAMFmAACqZgAAk2YAAHxmAABlZgAATmYAADdmAAAgZgAACWYAAPJlAADbZQAAw2UAAKxlAACVZQAAfmUAAGdlAABQZQAAOWUAACJlAAALZQAA9GQAAN1kAADGZAAArmQAAJdkAACAZAAAaWQAAFJkAAA7ZAAAJGQAAA1kAAD1YwAA3mMAAMdjAACwYwAAmWMAAIJjAABrYwAAU2MAADxjAAAlYwAADmMAAPdiAADgYgAAyGIAALFiAACaYgAAg2IAAGxiAABUYgAAPWIAACZiAAAPYgAA+GEAAOBhAADJYQAAsmEAAJthAACDYQAAbGEAAFVhAAA+YQAAJmEAAA9hAAD4YAAA4WAAAMlgAACyYAAAm2AAAIRgAABsYAAAVWAAAD5gAAAmYAAAD2AAAPhfAADhXwAAyV8AALJfAACbXwAAg18AAGxfAABVXwAAPV8AACZfAAAPXwAA914AAOBeAADJXgAAsV4AAJpeAACDXgAAa14AAFReAAA8XgAAJV4AAA5eAAD2XQAA310AAMhdAACwXQAAmV0AAIFdAABqXQAAU10AADtdAAAkXQAADF0AAPVcAADeXAAAxlwAAK9cAACXXAAAgFwAAGhcAABRXAAAOlwAACJcAAALXAAA81sAANxbAADEWwAArVsAAJVbAAB+WwAAZlsAAE9bAAA3WwAAIFsAAAhbAADxWgAA2VoAAMJaAACqWgAAk1oAAHtaAABkWgAATFoAADVaAAAdWgAABloAAO5ZAADXWQAAv1kAAKhZAACQWQAAeVkAAGFZAABKWQAAMlkAABpZAAADWQAA61gAANRYAAC8WAAApVgAAI1YAAB1WAAAXlgAAEZYAAAvWAAAF1gAAP9XAADoVwAA0FcAALlXAAChVwAAiVcAAHJXAABaVwAAQ1cAACtXAAATVwAA/FYAAORWAADMVgAAtVYAAJ1WAACFVgAAblYAAFZWAAA+VgAAJ1YAAA9WAAD3VQAA4FUAAMhVAACwVQAAmVUAAIFVAABpVQAAUlUAADpVAAAiVQAAC1UAAPNUAADbVAAAw1QAAKxUAACUVAAAfFQAAGRUAABNVAAANVQAAB1UAAAGVAAA7lMAANZTAAC+UwAAp1MAAI9TAAB3UwAAX1MAAEhTAAAwUwAAGFMAAABTAADoUgAA0VIAALlSAAChUgAAiVIAAHJSAABaUgAAQlIAACpSAAASUgAA+1EAAONRAADLUQAAs1EAAJtRAACDUQAAbFEAAFRRAAA8UQAAJFEAAAxRAAD0UAAA3VAAAMVQAACtUAAAlVAAAH1QAABlUAAATVAAADZQAAAeUAAABlAAAO5PAADWTwAAvk8AAKZPAACOTwAAd08AAF9PAABHTwAAL08AABdPAAD/TgAA504AAM9OAAC3TgAAn04AAIdOAABwTgAAWE4AAEBOAAAoTgAAEE4AAPhNAADgTQAAyE0AALBNAACYTQAAgE0AAGhNAABQTQAAOE0AACBNAAAITQAA8EwAANhMAADATAAAqEwAAJBMAAB5TAAAYUwAAElMAAAxTAAAGUwAAAFMAADpSwAA0UsAALlLAAChSwAAiUsAAHFLAABYSwAAQEsAAChLAAAQSwAA+EoAAOBKAADISgAAsEoAAJhKAACASgAAaEoAAFBKAAA4SgAAIEoAAAhKAADwSQAA2EkAAMBJAACoSQAAkEkAAHhJAABfSQAAR0kAAC9JAAAXSQAA/0gAAOdIAADPSAAAt0gAAJ9IAACHSAAAb0gAAFZIAAA+SAAAJkgAAA5IAAD2RwAA3kcAAMZHAACuRwAAlUcAAH1HAABlRwAATUcAADVHAAAdRwAABUcAAOxGAADURgAAvEYAAKRGAACMRgAAdEYAAFxGAABDRgAAK0YAABNGAAD7RQAA40UAAMtFAACyRQAAmkUAAIJFAABqRQAAUkUAADlFAAAhRQAACUUAAPFEAADZRAAAwEQAAKhEAACQRAAAeEQAAGBEAABHRAAAL0QAABdEAAD/QwAA5kMAAM5DAAC2QwAAnkMAAIVDAABtQwAAVUMAAD1DAAAkQwAADEMAAPRCAADcQgAAw0IAAKtCAACTQgAAe0IAAGJCAABKQgAAMkIAABpCAAABQgAA6UEAANFBAAC4QQAAoEEAAIhBAABvQQAAV0EAAD9BAAAnQQAADkEAAPZAAADeQAAAxUAAAK1AAACVQAAAfEAAAGRAAABMQAAAM0AAABtAAAADQAAA6j8AANI/AAC6PwAAoT8AAIk/AABxPwAAWD8AAEA/AAAoPwAADz8AAPc+AADfPgAAxj4AAK4+AACVPgAAfT4AAGU+AABMPgAAND4AABw+AAADPgAA6z0AANI9AAC6PQAAoj0AAIk9AABxPQAAWD0AAEA9AAAoPQAADz0AAPc8AADePAAAxjwAAK48AACVPAAAfTwAAGQ8AABMPAAAMzwAABs8AAADPAAA6jsAANI7AAC5OwAAoTsAAIg7AABwOwAAWDsAAD87AAAnOwAADjsAAPY6AADdOgAAxToAAKw6AACUOgAAezoAAGM6AABKOgAAMjoAABo6AAABOgAA6TkAANA5AAC4OQAAnzkAAIc5AABuOQAAVjkAAD05AAAlOQAADDkAAPQ4AADbOAAAwzgAAKo4AACSOAAAeTgAAGE4AABIOAAAMDgAABc4AAD+NwAA5jcAAM03AAC1NwAAnDcAAIQ3AABrNwAAUzcAADo3AAAiNwAACTcAAPE2AADYNgAAwDYAAKc2AACONgAAdjYAAF02AABFNgAALDYAABQ2AAD7NQAA4jUAAMo1AACxNQAAmTUAAIA1AABoNQAATzUAADY1AAAeNQAABTUAAO00AADUNAAAuzQAAKM0AACKNAAAcjQAAFk0AABANAAAKDQAAA80AAD3MwAA3jMAAMUzAACtMwAAlDMAAHwzAABjMwAASjMAADIzAAAZMwAAADMAAOgyAADPMgAAtzIAAJ4yAACFMgAAbTIAAFQyAAA7MgAAIzIAAAoyAADxMQAA2TEAAMAxAACnMQAAjzEAAHYxAABeMQAARTEAACwxAAAUMQAA+zAAAOIwAADKMAAAsTAAAJgwAAB/MAAAZzAAAE4wAAA1MAAAHTAAAAQwAADrLwAA0y8AALovAAChLwAAiS8AAHAvAABXLwAAPy8AACYvAAANLwAA9C4AANwuAADDLgAAqi4AAJIuAAB5LgAAYC4AAEcuAAAvLgAAFi4AAP0tAADlLQAAzC0AALMtAACaLQAAgi0AAGktAABQLQAANy0AAB8tAAAGLQAA7SwAANQsAAC8LAAAoywAAIosAABxLAAAWSwAAEAsAAAnLAAADiwAAPYrAADdKwAAxCsAAKsrAACTKwAAeisAAGErAABIKwAAMCsAABcrAAD+KgAA5SoAAMwqAAC0KgAAmyoAAIIqAABpKgAAUSoAADgqAAAfKgAABioAAO0pAADVKQAAvCkAAKMpAACKKQAAcSkAAFkpAABAKQAAJykAAA4pAAD1KAAA3SgAAMQoAACrKAAAkigAAHkoAABgKAAASCgAAC8oAAAWKAAA/ScAAOQnAADMJwAAsycAAJonAACBJwAAaCcAAE8nAAA3JwAAHicAAAUnAADsJgAA0yYAALomAACiJgAAiSYAAHAmAABXJgAAPiYAACUmAAAMJgAA9CUAANslAADCJQAAqSUAAJAlAAB3JQAAXiUAAEYlAAAtJQAAFCUAAPskAADiJAAAySQAALAkAACXJAAAfyQAAGYkAABNJAAANCQAABskAAACJAAA6SMAANAjAAC4IwAAnyMAAIYjAABtIwAAVCMAADsjAAAiIwAACSMAAPAiAADXIgAAvyIAAKYiAACNIgAAdCIAAFsiAABCIgAAKSIAABAiAAD3IQAA3iEAAMYhAACtIQAAlCEAAHshAABiIQAASSEAADAhAAAXIQAA/iAAAOUgAADMIAAAsyAAAJogAACCIAAAaSAAAFAgAAA3IAAAHiAAAAUgAADsHwAA0x8AALofAAChHwAAiB8AAG8fAABWHwAAPR8AACQfAAALHwAA8x4AANoeAADBHgAAqB4AAI8eAAB2HgAAXR4AAEQeAAArHgAAEh4AAPkdAADgHQAAxx0AAK4dAACVHQAAfB0AAGMdAABKHQAAMR0AABgdAAD/HAAA5hwAAM0cAAC0HAAAmxwAAIIcAABpHAAAURwAADgcAAAfHAAABhwAAO0bAADUGwAAuxsAAKIbAACJGwAAcBsAAFcbAAA+GwAAJRsAAAwbAADzGgAA2hoAAMEaAACoGgAAjxoAAHYaAABdGgAARBoAACsaAAASGgAA+RkAAOAZAADHGQAArhkAAJUZAAB8GQAAYxkAAEoZAAAxGQAAGBkAAP8YAADmGAAAzRgAALQYAACbGAAAghgAAGkYAABQGAAANxgAAB0YAAAEGAAA6xcAANIXAAC5FwAAoBcAAIcXAABuFwAAVRcAADwXAAAjFwAAChcAAPEWAADYFgAAvxYAAKYWAACNFgAAdBYAAFsWAABCFgAAKRYAABAWAAD3FQAA3hUAAMUVAACsFQAAkxUAAHoVAABhFQAASBUAAC4VAAAVFQAA/BQAAOMUAADKFAAAsRQAAJgUAAB/FAAAZhQAAE0UAAA0FAAAGxQAAAIUAADpEwAA0BMAALcTAACeEwAAhRMAAGwTAABSEwAAORMAACATAAAHEwAA7hIAANUSAAC8EgAAoxIAAIoSAABxEgAAWBIAAD8SAAAmEgAADRIAAPQRAADaEQAAwREAAKgRAACPEQAAdhEAAF0RAABEEQAAKxEAABIRAAD5EAAA4BAAAMcQAACuEAAAlBAAAHsQAABiEAAASRAAADAQAAAXEAAA/g8AAOUPAADMDwAAsw8AAJoPAACBDwAAZw8AAE4PAAA1DwAAHA8AAAMPAADqDgAA0Q4AALgOAACfDgAAhg4AAG0OAABTDgAAOg4AACEOAAAIDgAA7w0AANYNAAC9DQAApA0AAIsNAAByDQAAWQ0AAD8NAAAmDQAADQ0AAPQMAADbDAAAwgwAAKkMAACQDAAAdwwAAF0MAABEDAAAKwwAABIMAAD5CwAA4AsAAMcLAACuCwAAlQsAAHwLAABiCwAASQsAADALAAAXCwAA/goAAOUKAADMCgAAswoAAJoKAACACgAAZwoAAE4KAAA1CgAAHAoAAAMKAADqCQAA0QkAALgJAACeCQAAhQkAAGwJAABTCQAAOgkAACEJAAAICQAA7wgAANUIAAC8CAAAowgAAIoIAABxCAAAWAgAAD8IAAAmCAAADQgAAPMHAADaBwAAwQcAAKgHAACPBwAAdgcAAF0HAABEBwAAKgcAABEHAAD4BgAA3wYAAMYGAACtBgAAlAYAAHsGAABhBgAASAYAAC8GAAAWBgAA/QUAAOQFAADLBQAAsgUAAJgFAAB/BQAAZgUAAE0FAAA0BQAAGwUAAAIFAADpBAAAzwQAALYEAACdBAAAhAQAAGsEAABSBAAAOQQAACAEAAAGBAAA7QMAANQDAAC7AwAAogMAAIkDAABwAwAAVgMAAD0DAAAkAwAACwMAAPICAADZAgAAwAIAAKcCAACNAgAAdAIAAFsCAABCAgAAKQIAABACAAD3AQAA3gEAAMQBAACrAQAAkgEAAHkBAABgAQAARwEAAC4BAAAUAQAA+wAAAOIAAADJAAAAsAAAAJcAAAB+AAAAZQAAAEsAAAAyAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAoAAAAPAAAAFAAAABkAAAAfAAAAJAAAACkAAAAuAAAAMwAAADgAAAA9AAAAQgAAAEcAAABMAAAAUQAAAFcAAABcAAAAYQAAAGYAAABrAAAAcAAAAHUAAAB6AAAAfwAAAIQAAACKAAAAjwAAAJQAAACZAAAAngAAAKMAAACoAAAArQAAALIAAAC3AAAAvAAAAMIAAADHAAAAzAAAANEAAADWAAAA2wAAAOAAAADlAAAA6gAAAO8AAAD0AAAA+gAAAP8AAAAEAQAACQEAAA4BAAATAQAAGAEAAB0BAAAiAQAAJwEAACwBAAAxAQAANwEAADwBAABBAQAARgEAAEsBAABQAQAAVQEAAFoBAABfAQAAZAEAAGkBAABvAQAAdAEAAHkBAAB+AQAAgwEAAIgBAACNAQAAkgEAAJcBAACcAQAAoQEAAKYBAACsAQAAsQEAALYBAAC7AQAAwAEAAMUBAADKAQAAzwEAANQBAADZAQAA3gEAAOMBAADpAQAA7gEAAPMBAAD4AQAA/QEAAAICAAAHAgAADAIAABECAAAWAgAAGwIAACACAAAmAgAAKwIAADACAAA1AgAAOgIAAD8CAABEAgAASQIAAE4CAABTAgAAWAIAAF0CAABiAgAAaAIAAG0CAAByAgAAdwIAAHwCAACBAgAAhgIAAIsCAACQAgAAlQIAAJoCAACfAgAApAIAAKkCAACvAgAAtAIAALkCAAC+AgAAwwIAAMgCAADNAgAA0gIAANcCAADcAgAA4QIAAOYCAADrAgAA8AIAAPYCAAD7AgAAAAMAAAUDAAAKAwAADwMAABQDAAAZAwAAHgMAACMDAAAoAwAALQMAADIDAAA3AwAAPAMAAEEDAABHAwAATAMAAFEDAABWAwAAWwMAAGADAABlAwAAagMAAG8DAAB0AwAAeQMAAH4DAACDAwAAiAMAAI0DAACSAwAAlwMAAJwDAACiAwAApwMAAKwDAACxAwAAtgMAALsDAADAAwAAxQMAAMoDAADPAwAA1AMAANkDAADeAwAA4wMAAOgDAADtAwAA8gMAAPcDAAD8AwAAAQQAAAcEAAAMBAAAEQQAABYEAAAbBAAAIAQAACUEAAAqBAAALwQAADQEAAA5BAAAPgQAAEMEAABIBAAATQQAAFIEAABXBAAAXAQAAGEEAABmBAAAawQAAHAEAAB1BAAAegQAAH8EAACEBAAAiQQAAI4EAACUBAAAmQQAAJ4EAACjBAAAqAQAAK0EAACyBAAAtwQAALwEAADBBAAAxgQAAMsEAADQBAAA1QQAANoEAADfBAAA5AQAAOkEAADuBAAA8wQAAPgEAAD9BAAAAgUAAAcFAAAMBQAAEQUAABYFAAAbBQAAIAUAACUFAAAqBQAALwUAADQFAAA5BQAAPgUAAEMFAABIBQAATQUAAFIFAABXBQAAXAUAAGEFAABmBQAAawUAAHAFAAB1BQAAegUAAH8FAACEBQAAiQUAAI4FAACTBQAAmAUAAJ0FAACiBQAApwUAAKwFAACxBQAAtgUAALsFAADABQAAxQUAAMoFAADPBQAA1AUAANkFAADeBQAA4wUAAOgFAADtBQAA8gUAAPcFAAD8BQAAAQYAAAYGAAALBgAAEAYAABUGAAAaBgAAHwYAACQGAAApBgAALgYAADMGAAA4BgAAPQYAAEIGAABHBgAATAYAAFEGAABWBgAAWwYAAGAGAABlBgAAagYAAG4GAABzBgAAeAYAAH0GAACCBgAAhwYAAIwGAACRBgAAlgYAAJsGAACgBgAApQYAAKoGAACvBgAAtAYAALkGAAC+BgAAwwYAAMgGAADNBgAA0gYAANcGAADcBgAA4QYAAOUGAADqBgAA7wYAAPQGAAD5BgAA/gYAAAMHAAAIBwAADQcAABIHAAAXBwAAHAcAACEHAAAmBwAAKwcAADAHAAA1BwAAOQcAAD4HAABDBwAASAcAAE0HAABSBwAAVwcAAFwHAABhBwAAZgcAAGsHAABwBwAAdQcAAHoHAAB+BwAAgwcAAIgHAACNBwAAkgcAAJcHAACcBwAAoQcAAKYHAACrBwAAsAcAALUHAAC5BwAAvgcAAMMHAADIBwAAzQcAANIHAADXBwAA3AcAAOEHAADmBwAA6wcAAO8HAAD0BwAA+QcAAP4HAAADCAAACAgAAA0IAAASCAAAFwgAABwIAAAgCAAAJQgAACoIAAAvCAAANAgAADkIAAA+CAAAQwgAAEgIAABMCAAAUQgAAFYIAABbCAAAYAgAAGUIAABqCAAAbwgAAHMIAAB4CAAAfQgAAIIIAACHCAAAjAgAAJEIAACWCAAAmggAAJ8IAACkCAAAqQgAAK4IAACzCAAAuAgAAL0IAADBCAAAxggAAMsIAADQCAAA1QgAANoIAADfCAAA4wgAAOgIAADtCAAA8ggAAPcIAAD8CAAAAQkAAAUJAAAKCQAADwkAABQJAAAZCQAAHgkAACIJAAAnCQAALAkAADEJAAA2CQAAOwkAAD8JAABECQAASQkAAE4JAABTCQAAWAkAAFwJAABhCQAAZgkAAGsJAABwCQAAdQkAAHkJAAB+CQAAgwkAAIgJAACNCQAAkgkAAJYJAACbCQAAoAkAAKUJAACqCQAArgkAALMJAAC4CQAAvQkAAMIJAADGCQAAywkAANAJAADVCQAA2gkAAN4JAADjCQAA6AkAAO0JAADyCQAA9gkAAPsJAAAACgAABQoAAAoKAAAOCgAAEwoAABgKAAAdCgAAIgoAACYKAAArCgAAMAoAADUKAAA5CgAAPgoAAEMKAABICgAATQoAAFEKAABWCgAAWwoAAGAKAABkCgAAaQoAAG4KAABzCgAAdwoAAHwKAACBCgAAhgoAAIsKAACPCgAAlAoAAJkKAACeCgAAogoAAKcKAACsCgAAsQoAALUKAAC6CgAAvwoAAMQKAADICgAAzQoAANIKAADXCgAA2woAAOAKAADlCgAA6QoAAO4KAADzCgAA+AoAAPwKAAABCwAABgsAAAsLAAAPCwAAFAsAABkLAAAeCwAAIgsAACcLAAAsCwAAMAsAADULAAA6CwAAPwsAAEMLAABICwAATQsAAFELAABWCwAAWwsAAGALAABkCwAAaQsAAG4LAAByCwAAdwsAAHwLAACACwAAhQsAAIoLAACPCwAAkwsAAJgLAACdCwAAoQsAAKYLAACrCwAArwsAALQLAAC5CwAAvQsAAMILAADHCwAAywsAANALAADVCwAA2QsAAN4LAADjCwAA5wsAAOwLAADxCwAA9QsAAPoLAAD/CwAAAwwAAAgMAAANDAAAEQwAABYMAAAbDAAAHwwAACQMAAApDAAALQwAADIMAAA3DAAAOwwAAEAMAABFDAAASQwAAE4MAABTDAAAVwwAAFwMAABgDAAAZQwAAGoMAABuDAAAcwwAAHgMAAB8DAAAgQwAAIYMAACKDAAAjwwAAJMMAACYDAAAnQwAAKEMAACmDAAAqwwAAK8MAAC0DAAAuAwAAL0MAADCDAAAxgwAAMsMAADPDAAA1AwAANkMAADdDAAA4gwAAOYMAADrDAAA8AwAAPQMAAD5DAAA/QwAAAINAAAHDQAACw0AABANAAAUDQAAGQ0AAB4NAAAiDQAAJw0AACsNAAAwDQAANA0AADkNAAA+DQAAQg0AAEcNAABLDQAAUA0AAFQNAABZDQAAXg0AAGINAABnDQAAaw0AAHANAAB0DQAAeQ0AAH0NAACCDQAAhw0AAIsNAACQDQAAlA0AAJkNAACdDQAAog0AAKYNAACrDQAArw0AALQNAAC5DQAAvQ0AAMINAADGDQAAyw0AAM8NAADUDQAA2A0AAN0NAADhDQAA5g0AAOoNAADvDQAA8w0AAPgNAAD8DQAAAQ4AAAUOAAAKDgAADw4AABMOAAAYDgAAHA4AACEOAAAlDgAAKg4AAC4OAAAzDgAANw4AADwOAABADgAARQ4AAEkOAABODgAAUg4AAFYOAABbDgAAXw4AAGQOAABoDgAAbQ4AAHEOAAB2DgAAeg4AAH8OAACDDgAAiA4AAIwOAACRDgAAlQ4AAJoOAACeDgAAow4AAKcOAACsDgAAsA4AALQOAAC5DgAAvQ4AAMIOAADGDgAAyw4AAM8OAADUDgAA2A4AANwOAADhDgAA5Q4AAOoOAADuDgAA8w4AAPcOAAD8DgAAAA8AAAQPAAAJDwAADQ8AABIPAAAWDwAAGw8AAB8PAAAjDwAAKA8AACwPAAAxDwAANQ8AADoPAAA+DwAAQg8AAEcPAABLDwAAUA8AAFQPAABYDwAAXQ8AAGEPAABmDwAAag8AAG4PAABzDwAAdw8AAHwPAACADwAAhA8AAIkPAACNDwAAkQ8AAJYPAACaDwAAnw8AAKMPAACnDwAArA8AALAPAAC1DwAAuQ8AAL0PAADCDwAAxg8AAMoPAADPDwAA0w8AANcPAADcDwAA4A8AAOUPAADpDwAA7Q8AAPIPAAD2DwAA+g8AAP8PAAADEAAABxAAAAwQAAAQEAAAFBAAABkQAAAdEAAAIRAAACYQAAAqEAAALhAAADMQAAA3EAAAOxAAAEAQAABEEAAASBAAAE0QAABREAAAVRAAAFoQAABeEAAAYhAAAGcQAABrEAAAbxAAAHMQAAB4EAAAfBAAAIAQAACFEAAAiRAAAI0QAACSEAAAlhAAAJoQAACeEAAAoxAAAKcQAACrEAAAsBAAALQQAAC4EAAAvBAAAMEQAADFEAAAyRAAAM4QAADSEAAA1hAAANoQAADfEAAA4xAAAOcQAADrEAAA8BAAAPQQAAD4EAAA/RAAAAERAAAFEQAACREAAA4RAAASEQAAFhEAABoRAAAfEQAAIxEAACcRAAArEQAAMBEAADQRAAA4EQAAPBEAAEARAABFEQAASREAAE0RAABREQAAVhEAAFoRAABeEQAAYhEAAGYRAABrEQAAbxEAAHMRAAB3EQAAfBEAAIARAACEEQAAiBEAAIwRAACREQAAlREAAJkRAACdEQAAoREAAKYRAACqEQAArhEAALIRAAC2EQAAuxEAAL8RAADDEQAAxxEAAMsRAADPEQAA1BEAANgRAADcEQAA4BEAAOQRAADpEQAA7REAAPERAAD1EQAA+REAAP0RAAACEgAABhIAAAoSAAAOEgAAEhIAABYSAAAaEgAAHxIAACMSAAAnEgAAKxIAAC8SAAAzEgAANxIAADwSAABAEgAARBIAAEgSAABMEgAAUBIAAFQSAABZEgAAXRIAAGESAABlEgAAaRIAAG0SAABxEgAAdRIAAHoSAAB+EgAAghIAAIYSAACKEgAAjhIAAJISAACWEgAAmhIAAJ8SAACjEgAApxIAAKsSAACvEgAAsxIAALcSAAC7EgAAvxIAAMMSAADHEgAAzBIAANASAADUEgAA2BIAANwSAADgEgAA5BIAAOgSAADsEgAA8BIAAPQSAAD4EgAA/BIAAAETAAAFEwAACRMAAA0TAAAREwAAFRMAABkTAAAdEwAAIRMAACUTAAApEwAALRMAADETAAA1EwAAORMAAD0TAABBEwAARRMAAEkTAABNEwAAURMAAFUTAABaEwAAXhMAAGITAABmEwAAahMAAG4TAAByEwAAdhMAAHoTAAB+EwAAghMAAIYTAACKEwAAjhMAAJITAACWEwAAmhMAAJ4TAACiEwAAphMAAKoTAACuEwAAshMAALYTAAC6EwAAvhMAAMITAADGEwAAyhMAAM4TAADSEwAA1hMAANoTAADeEwAA4hMAAOYTAADpEwAA7RMAAPETAAD1EwAA+RMAAP0TAAABFAAABRQAAAkUAAANFAAAERQAABUUAAAZFAAAHRQAACEUAAAlFAAAKRQAAC0UAAAxFAAANRQAADkUAAA9FAAAQBQAAEQUAABIFAAATBQAAFAUAABUFAAAWBQAAFwUAABgFAAAZBQAAGgUAABsFAAAcBQAAHMUAAB3FAAAexQAAH8UAACDFAAAhxQAAIsUAACPFAAAkxQAAJcUAACbFAAAnhQAAKIUAACmFAAAqhQAAK4UAACyFAAAthQAALoUAAC+FAAAwRQAAMUUAADJFAAAzRQAANEUAADVFAAA2RQAAN0UAADgFAAA5BQAAOgUAADsFAAA8BQAAPQUAAD4FAAA+xQAAP8UAAADFQAABxUAAAsVAAAPFQAAExUAABYVAAAaFQAAHhUAACIVAAAmFQAAKhUAAC0VAAAxFQAANRUAADkVAAA9FQAAQRUAAEQVAABIFQAATBUAAFAVAABUFQAAWBUAAFsVAABfFQAAYxUAAGcVAABrFQAAbhUAAHIVAAB2FQAAehUAAH4VAACBFQAAhRUAAIkVAACNFQAAkRUAAJQVAACYFQAAnBUAAKAVAACkFQAApxUAAKsVAACvFQAAsxUAALcVAAC6FQAAvhUAAMIVAADGFQAAyRUAAM0VAADRFQAA1RUAANgVAADcFQAA4BUAAOQVAADoFQAA6xUAAO8VAADzFQAA9xUAAPoVAAD+FQAAAhYAAAYWAAAJFgAADRYAABEWAAAUFgAAGBYAABwWAAAgFgAAIxYAACcWAAArFgAALxYAADIWAAA2FgAAOhYAAD4WAABBFgAARRYAAEkWAABMFgAAUBYAAFQWAABYFgAAWxYAAF8WAABjFgAAZhYAAGoWAABuFgAAcRYAAHUWAAB5FgAAfRYAAIAWAACEFgAAiBYAAIsWAACPFgAAkxYAAJYWAACaFgAAnhYAAKEWAAClFgAAqRYAAKwWAACwFgAAtBYAALcWAAC7FgAAvxYAAMIWAADGFgAAyhYAAM0WAADRFgAA1RYAANgWAADcFgAA4BYAAOMWAADnFgAA6xYAAO4WAADyFgAA9hYAAPkWAAD9FgAAABcAAAQXAAAIFwAACxcAAA8XAAATFwAAFhcAABoXAAAdFwAAIRcAACUXAAAoFwAALBcAADAXAAAzFwAANxcAADoXAAA+FwAAQhcAAEUXAABJFwAATBcAAFAXAABUFwAAVxcAAFsXAABeFwAAYhcAAGYXAABpFwAAbRcAAHAXAAB0FwAAeBcAAHsXAAB/FwAAghcAAIYXAACJFwAAjRcAAJEXAACUFwAAmBcAAJsXAACfFwAAohcAAKYXAACqFwAArRcAALEXAAC0FwAAuBcAALsXAAC/FwAAwhcAAMYXAADJFwAAzRcAANEXAADUFwAA2BcAANsXAADfFwAA4hcAAOYXAADpFwAA7RcAAPAXAAD0FwAA9xcAAPsXAAD+FwAAAhgAAAYYAAAJGAAADRgAABAYAAAUGAAAFxgAABsYAAAeGAAAIhgAACUYAAApGAAALBgAADAYAAAzGAAANxgAADoYAAA+GAAAQRgAAEUYAABIGAAATBgAAE8YAABTGAAAVhgAAFoYAABdGAAAYBgAAGQYAABnGAAAaxgAAG4YAAByGAAAdRgAAHkYAAB8GAAAgBgAAIMYAACHGAAAihgAAI4YAACRGAAAlBgAAJgYAACbGAAAnxgAAKIYAACmGAAAqRgAAK0YAACwGAAAsxgAALcYAAC6GAAAvhgAAMEYAADFGAAAyBgAAMwYAADPGAAA0hgAANYYAADZGAAA3RgAAOAYAADjGAAA5xgAAOoYAADuGAAA8RgAAPUYAAD4GAAA+xgAAP8YAAACGQAABhkAAAkZAAAMGQAAEBkAABMZAAAXGQAAGhkAAB0ZAAAhGQAAJBkAACgZAAArGQAALhkAADIZAAA1GQAAOBkAADwZAAA/GQAAQxkAAEYZAABJGQAATRkAAFAZAABTGQAAVxkAAFoZAABdGQAAYRkAAGQZAABoGQAAaxkAAG4ZAAByGQAAdRkAAHgZAAB8GQAAfxkAAIIZAACGGQAAiRkAAIwZAACQGQAAkxkAAJYZAACaGQAAnRkAAKAZAACkGQAApxkAAKoZAACuGQAAsRkAALQZAAC4GQAAuxkAAL4ZAADCGQAAxRkAAMgZAADMGQAAzxkAANIZAADVGQAA2RkAANwZAADfGQAA4xkAAOYZAADpGQAA7RkAAPAZAADzGQAA9hkAAPoZAAD9GQAAABoAAAQaAAAHGgAAChoAAA0aAAARGgAAFBoAABcaAAAbGgAAHhoAACEaAAAkGgAAKBoAACsaAAAuGgAAMRoAADUaAAA4GgAAOxoAAD4aAABCGgAARRoAAEgaAABLGgAATxoAAFIaAABVGgAAWBoAAFwaAABfGgAAYhoAAGUaAABpGgAAbBoAAG8aAAByGgAAdhoAAHkaAAB8GgAAfxoAAIMaAACGGgAAiRoAAIwaAACPGgAAkxoAAJYaAACZGgAAnBoAAJ8aAACjGgAAphoAAKkaAACsGgAAsBoAALMaAAC2GgAAuRoAALwaAADAGgAAwxoAAMYaAADJGgAAzBoAAM8aAADTGgAA1hoAANkaAADcGgAA3xoAAOMaAADmGgAA6RoAAOwaAADvGgAA8hoAAPYaAAD5GgAA/BoAAP8aAAACGwAABRsAAAkbAAAMGwAADxsAABIbAAAVGwAAGBsAABwbAAAfGwAAIhsAACUbAAAoGwAAKxsAAC4bAAAyGwAANRsAADgbAAA7GwAAPhsAAEEbAABEGwAASBsAAEsbAABOGwAAURsAAFQbAABXGwAAWhsAAF0bAABhGwAAZBsAAGcbAABqGwAAbRsAAHAbAABzGwAAdhsAAHkbAAB9GwAAgBsAAIMbAACGGwAAiRsAAIwbAACPGwAAkhsAAJUbAACYGwAAnBsAAJ8bAACiGwAApRsAAKgbAACrGwAArhsAALEbAAC0GwAAtxsAALobAAC9GwAAwRsAAMQbAADHGwAAyhsAAM0bAADQGwAA0xsAANYbAADZGwAA3BsAAN8bAADiGwAA5RsAAOgbAADrGwAA7hsAAPIbAAD1GwAA+BsAAPsbAAD+GwAAARwAAAQcAAAHHAAAChwAAA0cAAAQHAAAExwAABYcAAAZHAAAHBwAAB8cAAAiHAAAJRwAACgcAAArHAAALhwAADEcAAA0HAAANxwAADocAAA9HAAAQBwAAEMcAABGHAAASRwAAEwcAABPHAAAUhwAAFUcAABYHAAAWxwAAF4cAABhHAAAZBwAAGccAABqHAAAbRwAAHAcAABzHAAAdhwAAHkcAAB8HAAAfxwAAIIcAACFHAAAiBwAAIscAACOHAAAkRwAAJQcAACXHAAAmhwAAJ0cAACgHAAAoxwAAKYcAACpHAAArBwAAK8cAACyHAAAtRwAALgcAAC7HAAAvhwAAMEcAADDHAAAxhwAAMkcAADMHAAAzxwAANIcAADVHAAA2BwAANscAADeHAAA4RwAAOQcAADnHAAA6hwAAO0cAADwHAAA8xwAAPUcAAD4HAAA+xwAAP4cAAABHQAABB0AAAcdAAAKHQAADR0AABAdAAATHQAAFh0AABgdAAAbHQAAHh0AACEdAAAkHQAAJx0AACodAAAtHQAAMB0AADMdAAA1HQAAOB0AADsdAAA+HQAAQR0AAEQdAABHHQAASh0AAE0dAABPHQAAUh0AAFUdAABYHQAAWx0AAF4dAABhHQAAZB0AAGYdAABpHQAAbB0AAG8dAAByHQAAdR0AAHgdAAB7HQAAfR0AAIAdAACDHQAAhh0AAIkdAACMHQAAjh0AAJEdAACUHQAAlx0AAJodAACdHQAAoB0AAKIdAAClHQAAqB0AAKsdAACuHQAAsR0AALMdAAC2HQAAuR0AALwdAAC/HQAAwh0AAMQdAADHHQAAyh0AAM0dAADQHQAA0x0AANUdAADYHQAA2x0AAN4dAADhHQAA4x0AAOYdAADpHQAA7B0AAO8dAADxHQAA9B0AAPcdAAD6HQAA/R0AAP8dAAACHgAABR4AAAgeAAALHgAADR4AABAeAAATHgAAFh4AABkeAAAbHgAAHh4AACEeAAAkHgAAJh4AACkeAAAsHgAALx4AADIeAAA0HgAANx4AADoeAAA9HgAAPx4AAEIeAABFHgAASB4AAEoeAABNHgAAUB4AAFMeAABVHgAAWB4AAFseAABeHgAAYB4AAGMeAABmHgAAaR4AAGseAABuHgAAcR4AAHQeAAB2HgAAeR4AAHweAAB/HgAAgR4AAIQeAACHHgAAih4AAIweAACPHgAAkh4AAJQeAACXHgAAmh4AAJ0eAACfHgAAoh4AAKUeAACoHgAAqh4AAK0eAACwHgAAsh4AALUeAAC4HgAAuh4AAL0eAADAHgAAwx4AAMUeAADIHgAAyx4AAM0eAADQHgAA0x4AANUeAADYHgAA2x4AAN4eAADgHgAA4x4AAOYeAADoHgAA6x4AAO4eAADwHgAA8x4AAPYeAAD4HgAA+x4AAP4eAAAAHwAAAx8AAAYfAAAIHwAACx8AAA4fAAAQHwAAEx8AABYfAAAYHwAAGx8AAB4fAAAgHwAAIx8AACYfAAAoHwAAKx8AAC4fAAAwHwAAMx8AADYfAAA4HwAAOx8AAD0fAABAHwAAQx8AAEUfAABIHwAASx8AAE0fAABQHwAAUx8AAFUfAABYHwAAWh8AAF0fAABgHwAAYh8AAGUfAABoHwAAah8AAG0fAABvHwAAch8AAHUfAAB3HwAAeh8AAHwfAAB/HwAAgh8AAIQfAACHHwAAih8AAIwfAACPHwAAkR8AAJQfAACXHwAAmR8AAJwfAACeHwAAoR8AAKQfAACmHwAAqR8AAKsfAACuHwAAsB8AALMfAAC2HwAAuB8AALsfAAC9HwAAwB8AAMMfAADFHwAAyB8AAMofAADNHwAAzx8AANIfAADVHwAA1x8AANofAADcHwAA3x8AAOEfAADkHwAA5h8AAOkfAADsHwAA7h8AAPEfAADzHwAA9h8AAPgfAAD7HwAA/R8AAAAgAAAAAAAAAAAAAAAAAAAQAAAAEQAAABIAAAAAAAAACAAAAAcAAAAJAAAABgAAAAoAAAAFAAAACwAAAAQAAAAMAAAAAwAAAA0AAAACAAAADgAAAAEAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADQAAAA8AAAARAAAAEwAAABcAAAAbAAAAHwAAACMAAAArAAAAMwAAADsAAABDAAAAUwAAAGMAAABzAAAAgwAAAKMAAADDAAAA4wAAAAIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABwAAAAkAAAANAAAAEQAAABkAAAAhAAAAMQAAAEEAAABhAAAAgQAAAMEAAAABAQAAgQEAAAECAAABAwAAAQQAAAEGAAABCAAAAQwAAAEQAAABGAAAASAAAAEwAAABQAAAAWAAAAAAAAAAAAAACAAAAAgAAAAEAAAABAAAAAIAAAACAAAAAQAAAAAAAAAAAAAABAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAIAAAACAAAAAQAAAAEAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAsCAAAqAgAASwIAAG4CAACTAgAAugIAAOQCAAAQAwAAPwMAAHADAACkAwAA2AMAABYEAAAAAAAAAAAAAAAAAACUzi0AlM4tAJTOLQCUzi0AP+wAAEHsAABD7AAARewAAEfsAABJ7AAAS+wAAE3sAABP7AAAUewAAFPsAABV7AAAV+wAAFnsAABb7AAAXewAAF/sAABh7AAAY+wAAGXsAABn7AAAaewAAGvsAABt7AAAb+wAAHHsAABz7AAAdewAAHfsAAB57AAAe+wAAH3sAAB/7AAAgewAAIPsAACF7AAAh+wAAI7sAACV7AAAn+wAAKPsAACp7AAAq+wAAK3sAACv7AAAsewAALfsAAC57AAAu+wAAL3sAAC/7AAAuwgBAMHsAADD7AAAzOwAAM/sAADS7AAA1ewAANjsAADb7AAA3uwAAOHsAADk7AAA5+wAAOvsAADv7AAA8+wAAP/sAAAK7QAAEO0AABftAAAc7QAAI+0AACrtAAAu7QAAN+0AAD3tAABC7QAAR+0AAErtAABS7QAAW+0AAGTtAABt7QAAdu0AAIPtAACM7QAAle0AAJ7tAACn7QAAsO0AALntAADC7QAAy+0AANTtAADd7QAAlM4tAObtAADy7QAA+O0AAAHuAAAF7gAACe4AAA3uAAAR7gAAFe4AABnuAAAd7gAAIe4AACXuAAAp7gAALe4AADHuAAA57gAAPu4AAEPuAABK7gAAT+4AAFXuAABa7gAAXu4AAGPuAABp7gAAbu4AAHPuAAB87gAAlM4tAJTOLQCUzi0Ah+4AAJDuAACUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCh7gAAqu4AALHuAAC47gAAvu4AAIfsAADE7gAAzu4AANLuAADX7gAA5e4AAOvuAACUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAPHuAAD77gAABu8AABnvAAAq7wAAN+8AAEfvAABQ7wAAWe8AAGLvAABr7wAAdu8AAIfvAACQ7wAAme8AAKLvAACr7wAAtO8AAL3vAADI7wAA0e8AANrvAADj7wAA7O8AAPXvAAD/7wAACPAAABLwAAAb8AAAJPAAADHwAAA68AAAQ/AAAFPwAABk8AAAdPAAAILwAACV8AAAqPAAALnwAADE8AAA0fAAAOPwAADx8AAA/vAAAA3xAACUzi0AlM4tACDxAAAq8QAANfEAAD7xAABH8QAAUvEAAF7xAABo8QAAlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAHLxAAB98QAAh/EAAJHxAACb8QAApfEAAK/xAAC78QAAv/EAAMTxAADP8QAA2PEAAOLxAADq8QAA8vEAAP3xAAAF8gAAEPIAAB3yAAAs8gAAOfIAAEfyAABW8gAAY/IAAG7yAAB08gAAevIAAH/yAACE8gAAkPIAAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAOKWiAAAAADilpIAAAAA8J+QsQAAAOKsh++4jwDilpEAAAAA4py9AAAAAOKXjwAAAADimaUAAAAA4piJAAAAAOybgwAAAADijIIAAAAA4qyF77iPAPCfmJAAAADimaoAAAAA8J+Fvu+4j+KXhgAAAADigKYAAAAA4p6h77iPAOKYhQAAAADip5cAAAAA4qyG77iPAMuHAAAAAADiiKcAAAAA4p2OAAAAAOKWpAAAAADilqUAAAAA4pauAAAAAOKWoAAAAADilqEAAAAA4oGZAAAAAOKBmAAAAADigJYAAAAA4peAAAAAAOKWtgAAAADjgIwAAAAA44CNAAAAAMKlAAAAAADigKIAAAAA44CBAAAAAOOAggAAAADjgpsAAAAA44KcAAAAAOKXnAAAAADil50AAAAA8J2YogAAAPCdmKMAAADwnZikAAAA8J2YpQAAAPCdmKYAAADwnZinAAAA8J2YqAAAAPCdmKkAAADwnZiqAAAA8J2YqwAAAPCdmKwAAADwnZitAAAA8J2YrgAAAPCdmK8AAADwnZiwAAAA8J2YsQAAAPCdmLIAAADwnZizAAAA8J2YtAAAAPCdmLUAAADwnZi2AAAA8J2YtwAAAPCdmLgAAADwnZi5AAAA8J2YugAAAPCdmLsAAAAAAAAAAACwgeIAucIAALLCAACzwgAAtIHiALWB4gC2geIAt4HiALiB4gC5geIAg7XhAIe14QCctuEAiLXhAIm14QCgtuEAgoEAAISBAACGgQAAiIEAAIqBAACLgQAAjYEAAI+BAACRgQAAk4EAAJWBAACXgQAAmYEAAJuBAACdgQAAn4EAAKGBAACkgQAApoEAAKiBAACqgQAAq4EAAKyBAACtgQAAroEAAK+BAACygQAAtYEAALiBAAC7gQAAvoEAAL+BAACAggAAgYIAAIKCAACEggAAhoIAAIiCAACJggAAioIAAIuCAACMggAAjYIAAI+CAACSggAAk4IAAKOBAACDggAAhYIAAIeCAAAAAAAAAAAAAKKCAACkggAApoIAAKiCAACqggAAq4IAAK2CAACvggAAsYIAALOCAAC1ggAAt4IAALmCAAC7ggAAvYIAAL+CAACBgwAAhIMAAIaDAACIgwAAioMAAIuDAACMgwAAjYMAAI6DAACPgwAAkoMAAJWDAACYgwAAm4MAAJ6DAACfgwAAoIMAAKGDAACigwAApIMAAKaDAACogwAAqYMAAKqDAACrgwAArIMAAK2DAACvgwAAsoMAALODAACDgwAAo4MAAKWDAACngwAAAAAAAAAAAACLAwAAhAMAAH4DAAB3AwAAcQMAAGsDAABkAwAAXgMAAFgDAABSAwAATAMAAEYDAABAAwAAOgMAADQDAAAuAwAAKAMAACIDAAAcAwAAFwMAABEDAAALAwAABgMAAAADAAD6AgAA9QIAAPACAADqAgAA5QIAAOACAADaAgAA1QIAANACAADLAgAAxQIAAMACAAC7AgAAtgIAALECAACsAgAApgIAAKMCAACeAgAAmQIAAJQCAACPAgAAiwIAAIYCAACAAgAAfAIAAHgCAAB0AgAAbwIAAGsCAABmAgAAYgIAAFwCAABZAgAAVQIAAFACAABMAgAASAIAAEQCAAA/AgAAOgIAADcCAAAzAgAALwIAACsCAAAnAgAAIwIAAB8CAAAaAgAAFwIAABQCAAAQAgAADAIAAAgCAAAEAgAAAQIAAPwBAAD5AQAA9gEAAPIBAADuAQAA6wEAAOcBAADkAQAA4AEAAN0BAADaAQAA1gEAANMBAADPAQAAzAEAAMkBAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUF/////////////////////yIiAgD2AQAAGZMNChoKAAB9BgAA776t3mdFIwEBAAAA/////wkAAADvvq3eZ0UjAerqAAD/////AQAAAAAAPAABAAAA2IcAAAUAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAASLwYAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWM4tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfcIkA/wkvD7sIAQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQCUzi0AlM4tAJTOLQB/f39/f39/f39/f39/fwAAcm9vdF9wYXRoAGNkYXRhX3BhdGgAam95c3RpY2tfaW5kZXgAICVkAGJ1dHRvbl9rZXlzACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZABsaXZlX25vdGVzAGN1cnNvcl9zbmFwAGd1aV90aGVtZQBzaGlmdF9nbHlwaHMAc2hvd19iYWNrdXBfbWVzc2FnZXMAaG9zdF9mcmFtZXJhdGVfY29udHJvbABjb250ZW50X2ZpbHRlcgBkcmF3X3RhYnMAcmVjb3JkX2FjdGl2aXR5X2xvZwBhbGxvd19mdW5jdGlvbl9rZXlzAGNoZWNrX2Zvcl9jYXJ0X3VwZGF0ZXMAZW5hYmxlX2dwaW8AdmVyc2lvbiAlcwoKADAuMi4xYgAvLyBhdWRpbyB2b2x1bWU6IDAuLjI1NiAKAHZvbHVtZSAlZAoKAAovLyBMb2NhdGlvbiBvZiBwaWNvLTgncyByb290IGZvbGRlcgoAcm9vdF9wYXRoICVzCgoACi8vIExvY2F0aW9uIG9mIGNhcnRyaWRnZSBzYXZlIGRhdGEKAGNkYXRhX3BhdGggJXMKCgAKLy8gU3BlY2lmeSB3aGljaCBwbGF5ZXIgaW5kZXggam95c3RpY2sgY29udHJvbCBiZWdpbnMgYXQgKDAuLjcpCgBqb3lzdGlja19pbmRleCAlZAoKAAovLyBDdXN0b20ga2V5Ym9hcmQgc2NhbmNvZGVzIGZvciBidXR0b25zLiBwbGF5ZXIwIDAuLjYsIHBsYXllcjEgMC4uNQoAYnV0dG9uX2tleXMgACVkIAAKCgAvLyBQbGF5IG5vdGVzIGFzIHRoZXkgYXJlIHBsb3R0ZWQgaW4gZnJlcXVlbmN5IG1vZGUKAGxpdmVfbm90ZXMgJWQKCgAvLyBpZmYgMTogd2hlbiB1c2luZyBrZXlib2FyZCBjdXJzb3IsIHNuYXAgdG8gY2xvc2VzdCBwaXhlbCAvIG1hcCBjZWwKAGN1cnNvcl9zbmFwICVkCgoALy8gMCBkZWZhdWx0ICAxIGRhcmsgYmx1ZSBiYWNrZ3JvdW5kIGluIGNvZGUgZWRpdG9yICAyIGJsYWNrIGJhY2tncm91bmQgaW4gY29kZSBlZGl0b3IgICAzIGdyYXkgYmFja2dyb3VuZCBpbiBjb2RlIGVkaXRvciAgIAoAZ3VpX3RoZW1lICVkCgoALy8gc2NhbGUgb2Ygc2NyZWVuc2hvdHMgYW5kIGdpZnMgLy8gMiBtZWFucyAyNTZ4MjU2CgBzY3JlZW5zaG90X3NjYWxlICVkCgBnaWZfc2NhbGUgJWQKCgAvLyBtYXhpbXVtIGdpZiBsZW5ndGggaW4gc2Vjb25kcyAoMC4uMTIwOyAwIG1lYW5zIG5vIGdpZiByZWNvcmRpbmcpCgBnaWZfbGVuICVkCgoALy8gd2hlbiAxLCByZXNldCB0aGUgcmVjb3JkaW5nIHdoZW4gcHJlc3NpbmcgY3RybC05ICh1c2VmdWwgZm9yIGNyZWF0aW5nIGEgbm9uLW92ZXJsYXBwaW5nIHNlcXVlbmNlKQoAZ2lmX3Jlc2V0X21vZGUgJWQKCgAvLyAwIGZvciBvZmYuIDEgdG8gYWxsb3cgY29udHJvbCBvZiBhIGNhcnQncyBmcmFtZXJhdGUgZHVlIHRvIGhvc3QgbWFjaGluZSdzIGNwdSBjYXBhY2l0eSAocmVjb21tZW5kZWQpCgBob3N0X2ZyYW1lcmF0ZV9jb250cm9sICVkCgoALy8gZmlsdGVyIHNwbG9yZSBjYXJ0cmlkZ2VzCgAvLyAwIG9mZiAgIDEgb24gKGV4Y2x1ZGUgY2FydHJpZGdlIHRhZ2dlZCBhcyAnbWF0dXJlJyBieSBjb21tdW5pdHkpCgBzcGxvcmVfZmlsdGVyICVkCgoALy8gdGFiIGRpc3BsYXkgd2lkdGggKDEgfiA0IHNwYWNlcykKAHRhYl93aWR0aCAlZAoKAC8vIDAgb2ZmIDEgb246IGRyYXcgdGFiIGNoYXJhY3RlcnMgYXMgc21hbGwgdmVydGljYWwgbGluZXMKAGRyYXdfdGFicyAlZAoKAC8vIDAgb2ZmIDEgb246IHJlY29yZCB0aGUgY3VycmVudCBjYXJ0cmlkZ2UgYW5kIGVkaXRvciB2aWV3IGV2ZXJ5IDMgc2Vjb25kcyAoc2VlIFthcHBkYXRhXS9hY3Rpdml0eS5sb2cudHh0KQoAcmVjb3JkX2FjdGl2aXR5X2xvZyAlZAoKAC8vIDAgb2ZmIDEgb246IGFsbG93IEY2Li5GOSAoYWx0ZXJuYXRpdmU6IGN0cmwgNi4uOSkKAGFsbG93X2Z1bmN0aW9uX2tleXMgJWQKCgAvLyAwIG9mZiAxIG9uOiBhdXRvbWF0aWNhbGx5IGNoZWNrIGZvciBhIG5ld2VyIHZlcnNpb24gb2YgYSBCQlMgY2FydCBlYWNoIHRpbWUgaXQgaXMgcnVuLgoAY2hlY2tfZm9yX2NhcnRfdXBkYXRlcyAlZAoKAHtjaWlpID0gJDA7IGlpaSA9IDA7fQAie2lpaSA9IGlpaSsxOyByZXR1cm4gX2NhcnRuYW1lW2NpaWldLmNoYXJDb2RlQXQoaWlpLTEpOyB9IgBbY29kb10gYmJzX3dnZXRfb25sb2FkIDo6IHJlY2VpdmVkLiBwcmVwYXJpbmcgdG8gcnVuLiBwc3RhdGUuY3VycmVudF9maWxlbmFtZSAlcyBhcHAuYXV0b19sb2FkX2ZuICVzCgB3cm90ZSBsZW46ICVkCgAvYmJzL2dldF9jYXJ0LnBocABsaWQ9AGZpbGVuYW1lX25vdF9mb3VuZC5wOC5wbmcAYmJzX3dnZXRfb25sb2FkOiBzZXQgY3VycmVudF9maWxlbmFtZSB0byAlcyAoZGVyaXZlZCBmcm9tICVzKQoAZmV0Y2hpbmcgY2FydHJpZGdlLi4gb2sAY291bGQgbm90IGZldGNoIGNhcnQAInsgaWYgKHR5cGVvZiBfY2FydGRhdCAhPT0ndW5kZWZpbmVkJykgcmV0dXJuIDE7IHJldHVybiAwO30iACJ7cmV0dXJuIF9jYXJ0ZGF0Lmxlbmd0aCAvIDMyNzY4fSIAInsgX2NkcG9zPV9jZHBvcysxOyByZXR1cm4gX2NhcnRkYXRbX2NkcG9zLTFdOyB9IgBzdGFydGluZyBkb3dubG9hZAoAbG9hZGluZyBlbWJlZGRlZCBjYXJ0cmlkZ2UKAGpveXN0aWNrAGtpb3NrAGdwaW9fYmFzZQBnbGl0Y2hfdGVzdAB4AGV4ZWMAcGFyYW0AcABhY2NlcHRfZnV0dXJlAHR2X2ZyYW1lAGRpc3BsYXlzX3gAZGlzcGxheXNfeQBpAG8AZnVuY3Rpb24gbWtkaXJfMChkKSB7IHRyeSB7IHN0YXQgPSBGUy5zdGF0KGQpOyBjb25zb2xlLmxvZygiZm91bmQgZGlyZWN0b3J5OiAiK2QpOyB9IGNhdGNoIChlKSB7IEZTLm1rZGlyKGQpOyBjb25zb2xlLmxvZygiY3JlYXRlZCBkaXJlY3Rvcnk6ICIrZCk7IH0gfSBjb25zb2xlLmxvZygibW91bnRpbmcgL3VzZXJfZGF0YSIpOyBta2Rpcl8wKCcvdXNlcl9kYXRhJyk7IEZTLm1vdW50KElEQkZTLCB7fSwgJy91c2VyX2RhdGEnKTsgRlMuc3luY2ZzKHRydWUsIGZ1bmN0aW9uIChlcnIpIHsgaWYgKCFlcnIpIHsgY29uc29sZS5sb2coImNvZG86IG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIpOyBjb2RvX21vdW50ZWRfZmlsZXN5c3RlbSA9IDE7IG1rZGlyXzAoJy91c2VyX2RhdGEvY2RhdGEnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9jc3RvcmUnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9jYXJ0cycpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2JhY2t1cCcpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL3BsYXRlcycpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2JicycpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2Jicy9jYXJ0cycpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2Jicy9sYWJlbHMnKTsgfSBlbHNlIHsgY29uc29sZS5sb2coIioqIGNvdWxkIG5vdCBtb3VudCBmaWxlc3lzdGVtXG4iKTsgY29uc29sZS5sb2coZXJyKTsgfSB9ICk7ACJ7IE1vZHVsZS5waWNvOFJlc2V0ID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDE7fSA7IE1vZHVsZS5waWNvOFRvZ2dsZVNvdW5kID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDM7fSA7IE1vZHVsZS5waWNvOFRvZ2dsZVBhdXNlZCA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSA0O30gOyBNb2R1bGUucGljbzhTZXRQYXVzZWQgPSBmdW5jdGlvbihwKSB7IGNvZG9fY29tbWFuZCA9IDU7IGNvZG9fY29tbWFuZF9wID0gMDsgaWYgKHApIGNvZG9fY29tbWFuZF9wPTE7fSA7IE1vZHVsZS5waWNvOFRvZ2dsZUNvbnRyb2xNZW51ID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDc7fSA7IH0iAHBpY28tOABjYXJ0cy8AY2RhdGEvAHBpY284LmRhdABkYXRhLnBvZABSVU5OSU5HOiAlcwoAY291bGRuJ3QgbG9hZCAlcwoAY291bGQgbm90IGxvYWQgJXMKAC4vAHt2YXIgdmFsPTA7IGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuaW5kZXhPZigid2lkZ2V0LnBocCIpID49IDApIHZhbD0xOyByZXR1cm4gdmFsO30Ae3ZhciB2YWw9MDsgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKCJwaWNvLTgucGhwIikgPj0gMCkgdmFsPTE7IHJldHVybiB2YWw7fQBscnVkb3hwJWQgam95c3RpY2tzIGRldGVjdGVkAGEgbmV3IHZlcnNpb24gb2YgdGhpcwBjYXJ0cmlkZ2UgaXMgYXZhaWxhYmxlACUwMmQALS1tb3JlLS0AY29udGludWUAcmVzZXQgY2FydABzb3VuZDpvbgBzb3VuZDpvZmYAZnVsbHNjcmVlbjpvZmYAZnVsbHNjcmVlbjpvbgBjb250cm9scwB1cGRhdGUgY2FydABza2lwAHNvdW5kIG9mZiAoY3RybC1tKQBzb3VuZCBvbiAoY3RybC1tKQBkb3dubG9hZCB0aW1lZCBvdXQAZG93bmxvYWRpbmcuLiBjYW5jZWxsZWQALm5mbwAvdGVtcC0AY291bGQgbm90IGZpbmQgY2FydABkb3dubG9hZGluZy4uIG9rAGxvYWRlZCAjJXMgKCVkIGNoYXJzKQBjb3VsZCBub3QgY29ubmVjdCB0byBiYnMAZnV0dXJlIHZlcnNpb24uIHBsZWFzZSB1cGRhdGUhAHsgaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZSAhPT0gJ3VuZGVmaW5lZCcpeyBwaWNvOF9zdGF0ZS5pc19wYXVzZWQgPSAkMDsgcGljbzhfc3RhdGUuc291bmRfdm9sdW1lID0gJDE7IHBpY284X3N0YXRlLmZyYW1lX251bWJlciA9ICQyOyBwaWNvOF9zdGF0ZS5oYXNfZm9jdXMgPSAkMzsgcGljbzhfc3RhdGUuc2hvd19kcGFkID0gJDQ7IH0gfQAie3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBjb2RvX2NvbW1hbmQgIT09ICd1bmRlZmluZWQnKSB7dmFsPWNvZG9fY29tbWFuZDsgY29kb19jb21tYW5kPTA7fSByZXR1cm4gdmFsfSIAInt2YXIgdmFsPTA7IGlmICh0eXBlb2YgY29kb19jb21tYW5kX3AgIT09ICd1bmRlZmluZWQnKSB7dmFsPWNvZG9fY29tbWFuZF9wOyBjb2RvX2NvbW1hbmRfcD0wO30gcmV0dXJuIHZhbH0iACJ7YnV0dG9uX2kgPSAwfSIAInt2YXIgdmFsPS0xOyBpZiAodHlwZW9mIHBpY284X2J1dHRvbnMgIT09ICd1bmRlZmluZWQnKSB7dmFsID0gcGljbzhfYnV0dG9uc1tidXR0b25faV07IGJ1dHRvbl9pICsrO30gcmV0dXJuIHZhbDt9IgAie3ZhciB2YWwgPSAwOyBpZiAodHlwZW9mIHBpY284X2dhbWVwYWRzICE9PSAndW5kZWZpbmVkJykge3ZhbCA9IHBpY284X2dhbWVwYWRzLmNvdW50O30gcmV0dXJuIHZhbDt9IgAqKiBmYWlsZWQgdG8gc2F2ZSBzY3JlZW5zaG90AHNldCB2aWRlbyBzdGFydGluZyBwb2ludABubyB2aWRlbyByZWNvcmRlZCAocmVjOiBjdHJsLTgpACoqIGZhaWxlZCB0byBzYXZlIHZpZGVvAHNhdmVkICVkIHNlY29uZCBnaWYgdG8gZGVza3RvcABqb3lzdGljayAlZCBjb25uZWN0ZWQAam95c3RpY2sgJWQgZGlzY29ubmVjdGVkAGlmICh0eXBlb2Ygb25fbW9kdWxlX2xvYWQgIT09ICd1bmRlZmluZWQnKSB7IGlmIChvbl9tb2R1bGVfbG9hZCkgb25fbW9kdWxlX2xvYWQoKTsgfQBbY29kb10gKioqIGJic193Z2V0X29ubG9hZDogaW4gbWlkZGxlIG9mIHJ1bm5pbmcgc2xpY2UAZGF0YTppbWFnZS8lcztiYXNlNjQsAHsgdmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOyBpbWcuc3JjID0gVVRGOFRvU3RyaW5nKCQwLCAkMSk7IGltZy5zdHlsZS5jc3NUZXh0ID0gJ21hcmdpbjo0cHg7IGRpc3BsYXk6YmxvY2s7IHdpZHRoOicrJDIrJ3B4OyBoZWlnaHQ6JyskMysncHgnOyBob2xkZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncDhfZGVza3RvcCcpOyBpZiAoaG9sZGVyKSB7IHdoaWxlIChob2xkZXIuY2hpbGRFbGVtZW50Q291bnQgPiAoMTYtMSkpIGhvbGRlci5yZW1vdmVDaGlsZChob2xkZXIuZmlyc3RDaGlsZCk7IGhvbGRlci5hcHBlbmRDaGlsZChpbWcpOyB9IH0AJTJ4AHBuZwBsb2FkaW5nIGZ1dHVyZSBjYXJ0IHZlcnNpb24AZnV0dXJlIHZlcnNpb246ICVkAGNhcnRyaWRnZSBkYXRhIGlzIGNvcnJ1cHRlZAAlcyVzLnA4JXMAJXMlcyVzLnA4AHVudGl0bGVkAGJhY2t1cC8AJTRkJTAyZCUwMmRfJTAyZCUwMmQlMDJkXwBwcm9ncmFtIG92ZXIgc2l6ZSBsaW1pdAoAY29tcHJlc3NlZCBjb2RlIHNpemUgdG9vIGxhcmdlCgAlZCAvICVkIGJ5dGVzAHdhcm5pbmc6IGNvbXByZXNzZWQgY29kZSB0b28gYmlnAHRvIGJlIGV4cG9ydGVkIG9yIHNhdmVkIGFzIHBuZwAoc2F2aW5nIC5wOCBhbnl3YXkpAGZsYXR0ZW5lZCAjaW5jbHVkZXMAKiogZmFpbGVkIHRvIHNhdmUgKioAL3VzZXJfZGF0YS9jc3RvcmUvJXMlcwBfXwBwcmVwYXJlX2xvYWRlZF9jYXJ0OiBsb29raW5nIGZvciBzYW5kYm94ZWQgY2FydCBwYXRjaDogJXMKACAgZm91bmQKACAgbm90IGZvdW5kCgB3YXJuaW5nOiBwb3NzaWJsZSBkZXByZWNhdGVkIEBAAGxlZ2FjeTogcGF0ICVkIHN3YXAgY2hhbjogJWQgJWQAcHJpbnQoImFyY2hlb3MiLDk4LDM0LDcpAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tIGxlZ2FjeSAwLjEuMSBhcGkgaW5qZWN0ZWQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIF92YWxpZGF0ZShjKSBpZiAoYy5fbnVtPT1uaWwpIHRoZW4gbG9jYWwgaT0wIHdoaWxlKGNbaSsxXX49bmlsKSBkbyBpPWkrMSBlbmQgYy5fbnVtPWkgYy5fbWF4PWkgCWMuX21pbj1pKzEgYy5fbnVtID0gaSBjLl9jaSA9IGkgZW5kIGVuZCAJZnVuY3Rpb24gZm9yZWFjaChjLCBmKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBfdmFsaWRhdGUoYykgaWYgKGMuX21heCA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBmb3IgaT0xLGMuX21heCBkbyBpZiAoY1tpXSB+PSBuaWwpIHRoZW4gYy5fY2kgPSBpIGYoY1tpXSkgZW5kIGVuZCBlbmQgZnVuY3Rpb24gYWxsKGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIF92YWxpZGF0ZShjKSBsb2NhbCBpPTAgcmV0dXJuIGZ1bmN0aW9uKCkgaT1pKzEgd2hpbGUgKGNbaV09PW5pbCBhbmQgaTxjLl9tYXgpIGRvIGk9aSsxIGVuZCBpZiAoY1tpXSB+PSBuaWwpIHRoZW4gYy5fY2k9aSByZXR1cm4gY1tpXSBlbmQgZW5kIGVuZCBmdW5jdGlvbiBhZGQoYywgaSkgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBlbmQgX3ZhbGlkYXRlKGMpIGZvciBqPWMuX21pbixjLl9tYXgrMSBkbyBpZiAoY1tqXSA9PSBuaWwpIHRoZW4gYy5fbWF4ID0gbWF4KGMuX21heCxqKSBjLl9taW4gPSBqKzEgYy5fbnVtID0gYy5fbnVtKzEgY1tqXT1pIHJldHVybiBpIGVuZCBlbmQgZW5kIGZ1bmN0aW9uIGNvdW50KGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gMCBlbmQgX3ZhbGlkYXRlKGMpIHJldHVybiBjLl9udW0gZW5kIGZ1bmN0aW9uIGRlbChjLGkpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZW5kIF92YWxpZGF0ZShjKSBpZiAoaT09bmlsKSB0aGVuIHJldHVybiBlbmQgaWYgKGMuX2NpPT1pKSB0aGVuIGNbYy5fY2ldPW5pbCBjLl9taW49bWluKGMuX21pbiwgYy5fY2kpIGMuX251bT1jLl9udW0tMSByZXR1cm4gZWxzZSBmb3Igaj0xLGMuX21heCBkbyBpZiAoY1tqXT09aSkgdGhlbiBjW2pdPW5pbCBjLl9taW49bWluKGMuX21pbixqKSBjLl9udW09Yy5fbnVtLTEgcmV0dXJuIGVuZCBlbmQgZW5kIHdoaWxlIChjLl9tYXg+MSBhbmQgY1tjLl9tYXhdPT1uaWwpIGRvIGMuX21heD1jLl9tYXgtMSBlbmQgZW5kICBuZD0wCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoAbGVnYWN5OiAwLjEuMSBhcGkgaW5qZWN0ZWQALmx1YQAuYmluAHBsZWFzZSBzcGVmaWN5IGEgZmlsZW5hbWUAKioqIG5vIGZpbGVuYW1lLiBub3Qgc2F2ZWQhICoqKgBjYW4gbm90IG92ZXJ3cml0ZSBiYnMgY2FydAAqIGNhbiBub3Qgb3ZlcndyaXRlIGJicyBjYXJ0ISAqAHNhdmUgZmFpbGVkACoqIHNhdmUgZmFpbGVkICoqAHNhdmVkICVzJXMlcwBsb2FkZWQgZXh0ZXJuYWwgY2hhbmdlcwAlc18lMDNkLnBuZwBzYXZpbmcgc2NyZWVuc2hvdCB0bzogJXMKAG1vdW50X2VtYmVkZGVkX2NhcnQ6ICVzICglZCBjaGFycykgJXMKACoqIG1vdW50X2VtYmVkZGVkX2NhcnQ6IGZhaWxlZCB0byBtb3VudABjYW4gbm90IGxvYWQAcDhtLnBuZwBwOG0ucG5nIG5vdCBzdXBwb3J0ZWQAaW1hZ2UgaXMgdG9vIGxhcmdlICgxMjggbWF4KQBmaWxlIGlzIHRvbyBsYXJnZSAoMjU2ayBtYXgpAG5vIHZhbHVlAGJvb2xlYW4AdXNlcmRhdGEAbnVtYmVyAHN0cmluZwB0YWJsZQB0aHJlYWQAcHJvdG8AdXB2YWwAc3RhY2sgb3ZlcmZsb3cAQyBzdGFjayBvdmVyZmxvdwB0YWJsZSBvdmVyZmxvdwAnZm9yJyBpbml0aWFsIHZhbHVlIG11c3QgYmUgYSBudW1iZXIAJ2ZvcicgbGltaXQgbXVzdCBiZSBhIG51bWJlcgAnZm9yJyBzdGVwIG11c3QgYmUgYSBudW1iZXIAbk4AeFgAYkIAYXR0ZW1wdCB0byBjb21wYXJlIHR3byAlcyB2YWx1ZXMAYXR0ZW1wdCB0byBjb21wYXJlICVzIHdpdGggJXMAc3RyaW5nIGxlbmd0aCBvdmVyZmxvdwBjb25jYXRlbmF0ZQA/AHVwdmFsdWUAYXR0ZW1wdCB0byAlcyAlcyAnJXMnIChhICVzIHZhbHVlKQBhdHRlbXB0IHRvICVzIGEgJXMgdmFsdWUAX0VOVgBnbG9iYWwAZmllbGQAbWV0aG9kAGNvbnN0YW50ACUwLjVmAC45OTk5AC4wMDAwACUwLjNmACUwLjRmAGdldCBsZW5ndGggb2YAcGVyZm9ybSBhcml0aG1ldGljIG9uAHRhYmxlIGluZGV4IGlzIG5pbABtZW1vcnkgYWxsb2NhdGlvbiBlcnJvcjogYmxvY2sgdG9vIGJpZwBpbmRleABsb29wIGluIHNldHRhYmxlAGxvb3AgaW4gZ2V0dGFibGUAYXR0ZW1wdCB0byB5aWVsZCBhY3Jvc3MgYSBDLWNhbGwgYm91bmRhcnkAYXR0ZW1wdCB0byB5aWVsZCBmcm9tIG91dHNpZGUgYSBjb3JvdXRpbmUAY2FsbAAuLi4AW3N0cmluZyAiACJdACVzADB4JXgAJQBpbnZhbGlkIG9wdGlvbiAnJSUlYycgdG8gJ2x1YV9wdXNoZnN0cmluZycAZXJyb3IgaW4gZXJyb3IgaGFuZGxpbmcAYXR0ZW1wdCB0byBsb2FkIGEgJXMgY2h1bmsgKG1vZGUgaXMgJyVzJykAYmluYXJ5AHRleHQAY29udHJvbCBzdHJ1Y3R1cmUgdG9vIGxvbmcAbGFiZWxzL2dvdG9zAG5vIHZpc2libGUgbGFiZWwgJyVzJyBmb3IgPGdvdG8+IGF0IGxpbmUgJWQgKHRhYiAlZCkAPCVzPiBhdCBsaW5lICVkIG5vdCBpbnNpZGUgYSBsb29wADxnb3RvICVzPiBhdCBsaW5lICVkICh0YWIgJWQpIGp1bXBzIGludG8gdGhlIHNjb3BlIG9mIGxvY2FsICclcycAdG9vIG1hbnkgJXMgKGxpbWl0IGlzICVkKQAlczolZDogJXMAbGV4aWNhbCBlbGVtZW50IHRvbyBsb25nACclcycAJXMgbmVhciAlcwAmAHwAXl4APDwAPj4APj4+ADw8PgA+PjwAXABAAEBAACQAJyVjJwA9PQA+PQA8PQB+PQA6OgA8bnVtYmVyPgA8bmFtZT4APHN0cmluZz4Ab3Bjb2RlcwAlcyBleHBlY3RlZABDIGxldmVscwAoZm9yIGluZGV4KQAoZm9yIGxpbWl0KQAoZm9yIHN0ZXApAGZ1bmN0aW9uIG9yIGV4cHJlc3Npb24gdG9vIGNvbXBsZXgAKGZvciBnZW5lcmF0b3IpAChmb3Igc3RhdGUpAChmb3IgY29udHJvbCkAJz0nIG9yICdpbicgZXhwZWN0ZWQAbGFiZWwgJyVzJyBhbHJlYWR5IGRlZmluZWQgb24gbGluZSAlZCAodGFiICVkKQB1bmV4cGVjdGVkIHN5bWJvbABmdW5jdGlvbiBhcmd1bWVudHMgZXhwZWN0ZWQAaXRlbXMgaW4gYSBjb25zdHJ1Y3RvcgBmdW5jdGlvbnMAc2VsZgA8bmFtZT4gb3IgJy4uLicgZXhwZWN0ZWQAY29uc3RhbnRzAGxvY2FsIHZhcmlhYmxlcwBjYW5ub3QgdXNlICcuLi4nIG91dHNpZGUgYSB2YXJhcmcgZnVuY3Rpb24AJXMgZXhwZWN0ZWQgKHRvIGNsb3NlICVzIGF0IGxpbmUgJWQgKHRhYiAlZCkpAGZ1bmN0aW9uIGF0IGxpbmUgJWQgKHRhYiAlZCkAbWFpbiBmdW5jdGlvbgB0b28gbWFueSAlcyAobGltaXQgaXMgJWQpIGluICVzAGludmFsaWQgbG9uZyBzdHJpbmcgZGVsaW1pdGVyAHVuZmluaXNoZWQgc3RyaW5nAGhleGFkZWNpbWFsIGRpZ2l0IGV4cGVjdGVkAGludmFsaWQgZXNjYXBlIHNlcXVlbmNlAGRlY2ltYWwgZXNjYXBlIHRvbyBsYXJnZQBYeABFZQBQcAArLQBtYWxmb3JtZWQgbnVtYmVyAHVuZmluaXNoZWQgbG9uZyBjb21tZW50AHVuZmluaXNoZWQgbG9uZyBzdHJpbmcAY2h1bmsgaGFzIHRvbyBtYW55IGxpbmVzAHVwdmFsdWVzAGJpbmFyeSBzdHJpbmcAdHJ1bmNhdGVkAG5vdCBhAHZlcnNpb24gbWlzbWF0Y2ggaW4AaW5jb21wYXRpYmxlAGNvcnJ1cHRlZAAlczogJXMgcHJlY29tcGlsZWQgY2h1bmsAaW52YWxpZCBrZXkgdG8gJ25leHQnAHN0YWNrIHRyYWNlYmFjazoACgkuLi4AU2xudAAKCSVzOgAlZDoAIGluIABmdW5jdGlvbiAnJXMnAG1haW4gY2h1bmsAZnVuY3Rpb24gPCVzOiVkPgAKCSguLi50YWlsIGNhbGxzLi4uKQA9W0NdAD0/AG1haW4ATHVhAGZvciBpdGVyYXRvcgBtZXRhbWV0aG9kAGJhZCBhcmd1bWVudCAjJWQgKCVzKQBuAGNhbGxpbmcgJyVzJyBvbiBiYWQgc2VsZiAoJXMpAGJhZCBhcmd1bWVudCAjJWQgdG8gJyVzJyAoJXMpAFNsACVzOiVkOiAAJXMgZXhwZWN0ZWQsIGdvdCAlcwB2YWx1ZSBleHBlY3RlZABvYmplY3QgbGVuZ3RoIGlzIG5vdCBhIG51bWJlcgBfX3Rvc3RyaW5nACVzOiAlcABfX2luZGV4AF9fbmV3aW5kZXgAX19nYwBfX21vZGUAX19sZW4AX19lcQBfX2FkZABfX3N1YgBfX211bABfX2RpdgBfX21vZABfX3BvdwBfX2FuZABfX29yAF9feG9yAF9fc2hsAF9fc2hyAF9fbHNocgBfX3JvdGwAX19yb3RyAF9fbm90AF9faWRpdgBfX3BlZWsAX19wZWVrMgBfX3BlZWs0AF9fdW5tAF9fbHQAX19sZQBfX2NvbmNhdABfX2NhbGwAX19tZXRhdGFibGUAbmlsIG9yIHRhYmxlIGV4cGVjdGVkAGNhbm5vdCBjaGFuZ2UgYSBwcm90ZWN0ZWQgbWV0YXRhYmxlAHRhYmxlIG9yIHN0cmluZyBleHBlY3RlZABfX3BhaXJzAF9faXBhaXJzAGFzc2VydGlvbiBmYWlsZWQhAGluZGV4IG91dCBvZiByYW5nZQBjb3JvdXRpbmUgZXhwZWN0ZWQAY29yb2xpYjogdG9vIG1hbnkgYXJndW1lbnRzIHRvIHJlc3VtZQBjb3JvbGliOiBjYW5ub3QgcmVzdW1lIGRlYWQgY29yb3V0aW5lAGNvcm9saWI6IHRvbyBtYW55IHJlc3VsdHMgdG8gcmVzdW1lAGNhbm5vdCByZXN1bWUgbm9uLXN1c3BlbmRlZCBjb3JvdXRpbmUAY2Fubm90IHJlc3VtZSBkZWFkIGNvcm91dGluZQBydW5uaW5nAHN1c3BlbmRlZABub3JtYWwAZGVhZAB3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvICdpbnNlcnQnAHRvbyBtYW55IHJlc3VsdHMgdG8gdW5wYWNrAHVwbG9hZAB7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUgIT09ICd1bmRlZmluZWQnKXsgaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZS5zeXN0ZW1fbWVzc2FnZXMgPT09ICd1bmRlZmluZWQnKSBwaWNvOF9zdGF0ZS5zeXN0ZW1fbWVzc2FnZXMgPSBuZXcgQXJyYXkoKTsgcGljbzhfc3RhdGUuc3lzdGVtX21lc3NhZ2VzLnB1c2goVVRGOFRvU3RyaW5nKCQwLCAkMSkpOyB9IH0AX2VuZF9vZl9wcm9ncmFtAHRvIGNsb3NlICcAYXQgbGluZSAAJWQgKHRhYiAlZCkAdW5jbG9zZWQgJXMgYXQgbGluZSAlZCAodGFiICVkKQoAdW5jbG9zZWQgJXMALS0gcGljby04IGhlYWRlcgBhc3NlcnRpb24gZmFpbGVkAHBvc2l0aW9uIG91dCBvZiBib3VuZHMAbm90IGVub3VnaCBtZW1vcnkAPGVvZj4AdGhlbWUgAHRoZW1lAGJsdWUAc2V0IHRoZW1lIHRvIGJsdWUAYXV0bwBzZXQgdGhlbWUgdG8gYXV0bwBjbGFzc2ljAHNldCB0aGVtZSB0byBjbGFzc2ljAGNvbmZpZyB0aGVtZSBbdmFsdWVdAGF2YWlsYWJsZSB0aGVtZXM6AHNwbG9yZV9maWx0ZXIgAHNwbG9yZV9maWx0ZXIAb24AZmlsdGVyIG9uAG9mZgBmaWx0ZXIgb2ZmAGNvbmZpZyBmaWx0ZXIgW29uIHwgb2ZmXQB3aGVuIG9uLCBjYXJ0cmlkZ2VzIHRhZ2dlZCBhcwBtYXR1cmUgd2lsbCBub3QgYmUgZG93bmxvYWRlZC4AZmlsdGVyIGlzIGN1cnJlbnRseTogb24AZmlsdGVyIGlzIGN1cnJlbnRseTogb2ZmAHZvbHVtZSAAc2V0IHZvbHVtZTogJWQAY29uZmlnIHZvbHVtZSBbdmFsXQB2YWw6IDggcXVpZXQgLi4gMjU2IGxvdWQAY3VycmVudCB2b2x1bWU6ICVkAGdpZl9sZW4gAHNldCBnaWZfbGVuOiAlZABnaWZfbGVuAGNvbmZpZyBnaWZfbGVuIFtzZWNvbmRzXQBjdXJyZW50IGdpZl9sZW46ICVkAGdpZl9yZXNldF9tb2RlIABzZXQgZ2lmX3Jlc2V0X21vZGU6ICVkAGdpZl9yZXNldF9tb2RlAGNvbmZpZyBnaWZfcmVzZXRfbW9kZSBbbW9kZV0AIDA6IGRvbid0IHJlc2V0IGFmdGVyIHJlY29yZGluZwAgMTogcmVzZXQgYWZ0ZXIgZWFjaCByZWNvcmRpbmcAY3VycmVudCBnaWZfcmVzZXRfbW9kZTogJWQAZ2lmX3NjYWxlIABzZXQgZ2lmX3NjYWxlOiAlZABnaWZfc2NhbGUAY29uZmlnIGdpZl9zY2FsZSBbc2l6ZV0AY3VycmVudCBnaWZfc2NhbGU6ICVkAHNjcmVlbnNob3Rfc2NhbGUgAHNldCBzY3JlZW5zaG90X3NjYWxlOiAlZABzY3JlZW5zaG90X3NjYWxlAGNvbmZpZyBzY3JlZW5zaG90X3NjYWxlIFtzaXplXQBjdXJyZW50IHNjcmVlbnNob3Rfc2NhbGU6ICVkAHRhYl93aWR0aCAAc2V0IHRhYl93aWR0aDogJWQAdGFiX3dpZHRoAGNvbmZpZyB0YWJfd2lkdGggW3dpZHRoXQBjdXJyZW50IHRhYl93aWR0aDogJWQAY29uZmlnIFtzZXR0aW5nXQBhdmFpbGFibGUgc2V0dGluZ3M6ACVkLyVkICUzLjFmIGZwcwAlZC8lZCAlMS4yZiAlMS4yZgByZXN1bWUAcmVzdW1lKCkAbm90aGluZyB0byByZXN1bWUAc3RhdCg0KQAgX2RyYXcAcHJvZ3JhbSBleGNlZWRzIGNoYXIgbGltaXQAJWQgLyAlZCBjaGFycwoAcHJvZ3JhbSB0b28gbGFyZ2UAJWQgLyAlZCB0b2tlbnMKAC0tIHBpY28tOCBoZWFkZXIKCWRvIAlsb2NhbCBfcmVmdW5kX2NwdV8gPSBfX3JlZnVuZF9jcHVfXyAJbG9jYWwgX3BhaXJzID0gX19wYWlyc19fIAlsb2NhbCBfaXBhaXJzID0gX19pcGFpcnNfXyAJbG9jYWwgX3R5cGUgPSBfX3R5cGUgCWxvY2FsIF90b3N0ciA9IF9fdG9zdHIgCWxvY2FsIF9zdG9wID0gX19zdG9wIAlsb2NhbCBfcHJpbnQgPSBfX3ByaW50IAlsb2NhbCBfcHJpbnRoID0gX19wcmludGggCWxvY2FsIF90b3N0cmluZyA9IF9fdG9zdHJpbmdfXyAJbG9jYWwgX2xvYWQgPSBfX2xvYWQgCWxvY2FsIF9zdGF0ID0gc3RhdCAJbG9jYWwgX2V4dGNtZCA9IF9fZXh0Y21kIAlsb2NhbCBfX21lbnVpdGVtID0gX21lbnVpdGVtIAlsb2NhbCBfeWllbGRlZF90b19lc2NhcGVfc2xpY2UgPSBfX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlIAlsb2NhbCBfY29yZXN1bWUgPSBfX2NvcmVzdW1lIAlsb2NhbCBfc2VsZWN0ID0gX19zZWxlY3QgCV9wYXVzZW1lbnU9e30JZnVuY3Rpb24gbWVudWl0ZW0oaW5kZXgsIGxhYmVsLCBjYWxsYmFjaykJCWlmIChpbmRleCA8IDEgb3IgaW5kZXggPiA1KSB0aGVuIHJldHVybiBlbmQJCV9wYXVzZW1lbnVbaW5kZXhdID0ge30gCQlfcGF1c2VtZW51W2luZGV4XS5sYWJlbCA9IGxhYmVsIAkJX3BhdXNlbWVudVtpbmRleF0uY2FsbGJhY2sgPSBjYWxsYmFjayAJCV9fbWVudWl0ZW0oaW5kZXgsIGxhYmVsKSAJZW5kIAlmdW5jdGlvbiBwYWlycyhjKSAgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBmdW5jdGlvbigpIGVuZCBlbmQgcmV0dXJuIF9wYWlycyAoYykgZW5kIAlmdW5jdGlvbiBpcGFpcnMoYykgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBmdW5jdGlvbigpIGVuZCBlbmQgcmV0dXJuIF9pcGFpcnMoYykgZW5kIAlmdW5jdGlvbiBhbGwoYykgaWYgKGMgPT0gbmlsIG9yICNjID09IDApIHRoZW4gcmV0dXJuIGZ1bmN0aW9uKCkgZW5kIGVuZCAJIAlsb2NhbCBpPTEgCSAJbG9jYWwgbGk9bmlsIAkJX3JlZnVuZF9jcHVfKCgjYyA+PSAxNikgYW5kIC0xNiBvciAtI2MpIAkgCXJldHVybiBmdW5jdGlvbigpIAkgCQlpZiAoY1tpXSA9PSBsaSkgdGhlbiBpPWkrMSBlbmQgCSAJCXdoaWxlKGNbaV09PW5pbCBhbmQgaSA8PSAjYykgZG8gaT1pKzEgZW5kIAkgCQlsaT1jW2ldIAkJCV9yZWZ1bmRfY3B1XygtMTcpIAkgCQlyZXR1cm4gbGkgCSAJZW5kIAllbmQgCWZ1bmN0aW9uIGZvcmVhY2goYyxfZikgZm9yIGkgaW4gYWxsKGMpIGRvIF9mKGkpIGVuZCBlbmQgZnVuY3Rpb24gdG9zdHIoLi4uKSAJLS1bWyBuZWVkIHRvIHVzZSB0b3N0cmluZyB3aGVuIG1ldGF0YWJsZSBzbyB0aGF0IG10Ll9fdG9zdHJpbmcgd29ya3MuIHNlZSB0ZXN0cy9tZXRhKi5wOCBdXSAJbG9jYWwgcD17Li4ufSAJbG9jYWwgYSxiID0gcFsxXSxwWzJdIAlpZiAoKF90eXBlKGEpPT0idGFibGUiIGFuZCAoZ2V0bWV0YXRhYmxlKGEpIG9yIGIpKSkgb3IgKChfdHlwZShhKT09ImZ1bmN0aW9uIiBhbmQgYikpIHRoZW4gCSByZXR1cm4gX3Rvc3RyaW5nKGEpICAgICBlbHNlIAkgcmV0dXJuIF90b3N0ciguLi4pIAllbmQgZW5kIAktLVtbIHByaW50KCkgc2hvdWxkIHByaW50IG5vdGhpbmc7IHByaW50KG5pbCkgc2hvdWxkIHByaW50IFtuaWxdOyBzdG9wKCkgcGFzc2VzIGFyZ3MgdG8gcHJpbnQgc28gdGhhdCBjYW4gcHJpbnQgaW4gYSBjb2xvdXJdXQlmdW5jdGlvbiBzdG9wKC4uLikgICAgaWYgX3NlbGVjdCgnIycsLi4uKT09MCB0aGVuIF9zdG9wKCkgICBlbHNlIGxvY2FsIGE9ey4uLn0gcmV0dXJuIF9zdG9wICAodG9zdHIoYVsxXSksIF9zZWxlY3QoMiwuLi4pKSBlbmQgZW5kIAlmdW5jdGlvbiBwcmludCguLi4pICAgaWYgX3NlbGVjdCgnIycsLi4uKT09MCB0aGVuIF9wcmludCgpICBlbHNlIGxvY2FsIGE9ey4uLn0gcmV0dXJuIF9wcmludCAodG9zdHIoYVsxXSksIF9zZWxlY3QoMiwuLi4pKSBlbmQgZW5kIAlmdW5jdGlvbiBwcmludGgoLi4uKSAgaWYgX3NlbGVjdCgnIycsLi4uKT09MCB0aGVuIF9wcmludGgoKSBlbHNlIGxvY2FsIGE9ey4uLn0gcmV0dXJuIF9wcmludGgodG9zdHIoYVsxXSksIF9zZWxlY3QoMiwuLi4pKSBlbmQgZW5kIIA9MC41IIE9MjMxMzAuNSCCPTIwNzY3LjUggz0zIIQ9MzIxMjUuNSCFPS0xODQwMi41IIY9LTE2MzIuNSCHPTIwOTI3LjUgiD0tMTkwMDguNSCJPS0yNjIwOC41IIo9LTIwMTkyLjUgiz0wIIw9LTI0MzUxLjUgjT0tMjU3OTIuNSCOPTQgjz0tMjAwMzIuNSCQPS0yNTYwLjUgkT0xIJI9LTIwMTI4LjUgkz02OTQzLjUglD0yIJU9LTI2MjQuNSCWPTMxNDU1LjUglz01IJg9Mzg1NS41IJk9MjE4NDUuNSBmdW5jdGlvbiBsb2FkKC4uLikgCWxvY2FsIHJlcz1fbG9hZCguLi4pIAlmbGlwKCkgLS1bW3RvIHN1cGVyeWllbGQuIHJlZjpwaWNvd2FyZV1dCWlmIChfc3RhdCgxMDcpID4gMCkgdGhlbiByZXR1cm4gdHJ1ZSBlbmQgCWlmIChfc3RhdCgxMDcpID09IC0xKSB0aGVuIHJldHVybiBmYWxzZSwgImNvdWxkIG5vdCBmaW5kIGNhcnQiIGVuZCAJaWYgKF9zdGF0KDEwNykgPT0gLTIpIHRoZW4gcmV0dXJuIGZhbHNlLCAiY291bGQgbm90IGZldGNoIGNhcnQiIGVuZCAJaWYgKF9zdGF0KDEwNykgPT0gLTMpIHRoZW4gcmV0dXJuIGZhbHNlLCAiY291bGQgbm90IGNvbm5lY3QgdG8gYmJzIiBlbmQgCWlmIChfc3RhdCgxMDcpIDwgMCBvciByZXMgPT0gbmlsKSB0aGVuIHJldHVybiBmYWxzZSwgImFjY2VzcyBkZW5pZWQiIGVuZCAJcmV0dXJuIHJlcyBlbmQgZnVuY3Rpb24gZXh0Y21kKGNtZCwgLi4uKSAJbG9jYWwgcmVzPV9leHRjbWQoY21kLCAuLi4pIAlpZiAoY21kPT0iZ29fYmFjayIgb3IgY21kPT0iYnJlYWRjcnVtYiIpIHRoZW4gCQlmbGlwKCkgLS1bW3RvIHN1cGVyeWllbGRdXQllbmQgCXJldHVybiByZXMgZW5kIGZ1bmN0aW9uIGNvcmVzdW1lKGMsLi4uKSAJX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlKDApIAlsb2NhbCByMCxyMSA9X2NvcmVzdW1lKGMsLi4uKQl3aGlsZSAoX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlKCkgYW5kIGNvc3RhdHVzKGMpID09ICJzdXNwZW5kZWQiKSBkbyAJCV95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSgwKSAJCXIwLHIxID0gX2NvcmVzdW1lKGMsLi4uKSAJZW5kIAlfeWllbGRlZF90b19lc2NhcGVfc2xpY2UoMCkgCXJldHVybiByMCxyMSBlbmQgZW5kIC0tW1sgc2NvcGUgXV1fX3JlZnVuZF9jcHVfXyA9IG5pbCBfX2lwYWlyc19fID0gbmlsIF9fcGFpcnNfXyA9IG5pbCBfX3Rvc3RyICAgID0gbmlsIF9fc3RvcCAgICAgPSBuaWwgX19wcmludCAgICA9IG5pbCBfX3ByaW50aCAgID0gbmlsIF9fbG9hZCAgICAgPSBuaWwgX19leHRjbWQgICA9IG5pbCBfX3Rvc3RyaW5nX18gPSBuaWwgX195aWVsZGVkX3RvX2VzY2FwZV9zbGljZSA9IG5pbCBfX2NvcmVzdW1lID0gbmlsIF9fc2VsZWN0ID0gbmlsIAoAMTAzODgAIG5kPTAgACVzICVzKCkAJXMgJXMoIiVzIikAc3Bsb3JlKCkAY29uZmlnAAogX2VuZF9vZl9wcm9ncmFtID0gMSAKAAoJICAgIF9lbmRfb2ZfcHJvZ3JhbSA9IDEgCgkgICAgaWYgKF9pbml0IH49IG5pbCkgdGhlbiBfaW5pdCgpIGVuZAogICAgICAgICAgICBfc2V0X21haW5sb29wX2V4aXN0cygwKQoJICAgIGlmIChfbWFpbmxvb3Agfj0gbmlsKSB0aGVuIF9zZXRfbWFpbmxvb3BfZXhpc3RzKDEpIGVuZAoJICAgIGlmIChfdXBkYXRlNjAgfj0gbmlsKSB0aGVuIF9zZXRfZnBzKDYwKSBfdXBkYXRlPW5pbCBlbHNlIF9zZXRfZnBzKDMwKSBlbmQKCSAgICBpZiAoX21haW5sb29wID09IG5pbCBhbmQgKF9kcmF3IH49IG5pbCBvciBfdXBkYXRlIH49IG5pbCBvciBfdXBkYXRlNjAgfj0gbmlsKSkgdGhlbgoJICAgIAlfc2V0X21haW5sb29wX2V4aXN0cygyKQoJCSAgICBfbWFpbmxvb3AgPSBmdW5jdGlvbigpIAoJICAgICAgICAJd2hpbGUgKHRydWUpIGRvCgkJCQkJX3VwZGF0ZV9idXR0b25zKF91cGRhdGU2MCBhbmQgMSBvciAyKQoJCQkJICAgIF9zdGFydGZyYW1lKCkgCgkJCQkgICAgaWYgKHN0YXQoNykgPT0gNjApIHRoZW4KCQkJCSAgICAJX21hcmtfY3B1KDApIF91cGRhdGU2MCgpIAoJCQkJICAgIGVsc2VpZiAoc3RhdCg3KSA9PSAzMCBhbmQgX3VwZGF0ZTYwKSB0aGVuCgkJCQkgICAgCV91cGRhdGU2MCgpIF91cGRhdGVfYnV0dG9ucygxKSBfbWFya19jcHUoMCkgX3VwZGF0ZTYwKCkKCQkJCSAgICBlbHNlaWYgKHN0YXQoNykgPT0gMzAgYW5kIF91cGRhdGUpIHRoZW4KCQkJCSAgICAJX21hcmtfY3B1KDApIF91cGRhdGUoKSAKCQkJCSAgICBlbHNlaWYgKHN0YXQoNykgPT0gMTUgYW5kIF91cGRhdGUpIHRoZW4KCQkJCSAgICAJX3VwZGF0ZSgpICBfdXBkYXRlX2J1dHRvbnMoMikgX21hcmtfY3B1KDApIF91cGRhdGUoKQoJCQkJICAgIGVuZAoJCQkJICAgIF9tYXJrX2NwdSgxKQoJCQkJICAgIGlmIChfZHJhdyB+PSBuaWwpIHRoZW4KCQkJCQkJbG9jYWwgZGkscmVzPTAsdHJ1ZSAKCQkJCQkJd2hpbGUgKGRpIDwgc3RhdCgxMSkgYW5kIHJlcykgZG8gcmVzID0gX21hcF9kaXNwbGF5KGRpKSBpZiAocmVzKSB0aGVuIHJlcz1fZHJhdygpIGVuZCBkaT1kaSsxIGVuZCAKCQkJCQkJX21hcF9kaXNwbGF5KDApIAoJCQkJCWVuZAoJCQkJICAgIF9tYXJrX2NwdSgyKQoJCQkJCV91cGRhdGVfZnJhbWVyYXRlKCkKCQkJCSAgICBmbGlwKCkKCQkJCSAgICBmb3IgaT0xLDUgZG8KCQkJCSAgICAgaWYgKF9nZXRfbWVudV9pdGVtX3NlbGVjdGVkKGkpKSB0aGVuCgkJCQkgICAgICBfcGF1c2VtZW51W2ldLmNhbGxiYWNrKCkKCQkJCSAgICAgZW5kCgkJCQkgICAgZW5kCgkJCSAgICBlbmQKCQkgICAgZW5kCgkgICAgZW5kCgkJaWYgKF9tYWlubG9vcCB+PSBuaWwpIHRoZW4gX21haW5sb29wKCkgZW5kCiAgICAgICAgCgBzeW50YXggZXJyb3IAc3ludGF4IGVycm9yIGxpbmUgJWQgKHRhYiAlZCkAdW5leHBlY3RlZCBzeW1ib2wgbmVhciAnZW5kJwB1bmV4cGVjdGVkIGVuZCBvZiBsaW5lACVzIGxpbmUgJWQKAAotLT44CgBiYnMvAHJ1bl9jYXJ0IGN1cnJlbnRfZmlsZW5hbWU6ICVzIHJ1bm5pbmdfZmlsZW5hbWU6ICVzIHJ1bm5pbmdfY2FydF9saWQ6ICVzCgBzdGFjayB0cmFjZWJhY2sAJ19tYWlubG9vcABpbiBmdW5jdGlvbiAnAGluICVzIGxpbmUgJWQgKHRhYiAlZCkAaW4gbWFpbiBjaHVuawBhdCBsaW5lICVkICh0YWIgJWQpAGdjIG5vdCBydW5uaW5nOyBjb3VsZCBub3QgcGVyZm9ybSBlbWVyZ2VuY3kgY29sbGVjdGlvbgoAZ2MgaGFyZCBjb2xsZWN0OiAlZCAtPiAlZCAob3ZlcmhlYWQ6JWQpCgBvdXQgb2YgbWVtb3J5AHJ1bnRpbWUgZXJyb3IgbGluZSAlZCB0YWIgJWQAcnVudGltZSBlcnJvcgBbWwBdXQBrZXl3b3JkIGhhc2ggY29sbGlzaW9uOiAlcyAlcwoAZnVuY3Rpb24AZW5kAGZvcgBpZgB0aGVuAGVsc2UAZWxzZWlmAHdoaWxlAG5vdABhbmQAb3IAZG8AbG9jYWwAcmV0dXJuAHJlcGVhdAB1bnRpbABnb3RvAGJyZWFrAG5pbABpbgBmb3JlYWNoAGFsbABtZW51aXRlbQBwYWlycwBpcGFpcnMAJXNfJWQuZ2lmAHNhdmluZyB2aWRlbyB0bzogJXMKAE5FVFNDQVBFMi4wAGdpZgBbY2FydF0AWy9jYXJ0XQBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvAHRydWUAZmFsc2UALnA4bAAudHh0AC5vYmoALm10bAAuc3ZnAC5wb3YALnNmZAAuY3N2AC5odG1sAC5jc3MALnBwbQAlcyVzJXMAJXMucDhsACVzJXMlcy5wOGwAX19yZWZ1bmRfY3B1X18AX19wYWlyc19fAF9faXBhaXJzX18AX19zdG9wAF9fcHJpbnQAX19wcmludGgAX190b3N0cgBfX2xvYWQAX19leHRjbWQAX190b3N0cmluZ19fAHRvc3RyaW5nAF9fdHlwZQBfX3NlbGVjdABfX2NvcmVzdW1lAF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UAY2QAbWtkaXIAcnVuAGxzAGxvZ2luAGxvYWQAc2F2ZQBoZWxwAHJlYm9vdAByZXNldABzaHV0ZG93bgBleGl0AGluZm8AZXhwb3J0AGltcG9ydABmaWxlOiAlcyVzAHRva2VuczogICAgICU1ZCAvICAlZABjaGFyczogICAgICAlNWQgLyAlZABjb21wcmVzc2VkOiAlNWQgLyAlZAB1bnNhdmVkIGNoYW5nZXMAZXh0ZXJuYWwgY2hhbmdlcwBjb250aW51ZSB3aXRoIHNodXRkb3duPyBbeS9uXQBjb250aW51ZSB3aXRoIHJlYm9vdD8gW3kvbl0AY29tbWFuZHMAbG9hZCA8ZmlsZW5hbWU+ICBzYXZlIDxmaWxlbmFtZT4AcnVuIChvciBjdHJsLXIpICByZXN1bWUAc2h1dGRvd24gICAgICAgICByZWJvb3QAaW5zdGFsbF9kZW1vcyAgICBscwBjZCA8ZGlybmFtZT4gICAgIG1rZGlyIDxkaXJuYW1lPgBjZCAuLiAgICAgIHRvIGdvIHVwIGEgZGlyZWN0b3J5AGtleWNvbmZpZyAgdG8gY2hvb3NlIGJ1dHRvbnMAc3Bsb3JlICAgICB0byBleHBsb3JlIGNhcnRyaWRnZXMAcHJlc3MgZXNjIHRvIHRvZ2dsZSBlZGl0b3IgdmlldwBhbHQrZW50ZXIgdG8gdG9nZ2xlIGZ1bGxzY3JlZW4AYWx0K2Y0IG9yIGN0cmwtcSB0byBmYXN0cXVpdABzZWUgcGljbzgudHh0IGZvciBtb3JlIGluZm8Ab3IgdmlzaXQ6IHd3dy5waWNvLTguY29tAGNhbiBub3Qgc2F2ZSB3aGlsZSBydW5uaW5nAGZpbGVuYW1lIHRvbyBsb25nAEBjbGlwAEBjbGlwLnA4AEBjbGlwLnBuZwBAY2xpcC5wOC5wbmcAd2FybmluZzogbGFiZWwgaXMgYmxhbmsAcnVuIGNhcnQgYW5kIGN0cmwtNyB0byBjYXB0dXJlAF9jbGlwLnA4LnBuZwBfY2xpcC5wOC5wbmcuaGV4AGNvcGllZCB0byB0ZXh0ZmllbGQgLS0gcHJlc3MAY3RybC1jIHRvIGNvcHkgdG8gY2xpcGJvYXJkIQBmYWlsZWQgdG8gc2F2ZSB0byBjbGlwYm9hcmQAZmlsZSBhbHJlYWR5IGV4aXN0cwBvdmVyd3JpdGU/IFt5L25dAHNhdmVkICVzJXMAbG9naW4gdW5hdmFpbGFibGUuAHBsZWFzZSB1cGRhdGUgcGljby04IQBjc3RvcmUvAG1rZGlyIFtuYW1lXQAlcyVzJXMvAGRpcmVjdG9yeTogLyVzACVzJXMvAGNkOiBmYWlsZWQAZGlyZWN0b3J5IG5vdCBmb3VuZAAvJXMAbGFiZWwAc2F2ZWQgbGFiZWwAc2NyZWVuAHNhdmVkIHNjcmVlbnNob3QgdG8gZGVza3RvcAByZWMAdmlkZW8Ac2F2ZWQgZ2lmIHRvIGRlc2t0b3AAcGF1c2UAYnJlYWRjcnVtYgBnb19iYWNrAHVua25vd24gZXh0Y21kOiVzAGRvd25sb2FkaW5nLi4gAC9iYnMvY3Bvc3RfbGlzdGVyMy5waHA/bmZvPTEmdmVyc2lvbj0lcyVjJmxpZD0lcwBAZHJvcHBlZABkcm9wcGVkLnA4AGxvYWRlZCBjYXJ0cmlkZ2UgKCVkIGNoYXJzKQBzb3JyeSwgQGNsaXAgaXMgbm90IGF2YWlsYWJsZQBsb2FkZWQgJXMlcyAoJWQgY2hhcnMpAGNvdWxkIG5vdCBsb2FkOiBmdXR1cmUgdmVyc2lvbgBjb3VsZCBub3QgbG9hZDogY29kZSBzaXplID4gNjRrAGNvdWxkIG5vdCBsb2FkADB4JTA0eC4lMDR4AFslc10AcHJlc3MgY3RybC1jIHRvIGNvbXBsZXRlIGNvcHkAcHJpbnRoOiBiYWQgbG9nIGZpbGUgbmFtZQBwcmludGg6IHRvbyBtdWNoIGxvZyBkYXRhICgxMG1iIG1heCkAfCVzAHRvbyBtYW55IHByaW50aCBmaWxlcwBhACVzCgBwcmludGg6IGNvdWxkIG5vdCBvcGVuIGxvZyBmaWxlAGRlbGkAYWRkAGRlbABjb3VudABmbGlwAGNhbWVyYQBjbGlwAGNscwBmb2xkZXIAZGlyAGJhY2t1cABpbnN0YWxsX2RlbW9zAGluc3RhbGxfZ2FtZXMAa2V5Y29uZmlnAHNwbG9yZQBwc2V0AHBnZXQAY29sb3IAcHJpbnQAcHJpbnRoAHRvc3RyAGN1cnNvcgB0b251bQBzcHIAc3NwcgByZWN0AHJlY3RmaWxsAGNpcmMAY2lyY2ZpbGwAb3ZhbABvdmFsZmlsbABsaW5lAHRsaW5lAHBhbABwYWx0AGZpbGxwAG1hcGRyYXcAbWFwAG1nZXQAbXNldABmZ2V0AGZzZXQAc2dldABzc2V0AHNmeABwZWVrAHBva2UAc2VyaWFsAHBlZWsyAHBva2UyAHBlZWs0AHBva2U0AG1lbWNweQBtZW1zZXQAcmVsb2FkAGNzdG9yZQBybmQAc3JhbmQAZmxyAGNlaWwAc2duAGFicwBtaW4AbWF4AGNvcwBzaW4Ac3FydABhdGFuMgBiYW5kAGJvcgBieG9yAGJub3QAc2hsAHNocgBsc2hyAHJvdGwAcm90cgBzdG9wAHRpbWUAdABsb2dvdXQAYmJzcmVxAHNjb3Jlc3ViAGV4dGNtZAByYWRpbwBzZXRfZHJhd19zbGljZQBidG4AYnRucABfbWVudWl0ZW0AY2FydGRhdGEAZGdldABkc2V0AHN0YXQAc3ViAGNocgBvcmQAc3BsaXQAbmV4dABzZXRtZXRhdGFibGUAZ2V0bWV0YXRhYmxlAHJhd2VxdWFsAHJhd2xlbgByYXdnZXQAcmF3c2V0AGFzc2VydABjb2NyZWF0ZQBjb3Jlc3VtZQB5aWVsZABjb3N0YXR1cwB1bnBhY2sAcGFjawBzZWxlY3QAX190cmFjZQB0cmFjZQBob2xkZnJhbWUAX3N0YXJ0ZnJhbWUAX2dldF9tZW51X2l0ZW1fc2VsZWN0ZWQAX3VwZGF0ZV9idXR0b25zAF91cGRhdGVfZnJhbWVyYXRlAF9zZXRfbWFpbmxvb3BfZXhpc3RzAF9zZXRfZnBzAF9tYXJrX2NwdQBfbWFwX2Rpc3BsYXkAZGV2a2l0IGtleWJvYXJkIGVuYWJsZWQAZGV2a2l0IG1vdXNlIGVuYWJsZWQAeyB2YXIgc3RyID0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lOyByZXR1cm4gYWxsb2NhdGUoaW50QXJyYXlGcm9tU3RyaW5nKHN0ciksICdpOCcsIEFMTE9DX05PUk1BTCk7IH0AKiogZHNldCBjYWxsZWQgYmVmb3JlIGNhcnRkYXRhKCkAKiogZGdldCBjYWxsZWQgYmVmb3JlIGNhcnRkYXRhKCkAY2FuIG5vdCBjb25uZWN0IHRvIHNjb3JlcyBob3N0AGNhbiBub3QgY29ubmVjdCB0byBiYnNyZXEgaG9zdABwOF9jc3RvcmU6IHN0b3JpbmcgJWQgYnl0ZXMgYXM6ICVzCgBzYW5kYm94ZWRfY3N0b3JlIGZpbGUgbm90IGZvdW5kOiAlcwoAICAtLT4gdXNpbmcgaW50ZXJuYWwgZmlsZTogJXMKACAgcmVsb2FkKClpbmcgJWQgYnl0ZXMgZnJvbTogJXMKAHNvcnJ5LCBzcGxvcmUgaXMgbm90IGF2YWlsYWJsZQBpbnN0YWxsaW5nIGdhbWVzIHRvIC9nYW1lcy8Ac29ycnksIGRlbW9zIGFyZSBub3QgYXZhaWxhYmxlLgBiYWNrZWQgdXAgJXMlcwBob3N0IGFsbG9jYXRpb24gZXJyb3IAJWRtYiArICVkawoAYmFkIG1lbW9yeSBhY2Nlc3MAcHJpbnQoJXMpACE9ACs9AC09ACo9AC89ACU9AFw9ACY9AHw9AF5ePQA8PD49AD4+PD0APDw9AD4+Pj0APj49AF49AC4uPQAlcyA9ICVzICVzICglcykgJXMAaWYoAGlmIAB3aGlsZSgAd2hpbGUgACVzIHRoZW4gJXMgZW5kIAAlcyBkbyAlcyBlbmQgAF4KIDAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiEjJSgpe31bXTw+Kz0vKjo7Lix+XwBpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlNjAoKWVuZABpZihfdXBkYXRlNjApX3VwZGF0ZT1mdW5jdGlvbigpX3VwZGF0ZTYwKClfdXBkYXRlX2J1dHRvbnMoKV91cGRhdGU2MCgpZW5kAEdJRjg3YQBHSUY4OWEAAAEDBw8fP3//JXMlcy5wOGQudHh0ACUwOHgAY2FydGRhdGEoKSBjYW4gb25seSBiZSBjYWxsZWQgb25jZQBjYXJ0IGRhdGEgaWQgdG9vIGxvbmcAY2FydCBkYXRhIGlkOiBiYWQgY2hhcgBwbGF5ZXIga2V5IGNvbmZpZwBzYXZlZCBjb25maWcuAHByZXNzIGVzY2FwZQB0byBjb250aW51ZQBwcmVzcyBrZXkgZm9yOgBkZWwgZm9yIGRlZmF1bHQAZXNjIHRvIGNhbmNlbAAlcyA6ICVzAGxlZnQAcmlnaHQAdXAAZG93bgB6IC8gYyAvIG4AeCAvIHYgLyBtAHMAZgBlAGQAdGFiAHEAcCAvIGVudGVyAHAxIGxlZnQgICAgAHAxIHJpZ2h0ICAgAHAxIHVwICAgICAgAHAxIGRvd24gICAgAHAxII4gICAgICAAcDEglyAgICAgIABwMiBsZWZ0ICAgIABwMiByaWdodCAgIABwMiB1cCAgICAgIABwMiBkb3duICAgIABwMiCOICAgICAgAHAyIJcgICAgICAAcGF1c2UgICAgICAALnBuZwB8JS0yMHMgfCUtMjBzIHwlLTZkIHwlLTE2cyB8JS0yMHMgfCVzCgBjb3VsZCBub3QgbG9hZCBmYXZvdXJpdGVzIGZpbGU6ICVzCgBiYnMAYmJzLyVkLwAlc3RlbXAtJWQubmZvACVzJWQucDgucG5nAGJicy9jYXJ0cwAlcy90ZW1wLSVzLm5mbwAlcy8lcy5wOC5wbmcAJXMvYmJzL2dldF9jYXJ0LnBocD9jYXQ9NyZwbGF5X3NyYz0lZCZsaWQ9JXMAYmJzL2xhYmVscy8AJXMlcy5wbmcAcnVuIGNhcnQAb3B0aW9ucwByZW1vdmUgZnJvbSBmYXZvdXJpdGVzAGZhdm91cml0ZQBjYXJ0cyBieSBAJXMAc2ltaWxhciBjYXJ0cwBzZWFyY2ggYmJzIHRocmVhZABvcGVuIHRocmVhZCBpbiBicm93c2VyAFtiYWNrXQBlZGl0IGNhcnQAcmUtZG93bmxvYWQAb3BlbiBpbiBicm93c2VyAGJhY2sAdm9sdW1lAGZ1bGxzY3JlZW4Ac2h1dGRvd24gcGljby04AGNhdD03JnNlYXJjaD0lcyZtYXg9MzIAYmJzL3RlbXBfJXNfXy5waXAucG5nAGJicy90ZW1wXyVzLnBpcC5wbmcAYmJzLyVzLnBpcC5wbmcAL2Jicy9jcG9zdF9saXN0ZXIzLnBocD9tYXg9MzImc3RhcnRfaW5kZXg9JWQmJXMmdmVyc2lvbj0lcyVjJmNmaWw9JWQAMDAwMjAxAGRvd25sb2FkIGZhaWxlZAAqAC5wOABsaWQAdGl0bGUAYXV0aG9yAG1pZABjYXRzdWIAIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OQBjYW5jZWxsZWQAZG93bmxvYWQgY2FuY2VsbGVkAFBJQ08tOAB7IGlmICh0eXBlb2YgcGljbzhfZ3BpbyAhPT0gJ3VuZGVmaW5lZCcpIHBpY284X2dwaW9bJDBdPSQxfQB7dmFyIHZhbD0wOyBpZiAodHlwZW9mIHBpY284X2dwaW8gIT09ICd1bmRlZmluZWQnKSB2YWwgPSBwaWNvOF9ncGlvWyQwXTsgcmV0dXJuIHZhbH0AaGVsbG8ucDgAYXBpLnA4AGF1dG9tYXRhLnA4AGJvdW5jZS5wOABjYXN0LnA4AGNvbGxpZGUucDgAZG90czNkLnA4AGRyaXBweS5wOABqZWxwaS5wOABzb3J0LnA4AHdhbmRlci5wOAB3YXZlcy5wOAAxNTEzMwAxOTYzOQAxMDAyMgAxOTQ4OAAxODk3MwA0MTQyMgA1NzIwMQBjZWxlc3RlLnA4LnBuZwBmcm9nX2hvbWUucDgucG5nAGh1Z19hcmVuYS5wOC5wbmcAYXJjaGVvcy5wOC5wbmcAZHVza19jaGlsZC5wOC5wbmcAOF9sZWdzX3RvX2xvdmUucDgucG5nAGVtYnJhY2UucDgucG5nAGNlbGVzdGUAZnJvZyBob21lAGh1ZyBhcmVuYQB0b3dlciBvZiBhcmNoZW9zAGR1c2sgY2hpbGQAOCBsZWdzIHRvIGxvdmUAZW1icmFjZQBpbnN0YWxsaW5nIGRlbW8gY2FydHMgdG8gL2RlbW9zLwBkZW1vcy8AdwBjb3VsZCBub3Qgd3JpdGUgdG8gZGlzawBmYXZvdXJpdGVzLnR4dABnYW1lcy8AI2luY2x1ZGUgAGNhbiBub3QgI2luY2x1ZGUAc2VyaWFsIGJ1ZmZlciBvdmVyZmxvdwAlMTAyM3MAZnJlcQBkbWEAdHlwZQBicmlnaHRuZXNzAGludmVydABsZWRzAHBpY28tOCAwLjIuMWIAKGMpIDIwMTQtMjAgbGV4YWxvZmZsZSBnYW1lcyBsbHAAdXNpbmcgdGVtcG9yYXJ5IGJyb3dzZXIgc3RvcmFnZQBmZXRjaGluZyBjYXJ0cmlkZ2UuLgBib290aW5nIGNhcnRyaWRnZS4uAFtjb2RvXSAlcwA+Y29kb19pbml0CgBwbGF0Zm9ybTogJXMKAEVtc2NyaXB0ZW4AY29kb19zeXN0ZW1faW5pdAoAY29kb19yZXNldF90aW1lcgoAY29kb19ndWlfaW5pdAoAY29kb19rZXlzX2luaXQKAGNvZG9fdGV4dF9pbml0CgBjb2RvX3ZpZGVvX2luaXQKAGNvZG9fbW91c2VfaW5pdAoAY29kb19qb3lzdGlja19pbml0CgA8b2sKAHdpZHRoAGhlaWdodABzaG93X2ZwcwB3aW5kb3dlZAB3aW5kb3dfeAB3aW5kb3dfeQBmcmFtZWxlc3MAZnVsbHNjcmVlbl9tZXRob2QAZm9yZWdyb3VuZF9zbGVlcF9tcwBzb3VuZF92b2x1bWUAbXVzaWNfdm9sdW1lAHNvdW5kAG11c2ljAG1peF9idWZmZXJfc2l6ZQBzb2Z0d2FyZV9ibGl0AHNvZnR3YXJlX2JsaXR0ZXIAaG9tZQBkZXNrdG9wAHBpeGVsX3BlcmZlY3QAZHJhd19yZWN0AHRpbWVvdXQAaGVhZGxlc3MAZnJhbWVidWZmZXIAYmFja2dyb3VuZF9zbGVlcF9tcwBlbXVsYXRlX3RleHRpbnB1dABkZWZlcnJlZF9kZWFsbG9jAGV4dF9kaXNwbGF5AHByZWJsaXRfc2NhbGUAZGlzcGxheQBsb2dfc3lzdGVtX2luZm8AJWQAJWQsJWQsJWQsJWQAPmNvZG9fZXhpdAoAY211c2ljX3N0b3AKAGNvZG9fbWFpbl9leGl0CgBjb2RvX2NvbmZpZ19zYXZlCgBjb2RvX3NvdW5kX2V4aXQKAGNvZG9fdmlkZW9fZXhpdAoAY29kb19qb3lzdGlja19leGl0CgBjb2RvX3N5c3RlbV9leGl0CgBjb2RvX2l0ZW1zX2NyZWF0ZWQ6ICVkCgBAQCBzeW5jaW5nAEZTLnN5bmNmcyggZmFsc2UsIGZ1bmN0aW9uIChlcnIpIHsgfSApOwBjb2RvX2Rlc3Ryb3lfcG9kOiBjcG9kLT5pdGVtcyAhPSAwCgBCYWQgY3BvZF9hZGRfaXRlbSB0eXBlAEJhZCBjcG9kX2FkZF9pdGVtAGNvZG9fbG9hZF9wb2RfZmlsZTogVW5rbm93biBDaHVuayEKAHJiAGZhaWxlZABvawBjb2RvX2xvYWRfcG9kOiAlcyAlcyAKACoqIHdlYiBmaWxlIHN5c3RlbSBub3QgbW91bnRlZC4gcmV0dXJuaW5nIHZkaXNrIGZpbGU6ICVzICglcykKAGNvZG9fZm9wZW4gJXMgKCVzKSAlcwoAb3BlbmVkACAtPiByZXR1cm5pbmcgdmRpc2sgZmlsZTogJXMgKCVzKQoAIntyZXR1cm4gKCh0eXBlb2YgcDhfdG91Y2hfZGV0ZWN0ZWQgPT09ICd1bmRlZmluZWQnKSB8fCAhcDhfdG91Y2hfZGV0ZWN0ZWQpID8gMCA6IDE7fSIAQEAgZGVmYXVsdCBtaXhfYnVmZmVyX3NpemUgYWRqdXN0ZWQgdG8gMjA0OCAoTW9iaWxlKQBjb2RvX3NwbGl0X2ZpbGVuYW1lX2V4OiBmaWxlX25hbWUgdG9vIGxvbmcKAC4uAH4ACkFzc2VydGlvbiBmYWlsZWQ6ICVzCgBDb3VsZCBub3QgYWxsb2NhdGUgdmVydGV4AENvdWxkIG5vdCBhbGxvY2F0ZSBib25lX3ZlcnRleABDb3VsZCBub3QgYWxsb2NhdGUgcG9seQBhY3RvciVkACAASUhEUgBQTFRFAGJLR0QAcEhZcwBJREFUAHRJTUUAelRYdABMb2RlUE5HADIwMTEwMjIxAGlUWHQAdEVYdAB0Uk5TAGNvZG9fZnJlZSBmYWlsICV4ICV4CgAlMDh4JTA4eCUwOHglMDh4JTA4eAAie3JldHVybiBkb2N1bWVudC5oaWRkZW4gPyAxIDogMDt9IgBjb2RvX3NvdW5kX2luaXQgbWl4X2J1ZmZlcl9zaXplOiAlZAoAY29kb19zZXRfc2NyZWVuICVkICVkICVkICV4CgByZXRyaWV2aW5nIGRlc2t0b3AgcmVzb2x1dGlvbjogJWQgJWQKACB3aW5kb3cgc2l6ZTogJWQgJWQKACBkZXNrdG9wIHNpemU6ICVkICVkCgBvawoAJVktJW0tJWQgJUg6JU06JVMAJXMvJXMAJWQtJWQtJWQgJWQ6JWQ6JWQAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaADEAMgAzADQANQA2ADcAOAA5ADAAUmV0dXJuAEVzY2FwZQBCYWNrc3BhY2UAVGFiAFNwYWNlAC0APQBbAF0AU2xhc2gAIwA7ACcAYAAsAC8AQ2Fwc0xvY2sARjEARjIARjMARjQARjUARjYARjcARjgARjkARjEwAEYxMQBGMTIAUHJpbnRTY3JlZW4AU2Nyb2xsTG9jawBQYXVzZQBJbnNlcnQASG9tZQBQYWdlVXAARGVsZXRlAEVuZABQYWdlRG93bgBSaWdodABMZWZ0AERvd24AVXAATnVtbG9jawBLZXlwYWQgLwBLZXlwYWQgKgBLZXlwYWQgLQBLZXlwYWQgKwBLZXlwYWQgRW50ZXIAS2V5cGFkIDEAS2V5cGFkIDIAS2V5cGFkIDMAS2V5cGFkIDQAS2V5cGFkIDUAS2V5cGFkIDYAS2V5cGFkIDcAS2V5cGFkIDgAS2V5cGFkIDkAS2V5cGFkIDAAS2V5cGFkIC4AQXBwbGljYXRpb24AUG93ZXIAS2V5cGFkID0ARjEzAEYxNABGMTUARjE2AEYxNwBGMTgARjE5AEYyMABGMjEARjIyAEYyMwBGMjQARXhlY3V0ZQBIZWxwAE1lbnUAU2VsZWN0AFN0b3AAQWdhaW4AVW5kbwBDdXQAQ29weQBQYXN0ZQBGaW5kAE11dGUAVm9sdW1lVXAAVm9sdW1lRG93bgBLZXlwYWQgLABLZXlwYWQgPSAoQVM0MDApAEFsdEVyYXNlAFN5c1JlcQBDYW5jZWwAQ2xlYXIAUHJpb3IAU2VwYXJhdG9yAE91dABPcGVyAENsZWFyIC8gQWdhaW4AQ3JTZWwARXhTZWwAS2V5cGFkIDAwAEtleXBhZCAwMDAAVGhvdXNhbmRzU2VwYXJhdG9yAERlY2ltYWxTZXBhcmF0b3IAQ3VycmVuY3lVbml0AEN1cnJlbmN5U3ViVW5pdABLZXlwYWQgKABLZXlwYWQgKQBLZXlwYWQgewBLZXlwYWQgfQBLZXlwYWQgVGFiAEtleXBhZCBCYWNrc3BhY2UAS2V5cGFkIEEAS2V5cGFkIEIAS2V5cGFkIEMAS2V5cGFkIEQAS2V5cGFkIEUAS2V5cGFkIEYAS2V5cGFkIFhPUgBLZXlwYWQgXgBLZXlwYWQgJQBLZXlwYWQgPABLZXlwYWQgPgBLZXlwYWQgJgBLZXlwYWQgJiYAS2V5cGFkIHwAS2V5cGFkIHx8AEtleXBhZCA6AEtleXBhZCAjAEtleXBhZCBTcGFjZQBLZXlwYWQgQABLZXlwYWQgIQBLZXlwYWQgTWVtU3RvcmUAS2V5cGFkIE1lbVJlY2FsbABLZXlwYWQgTWVtQ2xlYXIAS2V5cGFkIE1lbUFkZABLZXlwYWQgTWVtU3VidHJhY3QAS2V5cGFkIE1lbU11bHRpcGx5AEtleXBhZCBNZW1EaXZpZGUAS2V5cGFkICsvLQBLZXlwYWQgQ2xlYXIAS2V5cGFkIENsZWFyRW50cnkAS2V5cGFkIEJpbmFyeQBLZXlwYWQgT2N0YWwAS2V5cGFkIERlY2ltYWwAS2V5cGFkIEhleGFkZWNpbWFsAExlZnQgQ3RybABMZWZ0IFNoaWZ0AExlZnQgQWx0AExlZnQgR1VJAFJpZ2h0IEN0cmwAUmlnaHQgU2hpZnQAUmlnaHQgQWx0AFJpZ2h0IEdVSQBNb2RlU3dpdGNoAEF1ZGlvTmV4dABBdWRpb1ByZXYAQXVkaW9TdG9wAEF1ZGlvUGxheQBBdWRpb011dGUATWVkaWFTZWxlY3QAV1dXAE1haWwAQ2FsY3VsYXRvcgBDb21wdXRlcgBBQyBTZWFyY2gAQUMgSG9tZQBBQyBCYWNrAEFDIEZvcndhcmQAQUMgU3RvcABBQyBSZWZyZXNoAEFDIEJvb2ttYXJrcwBCcmlnaHRuZXNzRG93bgBCcmlnaHRuZXNzVXAARGlzcGxheVN3aXRjaABLQkRJbGx1bVRvZ2dsZQBLQkRJbGx1bURvd24AS0JESWxsdW1VcABFamVjdABTbGVlcABBcHAxAEFwcDIAQXVkaW9SZXdpbmQAQXVkaW9GYXN0Rm9yd2FyZABVbmFibGUgdG8gaW5pdGlhbGl6ZSBTREwAaWYgKHR5cGVvZiBjb2RvX2tleV9idWZmZXIgPT09ICd1bmRlZmluZWQnKSBjb2RvX2tleV9idWZmZXIgPSBbXTsgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uKGUpeyB2YXIgdmFsID0gLTE7IGlmIChlLmtleS5sZW5ndGggPT0gMSkgeyB2YWwgPSBlLmtleS5jaGFyQ29kZUF0KDApOyB9IGVsc2UgeyBpZiAoZS5rZXkgPT0gIlRhYiIpIHZhbCA9IDk7IGlmIChlLmtleSA9PSAiRW50ZXIiKSB2YWwgPSAxMzsgaWYgKGUua2V5ID09ICJCYWNrc3BhY2UiKSB2YWwgPSA4OyBpZiAoZS5rZXkgPT0gIkVzY2FwZSIpIHZhbCA9IDI3OyBpZiAodmFsID09IC0xKXsgfSB9IHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIik7IGNvZG9fa2V5X2J1ZmZlci5wdXNoKHZhbCk7IH0pOwB2YXIgX2NvZG9fdGV4dF92YWx1ZSA9ICIiOyB2YXIgX2NvZG9fc3RyX291dCA9ICIiOyB2YXIgY29kb193aGVlbF9keCA9IDA7IHZhciBjb2RvX3doZWVsX2R5ID0gMDsAZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBmdW5jdGlvbihlKXsgZHggPSBlLmRlbHRhWDsgaWYgKGR4IDwgMCkgZHggPSAtMTsgaWYgKGR4ID4gMCkgZHggPSAxOyBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHggKj0gNDsgaWYgKHR5cGVvZiBjb2RvX3doZWVsX2R4ICE9PSAndW5kZWZpbmVkJykgY29kb193aGVlbF9keCAtPSBkeDsgZHkgPSBlLmRlbHRhWTsgaWYgKGR5IDwgMCkgZHkgPSAtMTsgaWYgKGR5ID4gMCkgZHkgPSAxOyBpZiAoZS5kZWx0YU1vZGUgPT0gMikgZHkgKj0gNDsgaWYgKHR5cGVvZiBjb2RvX3doZWVsX2R5ICE9PSAndW5kZWZpbmVkJykgY29kb193aGVlbF9keSAtPSBkeTsgfSk7AAoKKiogRkFUQUwgRVJST1I6ICVzCgoAU0RMIEVycm9yOiAlcwoAZnVuY3Rpb24gYXVkaW9fbG9nKG1zZykgeyBpZiAod2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUubG9nKSB7IHdpbmRvdy5jb25zb2xlLmxvZygiW2NvZG9dIGF1ZGlvX2luaXRfd2ViYXVkaW8gIittc2cpOyB9IH0gYXVkaW9fbG9nKCJhdWRpb19pbml0Iik7IHZhciBjb2RvX2F1ZGlvX2NvbnRleHQ7IGlmICh0eXBlb2YgTW9kdWxlID09PSAndW5kZWZpbmVkJykgYXVkaW9fbG9nKCIgKioqIE1vZHVsZSB1bmRlZmluZWQiKTsgZWxzZSBpZiAodHlwZW9mIE1vZHVsZS5jY2FsbCA9PT0gJ3VuZGVmaW5lZCcpIGF1ZGlvX2xvZygiICoqKiogTW9kdWxlLmNjYWxsIHVuZGVmaW5lZCIpOyBlbHNlIHsgdmFyIHdlYkF1ZGlvQVBJID0gd2luZG93LkF1ZGlvQ29udGV4dCB8fCB3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0IHx8IHdpbmRvdy5tb3pBdWRpb0NvbnRleHQgfHwgd2luZG93Lm9BdWRpb0NvbnRleHQgfHwgd2luZG93Lm1zQXVkaW9Db250ZXh0OyBpZiAod2ViQXVkaW9BUEkpIHsgaWYgKHR5cGVvZiBwaWNvOF9hdWRpb19jb250ZXh0ICE9PSAndW5kZWZpbmVkJykgeyBjb2RvX2F1ZGlvX2NvbnRleHQgPSBwaWNvOF9hdWRpb19jb250ZXh0OyBhdWRpb19sb2coImZvdW5kIHBpY284X2F1ZGlvX2NvbnRleHQiKTsgfSBlbHNlIGlmICh0eXBlb2Ygdm94YXRyb25fYXVkaW9fY29udGV4dCAhPT0gJ3VuZGVmaW5lZCcpIHsgY29kb19hdWRpb19jb250ZXh0ID0gdm94YXRyb25fYXVkaW9fY29udGV4dDsgYXVkaW9fbG9nKCJmb3VuZCB2b3hhdHJvbl9hdWRpb19jb250ZXh0Iik7IH0gZWxzZSB7IGNvZG9fYXVkaW9fY29udGV4dCA9IG5ldyB3ZWJBdWRpb0FQSTsgYXVkaW9fbG9nKCJjcmVhdGluZyBvd24gYXVkaW8gY29udGV4dCIpOyB9IGlmIChjb2RvX2F1ZGlvX2NvbnRleHQpIHsgYXVkaW9fbG9nKCJTYW1wbGUgUmF0ZTogIitjb2RvX2F1ZGlvX2NvbnRleHQuc2FtcGxlUmF0ZSk7IGF1ZGlvX2xvZygiQnVmZmVyIFNpemU6ICIrJDApOyBub2RlID0gY29kb19hdWRpb19jb250ZXh0LmNyZWF0ZVNjcmlwdFByb2Nlc3NvcigkMCwgMSwgMSk7IG5vZGUub25hdWRpb3Byb2Nlc3MgPSBmdW5jdGlvbihlKSB7IHZhciBkYXRhID0gZS5vdXRwdXRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7IHZhciByID0gMjIwNTAuMCAvIGNvZG9fYXVkaW9fY29udGV4dC5zYW1wbGVSYXRlOyB2YXIgbGVuMCA9IE1hdGguZmxvb3IoZGF0YS5sZW5ndGggKiByKTsgdmFyIGxlbjEgPSBkYXRhLmxlbmd0aDsgdmFyIHB0ciA9IE1vZHVsZS5jY2FsbCgnbWl4XzAnLCAnbnVtYmVyJywgWydudW1iZXInLCdudW1iZXInXSwgW2xlbjAsIGxlbjFdKTsgZm9yICh2YXIgaiA9IDA7IGogPCBkYXRhLmxlbmd0aDsgaisrKSBkYXRhW2pdID0gTW9kdWxlLmdldFZhbHVlKHB0ciArIGoqMiwgJ2kxNicpIC8gMHg4MDAwOyB9OyBub2RlLmNvbm5lY3QoY29kb19hdWRpb19jb250ZXh0LmRlc3RpbmF0aW9uKTsgfSBlbHNlIHsgYXVkaW9fbG9nKCIqKiBmYWlsZWQgdG8gY3JlYXRlIGNvZG9fYXVkaW9fY29udGV4dCIpOyB9IH0gZWxzZSB7IGF1ZGlvX2xvZygiKiogd2ViQXVkaW9BUEkgbm90IGZvdW5kIik7IH0gfQAiaWYgKHR5cGVvZiBjb2RvX2tleV9idWZmZXIgPT09ICd1bmRlZmluZWQnKSBjb2RvX2tleV9idWZmZXIgPSBbXTsgcmV0dXJuIGNvZG9fa2V5X2J1ZmZlci5sZW5ndGggPiAwID8gMSA6IDA7IgAiaWYgKHR5cGVvZiBjb2RvX2tleV9idWZmZXIgPT09ICd1bmRlZmluZWQnKSBjb2RvX2tleV9idWZmZXIgPSBbXTsgbGV0IHZhbCA9IGNvZG9fa2V5X2J1ZmZlci5zaGlmdCgpIHwgMDsgcmV0dXJuIHZhbDsiAHJlYWQgY3Vyc29yIGtleSAlZAoAInt0ZW1wID0gKHR5cGVvZiBjb2RvX3doZWVsX2R4ICE9PSAndW5kZWZpbmVkJykgPyBjb2RvX3doZWVsX2R4OjA7IGNvZG9fd2hlZWxfZHggPSAwOyByZXR1cm4gdGVtcDt9IgAie3RlbXAgPSAodHlwZW9mIGNvZG9fd2hlZWxfZHkgIT09ICd1bmRlZmluZWQnKSA/IGNvZG9fd2hlZWxfZHk6MDsgY29kb193aGVlbF9keSA9IDA7IHJldHVybiB0ZW1wO30iACJ7IGlmIChkb2N1bWVudC5oaWRkZW4pIHJldHVybiAwOyBlbCA9ICh0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gJ3VuZGVmaW5lZCcpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJjb2RvX3RleHRhcmVhXCIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsKSB7IGlmIChlbCA9PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSByZXR1cm4gMTsgfSBlbCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7IHJldHVybiAoIWVsIHx8IChlbC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT0gXCJpbnB1dFwiICYmIGVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPSBcInRleHRhcmVhXCIpKTsgfSIAZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwuc3R5bGUuZGlzcGxheSAhPSAibm9uZSIpIHsgZWwuZm9jdXMoKTsgZWwuc2VsZWN0KCk7IH0AZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwuc3R5bGUuZGlzcGxheSAhPSAibm9uZSIpIHsgZWwuc2VsZWN0KCk7IH0AInt2YXIgcmV0ID0gMDsgaWYgKHR5cGVvZiBwaWNvOF9tb3VzZSAhPT0gJ3VuZGVmaW5lZCcgJiYgcGljbzhfbW91c2UubGVuZ3RoID4gMCkgcmV0PTE7IHJldHVybiByZXQ7fSIAIntyZXR1cm4gcGljbzhfbW91c2VbMF19IgAie3JldHVybiBwaWNvOF9tb3VzZVsxXX0iACJ7cmV0dXJuIHBpY284X21vdXNlWzJdfSIAL3VzZXJfZGF0YS8lcwAie3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBjb2RvX21vdW50ZWRfZmlsZXN5c3RlbSAhPT0gJ3VuZGVmaW5lZCcpIHZhbD0xOyByZXR1cm4gdmFsO30iAEBAIGNvZG9fbWtkaXIgZmFpbGVkOyBmaWxlc3lzdGVtIG5vdCBmb3VuZGVkAF9kaXJfbmFtZT0iIjsAe19kaXJfbmFtZT1fZGlyX25hbWUrU3RyaW5nLmZyb21DaGFyQ29kZSgkMCk7fQBjb25zb2xlLmxvZygiQEAgbWtkaXIgZGlyZWN0b3J5IChub2NoZWNrKTogIitfZGlyX25hbWUpOyBGUy5jcmVhdGVQYXRoKCIiLCBfZGlyX25hbWUsIHRydWUsIHRydWUpOwBAQCBjb2RvX3dnZXRfb25sb2FkOiBzYXZpbmcgJWQgYnl0ZXMgdG8gJXMKAEBAIGNvZG9fd2dldF9vbmVycm9yOiAlcwoAQEAgY29kb193Z2V0X3dpdGhfY2FsbGJhY2tzOiBkb3dubG9hZGluZyAlcyAtPiAlcwoAZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwpIHsgfQBfY29kb19zdHJfb3V0PSIiOwB7X2NvZG9fc3RyX291dD1fY29kb19zdHJfb3V0K1N0cmluZy5mcm9tQ2hhckNvZGUoJDApO30AInsgZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY29kb190ZXh0YXJlYVwiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCkgeyBlbC52YWx1ZSA9IF9jb2RvX3N0cl9vdXQ7IHJldHVybiAwOyB9IGVsc2UgcmV0dXJuIDE7IH0iAGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgPT0gIm5vbmUiICYmICgodHlwZW9mIHA4X3RvdWNoX2RldGVjdGVkID09PSAndW5kZWZpbmVkJykgfHwgIXA4X3RvdWNoX2RldGVjdGVkKSkgeyBjb25zb2xlLmxvZygiQEAgZW5hYmxpbmcgY29kb190ZXh0ZmllbGQiKTsgZWwuc3R5bGUuZGlzcGxheSA9ICIiOyBlbC5mb2N1cygpOyBlbC5zZWxlY3QoKTsgfQAie3JldHVybiAodHlwZW9mIF9jb2RvX3RleHRfdmFsdWUgPT09ICd1bmRlZmluZWQnKSA/IDEgOiAwO30iAGlpaSA9IDA7ACJ7aWlpID0gaWlpKzE7IHJldHVybiBfY29kb190ZXh0X3ZhbHVlLmNoYXJDb2RlQXQoaWlpLTEpOyB9IgAiZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY29kb190ZXh0YXJlYVwiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCAmJiBlbC5zdHlsZS5kaXNwbGF5ICE9IFwibm9uZVwiICYmIGVsLnZhbHVlICE9IFwiXCIpIHsgX2NvZG9fdGV4dF92YWx1ZSA9IGVsLnZhbHVlOyByZXR1cm4gMTsgfSByZXR1cm4gMDsiACVzJXMAcGljby04IGNhcnRyaWRnZQB2ZXJzaW9uICVkAF9fbHVhX18AX19nZnhfXwBfX2dmZl9fAF9fbWFwX18AX19zZnhfXwBfX211c2ljX18AX19sYWJlbF9fAF9fY2hhbmdlX21hc2tfXwAlMDJ4JTAyeCUwMnglMDJ4ACUwMnglMXglMXglMXgAJTAyeCAAcgBwaWNvLTggY2FydHJpZGdlIC8vIGh0dHA6Ly93d3cucGljby04LmNvbQoAdmVyc2lvbiAlZAoAX19sdWFfXwoACgBfX2dmeF9fCgAleABfX2xhYmVsX18KAF9fZ2ZmX18KACUwMngAX19tYXBfXwoAX19zZnhfXwoAJTAyeCV4JXgleABfX211c2ljX18KACUwMnglMDJ4JTAyeCUwMngKAF9fY2hhbmdlX21hc2tfXwoAd2IALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AAAECBAcDBgUAaW5maW5pdHkAbmFuAHJ3YQAu";
var tempDoublePtr = 3002272;
function ___setErrNo(value) {
if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value;
return value;
}
var PATH = {
splitPath: function(filename) {
var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
return splitPathRe.exec(filename).slice(1);
},
normalizeArray: function(parts, allowAboveRoot) {
var up = 0;
for (var i = parts.length - 1; i >= 0; i--) {
var last = parts[i];
if (last === ".") {
parts.splice(i, 1);
} else if (last === "..") {
parts.splice(i, 1);
up++;
} else if (up) {
parts.splice(i, 1);
up--;
}
}
if (allowAboveRoot) {
for (;up; up--) {
parts.unshift("..");
}
}
return parts;
},
normalize: function(path) {
var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/";
path = PATH.normalizeArray(path.split("/").filter(function(p) {
return !!p;
}), !isAbsolute).join("/");
if (!path && !isAbsolute) {
path = ".";
}
if (path && trailingSlash) {
path += "/";
}
return (isAbsolute ? "/" : "") + path;
},
dirname: function(path) {
var result = PATH.splitPath(path), root = result[0], dir = result[1];
if (!root && !dir) {
return ".";
}
if (dir) {
dir = dir.substr(0, dir.length - 1);
}
return root + dir;
},
basename: function(path) {
if (path === "/") return "/";
var lastSlash = path.lastIndexOf("/");
if (lastSlash === -1) return path;
return path.substr(lastSlash + 1);
},
extname: function(path) {
return PATH.splitPath(path)[3];
},
join: function() {
var paths = Array.prototype.slice.call(arguments, 0);
return PATH.normalize(paths.join("/"));
},
join2: function(l, r) {
return PATH.normalize(l + "/" + r);
},
resolve: function() {
var resolvedPath = "", resolvedAbsolute = false;
for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
var path = i >= 0 ? arguments[i] : FS.cwd();
if (typeof path !== "string") {
throw new TypeError("Arguments to path.resolve must be strings");
} else if (!path) {
return "";
}
resolvedPath = path + "/" + resolvedPath;
resolvedAbsolute = path.charAt(0) === "/";
}
resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) {
return !!p;
}), !resolvedAbsolute).join("/");
return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
},
relative: function(from, to) {
from = PATH.resolve(from).substr(1);
to = PATH.resolve(to).substr(1);
function trim(arr) {
var start = 0;
for (;start < arr.length; start++) {
if (arr[start] !== "") break;
}
var end = arr.length - 1;
for (;end >= 0; end--) {
if (arr[end] !== "") break;
}
if (start > end) return [];
return arr.slice(start, end - start + 1);
}
var fromParts = trim(from.split("/"));
var toParts = trim(to.split("/"));
var length = Math.min(fromParts.length, toParts.length);
var samePartsLength = length;
for (var i = 0; i < length; i++) {
if (fromParts[i] !== toParts[i]) {
samePartsLength = i;
break;
}
}
var outputParts = [];
for (var i = samePartsLength; i < fromParts.length; i++) {
outputParts.push("..");
}
outputParts = outputParts.concat(toParts.slice(samePartsLength));
return outputParts.join("/");
}
};
var TTY = {
ttys: [],
init: function() {},
shutdown: function() {},
register: function(dev, ops) {
TTY.ttys[dev] = {
input: [],
output: [],
ops: ops
};
FS.registerDevice(dev, TTY.stream_ops);
},
stream_ops: {
open: function(stream) {
var tty = TTY.ttys[stream.node.rdev];
if (!tty) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
stream.tty = tty;
stream.seekable = false;
},
close: function(stream) {
stream.tty.ops.flush(stream.tty);
},
flush: function(stream) {
stream.tty.ops.flush(stream.tty);
},
read: function(stream, buffer, offset, length, pos) {
if (!stream.tty || !stream.tty.ops.get_char) {
throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
}
var bytesRead = 0;
for (var i = 0; i < length; i++) {
var result;
try {
result = stream.tty.ops.get_char(stream.tty);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
if (result === undefined && bytesRead === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
}
if (result === null || result === undefined) break;
bytesRead++;
buffer[offset + i] = result;
}
if (bytesRead) {
stream.node.timestamp = Date.now();
}
return bytesRead;
},
write: function(stream, buffer, offset, length, pos) {
if (!stream.tty || !stream.tty.ops.put_char) {
throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
}
try {
for (var i = 0; i < length; i++) {
stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
}
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
if (length) {
stream.node.timestamp = Date.now();
}
return i;
}
},
default_tty_ops: {
get_char: function(tty) {
if (!tty.input.length) {
var result = null;
if (ENVIRONMENT_IS_NODE) {
var BUFSIZE = 256;
var buf = new Buffer(BUFSIZE);
var bytesRead = 0;
var isPosixPlatform = process.platform != "win32";
var fd = process.stdin.fd;
if (isPosixPlatform) {
var usingDevice = false;
try {
fd = fs.openSync("/dev/stdin", "r");
usingDevice = true;
} catch (e) {}
}
try {
bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
} catch (e) {
if (e.toString().indexOf("EOF") != -1) bytesRead = 0; else throw e;
}
if (usingDevice) {
fs.closeSync(fd);
}
if (bytesRead > 0) {
result = buf.slice(0, bytesRead).toString("utf-8");
} else {
result = null;
}
} else if (typeof window != "undefined" && typeof window.prompt == "function") {
result = window.prompt("Input: ");
if (result !== null) {
result += "\n";
}
} else if (typeof readline == "function") {
result = readline();
if (result !== null) {
result += "\n";
}
}
if (!result) {
return null;
}
tty.input = intArrayFromString(result, true);
}
return tty.input.shift();
},
put_char: function(tty, val) {
if (val === null || val === 10) {
out(UTF8ArrayToString(tty.output, 0));
tty.output = [];
} else {
if (val != 0) tty.output.push(val);
}
},
flush: function(tty) {
if (tty.output && tty.output.length > 0) {
out(UTF8ArrayToString(tty.output, 0));
tty.output = [];
}
}
},
default_tty1_ops: {
put_char: function(tty, val) {
if (val === null || val === 10) {
err(UTF8ArrayToString(tty.output, 0));
tty.output = [];
} else {
if (val != 0) tty.output.push(val);
}
},
flush: function(tty) {
if (tty.output && tty.output.length > 0) {
err(UTF8ArrayToString(tty.output, 0));
tty.output = [];
}
}
}
};
var MEMFS = {
ops_table: null,
mount: function(mount) {
return MEMFS.createNode(null, "/", 16384 | 511, 0);
},
createNode: function(parent, name, mode, dev) {
if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (!MEMFS.ops_table) {
MEMFS.ops_table = {
dir: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr,
lookup: MEMFS.node_ops.lookup,
mknod: MEMFS.node_ops.mknod,
rename: MEMFS.node_ops.rename,
unlink: MEMFS.node_ops.unlink,
rmdir: MEMFS.node_ops.rmdir,
readdir: MEMFS.node_ops.readdir,
symlink: MEMFS.node_ops.symlink
},
stream: {
llseek: MEMFS.stream_ops.llseek
}
},
file: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr
},
stream: {
llseek: MEMFS.stream_ops.llseek,
read: MEMFS.stream_ops.read,
write: MEMFS.stream_ops.write,
allocate: MEMFS.stream_ops.allocate,
mmap: MEMFS.stream_ops.mmap,
msync: MEMFS.stream_ops.msync
}
},
link: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr,
readlink: MEMFS.node_ops.readlink
},
stream: {}
},
chrdev: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr
},
stream: FS.chrdev_stream_ops
}
};
}
var node = FS.createNode(parent, name, mode, dev);
if (FS.isDir(node.mode)) {
node.node_ops = MEMFS.ops_table.dir.node;
node.stream_ops = MEMFS.ops_table.dir.stream;
node.contents = {};
} else if (FS.isFile(node.mode)) {
node.node_ops = MEMFS.ops_table.file.node;
node.stream_ops = MEMFS.ops_table.file.stream;
node.usedBytes = 0;
node.contents = null;
} else if (FS.isLink(node.mode)) {
node.node_ops = MEMFS.ops_table.link.node;
node.stream_ops = MEMFS.ops_table.link.stream;
} else if (FS.isChrdev(node.mode)) {
node.node_ops = MEMFS.ops_table.chrdev.node;
node.stream_ops = MEMFS.ops_table.chrdev.stream;
}
node.timestamp = Date.now();
if (parent) {
parent.contents[name] = node;
}
return node;
},
getFileDataAsRegularArray: function(node) {
if (node.contents && node.contents.subarray) {
var arr = [];
for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
return arr;
}
return node.contents;
},
getFileDataAsTypedArray: function(node) {
if (!node.contents) return new Uint8Array();
if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);
return new Uint8Array(node.contents);
},
expandFileStorage: function(node, newCapacity) {
var prevCapacity = node.contents ? node.contents.length : 0;
if (prevCapacity >= newCapacity) return;
var CAPACITY_DOUBLING_MAX = 1024 * 1024;
newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0);
if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);
var oldContents = node.contents;
node.contents = new Uint8Array(newCapacity);
if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
return;
},
resizeFileStorage: function(node, newSize) {
if (node.usedBytes == newSize) return;
if (newSize == 0) {
node.contents = null;
node.usedBytes = 0;
return;
}
if (!node.contents || node.contents.subarray) {
var oldContents = node.contents;
node.contents = new Uint8Array(new ArrayBuffer(newSize));
if (oldContents) {
node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));
}
node.usedBytes = newSize;
return;
}
if (!node.contents) node.contents = [];
if (node.contents.length > newSize) node.contents.length = newSize; else while (node.contents.length < newSize) node.contents.push(0);
node.usedBytes = newSize;
},
node_ops: {
getattr: function(node) {
var attr = {};
attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
attr.ino = node.id;
attr.mode = node.mode;
attr.nlink = 1;
attr.uid = 0;
attr.gid = 0;
attr.rdev = node.rdev;
if (FS.isDir(node.mode)) {
attr.size = 4096;
} else if (FS.isFile(node.mode)) {
attr.size = node.usedBytes;
} else if (FS.isLink(node.mode)) {
attr.size = node.link.length;
} else {
attr.size = 0;
}
attr.atime = new Date(node.timestamp);
attr.mtime = new Date(node.timestamp);
attr.ctime = new Date(node.timestamp);
attr.blksize = 4096;
attr.blocks = Math.ceil(attr.size / attr.blksize);
return attr;
},
setattr: function(node, attr) {
if (attr.mode !== undefined) {
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
node.timestamp = attr.timestamp;
}
if (attr.size !== undefined) {
MEMFS.resizeFileStorage(node, attr.size);
}
},
lookup: function(parent, name) {
throw FS.genericErrors[ERRNO_CODES.ENOENT];
},
mknod: function(parent, name, mode, dev) {
return MEMFS.createNode(parent, name, mode, dev);
},
rename: function(old_node, new_dir, new_name) {
if (FS.isDir(old_node.mode)) {
var new_node;
try {
new_node = FS.lookupNode(new_dir, new_name);
} catch (e) {}
if (new_node) {
for (var i in new_node.contents) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
}
}
delete old_node.parent.contents[old_node.name];
old_node.name = new_name;
new_dir.contents[new_name] = old_node;
old_node.parent = new_dir;
},
unlink: function(parent, name) {
delete parent.contents[name];
},
rmdir: function(parent, name) {
var node = FS.lookupNode(parent, name);
for (var i in node.contents) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
delete parent.contents[name];
},
readdir: function(node) {
var entries = [ ".", ".." ];
for (var key in node.contents) {
if (!node.contents.hasOwnProperty(key)) {
continue;
}
entries.push(key);
}
return entries;
},
symlink: function(parent, newname, oldpath) {
var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
node.link = oldpath;
return node;
},
readlink: function(node) {
if (!FS.isLink(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return node.link;
}
},
stream_ops: {
read: function(stream, buffer, offset, length, position) {
var contents = stream.node.contents;
if (position >= stream.node.usedBytes) return 0;
var size = Math.min(stream.node.usedBytes - position, length);
assert(size >= 0);
if (size > 8 && contents.subarray) {
buffer.set(contents.subarray(position, position + size), offset);
} else {
for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
}
return size;
},
write: function(stream, buffer, offset, length, position, canOwn) {
if (!length) return 0;
var node = stream.node;
node.timestamp = Date.now();
if (buffer.subarray && (!node.contents || node.contents.subarray)) {
if (canOwn) {
node.contents = buffer.subarray(offset, offset + length);
node.usedBytes = length;
return length;
} else if (node.usedBytes === 0 && position === 0) {
node.contents = new Uint8Array(buffer.subarray(offset, offset + length));
node.usedBytes = length;
return length;
} else if (position + length <= node.usedBytes) {
node.contents.set(buffer.subarray(offset, offset + length), position);
return length;
}
}
MEMFS.expandFileStorage(node, position + length);
if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); else {
for (var i = 0; i < length; i++) {
node.contents[position + i] = buffer[offset + i];
}
}
node.usedBytes = Math.max(node.usedBytes, position + length);
return length;
},
llseek: function(stream, offset, whence) {
var position = offset;
if (whence === 1) {
position += stream.position;
} else if (whence === 2) {
if (FS.isFile(stream.node.mode)) {
position += stream.node.usedBytes;
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return position;
},
allocate: function(stream, offset, length) {
MEMFS.expandFileStorage(stream.node, offset + length);
stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
},
mmap: function(stream, buffer, offset, length, position, prot, flags) {
if (!FS.isFile(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
var ptr;
var allocated;
var contents = stream.node.contents;
if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) {
allocated = false;
ptr = contents.byteOffset;
} else {
if (position > 0 || position + length < stream.node.usedBytes) {
if (contents.subarray) {
contents = contents.subarray(position, position + length);
} else {
contents = Array.prototype.slice.call(contents, position, position + length);
}
}
allocated = true;
ptr = _malloc(length);
if (!ptr) {
throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
}
buffer.set(contents, ptr);
}
return {
ptr: ptr,
allocated: allocated
};
},
msync: function(stream, buffer, offset, length, mmapFlags) {
if (!FS.isFile(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
if (mmapFlags & 2) {
return 0;
}
var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
return 0;
}
}
};
var IDBFS = {
dbs: {},
indexedDB: function() {
if (typeof indexedDB !== "undefined") return indexedDB;
var ret = null;
if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
assert(ret, "IDBFS used, but indexedDB not supported");
return ret;
},
DB_VERSION: 21,
DB_STORE_NAME: "FILE_DATA",
mount: function(mount) {
return MEMFS.mount.apply(null, arguments);
},
syncfs: function(mount, populate, callback) {
IDBFS.getLocalSet(mount, function(err, local) {
if (err) return callback(err);
IDBFS.getRemoteSet(mount, function(err, remote) {
if (err) return callback(err);
var src = populate ? remote : local;
var dst = populate ? local : remote;
IDBFS.reconcile(src, dst, callback);
});
});
},
getDB: function(name, callback) {
var db = IDBFS.dbs[name];
if (db) {
return callback(null, db);
}
var req;
try {
req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
} catch (e) {
return callback(e);
}
if (!req) {
return callback("Unable to connect to IndexedDB");
}
req.onupgradeneeded = function(e) {
var db = e.target.result;
var transaction = e.target.transaction;
var fileStore;
if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
} else {
fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
}
if (!fileStore.indexNames.contains("timestamp")) {
fileStore.createIndex("timestamp", "timestamp", {
unique: false
});
}
};
req.onsuccess = function() {
db = req.result;
IDBFS.dbs[name] = db;
callback(null, db);
};
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},
getLocalSet: function(mount, callback) {
var entries = {};
function isRealDir(p) {
return p !== "." && p !== "..";
}
function toAbsolute(root) {
return function(p) {
return PATH.join2(root, p);
};
}
var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
while (check.length) {
var path = check.pop();
var stat;
try {
stat = FS.stat(path);
} catch (e) {
return callback(e);
}
if (FS.isDir(stat.mode)) {
check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
}
entries[path] = {
timestamp: stat.mtime
};
}
return callback(null, {
type: "local",
entries: entries
});
},
getRemoteSet: function(mount, callback) {
var entries = {};
IDBFS.getDB(mount.mountpoint, function(err, db) {
if (err) return callback(err);
try {
var transaction = db.transaction([ IDBFS.DB_STORE_NAME ], "readonly");
transaction.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
var index = store.index("timestamp");
index.openKeyCursor().onsuccess = function(event) {
var cursor = event.target.result;
if (!cursor) {
return callback(null, {
type: "remote",
db: db,
entries: entries
});
}
entries[cursor.primaryKey] = {
timestamp: cursor.key
};
cursor.continue();
};
} catch (e) {
return callback(e);
}
});
},
loadLocalEntry: function(path, callback) {
var stat, node;
try {
var lookup = FS.lookupPath(path);
node = lookup.node;
stat = FS.stat(path);
} catch (e) {
return callback(e);
}
if (FS.isDir(stat.mode)) {
return callback(null, {
timestamp: stat.mtime,
mode: stat.mode
});
} else if (FS.isFile(stat.mode)) {
node.contents = MEMFS.getFileDataAsTypedArray(node);
return callback(null, {
timestamp: stat.mtime,
mode: stat.mode,
contents: node.contents
});
} else {
return callback(new Error("node type not supported"));
}
},
storeLocalEntry: function(path, entry, callback) {
try {
if (FS.isDir(entry.mode)) {
FS.mkdir(path, entry.mode);
} else if (FS.isFile(entry.mode)) {
FS.writeFile(path, entry.contents, {
canOwn: true
});
} else {
return callback(new Error("node type not supported"));
}
FS.chmod(path, entry.mode);
FS.utime(path, entry.timestamp, entry.timestamp);
} catch (e) {
return callback(e);
}
callback(null);
},
removeLocalEntry: function(path, callback) {
try {
var lookup = FS.lookupPath(path);
var stat = FS.stat(path);
if (FS.isDir(stat.mode)) {
FS.rmdir(path);
} else if (FS.isFile(stat.mode)) {
FS.unlink(path);
}
} catch (e) {
return callback(e);
}
callback(null);
},
loadRemoteEntry: function(store, path, callback) {
var req = store.get(path);
req.onsuccess = function(event) {
callback(null, event.target.result);
};
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},
storeRemoteEntry: function(store, path, entry, callback) {
var req = store.put(entry, path);
req.onsuccess = function() {
callback(null);
};
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},
removeRemoteEntry: function(store, path, callback) {
var req = store.delete(path);
req.onsuccess = function() {
callback(null);
};
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},
reconcile: function(src, dst, callback) {
var total = 0;
var create = [];
Object.keys(src.entries).forEach(function(key) {
var e = src.entries[key];
var e2 = dst.entries[key];
if (!e2 || e.timestamp > e2.timestamp) {
create.push(key);
total++;
}
});
var remove = [];
Object.keys(dst.entries).forEach(function(key) {
var e = dst.entries[key];
var e2 = src.entries[key];
if (!e2) {
remove.push(key);
total++;
}
});
if (!total) {
return callback(null);
}
var errored = false;
var completed = 0;
var db = src.type === "remote" ? src.db : dst.db;
var transaction = db.transaction([ IDBFS.DB_STORE_NAME ], "readwrite");
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
function done(err) {
if (err) {
if (!done.errored) {
done.errored = true;
return callback(err);
}
return;
}
if (++completed >= total) {
return callback(null);
}
}
transaction.onerror = function(e) {
done(this.error);
e.preventDefault();
};
create.sort().forEach(function(path) {
if (dst.type === "local") {
IDBFS.loadRemoteEntry(store, path, function(err, entry) {
if (err) return done(err);
IDBFS.storeLocalEntry(path, entry, done);
});
} else {
IDBFS.loadLocalEntry(path, function(err, entry) {
if (err) return done(err);
IDBFS.storeRemoteEntry(store, path, entry, done);
});
}
});
remove.sort().reverse().forEach(function(path) {
if (dst.type === "local") {
IDBFS.removeLocalEntry(path, done);
} else {
IDBFS.removeRemoteEntry(store, path, done);
}
});
}
};
var NODEFS = {
isWindows: false,
staticInit: function() {
NODEFS.isWindows = !!process.platform.match(/^win/);
var flags = process["binding"]("constants");
if (flags["fs"]) {
flags = flags["fs"];
}
NODEFS.flagsForNodeMap = {
1024: flags["O_APPEND"],
64: flags["O_CREAT"],
128: flags["O_EXCL"],
0: flags["O_RDONLY"],
2: flags["O_RDWR"],
4096: flags["O_SYNC"],
512: flags["O_TRUNC"],
1: flags["O_WRONLY"]
};
},
bufferFrom: function(arrayBuffer) {
return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer);
},
mount: function(mount) {
assert(ENVIRONMENT_IS_NODE);
return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0);
},
createNode: function(parent, name, mode, dev) {
if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var node = FS.createNode(parent, name, mode);
node.node_ops = NODEFS.node_ops;
node.stream_ops = NODEFS.stream_ops;
return node;
},
getMode: function(path) {
var stat;
try {
stat = fs.lstatSync(path);
if (NODEFS.isWindows) {
stat.mode = stat.mode | (stat.mode & 292) >> 2;
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
return stat.mode;
},
realPath: function(node) {
var parts = [];
while (node.parent !== node) {
parts.push(node.name);
node = node.parent;
}
parts.push(node.mount.opts.root);
parts.reverse();
return PATH.join.apply(null, parts);
},
flagsForNode: function(flags) {
flags &= ~2097152;
flags &= ~2048;
flags &= ~32768;
flags &= ~524288;
var newFlags = 0;
for (var k in NODEFS.flagsForNodeMap) {
if (flags & k) {
newFlags |= NODEFS.flagsForNodeMap[k];
flags ^= k;
}
}
if (!flags) {
return newFlags;
} else {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
},
node_ops: {
getattr: function(node) {
var path = NODEFS.realPath(node);
var stat;
try {
stat = fs.lstatSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
if (NODEFS.isWindows && !stat.blksize) {
stat.blksize = 4096;
}
if (NODEFS.isWindows && !stat.blocks) {
stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0;
}
return {
dev: stat.dev,
ino: stat.ino,
mode: stat.mode,
nlink: stat.nlink,
uid: stat.uid,
gid: stat.gid,
rdev: stat.rdev,
size: stat.size,
atime: stat.atime,
mtime: stat.mtime,
ctime: stat.ctime,
blksize: stat.blksize,
blocks: stat.blocks
};
},
setattr: function(node, attr) {
var path = NODEFS.realPath(node);
try {
if (attr.mode !== undefined) {
fs.chmodSync(path, attr.mode);
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
var date = new Date(attr.timestamp);
fs.utimesSync(path, date, date);
}
if (attr.size !== undefined) {
fs.truncateSync(path, attr.size);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},
lookup: function(parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
var mode = NODEFS.getMode(path);
return NODEFS.createNode(parent, name, mode);
},
mknod: function(parent, name, mode, dev) {
var node = NODEFS.createNode(parent, name, mode, dev);
var path = NODEFS.realPath(node);
try {
if (FS.isDir(node.mode)) {
fs.mkdirSync(path, node.mode);
} else {
fs.writeFileSync(path, "", {
mode: node.mode
});
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
return node;
},
rename: function(oldNode, newDir, newName) {
var oldPath = NODEFS.realPath(oldNode);
var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
try {
fs.renameSync(oldPath, newPath);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},
unlink: function(parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
try {
fs.unlinkSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},
rmdir: function(parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
try {
fs.rmdirSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},
readdir: function(node) {
var path = NODEFS.realPath(node);
try {
return fs.readdirSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},
symlink: function(parent, newName, oldPath) {
var newPath = PATH.join2(NODEFS.realPath(parent), newName);
try {
fs.symlinkSync(oldPath, newPath);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},
readlink: function(node) {
var path = NODEFS.realPath(node);
try {
path = fs.readlinkSync(path);
path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path);
return path;
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
}
},
stream_ops: {
open: function(stream) {
var path = NODEFS.realPath(stream.node);
try {
if (FS.isFile(stream.node.mode)) {
stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags));
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},
close: function(stream) {
try {
if (FS.isFile(stream.node.mode) && stream.nfd) {
fs.closeSync(stream.nfd);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},
read: function(stream, buffer, offset, length, position) {
if (length === 0) return 0;
try {
return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},
write: function(stream, buffer, offset, length, position) {
try {
return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},
llseek: function(stream, offset, whence) {
var position = offset;
if (whence === 1) {
position += stream.position;
} else if (whence === 2) {
if (FS.isFile(stream.node.mode)) {
try {
var stat = fs.fstatSync(stream.nfd);
position += stat.size;
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return position;
}
}
};
var WORKERFS = {
DIR_MODE: 16895,
FILE_MODE: 33279,
reader: null,
mount: function(mount) {
assert(ENVIRONMENT_IS_WORKER);
if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0);
var createdParents = {};
function ensureParent(path) {
var parts = path.split("/");
var parent = root;
for (var i = 0; i < parts.length - 1; i++) {
var curr = parts.slice(0, i + 1).join("/");
if (!createdParents[curr]) {
createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0);
}
parent = createdParents[curr];
}
return parent;
}
function base(path) {
var parts = path.split("/");
return parts[parts.length - 1];
}
Array.prototype.forEach.call(mount.opts["files"] || [], function(file) {
WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate);
});
(mount.opts["blobs"] || []).forEach(function(obj) {
WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]);
});
(mount.opts["packages"] || []).forEach(function(pack) {
pack["metadata"].files.forEach(function(file) {
var name = file.filename.substr(1);
WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end));
});
});
return root;
},
createNode: function(parent, name, mode, dev, contents, mtime) {
var node = FS.createNode(parent, name, mode);
node.mode = mode;
node.node_ops = WORKERFS.node_ops;
node.stream_ops = WORKERFS.stream_ops;
node.timestamp = (mtime || new Date()).getTime();
assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
if (mode === WORKERFS.FILE_MODE) {
node.size = contents.size;
node.contents = contents;
} else {
node.size = 4096;
node.contents = {};
}
if (parent) {
parent.contents[name] = node;
}
return node;
},
node_ops: {
getattr: function(node) {
return {
dev: 1,
ino: undefined,
mode: node.mode,
nlink: 1,
uid: 0,
gid: 0,
rdev: undefined,
size: node.size,
atime: new Date(node.timestamp),
mtime: new Date(node.timestamp),
ctime: new Date(node.timestamp),
blksize: 4096,
blocks: Math.ceil(node.size / 4096)
};
},
setattr: function(node, attr) {
if (attr.mode !== undefined) {
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
node.timestamp = attr.timestamp;
}
},
lookup: function(parent, name) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
},
mknod: function(parent, name, mode, dev) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},
rename: function(oldNode, newDir, newName) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},
unlink: function(parent, name) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},
rmdir: function(parent, name) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},
readdir: function(node) {
var entries = [ ".", ".." ];
for (var key in node.contents) {
if (!node.contents.hasOwnProperty(key)) {
continue;
}
entries.push(key);
}
return entries;
},
symlink: function(parent, newName, oldPath) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},
readlink: function(node) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
},
stream_ops: {
read: function(stream, buffer, offset, length, position) {
if (position >= stream.node.size) return 0;
var chunk = stream.node.contents.slice(position, position + length);
var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
buffer.set(new Uint8Array(ab), offset);
return chunk.size;
},
write: function(stream, buffer, offset, length, position) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
},
llseek: function(stream, offset, whence) {
var position = offset;
if (whence === 1) {
position += stream.position;
} else if (whence === 2) {
if (FS.isFile(stream.node.mode)) {
position += stream.node.size;
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return position;
}
}
};
var FS = {
root: null,
mounts: [],
devices: {},
streams: [],
nextInode: 1,
nameTable: null,
currentPath: "/",
initialized: false,
ignorePermissions: true,
trackingDelegate: {},
tracking: {
openFlags: {
READ: 1,
WRITE: 2
}
},
ErrnoError: null,
genericErrors: {},
filesystems: null,
syncFSRequests: 0,
handleFSError: function(e) {
if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace();
return ___setErrNo(e.errno);
},
lookupPath: function(path, opts) {
path = PATH.resolve(FS.cwd(), path);
opts = opts || {};
if (!path) return {
path: "",
node: null
};
var defaults = {
follow_mount: true,
recurse_count: 0
};
for (var key in defaults) {
if (opts[key] === undefined) {
opts[key] = defaults[key];
}
}
if (opts.recurse_count > 8) {
throw new FS.ErrnoError(40);
}
var parts = PATH.normalizeArray(path.split("/").filter(function(p) {
return !!p;
}), false);
var current = FS.root;
var current_path = "/";
for (var i = 0; i < parts.length; i++) {
var islast = i === parts.length - 1;
if (islast && opts.parent) {
break;
}
current = FS.lookupNode(current, parts[i]);
current_path = PATH.join2(current_path, parts[i]);
if (FS.isMountpoint(current)) {
if (!islast || islast && opts.follow_mount) {
current = current.mounted.root;
}
}
if (!islast || opts.follow) {
var count = 0;
while (FS.isLink(current.mode)) {
var link = FS.readlink(current_path);
current_path = PATH.resolve(PATH.dirname(current_path), link);
var lookup = FS.lookupPath(current_path, {
recurse_count: opts.recurse_count
});
current = lookup.node;
if (count++ > 40) {
throw new FS.ErrnoError(40);
}
}
}
}
return {
path: current_path,
node: current
};
},
getPath: function(node) {
var path;
while (true) {
if (FS.isRoot(node)) {
var mount = node.mount.mountpoint;
if (!path) return mount;
return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path;
}
path = path ? node.name + "/" + path : node.name;
node = node.parent;
}
},
hashName: function(parentid, name) {
var hash = 0;
for (var i = 0; i < name.length; i++) {
hash = (hash << 5) - hash + name.charCodeAt(i) | 0;
}
return (parentid + hash >>> 0) % FS.nameTable.length;
},
hashAddNode: function(node) {
var hash = FS.hashName(node.parent.id, node.name);
node.name_next = FS.nameTable[hash];
FS.nameTable[hash] = node;
},
hashRemoveNode: function(node) {
var hash = FS.hashName(node.parent.id, node.name);
if (FS.nameTable[hash] === node) {
FS.nameTable[hash] = node.name_next;
} else {
var current = FS.nameTable[hash];
while (current) {
if (current.name_next === node) {
current.name_next = node.name_next;
break;
}
current = current.name_next;
}
}
},
lookupNode: function(parent, name) {
var err = FS.mayLookup(parent);
if (err) {
throw new FS.ErrnoError(err, parent);
}
var hash = FS.hashName(parent.id, name);
for (var node = FS.nameTable[hash]; node; node = node.name_next) {
var nodeName = node.name;
if (node.parent.id === parent.id && nodeName === name) {
return node;
}
}
return FS.lookup(parent, name);
},
createNode: function(parent, name, mode, rdev) {
if (!FS.FSNode) {
FS.FSNode = function(parent, name, mode, rdev) {
if (!parent) {
parent = this;
}
this.parent = parent;
this.mount = parent.mount;
this.mounted = null;
this.id = FS.nextInode++;
this.name = name;
this.mode = mode;
this.node_ops = {};
this.stream_ops = {};
this.rdev = rdev;
};
FS.FSNode.prototype = {};
var readMode = 292 | 73;
var writeMode = 146;
Object.defineProperties(FS.FSNode.prototype, {
read: {
get: function() {
return (this.mode & readMode) === readMode;
},
set: function(val) {
val ? this.mode |= readMode : this.mode &= ~readMode;
}
},
write: {
get: function() {
return (this.mode & writeMode) === writeMode;
},
set: function(val) {
val ? this.mode |= writeMode : this.mode &= ~writeMode;
}
},
isFolder: {
get: function() {
return FS.isDir(this.mode);
}
},
isDevice: {
get: function() {
return FS.isChrdev(this.mode);
}
}
});
}
var node = new FS.FSNode(parent, name, mode, rdev);
FS.hashAddNode(node);
return node;
},
destroyNode: function(node) {
FS.hashRemoveNode(node);
},
isRoot: function(node) {
return node === node.parent;
},
isMountpoint: function(node) {
return !!node.mounted;
},
isFile: function(mode) {
return (mode & 61440) === 32768;
},
isDir: function(mode) {
return (mode & 61440) === 16384;
},
isLink: function(mode) {
return (mode & 61440) === 40960;
},
isChrdev: function(mode) {
return (mode & 61440) === 8192;
},
isBlkdev: function(mode) {
return (mode & 61440) === 24576;
},
isFIFO: function(mode) {
return (mode & 61440) === 4096;
},
isSocket: function(mode) {
return (mode & 49152) === 49152;
},
flagModes: {
"r": 0,
"rs": 1052672,
"r+": 2,
"w": 577,
"wx": 705,
"xw": 705,
"w+": 578,
"wx+": 706,
"xw+": 706,
"a": 1089,
"ax": 1217,
"xa": 1217,
"a+": 1090,
"ax+": 1218,
"xa+": 1218
},
modeStringToFlags: function(str) {
var flags = FS.flagModes[str];
if (typeof flags === "undefined") {
throw new Error("Unknown file open mode: " + str);
}
return flags;
},
flagsToPermissionString: function(flag) {
var perms = [ "r", "w", "rw" ][flag & 3];
if (flag & 512) {
perms += "w";
}
return perms;
},
nodePermissions: function(node, perms) {
if (FS.ignorePermissions) {
return 0;
}
if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
return 13;
} else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
return 13;
} else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
return 13;
}
return 0;
},
mayLookup: function(dir) {
var err = FS.nodePermissions(dir, "x");
if (err) return err;
if (!dir.node_ops.lookup) return 13;
return 0;
},
mayCreate: function(dir, name) {
try {
var node = FS.lookupNode(dir, name);
return 17;
} catch (e) {}
return FS.nodePermissions(dir, "wx");
},
mayDelete: function(dir, name, isdir) {
var node;
try {
node = FS.lookupNode(dir, name);
} catch (e) {
return e.errno;
}
var err = FS.nodePermissions(dir, "wx");
if (err) {
return err;
}
if (isdir) {
if (!FS.isDir(node.mode)) {
return 20;
}
if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
return 16;
}
} else {
if (FS.isDir(node.mode)) {
return 21;
}
}
return 0;
},
mayOpen: function(node, flags) {
if (!node) {
return 2;
}
if (FS.isLink(node.mode)) {
return 40;
} else if (FS.isDir(node.mode)) {
if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) {
return 21;
}
}
return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
},
MAX_OPEN_FDS: 4096,
nextfd: function(fd_start, fd_end) {
fd_start = fd_start || 0;
fd_end = fd_end || FS.MAX_OPEN_FDS;
for (var fd = fd_start; fd <= fd_end; fd++) {
if (!FS.streams[fd]) {
return fd;
}
}
throw new FS.ErrnoError(24);
},
getStream: function(fd) {
return FS.streams[fd];
},
createStream: function(stream, fd_start, fd_end) {
if (!FS.FSStream) {
FS.FSStream = function() {};
FS.FSStream.prototype = {};
Object.defineProperties(FS.FSStream.prototype, {
object: {
get: function() {
return this.node;
},
set: function(val) {
this.node = val;
}
},
isRead: {
get: function() {
return (this.flags & 2097155) !== 1;
}
},
isWrite: {
get: function() {
return (this.flags & 2097155) !== 0;
}
},
isAppend: {
get: function() {
return this.flags & 1024;
}
}
});
}
var newStream = new FS.FSStream();
for (var p in stream) {
newStream[p] = stream[p];
}
stream = newStream;
var fd = FS.nextfd(fd_start, fd_end);
stream.fd = fd;
FS.streams[fd] = stream;
return stream;
},
closeStream: function(fd) {
FS.streams[fd] = null;
},
chrdev_stream_ops: {
open: function(stream) {
var device = FS.getDevice(stream.node.rdev);
stream.stream_ops = device.stream_ops;
if (stream.stream_ops.open) {
stream.stream_ops.open(stream);
}
},
llseek: function() {
throw new FS.ErrnoError(29);
}
},
major: function(dev) {
return dev >> 8;
},
minor: function(dev) {
return dev & 255;
},
makedev: function(ma, mi) {
return ma << 8 | mi;
},
registerDevice: function(dev, ops) {
FS.devices[dev] = {
stream_ops: ops
};
},
getDevice: function(dev) {
return FS.devices[dev];
},
getMounts: function(mount) {
var mounts = [];
var check = [ mount ];
while (check.length) {
var m = check.pop();
mounts.push(m);
check.push.apply(check, m.mounts);
}
return mounts;
},
syncfs: function(populate, callback) {
if (typeof populate === "function") {
callback = populate;
populate = false;
}
FS.syncFSRequests++;
if (FS.syncFSRequests > 1) {
console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work");
}
var mounts = FS.getMounts(FS.root.mount);
var completed = 0;
function doCallback(err) {
assert(FS.syncFSRequests > 0);
FS.syncFSRequests--;
return callback(err);
}
function done(err) {
if (err) {
if (!done.errored) {
done.errored = true;
return doCallback(err);
}
return;
}
if (++completed >= mounts.length) {
doCallback(null);
}
}
mounts.forEach(function(mount) {
if (!mount.type.syncfs) {
return done(null);
}
mount.type.syncfs(mount, populate, done);
});
},
mount: function(type, opts, mountpoint) {
var root = mountpoint === "/";
var pseudo = !mountpoint;
var node;
if (root && FS.root) {
throw new FS.ErrnoError(16);
} else if (!root && !pseudo) {
var lookup = FS.lookupPath(mountpoint, {
follow_mount: false
});
mountpoint = lookup.path;
node = lookup.node;
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(16);
}
if (!FS.isDir(node.mode)) {
throw new FS.ErrnoError(20);
}
}
var mount = {
type: type,
opts: opts,
mountpoint: mountpoint,
mounts: []
};
var mountRoot = type.mount(mount);
mountRoot.mount = mount;
mount.root = mountRoot;
if (root) {
FS.root = mountRoot;
} else if (node) {
node.mounted = mount;
if (node.mount) {
node.mount.mounts.push(mount);
}
}
return mountRoot;
},
unmount: function(mountpoint) {
var lookup = FS.lookupPath(mountpoint, {
follow_mount: false
});
if (!FS.isMountpoint(lookup.node)) {
throw new FS.ErrnoError(22);
}
var node = lookup.node;
var mount = node.mounted;
var mounts = FS.getMounts(mount);
Object.keys(FS.nameTable).forEach(function(hash) {
var current = FS.nameTable[hash];
while (current) {
var next = current.name_next;
if (mounts.indexOf(current.mount) !== -1) {
FS.destroyNode(current);
}
current = next;
}
});
node.mounted = null;
var idx = node.mount.mounts.indexOf(mount);
assert(idx !== -1);
node.mount.mounts.splice(idx, 1);
},
lookup: function(parent, name) {
return parent.node_ops.lookup(parent, name);
},
mknod: function(path, mode, dev) {
var lookup = FS.lookupPath(path, {
parent: true
});
var parent = lookup.node;
var name = PATH.basename(path);
if (!name || name === "." || name === "..") {
throw new FS.ErrnoError(22);
}
var err = FS.mayCreate(parent, name);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.mknod) {
throw new FS.ErrnoError(1);
}
return parent.node_ops.mknod(parent, name, mode, dev);
},
create: function(path, mode) {
mode = mode !== undefined ? mode : 438;
mode &= 4095;
mode |= 32768;
return FS.mknod(path, mode, 0);
},
mkdir: function(path, mode) {
mode = mode !== undefined ? mode : 511;
mode &= 511 | 512;
mode |= 16384;
return FS.mknod(path, mode, 0);
},
mkdirTree: function(path, mode) {
var dirs = path.split("/");
var d = "";
for (var i = 0; i < dirs.length; ++i) {
if (!dirs[i]) continue;
d += "/" + dirs[i];
try {
FS.mkdir(d, mode);
} catch (e) {
if (e.errno != 17) throw e;
}
}
},
mkdev: function(path, mode, dev) {
if (typeof dev === "undefined") {
dev = mode;
mode = 438;
}
mode |= 8192;
return FS.mknod(path, mode, dev);
},
symlink: function(oldpath, newpath) {
if (!PATH.resolve(oldpath)) {
throw new FS.ErrnoError(2);
}
var lookup = FS.lookupPath(newpath, {
parent: true
});
var parent = lookup.node;
if (!parent) {
throw new FS.ErrnoError(2);
}
var newname = PATH.basename(newpath);
var err = FS.mayCreate(parent, newname);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.symlink) {
throw new FS.ErrnoError(1);
}
return parent.node_ops.symlink(parent, newname, oldpath);
},
rename: function(old_path, new_path) {
var old_dirname = PATH.dirname(old_path);
var new_dirname = PATH.dirname(new_path);
var old_name = PATH.basename(old_path);
var new_name = PATH.basename(new_path);
var lookup, old_dir, new_dir;
try {
lookup = FS.lookupPath(old_path, {
parent: true
});
old_dir = lookup.node;
lookup = FS.lookupPath(new_path, {
parent: true
});
new_dir = lookup.node;
} catch (e) {
throw new FS.ErrnoError(16);
}
if (!old_dir || !new_dir) throw new FS.ErrnoError(2);
if (old_dir.mount !== new_dir.mount) {
throw new FS.ErrnoError(18);
}
var old_node = FS.lookupNode(old_dir, old_name);
var relative = PATH.relative(old_path, new_dirname);
if (relative.charAt(0) !== ".") {
throw new FS.ErrnoError(22);
}
relative = PATH.relative(new_path, old_dirname);
if (relative.charAt(0) !== ".") {
throw new FS.ErrnoError(39);
}
var new_node;
try {
new_node = FS.lookupNode(new_dir, new_name);
} catch (e) {}
if (old_node === new_node) {
return;
}
var isdir = FS.isDir(old_node.mode);
var err = FS.mayDelete(old_dir, old_name, isdir);
if (err) {
throw new FS.ErrnoError(err);
}
err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);
if (err) {
throw new FS.ErrnoError(err);
}
if (!old_dir.node_ops.rename) {
throw new FS.ErrnoError(1);
}
if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {
throw new FS.ErrnoError(16);
}
if (new_dir !== old_dir) {
err = FS.nodePermissions(old_dir, "w");
if (err) {
throw new FS.ErrnoError(err);
}
}
try {
if (FS.trackingDelegate["willMovePath"]) {
FS.trackingDelegate["willMovePath"](old_path, new_path);
}
} catch (e) {
console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
}
FS.hashRemoveNode(old_node);
try {
old_dir.node_ops.rename(old_node, new_dir, new_name);
} catch (e) {
throw e;
} finally {
FS.hashAddNode(old_node);
}
try {
if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path);
} catch (e) {
console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message);
}
},
rmdir: function(path) {
var lookup = FS.lookupPath(path, {
parent: true
});
var parent = lookup.node;
var name = PATH.basename(path);
var node = FS.lookupNode(parent, name);
var err = FS.mayDelete(parent, name, true);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.rmdir) {
throw new FS.ErrnoError(1);
}
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(16);
}
try {
if (FS.trackingDelegate["willDeletePath"]) {
FS.trackingDelegate["willDeletePath"](path);
}
} catch (e) {
console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
}
parent.node_ops.rmdir(parent, name);
FS.destroyNode(node);
try {
if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
} catch (e) {
console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
}
},
readdir: function(path) {
var lookup = FS.lookupPath(path, {
follow: true
});
var node = lookup.node;
if (!node.node_ops.readdir) {
throw new FS.ErrnoError(20);
}
return node.node_ops.readdir(node);
},
unlink: function(path) {
var lookup = FS.lookupPath(path, {
parent: true
});
var parent = lookup.node;
var name = PATH.basename(path);
var node = FS.lookupNode(parent, name);
var err = FS.mayDelete(parent, name, false);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.unlink) {
throw new FS.ErrnoError(1);
}
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(16);
}
try {
if (FS.trackingDelegate["willDeletePath"]) {
FS.trackingDelegate["willDeletePath"](path);
}
} catch (e) {
console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message);
}
parent.node_ops.unlink(parent, name);
FS.destroyNode(node);
try {
if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path);
} catch (e) {
console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message);
}
},
readlink: function(path) {
var lookup = FS.lookupPath(path);
var link = lookup.node;
if (!link) {
throw new FS.ErrnoError(2);
}
if (!link.node_ops.readlink) {
throw new FS.ErrnoError(22);
}
return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
},
stat: function(path, dontFollow) {
var lookup = FS.lookupPath(path, {
follow: !dontFollow
});
var node = lookup.node;
if (!node) {
throw new FS.ErrnoError(2);
}
if (!node.node_ops.getattr) {
throw new FS.ErrnoError(1);
}
return node.node_ops.getattr(node);
},
lstat: function(path) {
return FS.stat(path, true);
},
chmod: function(path, mode, dontFollow) {
var node;
if (typeof path === "string") {
var lookup = FS.lookupPath(path, {
follow: !dontFollow
});
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(1);
}
node.node_ops.setattr(node, {
mode: mode & 4095 | node.mode & ~4095,
timestamp: Date.now()
});
},
lchmod: function(path, mode) {
FS.chmod(path, mode, true);
},
fchmod: function(fd, mode) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(9);
}
FS.chmod(stream.node, mode);
},
chown: function(path, uid, gid, dontFollow) {
var node;
if (typeof path === "string") {
var lookup = FS.lookupPath(path, {
follow: !dontFollow
});
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(1);
}
node.node_ops.setattr(node, {
timestamp: Date.now()
});
},
lchown: function(path, uid, gid) {
FS.chown(path, uid, gid, true);
},
fchown: function(fd, uid, gid) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(9);
}
FS.chown(stream.node, uid, gid);
},
truncate: function(path, len) {
if (len < 0) {
throw new FS.ErrnoError(22);
}
var node;
if (typeof path === "string") {
var lookup = FS.lookupPath(path, {
follow: true
});
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(1);
}
if (FS.isDir(node.mode)) {
throw new FS.ErrnoError(21);
}
if (!FS.isFile(node.mode)) {
throw new FS.ErrnoError(22);
}
var err = FS.nodePermissions(node, "w");
if (err) {
throw new FS.ErrnoError(err);
}
node.node_ops.setattr(node, {
size: len,
timestamp: Date.now()
});
},
ftruncate: function(fd, len) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(9);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(22);
}
FS.truncate(stream.node, len);
},
utime: function(path, atime, mtime) {
var lookup = FS.lookupPath(path, {
follow: true
});
var node = lookup.node;
node.node_ops.setattr(node, {
timestamp: Math.max(atime, mtime)
});
},
open: function(path, flags, mode, fd_start, fd_end) {
if (path === "") {
throw new FS.ErrnoError(2);
}
flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags;
mode = typeof mode === "undefined" ? 438 : mode;
if (flags & 64) {
mode = mode & 4095 | 32768;
} else {
mode = 0;
}
var node;
if (typeof path === "object") {
node = path;
} else {
path = PATH.normalize(path);
try {
var lookup = FS.lookupPath(path, {
follow: !(flags & 131072)
});
node = lookup.node;
} catch (e) {}
}
var created = false;
if (flags & 64) {
if (node) {
if (flags & 128) {
throw new FS.ErrnoError(17);
}
} else {
node = FS.mknod(path, mode, 0);
created = true;
}
}
if (!node) {
throw new FS.ErrnoError(2);
}
if (FS.isChrdev(node.mode)) {
flags &= ~512;
}
if (flags & 65536 && !FS.isDir(node.mode)) {
throw new FS.ErrnoError(20);
}
if (!created) {
var err = FS.mayOpen(node, flags);
if (err) {
throw new FS.ErrnoError(err);
}
}
if (flags & 512) {
FS.truncate(node, 0);
}
flags &= ~(128 | 512);
var stream = FS.createStream({
node: node,
path: FS.getPath(node),
flags: flags,
seekable: true,
position: 0,
stream_ops: node.stream_ops,
ungotten: [],
error: false
}, fd_start, fd_end);
if (stream.stream_ops.open) {
stream.stream_ops.open(stream);
}
if (Module["logReadFiles"] && !(flags & 1)) {
if (!FS.readFiles) FS.readFiles = {};
if (!(path in FS.readFiles)) {
FS.readFiles[path] = 1;
console.log("FS.trackingDelegate error on read file: " + path);
}
}
try {
if (FS.trackingDelegate["onOpenFile"]) {
var trackingFlags = 0;
if ((flags & 2097155) !== 1) {
trackingFlags |= FS.tracking.openFlags.READ;
}
if ((flags & 2097155) !== 0) {
trackingFlags |= FS.tracking.openFlags.WRITE;
}
FS.trackingDelegate["onOpenFile"](path, trackingFlags);
}
} catch (e) {
console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message);
}
return stream;
},
close: function(stream) {
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(9);
}
if (stream.getdents) stream.getdents = null;
try {
if (stream.stream_ops.close) {
stream.stream_ops.close(stream);
}
} catch (e) {
throw e;
} finally {
FS.closeStream(stream.fd);
}
stream.fd = null;
},
isClosed: function(stream) {
return stream.fd === null;
},
llseek: function(stream, offset, whence) {
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(9);
}
if (!stream.seekable || !stream.stream_ops.llseek) {
throw new FS.ErrnoError(29);
}
if (whence != 0 && whence != 1 && whence != 2) {
throw new FS.ErrnoError(22);
}
stream.position = stream.stream_ops.llseek(stream, offset, whence);
stream.ungotten = [];
return stream.position;
},
read: function(stream, buffer, offset, length, position) {
if (length < 0 || position < 0) {
throw new FS.ErrnoError(22);
}
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(9);
}
if ((stream.flags & 2097155) === 1) {
throw new FS.ErrnoError(9);
}
if (FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(21);
}
if (!stream.stream_ops.read) {
throw new FS.ErrnoError(22);
}
var seeking = typeof position !== "undefined";
if (!seeking) {
position = stream.position;
} else if (!stream.seekable) {
throw new FS.ErrnoError(29);
}
var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
if (!seeking) stream.position += bytesRead;
return bytesRead;
},
write: function(stream, buffer, offset, length, position, canOwn) {
if (length < 0 || position < 0) {
throw new FS.ErrnoError(22);
}
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(9);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(9);
}
if (FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(21);
}
if (!stream.stream_ops.write) {
throw new FS.ErrnoError(22);
}
if (stream.flags & 1024) {
FS.llseek(stream, 0, 2);
}
var seeking = typeof position !== "undefined";
if (!seeking) {
position = stream.position;
} else if (!stream.seekable) {
throw new FS.ErrnoError(29);
}
var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
if (!seeking) stream.position += bytesWritten;
try {
if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path);
} catch (e) {
console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message);
}
return bytesWritten;
},
allocate: function(stream, offset, length) {
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(9);
}
if (offset < 0 || length <= 0) {
throw new FS.ErrnoError(22);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(9);
}
if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(19);
}
if (!stream.stream_ops.allocate) {
throw new FS.ErrnoError(95);
}
stream.stream_ops.allocate(stream, offset, length);
},
mmap: function(stream, buffer, offset, length, position, prot, flags) {
if ((stream.flags & 2097155) === 1) {
throw new FS.ErrnoError(13);
}
if (!stream.stream_ops.mmap) {
throw new FS.ErrnoError(19);
}
return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);
},
msync: function(stream, buffer, offset, length, mmapFlags) {
if (!stream || !stream.stream_ops.msync) {
return 0;
}
return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
},
munmap: function(stream) {
return 0;
},
ioctl: function(stream, cmd, arg) {
if (!stream.stream_ops.ioctl) {
throw new FS.ErrnoError(25);
}
return stream.stream_ops.ioctl(stream, cmd, arg);
},
readFile: function(path, opts) {
opts = opts || {};
opts.flags = opts.flags || "r";
opts.encoding = opts.encoding || "binary";
if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
throw new Error('Invalid encoding type "' + opts.encoding + '"');
}
var ret;
var stream = FS.open(path, opts.flags);
var stat = FS.stat(path);
var length = stat.size;
var buf = new Uint8Array(length);
FS.read(stream, buf, 0, length, 0);
if (opts.encoding === "utf8") {
ret = UTF8ArrayToString(buf, 0);
} else if (opts.encoding === "binary") {
ret = buf;
}
FS.close(stream);
return ret;
},
writeFile: function(path, data, opts) {
opts = opts || {};
opts.flags = opts.flags || "w";
var stream = FS.open(path, opts.flags, opts.mode);
if (typeof data === "string") {
var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);
} else if (ArrayBuffer.isView(data)) {
FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);
} else {
throw new Error("Unsupported data type");
}
FS.close(stream);
},
cwd: function() {
return FS.currentPath;
},
chdir: function(path) {
var lookup = FS.lookupPath(path, {
follow: true
});
if (lookup.node === null) {
throw new FS.ErrnoError(2);
}
if (!FS.isDir(lookup.node.mode)) {
throw new FS.ErrnoError(20);
}
var err = FS.nodePermissions(lookup.node, "x");
if (err) {
throw new FS.ErrnoError(err);
}
FS.currentPath = lookup.path;
},
createDefaultDirectories: function() {
FS.mkdir("/tmp");
FS.mkdir("/home");
FS.mkdir("/home/web_user");
},
createDefaultDevices: function() {
FS.mkdir("/dev");
FS.registerDevice(FS.makedev(1, 3), {
read: function() {
return 0;
},
write: function(stream, buffer, offset, length, pos) {
return length;
}
});
FS.mkdev("/dev/null", FS.makedev(1, 3));
TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
FS.mkdev("/dev/tty", FS.makedev(5, 0));
FS.mkdev("/dev/tty1", FS.makedev(6, 0));
var random_device;
if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") {
var randomBuffer = new Uint8Array(1);
random_device = function() {
crypto.getRandomValues(randomBuffer);
return randomBuffer[0];
};
} else if (ENVIRONMENT_IS_NODE) {
try {
var crypto_module = require("crypto");
random_device = function() {
return crypto_module["randomBytes"](1)[0];
};
} catch (e) {
random_device = function() {
return Math.random() * 256 | 0;
};
}
} else {
random_device = function() {
abort("random_device");
};
}
FS.createDevice("/dev", "random", random_device);
FS.createDevice("/dev", "urandom", random_device);
FS.mkdir("/dev/shm");
FS.mkdir("/dev/shm/tmp");
},
createSpecialDirectories: function() {
FS.mkdir("/proc");
FS.mkdir("/proc/self");
FS.mkdir("/proc/self/fd");
FS.mount({
mount: function() {
var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73);
node.node_ops = {
lookup: function(parent, name) {
var fd = +name;
var stream = FS.getStream(fd);
if (!stream) throw new FS.ErrnoError(9);
var ret = {
parent: null,
mount: {
mountpoint: "fake"
},
node_ops: {
readlink: function() {
return stream.path;
}
}
};
ret.parent = ret;
return ret;
}
};
return node;
}
}, {}, "/proc/self/fd");
},
createStandardStreams: function() {
if (Module["stdin"]) {
FS.createDevice("/dev", "stdin", Module["stdin"]);
} else {
FS.symlink("/dev/tty", "/dev/stdin");
}
if (Module["stdout"]) {
FS.createDevice("/dev", "stdout", null, Module["stdout"]);
} else {
FS.symlink("/dev/tty", "/dev/stdout");
}
if (Module["stderr"]) {
FS.createDevice("/dev", "stderr", null, Module["stderr"]);
} else {
FS.symlink("/dev/tty1", "/dev/stderr");
}
var stdin = FS.open("/dev/stdin", "r");
assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")");
var stdout = FS.open("/dev/stdout", "w");
assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")");
var stderr = FS.open("/dev/stderr", "w");
assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")");
},
ensureErrnoError: function() {
if (FS.ErrnoError) return;
FS.ErrnoError = function ErrnoError(errno, node) {
this.node = node;
this.setErrno = function(errno) {
this.errno = errno;
};
this.setErrno(errno);
this.message = "FS error";
if (this.stack) Object.defineProperty(this, "stack", {
value: new Error().stack,
writable: true
});
};
FS.ErrnoError.prototype = new Error();
FS.ErrnoError.prototype.constructor = FS.ErrnoError;
[ 2 ].forEach(function(code) {
FS.genericErrors[code] = new FS.ErrnoError(code);
FS.genericErrors[code].stack = "<generic error, no stack>";
});
},
staticInit: function() {
FS.ensureErrnoError();
FS.nameTable = new Array(4096);
FS.mount(MEMFS, {}, "/");
FS.createDefaultDirectories();
FS.createDefaultDevices();
FS.createSpecialDirectories();
FS.filesystems = {
"MEMFS": MEMFS,
"IDBFS": IDBFS,
"NODEFS": NODEFS,
"WORKERFS": WORKERFS
};
},
init: function(input, output, error) {
assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");
FS.init.initialized = true;
FS.ensureErrnoError();
Module["stdin"] = input || Module["stdin"];
Module["stdout"] = output || Module["stdout"];
Module["stderr"] = error || Module["stderr"];
FS.createStandardStreams();
},
quit: function() {
FS.init.initialized = false;
var fflush = Module["_fflush"];
if (fflush) fflush(0);
for (var i = 0; i < FS.streams.length; i++) {
var stream = FS.streams[i];
if (!stream) {
continue;
}
FS.close(stream);
}
},
getMode: function(canRead, canWrite) {
var mode = 0;
if (canRead) mode |= 292 | 73;
if (canWrite) mode |= 146;
return mode;
},
joinPath: function(parts, forceRelative) {
var path = PATH.join.apply(null, parts);
if (forceRelative && path[0] == "/") path = path.substr(1);
return path;
},
absolutePath: function(relative, base) {
return PATH.resolve(base, relative);
},
standardizePath: function(path) {
return PATH.normalize(path);
},
findObject: function(path, dontResolveLastLink) {
var ret = FS.analyzePath(path, dontResolveLastLink);
if (ret.exists) {
return ret.object;
} else {
___setErrNo(ret.error);
return null;
}
},
analyzePath: function(path, dontResolveLastLink) {
try {
var lookup = FS.lookupPath(path, {
follow: !dontResolveLastLink
});
path = lookup.path;
} catch (e) {}
var ret = {
isRoot: false,
exists: false,
error: 0,
name: null,
path: null,
object: null,
parentExists: false,
parentPath: null,
parentObject: null
};
try {
var lookup = FS.lookupPath(path, {
parent: true
});
ret.parentExists = true;
ret.parentPath = lookup.path;
ret.parentObject = lookup.node;
ret.name = PATH.basename(path);
lookup = FS.lookupPath(path, {
follow: !dontResolveLastLink
});
ret.exists = true;
ret.path = lookup.path;
ret.object = lookup.node;
ret.name = lookup.node.name;
ret.isRoot = lookup.path === "/";
} catch (e) {
ret.error = e.errno;
}
return ret;
},
createFolder: function(parent, name, canRead, canWrite) {
var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
var mode = FS.getMode(canRead, canWrite);
return FS.mkdir(path, mode);
},
createPath: function(parent, path, canRead, canWrite) {
parent = typeof parent === "string" ? parent : FS.getPath(parent);
var parts = path.split("/").reverse();
while (parts.length) {
var part = parts.pop();
if (!part) continue;
var current = PATH.join2(parent, part);
try {
FS.mkdir(current);
} catch (e) {}
parent = current;
}
return current;
},
createFile: function(parent, name, properties, canRead, canWrite) {
var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
var mode = FS.getMode(canRead, canWrite);
return FS.create(path, mode);
},
createDataFile: function(parent, name, data, canRead, canWrite, canOwn) {
var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent;
var mode = FS.getMode(canRead, canWrite);
var node = FS.create(path, mode);
if (data) {
if (typeof data === "string") {
var arr = new Array(data.length);
for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
data = arr;
}
FS.chmod(node, mode | 146);
var stream = FS.open(node, "w");
FS.write(stream, data, 0, data.length, 0, canOwn);
FS.close(stream);
FS.chmod(node, mode);
}
return node;
},
createDevice: function(parent, name, input, output) {
var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
var mode = FS.getMode(!!input, !!output);
if (!FS.createDevice.major) FS.createDevice.major = 64;
var dev = FS.makedev(FS.createDevice.major++, 0);
FS.registerDevice(dev, {
open: function(stream) {
stream.seekable = false;
},
close: function(stream) {
if (output && output.buffer && output.buffer.length) {
output(10);
}
},
read: function(stream, buffer, offset, length, pos) {
var bytesRead = 0;
for (var i = 0; i < length; i++) {
var result;
try {
result = input();
} catch (e) {
throw new FS.ErrnoError(5);
}
if (result === undefined && bytesRead === 0) {
throw new FS.ErrnoError(11);
}
if (result === null || result === undefined) break;
bytesRead++;
buffer[offset + i] = result;
}
if (bytesRead) {
stream.node.timestamp = Date.now();
}
return bytesRead;
},
write: function(stream, buffer, offset, length, pos) {
for (var i = 0; i < length; i++) {
try {
output(buffer[offset + i]);
} catch (e) {
throw new FS.ErrnoError(5);
}
}
if (length) {
stream.node.timestamp = Date.now();
}
return i;
}
});
return FS.mkdev(path, mode, dev);
},
createLink: function(parent, name, target, canRead, canWrite) {
var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name);
return FS.symlink(target, path);
},
forceLoadFile: function(obj) {
if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
var success = true;
if (typeof XMLHttpRequest !== "undefined") {
throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
} else if (Module["read"]) {
try {
obj.contents = intArrayFromString(Module["read"](obj.url), true);
obj.usedBytes = obj.contents.length;
} catch (e) {
success = false;
}
} else {
throw new Error("Cannot load without read() or XMLHttpRequest.");
}
if (!success) ___setErrNo(5);
return success;
},
createLazyFile: function(parent, name, url, canRead, canWrite) {
function LazyUint8Array() {
this.lengthKnown = false;
this.chunks = [];
}
LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
if (idx > this.length - 1 || idx < 0) {
return undefined;
}
var chunkOffset = idx % this.chunkSize;
var chunkNum = idx / this.chunkSize | 0;
return this.getter(chunkNum)[chunkOffset];
};
LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
this.getter = getter;
};
LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
var xhr = new XMLHttpRequest();
xhr.open("HEAD", url, false);
xhr.send(null);
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
var datalength = Number(xhr.getResponseHeader("Content-length"));
var header;
var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
var chunkSize = 1024 * 1024;
if (!hasByteServing) chunkSize = datalength;
var doXHR = function(from, to) {
if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!");
var xhr = new XMLHttpRequest();
xhr.open("GET", url, false);
if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer";
if (xhr.overrideMimeType) {
xhr.overrideMimeType("text/plain; charset=x-user-defined");
}
xhr.send(null);
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
if (xhr.response !== undefined) {
return new Uint8Array(xhr.response || []);
} else {
return intArrayFromString(xhr.responseText || "", true);
}
};
var lazyArray = this;
lazyArray.setDataGetter(function(chunkNum) {
var start = chunkNum * chunkSize;
var end = (chunkNum + 1) * chunkSize - 1;
end = Math.min(end, datalength - 1);
if (typeof lazyArray.chunks[chunkNum] === "undefined") {
lazyArray.chunks[chunkNum] = doXHR(start, end);
}
if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!");
return lazyArray.chunks[chunkNum];
});
if (usesGzip || !datalength) {
chunkSize = datalength = 1;
datalength = this.getter(0).length;
chunkSize = datalength;
console.log("LazyFiles on gzip forces download of the whole file when length is accessed");
}
this._length = datalength;
this._chunkSize = chunkSize;
this.lengthKnown = true;
};
if (typeof XMLHttpRequest !== "undefined") {
if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
var lazyArray = new LazyUint8Array();
Object.defineProperties(lazyArray, {
length: {
get: function() {
if (!this.lengthKnown) {
this.cacheLength();
}
return this._length;
}
},
chunkSize: {
get: function() {
if (!this.lengthKnown) {
this.cacheLength();
}
return this._chunkSize;
}
}
});
var properties = {
isDevice: false,
contents: lazyArray
};
} else {
var properties = {
isDevice: false,
url: url
};
}
var node = FS.createFile(parent, name, properties, canRead, canWrite);
if (properties.contents) {
node.contents = properties.contents;
} else if (properties.url) {
node.contents = null;
node.url = properties.url;
}
Object.defineProperties(node, {
usedBytes: {
get: function() {
return this.contents.length;
}
}
});
var stream_ops = {};
var keys = Object.keys(node.stream_ops);
keys.forEach(function(key) {
var fn = node.stream_ops[key];
stream_ops[key] = function forceLoadLazyFile() {
if (!FS.forceLoadFile(node)) {
throw new FS.ErrnoError(5);
}
return fn.apply(null, arguments);
};
});
stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
if (!FS.forceLoadFile(node)) {
throw new FS.ErrnoError(5);
}
var contents = stream.node.contents;
if (position >= contents.length) return 0;
var size = Math.min(contents.length - position, length);
assert(size >= 0);
if (contents.slice) {
for (var i = 0; i < size; i++) {
buffer[offset + i] = contents[position + i];
}
} else {
for (var i = 0; i < size; i++) {
buffer[offset + i] = contents.get(position + i);
}
}
return size;
};
node.stream_ops = stream_ops;
return node;
},
createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
Browser.init();
var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
var dep = getUniqueRunDependency("cp " + fullname);
function processData(byteArray) {
function finish(byteArray) {
if (preFinish) preFinish();
if (!dontCreateFile) {
FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
}
if (onload) onload();
removeRunDependency(dep);
}
var handled = false;
Module["preloadPlugins"].forEach(function(plugin) {
if (handled) return;
if (plugin["canHandle"](fullname)) {
plugin["handle"](byteArray, fullname, finish, function() {
if (onerror) onerror();
removeRunDependency(dep);
});
handled = true;
}
});
if (!handled) finish(byteArray);
}
addRunDependency(dep);
if (typeof url == "string") {
Browser.asyncLoad(url, function(byteArray) {
processData(byteArray);
}, onerror);
} else {
processData(url);
}
},
indexedDB: function() {
return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
},
DB_NAME: function() {
return "EM_FS_" + window.location.pathname;
},
DB_VERSION: 20,
DB_STORE_NAME: "FILE_DATA",
saveFilesToDB: function(paths, onload, onerror) {
onload = onload || function() {};
onerror = onerror || function() {};
var indexedDB = FS.indexedDB();
try {
var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
} catch (e) {
return onerror(e);
}
openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
console.log("creating db");
var db = openRequest.result;
db.createObjectStore(FS.DB_STORE_NAME);
};
openRequest.onsuccess = function openRequest_onsuccess() {
var db = openRequest.result;
var transaction = db.transaction([ FS.DB_STORE_NAME ], "readwrite");
var files = transaction.objectStore(FS.DB_STORE_NAME);
var ok = 0, fail = 0, total = paths.length;
function finish() {
if (fail == 0) onload(); else onerror();
}
paths.forEach(function(path) {
var putRequest = files.put(FS.analyzePath(path).object.contents, path);
putRequest.onsuccess = function putRequest_onsuccess() {
ok++;
if (ok + fail == total) finish();
};
putRequest.onerror = function putRequest_onerror() {
fail++;
if (ok + fail == total) finish();
};
});
transaction.onerror = onerror;
};
openRequest.onerror = onerror;
},
loadFilesFromDB: function(paths, onload, onerror) {
onload = onload || function() {};
onerror = onerror || function() {};
var indexedDB = FS.indexedDB();
try {
var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
} catch (e) {
return onerror(e);
}
openRequest.onupgradeneeded = onerror;
openRequest.onsuccess = function openRequest_onsuccess() {
var db = openRequest.result;
try {
var transaction = db.transaction([ FS.DB_STORE_NAME ], "readonly");
} catch (e) {
onerror(e);
return;
}
var files = transaction.objectStore(FS.DB_STORE_NAME);
var ok = 0, fail = 0, total = paths.length;
function finish() {
if (fail == 0) onload(); else onerror();
}
paths.forEach(function(path) {
var getRequest = files.get(path);
getRequest.onsuccess = function getRequest_onsuccess() {
if (FS.analyzePath(path).exists) {
FS.unlink(path);
}
FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
ok++;
if (ok + fail == total) finish();
};
getRequest.onerror = function getRequest_onerror() {
fail++;
if (ok + fail == total) finish();
};
});
transaction.onerror = onerror;
};
openRequest.onerror = onerror;
}
};
function _emscripten_set_main_loop_timing(mode, value) {
Browser.mainLoop.timingMode = mode;
Browser.mainLoop.timingValue = value;
if (!Browser.mainLoop.func) {
return 1;
}
if (mode == 0) {
Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() {
var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now()) | 0;
setTimeout(Browser.mainLoop.runner, timeUntilNextTick);
};
Browser.mainLoop.method = "timeout";
} else if (mode == 1) {
Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() {
Browser.requestAnimationFrame(Browser.mainLoop.runner);
};
Browser.mainLoop.method = "rAF";
} else if (mode == 2) {
if (typeof setImmediate === "undefined") {
var setImmediates = [];
var emscriptenMainLoopMessageId = "setimmediate";
var Browser_setImmediate_messageHandler = function(event) {
if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) {
event.stopPropagation();
setImmediates.shift()();
}
};
addEventListener("message", Browser_setImmediate_messageHandler, true);
setImmediate = function Browser_emulated_setImmediate(func) {
setImmediates.push(func);
if (ENVIRONMENT_IS_WORKER) {
if (Module["setImmediates"] === undefined) Module["setImmediates"] = [];
Module["setImmediates"].push(func);
postMessage({
target: emscriptenMainLoopMessageId
});
} else postMessage(emscriptenMainLoopMessageId, "*");
};
}
Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() {
setImmediate(Browser.mainLoop.runner);
};
Browser.mainLoop.method = "immediate";
}
return 0;
}
function _emscripten_get_now() {
abort();
}
function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) {
Module["noExitRuntime"] = true;
assert(!Browser.mainLoop.func, "emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");
Browser.mainLoop.func = func;
Browser.mainLoop.arg = arg;
var browserIterationFunc;
if (typeof arg !== "undefined") {
browserIterationFunc = function() {
Module["dynCall_vi"](func, arg);
};
} else {
browserIterationFunc = function() {
Module["dynCall_v"](func);
};
}
var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
Browser.mainLoop.runner = function Browser_mainLoop_runner() {
if (ABORT) return;
if (Browser.mainLoop.queue.length > 0) {
var start = Date.now();
var blocker = Browser.mainLoop.queue.shift();
blocker.func(blocker.arg);
if (Browser.mainLoop.remainingBlockers) {
var remaining = Browser.mainLoop.remainingBlockers;
var next = remaining % 1 == 0 ? remaining - 1 : Math.floor(remaining);
if (blocker.counted) {
Browser.mainLoop.remainingBlockers = next;
} else {
next = next + .5;
Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9;
}
}
console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + " ms");
Browser.mainLoop.updateStatus();
if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
setTimeout(Browser.mainLoop.runner, 0);
return;
}
if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
Browser.mainLoop.scheduler();
return;
} else if (Browser.mainLoop.timingMode == 0) {
Browser.mainLoop.tickStartTime = _emscripten_get_now();
}
if (Browser.mainLoop.method === "timeout" && Module.ctx) {
err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");
Browser.mainLoop.method = "";
}
Browser.mainLoop.runIter(browserIterationFunc);
if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
if (typeof SDL === "object" && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
Browser.mainLoop.scheduler();
};
if (!noSetTiming) {
if (fps && fps > 0) _emscripten_set_main_loop_timing(0, 1e3 / fps); else _emscripten_set_main_loop_timing(1, 1);
Browser.mainLoop.scheduler();
}
if (simulateInfiniteLoop) {
throw "SimulateInfiniteLoop";
}
}
var Browser = {
mainLoop: {
scheduler: null,
method: "",
currentlyRunningMainloop: 0,
func: null,
arg: 0,
timingMode: 0,
timingValue: 0,
currentFrameNumber: 0,
queue: [],
pause: function() {
Browser.mainLoop.scheduler = null;
Browser.mainLoop.currentlyRunningMainloop++;
},
resume: function() {
Browser.mainLoop.currentlyRunningMainloop++;
var timingMode = Browser.mainLoop.timingMode;
var timingValue = Browser.mainLoop.timingValue;
var func = Browser.mainLoop.func;
Browser.mainLoop.func = null;
_emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true);
_emscripten_set_main_loop_timing(timingMode, timingValue);
Browser.mainLoop.scheduler();
},
updateStatus: function() {
if (Module["setStatus"]) {
var message = Module["statusMessage"] || "Please wait...";
var remaining = Browser.mainLoop.remainingBlockers;
var expected = Browser.mainLoop.expectedBlockers;
if (remaining) {
if (remaining < expected) {
Module["setStatus"](message + " (" + (expected - remaining) + "/" + expected + ")");
} else {
Module["setStatus"](message);
}
} else {
Module["setStatus"]("");
}
}
},
runIter: function(func) {
if (ABORT) return;
if (Module["preMainLoop"]) {
var preRet = Module["preMainLoop"]();
if (preRet === false) {
return;
}
}
try {
func();
} catch (e) {
if (e instanceof ExitStatus) {
return;
} else {
if (e && typeof e === "object" && e.stack) err("exception thrown: " + [ e, e.stack ]);
throw e;
}
}
if (Module["postMainLoop"]) Module["postMainLoop"]();
}
},
isFullscreen: false,
pointerLock: false,
moduleContextCreatedCallbacks: [],
workers: [],
init: function() {
if (!Module["preloadPlugins"]) Module["preloadPlugins"] = [];
if (Browser.initted) return;
Browser.initted = true;
try {
new Blob();
Browser.hasBlobConstructor = true;
} catch (e) {
Browser.hasBlobConstructor = false;
console.log("warning: no blob constructor, cannot create blobs with mimetypes");
}
Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : !Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null;
Browser.URLObject = typeof window != "undefined" ? window.URL ? window.URL : window.webkitURL : undefined;
if (!Module.noImageDecoding && typeof Browser.URLObject === "undefined") {
console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");
Module.noImageDecoding = true;
}
var imagePlugin = {};
imagePlugin["canHandle"] = function imagePlugin_canHandle(name) {
return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name);
};
imagePlugin["handle"] = function imagePlugin_handle(byteArray, name, onload, onerror) {
var b = null;
if (Browser.hasBlobConstructor) {
try {
b = new Blob([ byteArray ], {
type: Browser.getMimetype(name)
});
if (b.size !== byteArray.length) {
b = new Blob([ new Uint8Array(byteArray).buffer ], {
type: Browser.getMimetype(name)
});
}
} catch (e) {
warnOnce("Blob constructor present but fails: " + e + "; falling back to blob builder");
}
}
if (!b) {
var bb = new Browser.BlobBuilder();
bb.append(new Uint8Array(byteArray).buffer);
b = bb.getBlob();
}
var url = Browser.URLObject.createObjectURL(b);
var img = new Image();
img.onload = function img_onload() {
assert(img.complete, "Image " + name + " could not be decoded");
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
Module["preloadedImages"][name] = canvas;
Browser.URLObject.revokeObjectURL(url);
if (onload) onload(byteArray);
};
img.onerror = function img_onerror(event) {
console.log("Image " + url + " could not be decoded");
if (onerror) onerror();
};
img.src = url;
};
Module["preloadPlugins"].push(imagePlugin);
var audioPlugin = {};
audioPlugin["canHandle"] = function audioPlugin_canHandle(name) {
return !Module.noAudioDecoding && name.substr(-4) in {
".ogg": 1,
".wav": 1,
".mp3": 1
};
};
audioPlugin["handle"] = function audioPlugin_handle(byteArray, name, onload, onerror) {
var done = false;
function finish(audio) {
if (done) return;
done = true;
Module["preloadedAudios"][name] = audio;
if (onload) onload(byteArray);
}
function fail() {
if (done) return;
done = true;
Module["preloadedAudios"][name] = new Audio();
if (onerror) onerror();
}
if (Browser.hasBlobConstructor) {
try {
var b = new Blob([ byteArray ], {
type: Browser.getMimetype(name)
});
} catch (e) {
return fail();
}
var url = Browser.URLObject.createObjectURL(b);
var audio = new Audio();
audio.addEventListener("canplaythrough", function() {
finish(audio);
}, false);
audio.onerror = function audio_onerror(event) {
if (done) return;
console.log("warning: browser could not fully decode audio " + name + ", trying slower base64 approach");
function encode64(data) {
var BASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var PAD = "=";
var ret = "";
var leftchar = 0;
var leftbits = 0;
for (var i = 0; i < data.length; i++) {
leftchar = leftchar << 8 | data[i];
leftbits += 8;
while (leftbits >= 6) {
var curr = leftchar >> leftbits - 6 & 63;
leftbits -= 6;
ret += BASE[curr];
}
}
if (leftbits == 2) {
ret += BASE[(leftchar & 3) << 4];
ret += PAD + PAD;
} else if (leftbits == 4) {
ret += BASE[(leftchar & 15) << 2];
ret += PAD;
}
return ret;
}
audio.src = "data:audio/x-" + name.substr(-3) + ";base64," + encode64(byteArray);
finish(audio);
};
audio.src = url;
Browser.safeSetTimeout(function() {
finish(audio);
}, 1e4);
} else {
return fail();
}
};
Module["preloadPlugins"].push(audioPlugin);
function pointerLockChange() {
Browser.pointerLock = document["pointerLockElement"] === Module["canvas"] || document["mozPointerLockElement"] === Module["canvas"] || document["webkitPointerLockElement"] === Module["canvas"] || document["msPointerLockElement"] === Module["canvas"];
}
var canvas = Module["canvas"];
if (canvas) {
canvas.requestPointerLock = canvas["requestPointerLock"] || canvas["mozRequestPointerLock"] || canvas["webkitRequestPointerLock"] || canvas["msRequestPointerLock"] || function() {};
canvas.exitPointerLock = document["exitPointerLock"] || document["mozExitPointerLock"] || document["webkitExitPointerLock"] || document["msExitPointerLock"] || function() {};
canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
document.addEventListener("pointerlockchange", pointerLockChange, false);
document.addEventListener("mozpointerlockchange", pointerLockChange, false);
document.addEventListener("webkitpointerlockchange", pointerLockChange, false);
document.addEventListener("mspointerlockchange", pointerLockChange, false);
if (Module["elementPointerLock"]) {
canvas.addEventListener("click", function(ev) {
if (!Browser.pointerLock && Module["canvas"].requestPointerLock) {
Module["canvas"].requestPointerLock();
ev.preventDefault();
}
}, false);
}
}
},
createContext: function(canvas, useWebGL, setInModule, webGLContextAttributes) {
if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx;
var ctx;
var contextHandle;
if (useWebGL) {
var contextAttributes = {
antialias: false,
alpha: false,
majorVersion: 1
};
if (webGLContextAttributes) {
for (var attribute in webGLContextAttributes) {
contextAttributes[attribute] = webGLContextAttributes[attribute];
}
}
if (typeof GL !== "undefined") {
contextHandle = GL.createContext(canvas, contextAttributes);
if (contextHandle) {
ctx = GL.getContext(contextHandle).GLctx;
}
}
} else {
ctx = canvas.getContext("2d");
}
if (!ctx) return null;
if (setInModule) {
if (!useWebGL) assert(typeof GLctx === "undefined", "cannot set in module if GLctx is used, but we are a non-GL context that would replace it");
Module.ctx = ctx;
if (useWebGL) GL.makeContextCurrent(contextHandle);
Module.useWebGL = useWebGL;
Browser.moduleContextCreatedCallbacks.forEach(function(callback) {
callback();
});
Browser.init();
}
return ctx;
},
destroyContext: function(canvas, useWebGL, setInModule) {},
fullscreenHandlersInstalled: false,
lockPointer: undefined,
resizeCanvas: undefined,
requestFullscreen: function(lockPointer, resizeCanvas, vrDevice) {
lockPointer = false;
console.log("forcing lockPointer to false");
Browser.lockPointer = lockPointer;
Browser.resizeCanvas = resizeCanvas;
Browser.vrDevice = vrDevice;
if (typeof Browser.lockPointer === "undefined") Browser.lockPointer = false;
if (typeof Browser.resizeCanvas === "undefined") Browser.resizeCanvas = false;
if (typeof Browser.vrDevice === "undefined") Browser.vrDevice = null;
var canvas = Module["canvas"];
function fullscreenChange() {
Browser.isFullscreen = false;
var canvasContainer = canvas.parentNode;
if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvasContainer) {
canvas.exitFullscreen = document["exitFullscreen"] || document["cancelFullScreen"] || document["mozCancelFullScreen"] || document["msExitFullscreen"] || document["webkitCancelFullScreen"] || function() {};
canvas.exitFullscreen = canvas.exitFullscreen.bind(document);
Browser.isFullscreen = true;
if (Browser.resizeCanvas) {
Browser.setFullscreenCanvasSize();
} else {
Browser.updateCanvasDimensions(canvas);
}
} else {
canvasContainer.parentNode.insertBefore(canvas, canvasContainer);
canvasContainer.parentNode.removeChild(canvasContainer);
if (Browser.resizeCanvas) {
Browser.setWindowedCanvasSize();
} else {
Browser.updateCanvasDimensions(canvas);
}
}
if (Module["onFullScreen"]) Module["onFullScreen"](Browser.isFullscreen);
if (Module["onFullscreen"]) Module["onFullscreen"](Browser.isFullscreen);
}
if (!Browser.fullscreenHandlersInstalled) {
Browser.fullscreenHandlersInstalled = true;
document.addEventListener("fullscreenchange", fullscreenChange, false);
document.addEventListener("mozfullscreenchange", fullscreenChange, false);
document.addEventListener("webkitfullscreenchange", fullscreenChange, false);
document.addEventListener("MSFullscreenChange", fullscreenChange, false);
}
var canvasContainer = document.createElement("div");
canvas.parentNode.insertBefore(canvasContainer, canvas);
canvasContainer.appendChild(canvas);
canvasContainer.requestFullscreen = canvasContainer["requestFullscreen"] || canvasContainer["mozRequestFullScreen"] || canvasContainer["msRequestFullscreen"] || (canvasContainer["webkitRequestFullscreen"] ? function() {
canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]);
} : null) || (canvasContainer["webkitRequestFullScreen"] ? function() {
canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]);
} : null);
if (vrDevice) {
canvasContainer.requestFullscreen({
vrDisplay: vrDevice
});
} else {
canvasContainer.requestFullscreen();
}
},
requestFullScreen: function(lockPointer, resizeCanvas, vrDevice) {
err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");
Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) {
return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
};
return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
},
nextRAF: 0,
fakeRequestAnimationFrame: function(func) {
var now = Date.now();
if (Browser.nextRAF === 0) {
Browser.nextRAF = now + 1e3 / 60;
} else {
while (now + 2 >= Browser.nextRAF) {
Browser.nextRAF += 1e3 / 60;
}
}
var delay = Math.max(Browser.nextRAF - now, 0);
setTimeout(func, delay);
},
requestAnimationFrame: function requestAnimationFrame(func) {
if (typeof window === "undefined") {
Browser.fakeRequestAnimationFrame(func);
} else {
if (!window.requestAnimationFrame) {
window.requestAnimationFrame = window["requestAnimationFrame"] || window["mozRequestAnimationFrame"] || window["webkitRequestAnimationFrame"] || window["msRequestAnimationFrame"] || window["oRequestAnimationFrame"] || Browser.fakeRequestAnimationFrame;
}
window.requestAnimationFrame(func);
}
},
safeCallback: function(func) {
return function() {
if (!ABORT) return func.apply(null, arguments);
};
},
allowAsyncCallbacks: true,
queuedAsyncCallbacks: [],
pauseAsyncCallbacks: function() {
Browser.allowAsyncCallbacks = false;
},
resumeAsyncCallbacks: function() {
Browser.allowAsyncCallbacks = true;
if (Browser.queuedAsyncCallbacks.length > 0) {
var callbacks = Browser.queuedAsyncCallbacks;
Browser.queuedAsyncCallbacks = [];
callbacks.forEach(function(func) {
func();
});
}
},
safeRequestAnimationFrame: function(func) {
return Browser.requestAnimationFrame(function() {
if (ABORT) return;
if (Browser.allowAsyncCallbacks) {
func();
} else {
Browser.queuedAsyncCallbacks.push(func);
}
});
},
safeSetTimeout: function(func, timeout) {
Module["noExitRuntime"] = true;
return setTimeout(function() {
if (ABORT) return;
if (Browser.allowAsyncCallbacks) {
func();
} else {
Browser.queuedAsyncCallbacks.push(func);
}
}, timeout);
},
safeSetInterval: function(func, timeout) {
Module["noExitRuntime"] = true;
return setInterval(function() {
if (ABORT) return;
if (Browser.allowAsyncCallbacks) {
func();
}
}, timeout);
},
getMimetype: function(name) {
return {
"jpg": "image/jpeg",
"jpeg": "image/jpeg",
"png": "image/png",
"bmp": "image/bmp",
"ogg": "audio/ogg",
"wav": "audio/wav",
"mp3": "audio/mpeg"
}[name.substr(name.lastIndexOf(".") + 1)];
},
getUserMedia: function(func) {
if (!window.getUserMedia) {
window.getUserMedia = navigator["getUserMedia"] || navigator["mozGetUserMedia"];
}
window.getUserMedia(func);
},
getMovementX: function(event) {
return event["movementX"] || event["mozMovementX"] || event["webkitMovementX"] || 0;
},
getMovementY: function(event) {
return event["movementY"] || event["mozMovementY"] || event["webkitMovementY"] || 0;
},
getMouseWheelDelta: function(event) {
var delta = 0;
switch (event.type) {
case "DOMMouseScroll":
delta = event.detail;
break;
case "mousewheel":
delta = event.wheelDelta;
break;
case "wheel":
delta = event["deltaY"];
break;
default:
throw "unrecognized mouse wheel event: " + event.type;
}
return delta;
},
mouseX: 0,
mouseY: 0,
mouseMovementX: 0,
mouseMovementY: 0,
touches: {},
lastTouches: {},
calculateMouseEvent: function(event) {
if (Browser.pointerLock) {
if (event.type != "mousemove" && "mozMovementX" in event) {
Browser.mouseMovementX = Browser.mouseMovementY = 0;
} else {
Browser.mouseMovementX = Browser.getMovementX(event);
Browser.mouseMovementY = Browser.getMovementY(event);
}
if (typeof SDL != "undefined") {
Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
} else {
Browser.mouseX += Browser.mouseMovementX;
Browser.mouseY += Browser.mouseMovementY;
}
} else {
var rect = Module["canvas"].getBoundingClientRect();
var cw = Module["canvas"].width;
var ch = Module["canvas"].height;
var scrollX = typeof window.scrollX !== "undefined" ? window.scrollX : window.pageXOffset;
var scrollY = typeof window.scrollY !== "undefined" ? window.scrollY : window.pageYOffset;
if (event.type === "touchstart" || event.type === "touchend" || event.type === "touchmove") {
var touch = event.touch;
if (touch === undefined) {
return;
}
var adjustedX = touch.pageX - (scrollX + rect.left);
var adjustedY = touch.pageY - (scrollY + rect.top);
adjustedX = adjustedX * (cw / rect.width);
adjustedY = adjustedY * (ch / rect.height);
var coords = {
x: adjustedX,
y: adjustedY
};
if (event.type === "touchstart") {
Browser.lastTouches[touch.identifier] = coords;
Browser.touches[touch.identifier] = coords;
} else if (event.type === "touchend" || event.type === "touchmove") {
var last = Browser.touches[touch.identifier];
if (!last) last = coords;
Browser.lastTouches[touch.identifier] = last;
Browser.touches[touch.identifier] = coords;
}
return;
}
var x = event.pageX - (scrollX + rect.left);
var y = event.pageY - (scrollY + rect.top);
x = x * (cw / rect.width);
y = y * (ch / rect.height);
Browser.mouseMovementX = x - Browser.mouseX;
Browser.mouseMovementY = y - Browser.mouseY;
Browser.mouseX = x;
Browser.mouseY = y;
}
},
asyncLoad: function(url, onload, onerror, noRunDep) {
var dep = !noRunDep ? getUniqueRunDependency("al " + url) : "";
Module["readAsync"](url, function(arrayBuffer) {
assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');
onload(new Uint8Array(arrayBuffer));
if (dep) removeRunDependency(dep);
}, function(event) {
if (onerror) {
onerror();
} else {
throw 'Loading data file "' + url + '" failed.';
}
});
if (dep) addRunDependency(dep);
},
resizeListeners: [],
updateResizeListeners: function() {
var canvas = Module["canvas"];
Browser.resizeListeners.forEach(function(listener) {
listener(canvas.width, canvas.height);
});
},
setCanvasSize: function(width, height, noUpdates) {
var canvas = Module["canvas"];
Browser.updateCanvasDimensions(canvas, width, height);
if (!noUpdates) Browser.updateResizeListeners();
},
windowedWidth: 0,
windowedHeight: 0,
setFullscreenCanvasSize: function() {
if (typeof SDL != "undefined") {
var flags = HEAPU32[SDL.screen >> 2];
flags = flags | 8388608;
HEAP32[SDL.screen >> 2] = flags;
}
Browser.updateCanvasDimensions(Module["canvas"]);
Browser.updateResizeListeners();
},
setWindowedCanvasSize: function() {
if (typeof SDL != "undefined") {
var flags = HEAPU32[SDL.screen >> 2];
flags = flags & ~8388608;
HEAP32[SDL.screen >> 2] = flags;
}
Browser.updateCanvasDimensions(Module["canvas"]);
Browser.updateResizeListeners();
},
updateCanvasDimensions: function(canvas, wNative, hNative) {
if (wNative && hNative) {
canvas.widthNative = wNative;
canvas.heightNative = hNative;
} else {
wNative = canvas.widthNative;
hNative = canvas.heightNative;
}
var w = wNative;
var h = hNative;
if (Module["forcedAspectRatio"] && Module["forcedAspectRatio"] > 0) {
if (w / h < Module["forcedAspectRatio"]) {
w = Math.round(h * Module["forcedAspectRatio"]);
} else {
h = Math.round(w / Module["forcedAspectRatio"]);
}
}
if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvas.parentNode && typeof screen != "undefined") {
var factor = Math.min(screen.width / w, screen.height / h);
w = Math.round(w * factor);
h = Math.round(h * factor);
}
if (Browser.resizeCanvas) {
if (canvas.width != w) canvas.width = w;
if (canvas.height != h) canvas.height = h;
if (typeof canvas.style != "undefined") {
canvas.style.removeProperty("width");
canvas.style.removeProperty("height");
}
} else {
if (canvas.width != wNative) canvas.width = wNative;
if (canvas.height != hNative) canvas.height = hNative;
if (typeof canvas.style != "undefined") {
if (w != wNative || h != hNative) {
canvas.style.setProperty("width", w + "px", "important");
canvas.style.setProperty("height", h + "px", "important");
} else {
canvas.style.removeProperty("width");
canvas.style.removeProperty("height");
}
}
}
},
wgetRequests: {},
nextWgetRequestHandle: 0,
getNextWgetRequestHandle: function() {
var handle = Browser.nextWgetRequestHandle;
Browser.nextWgetRequestHandle++;
return handle;
}
};
function _SDL_GetTicks() {
return Date.now() - SDL.startTime | 0;
}
function _SDL_LockSurface(surf) {
var surfData = SDL.surfaces[surf];
surfData.locked++;
if (surfData.locked > 1) return 0;
if (!surfData.buffer) {
surfData.buffer = _malloc(surfData.width * surfData.height * 4);
HEAP32[surf + 20 >> 2] = surfData.buffer;
}
HEAP32[surf + 20 >> 2] = surfData.buffer;
if (surf == SDL.screen && Module.screenIsReadOnly && surfData.image) return 0;
if (SDL.defaults.discardOnLock) {
if (!surfData.image) {
surfData.image = surfData.ctx.createImageData(surfData.width, surfData.height);
}
if (!SDL.defaults.opaqueFrontBuffer) return;
} else {
surfData.image = surfData.ctx.getImageData(0, 0, surfData.width, surfData.height);
}
if (surf == SDL.screen && SDL.defaults.opaqueFrontBuffer) {
var data = surfData.image.data;
var num = data.length;
for (var i = 0; i < num / 4; i++) {
data[i * 4 + 3] = 255;
}
}
if (SDL.defaults.copyOnLock && !SDL.defaults.discardOnLock) {
if (surfData.isFlagSet(2097152)) {
throw "CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set" + new Error().stack;
} else {
HEAPU8.set(surfData.image.data, surfData.buffer);
}
}
return 0;
}
var SDL = {
defaults: {
width: 320,
height: 200,
copyOnLock: false,
discardOnLock: true,
opaqueFrontBuffer: false
},
version: null,
surfaces: {},
canvasPool: [],
events: [],
fonts: [ null ],
audios: [ null ],
rwops: [ null ],
music: {
audio: null,
volume: 1
},
mixerFrequency: 22050,
mixerFormat: 32784,
mixerNumChannels: 2,
mixerChunkSize: 1024,
channelMinimumNumber: 0,
GL: false,
glAttributes: {
0: 3,
1: 3,
2: 2,
3: 0,
4: 0,
5: 1,
6: 16,
7: 0,
8: 0,
9: 0,
10: 0,
11: 0,
12: 0,
13: 0,
14: 0,
15: 1,
16: 0,
17: 0,
18: 0
},
keyboardState: null,
keyboardMap: {},
canRequestFullscreen: false,
isRequestingFullscreen: false,
textInput: false,
startTime: null,
initFlags: 0,
buttonState: 0,
modState: 0,
DOMButtons: [ 0, 0, 0 ],
DOMEventToSDLEvent: {},
TOUCH_DEFAULT_ID: 0,
eventHandler: null,
eventHandlerContext: null,
eventHandlerTemp: 0,
keyCodes: {
16: 1249,
17: 1248,
18: 1250,
20: 1081,
33: 1099,
34: 1102,
35: 1101,
36: 1098,
37: 1104,
38: 1106,
39: 1103,
40: 1105,
44: 316,
45: 1097,
46: 127,
91: 1251,
93: 1125,
96: 1122,
97: 1113,
98: 1114,
99: 1115,
100: 1116,
101: 1117,
102: 1118,
103: 1119,
104: 1120,
105: 1121,
106: 1109,
107: 1111,
109: 1110,
110: 1123,
111: 1108,
112: 1082,
113: 1083,
114: 1084,
115: 1085,
116: 1086,
117: 1087,
118: 1088,
119: 1089,
120: 1090,
121: 1091,
122: 1092,
123: 1093,
124: 1128,
125: 1129,
126: 1130,
127: 1131,
128: 1132,
129: 1133,
130: 1134,
131: 1135,
132: 1136,
133: 1137,
134: 1138,
135: 1139,
144: 1107,
160: 94,
161: 33,
162: 34,
163: 35,
164: 36,
165: 37,
166: 38,
167: 95,
168: 40,
169: 41,
170: 42,
171: 43,
172: 124,
173: 45,
174: 123,
175: 125,
176: 126,
181: 127,
182: 129,
183: 128,
188: 44,
190: 46,
191: 47,
192: 96,
219: 91,
220: 92,
221: 93,
222: 39,
224: 1251
},
scanCodes: {
8: 42,
9: 43,
13: 40,
27: 41,
32: 44,
35: 204,
39: 53,
44: 54,
46: 55,
47: 56,
48: 39,
49: 30,
50: 31,
51: 32,
52: 33,
53: 34,
54: 35,
55: 36,
56: 37,
57: 38,
58: 203,
59: 51,
61: 46,
91: 47,
92: 49,
93: 48,
96: 52,
97: 4,
98: 5,
99: 6,
100: 7,
101: 8,
102: 9,
103: 10,
104: 11,
105: 12,
106: 13,
107: 14,
108: 15,
109: 16,
110: 17,
111: 18,
112: 19,
113: 20,
114: 21,
115: 22,
116: 23,
117: 24,
118: 25,
119: 26,
120: 27,
121: 28,
122: 29,
127: 76,
305: 224,
308: 226,
316: 70
},
loadRect: function(rect) {
return {
x: HEAP32[rect + 0 >> 2],
y: HEAP32[rect + 4 >> 2],
w: HEAP32[rect + 8 >> 2],
h: HEAP32[rect + 12 >> 2]
};
},
updateRect: function(rect, r) {
HEAP32[rect >> 2] = r.x;
HEAP32[rect + 4 >> 2] = r.y;
HEAP32[rect + 8 >> 2] = r.w;
HEAP32[rect + 12 >> 2] = r.h;
},
intersectionOfRects: function(first, second) {
var leftX = Math.max(first.x, second.x);
var leftY = Math.max(first.y, second.y);
var rightX = Math.min(first.x + first.w, second.x + second.w);
var rightY = Math.min(first.y + first.h, second.y + second.h);
return {
x: leftX,
y: leftY,
w: Math.max(leftX, rightX) - leftX,
h: Math.max(leftY, rightY) - leftY
};
},
checkPixelFormat: function(fmt) {},
loadColorToCSSRGB: function(color) {
var rgba = HEAP32[color >> 2];
return "rgb(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + ")";
},
loadColorToCSSRGBA: function(color) {
var rgba = HEAP32[color >> 2];
return "rgba(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + "," + (rgba >> 24 & 255) / 255 + ")";
},
translateColorToCSSRGBA: function(rgba) {
return "rgba(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + "," + (rgba >>> 24) / 255 + ")";
},
translateRGBAToCSSRGBA: function(r, g, b, a) {
return "rgba(" + (r & 255) + "," + (g & 255) + "," + (b & 255) + "," + (a & 255) / 255 + ")";
},
translateRGBAToColor: function(r, g, b, a) {
return r | g << 8 | b << 16 | a << 24;
},
makeSurface: function(width, height, flags, usePageCanvas, source, rmask, gmask, bmask, amask) {
flags = flags || 0;
var is_SDL_HWSURFACE = flags & 1;
var is_SDL_HWPALETTE = flags & 2097152;
var is_SDL_OPENGL = flags & 67108864;
var surf = _malloc(60);
var pixelFormat = _malloc(44);
var bpp = is_SDL_HWPALETTE ? 1 : 4;
var buffer = 0;
if (!is_SDL_HWSURFACE && !is_SDL_OPENGL) {
buffer = _malloc(width * height * 4);
}
HEAP32[surf >> 2] = flags;
HEAP32[surf + 4 >> 2] = pixelFormat;
HEAP32[surf + 8 >> 2] = width;
HEAP32[surf + 12 >> 2] = height;
HEAP32[surf + 16 >> 2] = width * bpp;
HEAP32[surf + 20 >> 2] = buffer;
HEAP32[surf + 36 >> 2] = 0;
HEAP32[surf + 40 >> 2] = 0;
HEAP32[surf + 44 >> 2] = Module["canvas"].width;
HEAP32[surf + 48 >> 2] = Module["canvas"].height;
HEAP32[surf + 56 >> 2] = 1;
HEAP32[pixelFormat >> 2] = -2042224636;
HEAP32[pixelFormat + 4 >> 2] = 0;
HEAP8[pixelFormat + 8 >> 0] = bpp * 8;
HEAP8[pixelFormat + 9 >> 0] = bpp;
HEAP32[pixelFormat + 12 >> 2] = rmask || 255;
HEAP32[pixelFormat + 16 >> 2] = gmask || 65280;
HEAP32[pixelFormat + 20 >> 2] = bmask || 16711680;
HEAP32[pixelFormat + 24 >> 2] = amask || 4278190080;
SDL.GL = SDL.GL || is_SDL_OPENGL;
var canvas;
if (!usePageCanvas) {
if (SDL.canvasPool.length > 0) {
canvas = SDL.canvasPool.pop();
} else {
canvas = document.createElement("canvas");
}
canvas.width = width;
canvas.height = height;
} else {
canvas = Module["canvas"];
}
var webGLContextAttributes = {
antialias: SDL.glAttributes[13] != 0 && SDL.glAttributes[14] > 1,
depth: SDL.glAttributes[6] > 0,
stencil: SDL.glAttributes[7] > 0,
alpha: SDL.glAttributes[3] > 0
};
var ctx = Browser.createContext(canvas, is_SDL_OPENGL, usePageCanvas, webGLContextAttributes);
SDL.surfaces[surf] = {
width: width,
height: height,
canvas: canvas,
ctx: ctx,
surf: surf,
buffer: buffer,
pixelFormat: pixelFormat,
alpha: 255,
flags: flags,
locked: 0,
usePageCanvas: usePageCanvas,
source: source,
isFlagSet: function(flag) {
return flags & flag;
}
};
return surf;
},
copyIndexedColorData: function(surfData, rX, rY, rW, rH) {
if (!surfData.colors) {
return;
}
var fullWidth = Module["canvas"].width;
var fullHeight = Module["canvas"].height;
var startX = rX || 0;
var startY = rY || 0;
var endX = (rW || fullWidth - startX) + startX;
var endY = (rH || fullHeight - startY) + startY;
var buffer = surfData.buffer;
if (!surfData.image.data32) {
surfData.image.data32 = new Uint32Array(surfData.image.data.buffer);
}
var data32 = surfData.image.data32;
var colors32 = surfData.colors32;
for (var y = startY; y < endY; ++y) {
var base = y * fullWidth;
for (var x = startX; x < endX; ++x) {
data32[base + x] = colors32[HEAPU8[buffer + base + x >> 0]];
}
}
},
freeSurface: function(surf) {
var refcountPointer = surf + 56;
var refcount = HEAP32[refcountPointer >> 2];
if (refcount > 1) {
HEAP32[refcountPointer >> 2] = refcount - 1;
return;
}
var info = SDL.surfaces[surf];
if (!info.usePageCanvas && info.canvas) SDL.canvasPool.push(info.canvas);
if (info.buffer) _free(info.buffer);
_free(info.pixelFormat);
_free(surf);
SDL.surfaces[surf] = null;
if (surf === SDL.screen) {
SDL.screen = null;
}
},
blitSurface: function(src, srcrect, dst, dstrect, scale) {
var srcData = SDL.surfaces[src];
var dstData = SDL.surfaces[dst];
var sr, dr;
if (srcrect) {
sr = SDL.loadRect(srcrect);
} else {
sr = {
x: 0,
y: 0,
w: srcData.width,
h: srcData.height
};
}
if (dstrect) {
dr = SDL.loadRect(dstrect);
} else {
dr = {
x: 0,
y: 0,
w: srcData.width,
h: srcData.height
};
}
if (dstData.clipRect) {
var widthScale = !scale || sr.w === 0 ? 1 : sr.w / dr.w;
var heightScale = !scale || sr.h === 0 ? 1 : sr.h / dr.h;
dr = SDL.intersectionOfRects(dstData.clipRect, dr);
sr.w = dr.w * widthScale;
sr.h = dr.h * heightScale;
if (dstrect) {
SDL.updateRect(dstrect, dr);
}
}
var blitw, blith;
if (scale) {
blitw = dr.w;
blith = dr.h;
} else {
blitw = sr.w;
blith = sr.h;
}
if (sr.w === 0 || sr.h === 0 || blitw === 0 || blith === 0) {
return 0;
}
var oldAlpha = dstData.ctx.globalAlpha;
dstData.ctx.globalAlpha = srcData.alpha / 255;
dstData.ctx.drawImage(srcData.canvas, sr.x, sr.y, sr.w, sr.h, dr.x, dr.y, blitw, blith);
dstData.ctx.globalAlpha = oldAlpha;
if (dst != SDL.screen) {
warnOnce("WARNING: copying canvas data to memory for compatibility");
_SDL_LockSurface(dst);
dstData.locked--;
}
return 0;
},
downFingers: {},
savedKeydown: null,
receiveEvent: function(event) {
function unpressAllPressedKeys() {
for (var code in SDL.keyboardMap) {
SDL.events.push({
type: "keyup",
keyCode: SDL.keyboardMap[code]
});
}
}
switch (event.type) {
case "touchstart":
case "touchmove":
{
event.preventDefault();
var touches = [];
if (event.type === "touchstart") {
for (var i = 0; i < event.touches.length; i++) {
var touch = event.touches[i];
if (SDL.downFingers[touch.identifier] != true) {
SDL.downFingers[touch.identifier] = true;
touches.push(touch);
}
}
} else {
touches = event.touches;
}
var firstTouch = touches[0];
if (firstTouch) {
if (event.type == "touchstart") {
SDL.DOMButtons[0] = 1;
}
var mouseEventType;
switch (event.type) {
case "touchstart":
mouseEventType = "mousedown";
break;
case "touchmove":
mouseEventType = "mousemove";
break;
}
var mouseEvent = {
type: mouseEventType,
button: 0,
pageX: firstTouch.clientX,
pageY: firstTouch.clientY
};
SDL.events.push(mouseEvent);
}
for (var i = 0; i < touches.length; i++) {
var touch = touches[i];
SDL.events.push({
type: event.type,
touch: touch
});
}
break;
}
case "touchend":
{
event.preventDefault();
for (var i = 0; i < event.changedTouches.length; i++) {
var touch = event.changedTouches[i];
if (SDL.downFingers[touch.identifier] === true) {
delete SDL.downFingers[touch.identifier];
}
}
var mouseEvent = {
type: "mouseup",
button: 0,
pageX: event.changedTouches[0].clientX,
pageY: event.changedTouches[0].clientY
};
SDL.DOMButtons[0] = 0;
SDL.events.push(mouseEvent);
for (var i = 0; i < event.changedTouches.length; i++) {
var touch = event.changedTouches[i];
SDL.events.push({
type: "touchend",
touch: touch
});
}
break;
}
case "DOMMouseScroll":
case "mousewheel":
case "wheel":
var delta = -Browser.getMouseWheelDelta(event);
delta = delta == 0 ? 0 : delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1);
var button = delta > 0 ? 3 : 4;
SDL.events.push({
type: "mousedown",
button: button,
pageX: event.pageX,
pageY: event.pageY
});
SDL.events.push({
type: "mouseup",
button: button,
pageX: event.pageX,
pageY: event.pageY
});
SDL.events.push({
type: "wheel",
deltaX: 0,
deltaY: delta
});
event.preventDefault();
break;
case "mousemove":
if (SDL.DOMButtons[0] === 1) {
SDL.events.push({
type: "touchmove",
touch: {
identifier: 0,
deviceID: -1,
pageX: event.pageX,
pageY: event.pageY
}
});
}
if (Browser.pointerLock) {
if ("mozMovementX" in event) {
event["movementX"] = event["mozMovementX"];
event["movementY"] = event["mozMovementY"];
}
if (event["movementX"] == 0 && event["movementY"] == 0) {
event.preventDefault();
return;
}
}
case "keydown":
case "keyup":
case "keypress":
case "mousedown":
case "mouseup":
if (event.type !== "keydown" || !SDL.unicode && !SDL.textInput || (event.keyCode === 8 || event.keyCode === 9)) {}
if (event.type == "mousedown") {
SDL.DOMButtons[event.button] = 1;
SDL.events.push({
type: "touchstart",
touch: {
identifier: 0,
deviceID: -1,
pageX: event.pageX,
pageY: event.pageY
}
});
} else if (event.type == "mouseup") {
if (!SDL.DOMButtons[event.button]) {
return;
}
SDL.events.push({
type: "touchend",
touch: {
identifier: 0,
deviceID: -1,
pageX: event.pageX,
pageY: event.pageY
}
});
SDL.DOMButtons[event.button] = 0;
}
if (event.type === "keydown" || event.type === "mousedown") {
SDL.canRequestFullscreen = true;
} else if (event.type === "keyup" || event.type === "mouseup") {
if (SDL.isRequestingFullscreen) {
Module["requestFullscreen"](false, true);
SDL.isRequestingFullscreen = false;
}
SDL.canRequestFullscreen = false;
}
if (event.type === "keypress" && SDL.savedKeydown) {
SDL.savedKeydown.keypressCharCode = event.charCode;
SDL.savedKeydown = null;
} else if (event.type === "keydown") {
SDL.savedKeydown = event;
}
if (event.type !== "keypress" || SDL.textInput) {
SDL.events.push(event);
}
break;
case "mouseout":
for (var i = 0; i < 3; i++) {
if (SDL.DOMButtons[i]) {
SDL.events.push({
type: "mouseup",
button: i,
pageX: event.pageX,
pageY: event.pageY
});
SDL.DOMButtons[i] = 0;
}
}
event.preventDefault();
break;
case "focus":
SDL.events.push(event);
event.preventDefault();
break;
case "blur":
SDL.events.push(event);
unpressAllPressedKeys();
event.preventDefault();
break;
case "visibilitychange":
SDL.events.push({
type: "visibilitychange",
visible: !document.hidden
});
unpressAllPressedKeys();
event.preventDefault();
break;
case "unload":
if (Browser.mainLoop.runner) {
SDL.events.push(event);
Browser.mainLoop.runner();
}
return;
case "resize":
SDL.events.push(event);
if (event.preventDefault) {
event.preventDefault();
}
break;
}
if (SDL.events.length >= 1e4) {
err("SDL event queue full, dropping events");
SDL.events = SDL.events.slice(0, 1e4);
}
SDL.flushEventsToHandler();
return;
},
lookupKeyCodeForEvent: function(event) {
var code = event.keyCode;
if (code >= 65 && code <= 90) {
code += 32;
} else {
code = SDL.keyCodes[event.keyCode] || event.keyCode;
if (event.location === KeyboardEvent.DOM_KEY_LOCATION_RIGHT && code >= (224 | 1 << 10) && code <= (227 | 1 << 10)) {
code += 4;
}
}
return code;
},
handleEvent: function(event) {
if (event.handled) return;
event.handled = true;
switch (event.type) {
case "touchstart":
case "touchend":
case "touchmove":
{
Browser.calculateMouseEvent(event);
break;
}
case "keydown":
case "keyup":
{
var down = event.type === "keydown";
var code = SDL.lookupKeyCodeForEvent(event);
HEAP8[SDL.keyboardState + code >> 0] = down;
SDL.modState = (HEAP8[SDL.keyboardState + 1248 >> 0] ? 64 : 0) | (HEAP8[SDL.keyboardState + 1249 >> 0] ? 1 : 0) | (HEAP8[SDL.keyboardState + 1250 >> 0] ? 256 : 0) | (HEAP8[SDL.keyboardState + 1252 >> 0] ? 128 : 0) | (HEAP8[SDL.keyboardState + 1253 >> 0] ? 2 : 0) | (HEAP8[SDL.keyboardState + 1254 >> 0] ? 512 : 0);
if (down) {
SDL.keyboardMap[code] = event.keyCode;
} else {
delete SDL.keyboardMap[code];
}
break;
}
case "mousedown":
case "mouseup":
if (event.type == "mousedown") {
SDL.buttonState |= 1 << event.button;
} else if (event.type == "mouseup") {
SDL.buttonState &= ~(1 << event.button);
}
case "mousemove":
{
Browser.calculateMouseEvent(event);
break;
}
}
},
flushEventsToHandler: function() {
if (!SDL.eventHandler) return;
while (SDL.pollEvent(SDL.eventHandlerTemp)) {
Module["dynCall_iii"](SDL.eventHandler, SDL.eventHandlerContext, SDL.eventHandlerTemp);
}
},
pollEvent: function(ptr) {
if (SDL.initFlags & 512 && SDL.joystickEventState) {
SDL.queryJoysticks();
}
if (ptr) {
while (SDL.events.length > 0) {
if (SDL.makeCEvent(SDL.events.shift(), ptr) !== false) return 1;
}
return 0;
} else {
return SDL.events.length > 0;
}
},
makeCEvent: function(event, ptr) {
if (typeof event === "number") {
_memcpy(ptr, event, 28);
_free(event);
return;
}
SDL.handleEvent(event);
switch (event.type) {
case "keydown":
case "keyup":
{
var down = event.type === "keydown";
var key = SDL.lookupKeyCodeForEvent(event);
var scan;
if (key >= 1024) {
scan = key - 1024;
} else {
scan = SDL.scanCodes[key] || key;
}
HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
HEAP8[ptr + 8 >> 0] = down ? 1 : 0;
HEAP8[ptr + 9 >> 0] = 0;
HEAP32[ptr + 12 >> 2] = scan;
HEAP32[ptr + 16 >> 2] = key;
HEAP16[ptr + 20 >> 1] = SDL.modState;
HEAP32[ptr + 24 >> 2] = event.keypressCharCode || key;
break;
}
case "keypress":
{
HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
var cStr = intArrayFromString(String.fromCharCode(event.charCode));
for (var i = 0; i < cStr.length; ++i) {
HEAP8[ptr + (8 + i) >> 0] = cStr[i];
}
break;
}
case "mousedown":
case "mouseup":
case "mousemove":
{
if (event.type != "mousemove") {
var down = event.type === "mousedown";
HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
HEAP32[ptr + 4 >> 2] = 0;
HEAP32[ptr + 8 >> 2] = 0;
HEAP32[ptr + 12 >> 2] = 0;
HEAP8[ptr + 16 >> 0] = event.button + 1;
HEAP8[ptr + 17 >> 0] = down ? 1 : 0;
HEAP32[ptr + 20 >> 2] = Browser.mouseX;
HEAP32[ptr + 24 >> 2] = Browser.mouseY;
} else {
HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
HEAP32[ptr + 4 >> 2] = 0;
HEAP32[ptr + 8 >> 2] = 0;
HEAP32[ptr + 12 >> 2] = 0;
HEAP32[ptr + 16 >> 2] = SDL.buttonState;
HEAP32[ptr + 20 >> 2] = Browser.mouseX;
HEAP32[ptr + 24 >> 2] = Browser.mouseY;
HEAP32[ptr + 28 >> 2] = Browser.mouseMovementX;
HEAP32[ptr + 32 >> 2] = Browser.mouseMovementY;
}
break;
}
case "wheel":
{
HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
HEAP32[ptr + 16 >> 2] = event.deltaX;
HEAP32[ptr + 20 >> 2] = event.deltaY;
break;
}
case "touchstart":
case "touchend":
case "touchmove":
{
var touch = event.touch;
if (!Browser.touches[touch.identifier]) break;
var w = Module["canvas"].width;
var h = Module["canvas"].height;
var x = Browser.touches[touch.identifier].x / w;
var y = Browser.touches[touch.identifier].y / h;
var lx = Browser.lastTouches[touch.identifier].x / w;
var ly = Browser.lastTouches[touch.identifier].y / h;
var dx = x - lx;
var dy = y - ly;
if (touch["deviceID"] === undefined) touch.deviceID = SDL.TOUCH_DEFAULT_ID;
if (dx === 0 && dy === 0 && event.type === "touchmove") return false;
HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
HEAP32[ptr + 4 >> 2] = _SDL_GetTicks();
tempI64 = [ touch.deviceID >>> 0, (tempDouble = touch.deviceID, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0) ],
HEAP32[ptr + 8 >> 2] = tempI64[0], HEAP32[ptr + 12 >> 2] = tempI64[1];
tempI64 = [ touch.identifier >>> 0, (tempDouble = touch.identifier, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0) ],
HEAP32[ptr + 16 >> 2] = tempI64[0], HEAP32[ptr + 20 >> 2] = tempI64[1];
HEAPF32[ptr + 24 >> 2] = x;
HEAPF32[ptr + 28 >> 2] = y;
HEAPF32[ptr + 32 >> 2] = dx;
HEAPF32[ptr + 36 >> 2] = dy;
if (touch.force !== undefined) {
HEAPF32[ptr + 40 >> 2] = touch.force;
} else {
HEAPF32[ptr + 40 >> 2] = event.type == "touchend" ? 0 : 1;
}
break;
}
case "unload":
{
HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
break;
}
case "resize":
{
HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
HEAP32[ptr + 4 >> 2] = event.w;
HEAP32[ptr + 8 >> 2] = event.h;
break;
}
case "joystick_button_up":
case "joystick_button_down":
{
var state = event.type === "joystick_button_up" ? 0 : 1;
HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
HEAP8[ptr + 4 >> 0] = event.index;
HEAP8[ptr + 5 >> 0] = event.button;
HEAP8[ptr + 6 >> 0] = state;
break;
}
case "joystick_axis_motion":
{
HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
HEAP8[ptr + 4 >> 0] = event.index;
HEAP8[ptr + 5 >> 0] = event.axis;
HEAP32[ptr + 8 >> 2] = SDL.joystickAxisValueConversion(event.value);
break;
}
case "focus":
{
var SDL_WINDOWEVENT_FOCUS_GAINED = 12;
HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
HEAP32[ptr + 4 >> 2] = 0;
HEAP8[ptr + 8 >> 0] = SDL_WINDOWEVENT_FOCUS_GAINED;
break;
}
case "blur":
{
var SDL_WINDOWEVENT_FOCUS_LOST = 13;
HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
HEAP32[ptr + 4 >> 2] = 0;
HEAP8[ptr + 8 >> 0] = SDL_WINDOWEVENT_FOCUS_LOST;
break;
}
case "visibilitychange":
{
var SDL_WINDOWEVENT_SHOWN = 1;
var SDL_WINDOWEVENT_HIDDEN = 2;
var visibilityEventID = event.visible ? SDL_WINDOWEVENT_SHOWN : SDL_WINDOWEVENT_HIDDEN;
HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type];
HEAP32[ptr + 4 >> 2] = 0;
HEAP8[ptr + 8 >> 0] = visibilityEventID;
break;
}
default:
throw "Unhandled SDL event: " + event.type;
}
},
makeFontString: function(height, fontName) {
if (fontName.charAt(0) != "'" && fontName.charAt(0) != '"') {
fontName = '"' + fontName + '"';
}
return height + "px " + fontName + ", serif";
},
estimateTextWidth: function(fontData, text) {
var h = fontData.size;
var fontString = SDL.makeFontString(h, fontData.name);
var tempCtx = SDL.ttfContext;
tempCtx.save();
tempCtx.font = fontString;
var ret = tempCtx.measureText(text).width | 0;
tempCtx.restore();
return ret;
},
allocateChannels: function(num) {
if (SDL.numChannels && SDL.numChannels >= num && num != 0) return;
SDL.numChannels = num;
SDL.channels = [];
for (var i = 0; i < num; i++) {
SDL.channels[i] = {
audio: null,
volume: 1
};
}
},
setGetVolume: function(info, volume) {
if (!info) return 0;
var ret = info.volume * 128;
if (volume != -1) {
info.volume = Math.min(Math.max(volume, 0), 128) / 128;
if (info.audio) {
try {
info.audio.volume = info.volume;
if (info.audio.webAudioGainNode) info.audio.webAudioGainNode["gain"]["value"] = info.volume;
} catch (e) {
err("setGetVolume failed to set audio volume: " + e);
}
}
}
return ret;
},
setPannerPosition: function(info, x, y, z) {
if (!info) return;
if (info.audio) {
if (info.audio.webAudioPannerNode) {
info.audio.webAudioPannerNode["setPosition"](x, y, z);
}
}
},
playWebAudio: function(audio) {
if (!audio) return;
if (audio.webAudioNode) return;
if (!SDL.webAudioAvailable()) return;
try {
var webAudio = audio.resource.webAudio;
audio.paused = false;
if (!webAudio.decodedBuffer) {
if (webAudio.onDecodeComplete === undefined) abort("Cannot play back audio object that was not loaded");
webAudio.onDecodeComplete.push(function() {
if (!audio.paused) SDL.playWebAudio(audio);
});
return;
}
audio.webAudioNode = SDL.audioContext["createBufferSource"]();
audio.webAudioNode["buffer"] = webAudio.decodedBuffer;
audio.webAudioNode["loop"] = audio.loop;
audio.webAudioNode["onended"] = function() {
audio["onended"]();
};
audio.webAudioPannerNode = SDL.audioContext["createPanner"]();
audio.webAudioPannerNode["setPosition"](0, 0, -.5);
audio.webAudioPannerNode["panningModel"] = "equalpower";
audio.webAudioGainNode = SDL.audioContext["createGain"]();
audio.webAudioGainNode["gain"]["value"] = audio.volume;
audio.webAudioNode["connect"](audio.webAudioPannerNode);
audio.webAudioPannerNode["connect"](audio.webAudioGainNode);
audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);
audio.webAudioNode["start"](0, audio.currentPosition);
audio.startTime = SDL.audioContext["currentTime"] - audio.currentPosition;
} catch (e) {
err("playWebAudio failed: " + e);
}
},
pauseWebAudio: function(audio) {
if (!audio) return;
if (audio.webAudioNode) {
try {
audio.currentPosition = (SDL.audioContext["currentTime"] - audio.startTime) % audio.resource.webAudio.decodedBuffer.duration;
audio.webAudioNode["onended"] = undefined;
audio.webAudioNode.stop(0);
audio.webAudioNode = undefined;
} catch (e) {
err("pauseWebAudio failed: " + e);
}
}
audio.paused = true;
},
openAudioContext: function() {
if (!SDL.audioContext) {
if (typeof AudioContext !== "undefined") SDL.audioContext = new AudioContext(); else if (typeof webkitAudioContext !== "undefined") SDL.audioContext = new webkitAudioContext();
}
},
webAudioAvailable: function() {
return !!SDL.audioContext;
},
fillWebAudioBufferFromHeap: function(heapPtr, sizeSamplesPerChannel, dstAudioBuffer) {
var numChannels = SDL.audio.channels;
for (var c = 0; c < numChannels; ++c) {
var channelData = dstAudioBuffer["getChannelData"](c);
if (channelData.length != sizeSamplesPerChannel) {
throw "Web Audio output buffer length mismatch! Destination size: " + channelData.length + " samples vs expected " + sizeSamplesPerChannel + " samples!";
}
if (SDL.audio.format == 32784) {
for (var j = 0; j < sizeSamplesPerChannel; ++j) {
channelData[j] = HEAP16[heapPtr + (j * numChannels + c) * 2 >> 1] / 32768;
}
} else if (SDL.audio.format == 8) {
for (var j = 0; j < sizeSamplesPerChannel; ++j) {
var v = HEAP8[heapPtr + (j * numChannels + c) >> 0];
channelData[j] = (v >= 0 ? v - 128 : v + 128) / 128;
}
} else if (SDL.audio.format == 33056) {
for (var j = 0; j < sizeSamplesPerChannel; ++j) {
channelData[j] = HEAPF32[heapPtr + (j * numChannels + c) * 4 >> 2];
}
} else {
throw "Invalid SDL audio format " + SDL.audio.format + "!";
}
}
},
debugSurface: function(surfData) {
console.log("dumping surface " + [ surfData.surf, surfData.source, surfData.width, surfData.height ]);
var image = surfData.ctx.getImageData(0, 0, surfData.width, surfData.height);
var data = image.data;
var num = Math.min(surfData.width, surfData.height);
for (var i = 0; i < num; i++) {
console.log(" diagonal " + i + ":" + [ data[i * surfData.width * 4 + i * 4 + 0], data[i * surfData.width * 4 + i * 4 + 1], data[i * surfData.width * 4 + i * 4 + 2], data[i * surfData.width * 4 + i * 4 + 3] ]);
}
},
joystickEventState: 1,
lastJoystickState: {},
joystickNamePool: {},
recordJoystickState: function(joystick, state) {
var buttons = new Array(state.buttons.length);
for (var i = 0; i < state.buttons.length; i++) {
buttons[i] = SDL.getJoystickButtonState(state.buttons[i]);
}
SDL.lastJoystickState[joystick] = {
buttons: buttons,
axes: state.axes.slice(0),
timestamp: state.timestamp,
index: state.index,
id: state.id
};
},
getJoystickButtonState: function(button) {
if (typeof button === "object") {
return button["pressed"];
} else {
return button > 0;
}
},
queryJoysticks: function() {
for (var joystick in SDL.lastJoystickState) {
var state = SDL.getGamepad(joystick - 1);
var prevState = SDL.lastJoystickState[joystick];
if (typeof state === "undefined") return;
if (state === null) return;
if (typeof state.timestamp !== "number" || state.timestamp !== prevState.timestamp || !state.timestamp) {
var i;
for (i = 0; i < state.buttons.length; i++) {
var buttonState = SDL.getJoystickButtonState(state.buttons[i]);
if (buttonState !== prevState.buttons[i]) {
SDL.events.push({
type: buttonState ? "joystick_button_down" : "joystick_button_up",
joystick: joystick,
index: joystick - 1,
button: i
});
}
}
for (i = 0; i < state.axes.length; i++) {
if (state.axes[i] !== prevState.axes[i]) {
SDL.events.push({
type: "joystick_axis_motion",
joystick: joystick,
index: joystick - 1,
axis: i,
value: state.axes[i]
});
}
}
SDL.recordJoystickState(joystick, state);
}
}
},
joystickAxisValueConversion: function(value) {
value = Math.min(1, Math.max(value, -1));
return Math.ceil((value + 1) * 32767.5 - 32768);
},
getGamepads: function() {
var fcn = navigator.getGamepads || navigator.webkitGamepads || navigator.mozGamepads || navigator.gamepads || navigator.webkitGetGamepads;
if (fcn !== undefined) {
return fcn.apply(navigator);
} else {
return [];
}
},
getGamepad: function(deviceIndex) {
var gamepads = SDL.getGamepads();
if (gamepads.length > deviceIndex && deviceIndex >= 0) {
return gamepads[deviceIndex];
}
return null;
}
};
function _SDL_ClearError() {}
function _SDL_GetError() {
if (!SDL.errorMessage) {
SDL.errorMessage = allocate(intArrayFromString("unknown SDL-emscripten error"), "i8", ALLOC_NORMAL);
}
return SDL.errorMessage;
}
function _SDL_GetModState() {
return SDL.modState;
}
function _SDL_GetMouseState(x, y) {
if (x) HEAP32[x >> 2] = Browser.mouseX;
if (y) HEAP32[y >> 2] = Browser.mouseY;
return SDL.buttonState;
}
function _SDL_GetWindowSize(window, width, height) {
var w = Module["canvas"].width;
var h = Module["canvas"].height;
if (width) HEAP32[width >> 2] = w;
if (height) HEAP32[height >> 2] = h;
}
function _SDL_Init(initFlags) {
SDL.startTime = Date.now();
SDL.initFlags = initFlags;
if (!Module["doNotCaptureKeyboard"]) {
var keyboardListeningElement = Module["keyboardListeningElement"] || document;
keyboardListeningElement.addEventListener("keydown", SDL.receiveEvent);
keyboardListeningElement.addEventListener("keyup", SDL.receiveEvent);
keyboardListeningElement.addEventListener("keypress", SDL.receiveEvent);
window.addEventListener("focus", SDL.receiveEvent);
window.addEventListener("blur", SDL.receiveEvent);
document.addEventListener("visibilitychange", SDL.receiveEvent);
}
window.addEventListener("unload", SDL.receiveEvent);
SDL.keyboardState = _malloc(65536);
_memset(SDL.keyboardState, 0, 65536);
SDL.DOMEventToSDLEvent["keydown"] = 768;
SDL.DOMEventToSDLEvent["keyup"] = 769;
SDL.DOMEventToSDLEvent["keypress"] = 771;
SDL.DOMEventToSDLEvent["mousedown"] = 1025;
SDL.DOMEventToSDLEvent["mouseup"] = 1026;
SDL.DOMEventToSDLEvent["mousemove"] = 1024;
SDL.DOMEventToSDLEvent["wheel"] = 1027;
SDL.DOMEventToSDLEvent["touchstart"] = 1792;
SDL.DOMEventToSDLEvent["touchend"] = 1793;
SDL.DOMEventToSDLEvent["touchmove"] = 1794;
SDL.DOMEventToSDLEvent["unload"] = 256;
SDL.DOMEventToSDLEvent["resize"] = 28673;
SDL.DOMEventToSDLEvent["visibilitychange"] = 512;
SDL.DOMEventToSDLEvent["focus"] = 512;
SDL.DOMEventToSDLEvent["blur"] = 512;
SDL.DOMEventToSDLEvent["joystick_axis_motion"] = 1536;
SDL.DOMEventToSDLEvent["joystick_button_down"] = 1539;
SDL.DOMEventToSDLEvent["joystick_button_up"] = 1540;
return 0;
}
function _SDL_LockAudio() {}
function _SDL_PollEvent(ptr) {
return SDL.pollEvent(ptr);
}
var GL = {
counter: 1,
lastError: 0,
buffers: [],
mappedBuffers: {},
programs: [],
framebuffers: [],
renderbuffers: [],
textures: [],
uniforms: [],
shaders: [],
vaos: [],
contexts: {},
currentContext: null,
offscreenCanvases: {},
timerQueriesEXT: [],
programInfos: {},
stringCache: {},
unpackAlignment: 4,
init: function() {
GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);
for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) {
GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i + 1);
}
},
recordError: function recordError(errorCode) {
if (!GL.lastError) {
GL.lastError = errorCode;
}
},
getNewId: function(table) {
var ret = GL.counter++;
for (var i = table.length; i < ret; i++) {
table[i] = null;
}
return ret;
},
MINI_TEMP_BUFFER_SIZE: 256,
miniTempBuffer: null,
miniTempBufferViews: [ 0 ],
getSource: function(shader, count, string, length) {
var source = "";
for (var i = 0; i < count; ++i) {
var len = length ? HEAP32[length + i * 4 >> 2] : -1;
source += UTF8ToString(HEAP32[string + i * 4 >> 2], len < 0 ? undefined : len);
}
return source;
},
createContext: function(canvas, webGLContextAttributes) {
var ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes);
return ctx && GL.registerContext(ctx, webGLContextAttributes);
},
registerContext: function(ctx, webGLContextAttributes) {
var handle = _malloc(8);
var context = {
handle: handle,
attributes: webGLContextAttributes,
version: webGLContextAttributes.majorVersion,
GLctx: ctx
};
if (ctx.canvas) ctx.canvas.GLctxObject = context;
GL.contexts[handle] = context;
if (typeof webGLContextAttributes.enableExtensionsByDefault === "undefined" || webGLContextAttributes.enableExtensionsByDefault) {
GL.initExtensions(context);
}
return handle;
},
makeContextCurrent: function(contextHandle) {
GL.currentContext = GL.contexts[contextHandle];
Module.ctx = GLctx = GL.currentContext && GL.currentContext.GLctx;
return !(contextHandle && !GLctx);
},
getContext: function(contextHandle) {
return GL.contexts[contextHandle];
},
deleteContext: function(contextHandle) {
if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null;
if (typeof JSEvents === "object") JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);
if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined;
_free(GL.contexts[contextHandle]);
GL.contexts[contextHandle] = null;
},
initExtensions: function(context) {
if (!context) context = GL.currentContext;
if (context.initExtensionsDone) return;
context.initExtensionsDone = true;
var GLctx = context.GLctx;
if (context.version < 2) {
var instancedArraysExt = GLctx.getExtension("ANGLE_instanced_arrays");
if (instancedArraysExt) {
GLctx["vertexAttribDivisor"] = function(index, divisor) {
instancedArraysExt["vertexAttribDivisorANGLE"](index, divisor);
};
GLctx["drawArraysInstanced"] = function(mode, first, count, primcount) {
instancedArraysExt["drawArraysInstancedANGLE"](mode, first, count, primcount);
};
GLctx["drawElementsInstanced"] = function(mode, count, type, indices, primcount) {
instancedArraysExt["drawElementsInstancedANGLE"](mode, count, type, indices, primcount);
};
}
var vaoExt = GLctx.getExtension("OES_vertex_array_object");
if (vaoExt) {
GLctx["createVertexArray"] = function() {
return vaoExt["createVertexArrayOES"]();
};
GLctx["deleteVertexArray"] = function(vao) {
vaoExt["deleteVertexArrayOES"](vao);
};
GLctx["bindVertexArray"] = function(vao) {
vaoExt["bindVertexArrayOES"](vao);
};
GLctx["isVertexArray"] = function(vao) {
return vaoExt["isVertexArrayOES"](vao);
};
}
var drawBuffersExt = GLctx.getExtension("WEBGL_draw_buffers");
if (drawBuffersExt) {
GLctx["drawBuffers"] = function(n, bufs) {
drawBuffersExt["drawBuffersWEBGL"](n, bufs);
};
}
}
GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query");
var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", "OES_element_index_uint", "EXT_texture_filter_anisotropic", "EXT_frag_depth", "WEBGL_draw_buffers", "ANGLE_instanced_arrays", "OES_texture_float_linear", "OES_texture_half_float_linear", "EXT_blend_minmax", "EXT_shader_texture_lod", "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", "EXT_sRGB", "WEBGL_compressed_texture_etc1", "EXT_disjoint_timer_query", "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_astc", "EXT_color_buffer_float", "WEBGL_compressed_texture_s3tc_srgb", "EXT_disjoint_timer_query_webgl2" ];
var exts = GLctx.getSupportedExtensions();
if (exts && exts.length > 0) {
GLctx.getSupportedExtensions().forEach(function(ext) {
if (automaticallyEnabledExtensions.indexOf(ext) != -1) {
GLctx.getExtension(ext);
}
});
}
},
populateUniformTable: function(program) {
var p = GL.programs[program];
var ptable = GL.programInfos[program] = {
uniforms: {},
maxUniformLength: 0,
maxAttributeLength: -1,
maxUniformBlockNameLength: -1
};
var utable = ptable.uniforms;
var numUniforms = GLctx.getProgramParameter(p, 35718);
for (var i = 0; i < numUniforms; ++i) {
var u = GLctx.getActiveUniform(p, i);
var name = u.name;
ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length + 1);
var ls = name.lastIndexOf("[");
if (ls > 0) {
name = name.slice(0, ls);
}
var loc = GLctx.getUniformLocation(p, name);
if (loc) {
var id = GL.getNewId(GL.uniforms);
utable[name] = [ u.size, id ];
GL.uniforms[id] = loc;
for (var j = 1; j < u.size; ++j) {
var n = name + "[" + j + "]";
loc = GLctx.getUniformLocation(p, n);
id = GL.getNewId(GL.uniforms);
GL.uniforms[id] = loc;
}
}
}
}
};
function _SDL_SetVideoMode(width, height, depth, flags) {
[ "touchstart", "touchend", "touchmove", "mousedown", "mouseup", "mousemove", "DOMMouseScroll", "mousewheel", "wheel", "mouseout" ].forEach(function(event) {
Module["canvas"].addEventListener(event, SDL.receiveEvent, true);
});
var canvas = Module["canvas"];
if (width == 0 && height == 0) {
width = canvas.width;
height = canvas.height;
}
if (!SDL.addedResizeListener) {
SDL.addedResizeListener = true;
Browser.resizeListeners.push(function(w, h) {
if (!SDL.settingVideoMode) {
SDL.receiveEvent({
type: "resize",
w: w,
h: h
});
}
});
}
SDL.settingVideoMode = true;
Browser.setCanvasSize(width, height);
SDL.settingVideoMode = false;
if (SDL.screen) {
SDL.freeSurface(SDL.screen);
assert(!SDL.screen);
}
if (SDL.GL) flags = flags | 67108864;
SDL.screen = SDL.makeSurface(width, height, flags, true, "screen");
return SDL.screen;
}
function _SDL_UnlockAudio() {}
function _SDL_UnlockSurface(surf) {
assert(!SDL.GL);
var surfData = SDL.surfaces[surf];
if (!surfData.locked || --surfData.locked > 0) {
return;
}
if (surfData.isFlagSet(2097152)) {
SDL.copyIndexedColorData(surfData);
} else if (!surfData.colors) {
var data = surfData.image.data;
var buffer = surfData.buffer;
assert(buffer % 4 == 0, "Invalid buffer offset: " + buffer);
var src = buffer >> 2;
var dst = 0;
var isScreen = surf == SDL.screen;
var num;
if (typeof CanvasPixelArray !== "undefined" && data instanceof CanvasPixelArray) {
num = data.length;
while (dst < num) {
var val = HEAP32[src];
data[dst] = val & 255;
data[dst + 1] = val >> 8 & 255;
data[dst + 2] = val >> 16 & 255;
data[dst + 3] = isScreen ? 255 : val >> 24 & 255;
src++;
dst += 4;
}
} else {
var data32 = new Uint32Array(data.buffer);
if (isScreen && SDL.defaults.opaqueFrontBuffer) {
num = data32.length;
data32.set(HEAP32.subarray(src, src + num));
var data8 = new Uint8Array(data.buffer);
var i = 3;
var j = i + 4 * num;
if (num % 8 == 0) {
while (i < j) {
data8[i] = 255;
i = i + 4 | 0;
data8[i] = 255;
i = i + 4 | 0;
data8[i] = 255;
i = i + 4 | 0;
data8[i] = 255;
i = i + 4 | 0;
data8[i] = 255;
i = i + 4 | 0;
data8[i] = 255;
i = i + 4 | 0;
data8[i] = 255;
i = i + 4 | 0;
data8[i] = 255;
i = i + 4 | 0;
}
} else {
while (i < j) {
data8[i] = 255;
i = i + 4 | 0;
}
}
} else {
data32.set(HEAP32.subarray(src, src + data32.length));
}
}
} else {
var width = Module["canvas"].width;
var height = Module["canvas"].height;
var s = surfData.buffer;
var data = surfData.image.data;
var colors = surfData.colors;
for (var y = 0; y < height; y++) {
var base = y * width * 4;
for (var x = 0; x < width; x++) {
var val = HEAPU8[s++ >> 0] * 4;
var start = base + x * 4;
data[start] = colors[val];
data[start + 1] = colors[val + 1];
data[start + 2] = colors[val + 2];
}
s += width * 3;
}
}
surfData.ctx.putImageData(surfData.image, 0, 0);
}
var ENV = {};
function ___buildEnvironment(environ) {
var MAX_ENV_VALUES = 64;
var TOTAL_ENV_SIZE = 1024;
var poolPtr;
var envPtr;
if (!___buildEnvironment.called) {
___buildEnvironment.called = true;
ENV["USER"] = ENV["LOGNAME"] = "web_user";
ENV["PATH"] = "/";
ENV["PWD"] = "/";
ENV["HOME"] = "/home/web_user";
ENV["LANG"] = "C.UTF-8";
ENV["_"] = Module["thisProgram"];
poolPtr = getMemory(TOTAL_ENV_SIZE);
envPtr = getMemory(MAX_ENV_VALUES * 4);
HEAP32[envPtr >> 2] = poolPtr;
HEAP32[environ >> 2] = envPtr;
} else {
envPtr = HEAP32[environ >> 2];
poolPtr = HEAP32[envPtr >> 2];
}
var strings = [];
var totalSize = 0;
for (var key in ENV) {
if (typeof ENV[key] === "string") {
var line = key + "=" + ENV[key];
strings.push(line);
totalSize += line.length;
}
}
if (totalSize > TOTAL_ENV_SIZE) {
throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");
}
var ptrSize = 4;
for (var i = 0; i < strings.length; i++) {
var line = strings[i];
writeAsciiToMemory(line, poolPtr);
HEAP32[envPtr + i * ptrSize >> 2] = poolPtr;
poolPtr += line.length + 1;
}
HEAP32[envPtr + strings.length * ptrSize >> 2] = 0;
}
function ___lock() {}
var ERRNO_CODES = {
EPERM: 1,
ENOENT: 2,
ESRCH: 3,
EINTR: 4,
EIO: 5,
ENXIO: 6,
E2BIG: 7,
ENOEXEC: 8,
EBADF: 9,
ECHILD: 10,
EAGAIN: 11,
EWOULDBLOCK: 11,
ENOMEM: 12,
EACCES: 13,
EFAULT: 14,
ENOTBLK: 15,
EBUSY: 16,
EEXIST: 17,
EXDEV: 18,
ENODEV: 19,
ENOTDIR: 20,
EISDIR: 21,
EINVAL: 22,
ENFILE: 23,
EMFILE: 24,
ENOTTY: 25,
ETXTBSY: 26,
EFBIG: 27,
ENOSPC: 28,
ESPIPE: 29,
EROFS: 30,
EMLINK: 31,
EPIPE: 32,
EDOM: 33,
ERANGE: 34,
ENOMSG: 42,
EIDRM: 43,
ECHRNG: 44,
EL2NSYNC: 45,
EL3HLT: 46,
EL3RST: 47,
ELNRNG: 48,
EUNATCH: 49,
ENOCSI: 50,
EL2HLT: 51,
EDEADLK: 35,
ENOLCK: 37,
EBADE: 52,
EBADR: 53,
EXFULL: 54,
ENOANO: 55,
EBADRQC: 56,
EBADSLT: 57,
EDEADLOCK: 35,
EBFONT: 59,
ENOSTR: 60,
ENODATA: 61,
ETIME: 62,
ENOSR: 63,
ENONET: 64,
ENOPKG: 65,
EREMOTE: 66,
ENOLINK: 67,
EADV: 68,
ESRMNT: 69,
ECOMM: 70,
EPROTO: 71,
EMULTIHOP: 72,
EDOTDOT: 73,
EBADMSG: 74,
ENOTUNIQ: 76,
EBADFD: 77,
EREMCHG: 78,
ELIBACC: 79,
ELIBBAD: 80,
ELIBSCN: 81,
ELIBMAX: 82,
ELIBEXEC: 83,
ENOSYS: 38,
ENOTEMPTY: 39,
ENAMETOOLONG: 36,
ELOOP: 40,
EOPNOTSUPP: 95,
EPFNOSUPPORT: 96,
ECONNRESET: 104,
ENOBUFS: 105,
EAFNOSUPPORT: 97,
EPROTOTYPE: 91,
ENOTSOCK: 88,
ENOPROTOOPT: 92,
ESHUTDOWN: 108,
ECONNREFUSED: 111,
EADDRINUSE: 98,
ECONNABORTED: 103,
ENETUNREACH: 101,
ENETDOWN: 100,
ETIMEDOUT: 110,
EHOSTDOWN: 112,
EHOSTUNREACH: 113,
EINPROGRESS: 115,
EALREADY: 114,
EDESTADDRREQ: 89,
EMSGSIZE: 90,
EPROTONOSUPPORT: 93,
ESOCKTNOSUPPORT: 94,
EADDRNOTAVAIL: 99,
ENETRESET: 102,
EISCONN: 106,
ENOTCONN: 107,
ETOOMANYREFS: 109,
EUSERS: 87,
EDQUOT: 122,
ESTALE: 116,
ENOTSUP: 95,
ENOMEDIUM: 123,
EILSEQ: 84,
EOVERFLOW: 75,
ECANCELED: 125,
ENOTRECOVERABLE: 131,
EOWNERDEAD: 130,
ESTRPIPE: 86
};
var SYSCALLS = {
DEFAULT_POLLMASK: 5,
mappings: {},
umask: 511,
calculateAt: function(dirfd, path) {
if (path[0] !== "/") {
var dir;
if (dirfd === -100) {
dir = FS.cwd();
} else {
var dirstream = FS.getStream(dirfd);
if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
dir = dirstream.path;
}
path = PATH.join2(dir, path);
}
return path;
},
doStat: function(func, path, buf) {
try {
var stat = func(path);
} catch (e) {
if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
return -ERRNO_CODES.ENOTDIR;
}
throw e;
}
HEAP32[buf >> 2] = stat.dev;
HEAP32[buf + 4 >> 2] = 0;
HEAP32[buf + 8 >> 2] = stat.ino;
HEAP32[buf + 12 >> 2] = stat.mode;
HEAP32[buf + 16 >> 2] = stat.nlink;
HEAP32[buf + 20 >> 2] = stat.uid;
HEAP32[buf + 24 >> 2] = stat.gid;
HEAP32[buf + 28 >> 2] = stat.rdev;
HEAP32[buf + 32 >> 2] = 0;
HEAP32[buf + 36 >> 2] = stat.size;
HEAP32[buf + 40 >> 2] = 4096;
HEAP32[buf + 44 >> 2] = stat.blocks;
HEAP32[buf + 48 >> 2] = stat.atime.getTime() / 1e3 | 0;
HEAP32[buf + 52 >> 2] = 0;
HEAP32[buf + 56 >> 2] = stat.mtime.getTime() / 1e3 | 0;
HEAP32[buf + 60 >> 2] = 0;
HEAP32[buf + 64 >> 2] = stat.ctime.getTime() / 1e3 | 0;
HEAP32[buf + 68 >> 2] = 0;
HEAP32[buf + 72 >> 2] = stat.ino;
return 0;
},
doMsync: function(addr, stream, len, flags) {
var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));
FS.msync(stream, buffer, 0, len, flags);
},
doMkdir: function(path, mode) {
path = PATH.normalize(path);
if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1);
FS.mkdir(path, mode, 0);
return 0;
},
doMknod: function(path, mode, dev) {
switch (mode & 61440) {
case 32768:
case 8192:
case 24576:
case 4096:
case 49152:
break;
default:
return -ERRNO_CODES.EINVAL;
}
FS.mknod(path, mode, dev);
return 0;
},
doReadlink: function(path, buf, bufsize) {
if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
var ret = FS.readlink(path);
var len = Math.min(bufsize, lengthBytesUTF8(ret));
var endChar = HEAP8[buf + len];
stringToUTF8(ret, buf, bufsize + 1);
HEAP8[buf + len] = endChar;
return len;
},
doAccess: function(path, amode) {
if (amode & ~7) {
return -ERRNO_CODES.EINVAL;
}
var node;
var lookup = FS.lookupPath(path, {
follow: true
});
node = lookup.node;
var perms = "";
if (amode & 4) perms += "r";
if (amode & 2) perms += "w";
if (amode & 1) perms += "x";
if (perms && FS.nodePermissions(node, perms)) {
return -ERRNO_CODES.EACCES;
}
return 0;
},
doDup: function(path, flags, suggestFD) {
var suggest = FS.getStream(suggestFD);
if (suggest) FS.close(suggest);
return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
},
doReadv: function(stream, iov, iovcnt, offset) {
var ret = 0;
for (var i = 0; i < iovcnt; i++) {
var ptr = HEAP32[iov + i * 8 >> 2];
var len = HEAP32[iov + (i * 8 + 4) >> 2];
var curr = FS.read(stream, HEAP8, ptr, len, offset);
if (curr < 0) return -1;
ret += curr;
if (curr < len) break;
}
return ret;
},
doWritev: function(stream, iov, iovcnt, offset) {
var ret = 0;
for (var i = 0; i < iovcnt; i++) {
var ptr = HEAP32[iov + i * 8 >> 2];
var len = HEAP32[iov + (i * 8 + 4) >> 2];
var curr = FS.write(stream, HEAP8, ptr, len, offset);
if (curr < 0) return -1;
ret += curr;
}
return ret;
},
varargs: 0,
get: function(varargs) {
SYSCALLS.varargs += 4;
var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];
return ret;
},
getStr: function() {
var ret = UTF8ToString(SYSCALLS.get());
return ret;
},
getStreamFromFD: function() {
var stream = FS.getStream(SYSCALLS.get());
if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
return stream;
},
getSocketFromFD: function() {
var socket = SOCKFS.getSocket(SYSCALLS.get());
if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
return socket;
},
getSocketAddress: function(allowNull) {
var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get();
if (allowNull && addrp === 0) return null;
var info = __read_sockaddr(addrp, addrlen);
if (info.errno) throw new FS.ErrnoError(info.errno);
info.addr = DNS.lookup_addr(info.addr) || info.addr;
return info;
},
get64: function() {
var low = SYSCALLS.get(), high = SYSCALLS.get();
return low;
},
getZero: function() {
SYSCALLS.get();
}
};
function ___syscall140(which, varargs) {
SYSCALLS.varargs = varargs;
try {
var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();
var offset = offset_low;
FS.llseek(stream, offset, whence);
HEAP32[result >> 2] = stream.position;
if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;
return 0;
} catch (e) {
if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall145(which, varargs) {
SYSCALLS.varargs = varargs;
try {
var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
return SYSCALLS.doReadv(stream, iov, iovcnt);
} catch (e) {
if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall146(which, varargs) {
SYSCALLS.varargs = varargs;
try {
var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
return SYSCALLS.doWritev(stream, iov, iovcnt);
} catch (e) {
if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall195(which, varargs) {
SYSCALLS.varargs = varargs;
try {
var path = SYSCALLS.getStr(), buf = SYSCALLS.get();
return SYSCALLS.doStat(FS.stat, path, buf);
} catch (e) {
if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall220(which, varargs) {
SYSCALLS.varargs = varargs;
try {
var stream = SYSCALLS.getStreamFromFD(), dirp = SYSCALLS.get(), count = SYSCALLS.get();
if (!stream.getdents) {
stream.getdents = FS.readdir(stream.path);
}
var pos = 0;
while (stream.getdents.length > 0 && pos + 268 <= count) {
var id;
var type;
var name = stream.getdents.pop();
if (name[0] === ".") {
id = 1;
type = 4;
} else {
var child = FS.lookupNode(stream.node, name);
id = child.id;
type = FS.isChrdev(child.mode) ? 2 : FS.isDir(child.mode) ? 4 : FS.isLink(child.mode) ? 10 : 8;
}
HEAP32[dirp + pos >> 2] = id;
HEAP32[dirp + pos + 4 >> 2] = stream.position;
HEAP16[dirp + pos + 8 >> 1] = 268;
HEAP8[dirp + pos + 10 >> 0] = type;
stringToUTF8(name, dirp + pos + 11, 256);
pos += 268;
}
return pos;
} catch (e) {
if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall221(which, varargs) {
SYSCALLS.varargs = varargs;
try {
var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get();
switch (cmd) {
case 0:
{
var arg = SYSCALLS.get();
if (arg < 0) {
return -ERRNO_CODES.EINVAL;
}
var newStream;
newStream = FS.open(stream.path, stream.flags, 0, arg);
return newStream.fd;
}
case 1:
case 2:
return 0;
case 3:
return stream.flags;
case 4:
{
var arg = SYSCALLS.get();
stream.flags |= arg;
return 0;
}
case 12:
{
var arg = SYSCALLS.get();
var offset = 0;
HEAP16[arg + offset >> 1] = 2;
return 0;
}
case 13:
case 14:
return 0;
case 16:
case 8:
return -ERRNO_CODES.EINVAL;
case 9:
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
default:
{
return -ERRNO_CODES.EINVAL;
}
}
} catch (e) {
if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall5(which, varargs) {
SYSCALLS.varargs = varargs;
try {
var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get();
var stream = FS.open(pathname, flags, mode);
return stream.fd;
} catch (e) {
if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall54(which, varargs) {
SYSCALLS.varargs = varargs;
try {
var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get();
switch (op) {
case 21509:
case 21505:
{
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return 0;
}
case 21510:
case 21511:
case 21512:
case 21506:
case 21507:
case 21508:
{
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return 0;
}
case 21519:
{
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
var argp = SYSCALLS.get();
HEAP32[argp >> 2] = 0;
return 0;
}
case 21520:
{
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return -ERRNO_CODES.EINVAL;
}
case 21531:
{
var argp = SYSCALLS.get();
return FS.ioctl(stream, op, argp);
}
case 21523:
{
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return 0;
}
case 21524:
{
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return 0;
}
default:
abort("bad ioctl syscall " + op);
}
} catch (e) {
if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall6(which, varargs) {
SYSCALLS.varargs = varargs;
try {
var stream = SYSCALLS.getStreamFromFD();
FS.close(stream);
return 0;
} catch (e) {
if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___unlock() {}
function _abort() {
Module["abort"]();
}
function _emscripten_async_wget_data(url, arg, onload, onerror) {
Browser.asyncLoad(UTF8ToString(url), function(byteArray) {
var buffer = _malloc(byteArray.length);
HEAPU8.set(byteArray, buffer);
dynCall_viii(onload, arg, buffer, byteArray.length);
_free(buffer);
}, function() {
if (onerror) dynCall_vi(onerror, arg);
}, true);
}
function _emscripten_get_heap_size() {
return TOTAL_MEMORY;
}
function abortOnCannotGrowMemory(requestedSize) {
abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + TOTAL_MEMORY + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ");
}
function _emscripten_resize_heap(requestedSize) {
abortOnCannotGrowMemory(requestedSize);
}
function _exit(status) {
exit(status);
}
var ___tm_current = 3002128;
var ___tm_timezone = (stringToUTF8("GMT", 3002176, 4), 3002176);
function _gmtime_r(time, tmPtr) {
var date = new Date(HEAP32[time >> 2] * 1e3);
HEAP32[tmPtr >> 2] = date.getUTCSeconds();
HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();
HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();
HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();
HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();
HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;
HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();
HEAP32[tmPtr + 36 >> 2] = 0;
HEAP32[tmPtr + 32 >> 2] = 0;
var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;
HEAP32[tmPtr + 28 >> 2] = yday;
HEAP32[tmPtr + 40 >> 2] = ___tm_timezone;
return tmPtr;
}
function _gmtime(time) {
return _gmtime_r(time, ___tm_current);
}
function _tzset() {
if (_tzset.called) return;
_tzset.called = true;
HEAP32[__get_timezone() >> 2] = new Date().getTimezoneOffset() * 60;
var winter = new Date(2e3, 0, 1);
var summer = new Date(2e3, 6, 1);
HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset());
function extractZone(date) {
var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/);
return match ? match[1] : "GMT";
}
var winterName = extractZone(winter);
var summerName = extractZone(summer);
var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL);
var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL);
if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) {
HEAP32[__get_tzname() >> 2] = winterNamePtr;
HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr;
} else {
HEAP32[__get_tzname() >> 2] = summerNamePtr;
HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr;
}
}
function _localtime_r(time, tmPtr) {
_tzset();
var date = new Date(HEAP32[time >> 2] * 1e3);
HEAP32[tmPtr >> 2] = date.getSeconds();
HEAP32[tmPtr + 4 >> 2] = date.getMinutes();
HEAP32[tmPtr + 8 >> 2] = date.getHours();
HEAP32[tmPtr + 12 >> 2] = date.getDate();
HEAP32[tmPtr + 16 >> 2] = date.getMonth();
HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;
HEAP32[tmPtr + 24 >> 2] = date.getDay();
var start = new Date(date.getFullYear(), 0, 1);
var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0;
HEAP32[tmPtr + 28 >> 2] = yday;
HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);
var summerOffset = new Date(2e3, 6, 1).getTimezoneOffset();
var winterOffset = start.getTimezoneOffset();
var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;
HEAP32[tmPtr + 32 >> 2] = dst;
var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2];
HEAP32[tmPtr + 40 >> 2] = zonePtr;
return tmPtr;
}
function _localtime(time) {
return _localtime_r(time, ___tm_current);
}
function _longjmp(env, value) {
_setThrew(env, value || 1);
throw "longjmp";
}
function _emscripten_memcpy_big(dest, src, num) {
HEAPU8.set(HEAPU8.subarray(src, src + num), dest);
}
function __isLeapYear(year) {
return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
}
function __arraySum(array, index) {
var sum = 0;
for (var i = 0; i <= index; sum += array[i++]) ;
return sum;
}
var __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
var __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
function __addDays(date, days) {
var newDate = new Date(date.getTime());
while (days > 0) {
var leap = __isLeapYear(newDate.getFullYear());
var currentMonth = newDate.getMonth();
var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
if (days > daysInCurrentMonth - newDate.getDate()) {
days -= daysInCurrentMonth - newDate.getDate() + 1;
newDate.setDate(1);
if (currentMonth < 11) {
newDate.setMonth(currentMonth + 1);
} else {
newDate.setMonth(0);
newDate.setFullYear(newDate.getFullYear() + 1);
}
} else {
newDate.setDate(newDate.getDate() + days);
return newDate;
}
}
return newDate;
}
function _strftime(s, maxsize, format, tm) {
var tm_zone = HEAP32[tm + 40 >> 2];
var date = {
tm_sec: HEAP32[tm >> 2],
tm_min: HEAP32[tm + 4 >> 2],
tm_hour: HEAP32[tm + 8 >> 2],
tm_mday: HEAP32[tm + 12 >> 2],
tm_mon: HEAP32[tm + 16 >> 2],
tm_year: HEAP32[tm + 20 >> 2],
tm_wday: HEAP32[tm + 24 >> 2],
tm_yday: HEAP32[tm + 28 >> 2],
tm_isdst: HEAP32[tm + 32 >> 2],
tm_gmtoff: HEAP32[tm + 36 >> 2],
tm_zone: tm_zone ? UTF8ToString(tm_zone) : ""
};
var pattern = UTF8ToString(format);
var EXPANSION_RULES_1 = {
"%c": "%a %b %d %H:%M:%S %Y",
"%D": "%m/%d/%y",
"%F": "%Y-%m-%d",
"%h": "%b",
"%r": "%I:%M:%S %p",
"%R": "%H:%M",
"%T": "%H:%M:%S",
"%x": "%m/%d/%y",
"%X": "%H:%M:%S"
};
for (var rule in EXPANSION_RULES_1) {
pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]);
}
var WEEKDAYS = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ];
var MONTHS = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];
function leadingSomething(value, digits, character) {
var str = typeof value === "number" ? value.toString() : value || "";
while (str.length < digits) {
str = character[0] + str;
}
return str;
}
function leadingNulls(value, digits) {
return leadingSomething(value, digits, "0");
}
function compareByDay(date1, date2) {
function sgn(value) {
return value < 0 ? -1 : value > 0 ? 1 : 0;
}
var compare;
if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {
if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {
compare = sgn(date1.getDate() - date2.getDate());
}
}
return compare;
}
function getFirstWeekStartDate(janFourth) {
switch (janFourth.getDay()) {
case 0:
return new Date(janFourth.getFullYear() - 1, 11, 29);
case 1:
return janFourth;
case 2:
return new Date(janFourth.getFullYear(), 0, 3);
case 3:
return new Date(janFourth.getFullYear(), 0, 2);
case 4:
return new Date(janFourth.getFullYear(), 0, 1);
case 5:
return new Date(janFourth.getFullYear() - 1, 11, 31);
case 6:
return new Date(janFourth.getFullYear() - 1, 11, 30);
}
}
function getWeekBasedYear(date) {
var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);
var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
return thisDate.getFullYear() + 1;
} else {
return thisDate.getFullYear();
}
} else {
return thisDate.getFullYear() - 1;
}
}
var EXPANSION_RULES_2 = {
"%a": function(date) {
return WEEKDAYS[date.tm_wday].substring(0, 3);
},
"%A": function(date) {
return WEEKDAYS[date.tm_wday];
},
"%b": function(date) {
return MONTHS[date.tm_mon].substring(0, 3);
},
"%B": function(date) {
return MONTHS[date.tm_mon];
},
"%C": function(date) {
var year = date.tm_year + 1900;
return leadingNulls(year / 100 | 0, 2);
},
"%d": function(date) {
return leadingNulls(date.tm_mday, 2);
},
"%e": function(date) {
return leadingSomething(date.tm_mday, 2, " ");
},
"%g": function(date) {
return getWeekBasedYear(date).toString().substring(2);
},
"%G": function(date) {
return getWeekBasedYear(date);
},
"%H": function(date) {
return leadingNulls(date.tm_hour, 2);
},
"%I": function(date) {
var twelveHour = date.tm_hour;
if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12;
return leadingNulls(twelveHour, 2);
},
"%j": function(date) {
return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);
},
"%m": function(date) {
return leadingNulls(date.tm_mon + 1, 2);
},
"%M": function(date) {
return leadingNulls(date.tm_min, 2);
},
"%n": function() {
return "\n";
},
"%p": function(date) {
if (date.tm_hour >= 0 && date.tm_hour < 12) {
return "AM";
} else {
return "PM";
}
},
"%S": function(date) {
return leadingNulls(date.tm_sec, 2);
},
"%t": function() {
return "\t";
},
"%u": function(date) {
var day = new Date(date.tm_year + 1900, date.tm_mon + 1, date.tm_mday, 0, 0, 0, 0);
return day.getDay() || 7;
},
"%U": function(date) {
var janFirst = new Date(date.tm_year + 1900, 0, 1);
var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay());
var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday);
if (compareByDay(firstSunday, endDate) < 0) {
var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
var firstSundayUntilEndJanuary = 31 - firstSunday.getDate();
var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
return leadingNulls(Math.ceil(days / 7), 2);
}
return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00";
},
"%V": function(date) {
var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4);
var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4);
var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
if (compareByDay(endDate, firstWeekStartThisYear) < 0) {
return "53";
}
if (compareByDay(firstWeekStartNextYear, endDate) <= 0) {
return "01";
}
var daysDifference;
if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) {
daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate();
} else {
daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate();
}
return leadingNulls(Math.ceil(daysDifference / 7), 2);
},
"%w": function(date) {
var day = new Date(date.tm_year + 1900, date.tm_mon + 1, date.tm_mday, 0, 0, 0, 0);
return day.getDay();
},
"%W": function(date) {
var janFirst = new Date(date.tm_year, 0, 1);
var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1);
var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday);
if (compareByDay(firstMonday, endDate) < 0) {
var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31;
var firstMondayUntilEndJanuary = 31 - firstMonday.getDate();
var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate();
return leadingNulls(Math.ceil(days / 7), 2);
}
return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00";
},
"%y": function(date) {
return (date.tm_year + 1900).toString().substring(2);
},
"%Y": function(date) {
return date.tm_year + 1900;
},
"%z": function(date) {
var off = date.tm_gmtoff;
var ahead = off >= 0;
off = Math.abs(off) / 60;
off = off / 60 * 100 + off % 60;
return (ahead ? "+" : "-") + String("0000" + off).slice(-4);
},
"%Z": function(date) {
return date.tm_zone;
},
"%%": function() {
return "%";
}
};
for (var rule in EXPANSION_RULES_2) {
if (pattern.indexOf(rule) >= 0) {
pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date));
}
}
var bytes = intArrayFromString(pattern, false);
if (bytes.length > maxsize) {
return 0;
}
writeArrayToMemory(bytes, s);
return bytes.length - 1;
}
function _time(ptr) {
var ret = Date.now() / 1e3 | 0;
if (ptr) {
HEAP32[ptr >> 2] = ret;
}
return ret;
}
FS.staticInit();
__ATINIT__.unshift(function() {
if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
});
__ATMAIN__.push(function() {
FS.ignorePermissions = false;
});
__ATEXIT__.push(function() {
FS.quit();
});
Module["FS_createFolder"] = FS.createFolder;
Module["FS_createPath"] = FS.createPath;
Module["FS_createDataFile"] = FS.createDataFile;
Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
Module["FS_createLazyFile"] = FS.createLazyFile;
Module["FS_createLink"] = FS.createLink;
Module["FS_createDevice"] = FS.createDevice;
Module["FS_unlink"] = FS.unlink;
__ATINIT__.unshift(function() {
TTY.init();
});
__ATEXIT__.push(function() {
TTY.shutdown();
});
if (ENVIRONMENT_IS_NODE) {
var fs = require("fs");
var NODEJS_PATH = require("path");
NODEFS.staticInit();
}
Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) {
err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");
Module["requestFullScreen"] = Module["requestFullscreen"];
Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice);
};
Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) {
Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
};
Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) {
Browser.requestAnimationFrame(func);
};
Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) {
Browser.setCanvasSize(width, height, noUpdates);
};
Module["pauseMainLoop"] = function Module_pauseMainLoop() {
Browser.mainLoop.pause();
};
Module["resumeMainLoop"] = function Module_resumeMainLoop() {
Browser.mainLoop.resume();
};
Module["getUserMedia"] = function Module_getUserMedia() {
Browser.getUserMedia();
};
Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) {
return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes);
};
if (ENVIRONMENT_IS_NODE) {
_emscripten_get_now = function _emscripten_get_now_actual() {
var t = process["hrtime"]();
return t[0] * 1e3 + t[1] / 1e6;
};
} else if (typeof dateNow !== "undefined") {
_emscripten_get_now = dateNow;
} else if (typeof self === "object" && self["performance"] && typeof self["performance"]["now"] === "function") {
_emscripten_get_now = function() {
return self["performance"]["now"]();
};
} else if (typeof performance === "object" && typeof performance["now"] === "function") {
_emscripten_get_now = function() {
return performance["now"]();
};
} else {
_emscripten_get_now = Date.now;
}
var GLctx;
GL.init();
var ASSERTIONS = false;
function intArrayFromString(stringy, dontAddNull, length) {
var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
var u8array = new Array(len);
var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
if (dontAddNull) u8array.length = numBytesWritten;
return u8array;
}
function intArrayToString(array) {
var ret = [];
for (var i = 0; i < array.length; i++) {
var chr = array[i];
if (chr > 255) {
if (ASSERTIONS) {
assert(false, "Character code " + chr + " (" + String.fromCharCode(chr) + ") at offset " + i + " not in 0x00-0xFF.");
}
chr &= 255;
}
ret.push(String.fromCharCode(chr));
}
return ret.join("");
}
var decodeBase64 = typeof atob === "function" ? atob : function(input) {
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var output = "";
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
do {
enc1 = keyStr.indexOf(input.charAt(i++));
enc2 = keyStr.indexOf(input.charAt(i++));
enc3 = keyStr.indexOf(input.charAt(i++));
enc4 = keyStr.indexOf(input.charAt(i++));
chr1 = enc1 << 2 | enc2 >> 4;
chr2 = (enc2 & 15) << 4 | enc3 >> 2;
chr3 = (enc3 & 3) << 6 | enc4;
output = output + String.fromCharCode(chr1);
if (enc3 !== 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 !== 64) {
output = output + String.fromCharCode(chr3);
}
} while (i < input.length);
return output;
};
function intArrayFromBase64(s) {
if (typeof ENVIRONMENT_IS_NODE === "boolean" && ENVIRONMENT_IS_NODE) {
var buf;
try {
buf = Buffer.from(s, "base64");
} catch (_) {
buf = new Buffer(s, "base64");
}
return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
}
try {
var decoded = decodeBase64(s);
var bytes = new Uint8Array(decoded.length);
for (var i = 0; i < decoded.length; ++i) {
bytes[i] = decoded.charCodeAt(i);
}
return bytes;
} catch (_) {
throw new Error("Converting base64 string to bytes failed.");
}
}
function tryParseAsDataURI(filename) {
if (!isDataURI(filename)) {
return;
}
return intArrayFromBase64(filename.slice(dataURIPrefix.length));
}
function invoke_vii(index, a1, a2) {
var sp = stackSave();
try {
dynCall_vii(index, a1, a2);
} catch (e) {
stackRestore(sp);
if (e !== e + 0 && e !== "longjmp") throw e;
_setThrew(1, 0);
}
}
var asmGlobalArg = {
"Math": Math,
"Int8Array": Int8Array,
"Int16Array": Int16Array,
"Int32Array": Int32Array,
"Uint8Array": Uint8Array,
"Uint16Array": Uint16Array,
"Float32Array": Float32Array,
"Float64Array": Float64Array,
"NaN": NaN,
Infinity: Infinity
};
var asmLibraryArg = {
"a": abort,
"b": setTempRet0,
"c": getTempRet0,
"d": invoke_vii,
"e": _SDL_ClearError,
"f": _SDL_GetError,
"g": _SDL_GetModState,
"h": _SDL_GetMouseState,
"i": _SDL_GetTicks,
"j": _SDL_GetWindowSize,
"k": _SDL_Init,
"l": _SDL_LockAudio,
"m": _SDL_LockSurface,
"n": _SDL_PollEvent,
"o": _SDL_SetVideoMode,
"p": _SDL_UnlockAudio,
"q": _SDL_UnlockSurface,
"r": ___buildEnvironment,
"s": ___lock,
"t": ___setErrNo,
"u": ___syscall140,
"v": ___syscall145,
"w": ___syscall146,
"x": ___syscall195,
"y": ___syscall220,
"z": ___syscall221,
"A": ___syscall5,
"B": ___syscall54,
"C": ___syscall6,
"D": ___unlock,
"E": __addDays,
"F": __arraySum,
"G": __isLeapYear,
"H": _abort,
"I": _emscripten_asm_const_i,
"J": _emscripten_asm_const_ii,
"K": _emscripten_asm_const_iii,
"L": _emscripten_asm_const_iiiii,
"M": _emscripten_asm_const_iiiiii,
"N": _emscripten_async_wget_data,
"O": _emscripten_get_heap_size,
"P": _emscripten_get_now,
"Q": _emscripten_memcpy_big,
"R": _emscripten_resize_heap,
"S": _emscripten_set_main_loop,
"T": _emscripten_set_main_loop_timing,
"U": _exit,
"V": _gmtime,
"W": _gmtime_r,
"X": _localtime,
"Y": _localtime_r,
"Z": _longjmp,
"_": _strftime,
"$": _time,
"aa": _tzset,
"ab": abortOnCannotGrowMemory,
"ac": tempDoublePtr,
"ad": DYNAMICTOP_PTR
};
// EMSCRIPTEN_START_ASM
var asm = (/** @suppress {uselessCode} */ function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.ac|0,i=env.ad|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.NaN,s=global.Infinity,t=global.Math.floor,u=global.Math.abs,v=global.Math.sqrt,w=global.Math.cos,x=global.Math.sin,y=global.Math.atan,z=global.Math.atan2,A=global.Math.ceil,B=global.Math.imul,C=global.Math.min,D=global.Math.clz32,E=env.a,F=env.b,G=env.c,H=env.d,I=env.e,J=env.f,K=env.g,L=env.h,M=env.i,N=env.j,O=env.k,P=env.l,Q=env.m,R=env.n,S=env.o,T=env.p,U=env.q,V=env.r,W=env.s,X=env.t,Y=env.u,Z=env.v,_=env.w,$=env.x,aa=env.y,ba=env.z,ca=env.A,da=env.B,ea=env.C,fa=env.D,ga=env.E,ha=env.F,ia=env.G,ja=env.H,ka=env.I,la=env.J,ma=env.K,na=env.L,oa=env.M,pa=env.N,qa=env.O,ra=env.P,sa=env.Q,ta=env.R,ua=env.S,va=env.T,wa=env.U,xa=env.V,ya=env.W,za=env.X,Aa=env.Y,Ba=env.Z,Ca=env._,Da=env.$,Ea=env.aa,Fa=env.ab,Ga=3002288,Ha=8245168,Ia=0.0;
// EMSCRIPTEN_START_FUNCS
function xf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Ga;Ga=Ga+16|0;d=b+8|0;e=b;f=a+16|0;g=c[c[f>>2]>>2]|0;h=g+16|0;i=a+8|0;j=c[i>>2]|0;if(h>>>0>=j>>>0|(h|0)==2060540)k=-1;else k=c[g+20>>2]&15;h=g+8|0;if(!(h>>>0>=j>>>0|(h|0)==2060540)){h=c[g+12>>2]&15;if((h|0)!=5){l=h+1|0;m=6}}else{l=0;m=6}if((m|0)==6){m=c[16+(l<<2)>>2]|0;c[e>>2]=43216;c[e+4>>2]=m;gf(a,1,Bd(a,45446,e)|0)|0}switch(k|0){case 0:case 5:break;default:gf(a,2,45737)|0}if(pf(a,1,45725)|0)hf(a,45759,d)|0;d=c[c[f>>2]>>2]|0;f=c[i>>2]|0;k=d+24|0;if(f>>>0>=k>>>0){c[i>>2]=k;Jd(a,1)|0;Ga=b;return 1}e=(d+20+(3-f)|0)>>>3;d=f;do{c[d+4>>2]=0;d=d+8|0}while(d>>>0<k>>>0);c[i>>2]=f+(e+1<<3);c[i>>2]=k;Jd(a,1)|0;Ga=b;return 1}function yf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==2060540){gf(a,1,45466)|0;h=c[c[b>>2]>>2]|0;i=c[f>>2]|0}else{h=d;i=g}g=h+16|0;if(g>>>0>=i>>>0|(g|0)==2060540){gf(a,2,45466)|0;a=c[c[b>>2]>>2]|0;j=a+16|0;k=a;l=c[f>>2]|0}else{j=g;k=h;l=i}i=k+8|0;k=i>>>0<l>>>0?i:2060540;i=j>>>0<l>>>0?j:2060540;if((k|0)!=2060540&(i|0)!=2060540?(c[k+4>>2]|0)==(c[i+4>>2]|0):0){j=(Bc(0,k,i)|0)!=0&1;m=j;n=c[f>>2]|0}else{m=0;n=l}c[n>>2]=m;c[n+4>>2]=1;c[f>>2]=(c[f>>2]|0)+8;return 1}function zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(!(e>>>0>=g>>>0|(e|0)==2060540)?(c[d+12>>2]&14|1|0)==5:0){h=e;i=g}else{gf(a,1,45795)|0;h=(c[c[b>>2]>>2]|0)+8|0;i=c[f>>2]|0}b=h>>>0<i>>>0?h:2060540;switch(c[b+4>>2]&15){case 4:{j=c[(c[b>>2]|0)+12>>2]|0;break}case 7:{j=c[(c[b>>2]|0)+16>>2]|0;break}case 5:{j=ad(c[b>>2]|0)|0;break}default:j=0}c[i>>2]=j<<16;c[i+4>>2]=3;c[f>>2]=(c[f>>2]|0)+8;return 1}function Af(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=Ga;Ga=Ga+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==2060540)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=43216;c[d+4>>2]=m;gf(a,1,Bd(a,45446,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}d=j+16|0;if(d>>>0>=k>>>0|(d|0)==2060540){gf(a,2,45466)|0;n=c[c[e>>2]>>2]|0;o=c[h>>2]|0}else{n=j;o=k}k=n+8|0;j=n+24|0;if(o>>>0>=j>>>0){c[h>>2]=j;p=c[k>>2]|0;q=n+16|0;r=uc(p,q)|0;s=c[h>>2]|0;t=s+-8|0;u=c[r>>2]|0;c[t>>2]=u;v=r+4|0;w=c[v>>2]|0;x=s+-4|0;c[x>>2]=w;Ga=b;return 1}e=(n+20+(3-o)|0)>>>3;a=o;do{c[a+4>>2]=0;a=a+8|0}while(a>>>0<j>>>0);c[h>>2]=o+(e+1<<3);c[h>>2]=j;p=c[k>>2]|0;q=n+16|0;r=uc(p,q)|0;s=c[h>>2]|0;t=s+-8|0;u=c[r>>2]|0;c[t>>2]=u;v=r+4|0;w=c[v>>2]|0;x=s+-4|0;c[x>>2]=w;Ga=b;return 1}function Bf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=Ga;Ga=Ga+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;if(!(h>>>0>=j>>>0|(h|0)==2060540)){h=c[g+12>>2]&15;if((h|0)==5){k=g;l=j}else{m=h+1|0;n=4}}else{m=0;n=4}if((n|0)==4){n=c[16+(m<<2)>>2]|0;c[e>>2]=43216;c[e+4>>2]=n;gf(b,1,Bd(b,45446,e)|0)|0;k=c[c[f>>2]>>2]|0;l=c[i>>2]|0}e=k+16|0;if(e>>>0>=l>>>0|(e|0)==2060540){gf(b,2,45466)|0;o=c[c[f>>2]>>2]|0;p=c[i>>2]|0}else{o=k;p=l}l=o+24|0;if(l>>>0>=p>>>0|(l|0)==2060540){gf(b,3,45466)|0;q=c[c[f>>2]>>2]|0;r=c[i>>2]|0}else{q=o;r=p}p=q+8|0;o=q+32|0;if(r>>>0<o>>>0){f=(q+28+(3-r)|0)>>>3;l=r;do{c[l+4>>2]=0;l=l+8|0}while(l>>>0<o>>>0);c[i>>2]=r+(f+1<<3)}c[i>>2]=o;o=c[p>>2]|0;f=q+16|0;r=uc(o,f)|0;if((r|0)==2060540)s=vc(b,o,f)|0;else s=r;c[s>>2]=c[q+24>>2];c[s+4>>2]=c[q+28>>2];a[(c[p>>2]|0)+6>>0]=0;q=c[i>>2]|0;if(!(c[q+-4>>2]&64)){t=q;u=t+-16|0;c[i>>2]=u;Ga=d;return 1}if(!(a[(c[q+-8>>2]|0)+5>>0]&3)){t=q;u=t+-16|0;c[i>>2]=u;Ga=d;return 1}s=c[p>>2]|0;p=s+5|0;r=a[p>>0]|0;if(!(r&4)){t=q;u=t+-16|0;c[i>>2]=u;Ga=d;return 1}q=c[b+12>>2]|0;a[p>>0]=r&-5;r=q+76|0;c[s+24>>2]=c[r>>2];c[r>>2]=s;t=c[i>>2]|0;u=t+-16|0;c[i>>2]=u;Ga=d;return 1}function Cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==2060540){gf(a,1,45466)|0;h=c[c[b>>2]>>2]|0;i=h+8|0;j=c[f>>2]|0;k=h}else{i=e;j=g;k=d}if(i>>>0>=j>>>0|(i|0)==2060540){l=0;m=16+(l<<2)|0;n=c[m>>2]|0;yd(a,n)|0;return 1}l=(c[k+12>>2]&15)+1|0;m=16+(l<<2)|0;n=c[m>>2]|0;yd(a,n)|0;return 1}function Df(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ga;Ga=Ga+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==2060540)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=43216;c[d+4>>2]=m;gf(a,1,Bd(a,45446,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}e=j+24|0;if(k>>>0<e>>>0){d=(j+20+(3-k)|0)>>>3;j=k;do{c[j+4>>2]=0;j=j+8|0}while(j>>>0<e>>>0);c[h>>2]=k+(d+1<<3)}c[h>>2]=e;if($e(a,1)|0){n=2;Ga=b;return n|0}a=c[h>>2]|0;c[a+4>>2]=0;c[h>>2]=a+8;n=1;Ga=b;return n|0}function Ef(a){a=a|0;Ff(a,45820,0,4);return 3}function Ff(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=Ga;Ga=Ga+16|0;h=g+8|0;i=g;j=(pf(a,1,d)|0)==0;d=a+16|0;k=c[c[d>>2]>>2]|0;l=k+8|0;m=a+8|0;n=c[m>>2]|0;o=l>>>0<n>>>0;if(j){if(!((l|0)==2060540|o^1)){j=c[k+12>>2]&15;if((j|0)==5)p=n;else{q=j+1|0;r=5}}else{q=0;r=5}if((r|0)==5){r=c[16+(q<<2)>>2]|0;c[i>>2]=43216;c[i+4>>2]=r;gf(a,1,Bd(a,45446,i)|0)|0;p=c[m>>2]|0}c[p>>2]=f;c[p+4>>2]=22;p=c[m>>2]|0;f=p+8|0;c[m>>2]=f;i=c[c[d>>2]>>2]|0;d=i>>>0<p>>>0?i+8|0:2060540;c[f>>2]=c[d>>2];c[p+12>>2]=c[d+4>>2];d=c[m>>2]|0;p=d+8|0;c[m>>2]=p;if(!e){c[d+12>>2]=0;c[m>>2]=d+16;Ga=g;return}else{c[p>>2]=0;c[d+12>>2]=3;c[m>>2]=(c[m>>2]|0)+8;Ga=g;return}}else{d=o?l:2060540;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];d=c[m>>2]|0;c[m>>2]=d+8;m=d+-8|0;d=a+38|0;n=(b[d>>1]|0)+1<<16>>16;b[d>>1]=n;if((n&65535)>199){if(n<<16>>16==200)ic(a,43256,h);if((n&65535)>224)gc(a,6)}n=a+36|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;if(!(mc(a,m,3)|0))nc(a);b[n>>1]=(b[n>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Ga=g;return}}function Gf(a){a=a|0;Ff(a,45828,1,5);return 3}function Hf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=Ga;Ga=Ga+16|0;e=b;f=mf(a,2)|0;g=a+16|0;h=c[c[g>>2]>>2]|0;i=h+8|0;j=a+8|0;k=c[j>>2]|0;if(!(i>>>0>=k>>>0|(i|0)==2060540)){i=c[h+12>>2]&15;if((i|0)==5)l=k;else{m=i+1|0;n=4}}else{m=0;n=4}if((n|0)==4){n=c[16+(m<<2)>>2]|0;c[e>>2]=43216;c[e+4>>2]=n;gf(a,1,Bd(a,45446,e)|0)|0;l=c[j>>2]|0}e=f<<16;a=e+65536|0;c[l>>2]=a;c[l+4>>2]=3;l=c[j>>2]|0;n=l+8|0;c[j>>2]=n;m=c[c[g>>2]>>2]|0;g=c[(m>>>0<l>>>0?m+8|0:2060540)>>2]|0;a:do if(f>>>0<(c[g+28>>2]|0)>>>0)o=(c[g+12>>2]|0)+(f<<3)|0;else{m=-65536-e|0;i=(c[g+16>>2]|0)+(((((a|0)<0?((a|0)==(m|0)?0:m):a)|0)%((1<<(d[g+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[i+12>>2]|0)==3?(c[i+8>>2]|0)==(a|0):0)break;m=c[i+16>>2]|0;if(!m){o=2060540;break a}else i=m}o=i}while(0);c[n>>2]=c[o>>2];c[l+12>>2]=c[o+4>>2];o=c[j>>2]|0;c[j>>2]=o+8;if((o|0)==2060540){Ga=b;return 2}else{Ga=b;return ((c[o+4>>2]&15|0)==0?1:2)|0}return 0}function If(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Ga;Ga=Ga+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;k=h>>>0<j>>>0?h:2060540;l=j;switch(c[k+4>>2]|0){case 0:{m=l-h>>3;break}case 1:{n=l-h>>3;if(!(c[k>>2]|0))m=n;else{o=n;Ga=d;return o|0}break}default:{o=l-h>>3;Ga=d;return o|0}}if((m|0)<=1){Tg(3002004);p=lf(b,2,45837,0)|0;c[e>>2]=p;hf(b,43863,e)|0}m=g+16|0;g=m>>>0<j>>>0?m:2060540;if((c[g+4>>2]&15|0)!=4)if(!(sd(b,g)|0))q=0;else{m=c[b+12>>2]|0;j=m+12|0;o=c[j>>2]|0;do if((o|0)>0)if(!(a[m+51>>0]|0)){d=m+8|0;c[d>>2]=o+1600+(c[d>>2]|0);c[j>>2]=-1600;break}else{wc(b);break}while(0);j=(c[c[f>>2]>>2]|0)+16|0;r=j>>>0<(c[i>>2]|0)>>>0?j:2060540;s=13}else{r=g;s=13}if((s|0)==13)q=(c[r>>2]|0)+16|0;Tg(q);p=lf(b,2,45837,0)|0;c[e>>2]=p;hf(b,43863,e)|0;return 0}function Jf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=b+8|0;e=c[d>>2]|0;f=c[c[b+16>>2]>>2]|0;g=f+8|0;h=e-g|0;i=h>>3;j=e;if((!(g>>>0>=j>>>0|(g|0)==2060540)?(c[f+12>>2]&15|0)==4:0)?(a[(c[g>>2]|0)+16>>0]|0)==35:0){c[e>>2]=(h<<13)+-65536;c[j+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;k=1;return k|0}d=mf(b,1)|0;j=(d|0)<0?d+i|0:(d|0)>(i|0)?i:d;if((j|0)<=0)gf(b,1,45855)|0;k=i-j|0;return k|0}function Kf(a){a=a|0;var b=0;b=(c[c[a+16>>2]>>2]|0)+8|0;if(!((b|0)==2060540?1:b>>>0>=(c[a+8>>2]|0)>>>0)){rf(a,1,0)|0;return 1}gf(a,1,45466)|0;rf(a,1,0)|0;return 1}function Lf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=a+16|0;e=(c[c[b>>2]>>2]|0)+8|0;f=a+8|0;g=c[f>>2]|0;h=e>>>0<g>>>0?e:2060540;if((c[h+4>>2]|0)==72?(i=c[h>>2]|0,(i|0)!=0):0){j=e;k=g;l=i}else{gf(a,1,45874)|0;j=(c[c[b>>2]>>2]|0)+8|0;k=c[f>>2]|0;l=0}i=Mf(a,l,(k-j>>3)+-1|0)|0;j=c[f>>2]|0;if((i|0)<0){c[j>>2]=0;c[j+4>>2]=1;k=c[f>>2]|0;l=k+8|0;c[f>>2]=l;g=l;do{l=g;g=g+-8|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[l+-4>>2]}while(l>>>0>k>>>0);g=c[f>>2]|0;c[k+-8>>2]=c[g>>2];m=2;n=g;o=k+-4|0;p=n+4|0;q=c[p>>2]|0;c[o>>2]=q;return m|0}c[j>>2]=1;c[j+4>>2]=1;j=(c[f>>2]|0)+8|0;c[f>>2]=j;k=i+1|0;g=c[b>>2]|0;do if((i|0)>1000998){if((i|0)==1000999){r=(c[a+12>>2]|0)+36|0;break}b=c[g>>2]|0;if((c[b+4>>2]|0)==22)r=2060540;else{l=c[b>>2]|0;r=(i+-1000999|0)>(d[l+6>>0]|0|0)?2060540:l+16+(i+-1001e3<<3)|0}}else r=j+(~i<<3)|0;while(0);if(j>>>0>r>>>0){i=j;do{g=i;i=i+-8|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[g+-4>>2]}while(i>>>0>r>>>0);s=c[f>>2]|0}else s=j;c[r>>2]=c[s>>2];m=k;n=s;o=r+4|0;p=n+4|0;q=c[p>>2]|0;c[o>>2]=q;return m|0}function Mf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=Ga;Ga=Ga+16|0;g=f;c[g>>2]=e;h=d+16|0;i=c[h>>2]|0;j=d+8|0;k=c[j>>2]|0;do if(((c[d+24>>2]|0)-k>>3|0)>(e|0)){l=k;m=e;n=k}else{if(((k-(c[d+28>>2]|0)>>3)+5|0)<=(1e6-e|0)?(fc(d,5,g)|0)==0:0){o=c[j>>2]|0;l=o;m=c[g>>2]|0;n=o;break}o=c[b+12>>2]|0;p=o+12|0;q=c[p>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){r=o+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[p>>2]=-1600;break}else{wc(b);break}while(0);p=Mc(b,45893,37)|0;q=b+8|0;o=c[q>>2]|0;c[o>>2]=p;c[o+4>>2]=(a[p+4>>0]|64)&255;c[q>>2]=(c[q>>2]|0)+8;s=-1;Ga=f;return s|0}while(0);k=i+4|0;i=l+(m<<3)|0;if((c[k>>2]|0)>>>0<i>>>0)c[k>>2]=i;if((a[d+6>>0]|0)==0?(n|0)==((c[c[h>>2]>>2]|0)+8|0):0){n=c[b+12>>2]|0;i=n+12|0;k=c[i>>2]|0;do if((k|0)>0)if(!(a[n+51>>0]|0)){m=n+8|0;c[m>>2]=k+1600+(c[m>>2]|0);c[i>>2]=-1600;break}else{wc(b);break}while(0);i=Mc(b,45931,37)|0;k=b+8|0;n=c[k>>2]|0;c[n>>2]=i;c[n+4>>2]=(a[i+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+8;s=-1;Ga=f;return s|0}k=(b|0)==(d|0);if((!k?(i=b+8|0,n=c[i>>2]|0,m=0-e|0,l=n+(m<<3)|0,c[i>>2]=l,(e|0)>0):0)?(q=c[j>>2]|0,c[j>>2]=q+8,c[q>>2]=c[l>>2],c[q+4>>2]=c[n+(m<<3)+4>>2],(e|0)!=1):0){m=1;do{n=c[i>>2]|0;q=c[j>>2]|0;c[j>>2]=q+8;c[q>>2]=c[n+(m<<3)>>2];c[q+4>>2]=c[n+(m<<3)+4>>2];m=m+1|0}while((m|0)!=(e|0))}if((Nf(d,b,e)|0)>>>0>=2){if(k){s=-1;Ga=f;return s|0}e=c[j>>2]|0;d=e+-8|0;c[j>>2]=d;m=b+8|0;i=c[m>>2]|0;c[m>>2]=i+8;c[i>>2]=c[d>>2];c[i+4>>2]=c[e+-4>>2];s=-1;Ga=f;return s|0}e=(c[j>>2]|0)-((c[c[h>>2]>>2]|0)+8)|0;i=e>>3;d=i+1|0;c[g>>2]=d;m=c[b+16>>2]|0;n=b+8|0;q=c[n>>2]|0;do if(((c[b+24>>2]|0)-q>>3|0)>(d|0)){t=q;u=d}else{if(((q-(c[b+28>>2]|0)>>3)+5|0)<=(999999-i|0)?(fc(b,5,g)|0)==0:0){t=c[n>>2]|0;u=c[g>>2]|0;break}l=~i;if((e|0)<0){p=c[c[h>>2]>>2]|0;o=c[j>>2]|0;r=p+8+(l<<3)|0;if(o>>>0<r>>>0){v=(p+(l<<3)+4+(3-o)|0)>>>3;l=o;do{c[l+4>>2]=0;l=l+8|0}while(l>>>0<r>>>0);c[j>>2]=o+(v+1<<3);w=r}else w=r}else w=(c[j>>2]|0)+(0-i<<3)|0;c[j>>2]=w;l=c[b+12>>2]|0;p=l+12|0;x=c[p>>2]|0;do if((x|0)>0)if(!(a[l+51>>0]|0)){y=l+8|0;c[y>>2]=x+1600+(c[y>>2]|0);c[p>>2]=-1600;break}else{wc(b);break}while(0);p=Mc(b,45969,35)|0;x=c[n>>2]|0;c[x>>2]=p;c[x+4>>2]=(a[p+4>>0]|64)&255;c[n>>2]=(c[n>>2]|0)+8;s=-1;Ga=f;return s|0}while(0);b=m+4|0;m=t+(u<<3)|0;if((c[b>>2]|0)>>>0<m>>>0)c[b>>2]=m;if(k){s=i;Ga=f;return s|0}k=c[j>>2]|0;m=0-i|0;b=k+(m<<3)|0;c[j>>2]=b;if((e|0)<=0){s=i;Ga=f;return s|0}u=c[n>>2]|0;c[n>>2]=u+8;c[u>>2]=c[b>>2];c[u+4>>2]=c[k+(m<<3)+4>>2];if((e|0)==8){s=1;Ga=f;return s|0}e=1;do{m=c[j>>2]|0;k=c[n>>2]|0;c[n>>2]=k+8;c[k>>2]=c[m+(e<<3)>>2];c[k+4>>2]=c[m+(e<<3)+4>>2];e=e+1|0}while((e|0)!=(i|0));s=i;Ga=f;return s|0}function Nf(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=d+36|0;i=b[h>>1]|0;if(!f)j=1;else j=(e[f+38>>1]|0)+1&65535;f=d+38|0;b[f>>1]=j;b[h>>1]=0;j=d+8|0;k=fc(d,6,(c[j>>2]|0)+(0-g<<3)|0)|0;if((k|0)==-1){l=2;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}if(k>>>0<=1){l=k;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}g=d+16|0;o=d+28|0;p=d+41|0;q=d+12|0;r=d+68|0;s=d+32|0;t=k;a:while(1){k=c[g>>2]|0;if(!k)break;u=k;while(1){if(a[u+18>>0]&16)break;k=c[u+8>>2]|0;if(!k)break a;else u=k}k=u+18|0;v=(c[o>>2]|0)+(c[u+20>>2]|0)|0;Ac(d,v);switch(t|0){case 4:{w=c[(c[q>>2]|0)+152>>2]|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}case 6:{w=Mc(d,43916,23)|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}default:{w=c[j>>2]|0;c[v>>2]=c[w+-8>>2];x=c[w+-4>>2]|0}}c[v+4>>2]=x;w=v+8|0;c[j>>2]=w;c[g>>2]=u;a[p>>0]=a[u+36>>0]|0;b[h>>1]=0;v=u;y=w;do{w=c[v+4>>2]|0;y=y>>>0<w>>>0?w:y;v=c[v+8>>2]|0}while((v|0)!=0);v=y-(c[o>>2]|0)|0;w=v>>3;z=w+11+((w+1|0)/8|0)|0;w=(z|0)<1e6?z:1e6;if((v|0)<=7999992?(w|0)<(c[s>>2]|0):0)hc(d,w);c[r>>2]=c[u+32>>2];a[k>>0]=a[k>>0]|32;a[u+37>>0]=t;w=fc(d,7,0)|0;if(w>>>0>1)t=w;else{l=w;A=25;break}}if((A|0)==25){b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}a[d+6>>0]=t;A=c[j>>2]|0;switch(t|0){case 4:{r=c[(c[q>>2]|0)+152>>2]|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}case 6:{r=Mc(d,43916,23)|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}default:{c[A>>2]=c[A+-8>>2];B=c[A+-4>>2]|0}}c[A+4>>2]=B;B=A+8|0;c[j>>2]=B;c[(c[g>>2]|0)+4>>2]=B;l=t;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}function Of(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;f=c[b+16>>2]|0;if((e[b+38>>1]|0)>199)Rf(b,43256,d);g=b+6|0;switch(a[g>>0]|0){case 0:{if((f|0)!=(b+72|0))Rf(b,46005,d);if(mc(b,d+-8|0,-1)|0)return;nc(b);return}case 1:{a[g>>0]=0;c[f>>2]=(c[b+28>>2]|0)+(c[f+20>>2]|0);g=f+18|0;h=a[g>>0]|0;if(!(h&1)){i=c[f+28>>2]|0;if(!i)j=d;else{a[f+37>>0]=1;a[g>>0]=h|8;h=Ja[i&255](b)|0;j=(c[b+8>>2]|0)+(0-h<<3)|0}fd(b,j)|0}else nc(b);Pf(b,0);return}default:Rf(b,46043,d)}}function Pf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d+16|0;f=c[e>>2]|0;g=d+72|0;if((f|0)==(g|0))return;h=d+68|0;i=d+8|0;j=f;do{f=j+18|0;k=a[f>>0]|0;if(!(k&1)){l=k&255;if(!(l&16))m=k;else{k=l&239;a[f>>0]=k;c[h>>2]=c[j+32>>2];m=k}if((b[j+16>>1]|0)==-1?(k=j+4|0,l=c[i>>2]|0,(c[k>>2]|0)>>>0<l>>>0):0)c[k>>2]=l;if(!(m&32))a[j+37>>0]=1;a[f>>0]=m&-57|8;f=Ja[c[j+28>>2]&255](d)|0;fd(d,(c[i>>2]|0)+(0-f<<3)|0)|0}else{Qf(d);nc(d)}j=c[e>>2]|0}while((j|0)!=(g|0));return}function Qf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=c[a+16>>2]|0;e=b+24|0;f=c[e>>2]|0;g=b+28|0;h=c[(c[g>>2]|0)+-4>>2]|0;i=h&63;switch(h&63){case 12:case 7:case 6:case 31:case 30:case 29:case 28:case 27:case 24:case 23:case 22:case 21:case 20:case 19:case 34:case 32:case 18:case 17:case 16:case 15:case 14:case 13:{j=a+8|0;k=c[j>>2]|0;l=k+-8|0;c[j>>2]=l;j=h>>>6&255;c[f+(j<<3)>>2]=c[l>>2];c[f+(j<<3)+4>>2]=c[k+-4>>2];return}case 37:case 38:case 39:{k=a+8|0;j=c[k>>2]|0;switch(c[j+-4>>2]|0){case 0:{m=1;break}case 1:{m=(c[j+-8>>2]|0)==0;break}default:m=0}l=(m^1)&1;c[k>>2]=j+-8;if((i|0)==39){i=h>>>23;j=f+(i<<3)|0;k=c[f+(i<<3)+4>>2]|0;switch(k&15){case 5:{n=(c[j>>2]|0)+8|0;break}case 7:{n=(c[j>>2]|0)+8|0;break}default:n=(c[a+12>>2]|0)+276+((k&15)<<2)|0}k=c[n>>2]|0;a:do if(!k)o=2060540;else{n=c[(c[a+12>>2]|0)+264>>2]|0;j=(c[k+16>>2]|0)+(((1<<(d[k+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[j+12>>2]|0)==68?(c[j+8>>2]|0)==(n|0):0)break;i=c[j+16>>2]|0;if(!i){o=2060540;break a}else j=i}o=j}while(0);p=(c[o+4>>2]|0)==0?m&1:l}else p=l;if((p|0)==(h>>>6&255|0))return;c[g>>2]=(c[g>>2]|0)+4;return}case 35:{g=a+8|0;p=c[g>>2]|0;l=p+-16|0;m=l-(f+(h>>>23<<3))|0;c[p+-24>>2]=c[p+-8>>2];c[p+-20>>2]=c[p+-4>>2];if((m|0)>8){c[g>>2]=l;zc(a,m>>>3)}m=c[g>>2]|0;l=c[e>>2]|0;e=h>>>6&255;c[l+(e<<3)>>2]=c[m+-8>>2];c[l+(e<<3)+4>>2]=c[m+-4>>2];c[g>>2]=c[b+4>>2];return}case 47:{c[a+8>>2]=c[b+4>>2];return}case 42:{if(!(h&8372224))return;c[a+8>>2]=c[b+4>>2];return}default:return}}function Rf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+8|0;c[f>>2]=e;g=zd(b,d)|0;c[e>>2]=g;c[e+4>>2]=(a[g+4>>0]|64)&255;c[f>>2]=(c[f>>2]|0)+8;gc(b,-1)}function Sf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ga;Ga=Ga+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;if(!((g|0)==2060540?1:g>>>0>=(c[h>>2]|0)>>>0)){g=c[f+12>>2]&15;if((g|0)!=6){i=g+1|0;j=4}}else{i=0;j=4}if((j|0)==4){j=c[16+(i<<2)>>2]|0;c[d>>2]=52997;c[d+4>>2]=j;gf(a,1,Bd(a,45446,d)|0)|0}d=Tf(a)|0;j=(c[c[e>>2]>>2]|0)+8|0;e=c[h>>2]|0;i=j>>>0<e>>>0?j:2060540;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];i=c[h>>2]|0;c[h>>2]=i+8;if((d|0)==(a|0)){Ga=b;return 1}c[h>>2]=i;h=d+8|0;d=c[h>>2]|0;c[h>>2]=d+8;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];Ga=b;return 1}function Tf(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d+12|0;f=c[e>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;j=f;break}else{wc(d);j=c[e>>2]|0;break}else j=f;while(0);f=j+4|0;g=Ma[c[j>>2]&1](c[f>>2]|0,0,8,112)|0;if(!g){if(!(a[j+51>>0]|0))gc(d,4);sc(d,1);h=Ma[c[j>>2]&1](c[f>>2]|0,0,8,112)|0;if(!h)gc(d,4);else k=h}else k=g;g=j+12|0;c[g>>2]=(c[g>>2]|0)+112;g=j+56|0;a[k+5>>0]=a[j+48>>0]&3;a[k+4>>0]=8;c[k>>2]=c[g>>2];c[g>>2]=k;g=d+8|0;j=c[g>>2]|0;c[j>>2]=k;c[j+4>>2]=72;c[g>>2]=(c[g>>2]|0)+8;c[k+12>>2]=c[e>>2];g=k+28|0;c[g>>2]=0;j=k+16|0;c[j>>2]=0;h=k+32|0;c[h>>2]=0;c[k+64>>2]=0;b[k+38>>1]=0;f=k+52|0;c[f>>2]=0;i=k+40|0;a[i>>0]=0;l=k+44|0;c[l>>2]=0;a[k+41>>0]=1;c[k+56>>2]=0;b[k+36>>1]=1;a[k+6>>0]=0;c[k+68>>2]=0;a[i>>0]=a[d+40>>0]|0;i=c[d+44>>2]|0;c[l>>2]=i;c[f>>2]=c[d+52>>2];c[k+48>>2]=i;i=c[e>>2]|0;e=i+4|0;f=Ma[c[i>>2]&1](c[e>>2]|0,0,0,320)|0;if(!f){if(!(a[i+51>>0]|0))gc(d,4);sc(d,1);l=Ma[c[i>>2]&1](c[e>>2]|0,0,0,320)|0;if(!l)gc(d,4);else m=l}else m=f;f=i+12|0;c[f>>2]=(c[f>>2]|0)+320;c[g>>2]=m;c[h>>2]=40;h=m+4|0;c[h>>2]=0;c[m+12>>2]=0;c[m+20>>2]=0;c[m+28>>2]=0;c[m+36>>2]=0;c[m+44>>2]=0;c[m+52>>2]=0;c[m+60>>2]=0;c[m+68>>2]=0;c[m+76>>2]=0;c[m+84>>2]=0;c[m+92>>2]=0;c[m+100>>2]=0;c[m+108>>2]=0;c[m+116>>2]=0;c[m+124>>2]=0;c[m+132>>2]=0;c[m+140>>2]=0;c[m+148>>2]=0;c[m+156>>2]=0;c[m+164>>2]=0;c[m+172>>2]=0;c[m+180>>2]=0;c[m+188>>2]=0;c[m+196>>2]=0;c[m+204>>2]=0;c[m+212>>2]=0;c[m+220>>2]=0;c[m+228>>2]=0;c[m+236>>2]=0;c[m+244>>2]=0;c[m+252>>2]=0;c[m+260>>2]=0;c[m+268>>2]=0;c[m+276>>2]=0;c[m+284>>2]=0;c[m+292>>2]=0;c[m+300>>2]=0;c[m+308>>2]=0;c[m+316>>2]=0;c[k+24>>2]=m+280;g=k+72|0;c[k+80>>2]=0;c[k+84>>2]=0;a[k+90>>0]=0;c[g>>2]=m;c[k+8>>2]=m+8;c[h>>2]=0;c[k+76>>2]=m+168;c[j>>2]=g;return k|0}function Uf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(c[c[b+16>>2]>>2]|0)+8|0;e=b+8|0;f=d>>>0<(c[e>>2]|0)>>>0?d:2060540;if((c[f+4>>2]|0)==72?(d=c[f>>2]|0,(d|0)!=0):0)g=d;else{gf(b,1,45874)|0;g=0}a:do if((g|0)==(b|0)){d=c[b+12>>2]|0;f=d+12|0;h=c[f>>2]|0;do if((h|0)>0)if(!(a[d+51>>0]|0)){i=d+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[f>>2]=-1600;break}else{wc(b);break}while(0);j=Mc(b,46072,7)|0}else switch(a[g+6>>0]|0){case 1:{f=c[b+12>>2]|0;h=f+12|0;d=c[h>>2]|0;do if((d|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=d+1600+(c[i>>2]|0);c[h>>2]=-1600;break}else{wc(b);break}while(0);j=Mc(b,46080,9)|0;break a;break}case 0:{h=c[g+16>>2]|0;if((h|0)!=(g+72|0)){d=c[b+12>>2]|0;f=d+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[d+51>>0]|0)){k=d+8|0;c[k>>2]=i+1600+(c[k>>2]|0);c[f>>2]=-1600;break}else{wc(b);break}while(0);j=Mc(b,46090,6)|0;break a}f=c[b+12>>2]|0;i=f+12|0;d=c[i>>2]|0;k=(d|0)>0;if((c[g+8>>2]|0)==((c[h>>2]|0)+8|0)){do if(k)if(!(a[f+51>>0]|0)){l=f+8|0;c[l>>2]=d+1600+(c[l>>2]|0);c[i>>2]=-1600;break}else{wc(b);break}while(0);j=Mc(b,46097,4)|0;break a}else{do if(k)if(!(a[f+51>>0]|0)){h=f+8|0;c[h>>2]=d+1600+(c[h>>2]|0);c[i>>2]=-1600;break}else{wc(b);break}while(0);j=Mc(b,46080,9)|0;break a}break}default:{i=c[b+12>>2]|0;d=i+12|0;f=c[d>>2]|0;do if((f|0)>0)if(!(a[i+51>>0]|0)){k=i+8|0;c[k>>2]=f+1600+(c[k>>2]|0);c[d>>2]=-1600;break}else{wc(b);break}while(0);j=Mc(b,46097,4)|0;break a}}while(0);b=c[e>>2]|0;c[b>>2]=j;c[b+4>>2]=(a[j+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return 1}function Vf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;if(!((e|0)==2060540?1:e>>>0>=(c[f>>2]|0)>>>0)?(g=c[d+12>>2]|0,(g&15|0)==8):0)if((g|0)==72){h=1;i=c[e>>2]|0}else{h=1;i=0}else{h=0;i=a}e=h+1|0;g=rd(a,e,0)|0;d=c[c[b>>2]>>2]|0;if(!g){b=d+(e<<3)|0;j=c[f>>2]|0;if(!(b>>>0>=j>>>0|(b|0)==2060540)?(c[d+(e<<3)+4>>2]&15|0)!=0:0){c[j>>2]=c[b>>2];c[j+4>>2]=c[d+(e<<3)+4>>2];c[f>>2]=(c[f>>2]|0)+8;return 1}else k=j}else k=c[f>>2]|0;f=h|2;h=(i|0)==(a|0)&1;j=d+(f<<3)|0;if(!(j>>>0>=k>>>0|(j|0)==2060540)?(c[d+(f<<3)+4>>2]&15|0)!=0:0)l=mf(a,f)|0;else l=h;cf(a,i,g,l);return 1}function Wf(a){a=a|0;uf(c[(c[a+12>>2]|0)+144>>2]|0);return}function Xf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=Ga;Ga=Ga+16|0;e=d;f=b+16|0;g=(c[c[f>>2]>>2]|0)+8|0;h=b+8|0;i=g>>>0<(c[h>>2]|0)>>>0?g:2060540;do if((c[i+4>>2]&15|0)==4){j=i;k=8}else{if(!(sd(b,i)|0)){g=c[c[f>>2]>>2]|0;l=g+8|0;if((l|0)==2060540?1:l>>>0>=(c[h>>2]|0)>>>0)m=0;else m=(c[g+12>>2]&15)+1|0;g=c[16+(m<<2)>>2]|0;c[e>>2]=43209;c[e+4>>2]=g;gf(b,1,Bd(b,45446,e)|0)|0;n=0;o=0;break}g=c[b+12>>2]|0;l=g+12|0;p=c[l>>2]|0;do if((p|0)>0)if(!(a[g+51>>0]|0)){q=g+8|0;c[q>>2]=p+1600+(c[q>>2]|0);c[l>>2]=-1600;break}else{wc(b);break}while(0);l=(c[c[f>>2]>>2]|0)+8|0;j=l>>>0<(c[h>>2]|0)>>>0?l:2060540;k=8}while(0);if((k|0)==8){k=c[j>>2]|0;n=k+16|0;o=c[k+12>>2]|0}k=mf(b,2)|0;j=o+1|0;e=(k|0)>-1?k:o>>>0<(0-k|0)>>>0?0:j+k|0;k=c[c[f>>2]>>2]|0;f=k+24|0;if(!((f|0)==2060540?1:f>>>0>=(c[h>>2]|0)>>>0)?(c[k+28>>2]&15|0)!=0:0){k=mf(b,3)|0;r=(k|0)>-1?k:o>>>0<(0-k|0)>>>0?0:j+k|0}else r=o;k=(e|0)==0?1:e;e=r>>>0>o>>>0?o:r;if(e>>>0<k>>>0){r=c[b+12>>2]|0;o=r+12|0;j=c[o>>2]|0;do if((j|0)>0)if(!(a[r+51>>0]|0)){f=r+8|0;c[f>>2]=j+1600+(c[f>>2]|0);c[o>>2]=-1600;break}else{wc(b);break}while(0);s=Mc(b,3002004,0)|0;t=c[h>>2]|0;c[t>>2]=s;u=s+4|0;v=a[u>>0]|0;w=v|64;x=w&255;y=t+4|0;c[y>>2]=x;z=c[h>>2]|0;A=z+8|0;c[h>>2]=A;Ga=d;return 1}else{o=n+k+-1|0;n=1-k+e|0;e=c[b+12>>2]|0;k=e+12|0;j=c[k>>2]|0;do if((j|0)>0)if(!(a[e+51>>0]|0)){r=e+8|0;c[r>>2]=j+1600+(c[r>>2]|0);c[k>>2]=-1600;break}else{wc(b);break}while(0);s=hd(b,o,n)|0;t=c[h>>2]|0;c[t>>2]=s;u=s+4|0;v=a[u>>0]|0;w=v|64;x=w&255;y=t+4|0;c[y>>2]=x;z=c[h>>2]|0;A=z+8|0;c[h>>2]=A;Ga=d;return 1}return 0}function Yf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=Ga;Ga=Ga+16|0;e=b+8|0;f=b;g=b+12|0;h=a+16|0;i=c[c[h>>2]>>2]|0;j=i+8|0;k=a+8|0;l=c[k>>2]|0;if(j>>>0>=l>>>0|(j|0)==2060540){m=0;Ga=b;return m|0}if((c[i+12>>2]&15|0)!=5){m=0;Ga=b;return m|0}yc(a,l,j);j=c[k>>2]|0;l=j+8|0;c[k>>2]=l;i=c[j+4>>2]|0;do if((i|0)!=3){if((i&15|0)!=4)hf(a,45481,f)|0;n=c[j>>2]|0;if(!(Fc(n+16|0,c[n+12>>2]|0,g)|0))hf(a,45481,f)|0;else{o=c[g>>2]|0;p=c[k>>2]|0;break}}else{o=c[j>>2]|0;p=l}while(0);l=o>>16;o=p+-8|0;c[k>>2]=o;p=l+1|0;switch(o-((c[c[h>>2]>>2]|0)+8)>>3|0){case 2:{q=p;r=o;break}case 3:{s=10;break}default:hf(a,46102,e)|0}if((s|0)==10){s=mf(a,3)|0;c[k>>2]=(c[k>>2]|0)+-8;if((s|0)<1|(p|0)<(s|0))gf(a,2,46503)|0;if((l|0)>=(s|0)){l=p;do{e=l;l=l+-1|0;o=(c[c[h>>2]>>2]|0)+8|0;j=c[k>>2]|0;g=c[(o>>>0<j>>>0?o:2060540)>>2]|0;o=e+-2|0;a:do if(o>>>0<(c[g+28>>2]|0)>>>0)t=(c[g+12>>2]|0)+(o<<3)|0;else{f=l<<16;i=0-f|0;n=(c[g+16>>2]|0)+(((((f|0)<0?((f|0)==(i|0)?0:i):f)|0)%((1<<(d[g+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[n+12>>2]|0)==3?(c[n+8>>2]|0)==(f|0):0)break;i=c[n+16>>2]|0;if(!i){t=2060540;break a}else n=i}t=n}while(0);c[j>>2]=c[t>>2];c[j+4>>2]=c[t+4>>2];c[k>>2]=(c[k>>2]|0)+8;Id(a,1,e)}while((l|0)>(s|0))}Rg(p-s|0);q=s;r=c[k>>2]|0}c[r>>2]=c[r+-8>>2];c[r+4>>2]=c[r+-4>>2];c[k>>2]=(c[k>>2]|0)+8;Id(a,1,q);m=1;Ga=b;return m|0}function Zf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=Ga;Ga=Ga+16|0;e=b;f=b+4|0;g=a+16|0;h=c[c[g>>2]>>2]|0;i=h+8|0;j=a+8|0;k=c[j>>2]|0;if(i>>>0>=k>>>0|(i|0)==2060540){l=0;Ga=b;return l|0}if((c[h+12>>2]&15|0)!=5){l=0;Ga=b;return l|0}yc(a,k,i);i=c[j>>2]|0;k=i+8|0;c[j>>2]=k;h=c[i+4>>2]|0;do if((h|0)!=3){if((h&15|0)!=4)hf(a,45481,e)|0;m=c[i>>2]|0;if(!(Fc(m+16|0,c[m+12>>2]|0,f)|0))hf(a,45481,e)|0;else{n=c[f>>2]|0;o=c[j>>2]|0;break}}else{n=c[i>>2]|0;o=k}while(0);k=n>>16;n=o+-8|0;c[j>>2]=n;o=c[c[g>>2]>>2]|0;i=o+16|0;if(!(i>>>0>=n>>>0|(i|0)==2060540)?(c[o+20>>2]&15|0)!=0:0)p=mf(a,2)|0;else p=k;if((k|0)!=(p|0)?(p|0)<1|(k|0)<(p|0):0){l=0;Ga=b;return l|0}o=(c[c[g>>2]>>2]|0)+8|0;i=c[j>>2]|0;n=c[(o>>>0<i>>>0?o:2060540)>>2]|0;o=p+-1|0;a:do if(o>>>0<(c[n+28>>2]|0)>>>0)q=(c[n+12>>2]|0)+(o<<3)|0;else{f=p<<16;e=0-f|0;h=(c[n+16>>2]|0)+(((((f|0)<0?((f|0)==(e|0)?0:e):f)|0)%((1<<(d[n+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==(f|0):0)break;e=c[h+16>>2]|0;if(!e){q=2060540;break a}else h=e}q=h}while(0);c[i>>2]=c[q>>2];c[i+4>>2]=c[q+4>>2];c[j>>2]=(c[j>>2]|0)+8;Rg(k-p|0);if((k|0)>(p|0)){q=p;while(1){i=q;q=q+1|0;n=(c[c[g>>2]>>2]|0)+8|0;o=c[j>>2]|0;f=c[(n>>>0<o>>>0?n:2060540)>>2]|0;b:do if(i>>>0<(c[f+28>>2]|0)>>>0)r=(c[f+12>>2]|0)+(i<<3)|0;else{n=q<<16;e=0-n|0;m=(c[f+16>>2]|0)+(((((n|0)<0?((n|0)==(e|0)?0:e):n)|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[m+12>>2]|0)==3?(c[m+8>>2]|0)==(n|0):0)break;e=c[m+16>>2]|0;if(!e){r=2060540;break b}else m=e}r=m}while(0);c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[j>>2]=(c[j>>2]|0)+8;Id(a,1,i);if((q|0)==(k|0)){s=k;break}}}else s=p;p=c[j>>2]|0;c[p+4>>2]=0;c[j>>2]=p+8;Id(a,1,s);l=1;Ga=b;return l|0}function _f(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=Ga;Ga=Ga+16|0;e=b;f=b+4|0;g=a+8|0;h=c[g>>2]|0;i=a+16|0;j=c[c[i>>2]>>2]|0;k=j+8|0;l=h;if((h-k|0)<16){m=0;Ga=b;return m|0}if((k|0)==2060540|k>>>0>=l>>>0){m=0;Ga=b;return m|0}if((c[j+12>>2]&15|0)!=5){m=0;Ga=b;return m|0}yc(a,l,k);k=c[g>>2]|0;l=k+8|0;c[g>>2]=l;j=c[k+4>>2]|0;do if((j|0)!=3){if((j&15|0)!=4)hf(a,45481,e)|0;h=c[k>>2]|0;if(!(Fc(h+16|0,c[h+12>>2]|0,f)|0))hf(a,45481,e)|0;else{n=c[f>>2]|0;o=c[g>>2]|0;break}}else{n=c[k>>2]|0;o=l}while(0);l=n>>16;k=o+-8|0;c[g>>2]=k;if((n|0)<65536){Rg(l);m=0;Ga=b;return m|0}n=1;o=k;while(1){k=(c[c[i>>2]>>2]|0)+8|0;f=c[(k>>>0<o>>>0?k:2060540)>>2]|0;k=n+-1|0;a:do if(k>>>0<(c[f+28>>2]|0)>>>0)p=(c[f+12>>2]|0)+(k<<3)|0;else{e=n<<16;j=(c[f+16>>2]|0)+(((e|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==(e|0):0)break;h=c[j+16>>2]|0;if(!h){p=2060540;break a}else j=h}p=j}while(0);c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];f=c[g>>2]|0;k=f+8|0;c[g>>2]=k;e=(c[c[i>>2]>>2]|0)+16|0;h=e>>>0<k>>>0?e:2060540;if((f|0)!=2060540&(h|0)!=2060540?(c[f+4>>2]|0)==(c[h+4>>2]|0):0){e=(Bc(a,f,h)|0)==0;h=(c[g>>2]|0)+-8|0;c[g>>2]=h;if(e)q=h;else{r=n;break}}else{c[g>>2]=f;q=f}if((n|0)<(l|0)){n=n+1|0;o=q}else{r=0;break}}Rg(l);if(!r){m=0;Ga=b;return m|0}q=(c[c[i>>2]>>2]|0)+8|0;o=c[g>>2]|0;n=c[(q>>>0<o>>>0?q:2060540)>>2]|0;q=r+-1|0;b:do if(q>>>0<(c[n+28>>2]|0)>>>0)s=(c[n+12>>2]|0)+(q<<3)|0;else{p=r<<16;f=0-p|0;h=(c[n+16>>2]|0)+(((((p|0)<0?((p|0)==(f|0)?0:f):p)|0)%((1<<(d[n+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==(p|0):0)break;f=c[h+16>>2]|0;if(!f){s=2060540;break b}else h=f}s=h}while(0);c[o>>2]=c[s>>2];c[o+4>>2]=c[s+4>>2];s=(c[g>>2]|0)+8|0;c[g>>2]=s;if((r|0)<(l|0)){o=r;n=s;while(1){q=o;o=o+1|0;p=(c[c[i>>2]>>2]|0)+8|0;f=c[(p>>>0<n>>>0?p:2060540)>>2]|0;c:do if(q>>>0<(c[f+28>>2]|0)>>>0)t=(c[f+12>>2]|0)+(q<<3)|0;else{p=o<<16;e=0-p|0;k=(c[f+16>>2]|0)+(((((p|0)<0?((p|0)==(e|0)?0:e):p)|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[k+12>>2]|0)==3?(c[k+8>>2]|0)==(p|0):0)break;e=c[k+16>>2]|0;if(!e){t=2060540;break c}else k=e}t=k}while(0);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[g>>2]=(c[g>>2]|0)+8;Id(a,1,q);f=c[g>>2]|0;if((o|0)==(l|0)){u=l;v=f;break}else n=f}}else{u=r;v=s}c[v+4>>2]=0;c[g>>2]=v+8;Id(a,1,u);m=1;Ga=b;return m|0}function $f(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=Ga;Ga=Ga+16|0;e=b;f=b+4|0;g=a+16|0;h=c[c[g>>2]>>2]|0;i=h+8|0;j=a+8|0;k=c[j>>2]|0;if(i>>>0>=k>>>0|(i|0)==2060540){l=0;Ga=b;return l|0}if((c[h+12>>2]&15|0)!=5){l=0;Ga=b;return l|0}yc(a,k,i);i=c[j>>2]|0;k=i+8|0;c[j>>2]=k;h=c[i+4>>2]|0;do if((h|0)!=3){if((h&15|0)!=4)hf(a,45481,e)|0;m=c[i>>2]|0;if(!(Fc(m+16|0,c[m+12>>2]|0,f)|0))hf(a,45481,e)|0;else{n=c[f>>2]|0;o=c[j>>2]|0;break}}else{n=c[i>>2]|0;o=k}while(0);k=n>>16;i=o+-8|0;c[j>>2]=i;o=c[c[g>>2]>>2]|0;a:do if((i-(o+8)|0)>8)if((n|0)<65536){p=0;q=0}else{f=0;e=1;h=0;m=o;r=i;while(1){s=m+8|0;t=c[(s>>>0<r>>>0?s:2060540)>>2]|0;s=e+-1|0;b:do if(s>>>0<(c[t+28>>2]|0)>>>0)u=(c[t+12>>2]|0)+(s<<3)|0;else{v=e<<16;w=(c[t+16>>2]|0)+(((v|0)%((1<<(d[t+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[w+12>>2]|0)==3?(c[w+8>>2]|0)==(v|0):0)break;x=c[w+16>>2]|0;if(!x){u=2060540;break b}else w=x}u=w}while(0);c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];t=c[j>>2]|0;s=t+8|0;c[j>>2]=s;v=(c[c[g>>2]>>2]|0)+16|0;x=v>>>0<s>>>0?v:2060540;if(((t|0)!=2060540&(x|0)!=2060540?(c[t+4>>2]|0)==(c[x+4>>2]|0):0)?(Bc(a,t,x)|0)!=0:0)y=f+1|0;else y=f;x=(c[j>>2]|0)+-8|0;c[j>>2]=x;t=h+1|0;if((e|0)>=(k|0)){p=t;q=y;break a}f=y;e=e+1|0;h=t;m=c[c[g>>2]>>2]|0;r=x}}else{p=0;q=k}while(0);Rg(p);p=c[j>>2]|0;c[p>>2]=q<<16;c[p+4>>2]=3;c[j>>2]=(c[j>>2]|0)+8;l=1;Ga=b;return l|0}function ag(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=b+8|0;e=b+16|0;f=(c[d>>2]|0)-((c[c[e>>2]>>2]|0)+8)|0;g=f>>3;Gd(b,g,1);h=c[d>>2]|0;c[h>>2]=0;c[h+4>>2]=3;h=c[d>>2]|0;c[d>>2]=h+16;i=hd(b,45373,1)|0;c[h+8>>2]=i;c[h+12>>2]=(a[i+4>>0]|64)&255;i=c[d>>2]|0;qc(b,h+-8|0,i+-8|0,i+-16|0);i=c[d>>2]|0;h=i+-16|0;c[d>>2]=h;if((f|0)<=0)return 1;j=(c[c[e>>2]>>2]|0)+8|0;k=j>>>0<h>>>0?j:2060540;c[h>>2]=c[k>>2];c[i+-12>>2]=c[k+4>>2];c[d>>2]=(c[d>>2]|0)+8;Id(b,-2,1);k=c[d>>2]|0;i=(c[c[e>>2]>>2]|0)+8|0;e=i>>>0<k>>>0?i:2060540;c[e>>2]=c[k+-8>>2];c[e+4>>2]=c[k+-4>>2];c[d>>2]=(c[d>>2]|0)+-8;if((f|0)<=8)return 1;f=g;while(1){Id(b,1,f);if((f|0)>2)f=f+-1|0;else break}return 1}function bg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=Ga;Ga=Ga+32|0;e=b+16|0;f=b+8|0;g=b;h=b+20|0;i=a+16|0;j=c[c[i>>2]>>2]|0;k=j+8|0;l=a+8|0;m=c[l>>2]|0;if(!(k>>>0>=m>>>0|(k|0)==2060540)){k=c[j+12>>2]&15;if((k|0)==5){n=j;o=m}else{p=k+1|0;q=4}}else{p=0;q=4}if((q|0)==4){q=c[16+(p<<2)>>2]|0;c[g>>2]=43216;c[g+4>>2]=q;gf(a,1,Bd(a,45446,g)|0)|0;n=c[c[i>>2]>>2]|0;o=c[l>>2]|0}g=n+16|0;if(!(g>>>0>=o>>>0|(g|0)==2060540)?(c[n+20>>2]&15|0)!=0:0){g=mf(a,2)|0;r=c[c[i>>2]>>2]|0;s=c[l>>2]|0;t=g}else{r=n;s=o;t=1}o=r+24|0;if(!(o>>>0>=s>>>0|(o|0)==2060540)?(c[r+28>>2]&15|0)!=0:0)u=mf(a,3)|0;else{o=r+8|0;yc(a,s,o>>>0<s>>>0?o:2060540);o=c[l>>2]|0;s=o+8|0;c[l>>2]=s;r=c[o+4>>2]|0;do if((r|0)!=3){if((r&15|0)!=4)hf(a,45481,f)|0;n=c[o>>2]|0;if(!(Fc(n+16|0,c[n+12>>2]|0,h)|0))hf(a,45481,f)|0;else{v=c[h>>2]|0;w=c[l>>2]|0;break}}else{v=c[o>>2]|0;w=s}while(0);c[l>>2]=w+-8;u=v>>16}if((u|0)<(t|0)){x=0;Ga=b;return x|0}v=u-t|0;w=v+1|0;if((v|0)<0)hf(a,46140,e)|0;c[h>>2]=w;s=c[i>>2]|0;o=c[l>>2]|0;do if(((c[a+24>>2]|0)-o>>3|0)>(w|0)){y=o;z=w}else{if(((o-(c[a+28>>2]|0)>>3)+5|0)<=(999999-v|0)?(fc(a,5,h)|0)==0:0){y=c[l>>2]|0;z=c[h>>2]|0;break}hf(a,46140,e)|0}while(0);e=s+4|0;s=y+(z<<3)|0;if((c[e>>2]|0)>>>0<s>>>0)c[e>>2]=s;s=(c[c[i>>2]>>2]|0)+8|0;e=c[(s>>>0<y>>>0?s:2060540)>>2]|0;s=t+-1|0;a:do if(s>>>0<(c[e+28>>2]|0)>>>0)A=(c[e+12>>2]|0)+(s<<3)|0;else{z=t<<16;a=0-z|0;h=(c[e+16>>2]|0)+(((((z|0)<0?((z|0)==(a|0)?0:a):z)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==(z|0):0)break;a=c[h+16>>2]|0;if(!a){A=2060540;break a}else h=a}A=h}while(0);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];A=(c[l>>2]|0)+8|0;c[l>>2]=A;if((u|0)<=(t|0)){x=w;Ga=b;return x|0}y=t;t=A;while(1){A=y;y=y+1|0;e=(c[c[i>>2]>>2]|0)+8|0;s=c[(e>>>0<t>>>0?e:2060540)>>2]|0;b:do if(A>>>0<(c[s+28>>2]|0)>>>0)B=(c[s+12>>2]|0)+(A<<3)|0;else{e=y<<16;z=0-e|0;a=(c[s+16>>2]|0)+(((((e|0)<0?((e|0)==(z|0)?0:z):e)|0)%((1<<(d[s+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[a+12>>2]|0)==3?(c[a+8>>2]|0)==(e|0):0)break;z=c[a+16>>2]|0;if(!z){B=2060540;break b}else a=z}B=a}while(0);c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];t=(c[l>>2]|0)+8|0;c[l>>2]=t;if((y|0)==(u|0)){x=w;break}}Ga=b;return x|0}function cg(){c[515140]=0;return}function dg(){var a=0,b=0,d=0,e=0,f=0;a=c[515139]|0;b=c[8676]|0;if((a|0)<=(b|0)){d=0;c[515139]=d;return}e=c[515138]|0;f=a;do{e=e+b|0;f=f-b|0}while((f|0)>(b|0));c[515138]=e;d=f;c[515139]=d;return}function eg(){return c[515141]|0}function fg(a){a=a|0;c[515141]=a;return}function gg(){return (c[515139]|0)+(c[515138]|0)|0}function hg(a){a=a|0;c[515139]=(c[515139]|0)+a;return 0}function ig(a){a=a|0;c[8676]=a;return}function jg(){c[515138]=0;c[515139]=0;return}function kg(){c[515140]=1;c[515141]=1;return}function lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[515150]|0;if((e|0)>510)return;rm(157584+(e*1320|0)|0,a)|0;rm(157584+((c[515150]|0)*1320|0)+256|0,b)|0;b=c[515150]|0;c[157584+(b*1320|0)+1316>>2]=d;rm(157584+(b*1320|0)+288|0,2931520)|0;c[515150]=(c[515150]|0)+1;return}function mg(){c[749876]=0;c[515150]=0;return}function ng(){var a=0;a=c[515150]|0;return ((a|0)<1?0:157584+((a+-1|0)*1320|0)+256|0)|0}function og(){var a=0;a=c[515150]|0;return ((a|0)<1?0:157584+((a+-1|0)*1320|0)|0)|0}function pg(){var a=0,b=0;a=c[515150]|0;if((a|0)<1)return;b=a+-1|0;if(!(c[157584+(b*1320|0)+1316>>2]|0))return;c[515150]=b;return}function qg(){var a=0,b=0;a=c[515150]|0;if(!a)return;b=157584+((a+-1|0)*1320|0)+1316|0;if(!(c[b>>2]|0))return;c[b>>2]=0;return}function rg(){var a=0;a=c[515150]|0;if((a|0)<1)return;Tb(157584+((a+-1|0)*1320|0)|0)|0;c[732413]=1;a=c[515150]|0;rm(2932545,(a|0)<1?0:157584+((a+-1|0)*1320|0)+288|0)|0;c[732416]=20;a=c[515150]|0;if((a|0)>=1)c[515150]=a+-1;c[406684]=0;return}function sg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=(c[694853]|0)!=0;f=c[732408]|0;if(e&(f|0)==0){Zt(b)|0;return}if(!((a[2023180]|0)==0|e^1)){Zt(b)|0;return}if((f|0)!=2)ma(17,b|0,Ms(b)|0)|0;f=Ms(b)|0;if((f|0)>32){e=~f;g=((f+((e|0)>-65?e:-65)+32|0)>>>5)*6|0;e=f;while(1){Xa();if((e|0)>64)e=e+-32|0;else break}h=g+6|0}else h=0;g=(c[732521]|0)-h|0;c[732521]=g;e=c[694838]|0;Hm(e,0,g,127,g+5+((((Ms(b)|0)+-1|0)>>>5)*6|0)|0,0);rn(c[694838]|0,b,c[694857]|0,c[732520]|0,c[732521]|0,17,d)|0;c[732521]=(c[732521]|0)+h;Xa();return}function tg(a){a=a|0;sg(a,6);return}function ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=b;c[f+4>>2]=d;as(1470512,a,f)|0;sg(1470512,6);Ga=e;return}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ga;Ga=Ga+16|0;g=f;c[g>>2]=b;c[g+4>>2]=d;as(1470512,a,g)|0;sg(1470512,e);Ga=f;return}function wg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ga;Ga=Ga+48|0;f=e+24|0;g=e+8|0;h=e;i=e+32|0;j=e+28|0;if(Lt(b,46376)|0){k=0;Ga=e;return k|0}l=Lt(b,46392)|0;if(!l){if(!b){k=0;Ga=e;return k|0}m=mp((Ms(b)|0)+1|0)|0;rm(m,b)|0;n=m+(Ms(m)|0)|0;o=n+-1|0;a:do if(o>>>0>m>>>0){p=o;q=n;while(1){if((a[p>>0]|0)==58){r=p;s=q;break a}t=p+-1|0;if(t>>>0>m>>>0){u=p;p=t;q=u}else{r=t;s=p;break}}}else{r=o;s=n}while(0);Ut(833424,(a[r>>0]|0)==58?s+1|0:r,1023)|0;a[834447]=0;op(m);k=833424;Ga=e;return k|0}c[i>>2]=0;c[j>>2]=0;m=Lt(b,46403)|0;if(m|0){c[i>>2]=0;c[h>>2]=i;c[h+4>>2]=j;At(m+8|0,46412,h)|0}h=mp((Ms(b)|0)+1|0)|0;rm(h,l+10|0)|0;l=h;b:while(1){v=l+1|0;switch(a[v>>0]|0){case 0:case 39:{break b;break}default:l=v}}a[v>>0]=0;if(!d){c[f>>2]=h;as(1470512,46457,f)|0}else{f=c[i>>2]|0;d=c[j>>2]|0;c[g>>2]=h;c[g+4>>2]=f;c[g+8>>2]=d;as(1470512,46424,g)|0}sg(1470512,6);g=c[i>>2]|0;if((g|0)>0?(i=c[730002]|0,d=g+-1|0,(pr(c[i>>2]|0,c[i+336>>2]|0)|0)!=(d|0)):0){i=qr(c[c[730002]>>2]|0,d)|0;d=c[730002]|0;c[d+336>>2]=i;nr(d,52);c[406690]=g}op(h);k=0;Ga=e;return k|0}function xg(b){b=b|0;var c=0,d=0;c=kp(8192)|0;rm(c,b)|0;if(!(Lt(b,46469)|0)){if(!(Cs(b,46526)|0)){op(c);return}sg(c,6);op(c);return}if(Lt(b,46486)|0?(sg(46486,6),a[3000884]|0):0)sg(3000884,7);d=Lt(b,46503)|0;if(!d){op(c);return}Vs(1470512,d)|0;a[1470512+((Ms(1470512)|0)+-1)>>0]=0;sg(1470512,6);op(c);return}function yg(a){a=a|0;var b=0;if(!a){b=gg()|0;return b|0}else{b=c[694834]|0;return b|0}return 0}function zg(){var a=0;a=c[515148]|0;if(a|0)Wf(a);a=sf(1,0)|0;c[515148]=a;c[515147]=a;c[515149]=Tf(a)|0;Xh(c[515147]|0);return}function Ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!e){f=0;g=b}else{e=kp(262144)|0;am(b,e)|0;f=e;g=e}op(c[515151]|0);if(!g){e=mp(16)|0;c[515151]=e;a[e>>0]=0;op(f);h=c[515151]|0;return h|0}e=(Ms(g)|0)+1|0;b=mp(e>>>0>32?e:32)|0;c[515151]=b;rm(b,g)|0;g=c[515151]|0;b=a[g>>0]|0;a:do if(b<<24>>24){e=g;i=1;j=b;while(1){if((i|0)==(d|0))break;k=j<<24>>24==0;l=e+1|0;if(k^j<<24>>24!=10){m=l;while(1){n=a[m>>0]|0;o=n<<24>>24==0;p=m+1|0;if(o^n<<24>>24!=10)m=p;else{q=m;r=p;s=o;break}}}else{q=e;r=l;s=k}m=s?q:r;o=a[m>>0]|0;if(!(o<<24>>24))break a;else{e=m;i=i+1|0;j=o}}i=e;o=j;b:while(1){switch(o<<24>>24){case 0:case 10:{break b;break}default:{}}m=i+1|0;i=m;o=a[m>>0]|0}a[i>>0]=0;op(f);h=e;return h|0}while(0);rm(g,46544)|0;op(f);h=c[515151]|0;return h|0}function Bg(){var b=0,d=0,e=0,f=0,g=0;b=c[732520]|0;d=c[732521]|0;e=Ak(0)|0;f=Ak(1)|0;g=fk(2779320,c[733490]|0,24375)|0;hk(2779320,c[733490]|0,24320,0,128);c[732520]=b;c[732521]=d;Bk(0,e);Bk(1,f);ek(2779320,c[733490]|0,24375,g);c[732520]=0;c[732519]=6;c[732530]=15;c[732529]=15;c[732528]=255;c[732533]=0;c[732534]=0;c[732536]=0;c[732525]=0;c[732524]=0;c[732499]=0;c[732484]=1;c[732500]=1;c[732485]=2;c[732501]=2;c[732486]=3;c[732502]=3;c[732487]=4;c[732503]=4;c[732488]=5;c[732504]=5;c[732489]=6;c[732505]=6;c[732490]=7;c[732506]=7;c[732491]=8;c[732507]=8;c[732492]=9;c[732508]=9;c[732493]=10;c[732509]=10;c[732494]=11;c[732510]=11;c[732495]=12;c[732511]=12;c[732496]=13;c[732512]=13;c[732497]=14;c[732513]=14;c[732498]=15;c[732514]=15;c[732483]=16;c[732527]=0;Pm(c[694838]|0);c[732516]=0;c[732515]=0;c[732518]=128;c[732517]=128;c[732532]=0;a[3000884]=0;c[732879]=0;c[505786]=0;c[749878]=0;c[749879]=0;c[749880]=0;c[694831]=0;c[750349]=0;im();if(c[750218]|0){c[694833]=0;c[732868]=0;om();return}c[405846]=0;c[405849]=0;c[694833]=0;c[732868]=0;om();return}function Cg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=Ga;Ga=Ga+160|0;e=d+136|0;f=d+128|0;g=d+120|0;h=d+112|0;i=d+104|0;j=d+96|0;k=d+88|0;l=d+80|0;m=d+72|0;n=d+64|0;o=d+56|0;p=d+48|0;q=d+40|0;r=d+32|0;s=d+24|0;t=d+16|0;u=d+8|0;v=d;w=d+144|0;c[w>>2]=0;c[732519]=6;if(_r(b,46550,6)|0)if(!(_r(b,46557,5)|0))x=b+5|0;else{if(_r(b,46677,14)|0)if(_r(b,46692,13)|0){if(!(_r(b,46869,7)|0)){c[v>>2]=w;At(b+7|0,59339,v)|0;v=c[w>>2]|0;y=(v|0)<256?v:256;v=(y|0)>8?y:8;c[w>>2]=v;c[505793]=v;if(c[515970]|0)c[515970]=v;c[u>>2]=v;as(1470512,46877,u)|0;sg(1470512,14);Ga=d;return}if(!(_r(b,57683,6)|0)){sg(46892,14);sg(46912,12);c[t>>2]=c[505793];c[t+4>>2]=0;as(1470512,46937,t)|0;sg(1470512,6);Ga=d;return}if(!(_r(b,46956,8)|0)){c[s>>2]=w;At(b+8|0,59339,s)|0;s=c[w>>2]|0;t=(s|0)<120?s:120;s=(t|0)>1?t:1;c[w>>2]=s;c[405834]=s;c[r>>2]=s;as(1470512,46965,r)|0;sg(1470512,14);qh();Ga=d;return}if(!(_r(b,46981,7)|0)){sg(46989,14);c[q>>2]=c[405834];c[q+4>>2]=0;as(1470512,47014,q)|0;sg(1470512,6);Ga=d;return}if(!(_r(b,47034,15)|0)){c[p>>2]=w;At(b+15|0,59339,p)|0;p=c[w>>2]|0;q=(p|0)<1?p:1;p=(q|0)>0?q:0;c[w>>2]=p;c[405835]=p;c[o>>2]=p;as(1470512,47050,o)|0;sg(1470512,14);Ga=d;return}if(!(_r(b,47073,14)|0)){sg(47088,14);sg(47117,12);sg(47149,12);sg(3002004,6);c[n>>2]=c[405835];c[n+4>>2]=0;as(1470512,47180,n)|0;sg(1470512,6);Ga=d;return}n=b+10|0;if(!(_r(b,47207,10)|0)){c[m>>2]=w;At(n,59339,m)|0;m=c[w>>2]|0;o=(m|0)<8?m:8;m=(o|0)>1?o:1;c[w>>2]=m;c[405831]=m;c[l>>2]=m;as(1470512,47218,l)|0;sg(1470512,14);Ga=d;return}if(!(_r(b,47236,9)|0)){sg(47246,14);c[k>>2]=c[405831];c[k+4>>2]=0;as(1470512,47270,k)|0;sg(1470512,6);Ga=d;return}if(!(_r(b,47292,17)|0)){c[j>>2]=w;At(b+17|0,59339,j)|0;j=c[w>>2]|0;k=(j|0)<8?j:8;j=(k|0)>1?k:1;c[w>>2]=j;c[405830]=j;c[i>>2]=j;as(1470512,47310,i)|0;sg(1470512,14);Ga=d;return}if(!(_r(b,47335,16)|0)){sg(47352,14);c[h>>2]=c[405830];c[h+4>>2]=0;as(1470512,47383,h)|0;sg(1470512,6);Ga=d;return}if(!(_r(b,47412,10)|0)){c[g>>2]=w;At(n,59339,g)|0;g=c[w>>2]|0;n=(g|0)<8?g:8;g=(n|0)>1?n:1;c[w>>2]=g;c[405828]=g;c[f>>2]=g;as(1470512,47423,f)|0;sg(1470512,14);Ga=d;return}if(!(_r(b,47441,9)|0)){sg(47451,14);c[e>>2]=c[405828];c[e+4>>2]=0;as(1470512,47476,e)|0;sg(1470512,6);Ga=d;return}else{sg(47498,14);sg(3002004,6);sg(47515,12);c[732519]=14;sg(57683,6);sg(46557,6);sg(46981,6);sg(47073,6);sg(47236,6);sg(47335,6);sg(46692,6);sg(47441,6);sg(3002004,6);Ga=d;return}}else z=b+13|0;else z=b+14|0;if(!(_r(z,46706,2)|0)){c[405842]=1;sg(46709,14);Ga=d;return}if(!(_r(z,46719,3)|0)){c[405842]=0;sg(46723,14);Ga=d;return}switch(a[z>>0]|0){case 49:{c[405842]=1;sg(46709,14);Ga=d;return}case 48:{c[405842]=0;sg(46723,14);Ga=d;return}default:{sg(46734,14);sg(3002004,6);sg(46759,6);sg(46789,6);sg(3002004,6);if(!((c[405842]|0)!=0?(sg(46820,12),(c[405842]|0)!=0):0))sg(46844,12);sg(3002004,6);Ga=d;return}}}else x=b+6|0;if(!(_r(x,46563,4)|0)){c[405836]=1;sg(46568,14);Ga=d;return}if(!(_r(x,46586,4)|0)){c[405836]=0;sg(46591,14);Ga=d;return}if(!(_r(x,46609,7)|0)){c[405836]=3;sg(46617,14);Ga=d;return}else{sg(46638,14);sg(3002004,6);sg(46659,12);sg(46586,6);sg(46563,6);sg(46609,6);sg(3002004,6);Ga=d;return}}function Dg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=(Iq()|0)/120|0;if((c[506573]|0)==0|(c[694831]|0)<240)return;d=gg()|0;e=yu(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;f=c[749942]|0;g=8388608/(((f|0)==0?30:f)|0)|0;f=su(e|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;G()|0;if((c[732408]|0)!=1|(f|0)<7864320|(c[732414]|0)==0)return;f=4;do{g=B(f+1001|0,b)|0;d=B(f,b)|0;e=f+-1|0;h=f|1;if(((((g*41|0)+103|0)%4701|0|0)%97|0)&4|0){Hm(a,3,e,5,h,0);Mm(a,4,f,((io(2)|0)<<1)+12|0)}if(((((d<<2)+103|0)%4701|0|0)%101|0)&8|0){Hm(a,3,e,5,h,0);Mm(a,4,f,7)}if(((((g*43|0)+103|0)%4701|0|0)%97|0)&4|0){Hm(a,5,e,7,h,0);Mm(a,6,f,((io(2)|0)<<1)+12|0)}if(((((d*6|0)+103|0)%4701|0|0)%101|0)&8|0){Hm(a,5,e,7,h,0);Mm(a,6,f,7)}if(((((g*45|0)+103|0)%4701|0|0)%97|0)&4|0){Hm(a,7,e,9,h,0);Mm(a,8,f,((io(2)|0)<<1)+12|0)}if(((((d<<3)+103|0)%4701|0|0)%101|0)&8|0){Hm(a,7,e,9,h,0);Mm(a,8,f,7)}f=f+2|0}while(f>>>0<10);return}function Eg(a){a=a|0;var b=0,d=0,e=0;b=yu(a|0,((a|0)<0)<<31>>31|0,16)|0;a=G()|0;d=c[749942]|0;e=8388608/(((d|0)==0?30:d)|0)|0;d=su(b|0,a|0,e|0,((e|0)<0)<<31>>31|0)|0;G()|0;return d|0}function Fg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;b=Ga;Ga=Ga+48|0;d=b+16|0;e=b;if(!((c[732408]|0)==1&(c[732414]|0)!=0)){Ga=b;return}Wj(a,60,4,123,26,0);Im(a,60,4,124,27);f=0;do{h=((c[506570]|0)+f|0)%64|0;if(!f)i=60;else{j=f+60|0;k=c[2024232+(h<<5)+20>>2]|0;Mm(a,j,((k|0)/32768|0)+2|0,(k|0)>131071?8:2);i=j}Mm(a,i,19-(c[2024232+(h<<5)+16>>2]|0)|0,2);l=2024232+(h<<5)+4|0;j=c[l>>2]|0;k=(j|0)<98303?j:98303;j=c[2024232+(h<<5)+12>>2]|0;Mm(a,i,19-((((k|0)>0?k:0)>>>0)/6144|0)|0,(j|0)==0?1:j);f=f+1|0}while((f|0)!=64);if(!(fn(225)|0)){f=c[749942]|0;m=+(c[l>>2]|0)*.0000152587890625;n=+((c[506563]|0)+((c[506555]|0)+((c[506547]|0)+((c[506539]|0)+((c[506531]|0)+((c[506523]|0)+((c[506515]|0)+((c[506507]|0)+((c[506499]|0)+((c[506491]|0)+((c[506483]|0)+((c[506475]|0)+((c[506467]|0)+((c[506459]|0)+((c[506451]|0)+((c[506443]|0)+((c[506435]|0)+((c[506427]|0)+((c[506419]|0)+((c[506411]|0)+((c[506403]|0)+((c[506395]|0)+((c[506387]|0)+((c[506379]|0)+((c[506371]|0)+((c[506363]|0)+((c[506355]|0)+((c[506347]|0)+((c[506339]|0)+((c[506331]|0)+((c[506323]|0)+((c[506315]|0)+((c[506307]|0)+((c[506299]|0)+((c[506291]|0)+((c[506283]|0)+((c[506275]|0)+((c[506267]|0)+((c[506259]|0)+((c[506251]|0)+((c[506243]|0)+((c[506235]|0)+((c[506227]|0)+((c[506219]|0)+((c[506211]|0)+((c[506203]|0)+((c[506195]|0)+((c[506187]|0)+((c[506179]|0)+((c[506171]|0)+((c[506163]|0)+((c[506155]|0)+((c[506147]|0)+((c[506139]|0)+((c[506131]|0)+((c[506123]|0)+((c[506115]|0)+((c[506107]|0)+((c[506099]|0)+((c[506091]|0)+((c[506083]|0)+((c[506075]|0)+((c[506067]|0)+(c[506059]|0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))|0)*2.384185791015625e-07;c[d>>2]=c[749941];c[d+4>>2]=f;g[d+8>>3]=m;g[d+16>>3]=n;as(1470512,47551,d)|0;rn(a,1470512,c[694857]|0,63,20,1,(c[749941]|0)<(c[749942]|0)?8:13)|0}else{d=c[749942]|0;n=+(c[2024232+(h<<5)+24>>2]|0);c[e>>2]=c[749941];c[e+4>>2]=d;g[e+8>>3]=n;as(1470512,47535,e)|0;rn(a,1470512,c[694857]|0,63,20,1,(c[749941]|0)<(c[749942]|0)?8:13)|0}Pm(a);Om(a,59,3,124,27,0);Ga=b;return}function Gg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=c[506570]|0;b=(c[749877]|0)+(c[732537]|0)|0;d=(b|0)>2097152?134217728:b<<6;c[2024232+(a<<5)>>2]=(d|0)>0?d:0;d=gg()|0;b=yu(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;e=c[749942]|0;f=8388608/(((e|0)==0?30:e)|0)|0;g=((f|0)<0)<<31>>31;h=su(b|0,d|0,f|0,g|0)|0;G()|0;c[2024232+(a<<5)+4>>2]=h;h=c[694834]|0;d=yu(h|0,((h|0)<0)<<31>>31|0,16)|0;h=su(d|0,G()|0,f|0,g|0)|0;G()|0;c[2024232+(a<<5)+8>>2]=h;c[2024232+(a<<5)+12>>2]=(c[505790]|0)==0?((c[749941]|0)<(e|0)?14:6):7;c[2024232+(a<<5)+20>>2]=c[505789];c[2024232+(a<<5)+24>>2]=oq()|0;a=((c[506570]|0)+1|0)%64|0;c[506570]=a;e=2024232+(a<<5)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;return}function Hg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=Ga;Ga=Ga+128|0;f=e+104|0;g=e+88|0;h=e+80|0;i=e+72|0;j=e+64|0;k=e+112|0;l=e;c[506573]=0;if((Cs(b,47569)|0?Cs(b,47576)|0:0)?Cs(b,67514)|0:0){if(Cs(b,67771)|0?!((a[b>>0]|0)==0&(c[406689]|0)!=0):0){c[406689]=0;Ah(c[515147]|0);c[694851]=0;if(!(c[732414]|0)){a[1693844]=0;a[1955988]=0;c[505381]=0}c[694835]=1;c[694835]=(Lt(b,53351)|0)==0&1;if(!((Lt(b,47603)|0)==0?!(Lt(b,54186)|0):0))_q();c[506573]=(Lt(b,47611)|0)!=0&1;c[694834]=0;c[694836]=0;jg();ig(279620);c[k>>2]=0;m=(d|0)!=0;d=(m^1)&1;n=mp(262144)|0;a:do if(!(am(b,n)|0)){do if(!m){if((Ms(n)|0)>>>0>65536){sg(47618,6);c[j>>2]=Ms(n)|0;c[j+4>>2]=65536;as(1470512,47645,j)|0;sg(1470512,6);op(n);break a}o=dh(n)|0;if((o|0)>8192){sg(47660,6);c[i>>2]=o;c[i+4>>2]=8192;as(1470512,47678,i)|0;sg(1470512,6);op(n);break a}else{p=c[515148]|0;c[515147]=p;q=o*12|0;r=p;break}}else{p=c[515149]|0;c[515147]=p;q=0;r=p}while(0);Ye(r);Eu(898960,0,262144)|0;rm(898960,47694)|0;if(!((Cs(2926560,58273)|0)!=0?(Cs(2926560,51086)|0)!=0:0)){p=898960+(Ms(898960)|0)|0;a[p>>0]=a[51092]|0;a[p+1>>0]=a[51093]|0;a[p+2>>0]=a[51094]|0;a[p+3>>0]=a[51095]|0;a[p+4>>0]=a[51096]|0;a[p+5>>0]=a[51097]|0;a[p+6>>0]=a[51098]|0}p=mp(262144)|0;tk(n,p);Ws(898960,p)|0;op(n);op(p);if(53542){p=992;o=53542;do{Vs(l,o)|0;s=c[p>>2]|0;if(!(Cs(b,s)|0)){c[h>>2]=47694;c[h+4>>2]=l;as(898960,51099,h)|0;t=c[p>>2]|0}else t=s;s=Ms(b)|0;u=Ms(t)|0;b:do if(s>>>0>=(u+2|0)>>>0?(_r(b,t,u)|0)==0:0){v=b+u|0;switch(a[v>>0]|0){case 32:case 0:break;default:break b}if((a[b+(u+1)>>0]|0)==34)break;c[g>>2]=47694;c[g+4>>2]=l;c[g+8>>2]=v+1;as(898960,51107,g)|0}while(0);p=p+4|0;o=c[p>>2]|0}while((o|0)!=0)}if(!(Cs(b,57117)|0)){o=898960;p=51119;u=o+9|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(u|0))}if((_r(b,51128,6)|0)==0?(a[b+6>>0]|0)<33:0){Cg(b+7|0);rm(898960,3002004)|0}Ws(898960,m?51135:51159)|0;c[749875]=1;p=of(c[515147]|0,898960)|0;c[749875]=0;c[749877]=q;if(!p){pk();c[749949]=0;if((c[732413]|0)==1)Bg();c[732408]=1;c[732414]=d;break}c[732519]=6;c:do if(m){sg(52516,14);w=d;x=0}else{p=Ig(c[8675]|0,k)|0;do if((p|0)>0){o=c[730002]|0;u=p+-1|0;if((pr(c[o>>2]|0,c[o+336>>2]|0)|0)==(u|0))break;o=qr(c[c[730002]>>2]|0,u)|0;u=c[730002]|0;c[u+336>>2]=o;nr(u,52);c[406690]=p}else{if(p|0)break;sg(52516,14);w=d;x=0;break c}while(0);u=c[k>>2]|0;c[f>>2]=p;c[f+4>>2]=u;as(1470512,52529,f)|0;sg(1470512,14);u=Ag(b,(c[8675]|0)+-2|0,1)|0;if(!u){w=0;x=0;break}sg(u,7);w=0;x=u}while(0);u=wg(rd(c[515147]|0,-1,0)|0,w)|0;do if(u|0){if(Cs(u,52559)|0){sg(u,6);break}if(!(Lt(x,53006)|0)){sg(52588,6);break}else{sg(u,6);break}}while(0);c[406683]=1}else op(n);while(0);Ga=e;return}n=c[515148]|0;if((n|0)!=0&(c[506574]|0)!=0){c[515147]=n;c[515689]=0;c[732414]=1;c[732408]=1;pk();c[406689]=1;Ga=e;return}else{sg(47585,6);Ga=e;return}}n=c[515148]|0;if((n|0)!=0&(c[506574]|0)!=0){c[515147]=n;c[515689]=0;c[732414]=1;c[732408]=1;pk();c[406689]=0;Ga=e;return}else{sg(47585,6);Ga=e;return}}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=Ga;Ga=Ga+16|0;e=d;f=a+-2|0;a=kp(262144)|0;am(c[c[729986]>>2]|0,a)|0;g=pr(a,1048576)|0;op(a);a=g+2|0;if((f|0)>(a|0)){g=f-a|0;a=kp(262144)|0;am(c[c[729987]>>2]|0,a)|0;h=pr(a,1048576)|0;op(a);a=h+2|0;if((g|0)>(a|0)){h=g-a|0;a=kp(262144)|0;am(c[c[729988]>>2]|0,a)|0;i=pr(a,1048576)|0;op(a);a=i+2|0;if((h|0)>(a|0)){i=h-a|0;a=kp(262144)|0;am(c[c[729989]>>2]|0,a)|0;j=pr(a,1048576)|0;op(a);a=j+2|0;if((i|0)>(a|0)){j=i-a|0;a=kp(262144)|0;am(c[c[729990]>>2]|0,a)|0;k=pr(a,1048576)|0;op(a);a=k+2|0;if((j|0)>(a|0)){k=j-a|0;a=kp(262144)|0;am(c[c[729991]>>2]|0,a)|0;l=pr(a,1048576)|0;op(a);a=l+2|0;if((k|0)>(a|0)){l=k-a|0;a=kp(262144)|0;am(c[c[729992]>>2]|0,a)|0;m=pr(a,1048576)|0;op(a);a=m+2|0;if((l|0)>(a|0)){m=l-a|0;a=kp(262144)|0;am(c[c[729993]>>2]|0,a)|0;n=pr(a,1048576)|0;op(a);a=n+2|0;if((m|0)>(a|0)){n=m-a|0;a=kp(262144)|0;am(c[c[729994]>>2]|0,a)|0;o=pr(a,1048576)|0;op(a);a=o+2|0;if((n|0)>(a|0)){o=n-a|0;a=kp(262144)|0;am(c[c[729995]>>2]|0,a)|0;p=pr(a,1048576)|0;op(a);a=p+2|0;if((o|0)>(a|0)){p=o-a|0;a=kp(262144)|0;am(c[c[729996]>>2]|0,a)|0;q=pr(a,1048576)|0;op(a);a=q+2|0;if((p|0)>(a|0)){q=p-a|0;a=kp(262144)|0;am(c[c[729997]>>2]|0,a)|0;r=pr(a,1048576)|0;op(a);a=r+2|0;if((q|0)>(a|0)){r=q-a|0;a=kp(262144)|0;am(c[c[729998]>>2]|0,a)|0;s=pr(a,1048576)|0;op(a);a=s+2|0;if((r|0)>(a|0)){s=r-a|0;a=kp(262144)|0;am(c[c[729999]>>2]|0,a)|0;t=pr(a,1048576)|0;op(a);a=t+2|0;if((s|0)>(a|0)){t=s-a|0;a=kp(262144)|0;am(c[c[73e4]>>2]|0,a)|0;u=pr(a,1048576)|0;op(a);a=u+2|0;if((t|0)>(a|0)){u=t-a|0;a=kp(262144)|0;am(c[c[730001]>>2]|0,a)|0;v=pr(a,1048576)|0;op(a);if((u|0)>(v+2|0)){if(!b){w=0;Ga=d;return w|0}c[b>>2]=0;w=0;Ga=d;return w|0}else{x=15;y=u}}else{x=14;y=t}}else{x=13;y=s}}else{x=12;y=r}}else{x=11;y=q}}else{x=10;y=p}}else{x=9;y=o}}else{x=8;y=n}}else{x=7;y=m}}else{x=6;y=l}}else{x=5;y=k}}else{x=4;y=j}}else{x=3;y=i}}else{x=2;y=h}}else{x=1;y=g}}else{x=0;y=f}if(b|0)c[b>>2]=x;if((bm()|0)<=0){w=y;Ga=d;return w|0}x=0;b=y;while(1){if((y|0)>(cm(x)|0)?(y|0)<=(dm(x)|0):0)break;if((y|0)>(dm(x)|0)){f=dm(x)|0;z=b+1-f+(cm(x)|0)|0}else z=b;f=x+1|0;if((f|0)<(bm()|0)){x=f;b=z}else{w=z;A=14;break}}if((A|0)==14){Ga=d;return w|0}A=em(x)|0;z=y-(cm(x)|0)|0;c[e>>2]=A;c[e+4>>2]=z;as(1470512,52611,e)|0;sg(1470512,9);w=1-y+b+(cm(x)|0)|0;Ga=d;return w|0}function Jg(){var a=0,b=0,d=0;a=c[732414]|0;b=(a|0)!=0;if(b)c[515148]=c[515147];if((c[694852]|0)>0)return;if(a|0){c[515689]=1;c[694851]=0;cl()|0;if(!((fk(2779320,c[733490]|0,24366)|0)&1)){c[732499]=0;c[732500]=1;c[732501]=2;c[732502]=3;c[732503]=4;c[732504]=5;c[732505]=6;c[732506]=7;c[732507]=8;c[732508]=9;c[732509]=10;c[732510]=11;c[732511]=12;c[732512]=13;c[732513]=14;c[732514]=15}if(!((fk(2779320,c[733490]|0,24366)|0)&2))ek(2779320,c[733490]|0,24415,0);if(!((fk(2779320,c[733490]|0,24366)|0)&4)){c[732871]=0;c[732872]=0;c[732873]=0;c[732874]=0;c[732875]=0;c[732876]=0;c[732877]=0;c[732878]=0}if(!((fk(2779320,c[733490]|0,24366)|0)&8)){c[732530]=15;c[732529]=15;c[732528]=255}Pl();if(!(c[406683]|0))c[406683]=1}c[732408]=0;c[694849]=0;c[732525]=0;c[732524]=0;Pm(c[694838]|0);Zj(0);c[732520]=0;a=c[732521]|0;d=(a|0)<120?a:120;c[732521]=(d|0)>0?d:0;if(b?cn()|0:0)do dn()|0;while((cn()|0)!=0);c[405846]=0;return}function Kg(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[730004]|0;d=(a[c[c[729986]>>2]>>0]|0)==0;e=(b|0)==1?1:(a[c[c[729987]>>2]>>0]|0)!=0;f=(b|0)==2?1:(a[c[c[729988]>>2]>>0]|0)!=0;g=(b|0)==3?1:(a[c[c[729989]>>2]>>0]|0)!=0;h=(b|0)==4?1:(a[c[c[729990]>>2]>>0]|0)!=0;i=(b|0)==5?1:(a[c[c[729991]>>2]>>0]|0)!=0;j=(b|0)==6?1:(a[c[c[729992]>>2]>>0]|0)!=0;k=(b|0)==7?1:(a[c[c[729993]>>2]>>0]|0)!=0;l=(b|0)==8?1:(a[c[c[729994]>>2]>>0]|0)!=0;m=(b|0)==9?1:(a[c[c[729995]>>2]>>0]|0)!=0;n=(b|0)==10?1:(a[c[c[729996]>>2]>>0]|0)!=0;o=(b|0)==11?1:(a[c[c[729997]>>2]>>0]|0)!=0;p=(b|0)==12?1:(a[c[c[729998]>>2]>>0]|0)!=0;q=(b|0)==13?1:(a[c[c[729999]>>2]>>0]|0)!=0;r=(b|0)==14?1:(a[c[c[73e4]>>2]>>0]|0)!=0;s=(b|0)==15?1:(a[c[c[730001]>>2]>>0]|0)!=0;a[c[c[17264]>>2]>>0]=0;t=s?15:r?14:q?13:p?12:o?11:n?10:m?9:l?8:k?7:j?6:i?5:h?4:g?3:f?2:e?1:((b|0)!=0&d)<<31>>31;Ws(c[c[17264]>>2]|0,c[c[729986]>>2]|0)|0;if((t|0)>0){d=c[c[17264]>>2]|0;b=d+(Ms(d)|0)|0;a[b>>0]=a[52623]|0;a[b+1>>0]=a[52624]|0;a[b+2>>0]=a[52625]|0;a[b+3>>0]=a[52626]|0;a[b+4>>0]=a[52627]|0;a[b+5>>0]=a[52628]|0;a[b+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[729987]>>2]|0)|0;if((t|0)>1){b=c[c[17264]>>2]|0;d=b+(Ms(b)|0)|0;a[d>>0]=a[52623]|0;a[d+1>>0]=a[52624]|0;a[d+2>>0]=a[52625]|0;a[d+3>>0]=a[52626]|0;a[d+4>>0]=a[52627]|0;a[d+5>>0]=a[52628]|0;a[d+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[729988]>>2]|0)|0;if((t|0)>2){d=c[c[17264]>>2]|0;b=d+(Ms(d)|0)|0;a[b>>0]=a[52623]|0;a[b+1>>0]=a[52624]|0;a[b+2>>0]=a[52625]|0;a[b+3>>0]=a[52626]|0;a[b+4>>0]=a[52627]|0;a[b+5>>0]=a[52628]|0;a[b+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[729989]>>2]|0)|0;if((t|0)>3){b=c[c[17264]>>2]|0;d=b+(Ms(b)|0)|0;a[d>>0]=a[52623]|0;a[d+1>>0]=a[52624]|0;a[d+2>>0]=a[52625]|0;a[d+3>>0]=a[52626]|0;a[d+4>>0]=a[52627]|0;a[d+5>>0]=a[52628]|0;a[d+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[729990]>>2]|0)|0;if((t|0)>4){d=c[c[17264]>>2]|0;b=d+(Ms(d)|0)|0;a[b>>0]=a[52623]|0;a[b+1>>0]=a[52624]|0;a[b+2>>0]=a[52625]|0;a[b+3>>0]=a[52626]|0;a[b+4>>0]=a[52627]|0;a[b+5>>0]=a[52628]|0;a[b+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[729991]>>2]|0)|0;if((t|0)>5){b=c[c[17264]>>2]|0;d=b+(Ms(b)|0)|0;a[d>>0]=a[52623]|0;a[d+1>>0]=a[52624]|0;a[d+2>>0]=a[52625]|0;a[d+3>>0]=a[52626]|0;a[d+4>>0]=a[52627]|0;a[d+5>>0]=a[52628]|0;a[d+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[729992]>>2]|0)|0;if((t|0)>6){d=c[c[17264]>>2]|0;b=d+(Ms(d)|0)|0;a[b>>0]=a[52623]|0;a[b+1>>0]=a[52624]|0;a[b+2>>0]=a[52625]|0;a[b+3>>0]=a[52626]|0;a[b+4>>0]=a[52627]|0;a[b+5>>0]=a[52628]|0;a[b+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[729993]>>2]|0)|0;if((t|0)>7){b=c[c[17264]>>2]|0;d=b+(Ms(b)|0)|0;a[d>>0]=a[52623]|0;a[d+1>>0]=a[52624]|0;a[d+2>>0]=a[52625]|0;a[d+3>>0]=a[52626]|0;a[d+4>>0]=a[52627]|0;a[d+5>>0]=a[52628]|0;a[d+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[729994]>>2]|0)|0;if((t|0)>8){d=c[c[17264]>>2]|0;b=d+(Ms(d)|0)|0;a[b>>0]=a[52623]|0;a[b+1>>0]=a[52624]|0;a[b+2>>0]=a[52625]|0;a[b+3>>0]=a[52626]|0;a[b+4>>0]=a[52627]|0;a[b+5>>0]=a[52628]|0;a[b+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[729995]>>2]|0)|0;if((t|0)>9){b=c[c[17264]>>2]|0;d=b+(Ms(b)|0)|0;a[d>>0]=a[52623]|0;a[d+1>>0]=a[52624]|0;a[d+2>>0]=a[52625]|0;a[d+3>>0]=a[52626]|0;a[d+4>>0]=a[52627]|0;a[d+5>>0]=a[52628]|0;a[d+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[729996]>>2]|0)|0;if((t|0)>10){d=c[c[17264]>>2]|0;b=d+(Ms(d)|0)|0;a[b>>0]=a[52623]|0;a[b+1>>0]=a[52624]|0;a[b+2>>0]=a[52625]|0;a[b+3>>0]=a[52626]|0;a[b+4>>0]=a[52627]|0;a[b+5>>0]=a[52628]|0;a[b+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[729997]>>2]|0)|0;if((t|0)>11){b=c[c[17264]>>2]|0;d=b+(Ms(b)|0)|0;a[d>>0]=a[52623]|0;a[d+1>>0]=a[52624]|0;a[d+2>>0]=a[52625]|0;a[d+3>>0]=a[52626]|0;a[d+4>>0]=a[52627]|0;a[d+5>>0]=a[52628]|0;a[d+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[729998]>>2]|0)|0;if((t|0)>12){d=c[c[17264]>>2]|0;b=d+(Ms(d)|0)|0;a[b>>0]=a[52623]|0;a[b+1>>0]=a[52624]|0;a[b+2>>0]=a[52625]|0;a[b+3>>0]=a[52626]|0;a[b+4>>0]=a[52627]|0;a[b+5>>0]=a[52628]|0;a[b+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[729999]>>2]|0)|0;if((t|0)>13){b=c[c[17264]>>2]|0;d=b+(Ms(b)|0)|0;a[d>>0]=a[52623]|0;a[d+1>>0]=a[52624]|0;a[d+2>>0]=a[52625]|0;a[d+3>>0]=a[52626]|0;a[d+4>>0]=a[52627]|0;a[d+5>>0]=a[52628]|0;a[d+6>>0]=a[52629]|0}Ws(c[c[17264]>>2]|0,c[c[73e4]>>2]|0)|0;if((t|0)<=14){u=c[17264]|0;v=c[u>>2]|0;w=c[730001]|0;x=c[w>>2]|0;Ws(v,x)|0;return}t=c[c[17264]>>2]|0;d=t+(Ms(t)|0)|0;a[d>>0]=a[52623]|0;a[d+1>>0]=a[52624]|0;a[d+2>>0]=a[52625]|0;a[d+3>>0]=a[52626]|0;a[d+4>>0]=a[52627]|0;a[d+5>>0]=a[52628]|0;a[d+6>>0]=a[52629]|0;u=c[17264]|0;v=c[u>>2]|0;w=c[730001]|0;x=c[w>>2]|0;Ws(v,x)|0;return}function Lg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=c[(c[729986]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729987]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729988]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729989]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729990]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729991]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729992]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729993]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729994]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729995]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729996]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729997]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729998]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729999]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[73e4]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[730001]|0)+4>>2]|0;Eu(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=0;b=c[c[17264]>>2]|0;while(1){if((a|0)!=15){d=Lt(b,52623)|0;e=c[c[2919944+(a<<2)>>2]>>2]|0;if(!d){f=e;g=6}else{Du(e|0,b|0,d-b|0)|0;h=a+1|0;i=d+6|0}}else{f=c[c[730001]>>2]|0;g=6}if((g|0)==6){g=0;rm(f,b)|0;h=16;i=b}if((h|0)<16){a=h;b=i}else break}return}function Mg(b){b=b|0;var c=0,d=0,e=0,f=0;c=Ga;Ga=Ga+1024|0;d=c;Eu(1161104,0,1024)|0;rm(d,b)|0;a[1161104]=0;b=Lt(d,57891)|0;if(!((b|0)!=0&b>>>0>d>>>0)){Ga=c;return 1161104}a[b>>0]=0;e=b;a:while(1){f=e+-1|0;b=a[f>>0]|0;if(!((b+-97&255)<26|(b+-48&255)<10))switch(b<<24>>24){case 45:case 95:break;default:break a}if(f>>>0>d>>>0)e=f;else break}rm(1161104,f>>>0>d>>>0?e:f)|0;Ga=c;return 1161104}function Ng(){var d=0,e=0,f=0,g=0,h=0,i=0;d=Ga;Ga=Ga+3088|0;e=d+3072|0;f=d+2048|0;g=d+1024|0;Kg();rm(2931520,2932545)|0;a[2932545]=0;a[2926560]=0;a[2927584]=0;rm(g,2923100)|0;c[406683]=0;Qq(52630,d);if(Lt(g,2920020)|0)rm(2927584,g+(Ms(2920020)|0)|0)|0;Eu(1161104,0,1024)|0;rm(f,g)|0;a[1161104]=0;g=Lt(f,57891)|0;if((g|0)!=0&g>>>0>f>>>0){a[g>>0]=0;h=g;a:while(1){i=h+-1|0;g=a[i>>0]|0;if(!((g+-97&255)<26|(g+-48&255)<10))switch(g<<24>>24){case 45:case 95:break;default:break a}if(i>>>0>f>>>0)h=i;else break}rm(1161104,i>>>0>f>>>0?h:i)|0}rm(2926560,1161104)|0;c[506055]=0;c[e>>2]=2923100;c[e+4>>2]=2927584;c[e+8>>2]=2926560;as(1465904,52635,e)|0;vm(1465904);a[2928608]=0;e=c[515148]|0;if(e|0)Wf(e);e=sf(1,0)|0;c[515148]=e;c[515147]=e;c[515149]=Tf(e)|0;Xh(c[515147]|0);ik(2779320,c[733490]|0,0,0,17152);a[2924252]=0;a[2933570]=0;a[2933634]=0;a[2933698]=0;a[2933762]=0;a[2933826]=0;a[2933890]=0;b[1466977]=0;b[1466978]=0;b[1466979]=0;e=Da(0)|0;Ck((Iq()|0)+e|0);Hg(c[c[17264]>>2]|0,0);dq();aq(0,0);c[732871]=0;c[732872]=0;c[732873]=0;c[732874]=0;c[749941]=30;c[749942]=30;pk();Eb(c[17264]|0,2924165);c[732417]=0;c[406689]=0;c[506574]=1;Zj(0);Ga=d;return}function Og(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=Ga;Ga=Ga+560|0;e=d+536|0;f=d+520|0;g=d+512|0;h=d;i=d+548|0;j=d+544|0;c[j>>2]=0;Ed(b,55796);Ld(c[515147]|0,0,1,0,0,0)|0;k=rd(b,-1,0)|0;if(!k){Ga=d;return}jd(b,-2);b=a[k>>0]|0;if(!(b<<24>>24)){Ga=d;return}l=k;k=0;m=b;while(1){if(k>>>0>=10){n=23;break}k=k+1|0;b=l;o=m;a:while(1){switch(o<<24>>24){case 10:case 0:{break a;break}default:{}}p=b+1|0;b=p;o=a[p>>0]|0}Eu(h|0,0,512)|0;Ut(h,l,b-l|0)|0;l=(a[b>>0]|0)==10?b+1|0:b;b:do if((Lt(h,52708)|0)==0?(Lt(h,52724)|0)==0:0){o=h;c:while(1){switch(a[o>>0]|0){case 0:{break b;break}case 58:{break c;break}default:{}}o=o+1|0}c[i>>2]=0;c[g>>2]=i;At(o+1|0,59339,g)|0;p=c[i>>2]|0;if((p|0)>0){q=Lt(h,52735)|0;if(!q){if(!(Lt(h,52772)|0))break;r=Ig(p,j)|0;if((r|0)<=-1)break;p=c[j>>2]|0;c[e>>2]=r;c[e+4>>2]=p;as(1470512,52786,e)|0;sg(1470512,13);break}p=q+13|0;q=p;d:while(1){switch(a[q>>0]|0){case 0:{break b;break}case 39:{break d;break}default:{}}q=q+1|0}a[q>>0]=0;o=Ig(c[i>>2]|0,j)|0;r=c[j>>2]|0;c[f>>2]=p;c[f+4>>2]=o;c[f+8>>2]=r;as(1470512,52749,f)|0;sg(1470512,13)}}while(0);m=a[l>>0]|0;if(!(m<<24>>24)){n=23;break}}if((n|0)==23){Ga=d;return}}function Pg(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ga;Ga=Ga+32|0;d=b+16|0;e=b;f=b+24|0;c[f>>2]=0;Ze(c[515147]|0,1,0)|0;if(Ze(c[515147]|0,9,0)|0)Ze(c[515147]|0,2,0)|0;if((Ze(c[515147]|0,9,0)|0?((c[749877]|0)+(c[732537]|0)|0)>2113536:0)?(Ze(c[515147]|0,2,0)|0,g=c[732537]|0,((c[749877]|0)+g|0)>2113536):0){if(!(Ze(c[515147]|0,9,0)|0))vm(52806);else sc(c[515147]|0,1);h=c[749877]|0;i=(c[732537]|0)+h|0;c[e>>2]=h+g;c[e+4>>2]=i;c[e+8>>2]=h;as(1465904,52862,e)|0;vm(1465904);if(((c[749877]|0)+(c[732537]|0)|0)>2113536){e=c[515148]|0;if(e|0)Wf(e);e=sf(1,0)|0;c[515148]=e;c[515147]=e;c[515149]=Tf(e)|0;Xh(c[515147]|0);Jg();sg(52903,6);Ga=b;return}}Ze(c[515147]|0,0,0)|0;if((c[732408]|0)!=1|(c[732409]|0)!=0){Ga=b;return}cg();a:do switch(Nf(c[515147]|0,0,0)|0){case 0:{Jg();if((c[515147]|0)==(c[515148]|0))c[506574]=0;break}case 1:{c[732408]=1;break}default:if((c[694852]|0)<=0){Jg();if(c[732414]|0){e=c[515137]|0;if((e|0)>2){h=Ag(c[c[17264]>>2]|0,e+-2|0,1)|0;i=Ig(e,f)|0;e=c[f>>2]|0;c[d>>2]=i;c[d+4>>2]=e;as(1470512,52917,d)|0;sg(1470512,14);if(h|0)sg(h,7);if((i|0)>0?(h=c[730002]|0,e=i+-1|0,(pr(c[h>>2]|0,c[h+336>>2]|0)|0)!=(e|0)):0){h=qr(c[c[730002]>>2]|0,e)|0;e=c[730002]|0;c[e+336>>2]=h;nr(e,52);c[406690]=i}}}else sg(52946,14);xg(rd(c[515147]|0,-1,0)|0);if(a[3000884]|0)sg(3000884,6);if(c[749953]|0){c[749953]=0;break a}if(c[732414]|0)Og(c[515147]|0)}}while(0);if(!(c[749950]|0)){Ga=b;return}d=Iq()|0;if((d|0)<=((c[749951]|0)+1e3|0)){Ga=b;return}cl()|0;c[749951]=Iq()|0;Ga=b;return}function Qg(){var a=0,b=0;Iq()|0;ig(8388608/(c[749941]|0)|0);dg();a=1;while(1){c[732879]=(c[732879]|0)+1;c[749952]=0;Pg();if(!(c[749952]|0)){b=4;break}if(a>>>0<1024)a=a+1|0;else{b=4;break}}if((b|0)==4)return}function Rg(a){a=a|0;var b=0;b=(a|0)==0?2:a<<1;if((a|0)<0)return;c[694834]=(c[694834]|0)+b;hg(b)|0;return}function Sg(a){a=a|0;hg(a<<1)|0;return}function Tg(b){b=b|0;a[3000884]=0;if(!b)return;Ut(3000884,b,254)|0;a[3001139]=0;return}function Ug(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0;a=c[506570]|0;c[749911]=c[749912];c[749912]=c[749913];c[749913]=c[749914];c[749914]=c[749915];c[749915]=c[749916];c[749916]=c[749917];c[749917]=c[749918];c[749918]=c[749919];c[749919]=c[749920];c[749920]=c[749921];c[749921]=c[749922];c[749922]=c[749923];c[749923]=c[749924];c[749924]=c[749925];c[749925]=c[749926];c[749926]=c[749927];c[749927]=c[749928];c[749928]=c[749929];c[749929]=c[749930];c[749930]=c[749931];c[749931]=c[749932];c[749932]=c[749933];c[749933]=c[749934];c[749934]=c[749935];c[749935]=c[749936];c[749936]=c[749937];c[749937]=c[749938];c[749938]=c[749939];c[749939]=c[749940];c[749940]=oq()|0;b=c[749911]|0;d=c[749912]|0;e=c[749913]|0;f=c[749914]|0;g=c[749915]|0;h=c[749916]|0;i=c[749917]|0;j=c[749918]|0;k=c[749919]|0;l=c[749920]|0;m=c[749921]|0;n=c[749922]|0;o=c[749923]|0;p=c[749924]|0;q=c[749925]|0;r=c[749926]|0;s=c[749927]|0;t=c[749928]|0;u=c[749929]|0;v=c[749930]|0;w=c[749931]|0;x=c[749932]|0;y=c[749933]|0;z=c[749934]|0;A=c[749935]|0;B=c[749936]|0;C=c[749937]|0;D=c[749938]|0;E=c[749939]|0;F=c[749940]|0;H=((b|0)!=0&1)+((d|0)!=0&1)+((e|0)!=0&1)+((f|0)!=0&1)+((g|0)!=0&1)+((h|0)!=0&1)+((i|0)!=0&1)+((j|0)!=0&1)+((k|0)!=0&1)+((l|0)!=0&1)+((m|0)!=0&1)+((n|0)!=0&1)+((o|0)!=0&1)+((p|0)!=0&1)+((q|0)!=0&1)+((r|0)!=0&1)+((s|0)!=0&1)+((t|0)!=0&1)+((u|0)!=0&1)+((v|0)!=0&1)+((w|0)!=0&1)+((x|0)!=0&1)+((y|0)!=0&1)+((z|0)!=0&1)+((A|0)!=0&1)+((B|0)!=0&1)+((C|0)!=0&1)+((D|0)!=0&1)+((E|0)!=0&1)+((F|0)!=0&1)|0;I=c[749945]|0;J=c[749943]|0;if((I|0)>(J|0)){K=I-J|0;J=yu(K|0,((K|0)<0)<<31>>31|0,16)|0;K=G()|0;I=c[749942]|0;L=8388608/(((I|0)==0?30:I)|0)|0;I=su(J|0,K|0,L|0,((L|0)<0)<<31>>31|0)|0;G()|0;L=c[749882]|0;c[749881]=L;c[749882]=I;K=(L|0)==0|(L|0)<(I|0)?I:L;M=(I|0)==0|(K|0)>(I|0)?K:I}else M=1048576;I=c[749948]|0;K=c[749946]|0;if((I|0)<(K|0))return;L=c[505788]|0;J=I-K+(c[749879]|0)+((L|0)>0?L:0)|0;L=(c[505654]|0)==0;K=L?1e4:(F+(E+(D+(C+(B+(A+(z+(y+(x+(w+(v+(u+(t+(s+(r+(q+(p+(o+(n+(m+(l+(k+(j+(i+(h+(g+(f+(e+(d+b))))))))))))))))))))))))))))|0)/(((H|0)==0?1:H)|0)|0;H=c[749941]|0;b=c[749942]|0;if((c[505790]|0)!=0&(H|0)==(b|0)){c[2024232+(a<<5)+28>>2]=9;c[749941]=(H|0)/2|0;c[505790]=0;return}c[505790]=0;if((H|0)==60?(K|0)<60&(b|0)==60:0){d=2024232+(a<<5)+28|0;c[d>>2]=8;c[749941]=30;if(Xq()|0?(e=Iq()|0,(e-(c[749880]|0)|0)<2e3):0){c[d>>2]=10;d=(c[749879]|0)+1|0;c[749879]=(d|0)<5?d:5}c[749880]=Iq()|0;return}if((H|0)>=(b|0))return;if((K|0)>=(b|0)?(M|0)<64512&(L|(J|0)<17|(b|0)==30):0){c[2024232+(a<<5)+28>>2]=11;c[749941]=b;return}if((M|0)>=63488)return;c[2024232+(a<<5)+28>>2]=2;return}function Vg(a){a=a|0;var b=0;if((a|0)>255){b=0;return b|0}b=d[1104+(a&255)>>0]|0;return b|0}function Wg(a){a=a|0;return d[1360+(a&255)>>0]|0|0}function Xg(){c[290532]=0;c[515152]=0;return}function Yg(a){a=a|0;rm(1162128+(c[515152]<<6)|0,a)|0;c[515152]=(c[515152]|0)+1;return}function Zg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;d=c[515154]|0;if((d|4|0)!=-995)c[515155]=d;a[1178512]=0;c[515154]=0;e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:{g=6;break a;break}case 45:{g=7;break a;break}case 126:{g=16;break a;break}case 13:case 9:case 8:case 32:break;default:{h=0;i=f;break a}}e=e+1|0}if((g|0)==6){c[515154]=-1e3;j=e;return j|0}else if((g|0)==7){b=a[e+1>>0]|0;if(b<<24>>24==45){c[515154]=-995;b:do if((a[e+2>>0]|0)==91?(a[e+3>>0]|0)==91:0){k=e+4|0;l=1;while(1){m=Lt(k,52960)|0;n=Lt(k,52963)|0;if(!n)break b;o=(m|0)!=0&m>>>0<n>>>0;l=(o?1:-1)+l|0;p=(o?m:n)+2|0;if((l|0)<=0){j=p;break}else k=p}return j|0}while(0);k=e;l=45;c:while(1){switch(l<<24>>24){case 0:case 10:{j=k;break c;break}default:{}}p=k+1|0;k=p;l=a[p>>0]|0}return j|0}else{q=45;r=b;g=17}}else if((g|0)==16){q=126;r=a[e+1>>0]|0;g=17}do if((g|0)==17){if((r+-48&255)>9){if(r<<24>>24!=46){h=0;i=q;break}if(((a[e+2>>0]|0)+-48&255)>9){h=0;i=q;break}}b=c[515155]|0;h=((b|0)==-982|((b|0)==-980|((b+987|0)>>>0<2|((b|0)==-990|((b|0)==-972|((b|1|0)==-973|((b|0)==-963|((b|0)==61|((b|0)==-964|((b|1|0)==-965|((b|1|0)==-967|((b|1|0)==-969|((b|2|0)==62|((b|0)==37|((b|0)==94|((b|0)==45|((b|4|0)==47|((b|0)==42|((b|0)==126|((b|0)==63|((b|4|0)==44|(b|32|0)==123)))))))))))))))))))))&1;i=q}while(0);if(a[1104+(i&255)>>0]|0){c[515154]=0;q=c[8680]|0;r=f<<24>>24;if(!(a[1360+(r&255)>>0]|0)){s=q;t=0;u=e}else{b=q;q=0;l=e;k=r;r=f;while(1){p=(B(k,b)|0)&8191^7266;n=q+1|0;a[1178512+q>>0]=r;m=l+1|0;r=a[m>>0]|0;k=r<<24>>24;if(!(a[1360+(k&255)>>0]|0)){s=p;t=n;u=m;break}else{b=p;q=n;l=m}}}a[1178512+t>>0]=0;switch(d|0){case 46:case 58:break;default:{d=c[1244048+(s*20|0)+16>>2]|0;if(d|0?(Cs(1244048+(s*20|0)|0,1178512)|0)==0:0){c[515154]=d;j=u;return j|0}}}c[515154]=-998;j=u;return j|0}if((i+-48&255)>9)if(i<<24>>24==46)v=((a[e+1>>0]|0)+-48&255)<10&1;else v=0;else v=1;if(v|h|0){switch(i<<24>>24){case 126:case 45:{a[1178512]=i;h=e+1|0;w=h;x=a[h>>0]|0;break}default:{w=e;x=f}}c[515154]=0;d:do if(x<<24>>24!=48)if(x<<24>>24==46|(x+-48&255)<10)g=46;else{y=0;z=w}else{h=a[w+1>>0]|0;switch((h|32)<<24>>24){case 120:break;case 98:{a[1178512]=48;a[1178513]=h;v=0;u=w+2|0;while(1){d=a[u>>0]|0;switch(d<<24>>24){case 46:case 48:case 49:break;default:{y=v;z=u;break d}}a[1178512+v>>0]=d;v=v+1|0;u=u+1|0}break}default:{g=46;break d}}a[1178512]=48;a[1178513]=h;u=0;v=w+2|0;while(1){d=a[v>>0]|0;if(!((d+-48&255)<10|(d+-97&255)<6))switch(d<<24>>24){case 46:case 65:case 66:case 67:case 68:case 69:case 70:break;default:{y=u;z=v;break d}}a[1178512+u>>0]=d;u=u+1|0;v=v+1|0}}while(0);if((g|0)==46){v=0;u=w;w=x;while(1){x=v+1|0;a[1178512+v>>0]=w;h=u+1|0;w=a[h>>0]|0;if(!(w<<24>>24==46|(w+-48&255)<10)){y=x;z=h;break}else{v=x;u=h}}}a[1178512+y>>0]=0;c[515154]=-997;j=z;return j|0}switch(i<<24>>24){case 91:{z=e+1|0;y=a[z>>0]|0;if(y<<24>>24==91){c[515154]=-996;a[1178512]=0;u=e+2|0;v=1;while(1){w=Lt(u,52960)|0;h=Lt(u,52963)|0;if(!h)break;x=(w|0)!=0&w>>>0<h>>>0;v=(x?1:-1)+v|0;d=(x?w:h)+2|0;if((v|0)<=0){j=d;g=121;break}else u=d}if((g|0)==121)return j|0;j=e+(Ms(e)|0)|0;return j|0}else{A=z;C=y;D=0}break}case 34:{a[1178512]=34;y=e;z=1;e:while(1){u=y+1|0;v=a[u>>0]|0;switch(v<<24>>24){case 34:{g=60;break e;break}case 10:case 0:{E=u;F=z;break e;break}case 92:{d=y+2|0;a[1178512+z>>0]=92;G=z+1|0;H=d;I=a[d>>0]|0;break}default:{G=z;H=u;I=v}}a[1178512+G>>0]=I;y=H;z=G+1|0}if((g|0)==60){a[1178512+z>>0]=34;E=y+2|0;F=z+1|0}a[1178512+F>>0]=0;c[515154]=-996;j=E;return j|0}case 39:{a[1178512]=39;E=e;F=1;f:while(1){z=E+1|0;y=a[z>>0]|0;switch(y<<24>>24){case 39:{g=66;break f;break}case 10:case 0:{J=F;K=z;break f;break}case 92:{G=E+2|0;a[1178512+F>>0]=92;L=G;M=F+1|0;N=a[G>>0]|0;break}default:{L=z;M=F;N=y}}a[1178512+M>>0]=N;E=L;F=M+1|0}if((g|0)==66){a[1178512+F>>0]=39;J=F+1|0;K=E+2|0}a[1178512+J>>0]=0;c[515154]=-996;j=K;return j|0}case 10:{c[515156]=(c[515156]|0)+1;c[515154]=-999;j=e+1|0;return j|0}case 46:{K=e+1|0;J=a[K>>0]|0;if(J<<24>>24==46)if((a[e+2>>0]|0)==46){c[515154]=-959;j=e+3|0;return j|0}else{c[515154]=-962;j=e+2|0;return j|0}else{A=K;C=J;D=1}break}default:{J=e+1|0;A=J;C=a[J>>0]|0;D=0}}g:do if(C<<24>>24!=61){h:do if(!(i<<24>>24==0|C<<24>>24==0)?(a[e+2>>0]|0)==61:0){if(D&C<<24>>24==46){c[515154]=-963;j=e+3|0;return j|0}switch(i<<24>>24){case 47:{break h;break}case 60:{if(C<<24>>24!=60)break g;c[515154]=-963;j=e+3|0;return j|0}case 62:{if(C<<24>>24!=62)break g;c[515154]=-963;j=e+3|0;return j|0}case 94:{if(C<<24>>24!=94)break g;c[515154]=-963;j=e+3|0;return j|0}default:break g}}else g=98;while(0);i:do if((g|0)==98)switch(i<<24>>24){case 47:{break i;break}case 62:{if(C<<24>>24!=62)break g;J=e+2|0;switch(a[J>>0]|0){case 62:{if((a[e+3>>0]|0)==61){c[515154]=-963;j=e+4|0;return j|0}else{c[515154]=-955;j=e+3|0;return j|0}break}case 60:{c[515154]=-953;j=e+3|0;return j|0}default:{c[515154]=-956;j=J;return j|0}}break}case 60:{if(C<<24>>24!=60)break g;J=e+2|0;if((a[J>>0]|0)==62){c[515154]=-954;j=e+3|0;return j|0}else{c[515154]=-957;j=J;return j|0}break}case 94:{if(C<<24>>24!=94)break g;c[515154]=-952;j=e+2|0;return j|0}default:break g}while(0);if(C<<24>>24==47){c[515154]=-995;J=e;K=f;j:while(1){switch(K<<24>>24){case 0:case 10:{j=J;break j;break}default:{}}E=J+1|0;J=E;K=a[E>>0]|0}return j|0}}else do switch(i<<24>>24){case 60:{c[515154]=-968;j=e+2|0;return j|0}case 62:{c[515154]=-967;j=e+2|0;return j|0}case 126:{c[515154]=-965;j=e+2|0;return j|0}case 33:{c[515154]=-965;j=e+2|0;return j|0}case 61:{c[515154]=-964;j=e+2|0;return j|0}case 43:{c[515154]=-963;j=e+2|0;return j|0}case 45:{c[515154]=-963;j=e+2|0;return j|0}case 42:{c[515154]=-963;j=e+2|0;return j|0}case 47:{c[515154]=-963;j=e+2|0;return j|0}case 37:{c[515154]=-963;j=e+2|0;return j|0}case 38:{c[515154]=-963;j=e+2|0;return j|0}case 124:{c[515154]=-963;j=e+2|0;return j|0}default:break g}while(0);while(0);if(_r(e,58583,9)|0){c[515154]=i<<24>>24;j=A;return j|0}c[515154]=-960;A=e;e=f;k:while(1){switch(e<<24>>24){case 0:case 10:{j=A;break k;break}default:{}}f=A+1|0;A=f;e=a[f>>0]|0}return j|0}function _g(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ga;Ga=Ga+16|0;f=e+8|0;g=e;if((Ms(b)|0)>>>0>15){Ga=e;return}h=c[8680]|0;i=a[b>>0]|0;if(!(i<<24>>24))j=h;else{k=b;l=h;h=i;while(1){i=(B(l,h<<24>>24)|0)&8191^7266;k=k+1|0;h=a[k>>0]|0;if(!(h<<24>>24)){j=i;break}else l=i}}l=1244048+(j*20|0)+16|0;h=1244048+(j*20|0)|0;if((c[l>>2]|0)==0?(a[h>>0]|0)==0:0){c[l>>2]=d;rm(h,b)|0;Ga=e;return}c[g>>2]=h;c[g+4>>2]=b;cu(52966,g)|0;c[f>>2]=h;c[f+4>>2]=b;as(1465904,52966,f)|0;vm(1465904);wa(0)}function $g(a){a=a|0;if(c[515153]|0)return;c[515153]=1;c[8680]=a;Eu(1244048,0,163840)|0;_g(52997,-993);_g(53006,-992);_g(53010,-991);_g(53014,-990);_g(53017,-989);_g(53022,-988);_g(53027,-987);_g(53034,-986);_g(53040,-974);_g(53044,-973);_g(53048,-972);_g(53051,-985);_g(53054,-983);_g(53060,-982);_g(53067,-981);_g(53074,-980);_g(53080,-979);_g(53085,-978);_g(53259,-961);_g(53264,-961);_g(53091,-961);_g(53095,-984);_g(53098,-977);_g(53106,-977);_g(53110,-977);_g(53119,-977);_g(53125,-977);if((c[515152]|0)<=0)return;a=0;do{_g(1162128+(a<<6)|0,-977);a=a+1|0}while((a|0)<(c[515152]|0));return}function ah(b){b=b|0;var c=0;c=Zg(b)|0;if(!c)return 0;else return ((c|0)==(b|0)&(a[c>>0]|0)!=0?c+1|0:c)|0;return 0}function bh(b){b=b|0;var d=0,e=0;$g(c[8680]|0);c[515154]=0;c[515155]=0;c[515157]=b;d=Zg(b)|0;if(!d){e=0;return e|0}e=(d|0)==(b|0)&(a[d>>0]|0)!=0?d+1|0:d;return e|0}function ch(){return c[515154]|0}function dh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=-1;e=0;while(1){if((d|0)==-1){$g(c[8680]|0);c[515154]=0;c[515155]=0;c[515157]=b;f=Zg(b)|0;if(!f){g=0;h=0}else{g=0;h=(f|0)==(b|0)&(a[f>>0]|0)!=0?f+1|0:f}}else{if(!(a[e>>0]|0))break;f=Zg(e)|0;if(!f){g=d;h=0}else{g=d;h=(f|0)==(e|0)&(a[f>>0]|0)!=0?f+1|0:f}}switch(c[515154]|0){case -960:case 58:case 44:case 46:case -992:case 93:case 125:case 41:case 59:case -1e3:case -983:case -995:case -999:{i=g;break}default:i=g+1|0}d=i;e=h}return d|0}function eh(){var a=0,b=0,d=0,e=0,f=0;a=$l(c[(c[17264]|0)+4>>2]|0,0)|0;b=c[17264]|0;d=c[b+44584>>2]|0;if(!(c[(c[d>>2]|0)+16>>2]|0))e=-4;else{f=c[b+4>>2]|0;e=(B(c[f>>2]<<1,c[f+4>>2]|0)|0)+260|0}vr(a,d,e)|0;vo(c[(c[17264]|0)+4>>2]|0,c[(c[718234]|0)+8>>2]|0,0,0,0,0,128,128);return}function fh(a){a=a|0;return}function gh(){return}function hh(){return}function ih(){return}function jh(a){a=a|0;return}function kh(){return}function lh(){return}function mh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+4|0;f=b+8|0;b=32;do{g=b<<1;h=0;do{i=c[(c[(c[e>>2]|0)+16>>2]|0)+((h>>>6)+g<<2)>>2]|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]=((d[i+(j|1)>>0]|0)<<4)+(d[i+j>>0]|0);h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function nh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+8|0;f=b+4|0;b=32;do{g=b<<1;h=0;do{i=(h>>>6)+g|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+j>>0]=a[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]&15;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+(j|1)>>0]=(d[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]|0)>>>4;h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function oh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;e=Ga;Ga=Ga+2832|0;f=e+2824|0;g=e+2816|0;h=e+1792|0;i=e+768|0;j=e;k=e+2828|0;c[k>>2]=0;if(!(c[515159]|0)){c[515159]=1;Eu(1407888,0,1920)|0}if(!(c[515158]|0)){l=9;Ga=e;return l|0}m=0;while(1){c[g>>2]=Ul()|0;c[g+4>>2]=m;as(h,53132,g)|0;Sq(h,i);if(!(sq(i)|0))break;else m=m+1|0}m=Sk(i,0,k)|0;if(!m){l=1;Ga=e;return l|0}c[f>>2]=i;as(1465904,53142,f)|0;vm(1465904);f=(b|0)>0?b:c[405831]|0;b=(f|0)<8?f:8;f=(b|0)<0?0:b<<7;b=Km(f,f,8)|0;if((c[515158]|0)>0){f=0;k=18;while(1){h=1407888+(f<<2)|0;g=c[h>>2]|0;if(!g){n=Km(128,128,8)|0;c[h>>2]=n;o=n}else o=g;g=c[o+12>>2]|0;n=0;p=k;do{p=(d[g+n>>0]|0)>15?256:p;n=n+1|0}while((n|0)!=16384);f=f+1|0;if((f|0)>=(c[515158]|0))break;else k=p}if((p|0)>0){q=p;r=15}else s=p}else{q=18;r=15}if((r|0)==15){r=c[694819]|0;p=0;do{a[j+(p*3|0)>>0]=a[r+(p*3|0)>>0]|0;a[j+(p*3|0)+1>>0]=a[r+(p*3|0)+1>>0]|0;a[j+(p*3|0)+2>>0]=a[r+(p*3|0)+2>>0]|0;p=p+1|0}while((p|0)!=(q|0));s=q}q=Rk(1<<($k(s)|0),j)|0;j=c[b>>2]|0;c[m>>2]=j;p=b+4|0;r=c[p>>2]|0;c[m+4>>2]=r;c[m+8>>2]=s;c[m+12>>2]=0;c[m+20>>2]=q;a:do if((c[515158]|0)>0){k=b+16|0;f=0;o=j;n=r;while(1){g=1407888+(f<<2)|0;Qm(c[g>>2]|0,b,0,0,o,n,0);h=bl(m,0)|0;c[h>>2]=0;c[h+4>>2]=0;t=c[b>>2]|0;c[h+8>>2]=t;u=c[p>>2]|0;c[h+12>>2]=u;a[h+16>>0]=0;v=(f|0)!=0;c[h+20>>2]=v?0:q;w=Br(B(u,t)|0)|0;t=h+24|0;c[t>>2]=w;Eu(w|0,0,B(c[p>>2]|0,c[b>>2]|0)|0)|0;w=c[p>>2]|0;if((w|0)>0){u=0;x=w;y=c[b>>2]|0;while(1){if((y|0)>0){z=0;A=y;do{a[(c[t>>2]|0)+((B(A,u)|0)+z)>>0]=(d[(c[(c[k>>2]|0)+(u<<2)>>2]|0)+z>>0]|0)%(s|0)|0;z=z+1|0;A=c[b>>2]|0}while((z|0)<(A|0));C=c[p>>2]|0;D=A}else{C=x;D=y}u=u+1|0;if((u|0)>=(C|0)){E=C;break}else{x=C;y=D}}}else E=w;if(v&(E|0)>0){y=1407888+(f+-1<<2)|0;x=0;u=c[b>>2]|0;while(1){if((u|0)>0){z=0;F=u;while(1){G=c[405831]|0;H=(x|0)/(G|0)|0;I=(z|0)/(G|0)|0;if((a[(c[(c[(c[y>>2]|0)+16>>2]|0)+(H<<2)>>2]|0)+I>>0]|0)==(a[(c[(c[(c[g>>2]|0)+16>>2]|0)+(H<<2)>>2]|0)+I>>0]|0)){I=(B(F,x)|0)+z|0;a[(c[t>>2]|0)+I>>0]=17;J=c[b>>2]|0}else J=F;z=z+1|0;if((z|0)>=(J|0)){K=J;break}else F=J}}else K=u;x=x+1|0;if((x|0)>=(c[p>>2]|0))break;else u=K}}u=(f|0)==0;x=u?3:1;t=h+28|0;c[t>>2]=x;g=Br(x*12|0)|0;x=h+32|0;c[x>>2]=g;Eu(g|0,0,(c[t>>2]|0)*12|0)|0;t=c[x>>2]|0;if(u){c[t+8>>2]=255;c[t>>2]=11;u=Br(12)|0;c[t+4>>2]=u;g=u;u=53163;y=g+12|0;do{a[g>>0]=a[u>>0]|0;g=g+1|0;u=u+1|0}while((g|0)<(y|0));u=c[x>>2]|0;c[u+20>>2]=0;c[u+12>>2]=3;g=Br(3)|0;c[u+16>>2]=g;a[g>>0]=1;a[g+1>>0]=0;a[g+2>>0]=0;L=2;M=u}else{L=0;M=t}c[M+(L*12|0)+8>>2]=249;c[M+(L*12|0)>>2]=4;u=Br(4)|0;g=M+(L*12|0)+4|0;c[g>>2]=u;a[u>>0]=1;a[(c[g>>2]|0)+1>>0]=3;a[(c[g>>2]|0)+2>>0]=0;a[(c[g>>2]|0)+3>>0]=17;g=f+1|0;if((g|0)>=(c[515158]|0))break a;f=g;o=c[b>>2]|0;n=c[p>>2]|0}}while(0);p=_k(m)|0;Lm(b)|0;Gb(i,53175,128,128);l=(p|0)==0&1;Ga=e;return l|0}function ph(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ga;Ga=Ga+16|0;d=b;if(!(c[515159]|0)){c[515159]=1;Eu(1407888,0,1920)|0}if(!(c[405844]|c[405834])){Ga=b;return}Pq(b+8|0,b+4|0,d);Iq()|0;d=c[405844]|0;e=c[405834]|0;if((e|0)>0|(d|0)!=0){f=0;g=e;e=d;while(1){d=1407888+(f<<2)|0;if(!(c[d>>2]|0)){c[d>>2]=Km(128,128,8)|0;h=c[405844]|0;i=c[405834]|0}else{h=e;i=g}f=f+1|0;d=(h|0)==0?i*30|0:480;j=(d|0)<480?d:480;if(f>>>0>=((j|0)>0?j:0)>>>0)break;else{g=i;e=h}}}vo(a,c[1407888+(c[515158]<<2)>>2]|0,0,0,0,0,128,128);a=Iq()|0;if((a|0)<(c[506055]|0))ob(c[1407888+(c[515158]<<2)>>2]|0);a=c[515158]|0;h=(c[405844]|0)==0?(c[405834]|0)*30|0:480;e=(h|0)<480;if((a|0)<(((h|0)<0?-1:e?h+-1|0:479)|0)){c[515158]=a+1;Ga=b;return}a=c[351972]|0;i=e?h:480;h=(i|0)<0?-1:i+-1|0;if((h|0)>0){e=0;do{g=e;e=e+1|0;c[1407888+(g<<2)>>2]=c[1407888+(((e|0)%(i|0)|0)<<2)>>2]}while((e|0)<(h|0));k=h}else k=0;c[1407888+(k<<2)>>2]=a;Ga=b;return}function qh(){c[515158]=0;return}function rh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=Ga;Ga=Ga+16|0;f=e;g=ot(a,59673)|0;if(!g){h=1;Ga=e;return h|0}a=mp(1048576)|0;i=au(a,1,1048576,g)|0;ut(g)|0;g=ot(b,58535)|0;if(!g){h=2;Ga=e;return h|0}Rt(53179,6,1,g)|0;if((i|0)>0){b=0;do{c[f>>2]=d[a+b>>0];It(g,67614,f)|0;b=b+1|0}while((b|0)!=(i|0))}Rt(53186,7,1,g)|0;ut(g)|0;h=0;Ga=e;return h|0}function sh(a){a=a|0;Lm(c[(c[17264]|0)+44572>>2]|0)|0;a=Km(128,128,8)|0;c[(c[17264]|0)+44572>>2]=a;vo(c[694847]|0,a,0,0,0,0,128,128);return 0}function th(){return}function uh(){return (c[515158]|0)/30|0|0}function vh(b){b=b|0;c[b>>2]=0;a[b+4>>0]=0;c[b+8>>2]=0;return}function wh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;g=b+d|0;d=f+4|0;h=a[d>>0]|0;switch(c[f>>2]|0){case 0:{i=h;j=e;k=b;l=2;break}case 1:{m=h;n=e;o=b;l=6;break}case 2:{p=h;q=e;r=b;l=10;break}default:{s=0;return s|0}}while(1)if((l|0)==2){l=0;if((k|0)==(g|0)){t=i;u=j;v=0;break}b=a[k>>0]|0;h=b>>>2&63;if((h&255)<<24>>24>63)w=61;else w=a[53194+h>>0]|0;a[j>>0]=w;m=b<<4&48;n=j+1|0;o=k+1|0;l=6;continue}else if((l|0)==6){l=0;if((o|0)==(g|0)){t=m;u=n;v=1;break}b=a[o>>0]|0;h=b>>>4&15|m&255;if((h&255)<<24>>24>63)x=61;else x=a[53194+(h<<24>>24)>>0]|0;a[n>>0]=x;p=b<<2&60;q=n+1|0;r=o+1|0;l=10;continue}else if((l|0)==10){l=0;if((r|0)==(g|0)){t=p;u=q;v=2;break}b=a[r>>0]|0;h=b>>>6&3|p&255;if((h&255)<<24>>24>63)y=61;else y=a[53194+(h<<24>>24)>>0]|0;a[q>>0]=y;h=b&63;b=h&255;if(b<<24>>24>63)z=61;else z=a[53194+h>>0]|0;a[q+1>>0]=z;h=f+8|0;A=(c[h>>2]|0)+1|0;c[h>>2]=(A|0)==18?0:A;i=b;j=q+2|0;k=r+1|0;l=2;continue}a[d>>0]=t;c[f>>2]=v;s=u-e|0;return s|0}function xh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;switch(c[d>>2]|0){case 1:{e=a[d+4>>0]|0;if(e<<24>>24>63)f=61;else f=a[53194+(e<<24>>24)>>0]|0;a[b>>0]=f;a[b+1>>0]=61;g=b+2|0;h=3;break}case 2:{f=a[d+4>>0]|0;if(f<<24>>24>63)i=61;else i=a[53194+(f<<24>>24)>>0]|0;a[b>>0]=i;g=b+1|0;h=2;break}default:{j=b;k=j;l=b;m=k-l|0;return m|0}}a[g>>0]=61;j=b+h|0;k=j;l=b;m=k-l|0;return m|0}function yh(){return}function zh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Ga;Ga=Ga+3120|0;h=g+3096|0;i=g+3088|0;j=g+3072|0;k=g+2048|0;l=g+1024|0;m=g;if((b|0)==0|(d|0)==0){n=1;Ga=g;return n|0}o=Ms(b)|0;p=Ms(2920020)|0;if((e|0)>1023|(o+4+p+(Ms(2921044)|0)|0)>>>0>=e>>>0){n=1;Ga=g;return n|0}rm(k,b)|0;if(Lt(k,60021)|0){n=1;Ga=g;return n|0}b=a[k>>0]|0;a:do if(b<<24>>24){e=k;p=b;b:while(1){if(!((p+-97&255)<26|(p+-48&255)<10))switch(p<<24>>24){case 32:case 46:case 47:case 95:break;default:{n=1;break b}}e=e+1|0;p=a[e>>0]|0;if(!(p<<24>>24))break a}Ga=g;return n|0}while(0);Mn(k,0,0,m);c:do if(53270){b=1616;p=53270;while(1){b=b+4|0;if(!(Cs(m,p)|0))break;p=c[b>>2]|0;if(!p)break c}c[j>>2]=2920020;c[j+4>>2]=2921044;c[j+8>>2]=k;as(d,53326,j)|0;n=0;Ga=g;return n|0}while(0);if(!f){c[h>>2]=2920020;c[h+4>>2]=2921044;c[h+8>>2]=k;as(d,53340,h)|0;n=0;Ga=g;return n|0}else{c[i>>2]=k;as(l,53333,i)|0;Sq(l,d);n=0;Ga=g;return n|0}return 0}function Ah(a){a=a|0;Cd(a,6,0);Hd(a,53351);Cd(a,7,0);Hd(a,53366);Cd(a,8,0);Hd(a,53376);Cd(a,9,0);Hd(a,53387);Cd(a,10,0);Hd(a,53394);Cd(a,11,0);Hd(a,53402);Cd(a,12,0);Hd(a,53411);Cd(a,13,0);Hd(a,53419);Cd(a,14,0);Hd(a,53426);Cd(a,15,0);Hd(a,53435);Cd(a,15,0);Hd(a,53448);Cd(a,16,0);Hd(a,53457);Cd(a,17,0);Hd(a,53464);Cd(a,18,0);Hd(a,53473);Cd(a,19,0);Hd(a,53484);Cd(a,20,0);Hd(a,53510);Cd(a,21,0);Hd(a,53513);Cd(a,22,0);Hd(a,53519);Cd(a,23,0);Hd(a,53523);Cd(a,24,0);Hd(a,53526);Cd(a,13,0);Hd(a,53532);Cd(a,25,0);Hd(a,53537);Cd(a,26,0);Hd(a,53542);Cd(a,27,0);Hd(a,53547);Cd(a,28,0);Hd(a,53554);Cd(a,29,0);Hd(a,53560);Cd(a,29,0);Hd(a,53569);Cd(a,30,0);Hd(a,53574);Cd(a,31,0);Hd(a,53579);Cd(a,32,0);Hd(a,53586);return}function Bh(a){a=a|0;if(!(c[694835]|0))return 0;Sg((od(a,1,0)|0)>>16);return 0}function Ch(a){a=a|0;if((c[694852]|0)>0)return 0;c[732413]=2;c[732525]=0;c[732524]=0;Dh(a)|0;kg();return 0}function Dh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Ga;Ga=Ga+16|0;d=b;e=c[732519]|0;f=id(a)|0;if(!f){Ga=b;return 0}g=md(a,1)|0;do if((g+-3|0)>>>0>=2)if((g|0)==1){h=(qd(a,1)|0)==0;i=h?53264:53259;break}else{c[d>>2]=nd(a,g)|0;as(1470512,54951,d)|0;i=1470512;break}else i=rd(a,1,0)|0;while(0);if((f|0)!=2)if((f|0)>2?(d=(od(a,2,0)|0)>>16,g=(od(a,3,0)|0)>>16,c[732520]=d,c[732521]=g,(f|0)!=3):0){g=c[732519]&255;if((id(a)|0)>=4){d=od(a,4,0)|0;h=d>>>16&255;c[732519]=h;if(!((d&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)?(j=d&65535,c[732532]=j,(d&16777216|0)!=0):0){c[732532]=j|65536;k=h}else k=h}else k=g;l=c[2929932+(k>>>4<<2)>>2]<<4&240|c[2929932+((k&15)<<2)>>2]&15}else l=e;else{e=c[732519]&255;if((id(a)|0)>=2){k=od(a,2,0)|0;a=k>>>16&255;c[732519]=a;if(!((k&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)?(g=k&65535,c[732532]=g,(k&16777216|0)!=0):0){c[732532]=g|65536;m=a}else m=a}else m=e;l=c[2929932+(m>>>4<<2)>>2]<<4&240|c[2929932+((m&15)<<2)>>2]&15}m=(c[732521]|0)-(c[732525]|0)|0;e=bk(c[694838]|0,i,c[694857]|0,(c[732520]|0)-(c[732524]|0)|0,m,(c[732413]|0)==2?17:1,l)|0;if(!((f|0)>2|(e|0)<(m|0))){f=e;do{Xa();f=f+-6|0}while((f|0)>=(m|0))}Rg((Ms(i)|0)<<3|2);Ga=b;return 0}function Eh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=Ga;Ga=Ga+2096|0;e=d+2080|0;f=d+2072|0;g=d+2064|0;h=d+1040|0;i=d;if(!(id(b)|0)){Ga=d;return 0}j=md(b,1)|0;do if((j+-3|0)>>>0>=2)if((j|0)==1){k=(qd(b,1)|0)==0;l=k?53264:53259;break}else{c[g>>2]=nd(b,j)|0;as(1470512,54951,g)|0;l=1470512;break}else l=rd(b,1,0)|0;while(0);if((id(b)|0)<=1){g=or(l,0,1)|0;Zt(g)|0;wt(c[8693]|0)|0;op(g);Ga=d;return 0}g=rd(b,2,0)|0;if(!g){Ga=d;return 0}if((id(b)|0)>2)m=qd(b,3)|0;else m=0;if(!(Cs(g,54186)|0)){j=or(l,0,1)|0;Yq(j)|0;if((Zq(j)|0)==0?(fn(-5)|0)==0:0)bb(54956,1500);k=c[406688]|0;if(k|0)op(k);c[406688]=j;Ga=d;return 0}if((id(b)|0)>3)n=qd(b,4)|0;else n=0;if(zh(g,h,1023,n)|0){yb(54986);Ga=d;return 0}n=c[505381]|0;g=(Ms(l)|0)+n|0;if(g>>>0>10485759){yb(55012);Ga=d;return 0}c[505381]=g;c[f>>2]=h;as(i,55049,f)|0;do if(!(Lt(1955988,i)|0)){f=0;g=0;a:while(1){switch(a[1955988+f>>0]|0){case 0:{break a;break}case 124:{o=g+1|0;break}default:o=g}f=f+1|0;g=o}if((g|0)<=63){Ws(1955988,i)|0;break}yb(55053);Ga=d;return 0}while(0);i=ot(h,(m|0)==0?55075:58535)|0;if(!i){yb(55081);Ga=d;return 0}else{m=or(l,0,1)|0;c[e>>2]=m;It(i,55077,e)|0;ut(i)|0;op(m);Ga=d;return 0}return 0}function Fh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=Ga;Ga=Ga+16|0;d=b+8|0;e=b;f=md(a,1)|0;Rg(2);if(!(id(a)|0)){g=0;Ga=b;return g|0}switch(f|0){case 4:{yd(a,rd(a,1,0)|0)|0;g=1;Ga=b;return g|0}case 3:{if((id(a)|0)>1?qd(a,2)|0:0){h=od(a,1,0)|0;c[e>>2]=h>>>16;c[e+4>>2]=h&65535;as(1470512,54939,e)|0;yd(a,1470512)|0;g=1;Ga=b;return g|0}yd(a,rd(a,1,0)|0)|0;g=1;Ga=b;return g|0}case 1:{e=(qd(a,1)|0)==0;yd(a,e?53264:53259)|0;g=1;Ga=b;return g|0}default:{c[d>>2]=nd(a,f)|0;as(1470512,54951,d)|0;yd(a,1470512)|0;g=1;Ga=b;return g|0}}return 0}function Gh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=Ga;Ga=Ga+7200|0;e=d+7184|0;f=d+7168|0;g=d+6144|0;h=d+5120|0;i=d+4096|0;j=d+3072|0;k=d+2048|0;l=d+1024|0;m=d;n=d+7196|0;c[n>>2]=255;if((c[694852]|0)>0){o=0;Ga=d;return o|0}cl()|0;if((md(b,1)|0)!=4){o=0;Ga=d;return o|0}if((id(b)|0)<=1)if(!(c[732414]|0)){mg();p=0}else p=0;else p=rd(b,2,0)|0;if((id(b)|0)>2?(rd(b,3,0)|0)!=0:0)Ut(2932545,rd(b,3,0)|0,1024)|0;else a[2932545]=0;if((id(b)|0)<=0){o=0;Ga=d;return o|0}q=rd(b,1,n)|0;if(!q){o=0;Ga=d;return o|0}c[405849]=0;rm(k,2923100)|0;rm(m,2921044)|0;if((a[q>>0]|0)==47){rm(m,3002004)|0;r=q+1|0}else r=q;rm(g,r)|0;switch(a[r>>0]|0){case 95:{if((a[r+1>>0]|0)==95)s=37;else s=22;break}case 35:{c[405846]=0;c[405849]=0;if(!(c[732414]|0))ug(54696,0,0);q=r+1|0;m=Kl()|0;c[f>>2]=57866;c[f+4>>2]=m;c[f+8>>2]=q;as(l,54711,f)|0;Il(l,tl(q)|0,0);c[732416]=30;if((p|0)!=0?(Ms(p)|0)>>>0>1:0){lg(k,p,1);t=100}else t=100;break}default:s=22}a:do if((s|0)==22){do if(!(Cs(r,54760)|0)){q=c[506576]|0;if(!q){s=37;break a}Pb(q,54769);c[506576]=0;rm(2923100,3002004)|0;ug(54780,Ms(c[c[17264]>>2]|0)|0,0)}else{if(((Cs(r,54186)|0?Cs(r,54192)|0:0)?Cs(r,54201)|0:0)?Cs(r,54211)|0:0){if(Tb(g)|0){s=37;break a}Mn(2923100,h,i,j);q=Ms(c[c[17264]>>2]|0)|0;c[e>>2]=i;c[e+4>>2]=j;c[e+8>>2]=q;as(1470512,54838,e)|0;if(c[732414]|0)break;tg(1470512);break}tg(54808);t=1;break a}while(0);if(p|0?(Ms(p)|0)>>>0>1:0)lg(k,p,0);Bg();q=c[730002]|0;l=q+336|0;c[q+324>>2]=0;c[q+320>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;ik(2779320,c[733490]|0,0,0,17152);Rg(8388608);if((c[694853]|0)==0&(c[732414]|0)!=0?(c[732413]=1,(Cs(2923100,k)|0)!=0):0){c[732416]=30;t=0}else t=0}while(0);if((s|0)==37)if(!(c[732414]|0)){switch(c[731062]|0){case 1:{tg(54861);break}case 2:{tg(54892);break}default:tg(54924)}c[731062]=0;t=1}else t=1;switch(t&127){case 100:{kg();Dd(b,0);o=1;Ga=d;return o|0}case 0:{Dd(b,1);o=1;Ga=d;return o|0}default:{Dd(b,0);o=1;Ga=d;return o|0}}return 0}function Hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ga;Ga=Ga+16|0;d=b;e=rd(a,1,0)|0;f=(od(a,2,0)|0)>>16;if(!e){Ga=b;return 0}if(!(Cs(e,54569)|0)){$a(0);sh(c[694847]|0)|0;bb(54575,1500);Ga=b;return 0}if(!(Cs(e,54587)|0)){$a(0);Yb(c[694847]|0,f)|0;bb(54594,1500);Ga=b;return 0}if(!(Cs(e,54622)|0)){qh();Ga=b;return 0}if(!(Cs(e,54626)|0)){$a(0);oh(f)|0;bb(54632,1500);Ga=b;return 0}if(!(Cs(e,54653)|0)){c[406684]=1;sb();c[406686]=0;Ga=b;return 0}if(!(Cs(e,53554)|0)){if(c[694852]|0){Ga=b;return 0}f=Iq()|0;if((f|0)<=((c[505791]|0)+500|0)){Ga=b;return 0}c[694852]=1;c[505791]=Iq()|0;Ga=b;return 0}if(!((Cs(e,54659)|0)!=0?(Cs(e,54670)|0)!=0:0))g=18;if((g|0)==18?og()|0:0){rg();kg();Ga=b;return 0}if(!(Cs(e,53560)|0)){c[732413]=2;kg();Ga=b;return 0}else{c[d>>2]=e;as(1470512,54678,d)|0;bb(1470512,2e3);Ga=b;return 0}return 0}function Ih(a){a=a|0;return Lf(a)|0}function Jh(a){a=a|0;var b=0;if((id(a)|0)==1?(md(a,1)|0)==3:0){fg((od(a,1,0)|0)/65536|0);b=0;return b|0}Dd(a,eg()|0);b=1;return b|0}function Kh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ga;Ga=Ga+2912|0;e=d+2080|0;f=d+2064|0;g=d+2056|0;h=d+2048|0;i=d+1024|0;j=d;k=d+2088|0;if((id(b)|0)>0?(l=rd(b,1,0)|0,l|0):0){if((Ms(l)|0)>>>0>511){Ga=d;return 0}if((a[l>>0]|0)==47){c[g>>2]=2920020;c[g+4>>2]=l+1;as(i,54528,g)|0}else{c[f>>2]=2920020;c[f+4>>2]=2921044;c[f+8>>2]=l;as(i,54505,f)|0}Nn(i,j);if((a[2920020]|0)!=46?(Lt(j,2920020)|0)==0:0){sg(54534,7);Ga=d;return 0}i=pq(j,57889,k,-1)|0;rq(k)|0;if(i|0){sg(54545,7);Ga=d;return 0}if((a[2920020]|0)==46)rm(2921044,j)|0;else rm(2921044,j+(Ms(2920020)|0)|0)|0;if(!(Cs(2921044,60609)|0))a[2921044]=0;c[e>>2]=2921044;as(1470512,54565,e)|0;sg(1470512,12);Ga=d;return 0}c[h>>2]=2921044;as(1470512,54513,h)|0;sg(1470512,12);Ga=d;return 0}function Lh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ga;Ga=Ga+1040|0;d=b+1024|0;e=b;if((id(a)|0)<1){tg(54492);f=0;Ga=b;return f|0}g=rd(a,1,0)|0;if((Ms(g)|0)>>>0>511){wd(a,0);f=1;Ga=b;return f|0}else{c[d>>2]=2920020;c[d+4>>2]=2921044;c[d+8>>2]=g;as(e,54505,d)|0;Tq(e)|0;f=0;Ga=b;return f|0}return 0}function Mh(b){b=b|0;if((c[694852]|0)>0)return 0;if((id(b)|0)>0)Ut(2932545,rd(b,1,0)|0,1024)|0;else a[2932545]=0;c[732413]=1;return 0}function Nh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ga;Ga=Ga+1856|0;e=d+1024|0;f=d+1032|0;g=d;c[750217]=17;a[2021532]=0;h=(c[732414]|0)==0;i=(id(b)|0)>0;if(h){if(i)Ut(2021532,rd(b,1,0)|0,1023)|0;rb();j=0;Ga=d;return j|0}if(i){j=0;Ga=d;return j|0}if(!(c[405784]|0))Qq(54484,g);else{c[e>>2]=2920020;c[e+4>>2]=2921044;as(g,67368,e)|0}pq(g,57889,f,-1)|0;Gd(b,0,100);g=f+256|0;e=1;while(1){if((Lt(g,57891)|0)!=0?(Ys(g,126)|0)==0:0){yd(b,g)|0;Id(b,-2,e);Rg(32);k=e+1|0}else k=e;if(!(qq(f)|0))e=k;else{j=1;break}}Ga=d;return j|0}function Oh(a){a=a|0;tg(54443);tg(54462);vd(a);return 1}function Ph(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Ga;Ga=Ga+4128|0;e=d+4112|0;f=d+4096|0;g=d+4120|0;h=d+3072|0;i=d+2048|0;j=d+1024|0;k=d;c[g>>2]=255;l=(c[694853]|0)==0;if(l&(c[732414]|0)!=0){tg(54141);Ga=d;return 0}if(!l){l=0;do{m=c[17264]|0;ek(0,m,l,fk(2779320,c[733490]|0,l)|0);l=l+1|0}while((l|0)!=17152)}if((id(b)|0)>0?(md(b,1)|0)==4:0){l=rd(b,1,g)|0;if((Ms(l)|0)>>>0>511){tg(54168);Ga=d;return 0}if(l|0?a[l>>0]|0:0){if(((Cs(l,54186)|0?Cs(l,54192)|0:0)?Cs(l,54201)|0:0)?Cs(l,54211)|0:0){c[f>>2]=2920020;c[f+4>>2]=2921044;c[f+8>>2]=l;as(h,53326,f)|0;Mb(h,h);do if(sq(h)|0){if(c[750219]|0){c[750219]=0;break}tg(54395);sg(54415,14);c[750219]=1;Ga=d;return 0}while(0);if(Ob(h)|0){Ga=d;return 0}rm(2923100,h)|0;Mn(h,i,j,k);c[e>>2]=j;c[e+4>>2]=k;as(1470512,54432,e)|0;tg(1470512);Ga=d;return 0}if(!(c[(c[17264]|0)+44572>>2]|0)){sg(54224,9);sg(54248,10)}Qq(54279,i);if(((Hb(c[17264]|0,i)|0)==0?(Qq(54292,h),(rh(i,h)|0)==0):0)?(ar(h)|0)==0:0){_q();i=Tn(h)|0;if(i|0){zn(0,i);Zq(c[i+12>>2]|0)|0;rp(i)}tg(54309);tg(54338);Ga=d;return 0}tg(54367);Ga=d;return 0}}Wb(1);Ga=d;return 0}function Qh(a){a=a|0;if(c[732414]|0)return 0;tg(3002004);sg(53759,12);tg(3002004);tg(53768);tg(53801);tg(53825);tg(53849);tg(53869);tg(53902);tg(53934);sg(53963,14);tg(3002004);tg(53996);tg(54028);tg(54059);tg(3002004);sg(54088,12);sg(54116,12);tg(3002004);return 0}function Rh(a){a=a|0;if(c[732414]|0)return 0;if(cc(53731)|0)return 0;if(ac()|0)Nb(2923100,0)|0;c[732413]=3;c[405782]=0;kg();return 0}function Sh(a){a=a|0;a=0;do{if((a|1|0)!=39)ek(2779320,c[733490]|0,a+24320|0,d[1664+a>>0]|0);a=a+1|0}while((a|0)!=128);Rg(32);return 0}function Th(a){a=a|0;if((c[694853]|0)==0&(c[732414]|0)!=0)return 0;if(cc(53701)|0)return 0;if(ac()|0)Nb(2923100,0)|0;kg();return 0}function Uh(b){b=b|0;var d=0,e=0,f=0;b=Ga;Ga=Ga+3088|0;d=b+3072|0;e=b+1024|0;f=b;Mn(2923100,b+2048|0,e,f);if(a[2923100]|0){if(!(a[f>>0]|0))rm(f,57891)|0;c[d>>2]=e;c[d+4>>2]=f;as(1470512,53593,d)|0;sg(1470512,14)}Kg();d=mp(131072)|0;if(am(c[c[17264]>>2]|0,d)|0){op(d);Ga=b;return 0}f=mp(131072)|0;e=Pk(d,f,Ms(d)|0)|0;op(f);f=dh(d)|0;vg(53604,f,8192,(f|0)<8193?6:9);f=Ms(d)|0;vg(53626,f,65535,f>>>0<65536?6:9);vg(53647,e,15616,(e|0)<15617?6:9);if(ac()|0)ug(53668,0,0);if(bc()|0)ug(53684,0,0);op(d);Ga=b;return 0}function Vh(a){a=a|0;return 0}function Wh(a){a=a|0;return 0}function Xh(a){a=a|0;Xg();Cd(a,33,0);Hd(a,55113);Yg(55113);Cd(a,34,0);Hd(a,55118);Yg(55118);Cd(a,35,0);Hd(a,55122);Yg(55122);Cd(a,36,0);Hd(a,55126);Yg(55126);Cd(a,37,0);Hd(a,55132);Yg(55132);Cd(a,28,0);Hd(a,53554);Yg(53554);Cd(a,38,0);Hd(a,55137);Yg(55137);Cd(a,39,0);Hd(a,55144);Yg(55144);Cd(a,40,0);Hd(a,55149);Yg(55149);Cd(a,41,0);Hd(a,55153);Yg(55153);Cd(a,23,0);Hd(a,53523);Yg(53523);Cd(a,23,0);Hd(a,55160);Yg(55160);Cd(a,20,0);Hd(a,53510);Yg(53510);Cd(a,21,0);Hd(a,53513);Yg(53513);Cd(a,42,0);Hd(a,55164);Yg(55164);Cd(a,43,0);Hd(a,55171);Yg(55171);Cd(a,44,0);Hd(a,55185);Yg(55185);Cd(a,45,0);Hd(a,55199);Yg(55199);Cd(a,46,0);Hd(a,55209);Yg(55209);Cd(a,47,0);Hd(a,55216);Yg(55216);Cd(a,48,0);Hd(a,55221);Yg(55221);Cd(a,49,0);Hd(a,55226);Yg(55226);Cd(a,10,0);Hd(a,55232);Yg(55232);Cd(a,11,0);Hd(a,55238);Yg(55238);Cd(a,12,0);Hd(a,55245);Yg(55245);Cd(a,12,0);Hd(a,53411);Cd(a,10,0);Hd(a,53394);Cd(a,11,0);Hd(a,53402);Cd(a,50,0);Hd(a,55251);Yg(55251);Cd(a,51,0);Hd(a,55258);Yg(55258);Cd(a,52,0);Hd(a,55264);Yg(55264);Cd(a,53,0);Hd(a,55268);Yg(55268);Cd(a,54,0);Hd(a,55273);Yg(55273);Cd(a,55,0);Hd(a,55278);Yg(55278);Cd(a,56,0);Hd(a,55287);Yg(55287);Cd(a,57,0);Hd(a,55292);Yg(55292);Cd(a,58,0);Hd(a,55301);Yg(55301);Cd(a,59,0);Hd(a,55306);Yg(55306);Cd(a,60,0);Hd(a,55315);Yg(55315);Cd(a,61,0);Hd(a,55320);Yg(55320);Cd(a,62,0);Hd(a,55326);Yg(55326);Cd(a,63,0);Hd(a,55330);Yg(55330);Cd(a,64,0);Hd(a,55335);Yg(55335);Cd(a,65,0);Hd(a,55341);Yg(55341);Cd(a,65,0);Hd(a,55349);Yg(55349);Cd(a,66,0);Hd(a,55353);Yg(55353);Cd(a,67,0);Hd(a,55358);Yg(55358);Cd(a,68,0);Hd(a,55363);Yg(55363);Cd(a,69,0);Hd(a,55368);Yg(55368);Cd(a,70,0);Hd(a,55373);Yg(55373);Cd(a,71,0);Hd(a,55378);Yg(55378);Cd(a,72,0);Hd(a,59115);Yg(59115);Cd(a,73,0);Hd(a,55383);Yg(55383);Cd(a,74,0);Hd(a,55387);Yg(55387);Cd(a,75,0);Hd(a,55392);Yg(55392);Cd(a,76,0);Hd(a,55397);Yg(55397);Cd(a,77,0);Hd(a,55404);Yg(55404);Cd(a,78,0);Hd(a,55410);Yg(55410);Cd(a,79,0);Hd(a,55416);Yg(55416);Cd(a,80,0);Hd(a,55422);Yg(55422);Cd(a,81,0);Hd(a,55428);Yg(55428);Cd(a,82,0);Hd(a,55435);Yg(55435);Cd(a,83,0);Hd(a,55442);Yg(55442);Cd(a,84,0);Hd(a,55449);Yg(55449);Cd(a,85,0);Hd(a,55456);Yg(55456);Cd(a,86,0);Hd(a,55460);Yg(55460);Cd(a,87,0);Hd(a,55466);Yg(55466);Cd(a,88,0);Hd(a,55470);Yg(55470);Cd(a,89,0);Hd(a,55475);Yg(55475);Cd(a,90,0);Hd(a,55479);Yg(55479);Cd(a,91,0);Hd(a,55483);Yg(55483);Cd(a,92,0);Hd(a,55487);Yg(55487);Cd(a,93,0);Hd(a,57912);Yg(57912);Cd(a,94,0);Hd(a,55491);Yg(55491);Cd(a,95,0);Hd(a,55495);Yg(55495);Cd(a,96,0);Hd(a,55499);Yg(55499);Cd(a,97,0);Hd(a,55504);Yg(55504);Cd(a,98,0);Hd(a,55510);Yg(55510);Cd(a,99,0);Hd(a,55515);Yg(55515);Cd(a,100,0);Hd(a,55519);Yg(55519);Cd(a,101,0);Hd(a,55524);Yg(55524);Cd(a,102,0);Hd(a,55529);Yg(55529);Cd(a,103,0);Hd(a,55533);Yg(55533);Cd(a,104,0);Hd(a,55537);Yg(55537);Cd(a,105,0);Hd(a,55542);Yg(55542);Cd(a,106,0);Hd(a,55547);Yg(55547);Cd(a,13,0);Hd(a,53419);Cd(a,13,0);Hd(a,53532);Yg(53532);Cd(a,25,0);Hd(a,53537);Yg(53537);Cd(a,22,0);Hd(a,53519);Yg(53519);Cd(a,9,0);Hd(a,55552);Yg(55552);Cd(a,27,0);Hd(a,53547);Cd(a,29,0);Hd(a,53560);Cd(a,29,0);Hd(a,53569);Cd(a,30,0);Hd(a,53574);Cd(a,31,0);Hd(a,53579);Cd(a,32,0);Hd(a,53586);Cd(a,26,0);Hd(a,53542);Cd(a,107,0);Hd(a,55557);Yg(55557);Cd(a,107,0);Hd(a,55562);Cd(a,24,0);Hd(a,53526);Yg(53526);Cd(a,108,0);Hd(a,55564);Yg(55564);Cd(a,109,0);Hd(a,55571);Yg(55571);Cd(a,110,0);Hd(a,55578);Yg(55578);Cd(a,14,0);Hd(a,55587);Yg(55587);Cd(a,14,0);Hd(a,53426);Cd(a,111,0);Hd(a,55594);Cd(a,112,0);Hd(a,55600);Yg(55600);Cd(a,113,0);Hd(a,55615);Yg(55615);Cd(a,114,0);Hd(a,55619);Yg(55619);Cd(a,115,0);Hd(a,55624);Cd(a,116,0);Hd(a,55634);Yg(55634);Cd(a,117,0);Hd(a,55643);Yg(55643);Cd(a,118,0);Hd(a,55648);Yg(55648);Cd(a,119,0);Hd(a,55653);Yg(55653);Cd(a,120,0);Hd(a,55658);Yg(55658);Cd(a,121,0);Hd(a,55662);Yg(55662);Cd(a,122,0);Hd(a,55666);Yg(55666);Cd(a,123,0);Hd(a,55670);Yg(55670);Cd(a,7,0);Hd(a,53366);Cd(a,8,0);Hd(a,53376);Cd(a,16,0);Hd(a,58649);Yg(58649);Cd(a,4,0);Hd(a,55676);Yg(55676);Cd(a,124,0);Hd(a,55681);Yg(55681);Cd(a,125,0);Hd(a,55694);Yg(55694);Cd(a,126,0);Hd(a,55707);Yg(55707);Cd(a,127,0);Hd(a,55716);Yg(55716);Cd(a,128,0);Hd(a,55723);Yg(55723);Cd(a,129,0);Hd(a,55730);Yg(55730);Cd(a,130,0);Hd(a,55737);Yg(55737);Cd(a,131,0);Hd(a,55744);Yg(55744);Cd(a,18,0);Hd(a,55753);Yg(55753);Cd(a,132,0);Hd(a,55762);Yg(55762);Cd(a,133,0);Hd(a,55768);Yg(55768);Cd(a,134,0);Hd(a,55777);Yg(55777);Cd(a,135,0);Hd(a,55784);Yg(55784);Cd(a,17,0);Hd(a,55789);Yg(55789);Cd(a,136,0);Hd(a,55796);Cd(a,136,0);Hd(a,55804);Cd(a,137,0);Hd(a,55810);Cd(a,137,0);Hd(a,55820);Cd(a,138,0);Hd(a,55832);Cd(a,139,0);Hd(a,55856);Cd(a,140,0);Hd(a,55872);Cd(a,141,0);Hd(a,55890);Cd(a,142,0);Hd(a,55911);Cd(a,143,0);Hd(a,55920);Cd(a,144,0);Hd(a,55930);Cd(a,6,0);Hd(a,53351);return}function Yh(a){a=a|0;var b=0;Gg();a=c[749941]|0;if((a|0)==30){Gg();b=c[749941]|0}else b=a;if((b|0)==15){Gg();Gg()}tb();qk();c[694849]=0;jm();jg();c[694834]=0;if(!(c[406689]|0)){kg();return 0}c[732413]=2;c[732521]=0;c[732520]=0;kg();return 0}function Zh(a){a=a|0;var b=0,d=0,e=0,f=0;b=fk(2779320,c[733490]|0,24360)|0;d=((fk(2779320,c[733490]|0,24361)|0)<<8)+b|0;b=fk(2779320,c[733490]|0,24362)|0;e=((fk(2779320,c[733490]|0,24363)|0)<<8)+b|0;b=od(a,1,0)|0;f=od(a,2,0)|0;ek(2779320,c[733490]|0,24360,b>>>16&255);ek(2779320,c[733490]|0,24361,b>>24);ek(2779320,c[733490]|0,24362,f>>>16&255);ek(2779320,c[733490]|0,24363,f>>24);wd(a,d<<16);wd(a,e<<16);return 2}function _h(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[732515]|0;d=c[732516]|0;e=c[732517]|0;f=e-b|0;g=c[732518]|0;h=g-d|0;if((id(a)|0)>3){i=(od(a,1,0)|0)>>16;j=(od(a,2,0)|0)>>16;k=(od(a,3,0)|0)>>16;l=i;m=j;n=k;o=(od(a,4,0)|0)>>16}else{l=0;m=0;n=128;o=128}if((id(a)|0)>4){k=(qd(a,5)|0)==0;c[732515]=l;c[732516]=m;j=l+n|0;c[732517]=j;i=m+o|0;c[732518]=i;if(k){p=l;q=m;r=j;s=i}else{k=(l|0)<(e|0)?l:e;t=(b|0)>(k|0)?b:k;c[732515]=t;k=(m|0)<(g|0)?m:g;u=(d|0)>(k|0)?d:k;c[732516]=u;k=(j|0)<(e|0)?j:e;e=(b|0)>(k|0)?b:k;c[732517]=e;k=(i|0)<(g|0)?i:g;v=e;w=u;x=t;y=(d|0)>(k|0)?d:k;z=7}}else{c[732515]=l;c[732516]=m;k=l+n|0;c[732517]=k;v=k;w=m;x=l;y=m+o|0;z=7}if((z|0)==7){c[732518]=y;p=x;q=w;r=v;s=y}y=(p|0)<128?p:128;p=(y|0)>0?y:0;c[732515]=p;y=(q|0)<128?q:128;q=(y|0)>0?y:0;c[732516]=q;y=(r|0)<128?r:128;r=(y|0)>0?y:0;c[732517]=r;y=(s|0)<128?s:128;s=(y|0)>0?y:0;c[732518]=s;Im(c[694838]|0,p,q,r,s);wd(a,b<<16);wd(a,d<<16);wd(a,f<<16);wd(a,h<<16);return 4}function $h(a){a=a|0;var b=0;if((id(a)|0)>0)b=(od(a,1,0)|0)>>16;else b=0;c[732521]=0;c[732520]=0;c[732516]=0;c[732515]=0;c[732518]=128;c[732517]=128;Pm(c[694838]|0);Hm(c[694838]|0,0,0,127,127,b);Rg(1024);return 0}function ai(a){a=a|0;return 0}function bi(a){a=a|0;var b=0,d=0,e=0;a=Ga;Ga=Ga+2064|0;b=a+2048|0;d=a+1024|0;e=a;if(c[732414]|0){Ga=a;return 0}Nb(2923100,0)|0;Mn(2923100,0,d,e);c[b>>2]=d;c[b+4>>2]=e;as(1470512,56446,b)|0;tg(1470512);Ga=a;return 0}function ci(a){a=a|0;if(!(c[405784]|0)){Zl();return 0}else{tg(56414);return 0}return 0}function di(a){a=a|0;sg(56386,14);ll();_l();ml();return 0}function ei(a){a=a|0;fl();c[750218]=1;pk();return 0}function fi(a){a=a|0;tg(56355);return 0}function gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((id(a)|0)<2)return 0;b=(od(a,1,0)|0)>>16;d=(od(a,2,0)|0)>>16;e=c[732519]&255;if((id(a)|0)>=3){f=od(a,3,0)|0;a=f>>>16&255;c[732519]=a;if(!((f&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)?(g=f&65535,c[732532]=g,(f&16777216|0)!=0):0){c[732532]=g|65536;h=a}else h=a}else h=e;Qj(c[694838]|0,b-(c[732524]|0)|0,d-(c[732525]|0)|0,c[2929932+(h>>>4<<2)>>2]<<4&240|c[2929932+((h&15)<<2)>>2]&15,c[732532]|0);return 0}function hi(a){a=a|0;var b=0,d=0;if((id(a)|0)<2){wd(a,0);return 1}else{b=(od(a,1,0)|0)>>16;d=(od(a,2,0)|0)>>16;wd(a,(Sm(c[694838]|0,b-(c[732524]|0)|0,d-(c[732525]|0)|0)|0)<<16&983040);return 1}return 0}function ii(a){a=a|0;var b=0,d=0,e=0;b=c[732519]|0;if(!(id(a)|0))c[732519]=6;if(((id(a)|0)>=1?(d=od(a,1,0)|0,c[732519]=d>>>16&255,!((d&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)):0)?(e=d&65535,c[732532]=e,d&16777216|0):0)c[732532]=e|65536;wd(a,b<<16);return 1}function ji(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[732520]|0;d=c[732521]|0;e=c[732519]|0;f=(od(a,1,0)|0)>>16;g=(od(a,2,0)|0)>>16;c[732520]=f;c[732521]=g;if(((id(a)|0)>=3?(g=od(a,3,0)|0,c[732519]=g>>>16&255,!((g&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)):0)?(f=g&65535,c[732532]=f,g&16777216|0):0)c[732532]=f|65536;wd(a,b<<16);wd(a,d<<16);wd(a,e<<16);return 3}function ki(b){b=b|0;var d=0,e=0,f=0,g=0;d=Ga;Ga=Ga+16|0;e=d;f=md(b,1)|0;Rg(2);switch(f|0){case 3:{wd(b,od(b,1,0)|0);g=1;break}case 4:{c[e>>2]=0;f=od(b,1,e)|0;if(!(c[e>>2]|0))g=0;else{e=(f|0)>-1&(a[(rd(b,1,0)|0)>>0]|0)==45;wd(b,e?0-f|0:f);g=1}break}default:g=0}Ga=d;return g|0}function li(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=Ga;Ga=Ga+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=id(a)|0;l=od(a,1,0)|0;m=l>>16;n=(od(a,2,0)|0)>>16;o=(od(a,3,0)|0)>>16;if(l>>>0>16777215){Ga=b;return 0}if((k|0)>3){l=od(a,4,0)|0;p=l<<3>>16;l=(od(a,5,0)|0)<<3>>16;if((k|0)>5){q=qd(a,6)|0;if((k|0)==6){r=0;s=q;t=l;u=p}else{r=qd(a,7)|0;s=q;t=l;u=p}}else{r=0;s=0;t=l;u=p}}else{r=0;s=0;t=8;u=8}if((u|0)<1|(t|0)<1){Ga=b;return 0}p=(u|0)<128?u:128;u=(t|0)<128?t:128;t=n-(c[732524]|0)|0;n=o-(c[732525]|0)|0;o=c[515163]|0;do if(!o)v=11;else{if((c[o>>2]|0)==(p|0)?(c[o+4>>2]|0)==(u|0):0){w=o;break}Lm(o)|0;v=11}while(0);if((v|0)==11){v=Km(p,u,8)|0;c[515163]=v;w=v}Mj(c[(c[733490]|0)+4>>2]|0,w,m<<3&120,((m|0)/16|0)<<3,0,0,p,u,s,r,2929932);Oj(c[515163]|0,c[694838]|0,0,0,t,n,p,u,2929932);c[d>>2]=p;c[e>>2]=u;c[g>>2]=0;c[h>>2]=0;c[i>>2]=t;c[j>>2]=n;c[f>>2]=p;c[f+4>>2]=u;Nm(f,c[694838]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;Rg((d|j|0)<0?0:e);Ga=b;return 0}function mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0;b=Ga;Ga=Ga+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=id(a)|0;l=(od(a,1,0)|0)>>16;m=(od(a,2,0)|0)>>16;n=od(a,3,0)|0;o=n>>16;p=od(a,4,0)|0;q=p>>16;r=(od(a,5,0)|0)>>16;s=(od(a,6,0)|0)>>16;if((k|0)>6){t=(od(a,7,0)|0)>>16;u=(od(a,8,0)|0)>>16;if((k|0)>8){v=qd(a,9)|0;if((k|0)==9){w=0;x=v;y=u;z=t}else{w=qd(a,10)|0;x=v;y=u;z=t}}else{w=0;x=0;y=u;z=t}}else{w=0;x=0;y=q;z=o}if((p+-65536|n+-65536)>>>0>8388607){Ga=b;return 0}if((z|0)==0|(y|0)==0){Ga=b;return 0}n=(z|0)<0;p=r-(c[732524]|0)+(n?z:0)|0;r=n?0-z|0:z;z=n?(x|0)==0&1:x;x=(y|0)<0;n=s-(c[732525]|0)+(x?y:0)|0;s=x?0-y|0:y;y=x?(w|0)==0&1:w;w=c[515162]|0;do if(!w)A=11;else{if((c[w>>2]|0)==(o|0)?(c[w+4>>2]|0)==(q|0):0){C=w;break}Lm(w)|0;A=11}while(0);if((A|0)==11){A=Km(o,q,8)|0;c[515162]=A;C=A}Mj(c[(c[733490]|0)+4>>2]|0,C,l,m,0,0,o,q,z,y,2929932);Nj(c[515162]|0,c[694838]|0,p,n,r,s,2929932);c[d>>2]=r;c[e>>2]=s;c[g>>2]=0;c[h>>2]=0;c[i>>2]=p;c[j>>2]=n;n=0-r|0;if((r|0)<0){c[g>>2]=r;c[d>>2]=n;D=n}else D=r;r=0-s|0;if((s|0)<0){c[h>>2]=s;c[e>>2]=r;E=r}else E=s;c[f>>2]=D;c[f+4>>2]=E;Nm(f,c[694838]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;Rg((d|j|0)<0?0:e);Ga=b;return 0}function ni(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=(od(a,1,0)|0)>>16;d=(od(a,2,0)|0)>>16;e=(od(a,3,0)|0)>>16;f=(od(a,4,0)|0)>>16;g=c[732519]&255;if((id(a)|0)>=5){h=od(a,5,0)|0;a=h>>>16&255;c[732519]=a;if(!((h&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)?(i=h&65535,c[732532]=i,(h&16777216|0)!=0):0){c[732532]=i|65536;j=a}else j=a}else j=g;g=c[2929932+(j>>>4<<2)>>2]<<4&240|c[2929932+((j&15)<<2)>>2]&15;j=c[732524]|0;a=b-j|0;b=c[732525]|0;i=d-b|0;d=e-j|0;j=f-b|0;b=Xj(c[694838]|0,a,i,d,i,g)|0;if((j|0)==(i|0))k=b;else k=(Xj(c[694838]|0,a,j,d,j,g)|0)+b|0;b=j-i|0;if((((b|0)<0?0-b|0:b)|0)<=1){l=k;m=(l|0)/16|0;Rg(m);return 0}b=(j|0)<(i|0);f=(b?j:i)+1|0;e=(b?i:j)+-1|0;j=(Xj(c[694838]|0,a,f,a,e,g)|0)+k|0;l=j+(Xj(c[694838]|0,d,f,d,e,g)|0)|0;m=(l|0)/16|0;Rg(m);return 0}function oi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=(od(a,1,0)|0)>>16;d=(od(a,2,0)|0)>>16;e=(od(a,3,0)|0)>>16;f=(od(a,4,0)|0)>>16;g=c[732519]&255;if((id(a)|0)>=5){h=od(a,5,0)|0;a=h>>>16&255;c[732519]=a;if(!((h&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)?(i=h&65535,c[732532]=i,(h&16777216|0)!=0):0){c[732532]=i|65536;j=a}else j=a}else j=g;g=c[2929932+(j>>>4<<2)>>2]<<4&240|c[2929932+((j&15)<<2)>>2]&15;j=c[732524]|0;a=b-j|0;b=c[732525]|0;i=d-b|0;d=e-j|0;j=f-b|0;b=(d|0)<(a|0);f=b?a:d;e=b?d:a;a=(j|0)<(i|0);d=a?i:j;b=a?j:i;i=0;while(1){i=(Rj(c[694838]|0,e,f,b,g,c[732532]|0)|0)+i|0;if((b|0)>=(d|0))break;else b=b+1|0}Rg((i|0)/16|0);return 0}function pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=id(b)|0;if((d|0)<2)return 0;e=(od(b,1,0)|0)>>16;f=(od(b,2,0)|0)>>16;if((d|0)!=2){d=od(b,3,0)|0;if((d|0)<0)return 0;else{g=d>>16;h=(a[2958338]&2)==0?0:d>>>15&1}}else{g=4;h=0}d=c[732519]&255;if((id(b)|0)>=4){i=od(b,4,0)|0;b=i>>>16&255;c[732519]=b;if(!((i&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)?(j=i&65535,c[732532]=j,(i&16777216|0)!=0):0){c[732532]=j|65536;k=b}else k=b}else k=d;d=e-(c[732524]|0)|0;e=f-(c[732525]|0)|0;f=g+h|0;Rg((Tj(c[694838]|0,d-g|0,e-g|0,f+d|0,f+e|0,c[2929932+(k>>>4<<2)>>2]<<4&240|c[2929932+((k&15)<<2)>>2]&15)|0)/2|0);return 0}function qi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=id(b)|0;if((d|0)<2)return 0;e=(od(b,1,0)|0)>>16;f=(od(b,2,0)|0)>>16;do if((d|0)!=2){g=od(b,3,0)|0;if((g|0)<0)return 0;else{h=g>>>16;i=(a[2958338]&2)==0?0:g>>>15&1;break}}else{h=4;i=0}while(0);d=c[732519]&255;if((id(b)|0)>=4){g=od(b,4,0)|0;b=g>>>16&255;c[732519]=b;if(!((g&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)?(j=g&65535,c[732532]=j,(g&16777216|0)!=0):0){c[732532]=j|65536;k=b}else k=b}else k=d;d=e-(c[732524]|0)|0;e=f-(c[732525]|0)|0;f=i+h|0;Rg((Vj(c[694838]|0,d-h|0,e-h|0,f+d|0,f+e|0,c[2929932+(k>>>4<<2)>>2]<<4&240|c[2929932+((k&15)<<2)>>2]&15)|0)/16|0);return 0}function ri(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=(od(a,1,0)|0)>>16;d=(od(a,2,0)|0)>>16;e=(od(a,3,0)|0)>>16;f=(od(a,4,0)|0)>>16;g=c[732519]&255;if((id(a)|0)>=5){h=od(a,5,0)|0;a=h>>>16&255;c[732519]=a;if(!((h&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)?(i=h&65535,c[732532]=i,(h&16777216|0)!=0):0){c[732532]=i|65536;j=a}else j=a}else j=g;g=c[732524]|0;a=b-g|0;b=c[732525]|0;i=d-b|0;d=e-g|0;g=f-b|0;b=(d|0)<(a|0);f=(g|0)<(i|0);Rg((Tj(c[694838]|0,b?d:a,f?g:i,b?a:d,f?i:g,c[2929932+(j>>>4<<2)>>2]<<4&240|c[2929932+((j&15)<<2)>>2]&15)|0)/2|0);return 0}function si(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=(od(a,1,0)|0)>>16;d=(od(a,2,0)|0)>>16;e=(od(a,3,0)|0)>>16;f=(od(a,4,0)|0)>>16;g=c[732519]&255;if((id(a)|0)>=5){h=od(a,5,0)|0;a=h>>>16&255;c[732519]=a;if(!((h&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)?(i=h&65535,c[732532]=i,(h&16777216|0)!=0):0){c[732532]=i|65536;j=a}else j=a}else j=g;g=c[732524]|0;a=b-g|0;b=c[732525]|0;i=d-b|0;d=e-g|0;g=f-b|0;b=(d|0)<(a|0);f=(g|0)<(i|0);Rg((Vj(c[694838]|0,b?d:a,f?g:i,b?a:d,f?i:g,c[2929932+(j>>>4<<2)>>2]<<4&240|c[2929932+((j&15)<<2)>>2]&15)|0)/16|0);return 0}function ti(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=(od(a,1,0)|0)>>16;d=(od(a,2,0)|0)>>16;if(!(id(a)|0)){c[732535]=1;return 0}if((id(a)|0)==1){c[732535]=1;if((id(a)|0)<1)return 0;e=od(a,1,0)|0;c[732519]=e>>>16&255;if((e&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)return 0;f=e&65535;c[732532]=f;if(!(e&16777216))return 0;c[732532]=f|65536;return 0}do if((id(a)|0)<4){if((((id(a)|0)==3?(id(a)|0)>=3:0)?(f=od(a,3,0)|0,c[732519]=f>>>16&255,!((f&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)):0)?(e=f&65535,c[732532]=e,f&16777216|0):0)c[732532]=e|65536;if(!(c[732535]&1)){e=c[732533]|0;f=c[732534]|0;c[732533]=b;c[732534]=d;g=f;h=e;break}c[732533]=b;c[732534]=d;c[732535]=0;return 0}else{e=(od(a,3,0)|0)>>16;f=(od(a,4,0)|0)>>16;c[732533]=e;c[732534]=f;c[732535]=0;g=f;h=e}while(0);e=c[732519]&255;if((id(a)|0)>=5){f=od(a,5,0)|0;a=f>>>16&255;c[732519]=a;if(!((f&268435456|0)==0|(fk(2779320,c[733490]|0,24372)|0)!=1)?(i=f&65535,c[732532]=i,(f&16777216|0)!=0):0){c[732532]=i|65536;j=a}else j=a}else j=e;e=c[732524]|0;a=b-e|0;b=c[732525]|0;i=d-b|0;d=h-e|0;e=g-b|0;b=Xj(c[694838]|0,a,i,d,e,c[2929932+(j>>>4<<2)>>2]<<4&240|c[2929932+((j&15)<<2)>>2]&15)|0;if((a|0)==(d|0)|(i|0)==(e|0)){Rg((b|0)/16|0);return 0}else{Rg((b|0)/2|0);return 0}return 0}function ui(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=od(a,1,0)|0;d=od(a,2,0)|0;e=od(a,3,0)|0;f=od(a,4,0)|0;if((id(a)|0)>4)g=od(a,5,0)|0;else g=0;if((id(a)|0)>5)h=od(a,6,0)|0;else h=0;if((id(a)|0)>6)i=od(a,7,0)|0;else i=8192;if((id(a)|0)>7)j=od(a,8,0)|0;else j=0;if((id(a)|0)>8)k=(od(a,9,0)|0)>>16;else k=0;a=c[732524]<<16;l=c[732525]<<16;Rg((Yj(c[694838]|0,b-a|0,d-l|0,e-a|0,f-l|0,g,h,i,j,k)|0)<<1);return 0}function vi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=id(a)|0;d=(b|0)>1;if((md(a,1)|0)!=5){if(d){e=(od(a,1,0)|0)>>16;f=od(a,2,0)|0;g=f>>16;a:do if((b|0)!=2){h=e&15;i=g&143;switch((od(a,3,0)|0)>>16|0){case 0:{j=h;k=22;break a;break}case 1:break;case 2:{l=h|24416;m=fk(2779320,c[733490]|0,l)|0;ek(2779320,c[733490]|0,l,i);n=m;break a;break}default:{n=0;break a}}m=2929996+(h<<2)|0;h=c[m>>2]|0;c[m>>2]=i;if(!(f&8388608))n=h;else{jb();n=h}}else{j=e&15;k=22}while(0);if((k|0)==22){k=2929932+(j<<2)|0;j=c[k>>2]|0;c[k>>2]=j&16|g&15;n=j}o=n<<16&-1114112}else{c[732499]=0;c[732484]=1;c[732500]=1;c[732485]=2;c[732501]=2;c[732486]=3;c[732502]=3;c[732487]=4;c[732503]=4;c[732488]=5;c[732504]=5;c[732489]=6;c[732505]=6;c[732490]=7;c[732506]=7;c[732491]=8;c[732507]=8;c[732492]=9;c[732508]=9;c[732493]=10;c[732509]=10;c[732494]=11;c[732510]=11;c[732495]=12;c[732511]=12;c[732496]=13;c[732512]=13;c[732497]=14;c[732513]=14;c[732498]=15;c[732514]=15;c[732483]=16;o=0}wd(a,o);p=1;return p|0}if(d)q=(od(a,2,0)|0)>>16;else q=0;vd(a);if(!($e(a,1)|0)){p=0;return p|0}if(!q){do{if((md(a,-2)|0)==3){d=pd(a,-2,0)|0;o=pd(a,-1,0)|0;n=2929932+((d&15)<<2)|0;c[n>>2]=c[n>>2]&16|o&15}jd(a,-2);Rg(2)}while(($e(a,1)|0)!=0);p=0;return p|0}while(1){b:do if((md(a,-2)|0)==3){o=pd(a,-2,0)|0;n=pd(a,-1,0)|0;d=o&15;o=n&143;switch(q|0){case 2:{j=d|24416;fk(2779320,c[733490]|0,j)|0;ek(2779320,c[733490]|0,j,o);break b;break}case 1:break;default:break b}c[2929996+(d<<2)>>2]=o;if(n&128|0)jb()}while(0);jd(a,-2);Rg(2);if(!($e(a,1)|0)){p=0;break}}return p|0}function wi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=id(a)|0;d=c[732483]|0;e=c[732484]|0;f=c[732485]|0;g=c[732486]|0;h=c[732487]|0;i=c[732488]|0;j=c[732489]|0;k=c[732490]|0;l=c[732491]|0;m=c[732492]|0;n=c[732493]|0;o=c[732494]|0;p=c[732495]|0;q=c[732496]|0;r=c[732497]|0;s=c[732498]|0;t=s>>>4&1|(r>>>3&2|(q>>>2&4|(p>>>1&8|(o&16|(n<<1&32|(m<<2&64|(l<<3&128|(k<<4&256|(j<<5&512|(i<<6&1024|(h<<7&2048|(g<<8&4096|(f<<9&8192|(e<<10&16384|d<<11&32768))))))))))))));if(!b){c[732484]=e&15;c[732485]=f&15;c[732486]=g&15;c[732487]=h&15;c[732488]=i&15;c[732489]=j&15;c[732490]=k&15;c[732491]=l&15;c[732492]=m&15;c[732493]=n&15;c[732494]=o&15;c[732495]=p&15;c[732496]=q&15;c[732497]=r&15;c[732498]=s&15;c[732483]=d&15|16;wd(a,t<<16);return 1}d=od(a,1,0)|0;if((b|0)==1){b=c[732483]&15;c[732483]=(d|0)>-1?b:b|16;c[732484]=d>>>26&16|c[732484]&15;c[732485]=d>>>25&16|c[732485]&15;c[732486]=d>>>24&16|c[732486]&15;c[732487]=d>>>23&16|c[732487]&15;c[732488]=d>>>22&16|c[732488]&15;c[732489]=d>>>21&16|c[732489]&15;c[732490]=d>>>20&16|c[732490]&15;c[732491]=d>>>19&16|c[732491]&15;c[732492]=d>>>18&16|c[732492]&15;c[732493]=d>>>17&16|c[732493]&15;c[732494]=d>>>16&16|c[732494]&15;c[732495]=d>>>15&16|c[732495]&15;c[732496]=d>>>14&16|c[732496]&15;c[732497]=d>>>13&16|c[732497]&15;c[732498]=d>>>12&16|c[732498]&15;Rg(2);wd(a,t<<16);return 1}else{t=qd(a,2)|0;b=2929932+((d>>>16&15)<<2)|0;d=c[b>>2]|0;s=d&15;c[b>>2]=(t|0)==0?s:s|16;Dd(a,d>>>4&1);return 1}return 0}function xi(a){a=a|0;var b=0,d=0,e=0;b=c[732532]|0;if(!(id(a)|0))d=0;else{e=od(a,1,0)|0;d=e<<1&65536|e>>>16}c[732532]=d;wd(a,b>>>1&32768|b<<16);return 1}function yi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;b=Ga;Ga=Ga+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=(od(a,1,0)|0)>>16;l=(od(a,2,0)|0)>>16;m=(od(a,3,0)|0)>>16;n=(od(a,4,0)|0)>>16;if((id(a)|0)>4){o=(od(a,5,0)|0)>>16;p=(od(a,6,0)|0)>>16;q=o;r=(od(a,7,0)|0)>>16;s=p}else{q=128;r=0;s=32}if((s|0)<1|(q|0)<1){Ga=b;return 0}p=m-(c[732524]|0)|0;m=n-(c[732525]|0)|0;n=c[733490]|0;a=c[n+8>>2]|0;o=c[n+4>>2]|0;n=c[732515]|0;t=c[732516]|0;if((p|0)<(n+-7|0)){u=(n-p|0)/8|0;v=u+k|0;w=(u<<3)+p|0;x=q-u|0}else{v=k;w=p;x=q}if((m|0)<(t+-7|0)){q=(t-m|0)/8|0;y=q+l|0;z=(q<<3)+m|0;A=s-q|0}else{y=l;z=m;A=s}s=((7-n+(c[732517]|0)|0)/8|0)+1|0;n=(s|0)<(x|0)?s:x;x=((7-t+(c[732518]|0)|0)/8|0)+1|0;t=(x|0)<(A|0)?x:A;if((t|0)>0){A=(n|0)>0;x=(r|0)==0;s=f+4|0;m=0;l=0;while(1){a:do if(A){q=l+y|0;p=(l<<3)+z|0;if(x){k=0;u=m;while(1){C=Sm(a,k+v|0,q)|0;if(!C)D=u;else{E=(k<<3)+w|0;Pj(o,c[694838]|0,C<<3&120,((C|0)/16|0)<<3,E,p,8,8,2929932);c[d>>2]=8;c[e>>2]=8;c[g>>2]=0;c[h>>2]=0;c[i>>2]=E;c[j>>2]=p;c[f>>2]=8;c[s>>2]=8;Nm(f,c[694838]|0,g,h,i,j,d,e);E=c[d>>2]|0;C=c[e>>2]|0;F=B(C,E)|0;D=((C|E|0)<0?0:F)+u|0}k=k+1|0;if((k|0)>=(n|0)){G=D;break a}else u=D}}u=0;k=m;while(1){F=Sm(a,u+v|0,q)|0;if((F|0)!=0?(c[(c[733490]|0)+43548+(F<<2)>>2]&r|0)!=0:0){E=(u<<3)+w|0;Pj(o,c[694838]|0,F<<3&120,((F|0)/16|0)<<3,E,p,8,8,2929932);c[d>>2]=8;c[e>>2]=8;c[g>>2]=0;c[h>>2]=0;c[i>>2]=E;c[j>>2]=p;c[f>>2]=8;c[s>>2]=8;Nm(f,c[694838]|0,g,h,i,j,d,e);E=c[d>>2]|0;F=c[e>>2]|0;C=B(F,E)|0;H=((F|E|0)<0?0:C)+k|0}else H=k;u=u+1|0;if((u|0)>=(n|0)){G=H;break}else k=H}}else G=m;while(0);l=l+1|0;if((l|0)>=(t|0)){I=G;break}else m=G}}else I=0;Rg(I);Ga=b;return 0}function zi(a){a=a|0;var b=0,d=0;b=(od(a,1,0)|0)>>16;d=(od(a,2,0)|0)>>16;wd(a,(Sm(c[(c[733490]|0)+8>>2]|0,b,d)|0)<<16);return 1}function Ai(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=od(b,1,0)|0;e=d>>16;f=od(b,2,0)|0;g=f>>16;h=od(b,3,0)|0;b=h>>>16;Mm(c[(c[733490]|0)+8>>2]|0,e,g,b&255);if(!(d>>>0<8388608&(f&-2097152|0)==2097152))return 0;f=(g<<7)+e|0;e=f>>6;g=f<<1&126;a[(c[(c[(c[(c[733490]|0)+4>>2]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=b&15;a[(c[(c[(c[(c[733490]|0)+4>>2]|0)+16>>2]|0)+(e<<2)>>2]|0)+(g|1)>>0]=h>>>20&15;return 0}function Bi(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(id(a)|0)){b=0;return b|0}d=od(a,1,0)|0;e=d>>16;if((id(a)|0)==1){wd(a,c[(c[733490]|0)+43548+(e<<2)>>2]<<16&16711680);b=1;return b|0}f=od(a,2,0)|0;if(d>>>0>16777215){Dd(a,0);b=1;return b|0}if(f>>>0>524287){Dd(a,0);b=1;return b|0}else{Dd(a,(c[(c[733490]|0)+43548+(e<<2)>>2]&1<<(f>>16)|0)!=0&1);b=1;return b|0}return 0}function Ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=id(a)|0;if((b|0)<2)return 0;d=od(a,1,0)|0;e=d>>16;f=od(a,2,0)|0;g=f>>16;if(d>>>0>16777215)return 0;if((b|0)==2){c[(c[733490]|0)+43548+(e<<2)>>2]=g&255;return 0}b=qd(a,3)|0;if(f>>>0>524287)return 0;f=1<<g;g=(c[733490]|0)+43548+(e<<2)|0;e=(f&255^255)&c[g>>2];c[g>>2]=e;if(!b)return 0;c[g>>2]=e|f;return 0}function Di(a){a=a|0;var b=0,d=0;b=(od(a,1,0)|0)>>16;d=(od(a,2,0)|0)>>16;wd(a,(Sm(c[(c[733490]|0)+4>>2]|0,b,d)|0)<<16&983040);return 1}function Ei(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[732519]|0;d=od(a,1,0)|0;e=od(a,2,0)|0;if((id(a)|0)>2)f=(od(a,3,0)|0)>>16;else f=b;b=f&15;if((e|0)>8388607|((d|0)>8388607|(e|d|0)<0))return 0;f=(e>>16<<6)+((d>>16|0)/2|0)|0;e=fk(2779320,c[733490]|0,f)|0;if(!(d&65536))g=e&240|b;else g=e&15|b<<4;ek(2779320,c[733490]|0,f,g);return 0}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0;if((c[732414]|0)==0&(c[515689]|0)!=0){aq(0,0);dq();c[515689]=0}b=c[733490]|0;d=(od(a,1,0)|0)>>16;if((id(a)|0)>1)e=(od(a,2,0)|0)>>16;else e=0;if((id(a)|0)>2)f=(od(a,3,0)|0)>>16;else f=0;if((d|0)==-1){aq(0,e);Rg(16);return 0}else{a=(d|0)<63?d:63;Wp(b,(a|0)>0?a:0,e);c[732870]=f;Rg(16);return 0}return 0}function Gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[732414]|0)==0&(c[515689]|0)!=0){aq(0,0);dq();c[515689]=0}if((id(a)|0)<1)return 0;b=od(a,1,0)|0;d=b>>16;if((id(a)|0)>1){e=od(a,2,0)|0;if((e+131072|0)>>>0>393215)return 0;else f=e>>16}else f=-1;if((id(a)|0)>2)g=(od(a,3,0)|0)>>16;else g=0;if((id(a)|0)>3)h=(od(a,4,0)|0)>>16;else h=0;switch(d|0){case -1:{Op(0,0,0,c[733490]|0,f)|0;return 0}case -2:{Up(f);return 0}default:{if((f|0)!=-2){a=(d|0)<63?d:63;e=(a|0)>0?a:0;a=(g|0)<31?g:31;Pp((c[733490]|0)+12+(e*660|0)|0);g=c[733490]|0;Op(g+12+(e*660|0)|0,(a|0)>0?a:0,h,g,f)|0;Rg(16);return 0}if(b>>>0>=4194304)return 0;Pp((c[733490]|0)+12+(d*660|0)|0);return 0}}return 0}function Hi(a){a=a|0;var b=0;if((id(a)|0)==1)Sg(-1);b=(od(a,1,0)|0)>>16;wd(a,(fk(2779320,c[733490]|0,b)|0)<<16);return 1}function Ii(a){a=a|0;var b=0,d=0;if((id(a)|0)==2)Sg(-2);b=(od(a,1,0)|0)>>16;d=(od(a,2,0)|0)>>16;ek(2779320,c[733490]|0,b,d);return 0}function Ji(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=(od(a,1,0)|0)>>16;if((id(a)|0)==2?(md(a,2)|0)==4:0){c=rd(a,2,0)|0;if(!c){d=0;return d|0}hm(b,c);d=0;return d|0}c=(od(a,2,0)|0)>>16;e=(od(a,3,0)|0)>>13;if((id(a)|0)>3){f=od(a,4,0)|0;if((f|0)>65535){g=f>>16;h=7}else i=0}else{g=1;h=7}if((h|0)==7){h=0;f=0;while(1){j=(gm(b,c,e)|0)+f|0;h=h+1|0;if((h|0)==(g|0)){i=j;break}else f=j}}Rg((i|0)/64|0);wd(a,i<<13);d=1;return d|0}function Ki(a){a=a|0;var b=0,d=0;if((id(a)|0)==1)Sg(-1);b=(od(a,1,0)|0)>>16;d=(fk(2779320,c[733490]|0,b)|0)<<16;wd(a,((fk(2779320,c[733490]|0,b+1|0)|0)<<24)+d|0);return 1}function Li(a){a=a|0;var b=0,d=0;if((id(a)|0)==2)Sg(-2);b=(od(a,1,0)|0)>>16;d=od(a,2,0)|0;ek(2779320,c[733490]|0,b,d>>>16&255);ek(2779320,c[733490]|0,b+1|0,d>>>24);return 0}function Mi(a){a=a|0;var b=0,d=0,e=0;if((id(a)|0)==1)Sg(-1);b=(od(a,1,0)|0)>>16;d=fk(2779320,c[733490]|0,b)|0;e=((fk(2779320,c[733490]|0,b+1|0)|0)<<8)+d|0;d=e+((fk(2779320,c[733490]|0,b+2|0)|0)<<16)|0;wd(a,d+((fk(2779320,c[733490]|0,b+3|0)|0)<<24)|0);return 1}function Ni(a){a=a|0;var b=0,d=0;if((id(a)|0)==2)Sg(-2);b=(od(a,1,0)|0)>>16;d=od(a,2,0)|0;ek(2779320,c[733490]|0,b,d&255);ek(2779320,c[733490]|0,b+1|0,d>>>8&255);ek(2779320,c[733490]|0,b+2|0,d>>>16&255);ek(2779320,c[733490]|0,b+3|0,d>>>24);return 0}function Oi(a){a=a|0;var b=0,d=0,e=0;b=od(a,1,0)|0;d=od(a,2,0)|0;e=od(a,3,0)|0;a=e>>16;if((e|0)<0)return 0;gk(2779320,c[733490]|0,b>>16,d>>16,a);Rg((a+1|0)/2|0);return 0}function Pi(a){a=a|0;var b=0,d=0,e=0;b=od(a,1,0)|0;d=od(a,2,0)|0;e=od(a,3,0)|0;a=e>>16;if((e|0)<0)return 0;hk(2779320,c[733490]|0,b>>16,d>>16,a);Rg((a+1|0)/4|0);return 0}function Qi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=Ga;Ga=Ga+1056|0;e=d+1040|0;f=d+1032|0;g=d+1024|0;h=d+1048|0;i=d;if((id(b)|0)>2){j=(od(b,1,0)|0)>>16;k=(od(b,2,0)|0)>>16;l=(od(b,3,0)|0)>>16;m=j;n=l;o=k;p=((l|0)<4096?l:4096)<<3}else{m=0;n=17152;o=0;p=32768}Rg(p);if((id(b)|0)==4?(md(b,4)|0)==4:0){p=rd(b,4,h)|0;if((a[p>>0]|0)==95?(a[p+1>>0]|0)==95:0){wd(b,0);Ga=d;return 1}a[i>>0]=0;if(!($b(p,1)|0)){Qq(54484,i);Ws(i,(a[p>>0]|0)==47?p+1|0:p)|0}else{rm(i,Rb($b(p,1)|0)|0)|0;h=Fn(i,67514)|0;if(!h){c[g>>2]=i;as(1465904,56254,g)|0;vm(1465904);c[f>>2]=p;as(1465904,56291,f)|0;vm(1465904);rm(i,p)|0}Gn(h)}c[e>>2]=n;c[e+4>>2]=i;as(1465904,56322,e)|0;vm(1465904);if(!(Ub(i,m,o,n)|0)){wd(b,n<<16);Ga=d;return 1}else{wd(b,0);Ga=d;return 1}}ik(2779320,c[733490]|0,m,o,n);wd(b,n<<16);Ga=d;return 1}function Ri(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ga;Ga=Ga+1040|0;e=d+1024|0;f=d;g=d+1032|0;if((id(b)|0)>2){h=(od(b,1,0)|0)>>16;i=(od(b,2,0)|0)>>16;j=(od(b,3,0)|0)>>16;k=h;l=i;m=j;n=((j|0)<4096?j:4096)<<6}else{k=0;l=0;m=17152;n=262144}Rg(n);do if((id(b)|0)>3?(md(b,4)|0)==4:0){n=rd(b,4,g)|0;if((Ms(n)|0)>>>0>511){wd(b,0);Ga=d;return 1}if((a[n>>0]|0)==95?(a[n+1>>0]|0)==95:0){wd(b,0);Ga=d;return 1}if(!($b(n,1)|0)){Qq(54484,f);Ws(f,(a[n>>0]|0)==47?n+1|0:n)|0;o=0;p=0;break}else{rm(f,Rb($b(n,1)|0)|0)|0;o=0;p=1;break}}else q=13;while(0);if((q|0)==13){rm(f,Rb(2924124)|0)|0;o=1;p=0}c[e>>2]=m;c[e+4>>2]=f;as(1465904,56218,e)|0;vm(1465904);if(!(Vb(f,k,l,m,o,p)|0)){wd(b,m<<16);Ga=d;return 1}else{wd(b,0);Ga=d;return 1}return 0}function Si(a){a=a|0;var b=0,c=0;if((md(a,1)|0)==5){wd(a,((Dk(td(a,1)|0)|0)<<16)+65536|0);Fd(a,-2);return 1}if((id(a)|0)>0)b=od(a,1,0)|0;else b=65536;c=Dk(b)|0;Rg(4);wd(a,c);return 1}function Ti(a){a=a|0;Ck((od(a,1,0)|0)&2147483647);return 0}function Ui(a){a=a|0;var b=0;b=od(a,1,0)|0;if((id(a)|0)==1)Sg(-1);wd(a,b&-65536);return 1}function Vi(a){a=a|0;var b=0;b=od(a,1,0)|0;if((id(a)|0)==1)Sg(-1);wd(a,b+65535&-65536);return 1}function Wi(a){a=a|0;wd(a,(od(a,1,0)|0)>>31&-131072|65536);return 1}function Xi(a){a=a|0;var b=0;b=od(a,1,0)|0;if((b|0)==-2147483648){wd(a,2147483647);return 1}else{wd(a,(b|0)<0?0-b|0:b);return 1}return 0}function Yi(a){a=a|0;var b=0,c=0;b=od(a,1,0)|0;c=od(a,2,0)|0;wd(a,(b|0)<(c|0)?b:c);return 1}function Zi(a){a=a|0;var b=0,c=0;b=od(a,1,0)|0;c=od(a,2,0)|0;wd(a,(b|0)>(c|0)?b:c);return 1}function _i(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=od(a,1,0)|0;c=od(a,2,0)|0;d=od(a,3,0)|0;e=(b|0)<(c|0);f=(b|0)<(d|0);do if(!(e&f))if((c|0)<(b|0)&(c|0)<(d|0)){g=f?b:d;break}else{g=e?b:c;break}else g=(c|0)<(d|0)?c:d;while(0);wd(a,g);return 1}function $i(a){a=a|0;wd(a,jo(od(a,1,0)|0)|0);return 1}function aj(a){a=a|0;wd(a,ko(od(a,1,0)|0)|0);return 1}function bj(a){a=a|0;var b=0;b=od(a,1,0)|0;Rg(6);wd(a,yk(b)|0);return 1}function cj(a){a=a|0;var b=0;b=od(a,1,0)|0;wd(a,zk(b,od(a,2,0)|0)|0);return 1}function dj(a){a=a|0;var b=0,c=0;b=od(a,1,0)|0;c=od(a,2,0)|0;if((id(a)|0)==2)Sg(-2);wd(a,c&b);return 1}function ej(a){a=a|0;var b=0,c=0;b=od(a,1,0)|0;c=od(a,2,0)|0;if((id(a)|0)==2)Sg(-2);wd(a,c|b);return 1}function fj(a){a=a|0;var b=0,c=0;b=od(a,1,0)|0;c=od(a,2,0)|0;if((id(a)|0)==2)Sg(-2);wd(a,c^b);return 1}function gj(a){a=a|0;var b=0;b=od(a,1,0)|0;if((id(a)|0)==1)Sg(-1);wd(a,~b);return 1}function hj(a){a=a|0;var b=0,c=0;b=od(a,1,0)|0;c=od(a,2,0)|0;if((id(a)|0)==2)Sg(-2);wd(a,Hk(b,c)|0);return 1}function ij(a){a=a|0;var b=0,c=0;b=od(a,1,0)|0;c=od(a,2,0)|0;if((id(a)|0)==2)Sg(-2);wd(a,Ik(b,c)|0);return 1}function jj(a){a=a|0;var b=0,c=0;b=od(a,1,0)|0;c=od(a,2,0)|0;if((id(a)|0)==2)Sg(-2);wd(a,Gk(b,c)|0);return 1}function kj(a){a=a|0;var b=0,c=0;b=od(a,1,0)|0;c=od(a,2,0)|0;if((id(a)|0)==2)Sg(-2);wd(a,Ek(b,c)|0);return 1}function lj(a){a=a|0;var b=0,c=0;b=od(a,1,0)|0;c=od(a,2,0)|0;if((id(a)|0)==2)Sg(-2);wd(a,Fk(b,c)|0);return 1}function mj(a){a=a|0;var b=0,d=0;b=c[694831]|0;d=yu(b|0,((b|0)<0)<<31>>31|0,16)|0;b=su(d|0,G()|0,60,0)|0;G()|0;wd(a,b);return 1}function nj(a){a=a|0;vd(a);return 1}function oj(a){a=a|0;if(!(c[515161]|0))bb(56187,2e3);c[515161]=1;vd(a);return 1}function pj(a){a=a|0;if(!(c[515160]|0))bb(56156,2e3);c[515160]=1;vd(a);wd(a,0);return 2}function qj(a){a=a|0;vd(a);wd(a,0);return 2}function rj(a){a=a|0;return 0}function sj(a){a=a|0;c[749949]=1;Lj(a,0);return 1}function tj(a){a=a|0;c[749949]=1;Lj(a,1);return 1}function uj(b){b=b|0;var c=0,d=0,e=0;c=od(b,1,0)|0;d=c>>16;e=rd(b,2,0)|0;if(!e){a[2933570+(d<<6)>>0]=0;return 0}if((c+-65536|0)>>>0>327679)return 0;Ut(2933570+(d<<6)|0,e,16)|0;return 0}function vj(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ga;Ga=Ga+16|0;d=b;c[d>>2]=255;if((id(a)|0)>0?(e=rd(a,1,d)|0,(e|0)!=0):0){Dd(a,(dl(e)|0)==0&1);f=1}else f=0;Ga=b;return f|0}function wj(b){b=b|0;var d=0,e=0;d=od(b,1,0)|0;if((a[2924252]|0)==0&(((a[2926560]|0)!=0&(c[732414]|0)!=0|(c[405785]|0)!=0)^1)){yb(56123);kg();e=0;return e|0}if(d>>>0>4194303){wd(b,0);e=1;return e|0}else{wd(b,c[2925276+(d>>16<<2)>>2]|0);e=1;return e|0}return 0}function xj(b){b=b|0;var d=0,e=0;d=od(b,1,0)|0;e=od(b,2,0)|0;if((a[2924252]|0)==0&(((a[2926560]|0)!=0&(c[732414]|0)!=0|(c[405785]|0)!=0)^1)){yb(56090);kg();return 0}if(d>>>0>4194303)return 0;b=2925276+(d>>16<<2)|0;if((c[b>>2]|0)!=(e|0))c[749950]=1;c[b>>2]=e;return 0}function yj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=Ga;Ga=Ga+112|0;e=d+64|0;f=d+108|0;g=d+104|0;h=d+100|0;i=d+72|0;j=d;Rg(16);a:do if((id(b)|0)>0){k=(od(b,1,0)|0)>>16;switch(k|0){case 1:{l=4;break a;break}case 0:{m=(c[749877]|0)+(c[732537]|0)|0;n=((m|0)<2097152?m:2097152)<<6;o=0;p=(n|0)>0?n:0;l=15;break a;break}case 2:{q=2;r=Eg(yg(1)|0)|0;l=90;break a;break}default:{n=(k|0)==3?c[750350]<<16:0;switch(k|0){case 5:{q=k;r=1900544;l=90;break a;break}case 4:{_q();m=c[406688]|0;if(!m){xd(b,3002004,0)|0;Ga=d;return 1}else{s=mp((Ms(m)|0)+16|0)|0;mr(c[406688]|0,s)|0;xd(b,s,Ms(s)|0)|0;op(s);Ga=d;return 1}break}case 6:{s=Ms(2931520)|0;xd(b,2931520,s>>>0<1024?s:1024)|0;Ga=d;return 1}case 7:{q=7;r=c[749941]<<16;l=90;break a;break}case 9:{q=9;r=(oq()|0)<<16;l=90;break a;break}case 11:{q=11;r=(_j()|0)<<16;l=90;break a;break}case 13:{sb();q=13;r=4128768-((((c[406685]<<3)+8|0)/2|0)<<16)|0;l=90;break a;break}default:{o=k;p=n;l=15;break a}}}}}else l=4;while(0);if((l|0)==4){o=1;p=Eg(yg(0)|0)|0;l=15}b:do if((l|0)==15)switch(o|0){case 12:{q=o;r=1507328;l=90;break b;break}case 14:{q=o;r=6815744;l=90;break b;break}case 15:{sb();t=((((c[406685]<<3)+8|0)/2|0)<<16)+4194304|0;break b;break}default:{n=(o|0)==10?c[749879]<<16:(o|0)==8?c[749942]<<16:p;k=o&-4;if((k|0)==16){s=Tp(o+-16|0)|0;m=c[733490]|0;u=0;v=-65536;do{v=(s|0)==(m+12+(u*660|0)|0)?u<<16:v;u=u+1|0}while((u|0)!=64);if((v|0)==-65536){u=Tp(o+-12|0)|0;m=c[733490]|0;s=0;w=-65536;while(1){x=(u|0)==(m+12+(s*660|0)|0)?s<<16:w;s=s+1|0;if((s|0)==64){y=x;break}else w=x}}else y=v}else y=n;do if((k|0)==20){w=Tp(o+-20|0)|0;if(!w){s=Tp(o+-16|0)|0;if(!s){z=-65536;break}else A=s}else A=w;z=(Sp(A)|0)<<16}else z=y;while(0);switch(o|0){case 24:{k=c[515696]<<16;n=(cq()|0)==0;t=n?-65536:k;break b;break}case 25:{k=c[515695]<<16;n=(cq()|0)==0;t=n?-65536:k;break b;break}case 26:{k=(eq()|0)<<16;n=(cq()|0)==0;t=n?-65536:k;break b;break}case 29:{t=Lq()|0;break b;break}default:{k=(o|0)==30;n=(o|0)==31;if((o|1|0)==31){if(((fk(2779320,c[733490]|0,24365)|0)&255|0)!=1){if(k)Dd(b,0);if(!n){Ga=d;return 1}xd(b,3002004,0)|0;Ga=d;return 1}_q();if(!((a[1622096]|0)==0&(((a[2926560]|0)!=0&(c[732414]|0)!=0|(c[405785]|0)!=0)^1))){if(!(c[749876]|0))bb(55943,2e3);c[749876]=1}if(k){Dd(b,(c[750349]|0)>0&1);Ga=d;return 1}if(n){if(!(c[750349]|0)){xd(b,3002004,0)|0;Ga=d;return 1}xd(b,3001140,1)|0;n=0;do{k=n;n=n+1|0;a[3001140+k>>0]=a[3001140+n>>0]|0}while((n|0)!=255);c[750349]=(c[750349]|0)+-1;Ga=d;return 1}}if((o+-32|0)>>>0<5)if(((fk(2779320,c[733490]|0,24365)|0)&255|0)==1){if(!((a[1622096]|0)==0&(((a[2926560]|0)!=0&(c[732414]|0)!=0|(c[405785]|0)!=0)^1))){if(!(c[749876]|0))bb(55967,2e3);c[749876]=1}Pq(f,g,h);B=((o|0)==36?c[732795]|0:(o|0)==35?c[732794]|0:(o|0)==34?c[h>>2]|0:(o|0)==33?c[g>>2]|0:(o|0)==32?c[f>>2]|0:z)<<16;l=59}else{B=z;l=59}else if((o|0)==37){n=c[732536]|0;c[732536]=0;C=37;D=n}else{B=z;l=59}c:do if((l|0)==59)switch(o|0){case 48:{vd(b);Ga=d;return 1}case 49:{xd(b,3002004,0)|0;Ga=d;return 1}default:{if((o+-50|0)>>>0<8){vd(b);Ga=d;return 1}if((o+-58|0)>>>0<6){xd(b,3002004,0)|0;Ga=d;return 1}if((o&-8|0)==64){vd(b);Ga=d;return 1}if((o+-80|0)>>>0>=6)if((o+-90|0)>>>0<6){tq(i,1);E=((o|0)==95?c[i+24>>2]|0:(o|0)==94?c[i+20>>2]|0:(o|0)==93?c[i+16>>2]|0:(o|0)==92?c[i+12>>2]|0:(o|0)==91?c[i+8>>2]|0:(o|0)==90?c[i+4>>2]|0:B)<<16}else E=B;else{tq(i,0);E=((o|0)==85?c[i+24>>2]|0:(o|0)==84?c[i+20>>2]|0:(o|0)==83?c[i+16>>2]|0:(o|0)==82?c[i+12>>2]|0:(o|0)==81?c[i+8>>2]|0:(o|0)==80?c[i+4>>2]|0:B)<<16}switch(o|0){case 100:{if(!(ng()|0)){vd(b);Ga=d;return 1}else{n=ng()|0;xd(b,n,Ms(ng()|0)|0)|0;Ga=d;return 1}break}case 101:{if((a[2926560]|0)!=0&(c[732414]|0)!=0){xd(b,2926560,Ms(2926560)|0)|0;Ga=d;return 1}else{vd(b);Ga=d;return 1}break}case 102:{n=la(18,0)|0;k=n;if(!n){vd(b);Ga=d;return 1}else{xd(b,k,Ms(k)|0)|0;Ga=d;return 1}break}case 103:{xd(b,2924165,Ms(2924165)|0)|0;Ga=d;return 1}case 104:{Dd(b,0);Ga=d;return 1}case 106:{c[e>>2]=2931520;c[e+4>>2]=2924165;as(1470512,67368,e)|0;vp(1470512,Ms(1470512)|0,j)|0;xd(b,j,Ms(j)|0)|0;Ga=d;return 1}case 107:{C=107;D=c[405849]|0;break c;break}default:{if((o|0)!=109){q=o;r=(o|0)==108?c[515533]<<16:E;l=90;break b}t=((c[515982]|0)/4|0)<<16;break b}}}}while(0);q=C;r=D<<16;l=90;break b}}}}while(0);d:do if((l|0)==90)switch(q|0){case 110:{Dd(b,c[406689]|0);Ga=d;return 1}case 120:{Dd(b,(mm()|0)>0&1);Ga=d;return 1}case 121:{Dd(b,(nm()|0)>0&1);Ga=d;return 1}default:{t=r;break d}}while(0);wd(b,t);Ga=d;return 1}function zj(b){b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;c[e>>2]=32;a[e>>0]=(od(b,1,0)|0)>>>16;xd(b,e,1)|0;Rg(1);Ga=d;return 1}function Aj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ga;Ga=Ga+16|0;e=d;c[e>>2]=32768;if((id(b)|0)>0)f=rd(b,1,e)|0;else f=0;if((id(b)|0)>1)g=((od(b,2,0)|0)>>16)+-1|0;else g=0;if(!f){h=0;Ga=d;return h|0}Rg(1);if(!((g|0)>-1?g>>>0<(c[e>>2]|0)>>>0:0)){h=0;Ga=d;return h|0}wd(b,(((a[f+g>>0]|0)+256|0)%256|0)<<16);h=1;Ga=d;return h|0}function Bj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ga;Ga=Ga+16|0;e=d+4|0;f=d;if((id(b)|0)>0)g=rd(b,1,0)|0;else g=0;if((id(b)|0)>1)h=rd(b,2,0)|0;else h=0;if((id(b)|0)>2)i=qd(b,3)|0;else i=1;if(!g){j=0;Ga=d;return j|0}k=(h|0)==0?60607:h;h=Ms(g)|0;Gd(b,0,1);Rg(h);if(!(a[k>>0]|0)){if((h|0)<=0){j=1;Ga=d;return j|0}l=e+1|0;if(!i){m=0;n=1;while(1){a[e>>0]=a[g+m>>0]|0;a[l>>0]=0;yd(b,e)|0;Id(b,-2,n);m=m+1|0;if((m|0)==(h|0)){j=1;break}else n=n+1|0}Ga=d;return j|0}n=0;m=1;while(1){o=a[g+n>>0]|0;a[e>>0]=o;a[l>>0]=0;if((o+-48&255)<10)wd(b,(o<<24>>24<<16)+-3145728|0);else yd(b,e)|0;Id(b,-2,m);n=n+1|0;if((n|0)==(h|0)){j=1;break}else m=m+1|0}Ga=d;return j|0}m=mp(h+1|0)|0;Vs(m,g)|0;a:do if(!i){g=0;h=1;while(1){n=a[k>>0]|0;e=g;while(1){l=a[m+e>>0]|0;p=l<<24>>24==0;if(p|l<<24>>24==n<<24>>24)break;e=e+1|0}a[m+e>>0]=0;c[f>>2]=0;yd(b,m+g|0)|0;Id(b,-2,h);if(p)break a;g=e+1|0;h=h+1|0}}else{h=0;g=1;while(1){n=a[k>>0]|0;l=h;while(1){o=a[m+l>>0]|0;q=o<<24>>24==0;if(q|o<<24>>24==n<<24>>24)break;l=l+1|0}n=m+h|0;a[m+l>>0]=0;c[f>>2]=0;if(!(Fc(n,l-h|0,f)|0))yd(b,n)|0;else wd(b,c[f>>2]|0);Id(b,-2,g);if(q)break a;h=l+1|0;g=g+1|0}}while(0);op(m);j=1;Ga=d;return j|0}function Cj(a){a=a|0;var b=0,c=0;b=id(a)|0;if((b|0)>=1){c=1;while(1){ld(a,c);if((c|0)==(b|0))break;else c=c+1|0}}return oc(a,b,0,0)|0}function Dj(a){a=a|0;c[694849]=1;if(c[749878]|0)return 0;c[749878]=1;return 0}function Ej(b){b=b|0;var c=0,d=0,e=0,f=0;c=od(b,1,0)|0;if((c+-65536|0)>>>0>327679){d=0;return d|0}e=2933954+(c>>>16)|0;if(!(a[e>>0]|0))f=0;else{a[e>>0]=0;f=1}Dd(b,f);d=1;return d|0}function Fj(a){a=a|0;var b=0;b=(od(a,1,0)|0)>>16;c[694831]=(c[694831]|0)+b;rk();return 0}function Gj(a){a=a|0;Ug();return 0}function Hj(a){a=a|0;c[732868]=(od(a,1,0)|0)>>16;return 0}function Ij(a){a=a|0;var b=0;b=(od(a,1,0)|0)>>16;c[749941]=b;c[749942]=b;return 0}function Jj(a){a=a|0;var b=0;b=(od(a,1,0)|0)>>16;a=(b|0)<2?b:2;b=(a|0)>0?a:0;c[2999772+(b<<2)>>2]=yg(0)|0;c[2999784+(b<<2)>>2]=Iq()|0;return 0}function Kj(b){b=b|0;var c=0,d=0,e=0;c=od(b,1,0)|0;d=c>>16;e=(c|0)>65535;c=e?((d|0)<7?d:7):0;if(e?(a[2958338]&1)==0:0){Dd(b,0);return 1}Zj(c);Dd(b,1);return 1}function Lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=(od(a,1,0)|0)>>16;e=(d|0)<7?d:7;d=(e|0)>0?e:0;if(!(id(a)|0)){e=(b|0)==0;wd(a,((((e?c[732553]|0:c[732745]|0)|0)==0?0:32768)|((((e?c[732552]|0:c[732744]|0)|0)==0?0:16384)|((((e?c[732551]|0:c[732743]|0)|0)==0?0:8192)|((((e?c[732550]|0:c[732742]|0)|0)==0?0:4096)|((((e?c[732549]|0:c[732741]|0)|0)==0?0:2048)|((((e?c[732548]|0:c[732740]|0)|0)==0?0:1024)|((((e?c[732547]|0:c[732739]|0)|0)==0?0:512)|((((e?c[732546]|0:c[732738]|0)|0)==0?0:256)|((((e?c[732545]|0:c[732737]|0)|0)==0?0:128)|((((e?c[732544]|0:c[732736]|0)|0)==0?0:64)|((((e?c[732543]|0:c[732735]|0)|0)==0?0:32)|((((e?c[732542]|0:c[732734]|0)|0)==0?0:16)|((((e?c[732541]|0:c[732733]|0)|0)==0?0:8)|((((e?c[732540]|0:c[732732]|0)|0)==0?0:4)|((((e?c[732539]|0:c[732731]|0)|0)==0?0:2)|((e?c[732538]|0:c[732730]|0)|0)!=0)))))))))))))))<<16);return}if((id(a)|0)>1)f=(od(a,2,0)|0)>>16;else f=0;if((f|d)>>>0<8)if(!b)g=c[2930152+(f<<5)+(d<<2)>>2]|0;else g=c[2930920+(f<<5)+(d<<2)>>2]|0;else g=0;Dd(a,g);Rg(4);return}function Mj(b,d,e,f,g,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;n=Ga;Ga=Ga+32|0;o=n+20|0;p=n+16|0;q=n+12|0;r=n+8|0;s=n+4|0;t=n;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=i;c[t>>2]=j;Nm(b,d,o,p,q,r,s,t);j=(k|0)!=0;k=(l|0)!=0;l=c[t>>2]|0;i=(l|0)>0;if(j&k){if(!i){Ga=n;return}h=b+16|0;g=d+16|0;f=0;e=l;u=c[s>>2]|0;while(1){if((u|0)>0){v=~f;w=0;x=e;y=u;while(1){a[(c[(c[g>>2]|0)+((c[r>>2]|0)+f<<2)>>2]|0)+((c[q>>2]|0)+w)>>0]=c[m+((a[(c[(c[h>>2]|0)+((c[p>>2]|0)+v+x<<2)>>2]|0)+(y+~w+(c[o>>2]|0))>>0]&15)<<2)>>2];w=w+1|0;z=c[s>>2]|0;A=c[t>>2]|0;if((w|0)>=(z|0)){B=z;C=A;break}else{x=A;y=z}}}else{B=u;C=e}f=f+1|0;if((f|0)>=(C|0))break;else{e=C;u=B}}Ga=n;return}if(k){if(!i){Ga=n;return}k=b+16|0;B=d+16|0;u=0;C=l;e=c[s>>2]|0;while(1){if((e|0)>0){f=~u;h=0;g=C;while(1){a[(c[(c[B>>2]|0)+((c[r>>2]|0)+u<<2)>>2]|0)+((c[q>>2]|0)+h)>>0]=c[m+((a[(c[(c[k>>2]|0)+((c[p>>2]|0)+f+g<<2)>>2]|0)+((c[o>>2]|0)+h)>>0]&15)<<2)>>2];h=h+1|0;y=c[s>>2]|0;x=c[t>>2]|0;if((h|0)>=(y|0)){D=y;E=x;break}else g=x}}else{D=e;E=C}u=u+1|0;if((u|0)>=(E|0))break;else{C=E;e=D}}Ga=n;return}if(j){if(!i){Ga=n;return}j=b+16|0;D=d+16|0;e=0;E=l;C=c[s>>2]|0;while(1){if((C|0)>0){u=0;k=C;do{a[(c[(c[D>>2]|0)+((c[r>>2]|0)+e<<2)>>2]|0)+((c[q>>2]|0)+u)>>0]=c[m+((a[(c[(c[j>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(k+~u+(c[o>>2]|0))>>0]&15)<<2)>>2];u=u+1|0;k=c[s>>2]|0}while((u|0)<(k|0));F=c[t>>2]|0;G=k}else{F=E;G=C}e=e+1|0;if((e|0)>=(F|0))break;else{E=F;C=G}}Ga=n;return}else{if(!i){Ga=n;return}i=b+16|0;b=d+16|0;d=0;G=c[s>>2]|0;C=l;while(1){if((G|0)>0){l=0;do{a[(c[(c[b>>2]|0)+((c[r>>2]|0)+d<<2)>>2]|0)+((c[q>>2]|0)+l)>>0]=c[m+((a[(c[(c[i>>2]|0)+((c[p>>2]|0)+d<<2)>>2]|0)+((c[o>>2]|0)+l)>>0]&15)<<2)>>2];l=l+1|0;H=c[s>>2]|0}while((l|0)<(H|0));I=c[t>>2]|0;J=H}else{I=C;J=G}d=d+1|0;if((d|0)>=(I|0))break;else{G=J;C=I}}Ga=n;return}}function Nj(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if((b|0)==0|(e|0)==0|(h|0)==0|(i|0)==0)return;j=c[b>>2]|0;k=c[b+4>>2]|0;if((j|0)==(h|0)&(k|0)==(i|0)){Oj(b,e,0,0,f,g,h,i,0);return}l=(j<<16|0)/(h|0)|0;j=(k<<16|0)/(i|0)|0;m=c[e+36>>2]|0;n=(m|0)>(g|0);o=m-g|0;p=i-(n?o:0)|0;i=n?m:g;g=c[e+28>>2]|0;m=(g|0)>(f|0);q=g-f|0;r=B(q,l)|0;s=(m?r:0)+((l|0)/2|0)|0;r=h-(m?q:0)|0;q=m?g:f;f=(c[e+32>>2]|0)-q|0;g=(r|0)<(f|0)?r:f;f=(c[e+40>>2]|0)-i|0;r=(p|0)<(f|0)?p:f;f=r+i|0;if((r|0)<=0)return;r=b+16|0;b=e+16|0;if((g|0)<=0)return;e=B(o,j)|0;o=i;i=((j|0)<0?k:0)+((j|0)/2|0)+(n?e:0)|0;while(1){e=c[(c[r>>2]|0)+(i>>16<<2)>>2]|0;n=(c[(c[b>>2]|0)+(o<<2)>>2]|0)+q|0;k=s;p=0;while(1){m=d[e+(k>>16)>>0]|0;if(!(m&240)){h=c[732529]|0;a[n>>0]=((h^15)&(d[n>>0]|0)|h&m&c[732530])&15}p=p+1|0;if((p|0)>=(g|0))break;else{n=n+1|0;k=k+l|0}}o=o+1|0;if((o|0)>=(f|0))break;else i=i+j|0}return}function Oj(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=Ga;Ga=Ga+32|0;m=l+20|0;n=l+16|0;o=l+12|0;p=l+8|0;q=l+4|0;r=l;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;if(!((b|0)!=0&(e|0)!=0)){Ga=l;return}Nm(b,e,m,n,o,p,q,r);k=c[q>>2]|0;if(!((c[r>>2]|0)>0&(k|0)>0)){Ga=l;return}j=b+16|0;b=e+16|0;e=0;i=k;while(1){if(i|0){k=(c[(c[j>>2]|0)+((c[n>>2]|0)+e<<2)>>2]|0)+(c[m>>2]|0)|0;h=i;g=(c[(c[b>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(c[o>>2]|0)|0;while(1){f=d[k>>0]|0;if(!(f&240)){s=c[732529]|0;a[g>>0]=((s^15)&(d[g>>0]|0)|s&f&c[732530])&15}h=h+-1|0;if(!h)break;else{k=k+1|0;g=g+1|0}}}g=e+1|0;if((g|0)>=(c[r>>2]|0))break;e=g;i=c[q>>2]|0}Ga=l;return}function Pj(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=Ga;Ga=Ga+32|0;n=m+20|0;o=m+16|0;p=m+12|0;q=m+8|0;r=m+4|0;s=m;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;if(!((b|0)!=0&(e|0)!=0)){Ga=m;return}Nm(b,e,n,o,p,q,r,s);k=c[r>>2]|0;if(!((c[s>>2]|0)>0&(k|0)>0)){Ga=m;return}j=b+16|0;b=e+16|0;e=0;i=k;while(1){if(i|0){k=(c[(c[b>>2]|0)+((c[q>>2]|0)+e<<2)>>2]|0)+(c[p>>2]|0)|0;h=(c[(c[j>>2]|0)+((c[o>>2]|0)+e<<2)>>2]|0)+(c[n>>2]|0)|0;g=i;while(1){f=c[l+((a[h>>0]&15)<<2)>>2]|0;if(!(f&240)){t=c[732529]|0;a[k>>0]=((t^15)&(d[k>>0]|0)|t&f&c[732530])&15}g=g+-1|0;if(!g)break;else{k=k+1|0;h=h+1|0}}}h=e+1|0;if((h|0)>=(c[s>>2]|0))break;e=h;i=c[r>>2]|0}Ga=m;return}function Qj(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;if((c[b+28>>2]|0)>(e|0))return;if((c[b+32>>2]|0)<=(e|0))return;if((c[b+36>>2]|0)>(f|0))return;if((c[b+40>>2]|0)<=(f|0))return;i=h>>(f<<2&12^12)>>>(e&3^3)&1;if(!((h&65536|0)==0|(i|0)==0))return;h=(c[(c[b+16>>2]|0)+(f<<2)>>2]|0)+e|0;e=c[732529]|0;a[h>>0]=((e^15)&(d[h>>0]|0)|e&g>>(i<<2)&c[732530])&15;return}function Rj(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=Ga;Ga=Ga+16|0;k=j;if((c[b+36>>2]|0)>(g|0)){l=0;Ga=j;return l|0}if((c[b+40>>2]|0)<=(g|0)){l=0;Ga=j;return l|0}m=h&15;n=(i&65536|0)!=0;o=n?16:h>>>4&15;h=i>>(12-(g<<2)&12);a[k>>0]=(h&8|0)==0?m:o;a[k+1>>0]=(h&4|0)==0?m:o;a[k+2>>0]=(h&2|0)==0?m:o;a[k+3>>0]=(h&1|0)==0?m:o;o=(f|0)<(e|0);m=o?e:f;h=o?f:e;e=c[b+28>>2]|0;f=(h|0)<(e|0)?e:h;h=c[b+32>>2]|0;e=(m|0)<(h|0)?m:h+-1|0;h=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+f|0;g=(f|0)>(e|0);if(n){if(!g){n=h;b=f;while(1){m=a[k+(b&3)>>0]|0;if(m<<24>>24!=16){o=c[732529]|0;a[n>>0]=((o^15)&(d[n>>0]|0)|o&(m&255)&c[732530])&15}if((b|0)<(e|0)){n=n+1|0;b=b+1|0}else break}}}else if(!g){b=h;h=f;while(1){n=c[732529]|0;a[b>>0]=(n&(d[k+(h&3)>>0]|0)&c[732530]|(n^15)&(d[b>>0]|0))&15;if((h|0)<(e|0)){b=b+1|0;h=h+1|0}else break}}l=g?0:1-f+e|0;Ga=j;return l|0}function Sj(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;l=c[732532]|0;m=B(g,g)|0;n=B(h,h)|0;o=0-(n+(((g|0)%2|0)+(m>>>2)))|0;p=(n>>>2)+((h|0)%2|0)|0;q=0-(m+p)|0;r=0-p|0;p=n<<1;s=m<<1;if((h|g|0)<=-1){t=0;return t|0}u=i+e|0;v=j+f|0;w=b+28|0;x=b+32|0;y=b+36|0;z=b+40|0;A=(l&65536|0)==0;C=b+16|0;b=0;D=h;E=B(B(m,-2)|0,h)|0;F=0;G=B(0-m|0,h)|0;h=0;while(1){H=u+b|0;I=v+D|0;if(((((c[w>>2]|0)<=(H|0)?(c[x>>2]|0)>(H|0):0)?(c[y>>2]|0)<=(I|0):0)?(c[z>>2]|0)>(I|0):0)?(J=l>>(I<<2&12^12)>>>(H&3^3)&1,A|(J|0)==0):0){K=(c[(c[C>>2]|0)+(I<<2)>>2]|0)+H|0;L=c[732529]|0;a[K>>0]=((L^15)&(d[K>>0]|0)|L&k>>(J<<2)&c[732530])&15}J=(D|j|0)!=0;L=(b|i|0)==0;if(L|J^1)M=h+2|0;else{K=e-b|0;N=f-D|0;if(((((c[w>>2]|0)<=(K|0)?(c[x>>2]|0)>(K|0):0)?(c[y>>2]|0)<=(N|0):0)?(c[z>>2]|0)>(N|0):0)?(O=l>>(N<<2&12^12)>>>(K&3^3)&1,A|(O|0)==0):0){P=(c[(c[C>>2]|0)+(N<<2)>>2]|0)+K|0;K=c[732529]|0;a[P>>0]=((K^15)&(d[P>>0]|0)|K&k>>(O<<2)&c[732530])&15}M=h+3|0}if(J){J=f-D|0;if(((((c[w>>2]|0)<=(H|0)?(c[x>>2]|0)>(H|0):0)?(c[y>>2]|0)<=(J|0):0)?(c[z>>2]|0)>(J|0):0)?(O=l>>(J<<2&12^12)>>>(H&3^3)&1,A|(O|0)==0):0){K=(c[(c[C>>2]|0)+(J<<2)>>2]|0)+H|0;H=c[732529]|0;a[K>>0]=((H^15)&(d[K>>0]|0)|H&k>>(O<<2)&c[732530])&15}Q=M+1|0}else Q=M;if(L)R=Q;else{L=e-b|0;if(((((c[w>>2]|0)<=(L|0)?(c[x>>2]|0)>(L|0):0)?(c[y>>2]|0)<=(I|0):0)?(c[z>>2]|0)>(I|0):0)?(O=l>>(I<<2&12^12)>>>(L&3^3)&1,A|(O|0)==0):0){H=(c[(c[C>>2]|0)+(I<<2)>>2]|0)+L|0;L=c[732529]|0;a[H>>0]=((L^15)&(d[H>>0]|0)|L&k>>(O<<2)&c[732530])&15}R=Q+1|0}do if(((B(b,n)|0)+G|0)>(o|0)?(O=B(D,m)|0,(O+G|0)>(r|0)):0)if((G-O|0)>(q|0)){O=E+s|0;S=b;T=D+-1|0;U=O;V=F;W=O+G|0;break}else{O=F+p|0;L=E+s|0;S=b+1|0;T=D+-1|0;U=L;V=O;W=O+G+L|0;break}else X=35;while(0);if((X|0)==35){X=0;L=F+p|0;S=b+1|0;T=D;U=E;V=L;W=L+G|0}if((T|0)>-1&(S|0)<=(g|0)){b=S;D=T;E=U;F=V;G=W;h=R}else{t=R;break}}return t|0}function Tj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=(e|0)<(b|0);i=h?e:b;j=h?b:e;e=(f|0)<(d|0);b=e?f:d;h=e?d:f;f=h-b|0;if((f|0)>=2?(d=j-i|0,(d|0)>=2):0){k=Sj(a,j+i>>1,h+b>>1,d>>>1,f>>>1,d&1,f&1,g)|0;return k|0}f=0;d=b;while(1){b=(Rj(a,i,j,d,g,c[732532]|0)|0)+f|0;if((d|0)<(h|0)){f=b;d=d+1|0}else{k=b;break}}return k|0}
function Dl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=Ga;Ga=Ga+1024|0;f=e;Eu(f|0,0,1024)|0;g=c[b+648>>2]|0;if(!g){Ga=e;return}h=b+652|0;if(a[h>>0]|0){Ga=e;return}i=b+653|0;if(a[i>>0]|0){Ga=e;return}j=c[g+12>>2]|0;g=16384;while(1){k=f+(d[j>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;g=g+-1|0;if(!g)break;else j=j+1|0}a[h>>0]=0;a[i>>0]=1;a[b+654>>0]=2;a[b+655>>0]=3;a[b+656>>0]=4;a[b+657>>0]=5;a[b+658>>0]=6;a[b+659>>0]=7;a[b+660>>0]=8;a[b+661>>0]=9;a[b+662>>0]=10;a[b+663>>0]=11;a[b+664>>0]=12;a[b+665>>0]=13;a[b+666>>0]=14;a[b+667>>0]=15;i=f+4|0;h=f+8|0;j=f+12|0;g=f+16|0;k=f+20|0;l=f+24|0;m=f+28|0;n=f+32|0;o=f+36|0;p=f+40|0;q=f+44|0;r=f+48|0;s=f+52|0;t=f+56|0;u=f+60|0;v=0;do{w=v+128|0;if(c[f+(w<<2)>>2]|0){x=(c[i>>2]|0)<(c[f>>2]|0)&1;y=(c[h>>2]|0)<(c[f+(x<<2)>>2]|0)?2:x;x=(c[j>>2]|0)<(c[f+(y<<2)>>2]|0)?3:y;y=(c[g>>2]|0)<(c[f+(x<<2)>>2]|0)?4:x;x=(c[k>>2]|0)<(c[f+(y<<2)>>2]|0)?5:y;y=(c[l>>2]|0)<(c[f+(x<<2)>>2]|0)?6:x;x=(c[m>>2]|0)<(c[f+(y<<2)>>2]|0)?7:y;y=(c[n>>2]|0)<(c[f+(x<<2)>>2]|0)?8:x;x=(c[o>>2]|0)<(c[f+(y<<2)>>2]|0)?9:y;y=(c[p>>2]|0)<(c[f+(x<<2)>>2]|0)?10:x;x=(c[q>>2]|0)<(c[f+(y<<2)>>2]|0)?11:y;y=(c[r>>2]|0)<(c[f+(x<<2)>>2]|0)?12:x;x=(c[s>>2]|0)<(c[f+(y<<2)>>2]|0)?13:y;y=(c[t>>2]|0)<(c[f+(x<<2)>>2]|0)?14:x;x=(c[f+(v<<2)>>2]|0)==0?v:(c[u>>2]|0)<(c[f+(y<<2)>>2]|0)?15:y;c[f+(x<<2)>>2]=16384;a[b+668+v>>0]=x;a[b+652+x>>0]=w}v=v+1|0}while((v|0)!=16);Ga=e;return}function El(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ga;Ga=Ga+1856|0;f=e+1032|0;g=e+1024|0;h=e+1040|0;i=e;c[b+1080>>2]=0;if(Ms(2921044)|0){j=b+1072|0;qp(c[b>>2]|0,((c[j>>2]|0)*692|0)+692|0)|0;k=c[(c[b>>2]|0)+12>>2]|0;c[b+4>>2]=k;l=c[j>>2]|0;c[j>>2]=l+1;j=k+(l*692|0)|0;Eu(j+4|0,0,688)|0;c[j>>2]=185;a[j+388>>0]=0;rm(j+4|0,60021)|0;c[j+648>>2]=0;c[j+684>>2]=2}c[g>>2]=2920020;c[g+4>>2]=d;as(i,67368,g)|0;if(!(pq(i,57889,h,-1)|0)){g=h+256|0;d=h+512|0;j=b+1072|0;l=b+4|0;do do if((a[g>>0]|0)!=46){if((Lt(g,57891)|0)==0?(c[d>>2]&16384|0)==0:0)break;qp(c[b>>2]|0,((c[j>>2]|0)*692|0)+692|0)|0;k=c[(c[b>>2]|0)+12>>2]|0;c[l>>2]=k;m=c[j>>2]|0;c[j>>2]=m+1;n=k+(m*692|0)|0;Eu(n|0,0,692)|0;c[f>>2]=2921044;c[f+4>>2]=g;as(i,67368,f)|0;m=n+260|0;Ut(m,i,128)|0;c[n+648>>2]=0;k=n+684|0;c[k>>2]=1;a[n+388>>0]=0;if(!(c[d>>2]&16384))o=n+4|0;else{c[n>>2]=181;p=n+4|0;rm(p,g)|0;c[k>>2]=2;o=p}if(((a[o>>0]|0)==0?(Mn(m,0,o,0),m=Ms(o)|0,m>>>0>3):0)?(p=m+-3+(n+4)|0,(a[p>>0]|0)==46):0)a[p>>0]=0}while(0);while(!(qq(h)|0));q=j;r=l}else{q=b+1072|0;r=b+4|0}Ns(c[r>>2]|0,c[q>>2]|0,692,2);if((b|0)==1428384){Ga=e;return}if((c[q>>2]|0)<=0){Ga=e;return}b=0;do{l=c[r>>2]|0;j=l+(b*692|0)+688|0;c[j>>2]=0;c[j>>2]=(pl(1428384,l+(b*692|0)+388|0,l+(b*692|0)+260|0)|0)!=-1&1;b=b+1|0}while((b|0)<(c[q>>2]|0));Ga=e;return}function Fl(b){b=b|0;var d=0,e=0,f=0;d=Ga;Ga=Ga+16|0;e=d;if(b|0?(Ms(b)|0)>>>0>=2:0){if((Ms(b)|0)>>>0<2)a[1447472]=0;else{f=c[405843]|0;c[e>>2]=3002004;c[e+4>>2]=f;c[e+8>>2]=b;as(1447472,57449,e)|0}rl(b,0)|0;if(c[405846]|0){Ga=d;return}rm(1623660,1447472)|0;rm(1624684,1446448)|0;c[405846]=1;c[405847]=Iq()|0;c[405848]=0;Wq(1623660,1624684,2,3)|0;Ga=d;return}c[405846]=0;bb(57873,1500);c[732416]=0;Ga=d;return}function Gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Cs(a+4|0,b+4|0)|0;e=(c[a+684>>2]|0)==2;f=c[b+684>>2]|0;if(e){if((f|0)!=2){g=-1;return g|0}}else if(!(e|(f|0)!=2)){g=1;return g|0}return ((d|0)==0?(a>>>0<b>>>0?1:-1):d)|0}function Hl(){return}function Il(a,b,d){a=a|0;b=b|0;d=d|0;if(c[405846]|0)return;rm(1623660,a)|0;rm(1624684,b)|0;c[405846]=1;c[405847]=Iq()|0;c[405848]=d;Wq(1623660,1624684,2,3)|0;return}function Jl(a){a=a|0;c[405846]=0;if(a|0)bb(a,1500);c[732416]=0;return}function Kl(){return 101}function Ll(){var b=0,d=0,e=0;if(!((a[2926560]|0)!=0&(c[732414]|0)!=0|(c[405785]|0)!=0)){b=0;return b|0}d=Bo(1624684)|0;if(!d){b=0;return b|0}rl(Ao(d,57895,0)|0,0)|0;e=(Ms(Ao(d,57895,0)|0)|0)>>>0<2;zo(d);if(e|(c[750218]|0)==0){b=0;return b|0}if(ng()|0){b=0;return b|0}if(!(Cs(1446448,2923100)|0)){b=0;return b|0}c[406687]=1;b=1;return b|0}function Ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ga;Ga=Ga+16|0;e=d;if(!((a|0)!=0&(b|0)!=0)){Ga=d;return}Eu(a|0,0,692)|0;rm(a+4|0,Ao(b,57899,0)|0)|0;rm(a+132|0,Ao(b,57905,0)|0)|0;rm(a+388|0,Ao(b,57895,0)|0)|0;rm(a+516|0,Ao(b,57912,0)|0)|0;f=a+644|0;c[f>>2]=0;g=Ao(b,57916,0)|0;c[e>>2]=f;At(g,59339,e)|0;c[a+684>>2]=1;ol(a);Ga=d;return}function Nl(){return c[357370]|0}function Ol(b){b=b|0;var d=0,e=0,f=0;d=1429484+(c[357387]|0)|0;e=a[d>>0]|0;if(!(e<<24>>24)){a[d+1>>0]=0;f=(b|0)>0?57:97;a[d>>0]=f;return}else{f=a[57923+((37-b+(e<<24>>24==57?36:e<<24>>24==56?35:e<<24>>24==55?34:e<<24>>24==54?33:e<<24>>24==53?32:e<<24>>24==52?31:e<<24>>24==51?30:e<<24>>24==50?29:e<<24>>24==49?28:e<<24>>24==48?27:e<<24>>24==122?26:e<<24>>24==121?25:e<<24>>24==120?24:e<<24>>24==119?23:e<<24>>24==118?22:e<<24>>24==117?21:e<<24>>24==116?20:e<<24>>24==115?19:e<<24>>24==114?18:e<<24>>24==113?17:e<<24>>24==112?16:e<<24>>24==111?15:e<<24>>24==110?14:e<<24>>24==109?13:e<<24>>24==108?12:e<<24>>24==107?11:e<<24>>24==106?10:e<<24>>24==105?9:e<<24>>24==104?8:e<<24>>24==103?7:e<<24>>24==102?6:e<<24>>24==101?5:e<<24>>24==100?4:e<<24>>24==99?3:e<<24>>24==98?2:e<<24>>24==97?1:(e<<24>>24!=32)<<31>>31)|0)%37|0)>>0]|0;a[d>>0]=f;return}}function Pl(){Iq()|0;return}function Ql(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Ga;Ga=Ga+16|0;e=d+8|0;f=d;g=c[357370]|0;if(!g){a:do if((b|0)==27){if((c[405846]|0)>0){c[405846]=0;bb(57971,1500);c[732416]=0;h=62;break}if(c[405782]|0){i=(c[515526]|0)==0&1;c[515526]=i;j=i;break}i=c[515178]|0;switch(i|0){case 0:{c[750218]=0;Bg();h=62;break a;break}case 1:{c[515178]=0;h=62;break a;break}default:{if((i|1|0)==5){c[515178]=1;k=1}else k=i;xl(k);h=62;break a}}}else h=62;while(0);if((h|0)==62)j=c[515526]|0;if(j|0){Ga=d;return}j=1==1;b:do if((b|0)!=102|j){switch(b|0){case 8:case 127:break;default:{h=68;break b}}if(j)h=71}else if(!(nk(9)|0)){yl();Iq()|0;h=68}else h=68;while(0);if(((h|0)==68?(fn(76)|0)==3:0)?(nk(76)|0)==0&1==1:0)h=71;if((h|0)==71){yl();Iq()|0}if(fn(75)|0?(nk(75)|0)==0:0){j=1429460;k=(c[j>>2]|0)+-6|0;i=c[357364]|0;l=(i|0)<1?0:i+-1|0;i=(k|0)<(l|0)?k:l;c[j>>2]=(i|0)>0?i:0}if(fn(78)|0?(nk(78)|0)==0:0){i=1429460;j=(c[i>>2]|0)+6|0;l=c[357364]|0;k=(l|0)<1?0:l+-1|0;l=(j|0)<(k|0)?j:k;c[i>>2]=(l|0)>0?l:0}if(fn(74)|0?(nk(74)|0)==0:0)c[357365]=0;if(!(fn(77)|0)){Ga=d;return}if(nk(77)|0){Ga=d;return}l=c[357364]|0;i=l+-1|0;k=(l|0)<1?0:i;l=(i|0)<(k|0)?i:k;c[357365]=(l|0)>0?l:0;Ga=d;return}l=Ms(1429484)|0;do if((g|0)==1){if((fn(82)|0)!=3?(fn(81)|0)!=3:0){if((c[357370]|0)!=1)break;if(!((b|0)==13|(qb(b)|0)!=0))break;c[357370]=2;break}c[357370]=3}while(0);g=(b|0)==-1;if(g){if((fn(80)|0)==3){k=Ms(1429484)|0;i=1429548;j=(c[i>>2]|0)+-1|0;m=(j|0)<(k|0)?j:k;c[i>>2]=(m|0)>0?m:0}if((fn(79)|0)==3){m=Ms(1429484)|0;i=1429548;k=c[i>>2]|0;if((k|0)==(m|0)&(k|0)<21){a[1429484+m>>0]=32;j=(c[i>>2]|0)+1|0;c[i>>2]=j;a[1429484+j>>0]=0;n=m+1|0;o=c[i>>2]|0}else{n=m;o=k}k=o+1|0;o=(k|0)<(n|0)?k:n;c[i>>2]=(o|0)>0?o:0}}else if((b|0)==27)c[357370]=0;c:do if((c[357370]|0)==2){if((l|0)<22&(qb(b)|0)!=0){o=1429548;i=c[o>>2]|0;if((i|0)<22){n=22;do{k=n;n=n+-1|0;a[1429484+k>>0]=a[1429484+n>>0]|0;k=c[o>>2]|0}while((n|0)>(k|0));p=k}else p=i;a[1429506]=0;a[1429484+p>>0]=b;c[o>>2]=(c[o>>2]|0)+1;c[357370]=2;break}switch(b|0){case 8:case 127:{h=26;break}default:if((fn(76)|0)==3)h=26}if((h|0)==26?(c[357387]|0)>0:0){n=(fn(76)|0)==3;k=1429548;m=c[k>>2]|0;if(n)q=m;else{n=m+-1|0;c[k>>2]=n;q=n}if((q|0)>=22)break;n=q;while(1){k=n;n=n+1|0;a[1429484+k>>0]=a[1429484+n>>0]|0;if((k|0)>=21)break c}}if((b|0)==13){c[f>>2]=1429484;as(1428396,57717,f)|0;zl(c[357098]|0,1428396,0);rm(1429424,1429484)|0;c[357370]=0;pk();break}if(g){if((fn(80)|0)==3){n=Ms(1429484)|0;o=1429548;i=(c[o>>2]|0)+-1|0;k=(i|0)<(n|0)?i:n;c[o>>2]=(k|0)>0?k:0}if((fn(79)|0)==3){k=Ms(1429484)|0;o=1429548;n=c[o>>2]|0;if((n|0)==(k|0)&(n|0)<21){a[1429484+k>>0]=32;i=(c[o>>2]|0)+1|0;c[o>>2]=i;a[1429484+i>>0]=0;r=k+1|0;s=c[o>>2]|0}else{r=k;s=n}n=s+1|0;k=(n|0)<(r|0)?n:r;c[o>>2]=(k|0)>0?k:0}}}while(0);if((c[357370]|0)!=3){Ga=d;return}if(ok(2,0)|0)Ol(-1);if(ok(3,0)|0)Ol(1);if(!((ok(4,0)|0)==0?!(ok(5,0)|0):0)){c[e>>2]=1429484;as(1428396,57717,e)|0;zl(c[357098]|0,1428396,0);rm(1429424,1429484)|0;c[357370]=0;pk()}if(!(ok(6,0)|0)){Ga=d;return}c[357370]=0;c[732672]=1;bb(57961,1e3);Ga=d;return}function Rl(){var a=0,b=0,d=0,e=0,f=0,g=0;c[406683]=0;a=c[357072]|0;if((a|0)>0){b=0;d=a;while(1){a=c[(c[356805]|0)+(b*692|0)+648>>2]|0;if(!a)e=d;else{Lm(a)|0;e=c[357072]|0}b=b+1|0;if((b|0)>=(e|0))break;else d=e}}c[357072]=0;El(1427216,2921044);e=1429460;d=c[e>>2]|0;b=1429456;a=c[b>>2]|0;f=(a|0)<1?0:a+-1|0;g=(d|0)<(f|0)?d:f;c[e>>2]=(g|0)>0?g:0;if(!(1!=1&(a|0)>0)){Iq()|0;c[515526]=0;return}a=1428388;g=0;do{e=c[a>>2]|0;f=e+(g*692|0)+688|0;c[f>>2]=0;c[f>>2]=(pl(1428384,e+(g*692|0)+388|0,e+(g*692|0)+260|0)|0)!=-1&1;g=g+1|0}while((g|0)<(c[b>>2]|0));Iq()|0;c[515526]=0;return}function Sl(){return}function Tl(a){a=a|0;Ml(2060720,a);return}function Ul(){var b=0,d=0,e=0,f=0;b=Ga;Ga=Ga+1024|0;d=b;a[1448496]=0;Mn(2923100,0,d,0);Vs(1448496,d)|0;if((a[2926560]|0)!=0&(c[732414]|0)!=0|(c[405785]|0)!=0)rm(1448496,2060724)|0;rm(1448496,Wa()|0)|0;d=a[1448496]|0;if(!(d<<24>>24)){rm(1448496,57990)|0;e=a[1448496]|0;if(!(e<<24>>24)){Ga=b;return 1448496}else f=e}else f=d;d=1448496;e=f;do{a:do if(!((e+-48&255)<10|((e&-33)+-65&255)<26)){switch(e<<24>>24){case 32:case 45:case 95:{break a;break}default:{}}a[d>>0]=32}while(0);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);Ga=b;return 1448496}function Vl(){return}function Wl(){return}function Xl(a,b){a=a|0;b=b|0;ma(19,a|0,b|0)|0;return}function Yl(a){a=a|0;var b=0;b=la(20,a|0)|0;a=(b|0)<255?b:255;return ((a|0)>0?a:0)|0}function Zl(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ga;Ga=Ga+528|0;b=a+512|0;d=a;e=c[(c[c[694854]>>2]|0)+12>>2]|0;c[e+20>>2]=0;f=Bn(3002004,e)|0;sg(58495,14);a:do if(58142){e=0;g=2048;while(1){h=c[(c[f>>2]|0)+(e<<2)>>2]|0;c[b>>2]=2920020;c[b+4>>2]=58528;as(d,67368,b)|0;Tq(d)|0;Ws(d,c[g>>2]|0)|0;i=Fn(d,58535)|0;if(!i)break;xn(c[h+12>>2]|0,1,c[h+16>>2]|0,i)|0;Gn(i);tg(c[g>>2]|0);e=e+1|0;g=2048+(e<<2)|0;if(!(c[g>>2]|0))break a}sg(58537,8);Ga=a;return}while(0);_m(f);Ga=a;return}function _l(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=Ga;Ga=Ga+1040|0;b=a+1024|0;d=a;Qq(58561,d);e=c[(c[c[694854]>>2]|0)+24>>2]|0;c[e+20>>2]=0;f=Bn(3002004,e)|0;a:do if(58255){e=1;g=58255;while(1){h=c[(c[f>>2]|0)+(e<<2)>>2]|0;Vs(d,sl(g)|0)|0;i=Fn(d,67694)|0;if(!i)break;j=h+12|0;k=h+16|0;xn(c[j>>2]|0,1,c[k>>2]|0,i)|0;Gn(i);tg(c[2192+(e<<2)>>2]|0);c[b>>2]=2920020;c[b+4>>2]=58576;as(d,67368,b)|0;Tq(d)|0;Ws(d,c[2160+(e<<2)>>2]|0)|0;i=Fn(d,67694)|0;xn(c[j>>2]|0,1,c[k>>2]|0,i)|0;Gn(i);e=e+1|0;g=c[2112+(e<<2)>>2]|0;if(!g)break a}sg(58537,8);Ga=a;return}while(0);_m(f);Ga=a;return}function $l(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;e=pp((B(c[a>>2]<<1,c[d>>2]|0)|0)+1024|0)|0;xn(c[a+12>>2]|0,1,B(c[d>>2]|0,c[a>>2]|0)|0,e)|0;d=c[17264]|0;if((c[d+8>>2]|0)==(a|0)){wn(1,e);f=c[c[718233]>>2]|0;xn(c[f+12>>2]|0,1,B(c[f+4>>2]|0,c[f>>2]|0)|0,e)|0;wn(c[749975]|0,e);wn(c[749976]|0,e);wn(c[749973]|0,e);wn(c[749982]|0,e);g=c[17264]|0}else g=d;if((c[g+4>>2]|0)!=(a|0)){wn(b,e);return e|0}wn(0,e);xn((c[17264]|0)+43548|0,1,256,e)|0;a=c[c[718234]>>2]|0;xn(c[a+12>>2]|0,1,B(c[a+4>>2]|0,c[a>>2]|0)|0,e)|0;wn(c[749958]|0,e);wn(c[749977]|0,e);wn(c[749978]|0,e);wn(c[749959]|0,e);wn(c[749960]|0,e);wn(c[749972]|0,e);wn(c[749957]|0,e);wn(c[749983]|0,e);wn(b,e);return e|0}function am(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a[c>>0]=0;d=kp(262144)|0;a:do if(a[b>>0]|0){e=b;f=1;g=1;while(1){a[d>>0]=0;if(a[e>>0]|0){if(!f)h=ah(e)|0;else h=bh(e)|0;i=ch()|0;j=h-e|0;Du(d|0,e|0,j|0)|0;a[d+j>>0]=0;if((i|1|0)!=-999&(a[h>>0]|0)!=0){i=j;j=h;while(1){k=ah(j)|0;l=ch()|0;m=k-j|0;Du(d+i|0,j|0,m|0)|0;i=m+i|0;a[d+i>>0]=0;if(!((l|1|0)!=-999&(a[k>>0]|0)!=0)){n=k;o=0;break}else j=k}}else{n=h;o=0}}else{n=e;o=f}j=d;b:while(1){switch(a[j>>0]|0){case 32:case 9:break;default:break b}j=j+1|0}if(!(_r(j,58583,9)|0))break;Ws(c,d)|0;i=(a[n>>0]|0)!=0;if(g>>>0<65536&i){e=n;f=o;g=g+(i&1)|0}else break a}sg(58593,6);op(d);p=1;return p|0}while(0);op(d);p=0;return p|0}function bm(){return 0}function cm(a){a=a|0;return 0}function dm(a){a=a|0;return 0}function em(a){a=a|0;return 0}function fm(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[515533]|0;i=c[515534]|0;if(!((h|0)!=0&(i|0)!=0))return;j=(g|0)/4|0;g=(j|0)<(h|0)?j:h;j=g<<2;if((g|0)>0){k=0;do{l=f+(k<<1)|0;b[l>>1]=((d[i+(k>>>2)>>0]|0)<<8)+32768+(e[l>>1]|0);k=k+1|0}while((k|0)<(j|0))}j=h-g|0;c[515533]=j;if((j|0)<=0)return;a[i>>0]=a[i+g>>0]|0;if((c[515533]|0)<=1)return;i=1;do{j=c[515534]|0;a[j+i>>0]=a[j+(i+g)>>0]|0;i=i+1|0}while((i|0)<(c[515533]|0));return}function gm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if((f|0)<1){g=0;return g|0}if(!(c[515535]|0)){c[515535]=1;c[515536]=kp(262144)|0;lp(1449520,0,16384)}h=1449520+(b<<2)|0;i=c[h>>2]|0;if(!i){j=kp(48)|0;c[h>>2]=j;c[j>>2]=b;c[j+4>>2]=(b|0)/256|0;c[j+8>>2]=b&255;c[j+12>>2]=10;c[j+16>>2]=8e5;c[j+20>>2]=1050624;c[j+24>>2]=55;c[j+32>>2]=0;c[j+36>>2]=0;k=j}else k=i;do if(!(b&65280)){i=c[515537]|0;j=c[515538]|0;if((((f+7+j|0)/8|0)+i|0)>262138){bb(58610,1e3);c[515538]=0;g=0;return g|0}h=(b|0)==255;if(h|(c[8684]|0)!=(b|0)){if((j|0)>0){l=((j+7|0)/8|0)+i|0;c[515537]=l;m=c[515536]|0;n=c[515539]|0;a[m+n>>0]=j;a[m+(n+1)>>0]=j>>>8;o=m;p=l}else{o=c[515536]|0;p=i}c[8684]=b;c[515538]=0;a[o+p>>0]=b;a[o+(p+1)>>0]=b>>>8;c[515539]=p+2;l=p+4|0;c[515537]=l;q=l;r=0}else{q=i;r=j}if(h){h=c[515536]|0;a[h+q>>0]=f>>>3;a[h+(q+1)>>0]=f>>>11;c[515538]=r+16;s=f;break}h=0;j=0;i=r;l=q;while(1){m=h&7;if(!m){n=fk(2779320,c[733490]|0,(h>>>3)+e|0)|0;t=n;u=c[515538]|0;v=c[515537]|0}else{t=j;u=i;v=l}n=(c[515536]|0)+(((u|0)/8|0)+v)|0;a[n>>0]=(t>>>m&1)<<(u&7)|(d[n>>0]|0);i=u+1|0;c[515538]=i;h=h+1|0;if((h|0)==(f|0)){w=f;x=20;break}else{j=t;l=v}}}else{w=0;x=20}while(0);a:do if((x|0)==20){if((b|1|0)==257){if(!(c[515540]|0))c[515540]=kp(32768)|0;v=(f+7|0)/8|0;t=(f|0)>0;if(t){u=0;do{q=(fk(2779320,c[733490]|0,u+e|0)|0)&255;y=c[515540]|0;a[y+u>>0]=q;u=u+1|0}while((u|0)<(v|0));if(t?(ek(2779320,c[733490]|0,e,d[y>>0]|0),(f|0)>8):0){u=1;do{ek(2779320,c[733490]|0,u+e|0,d[(c[515540]|0)+u>>0]|0);u=u+1|0}while((u|0)<(v|0));z=f}else z=f}else z=f}else z=w;switch(b|0){case 2048:{v=(f|0)/8|0;b:do if((f|0)>7){u=0;t=c[515528]|0;while(1){if((t|0)>=(c[515529]|0))break;ek(2779320,c[733490]|0,u+e|0,d[(c[515527]|0)+t>>0]|0);t=(c[515528]|0)+1|0;c[515528]=t;q=u+1|0;if((q|0)>=(v|0))break b;else u=q}Rg(u<<6);g=u<<3;return g|0}while(0);Rg(f<<3);g=f;return g|0}case 2050:{v=(f|0)/8|0;c:do if((f|0)>7){t=0;q=c[515531]|0;while(1){if((q|0)>=(c[515532]|0))break;ek(2779320,c[733490]|0,t+e|0,d[(c[515530]|0)+q>>0]|0);q=(c[515531]|0)+1|0;c[515531]=q;r=t+1|0;if((r|0)>=(v|0))break c;else t=r}Rg(t<<6);g=t<<3;return g|0}while(0);Rg(f<<3);g=f;return g|0}case 2056:{if(!(c[515534]|0))c[515534]=kp(2048)|0;v=(f|0)/8|0;if(!((f|0)>7&(c[515533]|0)<2048)){s=f;break a}q=0;do{u=(fk(2779320,c[733490]|0,q+e|0)|0)&255;a[(c[515534]|0)+(c[515533]|0)>>0]=u;u=c[515533]|0;c[515533]=u+1;q=q+1|0}while((q|0)<(v|0)&(u|0)<2047);s=f;break}default:{s=z;break a}}}while(0);c[k+44>>2]=1;g=s;return g|0}function hm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ga;Ga=Ga+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1044|0;if(!(c[515535]|0)){c[515535]=1;c[515536]=kp(262144)|0;lp(1449520,0,16384)}k=1449520+(b<<2)|0;l=c[k>>2]|0;if(!l){m=kp(48)|0;c[k>>2]=m;c[m>>2]=b;c[m+4>>2]=(b|0)/256|0;c[m+8>>2]=b&255;c[m+12>>2]=10;c[m+16>>2]=8e5;c[m+20>>2]=1050624;c[m+24>>2]=55;c[m+32>>2]=0;c[m+36>>2]=0;n=m}else n=l;if(c[n+44>>2]|0){Ga=e;return}l=a[d>>0]|0;if(l<<24>>24>47?(a[d+1>>0]|0)<58:0){c[h>>2]=j;At(d,59339,h)|0;c[n+16>>2]=c[j>>2];Ga=e;return}if(l<<24>>24==32){h=d;while(1){m=h+1|0;b=a[m>>0]|0;if(b<<24>>24==32)h=m;else{o=m;p=b;break}}}else{o=d;p=l}l=n+16|0;d=n+12|0;h=n+20|0;b=n+24|0;m=n+32|0;k=n+36|0;if(!(p<<24>>24)){Ga=e;return}p=o;while(1){a[i>>0]=0;c[g>>2]=i;o=At(p,58633,g)|0;if(!(Ys(i,58)|0)){a[i>>0]=0;q=0}else{c[j>>2]=0;n=(Ys(i,58)|0)+1|0;c[f>>2]=j;At(n,59339,f)|0;a[(Ys(i,58)|0)>>0]=0;q=o}o=(a[p>>0]|0)==0?p:p+1|0;while(1){r=a[o>>0]|0;if(r<<24>>24==0|(r+-97&255)>25)break;else o=o+1|0}if(r<<24>>24!=0&(r+-97&255)>25){n=o;while(1){s=n+1|0;t=a[s>>0]|0;if(t<<24>>24!=0&(t+-97&255)>25)n=s;else{u=s;break}}}else u=o;if(!(Cs(i,58640)|0))c[l>>2]=c[j>>2];if(!(Cs(i,58645)|0))c[d>>2]=c[j>>2];if(!(Cs(i,58649)|0))c[h>>2]=c[j>>2];if(!(Cs(i,58654)|0))c[b>>2]=c[j>>2];if(!(Cs(i,58665)|0))c[m>>2]=c[j>>2];if(!(Cs(i,58672)|0))c[k>>2]=c[j>>2];if(!q){v=36;break}if(!(a[u>>0]|0)){v=36;break}else p=u}if((v|0)==36){Ga=e;return}}function im(){var a=0,b=0,d=0;c[515533]=0;if(!(c[515535]|0))return;a=0;do{b=c[1449520+(a<<2)>>2]|0;if(b|0){d=b;b=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0))}a=a+1|0}while((a|0)!=4096);c[515538]=0;lp(c[515536]|0,0,262144);if(!(c[515535]|0))return;c[515538]=0;lp(c[515536]|0,0,262144);c[8684]=-1;c[515539]=0;c[515537]=0;a=c[515540]|0;if(!a)return;lp(a,0,32768);return}function jm(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!(c[515535]|0))return;b=c[515538]|0;if((b|0)>0){e=(c[515537]|0)+((b+7|0)/8|0)|0;c[515537]=e;f=c[515536]|0;g=c[515539]|0;a[f+g>>0]=b;a[f+(g+1)>>0]=b>>>8;h=e}else h=c[515537]|0;if((h|0)>0){e=0;b=h;while(1){h=c[515536]|0;g=a[h+(e+1)>>0]|0;f=(g&255)<<8|(d[h+e>>0]|0);i=(d[h+(e+3)>>0]|0)<<8|(d[h+(e+2)>>0]|0);j=e+4|0;do if(!(g<<24>>24)){if((f|0)==255){k=e+6|0;l=b;break}m=(i+7|0)>>>3;if(m){Xl(f,d[h+j>>0]|0);if((m|0)!=1){n=j;o=1;do{n=n+1|0;Xl(f,d[(c[515536]|0)+n>>0]|0);o=o+1|0}while((o|0)!=(m|0))}k=j+m|0;l=c[515537]|0}else{k=j;l=b}}else{k=j;l=b}while(0);if((k|0)<(l|0)){e=k;b=l}else break}if(!(c[515535]|0))return}c[515538]=0;lp(c[515536]|0,0,262144);c[8684]=-1;c[515539]=0;c[515537]=0;l=c[515540]|0;if(!l)return;lp(l,0,32768);return}function km(a){a=a|0;var b=0,d=0,e=0;op(c[515527]|0);b=a+16|0;d=c[b>>2]|0;c[515529]=d;e=kp(d)|0;c[515527]=e;Du(e|0,c[a+12>>2]|0,c[b>>2]|0)|0;c[515528]=0;return}function lm(b){b=b|0;var d=0,e=0,f=0;op(c[515530]|0);d=b+4|0;e=(B(c[d>>2]|0,c[b>>2]|0)|0)+4|0;c[515532]=e;f=kp(e)|0;c[515530]=f;a[f>>0]=c[b>>2];a[(c[515530]|0)+1>>0]=(c[b>>2]|0)/256|0;a[(c[515530]|0)+2>>0]=c[d>>2];a[(c[515530]|0)+3>>0]=(c[d>>2]|0)/256|0;Du((c[515530]|0)+4|0,c[b+12>>2]|0,B(c[d>>2]|0,c[b>>2]|0)|0)|0;c[515531]=0;return}function mm(){return (c[515529]|0)-(c[515528]|0)|0}function nm(){return (c[515532]|0)-(c[515531]|0)|0}function om(){c[515528]=0;c[515529]=0;c[515531]=0;c[515532]=0;return}function pm(){var b=0,d=0,e=0,f=0,g=0,h=0;b=c[694830]|0;d=b+4|0;if((d|0)==1){e=0;do{f=e>>>5;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+2>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+10>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+18>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+26>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+34>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+42>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+50>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+58>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+66>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+74>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+82>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+90>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+98>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+106>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+114>>0]=g;g=(io(4)|0)+f&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+122>>0]=g;e=e+1|0}while((e|0)!=128)}switch(b|0){case 0:{e=b;do{g=0;do{a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=((g+e|0)>>>3&7)+6;g=g+4|0}while(g>>>0<128);e=e+2|0}while(e>>>0<128);h=31;break}case 3:{e=0;do{g=2;do{f=(io(4)|0)+10&255;a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=f;g=g+4|0}while(g>>>0<128);e=e+3|0}while(e>>>0<128);switch(b|0){case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}break}case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}if((h|0)==14){e=0;do{g=1;do{f=c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0;a[f+g>>0]=a[f+(g+1)>>0]|0;g=g+2|0}while(g>>>0<127);e=e+1|0}while((e|0)!=128);switch(b|0){case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}}if((h|0)==19){e=0;do{if(e&3|0){g=0;do{a[(c[(c[(c[694838]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=0;g=g+1|0}while((g|0)!=128)}e=e+1|0}while((e|0)!=128);switch(b|0){case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}}do if((h|0)==25)Fm(c[694838]|0);else if((h|0)==26){Fm(c[694838]|0);Qp((c[694855]|0)+12|0);tg(3002004);tg(3002004);vo(c[(c[c[694856]>>2]|0)+8>>2]|0,c[694838]|0,0,0,1,1,40,10);c[732519]=6}else if((h|0)==27){tg(58677);vo(c[(c[c[694856]>>2]|0)+8>>2]|0,c[694838]|0,0,0,1,1,40,10)}else if((h|0)==28){c[732519]=13;tg(58691);c[732519]=6;tg(3002004);if(!(c[405784]|0)){tg(58777);tg(3002004);break}else{sg(58724,14);tg(3002004);tg(58756);break}}else if((h|0)==31?(d|0)==70&(c[405782]|0)!=0:0){c[732408]=0;c[732519]=6;Rl();c[750218]=2}while(0);h=(c[405781]|0)!=0;e=c[405780]|0;if(h&((d|0)==90&(e|0)!=0)){c[732413]=1;return}if(!(h|((d|0)!=60|(e|0)==0))){c[732408]=0;return}switch(b|0){case 76:{db();return}case 896:{tg(59205);return}default:return}}function qm(a){a=a|0;if((a|0)!=2062176?(Vs(2062176,a)|0,(a|0)==2224):0)return;Vs(2224,a)|0;return}function rm(a,b){a=a|0;b=b|0;var c=0;if((a|0)==(b|0))c=a;else{Vs(a,b)|0;c=a}return c|0}function sm(a){a=a|0;var b=0;if(a)if((a|0)==2062432)b=2062432;else{Vs(2062432,a)|0;b=2062432}else b=0;c[515672]=b;return}function tm(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=Ga;Ga=Ga+96|0;b=a+88|0;d=a+80|0;e=a+72|0;f=a+64|0;g=a+56|0;h=a+48|0;i=a+40|0;j=a+32|0;k=a+24|0;l=a+16|0;m=a+8|0;n=a;if(c[516524]|0){Ga=a;return 0}c[515541]=0;lp(2062176,0,1676);Vs(2062176,2224)|0;if(2224!=2062432)Vs(2062432,2224)|0;c[515672]=2062432;In();o=c[8685]|0;p=c[516525]|0;if((o|0)>0&(p|0)!=0)um(o,p);c[n>>2]=58807;cu(58797,n)|0;n=c[8693]|0;wt(n)|0;c[m>>2]=58833;as(1465904,58819,m)|0;c[l>>2]=1465904;cu(58797,l)|0;wt(n)|0;l=c[8685]|0;m=c[516525]|0;if((l|0)>0&(m|0)!=0)um(l,m);if(!0){c[k>>2]=58844;cu(58797,k)|0;wt(n)|0;vq()|0;c[j>>2]=58862;cu(58797,j)|0;wt(n)|0;Iq()|0;c[i>>2]=58880;cu(58797,i)|0;wt(n)|0;jn();c[h>>2]=58895;cu(58797,h)|0;wt(n)|0;gn();c[g>>2]=58911;cu(58797,g)|0;wt(n)|0;pn();c[f>>2]=58927;cu(58797,f)|0;wt(n)|0;hq()|0;c[e>>2]=58944;cu(58797,e)|0;wt(n)|0;bn();c[d>>2]=58961;cu(58797,d)|0;wt(n)|0}ho(0);c[516003]=(c[516003]|0)+1;c[b>>2]=58981;cu(58797,b)|0;wt(n)|0;c[516524]=1;Ga=a;return 0}function um(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;e=Ga;Ga=Ga+32|0;f=e+8|0;g=e;h=e+24|0;if((b|0)<=1){Ga=e;return}i=0;j=1;a:while(1){k=d+(j<<2)|0;l=c[k>>2]|0;b:do switch(a[l>>0]|0){case 62:case 124:case 38:{m=42;break a;break}case 45:{n=l+1|0;o=(_r(n,58986,5)|0)==0;p=(_r(n,58992,6)|0)==0;q=(_r(n,58999,8)|0)==0;r=(_r(n,59008,8)|0)==0;s=(_r(n,59017,8)|0)==0;t=(_r(n,59026,8)|0)==0;u=(_r(n,59035,9)|0)==0;v=(_r(n,59045,17)|0)==0;w=(_r(n,59063,19)|0)==0;x=(_r(n,59083,12)|0)==0;y=(_r(n,59096,12)|0)==0;z=(_r(n,59109,5)|0)==0;A=(_r(n,59115,5)|0)==0;B=(_r(n,59121,15)|0)==0;C=(_r(n,59137,13)|0)==0|(_r(n,59151,16)|0)==0;D=(_r(n,59168,4)|0)==0;E=(_r(n,59173,7)|0)==0;F=(_r(n,59181,13)|0)==0;G=(_r(n,59195,9)|0)==0;H=(_r(n,59205,7)|0)==0;if(!(_r(n,59213,8)|0)){c[516006]=1;I=0}else I=H?20:G?19:F?18:E?17:D?16:v?15:C?14:B?12:A?11:z?10:y?11:x?10:w?9:v?8:u?7:t?6:s?5:r?4:q?3:p?2:o?1:i;if(!(_r(n,59222,11)|0)){c[516007]=1;J=0}else J=I;if((a[n>>0]|0)==120){c[516006]=1;K=0}else K=J;o=(_r(n,59234,19)|0)==0;p=(_r(n,59254,17)|0)==0;q=(_r(n,59272,16)|0)==0;r=(_r(n,59289,11)|0)==0;s=(_r(n,59301,13)|0)==0;t=(_r(n,59315,7)|0)==0;u=(_r(n,59323,15)|0)==0;L=u?28:t?27:s?26:r?25:q?24:p?23:o?22:K;break}default:{c[h>>2]=0;c[g>>2]=h;At(l,59339,g)|0;do switch(i|0){case 1:{c[515967]=c[h>>2];L=0;break b;break}case 2:{c[515968]=c[h>>2];L=0;break b;break}case 3:{c[515985]=c[h>>2];L=0;break b;break}case 4:{c[515969]=c[h>>2];L=0;break b;break}case 5:{c[515977]=c[h>>2];L=0;break b;break}case 6:{c[515978]=c[h>>2];L=0;break b;break}case 7:{c[515976]=c[h>>2];L=0;break b;break}case 8:{c[515992]=c[h>>2];L=0;break b;break}case 9:{c[515972]=c[h>>2];L=0;break b;break}case 10:{c[515970]=c[h>>2];L=0;break b;break}case 11:{c[515971]=c[h>>2];L=0;break b;break}case 12:{c[515982]=c[h>>2];L=0;break b;break}case 14:{c[515993]=c[h>>2];L=0;break b;break}case 15:{c[515992]=c[h>>2];L=0;break b;break}case 16:{o=c[k>>2]|0;if((o|0)==2064032){L=0;break b}Vs(2064032,o)|0;L=0;break b;break}case 17:{o=c[k>>2]|0;if((o|0)==2065056){L=0;break b}Vs(2065056,o)|0;L=0;break b;break}case 18:{c[515996]=c[h>>2];L=0;break b;break}case 19:{c[515999]=0;c[516e3]=0;c[516001]=4096;c[516002]=4096;o=c[k>>2]|0;c[f>>2]=2063996;c[f+4>>2]=2064e3;c[f+8>>2]=2064004;c[f+12>>2]=2064008;At(o,59342,f)|0;L=0;break b;break}case 20:{o=c[h>>2]|0;p=(o|0)<240?o:240;c[516004]=(p|0)>1?p:1;L=0;break b;break}case 21:{c[516006]=1;L=0;break b;break}case 22:{c[515973]=c[h>>2];L=0;break b;break}case 23:{c[515975]=c[h>>2];L=0;break b;break}case 24:{c[516520]=c[h>>2];L=0;break b;break}case 25:{c[516521]=c[h>>2];L=0;break b;break}case 26:{p=c[h>>2]|0;o=(p|0)<8?p:8;c[515994]=(o|0)>0?o:0;L=0;break b;break}case 27:{c[515979]=c[h>>2];L=0;break b;break}case 28:{c[516523]=c[h>>2];L=0;break b;break}default:{L=0;break b}}while(0)}}while(0);j=j+1|0;if((j|0)>=(b|0)){m=42;break}else i=L}if((m|0)==42){Ga=e;return}}function vm(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;c[d>>2]=a;cu(58797,d)|0;wt(c[8693]|0)|0;Ga=b;return}function wm(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=Ga;Ga=Ga+96|0;b=a+80|0;d=a+72|0;e=a+64|0;f=a+56|0;g=a+48|0;h=a+40|0;i=a+32|0;j=a+24|0;k=a+16|0;l=a+8|0;m=a;if(!(c[516524]|0)){Ga=a;return 0}c[516524]=0;c[m>>2]=59354;cu(58797,m)|0;m=c[8693]|0;wt(m)|0;c[l>>2]=59366;cu(58797,l)|0;wt(m)|0;aq(0,0);c[k>>2]=59379;cu(58797,k)|0;wt(m)|0;Cb();c[j>>2]=59395;cu(58797,j)|0;wt(m)|0;c[i>>2]=59413;cu(58797,i)|0;wt(m)|0;Jp()|0;c[h>>2]=59430;cu(58797,h)|0;wt(m)|0;iq()|0;c[g>>2]=59447;cu(58797,g)|0;wt(m)|0;c[f>>2]=59467;cu(58797,f)|0;wt(m)|0;if(!0){qn();kn()}c[e>>2]=c[515541];as(1465904,59485,e)|0;c[d>>2]=1465904;cu(58797,d)|0;wt(m)|0;c[b>>2]=58981;cu(58797,b)|0;wt(m)|0;m=c[515673]|0;if(m|0)ut(m)|0;m=c[515674]|0;if(m|0)ut(m)|0;c[515673]=0;c[515674]=0;c[516524]=0;Ga=a;return 0}function xm(a){a=a|0;return}function ym(){var a=0;a=Nq()|0;if(!(c[516526]|0)){c[516526]=1;ln();c[516526]=0}Pq(2062168,2062172,0);Xp();return a|0}function zm(){var a=0;lq();Nq()|0;if(!(c[516526]|0)){c[516526]=1;ln();c[516526]=0}Pq(2062168,2062172,0);Xp();c[516527]=0;Bb();if(!(c[516527]|0)){pb();nq();mq()}c[515688]=0;a=c[515704]|0;if(!a)return;if((a|0)<=(Iq()|0))return;Zt(59509)|0;c[515704]=0;ka(21)|0;return}function Am(){c[516527]=1;return}function Bm(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if((d|0)!=147e4)Vs(147e4,d)|0;c[8685]=a;c[516525]=b;hb(a,b);ua(1,0,0);return 0}function Cm(){var a=0;a=mp(768)|0;Eu(a|0,0,768)|0;c[515541]=(c[515541]|0)+1;return a|0}function Dm(a){a=a|0;if(!a)return;op(a);c[515541]=(c[515541]|0)+-1;return}function Em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=mp((d<<2)+48|0)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+40>>2]=0;c[e+32>>2]=0;c[e+24>>2]=0;c[e+28>>2]=a;c[e+36>>2]=b;c[e+44>>2]=d;f=B(b,a)|0;g=e+12|0;c[g>>2]=mp(B(f,d)|0)|0;h=e+16|0;c[h>>2]=e+48;if((d|0)<=0){i=c[515541]|0;j=i+1|0;c[515541]=j;return e|0}k=(b<<2)+52|0;if((b|0)<=0){l=0;do{m=mp(k)|0;c[m>>2]=a;c[m+4>>2]=b;c[m+36>>2]=0;c[m+28>>2]=0;c[m+32>>2]=a;c[m+40>>2]=b;c[m+8>>2]=8;c[m+20>>2]=0;c[m+12>>2]=(c[g>>2]|0)+(B(l,f)|0);c[m+16>>2]=m+52;c[(c[h>>2]|0)+(l<<2)>>2]=m;l=l+1|0}while((l|0)!=(d|0));i=c[515541]|0;j=i+1|0;c[515541]=j;return e|0}l=(b|0)==1;m=0;do{n=mp(k)|0;c[n>>2]=a;o=n+4|0;c[o>>2]=b;c[n+36>>2]=0;c[n+28>>2]=0;c[n+32>>2]=a;c[n+40>>2]=b;p=n+8|0;c[p>>2]=8;c[n+20>>2]=0;q=(c[g>>2]|0)+(B(m,f)|0)|0;r=n+12|0;c[r>>2]=q;s=n+52|0;t=n+16|0;c[t>>2]=s;c[s>>2]=q;if(!l){q=1;do{c[(c[t>>2]|0)+(q<<2)>>2]=(c[r>>2]|0)+(B(q,a)|0);q=q+1|0}while((q|0)!=(b|0))}if(2779224!=(n|0)?(lp(c[c[t>>2]>>2]|0,0,a),(c[o>>2]|0)>1):0){q=1;do{lp(c[(c[t>>2]|0)+(q<<2)>>2]|0,0,B(c[p>>2]>>3,c[n>>2]|0)|0);q=q+1|0}while((q|0)<(c[o>>2]|0))}c[(c[h>>2]|0)+(m<<2)>>2]=n;m=m+1|0}while((m|0)!=(d|0));i=c[515541]|0;j=i+1|0;c[515541]=j;return e|0}function Fm(a){a=a|0;var b=0,d=0,e=0,f=0;if(2779224==(a|0))return;b=a+4|0;if((c[b>>2]|0)<=0)return;d=a+16|0;e=a+8|0;f=0;do{lp(c[(c[d>>2]|0)+(f<<2)>>2]|0,0,B(c[e>>2]>>3,c[a>>2]|0)|0);f=f+1|0}while((f|0)<(c[b>>2]|0));return}function Gm(a){a=a|0;var b=0,d=0,e=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)op(b);b=a+8|0;if((c[b>>2]|0)>0){d=a+16|0;e=0;do{op(c[(c[d>>2]|0)+(e<<2)>>2]|0);e=e+1|0}while((e|0)<(c[b>>2]|0))}op(a);c[515541]=(c[515541]|0)+-1;return 0}function Hm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=(d|0)>(f|0);j=i?d:f;k=i?f:d;d=(e|0)>(g|0);f=d?e:g;i=d?g:e;e=b+8|0;g=c[e>>2]|0;if((g|0)==32){d=b+36|0;l=b+40|0;m=b+28|0;n=b+32|0;o=h&255;p=b+16|0;q=i;while(1){a:do if((2779224!=(b|0)?(c[d>>2]|0)<=(q|0):0)?(c[l>>2]|0)>(q|0):0){r=c[m>>2]|0;s=(k|0)<(r|0)?r:k;r=c[n>>2]|0;t=(j|0)<(r|0)?j:r+-1|0;switch(c[e>>2]|0){case 8:{if((s|0)>(t|0))break a;r=s;while(1){a[(c[(c[p>>2]|0)+(q<<2)>>2]|0)+r>>0]=o;if((r|0)<(t|0))r=r+1|0;else break}break}case 32:{r=1-s+t|0;if((r|0)<=0)break a;u=(c[(c[p>>2]|0)+(q<<2)>>2]|0)+(s<<2)|0;v=r;while(1){c[u>>2]=h;if((v|0)>1){u=u+4|0;v=v+-1|0}else break}break}default:break a}}while(0);if((q|0)<(f|0))q=q+1|0;else break}w=c[e>>2]|0}else w=g;if((w|0)!=8)return;w=c[b+28>>2]|0;g=(k|0)<(w|0)?w:k;k=c[b+32>>2]|0;w=c[b+36>>2]|0;e=c[b+40>>2]|0;q=(f|0)<(e|0)?f+1|0:e;e=((j|0)<(k|0)?j+1|0:k)-g|0;if((e|0)<=0)return;k=(i|0)<(w|0)?w:i;if((k|0)>=(q|0))return;i=b+16|0;b=k;do{lp((c[(c[i>>2]|0)+(b<<2)>>2]|0)+g|0,h,e);b=b+1|0}while((b|0)<(q|0));return}function Im(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a+28>>2]=(b|0)>0?b:0;b=c[a>>2]|0;c[a+32>>2]=(b|0)>(e|0)?e:b;c[a+36>>2]=(d|0)>0?d:0;d=c[a+4>>2]|0;c[a+40>>2]=(d|0)>(f|0)?f:d;return}function Jm(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!((a|0)!=0&(b|0)!=0))return;j=c[b+8>>2]|0;if((j|0)!=(c[a+8>>2]|0))return;k=c[a>>2]|0;if((k|0)<=(d|0))return;l=c[a+4>>2]|0;if((l|0)<=(e|0))return;m=c[b+32>>2]|0;if((m|0)<=(f|0))return;n=c[b+40>>2]|0;if((n|0)<=(g|0))return;o=(d|0)<0;p=o?d:0;q=p+h|0;h=f-p|0;p=o?0:d;d=(e|0)<0;o=d?e:0;f=o+i|0;i=g-o|0;o=d?0:e;e=c[b+28>>2]|0;d=(h|0)<(e|0);g=d?h-e|0:0;r=g+((q+p|0)>(k|0)?k-p|0:q)|0;q=d?e:h;h=p-g|0;g=c[b+36>>2]|0;p=(i|0)<(g|0);e=p?i-g|0:0;d=e+((f+o|0)>(l|0)?l-o|0:f)|0;f=p?g:i;i=o-e|0;e=(r+q|0)>(m|0)?m-q|0:r;r=(d+f|0)>(n|0)?n-f|0:d;if((e|0)<1|(r|0)<1)return;if(2779224==(b|0)){Hq(a,b,h,i,q,f,e,r,1);return}switch(j|0){case 8:{wo(a,b,h,i,q,f,e,r);return}case 32:{xo(a,b,h,i,q,f,e,r);return}default:return}}function Km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((a|0)<1|(b|0)<1){e=0;return e|0}f=mp((b<<2)+52|0)|0;c[f>>2]=a;g=f+4|0;c[g>>2]=b;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=a;c[f+40>>2]=b;h=f+8|0;c[h>>2]=d;c[f+20>>2]=0;i=B(d>>3,a)|0;a=mp(B(i,b)|0)|0;d=f+12|0;c[d>>2]=a;j=f+52|0;k=f+16|0;c[k>>2]=j;c[j>>2]=a;if((b|0)!=1){a=1;do{c[(c[k>>2]|0)+(a<<2)>>2]=(c[d>>2]|0)+(B(i,a)|0);a=a+1|0}while((a|0)!=(b|0))}if(2779224!=(f|0)?(c[g>>2]|0)>0:0){b=0;do{lp(c[(c[k>>2]|0)+(b<<2)>>2]|0,0,B(c[h>>2]>>3,c[f>>2]|0)|0);b=b+1|0}while((b|0)<(c[g>>2]|0))}c[515541]=(c[515541]|0)+1;e=f;return e|0}function Lm(a){a=a|0;var b=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)op(b);op(a);c[515541]=(c[515541]|0)+-1;return 0}function Mm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((c[b+28>>2]|0)>(d|0))return;if((c[b+36>>2]|0)>(e|0))return;if((c[b+32>>2]|0)<=(d|0))return;if((c[b+40>>2]|0)<=(e|0))return;switch(c[b+8>>2]|0){case 8:{a[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+d>>0]=f;return}case 32:{c[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(d<<2)>>2]=f;return}default:return}}function Nm(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;j=c[d>>2]|0;k=c[a>>2]|0;if((((j|0)<=(k|0)?(l=c[e>>2]|0,m=a+4|0,(l|0)<(c[m>>2]|0)):0)?(n=b+32|0,(c[f>>2]|0)<(c[n>>2]|0)):0)?(o=b+40|0,(c[g>>2]|0)<(c[o>>2]|0)):0){if((j|0)>=(k|0))return;if((j|0)<0){c[h>>2]=(c[h>>2]|0)+j;c[f>>2]=(c[f>>2]|0)-(c[d>>2]|0);c[d>>2]=0;p=c[e>>2]|0;q=0}else{p=l;q=j}if((p|0)<0){c[i>>2]=(c[i>>2]|0)+p;c[g>>2]=(c[g>>2]|0)-(c[e>>2]|0);c[e>>2]=0;r=c[d>>2]|0;s=0}else{r=q;s=p}p=c[a>>2]|0;if(((c[h>>2]|0)+r|0)>(p|0)){c[h>>2]=p-r;t=c[e>>2]|0}else t=s;s=c[m>>2]|0;if(((c[i>>2]|0)+t|0)>(s|0))c[i>>2]=s-t;t=c[f>>2]|0;s=b+28|0;m=c[s>>2]|0;if((t|0)<(m|0)){r=t-m|0;c[f>>2]=r;c[h>>2]=(c[h>>2]|0)+r;c[d>>2]=(c[d>>2]|0)-(c[f>>2]|0);d=c[s>>2]|0;c[f>>2]=d;u=d}else u=t;t=c[g>>2]|0;d=b+36|0;b=c[d>>2]|0;if((t|0)<(b|0)){s=t-b|0;c[g>>2]=s;c[i>>2]=(c[i>>2]|0)+s;c[e>>2]=(c[e>>2]|0)-(c[g>>2]|0);e=c[d>>2]|0;c[g>>2]=e;v=c[f>>2]|0;w=e}else{v=u;w=t}t=c[n>>2]|0;if(((c[h>>2]|0)+v|0)>(t|0)){c[h>>2]=t-v;x=c[g>>2]|0}else x=w;w=c[o>>2]|0;if(((c[i>>2]|0)+x|0)<=(w|0))return;c[i>>2]=w-x;return}c[i>>2]=0;return}function Om(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=(b|0)==0;a:do if((!(i|2779224==(b|0))?(j=(g|0)<(e|0),k=j?e:g,l=j?g:e,(c[b+28>>2]|0)<=(d|0)):0)?(c[b+32>>2]|0)>(d|0):0){j=c[b+36>>2]|0;m=(l|0)<(j|0)?j:l;l=c[b+40>>2]|0;j=(k|0)<(l|0)?k:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(j|0))break a;l=h&255;k=b+16|0;n=m;while(1){a[(c[(c[k>>2]|0)+(n<<2)>>2]|0)+d>>0]=l;if((n|0)<(j|0))n=n+1|0;else break}break}case 32:{if((m|0)>(j|0))break a;n=c[b+16>>2]|0;l=m;while(1){c[(c[n+(l<<2)>>2]|0)+(d<<2)>>2]=h;if((l|0)<(j|0))l=l+1|0;else break}break}default:break a}}while(0);b:do if((!(i|2779224==(b|0))?(l=(g|0)<(e|0),j=l?e:g,n=l?g:e,(c[b+28>>2]|0)<=(f|0)):0)?(c[b+32>>2]|0)>(f|0):0){l=c[b+36>>2]|0;m=(n|0)<(l|0)?l:n;n=c[b+40>>2]|0;l=(j|0)<(n|0)?j:n+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(l|0))break b;n=h&255;j=b+16|0;k=m;while(1){a[(c[(c[j>>2]|0)+(k<<2)>>2]|0)+f>>0]=n;if((k|0)<(l|0))k=k+1|0;else break}break}case 32:{if((m|0)>(l|0))break b;k=c[b+16>>2]|0;n=m;while(1){c[(c[k+(n<<2)>>2]|0)+(f<<2)>>2]=h;if((n|0)<(l|0))n=n+1|0;else break}break}default:break b}}while(0);c:do if((!(i|2779224==(b|0))?(n=(f|0)<(d|0),l=n?d:f,k=n?f:d,(c[b+36>>2]|0)<=(e|0)):0)?(c[b+40>>2]|0)>(e|0):0){n=c[b+28>>2]|0;m=(k|0)<(n|0)?n:k;k=c[b+32>>2]|0;n=(l|0)<(k|0)?l:k+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(n|0))break c;k=h&255;l=b+16|0;j=m;while(1){a[(c[(c[l>>2]|0)+(e<<2)>>2]|0)+j>>0]=k;if((j|0)<(n|0))j=j+1|0;else break}break}case 32:{j=1-m+n|0;if((j|0)<=0)break c;k=(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(m<<2)|0;l=j;while(1){c[k>>2]=h;if((l|0)>1){k=k+4|0;l=l+-1|0}else break}break}default:break c}}while(0);if(i|2779224==(b|0))return;i=(f|0)<(d|0);e=i?d:f;l=i?f:d;if((c[b+36>>2]|0)>(g|0))return;if((c[b+40>>2]|0)<=(g|0))return;d=c[b+28>>2]|0;f=(l|0)<(d|0)?d:l;l=c[b+32>>2]|0;d=(e|0)<(l|0)?e:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((f|0)>(d|0))return;l=h&255;e=b+16|0;i=f;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+i>>0]=l;if((i|0)<(d|0))i=i+1|0;else break}return}case 32:{i=1-f+d|0;if((i|0)<=0)return;d=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+(f<<2)|0;f=i;while(1){c[d>>2]=h;if((f|0)>1){d=d+4|0;f=f+-1|0}else break}return}default:return}}function Pm(a){a=a|0;c[a+36>>2]=0;c[a+28>>2]=0;c[a+32>>2]=c[a>>2];c[a+40>>2]=c[a+4>>2];return}function Qm(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;if((b|0)==0|(d|0)==0|(g|0)==0|(h|0)==0)return;j=c[b>>2]|0;if((j|0)==(g|0)?(c[b+4>>2]|0)==(h|0):0)if(!(i&1)){vo(b,d,0,0,e,f,g,h);return}else{Jm(b,d,0,0,e,f,g,h);return}k=c[d+8>>2]|0;if((k|0)!=(c[b+8>>2]|0))return;l=(j<<16|0)/(g|0)|0;m=c[b+4>>2]|0;n=(m<<16|0)/(h|0)|0;o=c[d+36>>2]|0;p=(o|0)>(f|0);q=o-f|0;r=B(q,n)|0;s=h-(p?q:0)|0;q=p?o:f;f=(l|0)/2|0;o=(l|0)<0?f+j|0:((n|0)<0?m:0)+((n|0)/2|0)+(p?r:0)|0;r=c[d+28>>2]|0;p=(r|0)>(e|0);m=r-e|0;j=B(m,l)|0;h=(p?j:0)+f|0;f=g-(p?m:0)|0;m=p?r:e;e=(c[d+32>>2]|0)-m|0;r=(f|0)<(e|0)?f:e;e=(c[d+40>>2]|0)-q|0;f=(s|0)<(e|0)?s:e;switch(k|0){case 32:{k=f+q|0;if((f|0)<=0)return;e=c[b+16>>2]|0;s=c[d+16>>2]|0;p=(r|0)>0;if(!(i&1)){g=q;j=o;while(1){t=c[e+(j>>16<<2)>>2]|0;if(p){u=(c[s+(g<<2)>>2]|0)+(m<<2)|0;v=0;w=h;while(1){c[u>>2]=c[t+(w>>16<<2)>>2];v=v+1|0;if((v|0)>=(r|0))break;else{u=u+4|0;w=w+l|0}}}g=g+1|0;if((g|0)>=(k|0))break;else j=j+n|0}return}j=q;g=o;while(1){w=c[e+(g>>16<<2)>>2]|0;a:do if(p){u=(c[s+(j<<2)>>2]|0)+(m<<2)|0;v=0;t=h;while(1){x=c[w+(t>>16<<2)>>2]|0;y=c[u>>2]|0;z=x>>>24;switch((z&255)<<24>>24){case 0:{A=y&16777215;break}case -1:{A=x&16777215;break}default:{C=z^255;A=((((B(y>>>16&255,C)|0)+(B(x>>>16&255,z)|0)|0)>>>0)/255|0)<<16|((((B(y&255,C)|0)+(B(x&255,z)|0)|0)>>>0)/255|0)|((((B(y>>>8&255,C)|0)+(B(x>>>8&255,z)|0)|0)>>>0)/255|0)<<8}}c[u>>2]=A|y&-16777216;v=v+1|0;if((v|0)>=(r|0))break a;else{u=u+4|0;t=t+l|0}}}while(0);j=j+1|0;if((j|0)>=(k|0))break;else g=g+n|0}return}case 8:{g=f+q|0;if((f|0)<=0)return;f=b+16|0;b=d+16|0;d=(r|0)>0;if(!(i&1)){i=q;k=o;while(1){j=c[(c[f>>2]|0)+(k>>16<<2)>>2]|0;if(d){A=(c[(c[b>>2]|0)+(i<<2)>>2]|0)+m|0;s=h;p=0;while(1){a[A>>0]=a[j+(s>>16)>>0]|0;p=p+1|0;if((p|0)>=(r|0))break;else{A=A+1|0;s=s+l|0}}}i=i+1|0;if((i|0)>=(g|0))break;else k=k+n|0}return}if(!d)return;d=q;q=o;while(1){o=c[(c[f>>2]|0)+(q>>16<<2)>>2]|0;k=(c[(c[b>>2]|0)+(d<<2)>>2]|0)+m|0;i=h;s=0;while(1){A=a[o+(i>>16)>>0]|0;if(A<<24>>24)a[k>>0]=A;s=s+1|0;if((s|0)>=(r|0))break;else{k=k+1|0;i=i+l|0}}d=d+1|0;if((d|0)>=(g|0))break;else q=q+n|0}return}default:return}}function Rm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;switch(c|0){case 0:{d=a&16777215;return d|0}case 255:{d=b&16777215;return d|0}default:{e=255-c|0;d=((B(b&255,c)|0)+(B(a&255,e)|0)|0)/255|0|((((B(b>>>8&255,c)|0)+(B(a>>>8&255,e)|0)|0)/255|0)<<8|(((B(b>>>16&255,c)|0)+(B(a>>>16&255,e)|0)|0)/255|0)<<16);return d|0}}return 0}function Sm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;if(!a){f=0;return f|0}if((c[a+28>>2]|0)>(b|0)){f=0;return f|0}if((c[a+36>>2]|0)>(e|0)){f=0;return f|0}if((c[a+32>>2]|0)<=(b|0)){f=0;return f|0}if((c[a+40>>2]|0)<=(e|0)){f=0;return f|0}switch(c[a+8>>2]|0){case 8:{f=d[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+b>>0]|0;return f|0}case 32:{f=c[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+(b<<2)>>2]|0;return f|0}default:{f=0;return f|0}}return 0}function Tm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;a:do if((f|0)!=(d|0)){i=b+28|0;j=b+36|0;k=b+32|0;l=b+40|0;m=d;n=e;o=f;p=g;while(1){if((p|0)==(n|0)){q=14;break}r=c[i>>2]|0;s=(r|0)>(m|0)&1;t=c[j>>2]|0;u=(t|0)>(n|0)?s|2:s;s=c[k>>2]|0;v=(s|0)>(m|0)?u:u|4;u=c[l>>2]|0;w=(u|0)>(n|0)?v:v|8;v=(r|0)>(o|0)&1;x=(t|0)>(p|0)?v|2:v;v=(s|0)>(o|0)?x:x|4;x=(u|0)>(p|0)?v:v|8;if(!(w|x)){q=25;break}v=(w&1|0)!=0;if(!((x&1|0)==0|v^1)){q=51;break}y=(w&2|0)!=0;if(!((x&2|0)==0|y^1)){q=51;break}z=(w&4|0)!=0;if(!((x&4|0)==0|z^1)){q=51;break}A=(w&8|0)!=0;if(!((x&8|0)==0|A^1)){q=51;break}if(!v)if(z){z=s+-1|0;v=(m-z<<16|0)/(m-o|0)|0;x=65536-v|0;w=(B(x,m)|0)+(B(v,o)|0)>>16;C=(B(x,n)|0)+(B(v,p)|0)>>16;D=(w|0)<(s|0)?w:z;E=C}else{D=m;E=n}else{C=(r-m<<16|0)/(o-m|0)|0;z=65536-C|0;w=(B(z,m)|0)+(B(C,o)|0)>>16;s=(B(z,n)|0)+(B(C,p)|0)>>16;D=(w|0)<(r|0)?r:w;E=s}if(!y)if(A){if((E|0)==(p|0)){q=51;break}A=u+-1|0;y=(E-A<<16|0)/(E-p|0)|0;s=65536-y|0;w=(B(s,D)|0)+(B(y,o)|0)>>16;C=(B(s,E)|0)+(B(y,p)|0)>>16;F=w;G=(C|0)<(u|0)?C:A}else{F=D;G=E}else{if((E|0)==(p|0)){q=51;break}A=(t-E<<16|0)/(p-E|0)|0;C=65536-A|0;u=(B(C,D)|0)+(B(A,o)|0)>>16;w=(B(C,E)|0)+(B(A,p)|0)>>16;F=u;G=(w|0)<(t|0)?t:w}if((F|0)==(o|0)){H=o;I=p;J=G;break a}else{w=p;t=o;o=F;p=G;n=w;m=t}}if((q|0)==14){if((b|0)==0|2779224==(b|0))return;t=(o|0)<(m|0);w=t?m:o;u=t?o:m;if((c[j>>2]|0)>(p|0))return;if((c[l>>2]|0)<=(p|0))return;t=c[i>>2]|0;A=(u|0)<(t|0)?t:u;u=c[k>>2]|0;t=(w|0)<(u|0)?w:u+-1|0;switch(c[b+8>>2]|0){case 8:{if((A|0)>(t|0))return;u=h&255;w=b+16|0;C=A;while(1){a[(c[(c[w>>2]|0)+(p<<2)>>2]|0)+C>>0]=u;if((C|0)<(t|0))C=C+1|0;else break}return}case 32:{C=1-A+t|0;if((C|0)<=0)return;u=(c[(c[b+16>>2]|0)+(p<<2)>>2]|0)+(A<<2)|0;w=C;while(1){c[u>>2]=h;if((w|0)>1){u=u+4|0;w=w+-1|0}else break}return}default:return}}else if((q|0)==25){w=o-m|0;u=p-n|0;A=(w|0)<0?0-w|0:w;t=(u|0)<0?0-u|0:u;C=(A|0)>(t|0)?A:t;t=(C|0)==0?1:C;C=(w<<16|0)/(t|0)|0;w=(u<<16|0)/(t|0)|0;if((t|0)<=-1)return;u=b+8|0;A=h&255;y=b+16|0;s=n<<16|32768;z=m<<16|32768;v=t;t=r;while(1){x=z>>16;K=s>>16;b:do if((((t|0)<=(x|0)?(c[j>>2]|0)<=(K|0):0)?(c[k>>2]|0)>(x|0):0)?(c[l>>2]|0)>(K|0):0)switch(c[u>>2]|0){case 8:{a[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+x>>0]=A;break b;break}case 32:{c[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+(x<<2)>>2]=h;break b;break}default:break b}while(0);if((v|0)<=0)break;s=s+w|0;z=z+C|0;v=v+-1|0;t=c[i>>2]|0}return}else if((q|0)==51)return}else{H=f;I=e;J=g}while(0);if((b|0)==0|2779224==(b|0))return;g=(J|0)<(I|0);e=g?I:J;f=g?J:I;if((c[b+28>>2]|0)>(H|0))return;if((c[b+32>>2]|0)<=(H|0))return;I=c[b+36>>2]|0;J=(f|0)<(I|0)?I:f;f=c[b+40>>2]|0;I=(e|0)<(f|0)?e:f+-1|0;switch(c[b+8>>2]|0){case 8:{if((J|0)>(I|0))return;f=h&255;e=b+16|0;g=J;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+H>>0]=f;if((g|0)<(I|0))g=g+1|0;else break}return}case 32:{if((J|0)>(I|0))return;g=c[b+16>>2]|0;b=J;while(1){c[(c[g+(b<<2)>>2]|0)+(H<<2)>>2]=h;if((b|0)<(I|0))b=b+1|0;else break}return}default:return}}function Um(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;if((b|0)==0|(d|0)==0|2779224==(d|0))return;m=c[b>>2]|0;if((((m|0)>=(e|0)?(n=c[b+4>>2]|0,(n|0)>(f|0)):0)?(o=c[d+32>>2]|0,(o|0)>(g|0)):0)?(p=c[d+40>>2]|0,(p|0)>(h|0)):0)if((m|0)>(e|0)){q=(e|0)<0;r=q?0:e;s=q?e:0;q=g-s|0;t=s+i|0;s=(f|0)<0;u=s?0:f;v=s?f:0;s=h-v|0;w=v+j|0;v=c[d+28>>2]|0;x=(q|0)<(v|0);y=x?q-v|0:0;z=x?v:q;q=y+((t+r|0)>(m|0)?m-r|0:t)|0;t=c[d+36>>2]|0;v=(s|0)<(t|0);x=v?s-t|0:0;A=v?t:s;s=x+((w+u|0)>(n|0)?n-u|0:w)|0;B=A;C=z;D=u-x|0;E=r-y|0;F=(s+A|0)>(p|0)?p-A|0:s;G=(q+z|0)>(o|0)?o-z|0:q}else{B=h;C=g;D=f;E=e;F=j;G=i}else{B=h;C=g;D=f;E=e;F=0;G=i}i=(l&1|0)!=0;if(i){l=m-E|0;e=l-G|0;if((((e|0)<=(m|0)?(f=c[b+4>>2]|0,(D|0)<(f|0)):0)?(g=c[d+32>>2]|0,(C|0)<(g|0)):0)?(h=c[d+40>>2]|0,(B|0)<(h|0)):0)if((e|0)<(m|0)){j=(e|0)<0;q=j?0:e;z=C-(j?e:0)|0;o=(D|0)<0;s=o?0:D;A=o?D:0;o=B-A|0;p=F+A|0;A=c[d+28>>2]|0;y=(z|0)<(A|0);r=y?z-A|0:0;x=y?A:z;z=r+((E|0)<0?m-q|0:j?l:G)|0;l=c[d+36>>2]|0;j=(o|0)<(l|0);m=j?o-l|0:0;A=j?l:o;o=m+((p+s|0)>(f|0)?f-s|0:p)|0;H=(z+x|0)>(g|0)?g-x|0:z;I=A;J=x;K=s-m|0;L=q-r|0;M=(o+A|0)>(h|0)?h-A|0:o}else{H=G;I=B;J=C;K=D;L=e;M=F}else{H=G;I=B;J=C;K=D;L=e;M=0}}else{H=G;I=B;J=C;K=D;L=E;M=F}if((H|0)<0)return;F=(M|0)>0;if((c[d+8>>2]|0)==8){if(!F)return;E=b+16|0;D=d+16|0;C=H+-1|0;B=(H|0)==0;G=k&255;if(i){e=0;do{if(!B){o=(c[(c[D>>2]|0)+(e+I<<2)>>2]|0)+J+C|0;A=(c[(c[E>>2]|0)+(e+K<<2)>>2]|0)+L|0;h=H;while(1){if(a[A>>0]|0)a[o>>0]=G;h=h+-1|0;if(!h)break;else{o=o+-1|0;A=A+1|0}}}e=e+1|0}while((e|0)!=(M|0));return}if(B)return;B=0;do{e=(c[(c[D>>2]|0)+(B+I<<2)>>2]|0)+J|0;C=(c[(c[E>>2]|0)+(B+K<<2)>>2]|0)+L|0;A=H;while(1){if(a[C>>0]|0)a[e>>0]=G;A=A+-1|0;if(!A)break;else{e=e+1|0;C=C+1|0}}B=B+1|0}while((B|0)!=(M|0));return}else{if(!F)return;F=b+16|0;b=d+16|0;d=(H<<2)+-4|0;B=(H|0)==0;if(i){i=0;do{if(!B){G=(c[(c[b>>2]|0)+(i+I<<2)>>2]|0)+(J<<2)+(d<<2)|0;E=(c[(c[F>>2]|0)+(i+K<<2)>>2]|0)+L|0;D=H;while(1){if(a[E>>0]|0)c[G>>2]=k;D=D+-1|0;if(!D)break;else{G=G+-4|0;E=E+1|0}}}i=i+1|0}while((i|0)!=(M|0));return}if(B)return;B=c[F>>2]|0;F=c[b>>2]|0;b=0;do{i=(c[F+(b+I<<2)>>2]|0)+(J<<2)|0;d=(c[B+(b+K<<2)>>2]|0)+L|0;E=H;while(1){if(a[d>>0]|0)c[i>>2]=k;E=E+-1|0;if(!E)break;else{i=i+4|0;d=d+1|0}}b=b+1|0}while((b|0)!=(M|0));return}}function Vm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;g=c[b>>2]|0;if((g|0)!=(c[e>>2]|0))return;h=b+4|0;i=c[h>>2]|0;if((i|0)!=(c[e+4>>2]|0))return;j=b+8|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;if((k|0)==(m|0)){vo(b,e,0,0,0,0,g,i);return}if((k|0)==8&(m|0)==32){if((i|0)<=0)return;m=b+16|0;n=e+16|0;o=0;p=i;q=g;while(1){if((q|0)>0){r=c[(c[m>>2]|0)+(o<<2)>>2]|0;s=c[(c[n>>2]|0)+(o<<2)>>2]|0;t=0;do{u=a[r+t>>0]|0;v=u&255;c[s+(t<<2)>>2]=(d[f+(v*3|0)>>0]|0)<<16|(u<<24>>24==0?0:-16777216)|(d[f+(v*3|0)+1>>0]|0)<<8|(d[f+(v*3|0)+2>>0]|0);t=t+1|0;w=c[b>>2]|0}while((t|0)<(w|0));x=w;y=c[h>>2]|0}else{x=q;y=p}o=o+1|0;if((o|0)>=(y|0))break;else{p=y;q=x}}z=x;A=c[j>>2]|0;C=y}else{z=g;A=k;C=i}if((A|0)!=32)return;if(!((c[l>>2]|0)==8&(C|0)>0))return;C=b+28|0;A=b+36|0;i=b+32|0;k=e+28|0;g=b+40|0;y=e+36|0;x=e+32|0;q=b+16|0;p=e+40|0;o=e+16|0;e=0;w=z;while(1){if((w|0)>0){z=0;while(1){a:do if((((c[C>>2]|0)<=(z|0)?(c[A>>2]|0)<=(e|0):0)?(c[i>>2]|0)>(z|0):0)?(c[g>>2]|0)>(e|0):0)switch(c[j>>2]|0){case 8:{D=d[(c[(c[q>>2]|0)+(e<<2)>>2]|0)+z>>0]|0;break a;break}case 32:{D=c[(c[(c[q>>2]|0)+(e<<2)>>2]|0)+(z<<2)>>2]|0;break a;break}default:{D=0;break a}}else D=0;while(0);n=D>>>16&255;m=D>>>8&255;t=D&255;s=-1;r=0;v=65536;while(1){u=n-(d[f+(r*3|0)>>0]|0)|0;E=B(u,u)|0;u=m-(d[f+(r*3|0)+1>>0]|0)|0;F=(B(u,u)|0)+E|0;E=t-(d[f+(r*3|0)+2>>0]|0)|0;u=F+(B(E,E)|0)|0;E=u>>>0<27;F=(s|0)==-1|(u|0)<(v|0);s=E|F?r:s;r=E?257:r+1|0;if((r|0)>=256)break;else v=E?v:F?u:v}b:do if((((c[k>>2]|0)<=(z|0)?(c[y>>2]|0)<=(e|0):0)?(c[x>>2]|0)>(z|0):0)?(c[p>>2]|0)>(e|0):0)switch(c[l>>2]|0){case 8:{a[(c[(c[o>>2]|0)+(e<<2)>>2]|0)+z>>0]=s;break b;break}case 32:{c[(c[(c[o>>2]|0)+(e<<2)>>2]|0)+(z<<2)>>2]=s;break b;break}default:break b}while(0);z=z+1|0;s=c[b>>2]|0;if((z|0)>=(s|0)){G=s;break}}}else G=w;e=e+1|0;if((e|0)>=(c[h>>2]|0))break;else w=G}return}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+20|0;if((c[d>>2]|0)>=(b|0))return;e=b<<2;c[a>>2]=np(c[a>>2]|0,e)|0;f=a+4|0;c[f>>2]=np(c[f>>2]|0,e)|0;g=a+8|0;c[g>>2]=np(c[g>>2]|0,e)|0;h=a+12|0;i=np(c[h>>2]|0,e)|0;c[h>>2]=i;e=c[d>>2]|0;if((e|0)<(b|0)?(c[(c[f>>2]|0)+(e<<2)>>2]=0,c[(c[g>>2]|0)+(e<<2)>>2]=e,c[i+(e<<2)>>2]=e,c[(c[a>>2]|0)+(e<<2)>>2]=0,i=e+1|0,(i|0)!=(b|0)):0){e=i;do{i=c[h>>2]|0;c[(c[f>>2]|0)+(e<<2)>>2]=0;c[(c[g>>2]|0)+(e<<2)>>2]=e;c[i+(e<<2)>>2]=e;c[(c[a>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(b|0))}c[d>>2]=b;return}function Xm(b){b=b|0;var d=0;d=kp(64)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;Wm(d,b);a[d+32>>0]=0;c[515541]=(c[515541]|0)+1;return d|0}function Ym(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=kp(64)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;Wm(e,b);a[e+32>>0]=0;c[515541]=(c[515541]|0)+1;f=mp(B(d,b)|0)|0;c[c[e>>2]>>2]=f;if((b|0)<=1){g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}f=1;do{i=c[e>>2]|0;c[i+(f<<2)>>2]=(c[i>>2]|0)+(B(f,d)|0);f=f+1|0}while((f|0)!=(b|0));g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}function Zm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;a:do if((c[a+24>>2]|0)==0?(e=c[(c[d>>2]|0)+(b<<2)>>2]|0,(e|0)<=99):0)do switch(e|0){case 2:{op(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 3:{_m(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 4:{Lm(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 5:{Dm(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 6:{Zn(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 7:{ao(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 8:{no(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 9:{Mp(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 10:{Gm(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 12:{Gn(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 11:{Do(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 0:return;default:break a}while(0);while(0);e=(c[d>>2]|0)+(b<<2)|0;if(!(c[e>>2]|0))return;c[e>>2]=0;e=a+16|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;f=c[a+8>>2]|0;g=f+(d<<2)|0;d=c[g>>2]|0;c[g>>2]=b;g=c[a+12>>2]|0;a=g+(b<<2)|0;c[f+(c[a>>2]<<2)>>2]=d;c[g+(d<<2)>>2]=c[a>>2];c[a>>2]=c[e>>2];return}function _m(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;b=a+24|0;if(!(c[b>>2]|0)){d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+8|0;g=0;h=e;do{Zm(a,c[(c[f>>2]|0)+(h+-1<<2)>>2]|0);g=g+1|0;h=c[d>>2]|0}while((g|0)<(e|0)&(h|0)!=0)}h=a+20|0;if((c[h>>2]|0)>0){e=c[a+4>>2]|0;g=c[a+8>>2]|0;f=c[a+12>>2]|0;i=0;do{c[e+(i<<2)>>2]=0;c[g+(i<<2)>>2]=i;c[f+(i<<2)>>2]=i;i=i+1|0}while((i|0)<(c[h>>2]|0))}if(c[b>>2]|0)lp(c[c[a>>2]>>2]|0,0,B(c[d>>2]|0,c[a+28>>2]|0)|0);if(c[d>>2]|0)vm(59560)}else op(c[c[a>>2]>>2]|0);op(c[a>>2]|0);op(c[a+4>>2]|0);op(c[a+8>>2]|0);op(c[a+12>>2]|0);op(a);c[515541]=(c[515541]|0)+-1;return}function $m(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ga;Ga=Ga+16|0;f=e+8|0;g=e;if(!b){c[g>>2]=59596;as(1465904,60026,g)|0;vm(1465904)}if(!d){c[f>>2]=59619;as(1465904,60026,f)|0;vm(1465904)}f=(c[a+24>>2]|0)==0;g=a+16|0;h=c[g>>2]|0;i=h+1|0;c[g>>2]=i;j=c[a+20>>2]|0;k=(j|0)<=(h|0);if(f)if(k){Wm(a,j+8+((j|0)/2|0)|0);l=c[g>>2]|0}else l=i;else if(k){c[g>>2]=h;m=-1;n=a+4|0;o=c[a>>2]|0;p=o+(m<<2)|0;c[p>>2]=d;q=c[n>>2]|0;r=q+(m<<2)|0;c[r>>2]=b;Ga=e;return m|0}else l=i;i=c[(c[a+8>>2]|0)+(l+-1<<2)>>2]|0;l=a+4|0;c[(c[l>>2]|0)+(i<<2)>>2]=1;m=i;n=l;o=c[a>>2]|0;p=o+(m<<2)|0;c[p>>2]=d;q=c[n>>2]|0;r=q+(m<<2)|0;c[r>>2]=b;Ga=e;return m|0}function an(){var a=0;if(!2779224)return;a=c[516528]|0;if(a|0)Lm(a)|0;a=Km(33,33,32)|0;c[516528]=a;Fm(a);Hm(c[516528]|0,15,8,17,24,-1);Hm(c[516528]|0,8,15,24,17,-1);Hm(c[516528]|0,16,9,16,23,-6250336);Hm(c[516528]|0,9,16,23,16,-6250336);Hm(c[516528]|0,11,11,21,21,0);Hm(c[516528]|0,16,11,16,21,-1);Hm(c[516528]|0,11,16,21,16,-1);Hm(c[516528]|0,14,14,18,18,0);return}function bn(){an();c[516529]=c[516528];return}function cn(){return (c[516530]|0)!=0|0}function dn(){var a=0,b=0,d=0,e=0;a=c[516530]|0;if(!a){do{ym()|0;b=c[516530]|0}while(!(b|0));d=b}else d=a;a=c[368652]|0;b=d+-1|0;if((d|0)<=1){c[516530]=b;return a|0}d=0;do{e=d;d=d+1|0;c[1474608+(e<<2)>>2]=c[1474608+(d<<2)>>2]}while((d|0)!=(b|0));c[516530]=b;return a|0}function en(){var b=0,c=0,d=0;b=0;while(1){if((b|0)!=57&(a[1474736+b>>0]|0)!=0){c=b;d=4;break}b=b+1|0;if(b>>>0>=512){c=0;d=4;break}}if((d|0)==4)return c|0;return 0}function fn(b){b=b|0;var c=0,d=0;switch(b|0){case -6:{c=a[1474961]|0;if(c<<24>>24!=0&(a[1475473]|0)==0){d=c<<24>>24==3|(a[1475985]|0)==0?3:1;return d|0}c=a[1474965]|0;if(!(c<<24>>24!=0&(a[1475477]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1475989]|0)==0?3:1;return d|0}case -2:{c=a[1475238]|0;if(c<<24>>24!=0&(a[1475750]|0)==0){d=c<<24>>24==3|(a[1476262]|0)==0?3:1;return d|0}c=a[1475239]|0;if(!(c<<24>>24!=0&(a[1475751]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1476263]|0)==0?3:1;return d|0}case -3:{c=a[1475236]|0;if(c<<24>>24!=0&(a[1475748]|0)==0){d=c<<24>>24==3|(a[1476260]|0)==0?3:1;return d|0}c=a[1475237]|0;if(!(c<<24>>24!=0&(a[1475749]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1476261]|0)==0?3:1;return d|0}case -4:{c=a[1474962]|0;if(c<<24>>24!=0&(a[1475474]|0)==0){d=c<<24>>24==3|(a[1475986]|0)==0?3:1;return d|0}c=a[1474966]|0;if(!(c<<24>>24!=0&(a[1475478]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1475990]|0)==0?3:1;return d|0}case -5:{c=a[1474960]|0;if(c<<24>>24!=0&(a[1475472]|0)==0){d=c<<24>>24==3|(a[1475984]|0)==0?3:1;return d|0}c=a[1474964]|0;if(c<<24>>24!=0&(a[1475476]|0)==0){d=c<<24>>24==3|(a[1475988]|0)==0?3:1;return d|0}c=a[1475236]|0;if(c<<24>>24!=0&(a[1475748]|0)==0){d=c<<24>>24==3|(a[1476260]|0)==0?3:1;return d|0}c=a[1475237]|0;if(!(c<<24>>24!=0&(a[1475749]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1476261]|0)==0?3:1;return d|0}default:{c=a[1474736+b>>0]|0;if(!(c<<24>>24)){d=0;return d|0}if(!(a[1475248+b>>0]|0))return (c<<24>>24==3|(a[1475760+b>>0]|0)==0?3:1)|0;else{d=0;return d|0}}}return 0}function gn(){Eu(1474736,0,512)|0;Eu(1475760,0,512)|0;Eu(1475248,0,512)|0;return}function hn(){return}function jn(){c[516531]=Ym(1024,72)|0;return}function kn(){_m(c[516531]|0);return}function ln(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;a=Ga;Ga=Ga+16|0;b=a+8|0;d=a+4|0;e=a;f=c[516531]|0;if(!f){Ga=a;return}if(!(c[f+16>>2]|0)){Ga=a;return}Pq(b,d,e);f=(c[b>>2]|0)-(c[516532]|0)|0;g=B(f,f)|0;f=(c[d>>2]|0)-(c[516533]|0)|0;h=(B(f,f)|0)+g|0;Gp();g=c[516531]|0;f=c[g+16>>2]|0;i=(f|0)>0;a:do if(i){j=c[b>>2]|0;k=c[d>>2]|0;l=c[g>>2]|0;m=c[g+8>>2]|0;n=c[l+(c[m>>2]<<2)>>2]|0;o=c[n+4>>2]|0;if(((j|0)>=(o|0)?(j|0)<((c[n+12>>2]|0)+o|0):0)?(o=c[n+8>>2]|0,(k|0)>=(o|0)):0)p=(k|0)<((c[n+16>>2]|0)+o|0)?n:0;else p=0;if((f|0)>1){n=1;o=p;while(1){q=c[l+(c[m+(n<<2)>>2]<<2)>>2]|0;r=c[q+4>>2]|0;do if((((j|0)>=(r|0)?(j|0)<((c[q+12>>2]|0)+r|0):0)?(s=c[q+8>>2]|0,(k|0)>=(s|0)):0)?(k|0)<((c[q+16>>2]|0)+s|0):0){if(o|0?c[o+20>>2]&32|0:0){t=o;break}t=q}else t=o;while(0);n=n+1|0;if((n|0)>=(f|0))break;else o=t}if(i)u=t;else break}else u=p;o=u+20|0;n=u+28|0;k=u+28|0;j=u+28|0;m=u+28|0;l=u+24|0;q=u+24|0;r=h;s=f;v=g;while(1){w=s+-1|0;x=c[(c[v>>2]|0)+(c[(c[v+8>>2]|0)+(w<<2)>>2]<<2)>>2]|0;if((x|0)==(u|0)){y=c[e>>2]|0;z=c[o>>2]|0;A=z&2;if(!y){if(!A)Ra[c[n>>2]&0](u,c[b>>2]|0,c[d>>2]|0,0,3)}else if(!(c[516534]|A)){c[o>>2]=z|2;Ra[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,y,4);y=Iq()|0;if((y-(c[516535]|0)|0)<400?(y=(c[c[l>>2]>>2]|0)/64|0,(r|0)<(B(y,y)|0)):0)Ra[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,18);y=Iq()|0;if((y-(c[516536]|0)|0)<400?(y=(c[c[q>>2]>>2]|0)/64|0,(r|0)<(B(y,y)|0)):0){Ra[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,11);c[516535]=Iq()|0}c[516536]=Iq()|0;c[516532]=c[b>>2];c[516533]=c[d>>2]}y=c[o>>2]|0;if(!(y&1)){c[o>>2]=y|1;Ra[c[k>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,1)}y=c[515681]|0;z=c[515682]|0;if(z|y|0){Ra[c[m>>2]&0](u,y,z,c[e>>2]|0,16);c[515681]=0;c[515682]=0}}else{z=x+20|0;y=c[z>>2]|0;if(!(y&1))C=y;else{c[z>>2]=y&-2;Ra[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,2);C=c[z>>2]|0}c[z>>2]=C&-33}z=x+20|0;y=c[z>>2]|0;if((y&2|0)==0|(c[e>>2]|0)!=0)if((y&1|0)!=0&(c[515685]|0)!=0?(A=Iq()|0,(A|0)<((c[515686]|0)+500|0)):0){A=c[515685]|0;c[516534]=A;D=x+28|0;Ra[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,A,12);A=(c[b>>2]|0)-(c[516537]|0)|0;E=B(A,A)|0;A=(c[d>>2]|0)-(c[516538]|0)|0;F=(B(A,A)|0)+E|0;E=Iq()|0;if((E-(c[516539]|0)|0)<400&F>>>0<400)Ra[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[516534]|0,15);c[516539]=Iq()|0;c[516537]=c[b>>2];c[516538]=c[d>>2];G=F}else G=r;else{c[z>>2]=y&-3;y=x+28|0;Ra[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,6);F=Iq()|0;if((r|0)<400&(F-(c[516536]|0)|0)<400)Ra[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[516534]|0,12);F=(c[b>>2]|0)-(c[516537]|0)|0;D=B(F,F)|0;F=(c[d>>2]|0)-(c[516538]|0)|0;E=(B(F,F)|0)+D|0;D=Iq()|0;if((D-(c[516539]|0)|0)<400&E>>>0<400)Ra[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[516534]|0,15);c[516539]=Iq()|0;c[516537]=c[b>>2];c[516538]=c[d>>2];G=E}E=c[z>>2]|0;y=c[e>>2]|0;if((E&2|0)!=0&(y|0)!=0){Ra[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,y,5);H=c[z>>2]|0}else H=E;if(H&1|0?!((c[516540]|0)==0|(c[e>>2]|0)!=0):0)Ra[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,17);if((s|0)<=1)break a;r=G;s=w;v=c[516531]|0}}while(0);c[515685]=0;G=c[e>>2]|0;c[516534]=G;c[516540]=G;Hp();Ga=a;return}function mn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ga;Ga=Ga+16|0;e=d+8|0;f=d+4|0;g=d;if(!(c[516531]|0)){Ga=d;return}Pq(e,f,g);h=c[516531]|0;if((c[h+16>>2]|0)<=0){Ga=d;return}if(!b){i=0;j=h;do{k=c[(c[j>>2]|0)+(c[(c[j+8>>2]|0)+(i<<2)>>2]<<2)>>2]|0;Ra[c[k+28>>2]&0](k,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);i=i+1|0;j=c[516531]|0}while((i|0)<(c[j+16>>2]|0));Ga=d;return}j=0;i=h;while(1){h=c[(c[i>>2]|0)+(c[(c[i+8>>2]|0)+(j<<2)>>2]<<2)>>2]|0;if((c[h>>2]|0)==(b|0)){Ra[c[h+28>>2]&0](h,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);l=c[516531]|0}else l=i;j=j+1|0;if((j|0)>=(c[l+16>>2]|0))break;else i=l}Ga=d;return}function nn(a){a=a|0;var b=0,d=0;b=c[516531]|0;if((a|0)<0|(b|0)==0){d=0;return d|0}if((c[b+20>>2]|0)<=(a|0)){d=0;return d|0}d=c[(c[b>>2]|0)+(a<<2)>>2]|0;return d|0}function on(){var a=0,b=0,d=0,e=0,f=0;a=c[516531]|0;b=c[a+16>>2]|0;if((b|0)<=0){d=-1;return d|0}e=c[a>>2]|0;a=b;while(1){b=a;a=a+-1|0;if(c[(c[e+(a<<2)>>2]|0)+20>>2]&1|0){d=a;f=5;break}if((b|0)<=1){d=-1;f=5;break}}if((f|0)==5)return d|0;return 0}function pn(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[516541]=Xm(512)|0;c[516542]=Xm(512)|0;b=0;do{e=(b|0)==0;f=e?8:32;g=0;do{h=Km(5,5,f)|0;i=Km(6,5,f)|0;$m(c[516541]|0,4,h)|0;$m(c[516542]|0,4,i)|0;g=g+1|0}while((g|0)!=32);g=0;do{i=Km(5,5,f)|0;h=Km(6,5,f)|0;Fm(i);j=g*5|0;k=i+16|0;l=h+16|0;if(e){m=0;do{n=d[2480+(m+j)>>0]|0;if(n&16|0){a[c[(c[k>>2]|0)+(m<<2)>>2]>>0]=-1;a[c[(c[l>>2]|0)+(m<<2)>>2]>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1}if(n&8|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1}if(n&4|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1}if(n&2|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1}if(n&1|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+5>>0]=-1}m=m+1|0}while((m|0)!=5)}else{m=0;do{n=d[2480+(m+j)>>0]|0;if(n&16|0){c[c[(c[k>>2]|0)+(m<<2)>>2]>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o>>2]=-1;c[o+4>>2]=-1}if(n&8|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+4>>2]=-1;c[o+8>>2]=-1}if(n&4|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+8>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+8>>2]=-1;c[o+12>>2]=-1}if(n&2|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+12>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+12>>2]=-1;c[o+16>>2]=-1}if(n&1|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+16>>2]=-4144960;n=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[n+16>>2]=-1;c[n+20>>2]=-1}m=m+1|0}while((m|0)!=5)}$m(c[516541]|0,4,i)|0;$m(c[516542]|0,4,h)|0;g=g+1|0}while((g|0)!=96);g=0;do{e=Km(5,5,f)|0;m=Km(6,5,f)|0;$m(c[516541]|0,4,e)|0;$m(c[516542]|0,4,m)|0;g=g+1|0}while((g|0)!=128);b=b+1|0}while((b|0)!=2);return}function qn(){_m(c[516541]|0);_m(c[516542]|0);return}function rn(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;if((d|0)==0|(e|0)==0){j=g;return j|0}k=c[e+16>>2]|0;l=(k&255|0)==0;m=l?0:32;n=l?256:96;if(h&8){o=a[d>>0]|0;if(!(o<<24>>24)){p=0;q=1}else{r=0;s=d;t=o;while(1){o=t<<24>>24;if((m|0)>(o|0))u=r;else u=r+1+(c[c[(c[e>>2]|0)+(o-m<<2)>>2]>>2]|0)|0;s=s+1|0;t=a[s>>0]|0;if(!(t<<24>>24)){p=u;q=1;break}else r=u}}u=p-q|0;q=c[b+32>>2]|0;p=b+28|0;if((u|0)>(q-f|0)){c[p>>2]=(c[p>>2]|0)+15;v=1;w=q-u|0}else{v=0;w=f}}else{v=0;w=f}if(!(h&2))x=w;else{u=a[d>>0]|0;if(!(u<<24>>24)){y=0;z=1}else{q=0;p=d;r=u;while(1){u=r<<24>>24;if((m|0)>(u|0))A=q;else A=q+1+(c[c[(c[e>>2]|0)+(u-m<<2)>>2]>>2]|0)|0;p=p+1|0;r=a[p>>0]|0;if(!(r<<24>>24)){y=A;z=1;break}else q=A}}x=w-((y-z|0)/2|0)|0}if(!(h&4))B=x;else{z=a[d>>0]|0;if(!(z<<24>>24)){C=0;D=1}else{y=0;w=d;A=z;while(1){z=A<<24>>24;if((m|0)>(z|0))E=y;else E=y+1+(c[c[(c[e>>2]|0)+(z-m<<2)>>2]>>2]|0)|0;w=w+1|0;A=a[w>>0]|0;if(!(A<<24>>24)){C=E;D=1;break}else y=E}}B=D+x-C|0}a:do if(!(h&1)){C=c[e>>2]|0;x=c[b+8>>2]|0;D=0;E=h;while(1){if((c[(c[C+(D<<2)>>2]|0)+8>>2]|0)==(x|0)){F=D;G=E;H=0;break a}y=D+n|0;A=(y|0)<(k|0);w=E|(A^1)&1;z=A?y:D;if(!(w&1)){D=z;E=w}else{F=z;G=w;H=1;break}}}else{F=0;G=h;H=1}while(0);h=a[d>>0]|0;if(h<<24>>24){k=l?256:128;l=F-m|0;F=(G&16|0)==0;G=b+32|0;if(H){H=g;n=d;E=0;D=B;x=h;while(1){C=x&255;if(m>>>0<=C>>>0&k>>>0>C>>>0){w=c[(c[e>>2]|0)+(l+C<<2)>>2]|0;C=w+4|0;Um(w,b,0,0,D,H,c[w>>2]|0,c[C>>2]|0,i,0);z=1+(c[w>>2]|0)|0;w=c[C>>2]|0;I=z;J=(E|0)>(w|0)?E:w;K=z+D|0;L=a[n>>0]|0}else{I=0;J=E;K=D;L=x}if(L<<24>>24!=10)if(!F?(K|0)>((c[G>>2]|0)-I|0):0)M=37;else{N=H;O=J;P=K}else M=37;if((M|0)==37){M=0;N=J+H+1|0;O=0;P=f}n=n+1|0;x=a[n>>0]|0;if(!(x<<24>>24)){Q=N;break}else{H=N;E=O;D=P}}}else{P=g;D=d;d=0;O=B;B=h;while(1){h=B&255;if(m>>>0<=h>>>0&k>>>0>h>>>0){E=c[(c[e>>2]|0)+(l+h<<2)>>2]|0;h=E+4|0;Jm(E,b,0,0,O,P,c[E>>2]|0,c[h>>2]|0);N=1+(c[E>>2]|0)|0;E=c[h>>2]|0;R=N;S=(d|0)>(E|0)?d:E;T=N+O|0;U=a[D>>0]|0}else{R=0;S=d;T=O;U=B}if(U<<24>>24!=10)if(!F?(T|0)>((c[G>>2]|0)-R|0):0)M=44;else{V=P;W=S;X=T}else M=44;if((M|0)==44){M=0;V=S+P+1|0;W=0;X=f}D=D+1|0;B=a[D>>0]|0;if(!(B<<24>>24)){Q=V;break}else{P=V;d=W;O=X}}}}else Q=g;if(!v){j=Q;return j|0}else{j=b+28|0;v=(c[j>>2]|0)+-15|0;c[j>>2]=v;rn(b,60021,c[516541]|0,v,Q,0,0)|0;return Q|0}return 0}function sn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=(c[d+16>>2]&255|0)==0?0:32;f=a[b>>0]|0;if(!(f<<24>>24)){g=0;h=1;i=g-h|0;return i|0}j=0;k=b;b=f;while(1){f=b<<24>>24;if((e|0)>(f|0))l=j;else l=(c[c[(c[d>>2]|0)+(f-e<<2)>>2]>>2]|0)+j+1|0;k=k+1|0;b=a[k>>0]|0;if(!(b<<24>>24)){g=l;h=1;break}else j=l}i=g-h|0;return i|0}function tn(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;c[d>>2]=0;c[d>>2]=a;Ga=b;return}function un(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;c[d>>2]=0;c[d>>2]=a;Ga=b;return}function vn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;switch(c[e>>2]|0){case 0:{f=au(a,b,d,c[e+8>>2]|0)|0;return f|0}case 1:{g=B(d,b)|0;b=e+20|0;d=c[b>>2]|0;h=(c[e+16>>2]|0)-d|0;i=(g|0)<(h|0)?g:h;h=(i|0)>0?i:0;Du(a|0,(c[e+12>>2]|0)+d|0,h|0)|0;c[b>>2]=h+(c[b>>2]|0);f=h;return f|0}default:{f=0;return f|0}}return 0}function wn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;Rt(f,4,1,c[d+8>>2]|0)|0;Ga=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)qp(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Ga=e;return}default:{Ga=e;return}}}function xn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;switch(c[e>>2]|0){case 0:{f=e+20|0;c[f>>2]=(c[f>>2]|0)+d;f=e+16|0;c[f>>2]=(c[f>>2]|0)+d;g=Rt(a,b,d,c[e+8>>2]|0)|0;return g|0}case 1:{f=B(d,b)|0;do if(c[e+88>>2]|0){b=e+20|0;qp(e,(c[b>>2]|0)+f|0)|0;d=(c[e+12>>2]|0)+(c[b>>2]|0)|0;if(!a){lp(d,0,f);h=b;break}else{Du(d|0,a|0,f|0)|0;h=b;break}}else{b=e+20|0;Du((c[e+12>>2]|0)+(c[b>>2]|0)|0,a|0,f|0)|0;h=b}while(0);a=(c[h>>2]|0)+f|0;c[h>>2]=a;h=e+16|0;e=c[h>>2]|0;c[h>>2]=(e|0)>(a|0)?e:a;g=f;return g|0}default:{g=0;return g|0}}return 0}function yn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;Rt(f,4,1,c[d+8>>2]|0)|0;Ga=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)qp(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Ga=e;return}default:{Ga=e;return}}}function zn(b,d){b=b|0;d=d|0;var e=0;switch(c[d>>2]|0){case 0:{e=d+20|0;c[e>>2]=(c[e>>2]|0)+1;e=d+16|0;c[e>>2]=(c[e>>2]|0)+1;Wt(b<<24>>24,c[d+8>>2]|0)|0;return}case 1:{e=d+20|0;if(c[d+88>>2]|0)qp(d,(c[e>>2]|0)+1|0)|0;a[(c[d+12>>2]|0)+(c[e>>2]|0)>>0]=b;b=(c[e>>2]|0)+1|0;c[e>>2]=b;e=d+16|0;d=c[e>>2]|0;c[e>>2]=(d|0)>(b|0)?d:b;return}default:return}}function An(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;f=Ga;Ga=Ga+16|0;g=f;b[g>>1]=d;switch(c[e>>2]|0){case 0:{h=e+20|0;c[h>>2]=(c[h>>2]|0)+1;h=e+16|0;c[h>>2]=(c[h>>2]|0)+1;Rt(g,2,1,c[e+8>>2]|0)|0;Ga=f;return}case 1:{g=e+20|0;if(c[e+88>>2]|0)qp(e,(c[g>>2]|0)+2|0)|0;h=(c[e+12>>2]|0)+(c[g>>2]|0)|0;a[h>>0]=d;a[h+1>>0]=d>>8;d=(c[g>>2]|0)+2|0;c[g>>2]=d;g=e+16|0;e=c[g>>2]|0;c[g>>2]=(e|0)>(d|0)?e:d;Ga=f;return}default:{Ga=f;return}}}function Bn(d,e){d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0;d=Ga;Ga=Ga+16|0;g=d;if(!e){h=0;Ga=d;return h|0}i=Xm(0)|0;a:do if(i|0){switch(c[e>>2]|0){case 0:{j=zt(c[e+8>>2]|0)|0;k=6;break}case 1:{j=(c[e+20>>2]|0)>=(c[e+16>>2]|0)&1;k=6;break}default:k=7}if((k|0)==6?(j|0)==0:0)k=7;b:do if((k|0)==7){l=e+8|0;m=e+16|0;n=e+20|0;o=e+12|0;p=i+32|0;q=0;c:while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{au(g,4,1,c[l>>2]|0)|0;break}case 1:{r=c[n>>2]|0;s=(c[m>>2]|0)-r|0;t=(s|0)<4?s:4;s=(t|0)>0?t:0;Du(g|0,(c[o>>2]|0)+r|0,s|0)|0;c[n>>2]=s+r;break}default:{k=9;break c}}r=c[g>>2]|0;if(!r)break b;c[g>>2]=0;switch(c[e>>2]|0){case 0:{au(g,4,1,c[l>>2]|0)|0;break}case 1:{s=c[n>>2]|0;t=(c[m>>2]|0)-s|0;u=(t|0)<4?t:4;t=(u|0)>0?u:0;Du(g|0,(c[o>>2]|0)+s|0,t|0)|0;c[n>>2]=t+s;break}default:{}}s=c[g>>2]|0;t=(q|0)==0;if(t&(r|0)!=1146048579)break a;d:do if(t)if((r|0)==1146048579){c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{au(g,4,1,c[l>>2]|0)|0;v=c[e>>2]|0;k=26;break}case 1:{w=c[n>>2]|0;x=(c[m>>2]|0)-w|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Du(g|0,(c[o>>2]|0)+w|0,x|0)|0;c[n>>2]=x+w;k=28;break}default:{v=u;k=26}}e:do if((k|0)==26){k=0;switch(v|0){case 1:{k=28;break e;break}case 0:break;default:break e}au(p,1,32,c[l>>2]|0)|0}while(0);if((k|0)==28){k=0;u=c[n>>2]|0;w=(c[m>>2]|0)-u|0;x=(w|0)<32?w:32;w=(x|0)>0?x:0;Du(p|0,(c[o>>2]|0)+u|0,w|0)|0;c[n>>2]=w+(c[n>>2]|0)}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{au(g,4,1,c[l>>2]|0)|0;z=c[e>>2]|0;k=32;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Du(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;break}default:{z=w;k=32}}f:do if((k|0)==32){k=0;switch(z|0){case 1:{break f;break}case 0:break;default:{k=396;break d}}Ht(c[l>>2]|0,28,1)|0;k=396;break d}while(0);c[n>>2]=(c[n>>2]|0)+28;k=396}else k=35;else if((r|0)<1347374659)switch(r|0){case 1146048579:{break c;break}default:{k=35;break d}}else switch(r|0){case 1347374659:{break c;break}default:{k=35;break d}}while(0);g:do if((k|0)==35){k=0;t=r|32;h:do if((t|0)<1347245667){switch(t|0){case 1347240547:break;default:break h}w=(r|0)==1347240547;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{au(g,4,1,c[l>>2]|0)|0;A=c[e>>2]|0;k=39;break}case 1:{x=c[n>>2]|0;y=(c[m>>2]|0)-x|0;C=(y|0)<4?y:4;y=(C|0)>0?C:0;Du(g|0,(c[o>>2]|0)+x|0,y|0)|0;c[n>>2]=y+x;A=1;k=39;break}default:{D=0;E=u}}if((k|0)==39){k=0;D=c[g>>2]|0;E=A}c[g>>2]=0;switch(E|0){case 0:{au(g,4,1,c[l>>2]|0)|0;F=c[e>>2]|0;k=43;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Du(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=c[g>>2]|0;c[g>>2]=0;G=u;k=45;break}default:{F=E;k=43}}i:do if((k|0)==43){k=0;u=c[g>>2]|0;c[g>>2]=0;switch(F|0){case 1:{G=u;k=45;break i;break}case 0:break;default:{H=u;break i}}au(g,4,1,c[l>>2]|0)|0;H=u}while(0);if((k|0)==45){k=0;u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;Du(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;H=G}u=c[g>>2]|0;x=Km(D,H,u)|0;c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{au(g,4,1,c[l>>2]|0)|0;I=c[e>>2]|0;k=49;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Du(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;c[x+20>>2]=c[g>>2];c[g>>2]=0;k=51;break}default:{I=y;k=49}}j:do if((k|0)==49){k=0;c[x+20>>2]=c[g>>2];c[g>>2]=0;switch(I|0){case 1:{k=51;break j;break}case 0:break;default:break j}au(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==51){k=0;y=c[n>>2]|0;C=(c[m>>2]|0)-y|0;J=(C|0)<4?C:4;C=(J|0)>0?J:0;Du(g|0,(c[o>>2]|0)+y|0,C|0)|0;c[n>>2]=C+y}y=c[x+12>>2]|0;C=B(B(H,D)|0,u>>3)|0;k:do if(w)Cn(y,C,e)|0;else switch(c[e>>2]|0){case 0:{au(y,1,C,c[l>>2]|0)|0;break k;break}case 1:{J=c[n>>2]|0;K=(c[m>>2]|0)-J|0;L=(C|0)<(K|0)?C:K;K=(L|0)>0?L:0;Du(y|0,(c[o>>2]|0)+J|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break k;break}default:break k}while(0);$m(i,4,x)|0;k=396;break g}else{switch(t|0){case 1347245667:break;default:break h}y=(r|0)==1347245667;c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{au(g,4,1,c[l>>2]|0)|0;M=c[e>>2]|0;k=61;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;Du(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;M=1;k=61;break}default:{N=C;O=0}}if((k|0)==61){k=0;N=M;O=c[g>>2]|0}c[g>>2]=0;switch(N|0){case 0:{au(g,4,1,c[l>>2]|0)|0;P=c[e>>2]|0;k=65;break}case 1:{C=c[n>>2]|0;w=(c[m>>2]|0)-C|0;u=(w|0)<4?w:4;w=(u|0)>0?u:0;Du(g|0,(c[o>>2]|0)+C|0,w|0)|0;c[n>>2]=w+C;C=c[g>>2]|0;c[g>>2]=0;Q=C;k=67;break}default:{P=N;k=65}}l:do if((k|0)==65){k=0;C=c[g>>2]|0;c[g>>2]=0;switch(P|0){case 1:{Q=C;k=67;break l;break}case 0:break;default:{R=C;break l}}au(g,4,1,c[l>>2]|0)|0;R=C}while(0);if((k|0)==67){k=0;x=c[n>>2]|0;C=(c[m>>2]|0)-x|0;w=(C|0)<4?C:4;C=(w|0)>0?w:0;Du(g|0,(c[o>>2]|0)+x|0,C|0)|0;c[n>>2]=C+x;R=Q}x=c[g>>2]|0;C=Em(O,R,x)|0;c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{au(g,4,1,c[l>>2]|0)|0;S=c[e>>2]|0;k=71;break}case 1:{u=c[n>>2]|0;K=(c[m>>2]|0)-u|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Du(g|0,(c[o>>2]|0)+u|0,K|0)|0;c[n>>2]=K+u;c[C+20>>2]=c[g>>2];c[g>>2]=0;k=73;break}default:{S=w;k=71}}m:do if((k|0)==71){k=0;c[C+20>>2]=c[g>>2];c[g>>2]=0;switch(S|0){case 1:{k=73;break m;break}case 0:break;default:break m}au(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==73){k=0;w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;Du(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w}w=c[C+12>>2]|0;u=B(B(R,O)|0,x)|0;n:do if(y)Cn(w,u,e)|0;else switch(c[e>>2]|0){case 0:{au(w,1,u,c[l>>2]|0)|0;break n;break}case 1:{K=c[n>>2]|0;J=(c[m>>2]|0)-K|0;L=(u|0)<(J|0)?u:J;J=(L|0)>0?L:0;Du(w|0,(c[o>>2]|0)+K|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break n;break}default:break n}while(0);$m(i,10,C)|0;k=396;break g}while(0);o:do if((r|0)<1279348803){if((r|0)<1146047811){switch(r|0){case 1145983811:break;default:break o}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{au(g,4,1,c[l>>2]|0)|0;T=c[e>>2]|0;k=299;break}case 1:{u=c[n>>2]|0;y=(c[m>>2]|0)-u|0;x=(y|0)<4?y:4;y=(x|0)>0?x:0;Du(g|0,(c[o>>2]|0)+u|0,y|0)|0;c[n>>2]=y+u;T=1;k=299;break}default:{U=w;V=0}}if((k|0)==299){k=0;U=T;V=c[g>>2]|0}c[g>>2]=0;switch(U|0){case 0:{au(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;y=(u|0)<4?u:4;u=(y|0)>0?y:0;Du(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;break}default:{}}w=Lp(V,c[g>>2]|0)|0;if(!w){u=s+-8|0;y=c[e>>2]|0;switch(y|0){case 0:{Ht(c[l>>2]|0,u,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+u;k=396;break g;break}default:{W=y;break g}}}c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{au(g,4,1,c[l>>2]|0)|0;X=c[e>>2]|0;k=307;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(x|0)<4?x:4;x=(J|0)>0?J:0;Du(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=w+8|0;c[u>>2]=c[g>>2];c[g>>2]=0;Y=u;k=309;break}default:{X=y;k=307}}p:do if((k|0)==307){k=0;y=w+8|0;c[y>>2]=c[g>>2];c[g>>2]=0;switch(X|0){case 1:{Y=y;k=309;break p;break}case 0:{au(g,4,1,c[l>>2]|0)|0;Z=c[e>>2]|0;break}default:Z=X}c[w+12>>2]=c[g>>2];c[g>>2]=0;switch(Z|0){case 1:{_=y;k=312;break p;break}case 0:{au(g,4,1,c[l>>2]|0)|0;$=c[e>>2]|0;break}default:$=Z}c[g>>2]=0;switch($|0){case 1:{aa=y;k=315;break p;break}case 0:break;default:{ba=y;break p}}au(g,4,1,c[l>>2]|0)|0;ba=y}while(0);if((k|0)==309){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Du(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[w+12>>2]=c[g>>2];c[g>>2]=0;_=Y;k=312}if((k|0)==312){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Du(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[g>>2]=0;aa=_;k=315}if((k|0)==315){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;Du(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;ba=aa}C=Yp(w)|0;y=(B(c[w+4>>2]|0,c[w>>2]|0)|0)/8|0;switch(c[e>>2]|0){case 0:{au(C,y,1,c[l>>2]|0)|0;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(y|0)<(x|0)?y:x;x=(J|0)>0?J:0;Du(C|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+(c[n>>2]|0);break}default:{}}_p(w,c[ba>>2]|0);$m(i,9,w)|0;k=396;break g}if((r|0)<1229865283){switch(r|0){case 1146047811:break;default:break o}x=Yn()|0;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{au(g,4,1,c[l>>2]|0)|0;ca=c[e>>2]|0;k=88;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Du(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;C=x+4|0;c[C>>2]=c[g>>2];c[g>>2]=0;da=C;k=90;break}default:{ca=u;k=88}}q:do if((k|0)==88){k=0;u=x+4|0;c[u>>2]=c[g>>2];c[g>>2]=0;switch(ca|0){case 1:{da=u;k=90;break q;break}case 0:{au(g,4,1,c[l>>2]|0)|0;ea=c[e>>2]|0;break}default:ea=ca}C=x+16|0;c[C>>2]=c[g>>2];c[g>>2]=0;switch(ea|0){case 1:{fa=C;ga=u;k=93;break q;break}case 0:break;default:{ha=u;ia=C;break q}}au(g,4,1,c[l>>2]|0)|0;ha=u;ia=C}while(0);if((k|0)==90){k=0;w=c[n>>2]|0;C=(c[m>>2]|0)-w|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;Du(g|0,(c[o>>2]|0)+w|0,C|0)|0;c[n>>2]=C+w;w=x+16|0;c[w>>2]=c[g>>2];c[g>>2]=0;fa=w;ga=da;k=93}if((k|0)==93){k=0;w=c[n>>2]|0;C=(c[m>>2]|0)-w|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;Du(g|0,(c[o>>2]|0)+w|0,C|0)|0;c[n>>2]=C+w;ha=ga;ia=fa}w=x+24|0;c[w>>2]=c[g>>2];Vn(x,c[ha>>2]|0);Wn(x,c[ia>>2]|0);r:do if((c[ha>>2]|0)>0){C=0;while(1){f[g>>2]=0.0;u=c[e>>2]|0;switch(u|0){case 0:{au(g,4,1,c[l>>2]|0)|0;ja=c[e>>2]|0;k=99;break}case 1:{J=c[n>>2]|0;y=(c[m>>2]|0)-J|0;K=(y|0)<4?y:4;y=(K|0)>0?K:0;Du(g|0,(c[o>>2]|0)+J|0,y|0)|0;c[n>>2]=y+J;J=c[x>>2]|0;c[J+(C*12|0)>>2]=c[g>>2];f[g>>2]=0.0;ka=J;k=405;break}default:{ja=u;k=99}}s:do if((k|0)==99){k=0;u=c[x>>2]|0;c[u+(C*12|0)>>2]=c[g>>2];f[g>>2]=0.0;switch(ja|0){case 1:{ka=u;k=405;break s;break}case 0:{au(g,4,1,c[l>>2]|0)|0;la=c[x>>2]|0;ma=c[e>>2]|0;break}default:{la=u;ma=ja}}c[la+(C*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;switch(ma|0){case 1:{na=la;k=408;break s;break}case 0:break;default:{oa=la;break s}}au(g,4,1,c[l>>2]|0)|0;oa=c[x>>2]|0}while(0);if((k|0)==405){k=0;u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Du(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;c[ka+(C*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;na=ka;k=408}if((k|0)==408){k=0;u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;Du(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;oa=na}c[oa+(C*12|0)+8>>2]=c[g>>2];C=C+1|0;if((C|0)>=(c[ha>>2]|0))break r}}while(0);t:do if((c[ia>>2]|0)>0){C=x+12|0;u=0;while(1){J=c[C>>2]|0;y=J+(u*80|0)|0;b[g>>1]=0;switch(c[e>>2]|0){case 0:{au(g,2,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;L=(c[m>>2]|0)-K|0;pa=(L|0)<2?L:2;L=(pa|0)>0?pa:0;Du(g|0,(c[o>>2]|0)+K|0,L|0)|0;c[n>>2]=L+K;break}default:{}}K=b[g>>1]|0;L=J+(u*80|0)+56|0;b[L>>1]=K;Xn(y,K<<16>>16);b[g>>1]=0;K=c[e>>2]|0;switch(K|0){case 0:{au(g,2,1,c[l>>2]|0)|0;qa=c[e>>2]|0;k=108;break}case 1:{y=c[n>>2]|0;pa=(c[m>>2]|0)-y|0;ra=(pa|0)<2?pa:2;pa=(ra|0)>0?ra:0;Du(g|0,(c[o>>2]|0)+y|0,pa|0)|0;c[n>>2]=pa+y;b[J+(u*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;k=110;break}default:{qa=K;k=108}}u:do if((k|0)==108){k=0;b[J+(u*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;switch(qa|0){case 1:{k=110;break u;break}case 0:break;default:break u}au(g,2,1,c[l>>2]|0)|0}while(0);if((k|0)==110){k=0;K=c[n>>2]|0;y=(c[m>>2]|0)-K|0;pa=(y|0)<2?y:2;y=(pa|0)>0?pa:0;Du(g|0,(c[o>>2]|0)+K|0,y|0)|0;c[n>>2]=y+K}b[J+(u*80|0)+74>>1]=b[g>>1]|0;v:do if((b[L>>1]|0)>0){K=J+(u*80|0)+48|0;y=J+(u*80|0)+52|0;pa=0;while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{au(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;Du(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;break}default:{}}c[(c[K>>2]|0)+(pa<<2)>>2]=c[g>>2];f[g>>2]=0.0;ra=c[e>>2]|0;switch(ra|0){case 0:{au(g,4,1,c[l>>2]|0)|0;ua=c[e>>2]|0;k=119;break}case 1:{sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;va=(ta|0)<4?ta:4;ta=(va|0)>0?va:0;Du(g|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+sa;sa=c[y>>2]|0;c[sa+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;wa=sa;k=121;break}default:{ua=ra;k=119}}w:do if((k|0)==119){k=0;ra=c[y>>2]|0;c[ra+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;switch(ua|0){case 1:{wa=ra;k=121;break w;break}case 0:break;default:{xa=ra;break w}}au(g,4,1,c[l>>2]|0)|0;xa=c[y>>2]|0}while(0);if((k|0)==121){k=0;ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;Du(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;xa=wa}c[xa+(pa<<3)+4>>2]=c[g>>2];pa=pa+1|0;if((pa|0)>=(b[L>>1]|0))break v}}while(0);u=u+1|0;if((u|0)>=(c[ia>>2]|0))break t}}while(0);x:do if((c[w>>2]|0)>0?(c[ha>>2]|0)>0:0){u=x+28|0;C=0;while(1){b[g>>1]=0;L=c[e>>2]|0;switch(L|0){case 0:{au(g,2,1,c[l>>2]|0)|0;ya=c[e>>2]|0;k=130;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;y=(pa|0)<2?pa:2;pa=(y|0)>0?y:0;Du(g|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+J;J=b[g>>1]|0;pa=c[u>>2]|0;y=pa+(C<<5)|0;b[y>>1]=J;b[g>>1]=0;za=y;Aa=pa;Ba=J;k=132;break}default:{ya=L;k=130}}y:do if((k|0)==130){k=0;L=b[g>>1]|0;J=c[u>>2]|0;pa=J+(C<<5)|0;b[pa>>1]=L;b[g>>1]=0;switch(ya|0){case 1:{za=pa;Aa=J;Ba=L;k=132;break y;break}case 0:break;default:{Ca=pa;Da=J;Ea=L;Fa=ya;break y}}au(g,2,1,c[l>>2]|0)|0;L=c[u>>2]|0;J=L+(C<<5)|0;Ca=J;Da=L;Ea=b[J>>1]|0;Fa=c[e>>2]|0}while(0);if((k|0)==132){k=0;J=c[n>>2]|0;L=(c[m>>2]|0)-J|0;pa=(L|0)<2?L:2;L=(pa|0)>0?pa:0;Du(g|0,(c[o>>2]|0)+J|0,L|0)|0;c[n>>2]=L+J;Ca=za;Da=Aa;Ea=Ba;Fa=1}J=b[g>>1]|0;L=Ea&65535;pa=(c[w>>2]|0)+-1|0;y=(pa|0)>(L|0)?L:pa;b[Ca>>1]=(y|0)>0?y:0;y=J&65535;J=(pa|0)>(y|0)?y:pa;b[Da+(C<<5)+2>>1]=(J|0)>0?J:0;f[g>>2]=0.0;switch(Fa|0){case 0:{au(g,4,1,c[l>>2]|0)|0;Ha=c[u>>2]|0;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;y=(pa|0)<4?pa:4;pa=(y|0)>0?y:0;Du(g|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+J;Ha=Da;break}default:Ha=Da}c[Ha+(C<<5)+4>>2]=c[g>>2];C=C+1|0;if((C|0)>=(c[ha>>2]|0))break x}}while(0);co(x);$m(i,6,x)|0;k=396;break g}switch(r|0){case 1229865283:break;default:break o}w=mo()|0;c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{au(g,4,1,c[l>>2]|0)|0;Ia=c[e>>2]|0;k=145;break}case 1:{u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;pa=(J|0)<4?J:4;J=(pa|0)>0?pa:0;Du(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;Ia=1;k=145;break}default:{Ja=C;Ka=0}}if((k|0)==145){k=0;Ja=Ia;Ka=c[g>>2]|0}c[g>>2]=0;switch(Ja|0){case 0:{au(g,4,1,c[l>>2]|0)|0;La=c[g>>2]|0;Ma=c[e>>2]|0;k=149;break}case 1:{C=c[m>>2]|0;u=c[n>>2]|0;J=C-u|0;pa=(J|0)<4?J:4;J=(pa|0)>0?pa:0;pa=c[o>>2]|0;Du(g|0,pa+u|0,J|0)|0;y=J+u|0;c[n>>2]=y;c[w+8>>2]=c[g>>2];c[g>>2]=0;Na=y;Oa=C;Pa=pa;k=152;break}default:{La=0;Ma=Ja;k=149}}z:do if((k|0)==149){k=0;c[w+8>>2]=La;c[g>>2]=0;switch(Ma|0){case 0:{au(g,4,1,c[l>>2]|0)|0;Qa=c[g>>2]|0;Ra=c[e>>2]|0;break}case 1:{Na=c[n>>2]|0;Oa=c[m>>2]|0;Pa=c[o>>2]|0;k=152;break z;break}default:{Qa=0;Ra=Ma}}c[w+12>>2]=Qa;c[g>>2]=0;switch(Ra|0){case 0:{au(g,4,1,c[l>>2]|0)|0;Sa=c[e>>2]|0;break}case 1:{Ta=c[n>>2]|0;Ua=c[m>>2]|0;Va=c[o>>2]|0;k=156;break z;break}default:Sa=Ra}c[g>>2]=0;switch(Sa|0){case 0:{au(g,4,1,c[l>>2]|0)|0;Wa=c[e>>2]|0;break}case 1:{Xa=c[n>>2]|0;Ya=c[m>>2]|0;Za=c[o>>2]|0;k=280;break z;break}default:Wa=Sa}c[g>>2]=0;switch(Wa|0){case 0:{au(g,4,1,c[l>>2]|0)|0;_a=c[e>>2]|0;break}case 1:{$a=c[n>>2]|0;ab=c[m>>2]|0;bb=c[o>>2]|0;k=284;break z;break}default:_a=Wa}c[g>>2]=0;switch(_a|0){case 0:{au(g,4,1,c[l>>2]|0)|0;cb=c[e>>2]|0;break}case 1:{db=c[n>>2]|0;eb=c[m>>2]|0;fb=c[o>>2]|0;k=288;break z;break}default:cb=_a}c[g>>2]=0;switch(cb|0){case 0:{au(g,4,1,c[l>>2]|0)|0;break z;break}case 1:{gb=c[n>>2]|0;hb=c[m>>2]|0;ib=c[o>>2]|0;k=292;break z;break}default:break z}}while(0);if((k|0)==152){k=0;x=Oa-Na|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;Du(g|0,Pa+Na|0,x|0)|0;pa=x+Na|0;c[n>>2]=pa;c[w+12>>2]=c[g>>2];c[g>>2]=0;Ta=pa;Ua=Oa;Va=Pa;k=156}if((k|0)==156){k=0;pa=Ua-Ta|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;Du(g|0,Va+Ta|0,pa|0)|0;x=pa+Ta|0;c[n>>2]=x;c[g>>2]=0;Xa=x;Ya=Ua;Za=Va;k=280}if((k|0)==280){k=0;x=Ya-Xa|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;Du(g|0,Za+Xa|0,x|0)|0;pa=x+Xa|0;c[n>>2]=pa;c[g>>2]=0;$a=pa;ab=Ya;bb=Za;k=284}if((k|0)==284){k=0;pa=ab-$a|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;Du(g|0,bb+$a|0,pa|0)|0;x=pa+$a|0;c[n>>2]=x;c[g>>2]=0;db=x;eb=ab;fb=bb;k=288}if((k|0)==288){k=0;x=eb-db|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;Du(g|0,fb+db|0,x|0)|0;pa=x+db|0;c[n>>2]=pa;c[g>>2]=0;gb=pa;hb=eb;ib=fb;k=292}if((k|0)==292){k=0;pa=hb-gb|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;Du(g|0,ib+gb|0,pa|0)|0;c[n>>2]=pa+gb}A:do if((Ka|0)>0){pa=w+4|0;x=0;while(1){po(w)|0;C=c[pa>>2]|0;y=C+(x*112|0)|0;u=c[e>>2]|0;switch(u|0){case 0:{au(y,1,32,c[l>>2]|0)|0;k=163;break}case 1:{J=c[n>>2]|0;L=(c[m>>2]|0)-J|0;K=(L|0)<32?L:32;L=(K|0)>0?K:0;Du(y|0,(c[o>>2]|0)+J|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);k=163;break}default:jb=u}if((k|0)==163){k=0;jb=c[e>>2]|0}u=C+(x*112|0)+32|0;switch(jb|0){case 0:{au(u,1,32,c[l>>2]|0)|0;break}case 1:{L=c[n>>2]|0;J=(c[m>>2]|0)-L|0;y=(J|0)<32?J:32;J=(y|0)>0?y:0;Du(u|0,(c[o>>2]|0)+L|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break}default:{}}c[g>>2]=0;J=c[e>>2]|0;switch(J|0){case 0:{au(g,4,1,c[l>>2]|0)|0;kb=c[g>>2]|0;lb=c[e>>2]|0;k=170;break}case 1:{L=c[m>>2]|0;u=c[n>>2]|0;y=L-u|0;K=(y|0)<4?y:4;y=(K|0)>0?K:0;K=c[o>>2]|0;Du(g|0,K+u|0,y|0)|0;ra=y+u|0;c[n>>2]=ra;c[C+(x*112|0)+68>>2]=c[g>>2];c[g>>2]=0;mb=ra;nb=L;ob=K;k=173;break}default:{kb=0;lb=J;k=170}}B:do if((k|0)==170){k=0;c[C+(x*112|0)+68>>2]=kb;c[g>>2]=0;switch(lb|0){case 0:{au(g,4,1,c[l>>2]|0)|0;pb=c[g>>2]|0;qb=c[e>>2]|0;break}case 1:{mb=c[n>>2]|0;nb=c[m>>2]|0;ob=c[o>>2]|0;k=173;break B;break}default:{pb=0;qb=lb}}c[C+(x*112|0)+72>>2]=pb;c[g>>2]=0;switch(qb|0){case 0:{au(g,4,1,c[l>>2]|0)|0;rb=c[g>>2]|0;sb=c[e>>2]|0;break}case 1:{tb=c[n>>2]|0;ub=c[m>>2]|0;vb=c[o>>2]|0;k=177;break B;break}default:{rb=0;sb=qb}}c[C+(x*112|0)+76>>2]=rb;c[g>>2]=0;switch(sb|0){case 0:{au(g,4,1,c[l>>2]|0)|0;wb=c[g>>2]|0;xb=c[e>>2]|0;break}case 1:{yb=c[n>>2]|0;zb=c[m>>2]|0;Ab=c[o>>2]|0;k=181;break B;break}default:{wb=0;xb=sb}}c[C+(x*112|0)+100>>2]=wb;c[g>>2]=0;switch(xb|0){case 0:{au(g,4,1,c[l>>2]|0)|0;Bb=c[g>>2]|0;Cb=c[e>>2]|0;break}case 1:{Db=c[n>>2]|0;Eb=c[m>>2]|0;Fb=c[o>>2]|0;k=185;break B;break}default:{Bb=0;Cb=xb}}J=C+(x*112|0)+104|0;c[J>>2]=Bb;c[g>>2]=0;switch(Cb|0){case 0:{au(g,4,1,c[l>>2]|0)|0;Gb=c[g>>2]|0;Hb=c[e>>2]|0;break}case 1:{Ib=J;Jb=c[n>>2]|0;Kb=c[m>>2]|0;Lb=c[o>>2]|0;k=189;break B;break}default:{Gb=0;Hb=Cb}}c[C+(x*112|0)+108>>2]=Gb;c[g>>2]=0;switch(Hb|0){case 0:{au(g,4,1,c[l>>2]|0)|0;Mb=c[e>>2]|0;break}case 1:{Nb=J;Ob=c[n>>2]|0;Pb=c[m>>2]|0;Qb=c[o>>2]|0;k=193;break B;break}default:Mb=Hb}c[g>>2]=0;switch(Mb|0){case 0:{au(g,4,1,c[l>>2]|0)|0;Rb=c[e>>2]|0;break}case 1:{Sb=J;Tb=c[n>>2]|0;Ub=c[m>>2]|0;Vb=c[o>>2]|0;k=272;break B;break}default:Rb=Mb}c[g>>2]=0;switch(Rb|0){case 0:{au(g,4,1,c[l>>2]|0)|0;Wb=c[e>>2]|0;break}case 1:{Xb=J;Yb=c[n>>2]|0;Zb=c[m>>2]|0;_b=c[o>>2]|0;k=276;break B;break}default:Wb=Rb}K=c[C+(x*112|0)+80>>2]|0;c[g>>2]=0;switch(Wb|0){case 0:{au(g,4,1,c[l>>2]|0)|0;$b=K;ac=J;break B;break}case 1:{bc=K;cc=J;dc=c[n>>2]|0;ec=c[m>>2]|0;fc=c[o>>2]|0;k=197;break B;break}default:{$b=K;ac=J;break B}}}while(0);if((k|0)==173){k=0;J=nb-mb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Du(g|0,ob+mb|0,J|0)|0;K=J+mb|0;c[n>>2]=K;c[C+(x*112|0)+72>>2]=c[g>>2];c[g>>2]=0;tb=K;ub=nb;vb=ob;k=177}if((k|0)==177){k=0;K=ub-tb|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Du(g|0,vb+tb|0,K|0)|0;J=K+tb|0;c[n>>2]=J;c[C+(x*112|0)+76>>2]=c[g>>2];c[g>>2]=0;yb=J;zb=ub;Ab=vb;k=181}if((k|0)==181){k=0;J=zb-yb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Du(g|0,Ab+yb|0,J|0)|0;K=J+yb|0;c[n>>2]=K;c[C+(x*112|0)+100>>2]=c[g>>2];c[g>>2]=0;Db=K;Eb=zb;Fb=Ab;k=185}if((k|0)==185){k=0;K=Eb-Db|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Du(g|0,Fb+Db|0,K|0)|0;J=K+Db|0;c[n>>2]=J;K=C+(x*112|0)+104|0;c[K>>2]=c[g>>2];c[g>>2]=0;Ib=K;Jb=J;Kb=Eb;Lb=Fb;k=189}if((k|0)==189){k=0;J=Kb-Jb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Du(g|0,Lb+Jb|0,J|0)|0;K=J+Jb|0;c[n>>2]=K;c[C+(x*112|0)+108>>2]=c[g>>2];c[g>>2]=0;Nb=Ib;Ob=K;Pb=Kb;Qb=Lb;k=193}if((k|0)==193){k=0;K=Pb-Ob|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Du(g|0,Qb+Ob|0,K|0)|0;J=K+Ob|0;c[n>>2]=J;c[g>>2]=0;Sb=Nb;Tb=J;Ub=Pb;Vb=Qb;k=272}if((k|0)==272){k=0;J=Ub-Tb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Du(g|0,Vb+Tb|0,J|0)|0;K=J+Tb|0;c[n>>2]=K;c[g>>2]=0;Xb=Sb;Yb=K;Zb=Ub;_b=Vb;k=276}if((k|0)==276){k=0;K=Zb-Yb|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;Du(g|0,_b+Yb|0,K|0)|0;J=K+Yb|0;c[n>>2]=J;K=c[C+(x*112|0)+80>>2]|0;c[g>>2]=0;bc=K;cc=Xb;dc=J;ec=Zb;fc=_b;k=197}if((k|0)==197){k=0;J=ec-dc|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;Du(g|0,fc+dc|0,J|0)|0;c[n>>2]=J+dc;$b=bc;ac=cc}J=c[g>>2]|0;c[$b>>2]=J;ro($b,J);J=c[$b>>2]|0;C:do if(!J)k=209;else{K=c[$b+12>>2]|0;L=c[$b+8>>2]|0;ra=c[e>>2]|0;switch(ra|0){case 0:{au(K,L,J,c[l>>2]|0)|0;k=202;break}case 1:{u=B(L,J)|0;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;sa=(u|0)<(y|0)?u:y;y=(sa|0)>0?sa:0;Du(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);k=202;break}default:{gc=ra;hc=J}}if((k|0)==202){k=0;gc=c[e>>2]|0;hc=c[$b>>2]|0}ra=c[$b+16>>2]|0;switch(gc|0){case 0:{au(ra,4,hc,c[l>>2]|0)|0;break}case 1:{y=hc<<2;L=c[n>>2]|0;K=(c[m>>2]|0)-L|0;sa=(y|0)<(K|0)?y:K;K=(sa|0)>0?sa:0;Du(ra|0,(c[o>>2]|0)+L|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[$b+20>>2]|0;L=c[$b>>2]|0;ra=c[e>>2]|0;switch(ra|0){case 0:{au(K,4,L,c[l>>2]|0)|0;k=209;break C;break}case 1:{sa=L<<2;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;u=(sa|0)<(y|0)?sa:y;y=(u|0)>0?u:0;Du(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);k=209;break C;break}default:{ic=ra;break C}}}while(0);if((k|0)==209){k=0;ic=c[e>>2]|0}J=c[C+(x*112|0)+84>>2]|0;c[g>>2]=0;switch(ic|0){case 0:{au(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;y=(c[m>>2]|0)-ra|0;L=(y|0)<4?y:4;y=(L|0)>0?L:0;Du(g|0,(c[o>>2]|0)+ra|0,y|0)|0;c[n>>2]=y+ra;break}default:{}}ra=c[g>>2]|0;c[J>>2]=ra;ro(J,ra);ra=c[J>>2]|0;D:do if(!ra)k=224;else{y=c[J+12>>2]|0;L=c[J+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{au(y,L,ra,c[l>>2]|0)|0;k=217;break}case 1:{u=B(L,ra)|0;L=c[n>>2]|0;sa=(c[m>>2]|0)-L|0;ta=(u|0)<(sa|0)?u:sa;sa=(ta|0)>0?ta:0;Du(y|0,(c[o>>2]|0)+L|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=217;break}default:{jc=K;kc=ra}}if((k|0)==217){k=0;jc=c[e>>2]|0;kc=c[J>>2]|0}K=c[J+16>>2]|0;switch(jc|0){case 0:{au(K,4,kc,c[l>>2]|0)|0;break}case 1:{sa=kc<<2;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;ta=(sa|0)<(y|0)?sa:y;y=(ta|0)>0?ta:0;Du(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);break}default:{}}y=c[J+20>>2]|0;L=c[J>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{au(y,4,L,c[l>>2]|0)|0;k=224;break D;break}case 1:{ta=L<<2;L=c[n>>2]|0;sa=(c[m>>2]|0)-L|0;u=(ta|0)<(sa|0)?ta:sa;sa=(u|0)>0?u:0;Du(y|0,(c[o>>2]|0)+L|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=224;break D;break}default:{lc=K;break D}}}while(0);if((k|0)==224){k=0;lc=c[e>>2]|0}J=c[C+(x*112|0)+88>>2]|0;c[g>>2]=0;switch(lc|0){case 0:{au(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;K=(c[m>>2]|0)-ra|0;sa=(K|0)<4?K:4;K=(sa|0)>0?sa:0;Du(g|0,(c[o>>2]|0)+ra|0,K|0)|0;c[n>>2]=K+ra;break}default:{}}ra=c[g>>2]|0;c[J>>2]=ra;ro(J,ra);ra=c[J>>2]|0;E:do if(ra|0){K=c[J+12>>2]|0;sa=c[J+8>>2]|0;L=c[e>>2]|0;switch(L|0){case 0:{au(K,sa,ra,c[l>>2]|0)|0;k=232;break}case 1:{y=B(sa,ra)|0;sa=c[n>>2]|0;u=(c[m>>2]|0)-sa|0;ta=(y|0)<(u|0)?y:u;u=(ta|0)>0?ta:0;Du(K|0,(c[o>>2]|0)+sa|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);k=232;break}default:{mc=L;nc=ra}}if((k|0)==232){k=0;mc=c[e>>2]|0;nc=c[J>>2]|0}L=c[J+16>>2]|0;switch(mc|0){case 0:{au(L,4,nc,c[l>>2]|0)|0;break}case 1:{u=nc<<2;sa=c[n>>2]|0;K=(c[m>>2]|0)-sa|0;ta=(u|0)<(K|0)?u:K;K=(ta|0)>0?ta:0;Du(L|0,(c[o>>2]|0)+sa|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[J+20>>2]|0;sa=c[J>>2]|0;switch(c[e>>2]|0){case 0:{au(K,4,sa,c[l>>2]|0)|0;break E;break}case 1:{L=sa<<2;sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;u=(L|0)<(ta|0)?L:ta;ta=(u|0)>0?u:0;Du(K|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break E;break}default:break E}}while(0);J=c[ac>>2]|0;F:do if(J|0){ra=C+(x*112|0)+92|0;c[ra>>2]=mp(J<<2)|0;if((c[ac>>2]|0)<=0)break;ta=0;while(1){sa=qo(16)|0;c[(c[ra>>2]|0)+(ta<<2)>>2]=sa;sa=c[(c[ra>>2]|0)+(ta<<2)>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{au(g,4,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;u=(c[m>>2]|0)-K|0;L=(u|0)<4?u:4;u=(L|0)>0?L:0;Du(g|0,(c[o>>2]|0)+K|0,u|0)|0;c[n>>2]=u+K;break}default:{}}K=c[g>>2]|0;c[sa>>2]=K;ro(sa,K);K=c[sa>>2]|0;G:do if(K|0){u=c[sa+12>>2]|0;L=c[sa+8>>2]|0;y=c[e>>2]|0;switch(y|0){case 0:{au(u,L,K,c[l>>2]|0)|0;k=249;break}case 1:{va=B(L,K)|0;L=c[n>>2]|0;oc=(c[m>>2]|0)-L|0;pc=(va|0)<(oc|0)?va:oc;oc=(pc|0)>0?pc:0;Du(u|0,(c[o>>2]|0)+L|0,oc|0)|0;c[n>>2]=oc+(c[n>>2]|0);k=249;break}default:{qc=y;rc=K}}if((k|0)==249){k=0;qc=c[e>>2]|0;rc=c[sa>>2]|0}y=c[sa+16>>2]|0;switch(qc|0){case 0:{au(y,4,rc,c[l>>2]|0)|0;break}case 1:{oc=rc<<2;L=c[n>>2]|0;u=(c[m>>2]|0)-L|0;pc=(oc|0)<(u|0)?oc:u;u=(pc|0)>0?pc:0;Du(y|0,(c[o>>2]|0)+L|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);break}default:{}}u=c[sa+20>>2]|0;L=c[sa>>2]|0;switch(c[e>>2]|0){case 0:{au(u,4,L,c[l>>2]|0)|0;break G;break}case 1:{y=L<<2;L=c[n>>2]|0;pc=(c[m>>2]|0)-L|0;oc=(y|0)<(pc|0)?y:pc;pc=(oc|0)>0?oc:0;Du(u|0,(c[o>>2]|0)+L|0,pc|0)|0;c[n>>2]=pc+(c[n>>2]|0);break G;break}default:break G}}while(0);ta=ta+1|0;if((ta|0)>=(c[ac>>2]|0))break F}}while(0);J=c[C+(x*112|0)+96>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{au(g,4,1,c[l>>2]|0)|0;break}case 1:{ta=c[n>>2]|0;ra=(c[m>>2]|0)-ta|0;sa=(ra|0)<4?ra:4;ra=(sa|0)>0?sa:0;Du(g|0,(c[o>>2]|0)+ta|0,ra|0)|0;c[n>>2]=ra+ta;break}default:{}}ta=c[g>>2]|0;c[J>>2]=ta;ro(J,ta);ta=c[J>>2]|0;H:do if(ta|0){ra=c[J+12>>2]|0;sa=c[J+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{au(ra,sa,ta,c[l>>2]|0)|0;k=264;break}case 1:{pc=B(sa,ta)|0;sa=c[n>>2]|0;L=(c[m>>2]|0)-sa|0;u=(pc|0)<(L|0)?pc:L;L=(u|0)>0?u:0;Du(ra|0,(c[o>>2]|0)+sa|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);k=264;break}default:{sc=K;tc=ta}}if((k|0)==264){k=0;sc=c[e>>2]|0;tc=c[J>>2]|0}K=c[J+16>>2]|0;switch(sc|0){case 0:{au(K,4,tc,c[l>>2]|0)|0;break}case 1:{L=tc<<2;sa=c[n>>2]|0;ra=(c[m>>2]|0)-sa|0;u=(L|0)<(ra|0)?L:ra;ra=(u|0)>0?u:0;Du(K|0,(c[o>>2]|0)+sa|0,ra|0)|0;c[n>>2]=ra+(c[n>>2]|0);break}default:{}}ra=c[J+20>>2]|0;sa=c[J>>2]|0;switch(c[e>>2]|0){case 0:{au(ra,4,sa,c[l>>2]|0)|0;break H;break}case 1:{K=sa<<2;sa=c[n>>2]|0;u=(c[m>>2]|0)-sa|0;L=(K|0)<(u|0)?K:u;u=(L|0)>0?L:0;Du(ra|0,(c[o>>2]|0)+sa|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);break H;break}default:break H}}while(0);x=x+1|0;if((x|0)==(Ka|0))break A}}while(0);$m(i,8,w)|0;k=396;break g}else{if((r|0)<1314476867){switch(r|0){case 1279348803:break;default:break o}x=Cm()|0;switch(c[e>>2]|0){case 0:{au(x,1,768,c[l>>2]|0)|0;break}case 1:{pa=c[n>>2]|0;J=(c[m>>2]|0)-pa|0;ta=(J|0)<768?J:768;J=(ta|0)>0?ta:0;Du(x|0,(c[o>>2]|0)+pa|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break}default:{}}$m(i,5,x)|0;k=396;break g}if((r|0)>=1413565763){switch(r|0){case 1413565763:break;default:break o}x=$n()|0;switch(c[e>>2]|0){case 0:{au(x,96,1,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;ta=(pa|0)<96?pa:96;pa=(ta|0)>0?ta:0;Du(x|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+(c[n>>2]|0);break}default:{}}$m(i,7,x)|0;k=396;break g}switch(r|0){case 1314476867:break;default:break o}x=Co(0)|0;$m(i,11,x)|0;lp(x,0,11032);c[g>>2]=0;pa=c[e>>2]|0;switch(pa|0){case 0:{au(g,4,1,c[l>>2]|0)|0;uc=c[e>>2]|0;k=326;break}case 1:{J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Du(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x>>2]=c[g>>2];c[g>>2]=0;vc=x;k=328;break}default:{uc=pa;k=326}}I:do if((k|0)==326){k=0;c[x>>2]=c[g>>2];c[g>>2]=0;switch(uc|0){case 1:{vc=x;k=328;break I;break}case 0:{au(g,4,1,c[l>>2]|0)|0;wc=c[e>>2]|0;break}default:wc=uc}c[x+4>>2]=c[g>>2];c[g>>2]=0;switch(wc|0){case 1:{xc=x;k=331;break I;break}case 0:break;default:{yc=wc;zc=0;Ac=x;break I}}au(g,4,1,c[l>>2]|0)|0;Bc=c[e>>2]|0;Cc=x;k=332}while(0);if((k|0)==328){k=0;w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Du(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;c[x+4>>2]=c[g>>2];c[g>>2]=0;xc=vc;k=331}if((k|0)==331){k=0;w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Du(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;Bc=1;Cc=xc;k=332}if((k|0)==332){k=0;yc=Bc;zc=c[g>>2]|0;Ac=Cc}c[g>>2]=0;switch(yc|0){case 0:{au(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Du(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;break}default:{}}if(!zc)c[Ac>>2]=(c[Ac>>2]|0)/2|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{au(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;Du(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;break}default:{k=396;break g}}w=c[g>>2]|0;if((w|0)<=0){k=396;break g}pa=0;while(1){c[g>>2]=0;J=c[e>>2]|0;switch(J|0){case 0:{au(g,4,1,c[l>>2]|0)|0;Dc=c[e>>2]|0;k=347;break}case 1:{ta=c[n>>2]|0;C=(c[m>>2]|0)-ta|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;Du(g|0,(c[o>>2]|0)+ta|0,C|0)|0;c[n>>2]=C+ta;c[x+8+(pa*344|0)>>2]=c[g>>2];c[g>>2]=0;k=349;break}default:{Dc=J;k=347}}J:do if((k|0)==347){k=0;c[x+8+(pa*344|0)>>2]=c[g>>2];c[g>>2]=0;switch(Dc|0){case 1:{k=349;break J;break}case 0:{au(g,4,1,c[l>>2]|0)|0;Ec=c[e>>2]|0;break}default:Ec=Dc}c[x+8+(pa*344|0)+4>>2]=c[g>>2];c[g>>2]=0;switch(Ec|0){case 1:{k=352;break J;break}case 0:{au(g,4,1,c[l>>2]|0)|0;Fc=c[e>>2]|0;break}default:Fc=Ec}c[x+8+(pa*344|0)+8>>2]=c[g>>2];c[g>>2]=0;switch(Fc|0){case 1:{k=355;break J;break}case 0:{au(g,4,1,c[l>>2]|0)|0;Gc=c[e>>2]|0;break}default:Gc=Fc}c[x+8+(pa*344|0)+340>>2]=c[g>>2];c[g>>2]=0;switch(Gc|0){case 1:{k=358;break J;break}case 0:{au(g,4,1,c[l>>2]|0)|0;Hc=c[e>>2]|0;break}default:Hc=Gc}J=c[g>>2]|0;c[x+8+(pa*344|0)+332>>2]=J;ta=x+8+(pa*344|0)+268|0;switch(Hc|0){case 1:{Ic=J;Jc=ta;k=361;break J;break}case 0:break;default:{Kc=Hc;break J}}au(ta,1,J,c[l>>2]|0)|0;k=362}while(0);if((k|0)==349){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Du(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+4>>2]=c[g>>2];c[g>>2]=0;k=352}if((k|0)==352){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Du(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+8>>2]=c[g>>2];c[g>>2]=0;k=355}if((k|0)==355){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Du(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+340>>2]=c[g>>2];c[g>>2]=0;k=358}if((k|0)==358){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;Du(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;J=c[g>>2]|0;c[x+8+(pa*344|0)+332>>2]=J;Ic=J;Jc=x+8+(pa*344|0)+268|0;k=361}if((k|0)==361){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(Ic|0)<(ta|0)?Ic:ta;ta=(C|0)>0?C:0;Du(Jc|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);k=362}if((k|0)==362){k=0;Kc=c[e>>2]|0}c[g>>2]=0;switch(Kc|0){case 0:{au(g,4,1,c[l>>2]|0)|0;k=367;break}case 1:{ta=c[n>>2]|0;J=(c[m>>2]|0)-ta|0;C=(J|0)<4?J:4;J=(C|0)>0?C:0;Du(g|0,(c[o>>2]|0)+ta|0,J|0)|0;c[n>>2]=J+ta;k=367;break}default:{}}K:do if((k|0)==367?(k=0,ta=c[g>>2]|0,(ta|0)>0):0){J=0;while(1){c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{au(g,4,1,c[l>>2]|0)|0;Lc=c[e>>2]|0;k=372;break}case 1:{u=c[n>>2]|0;sa=(c[m>>2]|0)-u|0;ra=(sa|0)<4?sa:4;sa=(ra|0)>0?ra:0;Du(g|0,(c[o>>2]|0)+u|0,sa|0)|0;c[n>>2]=sa+u;c[x+8+(pa*344|0)+12+(J<<4)>>2]=c[g>>2];c[g>>2]=0;k=374;break}default:{Lc=C;k=372}}L:do if((k|0)==372){k=0;c[x+8+(pa*344|0)+12+(J<<4)>>2]=c[g>>2];c[g>>2]=0;switch(Lc|0){case 1:{k=374;break L;break}case 0:{au(g,4,1,c[l>>2]|0)|0;Mc=c[e>>2]|0;break}default:Mc=Lc}c[x+8+(pa*344|0)+12+(J<<4)+8>>2]=c[g>>2];c[g>>2]=0;switch(Mc|0){case 1:{k=377;break L;break}case 0:break;default:break L}au(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==374){k=0;C=c[n>>2]|0;u=(c[m>>2]|0)-C|0;sa=(u|0)<4?u:4;u=(sa|0)>0?sa:0;Du(g|0,(c[o>>2]|0)+C|0,u|0)|0;c[n>>2]=u+C;c[x+8+(pa*344|0)+12+(J<<4)+8>>2]=c[g>>2];c[g>>2]=0;k=377}if((k|0)==377){k=0;C=c[n>>2]|0;u=(c[m>>2]|0)-C|0;sa=(u|0)<4?u:4;u=(sa|0)>0?sa:0;Du(g|0,(c[o>>2]|0)+C|0,u|0)|0;c[n>>2]=u+C}c[x+8+(pa*344|0)+12+(J<<4)+12>>2]=c[g>>2];J=J+1|0;if((J|0)==(ta|0))break K}}while(0);pa=pa+1|0;if((pa|0)==(w|0)){k=396;break g}}}while(0);if((t|0)!=1279870563){vm(59637);w=c[e>>2]|0;switch(w|0){case 0:{Ht(c[l>>2]|0,s,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+s;k=396;break g;break}default:{W=w;break g}}}w=(r|0)==1279870563;c[g>>2]=0;switch(c[e>>2]|0){case 0:{au(g,4,1,c[l>>2]|0)|0;break}case 1:{pa=c[n>>2]|0;x=(c[m>>2]|0)-pa|0;ta=(x|0)<4?x:4;x=(ta|0)>0?ta:0;Du(g|0,(c[o>>2]|0)+pa|0,x|0)|0;c[n>>2]=x+pa;break}default:{}}pa=c[g>>2]|0;x=pp(pa)|0;$m(i,12,x)|0;ta=x+24|0;switch(c[e>>2]|0){case 0:{au(ta,1,64,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;C=(c[m>>2]|0)-J|0;u=(C|0)<64?C:64;C=(u|0)>0?u:0;Du(ta|0,(c[o>>2]|0)+J|0,C|0)|0;c[n>>2]=C+(c[n>>2]|0);break}default:{}}a[x+87>>0]=0;C=c[x+12>>2]|0;M:do if(w)Cn(C,pa,e)|0;else switch(c[e>>2]|0){case 0:{au(C,1,pa,c[l>>2]|0)|0;break M;break}case 1:{J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;u=(pa|0)<(ta|0)?pa:ta;ta=(u|0)>0?u:0;Du(C|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break M;break}default:break M}while(0);c[x+16>>2]=pa;k=396}while(0);if((k|0)==396){k=0;W=c[e>>2]|0}q=q+1|0;switch(W|0){case 0:{Nc=zt(c[l>>2]|0)|0;break}case 1:{Nc=(c[n>>2]|0)>=(c[m>>2]|0)&1;break}default:Nc=0}if(Nc|0)break b}if((k|0)==9)break;switch(c[e>>2]|0){case 0:{Ht(c[l>>2]|0,-8,1)|0;break b;break}case 1:{c[n>>2]=(c[n>>2]|0)+-8;break b;break}default:break b}}while(0);if(c[i+16>>2]|0){h=i;Ga=d;return h|0}_m(i);h=0;Ga=d;return h|0}while(0);_m(i);h=0;Ga=d;return h|0}function Cn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=0;switch(c[d>>2]|0){case 0:{au(f,4,1,c[d+8>>2]|0)|0;break}case 1:{g=d+20|0;h=c[g>>2]|0;i=(c[d+16>>2]|0)-h|0;j=(i|0)<4?i:4;i=(j|0)>0?j:0;Du(f|0,(c[d+12>>2]|0)+h|0,i|0)|0;c[g>>2]=i+h;break}default:{}}h=c[f>>2]|0;f=mp(h)|0;switch(c[d>>2]|0){case 0:{au(f,1,h,c[d+8>>2]|0)|0;k=wp(f,a,h,b)|0;Ga=e;return k|0}case 1:{i=d+20|0;g=c[i>>2]|0;j=(c[d+16>>2]|0)-g|0;l=(h|0)<(j|0)?h:j;j=(l|0)>0?l:0;Du(f|0,(c[d+12>>2]|0)+g|0,j|0)|0;c[i>>2]=j+(c[i>>2]|0);k=wp(f,a,h,b)|0;Ga=e;return k|0}default:{k=wp(f,a,h,b)|0;Ga=e;return k|0}}return 0}function Dn(a){a=a|0;var b=0;switch(c[a>>2]|0){case 0:{b=zt(c[a+8>>2]|0)|0;return b|0}case 1:{b=(c[a+20>>2]|0)>=(c[a+16>>2]|0)&1;return b|0}default:{b=0;return b|0}}return 0}function En(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ga;Ga=Ga+16|0;d=b;e=Fn(a,59673)|0;if(e){f=Bn(0,e)|0;if(!(cr(e)|0)){if(!(c[e>>2]|0))ut(c[e+8>>2]|0)|0;if(c[e+88>>2]|0)op(c[e+12>>2]|0);op(e);if(!(c[515704]|0)){c[515704]=(Iq()|0)+1e3;g=f}else g=f}else g=f}else g=0;c[d>>2]=a;c[d+4>>2]=(g|0)==0?59676:59683;as(1465904,59686,d)|0;vm(1465904);Ga=b;return g|0}function Fn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ga;Ga=Ga+48|0;f=e+40|0;g=e+24|0;h=e+8|0;i=e;if((ka(22)|0)!=1){j=br(b,d)|0;k=(j|0)!=0;if(k){c[i>>2]=b;c[i+4>>2]=d;cu(59709,i)|0}i=a[d>>0]|0;if(i<<24>>24==119|k&i<<24>>24==114){l=j;Ga=e;return l|0}}j=mp(92)|0;lp(j,0,92);c[j>>2]=0;i=ot(b,d)|0;c[j+8>>2]=i;if(i){i=(j|0)!=0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=i?59795:59676;cu(59772,g)|0;if(i){l=j;Ga=e;return l|0}}else{op(j);c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=59676;cu(59772,h)|0}h=br(b,d)|0;if(!h){l=0;Ga=e;return l|0}c[f>>2]=b;c[f+4>>2]=d;cu(59802,f)|0;l=h;Ga=e;return l|0}function Gn(a){a=a|0;if(!a)return;if(cr(a)|0)return;if(!(c[a>>2]|0))ut(c[a+8>>2]|0)|0;if(c[a+88>>2]|0)op(c[a+12>>2]|0);op(a);if(c[515704]|0)return;c[515704]=(Iq()|0)+1e3;return}function Hn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;a[b>>0]=0;if(!f){g=0;return g|0}switch(c[f>>2]|0){case 0:{h=zt(c[f+8>>2]|0)|0;i=5;break}case 1:{h=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;i=5;break}default:{}}if((i|0)==5?h|0:0){g=0;return g|0}a[b>>0]=0;switch(c[f>>2]|0){case 0:{j=_t(c[f+8>>2]|0)|0;i=10;break}case 1:{h=f+20|0;k=c[h>>2]|0;if((k|0)<(c[f+16>>2]|0)){c[h>>2]=k+1;j=d[(c[f+12>>2]|0)+k>>0]|0;i=10}else{l=0;i=11}break}default:{l=0;i=11}}if((i|0)==10){k=(j+256|0)%256|0;switch(k|0){case 10:case 13:case 255:{m=0;n=k;break}default:{l=k;i=11}}}a:do if((i|0)==11){a[b>>0]=l;switch(c[f>>2]|0){case 0:{o=zt(c[f+8>>2]|0)|0;break}case 1:{o=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;break}default:o=0}k=e+-1|0;if((e|0)>2&(o|0)==0){j=f+8|0;h=f+20|0;p=f+16|0;q=f+12|0;r=1;while(1){switch(c[f>>2]|0){case 0:{s=_t(c[j>>2]|0)|0;i=20;break}case 1:{t=c[h>>2]|0;if((t|0)<(c[p>>2]|0)){c[h>>2]=t+1;s=d[(c[q>>2]|0)+t>>0]|0;i=20}else u=0;break}default:u=0}if((i|0)==20){i=0;switch(s|0){case 10:case 13:{m=r;n=s;break a;break}default:u=s}}a[b+r>>0]=u;t=r+1|0;switch(c[f>>2]|0){case 0:{v=zt(c[j>>2]|0)|0;break}case 1:{v=(c[h>>2]|0)>=(c[p>>2]|0)&1;break}default:v=0}if((t|0)<(k|0)&(v|0)==0)r=t;else{m=t;n=u;break a}}}else{m=1;n=l}}while(0);a[b+m>>0]=0;if((n|0)!=13){g=b;return g|0}switch(c[f>>2]|0){case 0:{w=_t(c[f+8>>2]|0)|0;i=30;break}case 1:{n=f+20|0;m=c[n>>2]|0;if((m|0)<(c[f+16>>2]|0)){c[n>>2]=m+1;w=d[(c[f+12>>2]|0)+m>>0]|0;i=30}break}default:{g=b;return g|0}}if((i|0)==30){if((w|0)==10){g=b;return g|0}if((c[f>>2]|0)!=1){g=b;return g|0}}w=f+20|0;c[w>>2]=(c[w>>2]|0)+-1;g=b;return g|0}function In(){lp(2063852,0,2244);c[515964]=0;c[515965]=0;c[515966]=32;c[515970]=256;c[515971]=256;if(c[516522]|0)c[515970]=64;c[515982]=1024;if(ka(23)|0){Zt(59924)|0;c[515982]=2048}c[515983]=-1;c[515976]=0;c[515984]=0;c[515985]=0;c[515986]=0;c[515987]=0;c[515977]=-1;c[515978]=-1;c[515979]=-1;c[515996]=-1;c[515997]=1;c[516003]=0;c[515972]=2;c[515973]=10;c[515975]=0;if(!(c[516522]|0)){c[515992]=1;c[516004]=30;return}c[515972]=5;c[515992]=1;c[516004]=30;return}function Jn(){return}function Kn(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=(c|0)==0?1476272:c;a[d>>0]=0;c=b;a:while(1){e=a[c>>0]|0;switch(e<<24>>24){case 32:{c=c+1|0;break}case 0:{f=13;break a;break}default:break a}}if((f|0)==13)return d|0;b=0;g=d;h=c;c=e;while(1){if(c<<24>>24>31){e=c<<24>>24==92?47:c<<24>>24;if((b|0)!=47|(e|0)!=47){a[g>>0]=e;i=g+1|0;a[i>>0]=0;j=e;k=i}else{j=47;k=g}}else{j=b;k=g}h=h+1|0;c=a[h>>0]|0;if(!(c<<24>>24))break;else{b=j;g=k}}if(k>>>0<=d>>>0)return d|0;g=k;b:while(1){k=g+-1|0;switch(a[k>>0]|0){case 47:{f=13;break b;break}case 32:break;default:{f=12;break b}}a[k>>0]=0;if(k>>>0>d>>>0)g=k;else{f=13;break}}if((f|0)==12){a[g>>0]=47;a[g+1>>0]=0;return d|0}else if((f|0)==13)return d|0;return 0}function Ln(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=Ga;Ga=Ga+1024|0;h=g;i=(c|0)!=0;if(i)a[c>>0]=0;j=(d|0)!=0;if(j)a[d>>0]=0;k=(e|0)!=0;if(k)a[e>>0]=0;if((Ms(b)|0)>>>0>1023){vm(59977);Ga=g;return}rm(h,b)|0;l=Ms(b)|0;b=h+l|0;a:do if((l|0)>0){m=b;while(1){if((a[m>>0]&-2)<<24>>24==46){n=m;break a}o=m+-1|0;if(o>>>0>h>>>0)m=o;else{n=o;break}}}else n=b;while(0);if(f){f=a[n>>0]|0;if(f<<24>>24==46){b=n+-1|0;b:do if(b>>>0>h>>>0){l=b;while(1){if((a[l>>0]|1)<<24>>24==47){p=l;break b}m=l+-1|0;if(m>>>0>h>>>0)l=m;else{p=m;break}}}else p=b;while(0);q=(a[p>>0]|0)==46?p:n;r=20}else{s=n;t=f;r=27}}else{q=n;r=20}c:do if((r|0)==20){n=a[q>>0]|0;if(n<<24>>24==46){if(k)rm(e,q)|0;a[q>>0]=0;if(q>>>0>h>>>0){f=q;while(1){p=f+-1|0;b=a[p>>0]|0;if(p>>>0<=h>>>0){s=p;t=b;r=27;break c}if(b<<24>>24==47){u=p;r=28;break}else f=p}}else v=q}else{s=q;t=n;r=27}}while(0);if((r|0)==27)if(t<<24>>24==47){u=s;r=28}else v=s;if((r|0)==28)v=u+1|0;if(j)rm(d,v)|0;if((v|0)==(h|0)){Ga=g;return}a[v>>0]=0;if(!i){Ga=g;return}rm(c,h)|0;Ga=g;return}function Mn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ln(a,b,c,d,0);return}function Nn(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a[c>>0]=0;d=1;e=b;a:while(1){f=e;b:while(1){g=a[f>>0]|0;switch(g<<24>>24){case 0:case 92:case 47:{break b;break}default:{}}f=f+1|0}h=g<<24>>24==0;if((e|0)==(f|0)&h){i=6;break}a[f>>0]=0;c:do if(Cs(e,67771)|0){if(!((e|0)==(b|0)|(Cs(e,60021)|0)!=0)){j=(Ms(c)|0)+-1|0;if((j|0)<=0){k=d;i=20;break}a[c+j>>0]=0;l=j;while(1){j=c+l|0;switch(a[j>>0]|0){case 58:case 92:case 47:{k=d;i=20;break c;break}default:{}}a[j>>0]=0;if((l|0)>1)l=l+-1|0;else{k=d;i=20;break c}}}if(Cs(e,60024)|0){if((d|0)==0?(a[e>>0]|0)==0:0){k=0;i=20;break}Ws(c,e)|0;if(h){i=18;break a}l=c+(Ms(c)|0)|0;a[l>>0]=47;a[l+1>>0]=0;a[f>>0]=g;m=0}else{k=d;i=20}}else{k=d;i=20}while(0);if((i|0)==20){i=0;a[f>>0]=g;if(h){i=22;break}else m=k}d=m;e=f+1|0}if((i|0)==6){if((e|0)!=(b|0))return;a[c>>0]=0;return}else if((i|0)==18){a[f>>0]=0;return}else if((i|0)==22)return}function On(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ga;Ga=Ga+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=0;c[g>>2]=0;if(!b){h=0;Ga=d;return h|0}if(cp(e,f,g,b)|0){h=0;Ga=d;return h|0}b=c[f>>2]|0;i=c[g>>2]|0;if((i+-1|b+-1)>>>0>16383){h=0;Ga=d;return h|0}j=Km(b,i,32)|0;i=j+12|0;Du(c[i>>2]|0,c[e>>2]|0,B(c[f>>2]<<2,c[g>>2]|0)|0)|0;b=B(c[g>>2]|0,c[f>>2]|0)|0;if(b|0){f=b;b=c[i>>2]|0;while(1){i=a[b>>0]|0;g=b+2|0;a[b>>0]=a[g>>0]|0;a[g>>0]=i;f=f+-1|0;if(!f)break;else b=b+4|0}}op(c[e>>2]|0);h=j;Ga=d;return h|0}function Pn(a){a=a|0;var b=0,d=0;b=Fn(a,59673)|0;if(!b){d=0;return d|0}a=On(b)|0;if(cr(b)|0){d=a;return d|0}if(!(c[b>>2]|0))ut(c[b+8>>2]|0)|0;if(c[b+88>>2]|0)op(c[b+12>>2]|0);op(b);if(c[515704]|0){d=a;return d|0}c[515704]=(Iq()|0)+1e3;d=a;return d|0}function Qn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=d+4|0;f=Km(c[d>>2]|0,c[e>>2]|0,32)|0;g=d+8|0;h=c[g>>2]|0;if((h|0)==32){vo(d,f,0,0,0,0,c[d>>2]|0,c[e>>2]|0);i=c[g>>2]|0}else i=h;if((i|0)==8)Vm(d,f,c[694819]|0);i=f+12|0;h=c[d>>2]|0;g=c[e>>2]|0;j=B(g,h)|0;if(!j){k=h;l=g;m=c[i>>2]|0;jp(b,m,k,l,6,8)|0;Lm(f)|0;return 0}g=c[i>>2]|0;h=j;while(1){j=a[g>>0]|0;n=g+2|0;a[g>>0]=a[n>>0]|0;a[n>>0]=j;h=h+-1|0;if(!h)break;else g=g+4|0}k=c[d>>2]|0;l=c[e>>2]|0;m=c[i>>2]|0;jp(b,m,k,l,6,8)|0;Lm(f)|0;return 0}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ga;Ga=Ga+1040|0;f=e+1024|0;g=e;lp(g,0,1024);c[f>>2]=d;as(g,b,f)|0;f=Ms(g)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+f;b=a+16|0;c[b>>2]=(c[b>>2]|0)+f;Rt(g,1,f,c[a+8>>2]|0)|0;Ga=e;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;Du((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}else{b=a+20|0;qp(a,(c[b>>2]|0)+f|0)|0;Du((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}b=(c[h>>2]|0)+f|0;c[h>>2]=b;h=a+16|0;a=c[h>>2]|0;c[h>>2]=(a|0)>(b|0)?a:b;Ga=e;return 0}default:{Ga=e;return 0}}return 0}function Sn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=Ga;Ga=Ga+1040|0;i=h+1024|0;j=h;lp(j,0,1024);c[i>>2]=d;c[i+4>>2]=e;c[i+8>>2]=f;c[i+12>>2]=g;as(j,b,i)|0;i=Ms(j)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+i;b=a+16|0;c[b>>2]=(c[b>>2]|0)+i;Rt(j,1,i,c[a+8>>2]|0)|0;Ga=h;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;Du((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}else{b=a+20|0;qp(a,(c[b>>2]|0)+i|0)|0;Du((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}b=(c[k>>2]|0)+i|0;c[k>>2]=b;k=a+16|0;a=c[k>>2]|0;c[k>>2]=(a|0)>(b|0)?a:b;Ga=h;return 0}default:{Ga=h;return 0}}return 0}function Tn(a){a=a|0;var b=0,c=0,d=0,e=0;b=ot(a,59673)|0;if(!b){c=0;return c|0}a=pp(1024)|0;d=mp(65536)|0;if(!(zt(b)|0))do{e=au(d,1,65536,b)|0;xn(d,1,e,a)|0}while((e|0)!=0&(zt(b)|0)==0);op(d);ut(b)|0;c=a;return c|0}function Un(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ot(a,59673)|0;if(!c){d=1;return d|0}a=ot(b,67694)|0;if(!a){ut(c)|0;d=2;return d|0}b=mp(65536)|0;if(!(zt(c)|0))do{e=au(b,1,65536,c)|0;Rt(b,1,e,a)|0}while((e|0)!=0&(zt(c)|0)==0);op(b);ut(c)|0;ut(a)|0;d=0;return d|0}function Vn(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ga;Ga=Ga+16|0;g=e+8|0;h=e;i=a+24|0;if(((c[i>>2]|0)>0?(j=a+28|0,(c[j>>2]|0)==0):0)?(k=a+8|0,l=mp(c[k>>2]<<5)|0,c[j>>2]=l,j=c[k>>2]|0,(j|0)>0):0){k=0;do{b[l+(k<<5)>>1]=0;b[l+(k<<5)+2>>1]=0;f[l+(k<<5)+4>>2]=1.0;k=k+1|0}while((k|0)<(j|0))}j=a+8|0;k=c[j>>2]|0;if((k|0)>=(d|0)){Ga=e;return}l=(k+1|0)==(d|0)?(d*5|0)/4|0:d;d=np(c[a>>2]|0,l*12|0)|0;c[a>>2]=d;if(!d){c[h>>2]=60049;as(1465904,60026,h)|0;vm(1465904)}if((c[i>>2]|0)>0){i=a+28|0;a=np(c[i>>2]|0,l<<5)|0;c[i>>2]=a;if(!a){c[g>>2]=60075;as(1465904,60026,g)|0;vm(1465904)}g=c[j>>2]|0;if((g|0)<(l|0)){a=c[i>>2]|0;i=g;do{b[a+(i<<5)>>1]=0;b[a+(i<<5)+2>>1]=0;f[a+(i<<5)+4>>2]=1.0;i=i+1|0}while((i|0)!=(l|0))}}c[j>>2]=l;Ga=e;return}function Wn(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Ga;Ga=Ga+16|0;g=e;h=a+20|0;i=c[h>>2]|0;if((i|0)>=(d|0)){Ga=e;return}j=(i+1|0)==(d|0)?(d*5|0)/4|0:d;d=a+12|0;i=np(c[d>>2]|0,j*80|0)|0;c[d>>2]=i;if(!i){c[g>>2]=60106;as(1465904,60026,g)|0;vm(1465904)}g=c[a+16>>2]|0;if((g|0)>0){a=c[d>>2]|0;i=0;do{if((b[a+(i*80|0)+56>>1]|0)<5){c[a+(i*80|0)+48>>2]=a+(i*80|0);c[a+(i*80|0)+52>>2]=a+(i*80|0)+16}i=i+1|0}while((i|0)<(g|0))}g=c[h>>2]|0;if((g|0)<(j|0)){i=c[d>>2]|0;d=g;do{f[i+(d*80|0)+64>>2]=0.0;f[i+(d*80|0)+60>>2]=0.0;f[i+(d*80|0)+68>>2]=1.0;b[i+(d*80|0)+72>>1]=0;b[i+(d*80|0)+74>>1]=0;g=i+(d*80|0)+56|0;a=i+(d*80|0)|0;c[i+(d*80|0)+48>>2]=a;c[i+(d*80|0)+52>>2]=i+(d*80|0)+16;b[i+(d*80|0)+58>>1]=4;k=a;a=k+48|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(a|0));b[g>>1]=4;d=d+1|0}while((d|0)!=(j|0))}c[h>>2]=j;Ga=e;return}function Xn(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=(d&1)+d|0;g=a+58|0;h=b[g>>1]|0;if((e|0)>4&(e|0)>(h<<16>>16|0)){i=a+48|0;if(h<<16>>16<5){c[i>>2]=0;h=a+52|0;c[h>>2]=0;j=i;k=h;l=0}else{j=i;k=a+52|0;l=c[i>>2]|0}c[j>>2]=np(l,e<<2)|0;c[k>>2]=np(c[k>>2]|0,e<<3)|0;if((b[g>>1]|0)<5){l=a+56|0;Du(c[j>>2]|0,a|0,b[l>>1]<<2|0)|0;Du(c[k>>2]|0,a+16|0,b[l>>1]<<3|0)|0}b[g>>1]=e}e=a+56|0;g=b[e>>1]|0;if((g|0)>=(d|0)){m=d&65535;b[e>>1]=m;return}l=c[a+48>>2]|0;k=c[a+52>>2]|0;a=g;do{c[l+(a<<2)>>2]=0;f[k+(a<<3)+4>>2]=0.0;f[k+(a<<3)>>2]=0.0;a=a+1|0}while((a|0)!=(d|0));m=d&65535;b[e>>1]=m;return}function Yn(){var a=0,b=0,d=0;a=mp(52)|0;b=a;d=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[515541]=(c[515541]|0)+1;return a|0}function Zn(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+12|0;g=0;h=e;while(1){e=c[f>>2]|0;if((b[e+(g*80|0)+58>>1]|0)>4){op(c[e+(g*80|0)+48>>2]|0);op(c[(c[f>>2]|0)+(g*80|0)+52>>2]|0);i=c[d>>2]|0}else i=h;g=g+1|0;if((g|0)>=(i|0))break;else h=i}}i=c[a>>2]|0;if(i|0)op(i);i=c[a+32>>2]|0;if(i|0)op(i);i=c[a+12>>2]|0;if(i|0)op(i);i=c[a+28>>2]|0;if(i|0)op(i);i=c[a+48>>2]|0;if(i|0)op(i);i=c[a+36>>2]|0;if(i|0)op(i);i=c[a+40>>2]|0;if(i|0)op(i);op(a);c[515541]=(c[515541]|0)+-1;return}function _n(a){a=a|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Ga;Ga=Ga+32|0;e=d+12|0;g=d;h=a+16|0;i=c[h>>2]|0;if((i|0)<=0){Ga=d;return}j=a+12|0;k=e+4|0;l=e+8|0;m=g+4|0;n=g+8|0;o=0;p=i;while(1){i=c[j>>2]|0;if((b[i+(o*80|0)+56>>1]|0)>2){q=c[a>>2]|0;r=c[i+(o*80|0)+48>>2]|0;s=c[r+4>>2]|0;t=q+(s*12|0)|0;u=c[r>>2]|0;f[e>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];v=q+(s*12|0)+4|0;f[k>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];w=q+(s*12|0)+8|0;f[l>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=c[r+8>>2]|0;f[g>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];f[m>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];f[n>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=i+(o*80|0)+60|0;fo(e,g,u);eo(u);x=c[h>>2]|0}else{f[i+(o*80|0)+60>>2]=0.0;f[i+(o*80|0)+64>>2]=1.0;f[i+(o*80|0)+68>>2]=0.0;x=p}o=o+1|0;if((o|0)>=(x|0))break;else p=x}Ga=d;return}function $n(){var a=0,b=0,d=0,e=0,f=0;a=mp(96)|0;if(!a){b=0;return b|0}d=a+32|0;e=a;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=-13408615;c[a+36>>2]=-10461088;c[515541]=(c[515541]|0)+1;b=a;return b|0}function ao(a){a=a|0;if(!a)return;op(a);c[515541]=(c[515541]|0)+-1;return}function bo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=a+44|0;c[b>>2]=0;d=a+24|0;e=c[d>>2]|0;f=a+36|0;g=c[f>>2]|0;if(!e){op(g);c[f>>2]=0;h=a+40|0;op(c[h>>2]|0);c[h>>2]=0;return}c[f>>2]=np(g,e<<2)|0;e=a+40|0;g=np(c[e>>2]|0,c[d>>2]<<2)|0;c[e>>2]=g;e=c[d>>2]|0;if((e|0)>0){h=c[f>>2]|0;i=a+12|0;a=0;do{j=h+(a<<2)|0;c[j>>2]=-1;k=c[d>>2]|0;if((k|0)>0){l=c[i>>2]|0;m=c[l+(a*80|0)+48>>2]|0;n=0;o=k;while(1){if((c[m>>2]|0)==(c[(c[l+(n*80|0)+48>>2]|0)+4>>2]|0)){c[j>>2]=n;p=c[d>>2]|0}else p=o;n=n+1|0;if((n|0)>=(p|0)){q=p;break}else o=p}}else q=k;a=a+1|0}while((a|0)<(q|0));c[b>>2]=(q<<4)+16;if((q|0)>0){a=0;do{c[g+(a<<2)>>2]=32768;a=a+1|0;p=c[d>>2]|0}while((a|0)<(p|0));r=p}else r=q}else{c[b>>2]=(e<<4)+16;r=e}e=0;b=r;while(1){if((b|0)<=0){s=24;break}r=0;q=e;a=0;p=b;while(1){i=g+(a<<2)|0;do if(!(c[i>>2]&32768)){t=r;u=q;v=p}else{h=c[(c[f>>2]|0)+(a<<2)>>2]|0;if((h|0)!=-1?c[g+(h<<2)>>2]&32768|0:0){t=r;u=q;v=p;break}h=g+(q<<2)|0;c[h>>2]=c[h>>2]|a;c[i>>2]=c[i>>2]&32767;t=1;u=q+1|0;v=c[d>>2]|0}while(0);a=a+1|0;if((a|0)>=(v|0))break;else{r=t;q=u;p=v}}if(!t){s=24;break}else{e=u;b=v}}if((s|0)==24)return}function co(a){a=a|0;_n(a);bo(a);to(a,0);return}function eo(a){a=a|0;var b=0.0,c=0,d=0.0,e=0,g=0.0,h=0.0,i=0.0,j=0.0;b=+f[a>>2];c=a+4|0;d=+f[c>>2];e=a+8|0;g=+f[e>>2];h=+v(+(b*b+d*d+g*g));if(h==0.0){f[a>>2]=0.0;f[c>>2]=1.0;i=0.0;f[e>>2]=i;return}else{j=1.0/h;f[a>>2]=b*j;f[c>>2]=d*j;i=g*j;f[e>>2]=i;return}}function fo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=a+4|0;e=b+8|0;g=a+8|0;h=b+4|0;f[c>>2]=+f[d>>2]*+f[e>>2]-+f[g>>2]*+f[h>>2];f[c+4>>2]=+f[g>>2]*+f[b>>2]-+f[a>>2]*+f[e>>2];f[c+8>>2]=+f[a>>2]*+f[h>>2]-+f[d>>2]*+f[b>>2];return}function go(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;d=+f[a>>2];e=+f[a+12>>2];g=+f[a+24>>2];h=1.0/(d*d+e*e+g*g);i=+f[a+4>>2]*h;j=+f[a+8>>2]*h;k=+f[a+16>>2]*h;l=+f[a+20>>2]*h;m=+f[a+28>>2]*h;n=+f[a+32>>2]*h;o=+f[b>>2]-+f[a+36>>2];p=+f[b+4>>2]-+f[a+40>>2];q=+f[b+8>>2]-+f[a+44>>2];f[c>>2]=d*h*o+e*h*p+g*h*q;f[c+4>>2]=i*o+k*p+m*q;f[c+8>>2]=j*o+l*p+n*q;return}function ho(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8687]=b;c[8686]=b^-1095947846;return}function io(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a){b=0;return b|0}d=c[8686]|0;e=c[8687]|0;f=(d<<16|d>>>16)+e|0;c[8686]=f;c[8687]=f+e;b=(f>>>0)%(a>>>0)|0;return b|0}function jo(a){a=a|0;var b=0,d=0;b=(a+2|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[2960+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[2960+(a<<2)>>2]|0;return d|0}return 0}function ko(a){a=a|0;var b=0,d=0;b=(a+16386|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[2960+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[2960+(a<<2)>>2]|0;return d|0}return 0}function lo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=0-b|0;if(!a)e=B(d>>31|1,2147483647)|0;else{b=yu(d|0,((d|0)<0)<<31>>31|0,16)|0;d=su(b|0,G()|0,a|0,((a|0)<0)<<31>>31|0)|0;b=G()|0;f=(b|0)>-1|(b|0)==-1&d>>>0>2147483649;g=f?d:-2147483647;d=f?b:-1;b=(d|0)<0|(d|0)==0&g>>>0<2147483647;d=b?g:2147483647;e=d}d=(e|0)<0?0-e|0:e;if((d|0)>65536){g=su(0,1,d|0,((d|0)<0)<<31>>31|0)|0;b=G()|0;f=(b|0)>-1|(b|0)==-1&g>>>0>2147483649;h=f?g:-2147483647;g=f?b:-1;b=(g|0)<0|(g|0)==0&h>>>0<2147483647;g=b?h:2147483647;i=0;j=g}else{i=1;j=d}d=j>>5;j=(d|0)<2048?d:2048;d=c[19360+(((j|0)>0?j:0)<<2)>>2]|0;j=B(i?d:16384-d|0,e>>31|1)|0;return ((a|0)<0?j+32768|0:j)&65535|0}function mo(){var a=0;a=mp(16)|0;c[a>>2]=0;c[a+4>>2]=0;c[515541]=(c[515541]|0)+1;return a|0}function no(a){a=a|0;var b=0;if(!a)return;if((c[a>>2]|0)>0){b=0;do{oo(a,b);b=b+1|0}while((b|0)<(c[a>>2]|0))}op(c[a+4>>2]|0);c[515541]=(c[515541]|0)+-1;return}function oo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((a|0)==0|(b|0)<0)return;if((c[a>>2]|0)<=(b|0))return;d=a+4|0;a=c[d>>2]|0;e=c[a+(b*112|0)+80>>2]|0;if(!e)f=a;else{op(c[e+12>>2]|0);op(c[e+16>>2]|0);op(c[e+20>>2]|0);op(e);f=c[d>>2]|0}e=c[f+(b*112|0)+84>>2]|0;if(!e)g=f;else{op(c[e+12>>2]|0);op(c[e+16>>2]|0);op(c[e+20>>2]|0);op(e);g=c[d>>2]|0}e=c[g+(b*112|0)+88>>2]|0;if(!e)h=g;else{op(c[e+12>>2]|0);op(c[e+16>>2]|0);op(c[e+20>>2]|0);op(e);h=c[d>>2]|0}e=c[h+(b*112|0)+96>>2]|0;if(!e)i=h;else{op(c[e+12>>2]|0);op(c[e+16>>2]|0);op(c[e+20>>2]|0);op(e);i=c[d>>2]|0}e=c[i+(b*112|0)+92>>2]|0;if((c[i+(b*112|0)+104>>2]|0)>0){h=0;g=e;f=i;while(1){i=c[g+(h<<2)>>2]|0;if(!i)j=f;else{op(c[i+12>>2]|0);op(c[i+16>>2]|0);op(c[i+20>>2]|0);op(i);j=c[d>>2]|0}h=h+1|0;i=c[j+(b*112|0)+92>>2]|0;if((h|0)>=(c[j+(b*112|0)+104>>2]|0)){k=i;break}else{g=i;f=j}}}else k=e;op(k);return}function po(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ga;Ga=Ga+16|0;e=d;f=(c[b>>2]|0)+1|0;c[b>>2]=f;g=b+4|0;h=np(c[g>>2]|0,f*112|0)|0;c[g>>2]=h;g=(c[b>>2]|0)+-1|0;c[e>>2]=g;as(h+(g*112|0)|0,60130,e)|0;a[h+(g*112|0)+32>>0]=0;e=h+(g*112|0)+64|0;c[e>>2]=-1;c[e+4>>2]=-1;c[e+8>>2]=-1;c[e+12>>2]=-1;c[h+(g*112|0)+104>>2]=0;c[h+(g*112|0)+100>>2]=0;c[h+(g*112|0)+108>>2]=0;e=mp(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+80>>2]=e;e=mp(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+84>>2]=e;e=mp(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+88>>2]=e;e=mp(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=24;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+96>>2]=e;c[h+(g*112|0)+92>>2]=0;Ga=d;return (c[b>>2]|0)+-1|0}function qo(a){a=a|0;var b=0;b=mp(24)|0;c[b+4>>2]=0;c[b>>2]=0;c[b+8>>2]=a;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=0;return b|0}function ro(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if((c[d>>2]|0)>=(b|0)){c[a>>2]=b;return}c[d>>2]=b;d=a+12|0;c[d>>2]=np(c[d>>2]|0,B(c[a+8>>2]|0,b)|0)|0;d=a+16|0;e=b<<2;c[d>>2]=np(c[d>>2]|0,e)|0;d=a+20|0;c[d>>2]=np(c[d>>2]|0,e)|0;c[a>>2]=b;return}function so(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0;d=a+24|0;e=c[d>>2]|0;g=e<<2;h=b+(g<<2)|0;i=b+((g|3)<<2)|0;if(!e)return;g=a+48|0;j=np(c[g>>2]|0,e*48|0)|0;c[g>>2]=j;e=c[d>>2]|0;if((e|0)>0){k=a+36|0;l=0;m=b;b=j;while(1){n=+f[m>>2];o=+x(+n);p=+f[m+4>>2];q=+x(+p);r=+f[m+8>>2];s=+x(+r);t=+w(+n);n=+w(+p);p=+w(+r);u=b+(l*48|0)|0;f[b+(l*48|0)+4>>2]=q;f[u>>2]=t*n;f[b+(l*48|0)+8>>2]=o*n;v=b+(l*48|0)+12|0;r=n*0.0-q*s;f[b+(l*48|0)+16>>2]=q*0.0+n*s;f[v>>2]=r*t-o*p;f[b+(l*48|0)+20>>2]=t*p+r*o;fo(u,v,b+(l*48|0)+24|0);v=m+12|0;b=c[g>>2]|0;u=b+(l*48|0)|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+4|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+8|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+12|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+16|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+20|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+24|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+28|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+32|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+12|0;v=c[u>>2]|0;y=b+(l*48|0)+4|0;c[u>>2]=c[y>>2];c[y>>2]=v;v=b+(l*48|0)+24|0;y=c[v>>2]|0;u=b+(l*48|0)+8|0;c[v>>2]=c[u>>2];c[u>>2]=y;y=b+(l*48|0)+28|0;u=c[y>>2]|0;v=b+(l*48|0)+20|0;c[y>>2]=c[v>>2];c[v>>2]=u;if((c[(c[k>>2]|0)+(l<<2)>>2]|0)==-1){f[b+(l*48|0)+36>>2]=0.0;f[b+(l*48|0)+40>>2]=0.0;f[b+(l*48|0)+44>>2]=0.0}l=l+1|0;z=c[d>>2]|0;if((l|0)>=(z|0))break;else m=m+16|0}m=(z|0)>0;if(m){l=c[a+40>>2]|0;d=c[a+36>>2]|0;a=0;do{k=c[l+(a<<2)>>2]|0;g=c[d+(k<<2)>>2]|0;if((g|0)!=-1){f[b+(k*48|0)+36>>2]=+f[b+(g*48|0)+36>>2]+ +f[b+(g*48|0)>>2];f[b+(k*48|0)+40>>2]=+f[b+(g*48|0)+40>>2]+ +f[b+(g*48|0)+12>>2];f[b+(k*48|0)+44>>2]=+f[b+(g*48|0)+44>>2]+ +f[b+(g*48|0)+24>>2]}a=a+1|0}while((a|0)!=(z|0));A=z;B=b;C=m}else{A=z;B=b;C=0}}else{A=e;B=j;C=0}j=c[i>>2]|0;i=(j|0)<0;e=i?0-j|0:j;o=+f[B+(e*48|0)+36>>2];r=+f[B+(e*48|0)+40>>2];p=+f[B+(e*48|0)+44>>2];if(i){D=o+ +f[B+(e*48|0)>>2];E=r+ +f[B+(e*48|0)+12>>2];F=p+ +f[B+(e*48|0)+24>>2]}else{D=o;E=r;F=p}p=+f[h>>2]-D;D=+f[h+4>>2]-E;E=+f[h+8>>2]-F;if(!C)return;C=0;do{h=B+(C*48|0)+36|0;f[h>>2]=p+ +f[h>>2];h=B+(C*48|0)+40|0;f[h>>2]=D+ +f[h>>2];h=B+(C*48|0)+44|0;f[h>>2]=E+ +f[h>>2];C=C+1|0}while((C|0)!=(A|0));return}function to(a,b){a=a|0;b=b|0;var d=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0.0,A=0.0,B=0.0,C=0.0,D=0.0;d=Ga;Ga=Ga+16|0;g=d;if(!a){Ga=d;return}h=a+24|0;i=a+28|0;j=c[i>>2]|0;if(!(c[h>>2]|0)){op(j);c[i>>2]=0;Ga=d;return}k=a+4|0;c[i>>2]=np(j,c[k>>2]<<5)|0;j=a+44|0;l=mp(c[j>>2]|0)|0;if((c[h>>2]|0)>0){m=a+12|0;n=g+4|0;o=g+8|0;p=a+36|0;q=0;r=0;while(1){s=c[a>>2]|0;t=c[(c[m>>2]|0)+(r*80|0)+48>>2]|0;u=c[t+4>>2]|0;w=c[t>>2]|0;x=+f[s+(u*12|0)>>2]-+f[s+(w*12|0)>>2];f[g>>2]=x;A=+f[s+(u*12|0)+4>>2]-+f[s+(w*12|0)+4>>2];f[n>>2]=A;B=+f[s+(u*12|0)+8>>2]-+f[s+(w*12|0)+8>>2];f[o>>2]=B;f[l+((q|3)<<2)>>2]=+v(+(x*x+A*A+B*B));eo(g);B=+f[g>>2];A=+f[o>>2];x=+v(+(B*B+A*A));C=+z(+A,+B);w=l+(q<<2)|0;f[w>>2]=C;B=+f[n>>2];if(x==0.0)D=B>=0.0?1.5707963267948966:-1.5707963267948966;else D=+y(+(B/x));x=D;s=l+((q|1)<<2)|0;f[s>>2]=x;f[l+((q|2)<<2)>>2]=0.0;if(+f[o>>2]<0.0){f[w>>2]=C+3.141592653589793;f[s>>2]=(1.5707963267948966-(x<0.0?-x:x))*2.0*(+f[n>>2]>=0.0?1.0:-1.0)+x}if((c[(c[p>>2]|0)+(r<<2)>>2]|0)==-1){s=c[h>>2]<<2;w=l+(s<<2)|0;u=c[a>>2]|0;t=c[c[(c[m>>2]|0)+(r*80|0)+48>>2]>>2]|0;c[w>>2]=c[u+(t*12|0)>>2];c[w+4>>2]=c[u+(t*12|0)+4>>2];c[w+8>>2]=c[u+(t*12|0)+8>>2];c[l+((s|3)<<2)>>2]=r}r=r+1|0;if((r|0)>=(c[h>>2]|0))break;else q=q+4|0}}if(b|0){Du(b|0,l|0,c[j>>2]|0)|0;op(l);Ga=d;return}so(a,l);if((c[k>>2]|0)>0){j=a+48|0;b=0;do{q=c[i>>2]|0;go((c[j>>2]|0)+((e[q+(b<<5)>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,q+(b<<5)+8|0);q=c[i>>2]|0;go((c[j>>2]|0)+((e[q+(b<<5)+2>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,q+(b<<5)+20|0);b=b+1|0}while((b|0)<(c[k>>2]|0))}op(l);Ga=d;return}function uo(){var a=0,b=0,d=0,e=0;a=c[515994]|0;b=c[515996]|0;if((b|0)==-1)d=(c[694806]|0)<720&1;else d=b;b=c[515993]|0;e=(a|0)<8?a:8;return ((c[516007]|b|((b|0)==0?d:1)|0)==0?((e|0)<1?1:(e|0)>0?e:0):1)|0}function vo(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=Ga;Ga=Ga+32|0;l=k+20|0;m=k+16|0;n=k+12|0;o=k+8|0;p=k+4|0;q=k;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;if(!((a|0)!=0&(b|0)!=0)){Ga=k;return}j=b+8|0;i=a+8|0;if(2779224==(a|0)?1:(c[j>>2]|0)<(c[i>>2]|0)){Ga=k;return}Nm(a,b,l,m,n,o,p,q);h=c[p>>2]|0;if((h|0)<1){Ga=k;return}g=c[j>>2]|0;j=g>>3;if(2779224==(b|0)){f=c[515994]|0;e=c[515996]|0;if((e|0)==-1)r=(c[b>>2]|0)<720&1;else r=e;e=c[515993]|0;s=(f|0)<8?f:8;f=(c[516007]|e|((e|0)==0?r:1)|0)==0?((s|0)<1?1:(s|0)>0?s:0):1;if((f|0)<=1){Hq(a,b,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,h,c[q>>2]|0,0);Ga=k;return}s=c[516543]|0;if(((s|0)!=0?(r=c[s>>2]|0,(r|0)==(B(c[a>>2]|0,f)|0)):0)?(e=c[s+4>>2]|0,(e|0)==(B(c[a+4>>2]|0,f)|0)):0){t=s;u=r;v=e}else{w=a;x=12}if((x|0)==12){Lm(s)|0;s=B(c[w>>2]|0,f)|0;w=B(c[a+4>>2]|0,f)|0;f=Km(s,w,c[i>>2]|0)|0;c[516543]=f;t=f;u=c[f>>2]|0;v=c[f+4>>2]|0}Qm(a,t,0,0,u,v,0);v=c[516543]|0;Hq(v,b,0,0,0,0,c[v>>2]|0,c[v+4>>2]|0,0);Ga=k;return}v=c[i>>2]|0;if((g|0)==(v|0)){if((c[q>>2]|0)<=0){Ga=k;return}i=b+16|0;u=a+16|0;t=0;f=h;while(1){w=(c[(c[i>>2]|0)+((c[o>>2]|0)+t<<2)>>2]|0)+(B(c[n>>2]|0,j)|0)|0;Du(w|0,(c[(c[u>>2]|0)+((c[m>>2]|0)+t<<2)>>2]|0)+(B(c[l>>2]|0,j)|0)|0,B(f,j)|0)|0;w=t+1|0;if((w|0)>=(c[q>>2]|0))break;t=w;f=c[p>>2]|0}Ga=k;return}if(!((g|0)==32&(v|0)==8)){Ga=k;return}v=c[694819]|0;g=c[q>>2]|0;if((g|0)<=0){Ga=k;return}f=a+16|0;a=b+16|0;b=0;t=h;h=g;while(1){if((t|0)>0){g=c[f>>2]|0;j=c[a>>2]|0;u=0;do{i=d[(c[g+((c[m>>2]|0)+b<<2)>>2]|0)+((c[l>>2]|0)+u)>>0]|0;c[(c[j+((c[o>>2]|0)+b<<2)>>2]|0)+((c[n>>2]|0)+u<<2)>>2]=(d[v+(i*3|0)>>0]|0)<<16|(d[v+(i*3|0)+1>>0]|0)<<8|(d[v+(i*3|0)+2>>0]|0)|-16777216;u=u+1|0;y=c[p>>2]|0}while((u|0)<(y|0));z=c[q>>2]|0;A=y}else{z=h;A=t}b=b+1|0;if((b|0)>=(z|0))break;else{t=A;h=z}}Ga=k;return}function wo(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;if((j|0)<=0)return;k=b+16|0;b=d+16|0;if(!i)return;d=0;do{l=(c[(c[k>>2]|0)+(d+f<<2)>>2]|0)+e|0;m=i;n=(c[(c[b>>2]|0)+(d+h<<2)>>2]|0)+g|0;while(1){o=a[l>>0]|0;if(o<<24>>24)a[n>>0]=o;m=m+-1|0;if(!m)break;else{l=l+1|0;n=n+1|0}}d=d+1|0}while((d|0)!=(j|0));return}function xo(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if((i|0)<=0)return;j=a+16|0;a=b+16|0;if((h|0)<=0)return;b=0;do{k=(c[(c[j>>2]|0)+(b+e<<2)>>2]|0)+(d<<2)|0;l=0;m=(c[(c[a>>2]|0)+(b+g<<2)>>2]|0)+(f<<2)|0;while(1){n=c[k>>2]|0;o=Rm(c[m>>2]|0,n,n>>>24)|0;c[m>>2]=c[m>>2]&-16777216|o;l=l+1|0;if((l|0)==(h|0))break;else{k=k+4|0;m=m+4|0}}b=b+1|0}while((b|0)!=(i|0));return}function yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a>>2]|0;e=a+8|0;do if((d|0)>0){f=c[e>>2]|0;if(!(Cs(b,c[f+(d+-1<<2)>>2]|0)|0))return;else{g=e;h=f;break}}else{g=e;h=c[e>>2]|0}while(0);c[g>>2]=np(h,(d<<2)+4|0)|0;d=mp((Ms(b)|0)+1|0)|0;h=c[a>>2]|0;c[(c[e>>2]|0)+(h<<2)>>2]=d;rm(c[(c[e>>2]|0)+(h<<2)>>2]|0,b)|0;b=a+16|0;h=np(c[b>>2]|0,(c[a>>2]<<2)+4|0)|0;c[b>>2]=h;c[h+(c[a>>2]<<2)>>2]=c[a+4>>2];c[a>>2]=(c[a>>2]|0)+1;return}function zo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=a+8|0;d=c[b>>2]|0;if((c[a>>2]|0)>0){e=0;f=d;while(1){op(c[f+(e<<2)>>2]|0);e=e+1|0;g=c[b>>2]|0;if((e|0)>=(c[a>>2]|0)){h=g;break}else f=g}}else h=d;op(h);op(c[a+16>>2]|0);h=a+4|0;d=a+12|0;a=c[d>>2]|0;if((c[h>>2]|0)<=0){i=a;op(i);j=c[515541]|0;k=j+-1|0;c[515541]=k;return}f=0;e=a;while(1){op(c[e+(f<<2)>>2]|0);f=f+1|0;a=c[d>>2]|0;if((f|0)>=(c[h>>2]|0)){i=a;break}else e=a}op(i);j=c[515541]|0;k=j+-1|0;c[515541]=k;return}function Ao(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;a:do if((e|0)>0){f=c[a+8>>2]|0;g=0;while(1){if(!(Cs(b,c[f+(g<<2)>>2]|0)|0)){h=g;break a}i=g+1|0;if((i|0)<(e|0))g=i;else{h=i;break}}}else h=0;while(0);if((h|0)==(e|0)){j=34752;k=c[j>>2]|0;return k|0}b=c[a+16>>2]|0;g=(c[b+(h<<2)>>2]|0)+d|0;if((g|0)>=(c[a+4>>2]|0)){j=34752;k=c[j>>2]|0;return k|0}if((h|0)<(e+-1|0)?(g|0)>=(c[b+(h+1<<2)>>2]|0):0){j=34752;k=c[j>>2]|0;return k|0}j=(c[a+12>>2]|0)+(g<<2)|0;k=c[j>>2]|0;return k|0}
function Yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=c[a>>2]|0;e=a+28|0;f=c[e>>2]|0;g=a+20|0;h=c[g>>2]|0;do if((f|0)!=-1){i=c[d+12>>2]|0;j=f;while(1){k=i+(j<<2)|0;l=c[k>>2]|0;m=(l>>>14)+-131071|0;n=j;j=(m|0)==-1?-1:j+1+m|0;if((n|0)>0?(m=k+-4|0,o=c[m>>2]|0,((o&63)+-37|0)>>>0<5):0){p=m;q=o}else{p=k;q=l}if((q&63|0)==41){c[p>>2]=q&8372224|q>>>23<<6|40;o=h+~n|0;if((((o|0)>-1?o:0-o|0)|0)>131071){r=8;break}s=c[k>>2]&16383;t=(o<<14)+2147467264|0}else{o=h+~n|0;if((((o|0)>-1?o:0-o|0)|0)>131071){r=11;break}s=(o<<14)+2147467264|0;t=l&16383}c[k>>2]=s|t;if((j|0)==-1){r=14;break}}if((r|0)==8)$d(c[a+12>>2]|0,43994);else if((r|0)==11)$d(c[a+12>>2]|0,43994);else if((r|0)==14){u=c[g>>2]|0;break}}else u=h;while(0);c[e>>2]=-1;e=d+48|0;if((u|0)<(c[e>>2]|0)){v=c[d+12>>2]|0;w=u}else{u=d+12|0;h=ae(c[(c[a+12>>2]|0)+32>>2]|0,c[u>>2]|0,e,4,2147483645,44342)|0;c[u>>2]=h;v=h;w=c[g>>2]|0}c[v+(w<<2)>>2]=b;b=c[g>>2]|0;w=d+52|0;v=a+12|0;if((b|0)<(c[w>>2]|0)){x=d+20|0;y=b;z=c[v>>2]|0;A=z+8|0;B=c[A>>2]|0;C=c[x>>2]|0;D=C+(y<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}else{b=d+20|0;c[b>>2]=ae(c[(c[v>>2]|0)+32>>2]|0,c[b>>2]|0,w,4,2147483645,44342)|0;x=b;y=c[g>>2]|0;z=c[v>>2]|0;A=z+8|0;B=c[A>>2]|0;C=c[x>>2]|0;D=C+(y<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}return 0}function Zd(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=e+16|0;g=c[f>>2]|0;h=e+12|0;i=c[h>>2]|0;do if(c[g>>2]|0?a[g+9>>0]|0:0){j=e+28|0;k=c[j>>2]|0;c[j>>2]=-1;l=Yd(e,2147450916)|0;do if((k|0)!=-1){if((l|0)==-1){m=k;n=d[g+8>>0]|0;break}o=c[(c[e>>2]|0)+12>>2]|0;p=l;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=k+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)$d(c[h>>2]|0,43994);else{c[q>>2]=(o<<14)+2147467264|r&16383;u=11;break}}else u=11;while(0);if((u|0)==11){k=d[g+8>>0]|0;if((l|0)==-1){c[e+24>>2]=c[e+20>>2];break}else{m=l;n=k}}k=c[(c[e>>2]|0)+12>>2]|0;o=(n<<6)+64&16320;t=m;do{s=k+(t<<2)|0;v=c[s>>2]|0;w=(v>>>14)+-131071|0;c[s>>2]=v&-16321|o;t=(w|0)==-1?-1:t+1+w|0}while((t|0)!=-1);c[e+24>>2]=c[e+20>>2];t=c[j>>2]|0;if((t|0)==-1){c[j>>2]=m;break}o=t;while(1){x=k+(o<<2)|0;y=c[x>>2]|0;t=(y>>>14)+-131071|0;l=(t|0)==-1?-1:o+1+t|0;if((l|0)==-1)break;else o=l}k=m+~o|0;if((((k|0)>-1?k:0-k|0)|0)>131071)$d(c[h>>2]|0,43994);else{c[x>>2]=(k<<14)+2147467264|y&16383;break}}while(0);if(a[g+10>>0]|0){y=i+32|0;x=Mc(c[y>>2]|0,53085,5)|0;m=i+44|0;n=c[m>>2]|0;r=n+24|0;q=i+28|0;k=c[q>>2]|0;j=c[k+20>>2]|0;l=n+28|0;t=c[l>>2]|0;w=n+32|0;if((t|0)<(c[w>>2]|0)){z=k;A=t;B=n;C=c[r>>2]|0}else{n=ae(c[y>>2]|0,c[r>>2]|0,w,16,32767,44021)|0;c[r>>2]=n;z=c[q>>2]|0;A=c[l>>2]|0;B=c[m>>2]|0;C=n}c[C+(t<<4)>>2]=x;c[C+(t<<4)+8>>2]=0;a[C+(t<<4)+12>>0]=a[z+46>>0]|0;c[C+(t<<4)+4>>2]=j;c[l>>2]=A+1;A=(c[B+24>>2]|0)+(t<<4)|0;t=b[(c[z+16>>2]|0)+6>>1]|0;z=B+16|0;l=c[z>>2]|0;if((l|0)>(t|0)){j=B+12|0;B=t;t=l;while(1){l=c[(c[j>>2]|0)+(B<<4)>>2]|0;C=c[A>>2]|0;x=a[l+4>>0]|0;do if(x<<24>>24==(a[C+4>>0]|0)){if(x<<24>>24==4){if((l|0)!=(C|0)){u=35;break}}else{n=c[l+12>>2]|0;if((l|0)!=(C|0)){if((n|0)!=(c[C+12>>2]|0)){u=35;break}if(Zr(l+16|0,C+16|0,n)|0){u=35;break}}}be(i,B,A);D=B;E=c[z>>2]|0}else u=35;while(0);if((u|0)==35){u=0;D=B+1|0;E=t}if((D|0)<(E|0)){B=D;t=E}else break}}}E=c[g>>2]|0;c[f>>2]=E;f=g+8|0;t=a[f>>0]|0;D=e+46|0;B=a[D>>0]|0;u=B&255;z=c[(c[h>>2]|0)+44>>2]|0;A=z+4|0;c[A>>2]=(t&255)-u+(c[A>>2]|0);if((t&255)<(B&255)){A=c[e+20>>2]|0;j=c[e+40>>2]|0;C=c[(c[e>>2]|0)+24>>2]|0;l=c[z>>2]|0;x=u;while(1){u=(x&255)+-1<<24>>24;c[C+((b[l+(j+(u&255)<<1)>>1]|0)*12|0)+8>>2]=A;if((u&255)>(t&255))x=x+-1|0;else break}a[D>>0]=t;F=t}else F=B;a[e+48>>0]=F;F=c[i+44>>2]|0;c[F+28>>2]=b[g+4>>1];B=b[g+6>>1]|0;if(!E)if((c[F+16>>2]|0)>(B|0))de(i,(c[F+12>>2]|0)+(B<<4)|0);else return;F=z+16|0;if((c[F>>2]|0)<=(B|0))return;i=z+12|0;z=g+9|0;g=B;B=t;while(1){t=c[i>>2]|0;E=t+(g<<4)+12|0;D=B&255;if((d[E>>0]|0)>(B&255)){if(a[z>>0]|0?(x=c[t+(g<<4)+4>>2]|0,(x|0)!=-1):0){t=c[(c[e>>2]|0)+12>>2]|0;A=(D<<6)+64&16320;D=x;do{x=t+(D<<2)|0;j=c[x>>2]|0;l=(j>>>14)+-131071|0;c[x>>2]=j&-16321|A;D=(l|0)==-1?-1:D+1+l|0}while((D|0)!=-1)}a[E>>0]=B}D=g+((ce(c[h>>2]|0,g)|0)==0&1)|0;if((D|0)>=(c[F>>2]|0))break;g=D;B=a[f>>0]|0}return}function _d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[b+32>>2]|0;g=hd(f,d,e)|0;e=f+8|0;d=c[e>>2]|0;c[e>>2]=d+8;c[d>>2]=g;c[d+4>>2]=(a[g+4>>0]|64)&255;d=c[(c[b+28>>2]|0)+4>>2]|0;b=(c[e>>2]|0)+-8|0;h=uc(d,b)|0;if((h|0)==2060540)i=vc(f,d,b)|0;else i=h;h=i+4|0;do if(!(c[h>>2]|0)){c[i>>2]=1;c[h>>2]=1;b=c[f+12>>2]|0;d=b+12|0;j=c[d>>2]|0;if((j|0)>0)if(!(a[b+51>>0]|0)){k=b+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[d>>2]=-1600;l=g;break}else{wc(f);l=g;break}else l=g}else l=c[i+8>>2]|0;while(0);c[e>>2]=(c[e>>2]|0)+-8;return l|0}function $d(a,b){a=a|0;b=b|0;ie(a,b,c[a+12>>2]|0)}function ae(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Ga;Ga=Ga+16|0;j=i;k=c[e>>2]|0;if((k|0)>=((g|0)/2|0|0))if((k|0)<(g|0))l=g;else{c[j>>2]=h;c[j+4>>2]=g;ic(b,44186,j)}else{j=k<<1;l=(j|0)>4?j:4}if((l+1|0)>>>0>(4294967293/(f>>>0)|0)>>>0)tc(b);j=B(k,f)|0;k=B(l,f)|0;f=c[b+12>>2]|0;g=(d|0)==0;h=f+4|0;m=Ma[c[f>>2]&1](c[h>>2]|0,d,j,k)|0;if(!((k|0)!=0&(m|0)==0)){n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Ga=i;return n|0}if(!(a[f+51>>0]|0))gc(b,4);sc(b,1);m=Ma[c[f>>2]&1](c[h>>2]|0,d,j,k)|0;if(!m)gc(b,4);else{n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Ga=i;return n|0}return 0}function be(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=Ga;Ga=Ga+16|0;i=h;j=c[e+28>>2]|0;k=c[e+44>>2]|0;l=k+12|0;m=c[l>>2]|0;n=a[m+(f<<4)+12>>0]|0;if((n&255)<(d[g+12>>0]|0)){o=c[(c[(c[j>>2]|0)+24>>2]|0)+((b[(c[c[(c[j+12>>2]|0)+44>>2]>>2]|0)+((c[j+40>>2]|0)+(n&255)<<1)>>1]|0)*12|0)>>2]|0;n=c[e+32>>2]|0;p=(c[m+(f<<4)>>2]|0)+16|0;q=m+(f<<4)+8|0;r=ee(c[q>>2]|0)|0;s=fe(c[q>>2]|0)|0;c[i>>2]=p;c[i+4>>2]=r;c[i+8>>2]=s;c[i+12>>2]=o+16;ge(e,gd(n,44121,i)|0)}he(j,c[m+(f<<4)+4>>2]|0,c[g+4>>2]|0);g=k+16|0;k=(c[g>>2]|0)+-1|0;if((k|0)<=(f|0)){t=k;c[g>>2]=t;Ga=h;return}k=f;do{f=c[l>>2]|0;m=f+(k<<4)|0;k=k+1|0;j=f+(k<<4)|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];j=(c[g>>2]|0)+-1|0}while((k|0)<(j|0));t=j;c[g>>2]=t;Ga=h;return}function ce(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[e+28>>2]|0;h=c[e+44>>2]|0;i=c[h+12>>2]|0;j=b[(c[g+16>>2]|0)+4>>1]|0;k=c[h+28>>2]|0;if((k|0)<=(j|0)){l=0;return l|0}m=c[h+24>>2]|0;h=c[i+(f<<4)>>2]|0;n=a[h+4>>0]|0;o=h+12|0;p=h+16|0;q=n<<24>>24==4;r=j;a:while(1){s=m+(r<<4)|0;j=c[s>>2]|0;do if((a[j+4>>0]|0)==n<<24>>24){if(q)if((j|0)==(h|0))break a;else break;t=c[j+12>>2]|0;if((j|0)==(h|0))break a;if((t|0)==(c[o>>2]|0)?(Zr(j+16|0,p,t)|0)==0:0)break a}while(0);j=r+1|0;if((j|0)<(k|0))r=j;else{l=0;u=15;break}}if((u|0)==15)return l|0;u=a[m+(r<<4)+12>>0]|0;if((d[i+(f<<4)+12>>0]|0)>(u&255)?(r=c[i+(f<<4)+4>>2]|0,(r|0)!=-1):0){i=c[(c[g>>2]|0)+12>>2]|0;g=((u&255)<<6)+64&16320;u=r;do{r=i+(u<<2)|0;m=c[r>>2]|0;k=(m>>>14)+-131071|0;c[r>>2]=m&-16321|g;u=(k|0)==-1?-1:u+1+k|0}while((u|0)!=-1)}be(e,f,s);l=1;return l|0}function de(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ga;Ga=Ga+16|0;f=e;e=c[d>>2]|0;if((a[e+4>>0]|0)==4)g=(a[e+6>>0]|0)==0?44034:44087;else g=44034;h=c[b+32>>2]|0;i=d+8|0;d=ee(c[i>>2]|0)|0;j=fe(c[i>>2]|0)|0;c[f>>2]=e+16;c[f+4>>2]=d;c[f+8>>2]=j;ge(b,gd(h,g,f)|0)}function ee(a){a=a|0;return (Ig(a,0)|0)<<16|0}function fe(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;Ig(a,d)|0;Ga=b;return c[d>>2]<<16|0}function ge(a,b){a=a|0;b=b|0;c[a+12>>2]=0;$d(a,b)}function he(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c[a+20>>2]|0)==(d|0)){c[a+24>>2]=d;e=a+28|0;if((b|0)==-1)return;f=c[e>>2]|0;if((f|0)==-1){c[e>>2]=b;return}e=c[(c[a>>2]|0)+12>>2]|0;g=f;while(1){h=e+(g<<2)|0;i=c[h>>2]|0;f=(i>>>14)+-131071|0;j=(f|0)==-1?-1:g+1+f|0;if((j|0)==-1)break;else g=j}e=~g+b|0;if((((e|0)>-1?e:0-e|0)|0)>131071)$d(c[a+12>>2]|0,43994);c[h>>2]=(e<<14)+2147467264|i&16383;return}if((b|0)==-1)return;i=c[(c[a>>2]|0)+12>>2]|0;e=b;while(1){b=i+(e<<2)|0;h=c[b>>2]|0;g=(h>>>14)+-131071|0;j=e;e=(g|0)==-1?-1:e+1+g|0;if((j|0)>0?(g=b+-4|0,f=c[g>>2]|0,((f&63)+-37|0)>>>0<5):0){k=g;l=f}else{k=b;l=h}if((l&63|0)!=41){f=~j+d|0;if((((f|0)>-1?f:0-f|0)|0)>131071){m=20;break}else{n=f;o=h}}else{c[k>>2]=l&8372224|l>>>23<<6|40;h=~j+d|0;if((((h|0)>-1?h:0-h|0)|0)>131071){m=17;break}n=h;o=c[b>>2]|0}c[b>>2]=o&16383|(n<<14)+2147467264;if((e|0)==-1){m=22;break}}if((m|0)==17)$d(c[a+12>>2]|0,43994);else if((m|0)==20)$d(c[a+12>>2]|0,43994);else if((m|0)==22)return}function ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=Ga;Ga=Ga+96|0;g=f+88|0;h=f+80|0;i=f+64|0;j=f;f=(c[b+48>>2]|0)+16|0;k=Ms(f)|0;a:do switch(a[f>>0]|0){case 61:{l=f+1|0;if(k>>>0>60){m=j;n=l;o=m+59|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[j+59>>0]=0;break a}else{Du(j|0,l|0,k|0)|0;break a}break}case 64:{if(k>>>0>60){a[j>>0]=a[43846]|0;a[j+1>>0]=a[43847]|0;a[j+2>>0]=a[43848]|0;m=j+3|0;n=f+1+k+-57|0;o=m+57|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));break a}else{Du(j|0,f+1|0,k|0)|0;break a}break}default:{l=Ys(f,10)|0;m=j;n=43850;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));p=j+9|0;q=(l|0)==0;if(k>>>0<45&q){Du(p|0,f|0,k|0)|0;r=p+k|0}else{s=q?k:l-f|0;q=s>>>0<45?s:45;Du(p|0,f|0,q|0)|0;s=p+q|0;a[s>>0]=a[43846]|0;a[s+1>>0]=a[43847]|0;a[s+2>>0]=a[43848]|0;r=s+3|0};a[r>>0]=a[43860]|0;a[r+1>>0]=a[43861]|0;a[r+2>>0]=a[43862]|0}}while(0);r=b+32|0;f=c[r>>2]|0;k=c[b+4>>2]|0;c[i>>2]=j;c[i+4>>2]=k;c[i+8>>2]=d;d=gd(f,44212,i)|0;if(!e){t=c[r>>2]|0;gc(t,3)}i=c[r>>2]|0;if((e+-287|0)>>>0<3){f=b+40|0;k=c[f>>2]|0;j=k+4|0;n=c[j>>2]|0;m=n+1|0;o=k+8|0;s=c[o>>2]|0;if(m>>>0>s>>>0){if(s>>>0>2147483645)ie(b,44222,0);q=s<<1;if((q|0)==-2)tc(i);p=c[k>>2]|0;u=c[i+12>>2]|0;v=(p|0)==0;w=u+4|0;x=Ma[c[u>>2]&1](c[w>>2]|0,p,s,q)|0;if((q|0)!=0&(x|0)==0){if(!(a[u+51>>0]|0))gc(i,4);sc(i,1);y=Ma[c[u>>2]&1](c[w>>2]|0,p,s,q)|0;if(!y)gc(i,4);else z=y}else z=x;x=u+12|0;c[x>>2]=(v?0:0-s|0)+q+(c[x>>2]|0);c[k>>2]=z;c[o>>2]=q;q=c[j>>2]|0;A=q+1|0;B=z;C=q}else{A=m;B=c[k>>2]|0;C=n}c[j>>2]=A;a[B+C>>0]=0;C=c[r>>2]|0;c[h>>2]=c[c[f>>2]>>2];D=gd(C,44247,h)|0}else D=je(b,e)|0;c[g>>2]=d;c[g+4>>2]=D;gd(i,44252,g)|0;t=c[r>>2]|0;gc(t,3)}function je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=Ga;Ga=Ga+128|0;e=d+112|0;f=d+104|0;g=d+96|0;h=d+88|0;i=d+80|0;j=d+72|0;k=d+64|0;l=d+56|0;m=d+48|0;n=d+40|0;o=d+32|0;p=d+24|0;q=d+16|0;r=d+8|0;s=d;do switch(b|0){case 38:{t=c[a+32>>2]|0;c[s>>2]=44263;u=gd(t,44247,s)|0;Ga=d;return u|0}case 124:{t=c[a+32>>2]|0;c[r>>2]=44265;u=gd(t,44247,r)|0;Ga=d;return u|0}case 295:{t=c[a+32>>2]|0;c[q>>2]=44267;u=gd(t,44247,q)|0;Ga=d;return u|0}case 290:{t=c[a+32>>2]|0;c[p>>2]=44270;u=gd(t,44247,p)|0;Ga=d;return u|0}case 291:{t=c[a+32>>2]|0;c[o>>2]=44273;u=gd(t,44247,o)|0;Ga=d;return u|0}case 292:{t=c[a+32>>2]|0;c[n>>2]=44276;u=gd(t,44247,n)|0;Ga=d;return u|0}case 293:{t=c[a+32>>2]|0;c[m>>2]=44280;u=gd(t,44247,m)|0;Ga=d;return u|0}case 294:{t=c[a+32>>2]|0;c[l>>2]=44284;u=gd(t,44247,l)|0;Ga=d;return u|0}case 126:{t=c[a+32>>2]|0;c[k>>2]=60024;u=gd(t,44247,k)|0;Ga=d;return u|0}case 92:{t=c[a+32>>2]|0;c[j>>2]=44288;u=gd(t,44247,j)|0;Ga=d;return u|0}case 64:{t=c[a+32>>2]|0;c[i>>2]=44290;u=gd(t,44247,i)|0;Ga=d;return u|0}case 296:{t=c[a+32>>2]|0;c[h>>2]=44292;u=gd(t,44247,h)|0;Ga=d;return u|0}case 36:{t=c[a+32>>2]|0;c[g>>2]=44295;u=gd(t,44247,g)|0;Ga=d;return u|0}default:{if((b|0)<257){t=c[a+32>>2]|0;c[f>>2]=b;u=gd(t,44297,f)|0;Ga=d;return u|0}t=c[656+(b+-257<<2)>>2]|0;if((b|0)>=286){u=t;Ga=d;return u|0}v=c[a+32>>2]|0;c[e>>2]=t;u=gd(v,44247,e)|0;Ga=d;return u|0}}while(0);return 0}function ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ga;Ga=Ga+32|0;f=e+8|0;g=e;h=e+20|0;e=a+12|0;i=c[(c[e>>2]|0)+32>>2]|0;j=c[(c[a>>2]|0)+64>>2]|0;if(!j)k=44804;else{a=(Ig(j,0)|0)<<16;Ig(j,h)|0;j=c[h>>2]<<16;c[g>>2]=a;c[g+4>>2]=j;k=gd(i,44775,g)|0}c[f>>2]=d;c[f+4>>2]=b<<16;c[f+8>>2]=k;k=gd(i,44818,f)|0;$d(c[e>>2]|0,k)}function le(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Ga;Ga=Ga+32|0;g=f+16|0;h=f;i=d+28|0;j=c[i>>2]|0;k=d+4|0;l=d+8|0;c[l>>2]=c[k>>2];m=d+20|0;if((c[m>>2]|0)==286){n=d+12|0;c[n>>2]=Ud(d,d+16|0)|0;o=n}else{n=m;p=c[n+4>>2]|0;q=d+12|0;c[q>>2]=c[n>>2];c[q+4>>2]=p;c[m>>2]=286;o=d+12|0}ne(d,h,0)|0;if((c[o>>2]|0)!=275)Wd(d,275);c[l>>2]=c[k>>2];if((c[m>>2]|0)==286){p=Ud(d,d+16|0)|0;c[o>>2]=p;r=p}else{p=m;q=c[p>>2]|0;n=c[p+4>>2]|0;p=d+12|0;c[p>>2]=q;c[p+4>>2]=n;c[m>>2]=286;r=q}a:do switch(r|0){case 258:case 266:{Oe(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;q=j+12|0;n=c[(c[q>>2]|0)+44>>2]|0;b[g+4>>1]=c[n+28>>2];b[g+6>>1]=c[n+16>>2];a[g+9>>0]=0;n=j+16|0;c[g>>2]=c[n>>2];c[n>>2]=g;n=c[h+8>>2]|0;p=c[k>>2]|0;s=(c[o>>2]|0)==266;c[l>>2]=p;t=(c[m>>2]|0)==286;do if(s){if(t){u=Ud(d,d+16|0)|0;c[o>>2]=u;v=u}else{u=m;w=c[u>>2]|0;x=c[u+4>>2]|0;u=d+12|0;c[u>>2]=w;c[u+4>>2]=x;c[m>>2]=286;v=w}if((v|0)!=288)Wd(d,288);w=d+16|0;x=c[w>>2]|0;c[l>>2]=c[k>>2];if((c[m>>2]|0)==286){c[o>>2]=Ud(d,w)|0;y=x;break}else{w=m;u=c[w+4>>2]|0;z=d+12|0;c[z>>2]=c[w>>2];c[z+4>>2]=u;c[m>>2]=286;y=x;break}}else{if(t)c[o>>2]=Ud(d,d+16|0)|0;else{x=m;u=c[x+4>>2]|0;z=d+12|0;c[z>>2]=c[x>>2];c[z+4>>2]=u;c[m>>2]=286}y=hd(c[d+32>>2]|0,53085,5)|0}while(0);t=c[d+44>>2]|0;s=t+12|0;u=t+16|0;z=c[u>>2]|0;x=t+20|0;if((z|0)<(c[x>>2]|0)){A=c[s>>2]|0;B=z}else{t=ae(c[d+32>>2]|0,c[s>>2]|0,x,16,32767,44021)|0;c[s>>2]=t;A=t;B=c[u>>2]|0}c[A+(z<<4)>>2]=y;c[A+(z<<4)+8>>2]=p;a[A+(z<<4)+12>>0]=a[(c[i>>2]|0)+46>>0]|0;c[A+(z<<4)+4>>2]=n;c[u>>2]=B+1;ce(d,z)|0;b:while(1){switch(c[o>>2]|0){case 286:case 262:case 261:case 260:{C=29;break b;break}case 285:case 59:break;default:break b}Vd(d)}if((C|0)==29){Zd(j);Ga=f;return}n=j+28|0;p=c[n>>2]|0;c[n>>2]=-1;n=Yd(j,2147450916)|0;if((p|0)!=-1)if((n|0)!=-1){z=c[(c[j>>2]|0)+12>>2]|0;u=n;while(1){D=z+(u<<2)|0;E=c[D>>2]|0;t=(E>>>14)+-131071|0;s=(t|0)==-1?-1:u+1+t|0;if((s|0)==-1)break;else u=s}z=p+~u|0;if((((z|0)>-1?z:0-z|0)|0)>131071)$d(c[q>>2]|0,43994);else{c[D>>2]=(z<<14)+2147467264|E&16383;F=n;break a}}else F=p;else F=n;break}default:{oe(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;z=c[(c[j+12>>2]|0)+44>>2]|0;b[g+4>>1]=c[z+28>>2];b[g+6>>1]=c[z+16>>2];a[g+9>>0]=0;z=j+16|0;c[g>>2]=c[z>>2];c[z>>2]=g;F=c[h+12>>2]|0}}while(0);c:do{h=c[o>>2]|0;switch(h|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}Vd(d)}while((h|0)!=274);Zd(j);d=j+28|0;do if((c[o>>2]&-2|0)==260){h=c[d>>2]|0;c[d>>2]=-1;g=Yd(j,2147450916)|0;do if((h|0)!=-1)if((g|0)!=-1){i=c[(c[j>>2]|0)+12>>2]|0;E=g;while(1){G=i+(E<<2)|0;H=c[G>>2]|0;D=(H>>>14)+-131071|0;B=(D|0)==-1?-1:E+1+D|0;if((B|0)==-1)break;else E=B}i=h+~E|0;if((((i|0)>-1?i:0-i|0)|0)>131071)$d(c[j+12>>2]|0,43994);else{c[G>>2]=(i<<14)+2147467264|H&16383;C=49;break}}else I=h;else C=49;while(0);if((C|0)==49)if((g|0)==-1)break;else I=g;h=c[e>>2]|0;if((h|0)==-1){c[e>>2]=I;break}n=c[(c[j>>2]|0)+12>>2]|0;p=h;while(1){J=n+(p<<2)|0;K=c[J>>2]|0;h=(K>>>14)+-131071|0;q=(h|0)==-1?-1:p+1+h|0;if((q|0)==-1)break;else p=q}n=I+~p|0;if((((n|0)>-1?n:0-n|0)|0)>131071)$d(c[j+12>>2]|0,43994);else{c[J>>2]=(n<<14)+2147467264|K&16383;break}}while(0);c[j+24>>2]=c[j+20>>2];if((F|0)==-1){Ga=f;return}K=c[d>>2]|0;if((K|0)==-1){c[d>>2]=F;Ga=f;return}d=c[(c[j>>2]|0)+12>>2]|0;J=K;while(1){L=d+(J<<2)|0;M=c[L>>2]|0;K=(M>>>14)+-131071|0;I=(K|0)==-1?-1:J+1+K|0;if((I|0)==-1)break;else J=I}d=F+~J|0;if((((d|0)>-1?d:0-d|0)|0)>131071)$d(c[j+12>>2]|0,43994);c[L>>2]=(d<<14)+2147467264|M&16383;Ga=f;return}function me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=Ga;Ga=Ga+16|0;g=f;h=a+12|0;i=c[a+4>>2]|0;if((c[h>>2]|0)!=(b|0))if((i|0)==(e|0))Wd(a,b);else{j=c[a+32>>2]|0;k=je(a,b)|0;b=je(a,d)|0;d=ee(e)|0;l=fe(e)|0;c[g>>2]=k;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=l;$d(a,gd(j,44729,g)|0)}c[a+8>>2]=i;i=a+20|0;if((c[i>>2]|0)==286){c[h>>2]=Ud(a,a+16|0)|0;Ga=f;return}else{h=i;g=c[h+4>>2]|0;j=a+12|0;c[j>>2]=c[h>>2];c[j+4>>2]=g;c[i>>2]=286;Ga=f;return}}function ne(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=Ga;Ga=Ga+16|0;i=h;j=e+28|0;k=c[j>>2]|0;l=e+32|0;m=(c[l>>2]|0)+38|0;n=(b[m>>1]|0)+1<<16>>16;b[m>>1]=n;if((n&65535)>200)ke(k,200,44362);n=e+12|0;a:do switch(c[n>>2]|0){case 271:{o=1;p=10;break}case 45:{o=0;p=10;break}case 35:{o=2;p=10;break}case 126:{o=14;p=10;break}case 64:{o=16;p=10;break}case 37:{o=17;p=10;break}case 36:{o=18;p=10;break}case 287:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=5;m=f+4|0;c[m>>2]=0;c[m>>2]=c[e+16>>2];p=28;break}case 289:{m=c[e+16>>2]|0;c[i>>2]=m;c[i+4>>2]=(a[m+4>>0]|64)&255;m=re(k,i,i)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=4;c[f+4>>2]=m;p=28;break}case 270:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=1;c[f+4>>2]=0;p=28;break}case 276:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=2;c[f+4>>2]=0;p=28;break}case 263:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=3;c[f+4>>2]=0;p=28;break}case 280:{if(!(a[(c[k>>2]|0)+77>>0]|0))$d(e,44686);else{m=Yd(k,8388659)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=13;c[f+4>>2]=m;p=28;break a}break}case 123:{Fe(e,f);p=31;break}case 265:{m=e+4|0;q=c[m>>2]|0;c[e+8>>2]=q;r=e+20|0;if((c[r>>2]|0)==286){c[n>>2]=Ud(e,e+16|0)|0;s=c[m>>2]|0}else{m=r;t=c[m+4>>2]|0;u=e+12|0;c[u>>2]=c[m>>2];c[u+4>>2]=t;c[r>>2]=286;s=q}ze(e,f,0,s);p=31;break}default:{Be(e,f);p=31}}while(0);do if((p|0)==10){s=c[e+4>>2]|0;c[e+8>>2]=s;k=e+20|0;if((c[k>>2]|0)==286)c[n>>2]=Ud(e,e+16|0)|0;else{q=k;r=c[q+4>>2]|0;t=e+12|0;c[t>>2]=c[q>>2];c[t+4>>2]=r;c[k>>2]=286}ne(e,f,18)|0;Je(c[j>>2]|0,o,f,s);p=31}else if((p|0)==28){c[e+8>>2]=c[e+4>>2];s=e+20|0;if((c[s>>2]|0)==286){k=Ud(e,e+16|0)|0;c[n>>2]=k;v=k;break}else{k=s;r=c[k+4>>2]|0;t=e+12|0;c[t>>2]=c[k>>2];c[t+4>>2]=r;c[s>>2]=286;p=31;break}}while(0);if((p|0)==31)v=c[n>>2]|0;do switch(v|0){case 43:{w=0;break}case 45:{w=1;break}case 42:{w=2;break}case 47:{w=3;break}case 37:{w=4;break}case 94:{w=5;break}case 38:{w=6;break}case 124:{w=7;break}case 295:{w=8;break}case 290:{w=9;break}case 291:{w=10;break}case 292:{w=11;break}case 293:{w=12;break}case 294:{w=13;break}case 92:{w=15;break}case 279:{w=19;break}case 284:{w=23;break}case 281:{w=20;break}case 60:{w=21;break}case 283:{w=22;break}case 62:{w=24;break}case 282:{w=25;break}case 257:{w=26;break}case 272:{w=27;break}default:{x=28;y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Ga=h;return x|0}}while(0);v=e+4|0;o=e+8|0;s=e+20|0;r=e+16|0;t=e+12|0;k=w;while(1){if((d[800+(k<<1)>>0]|0)<=(g|0)){x=k;p=62;break}w=c[v>>2]|0;c[o>>2]=w;if((c[s>>2]|0)==286)c[n>>2]=Ud(e,r)|0;else{q=s;u=c[q+4>>2]|0;m=t;c[m>>2]=c[q>>2];c[m+4>>2]=u;c[s>>2]=286}Ke(c[j>>2]|0,k,f);u=k;k=ne(e,i,d[800+(k<<1)+1>>0]|0)|0;Le(c[j>>2]|0,u,f,i,w);if((k|0)==28){x=28;p=62;break}}if((p|0)==62){y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Ga=h;return x|0}return 0}function oe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;te(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=e+4|0;h=c[g>>2]|0;i=(c[(c[b>>2]|0)+12>>2]|0)+(h<<2)|0;if((h|0)>0?(h=i+-4|0,j=c[h>>2]|0,((j&63)+-37|0)>>>0<5):0){k=h;l=j}else{k=i;l=c[i>>2]|0}c[k>>2]=((l&16320|0)==0&1)<<6|l&-16321;m=c[g>>2]|0;n=32;break}case 2:case 5:case 4:break;case 11:{g=c[b>>2]|0;i=e+4|0;j=c[(c[g+12>>2]|0)+(c[i>>2]<<2)>>2]|0;h=b+20|0;if((j&63|0)==33){c[h>>2]=(c[h>>2]|0)+-1;Yd(b,j>>>23<<6|16424)|0;j=b+28|0;h=c[j>>2]|0;c[j>>2]=-1;j=Yd(b,2147450916)|0;if((h|0)!=-1)if((j|0)!=-1){o=c[(c[b>>2]|0)+12>>2]|0;p=j;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=h+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)$d(c[b+12>>2]|0,43994);else{c[q>>2]=(o<<14)+2147467264|r&16383;m=j;n=32;break a}}else{u=h;n=33}else{m=j;n=32}}else{v=i;w=g;n=16}break}default:{o=e+4|0;if((f|0)==6){x=o;n=22}else{v=o;w=c[b>>2]|0;n=16}}}while(0);if((n|0)==16){f=b+48|0;r=a[f>>0]|0;q=(r&255)+1|0;l=w+78|0;do if((r&255)>=(d[l>>0]|0))if((r&255)>248)$d(c[b+12>>2]|0,44406);else{w=q&255;a[l>>0]=w;y=w;break}else y=q&255;while(0);a[f>>0]=y;Ie(b,e,(y&255)+-1|0);if((c[e>>2]|0)==6){x=v;n=22}else{z=v;n=25}}if((n|0)==22){v=c[e+4>>2]|0;if((v&256|0)==0?(v|0)>=(d[b+46>>0]|0|0):0){v=b+48|0;a[v>>0]=(a[v>>0]|0)+-1<<24>>24;z=x;n=25}else{z=x;n=25}}do if((n|0)==25){Yd(b,c[z>>2]<<23|16361)|0;x=b+28|0;v=c[x>>2]|0;c[x>>2]=-1;x=Yd(b,2147450916)|0;if((v|0)!=-1)if((x|0)!=-1){y=c[(c[b>>2]|0)+12>>2]|0;f=x;while(1){A=y+(f<<2)|0;B=c[A>>2]|0;q=(B>>>14)+-131071|0;l=(q|0)==-1?-1:f+1+q|0;if((l|0)==-1)break;else f=l}y=v+~f|0;if((((y|0)>-1?y:0-y|0)|0)>131071)$d(c[b+12>>2]|0,43994);else{c[A>>2]=(y<<14)+2147467264|B&16383;m=x;n=32;break}}else{u=v;n=33}else{m=x;n=32}}while(0);if((n|0)==32?(m|0)!=-1:0){u=m;n=33}do if((n|0)==33){m=e+12|0;B=c[m>>2]|0;if((B|0)==-1){c[m>>2]=u;break}m=c[(c[b>>2]|0)+12>>2]|0;A=B;while(1){C=m+(A<<2)|0;D=c[C>>2]|0;B=(D>>>14)+-131071|0;z=(B|0)==-1?-1:A+1+B|0;if((z|0)==-1)break;else A=z}m=u+~A|0;if((((m|0)>-1?m:0-m|0)|0)>131071)$d(c[b+12>>2]|0,43994);else{c[C>>2]=(m<<14)+2147467264|D&16383;break}}while(0);D=e+8|0;e=c[D>>2]|0;c[b+24>>2]=c[b+20>>2];C=b+28|0;if((e|0)==-1){c[D>>2]=-1;return}u=c[C>>2]|0;if((u|0)==-1){c[C>>2]=e;c[D>>2]=-1;return}C=c[(c[b>>2]|0)+12>>2]|0;n=u;while(1){E=C+(n<<2)|0;F=c[E>>2]|0;u=(F>>>14)+-131071|0;m=(u|0)==-1?-1:n+1+u|0;if((m|0)==-1)break;else n=m}C=e+~n|0;if((((C|0)>-1?C:0-C|0)|0)>131071)$d(c[b+12>>2]|0,43994);c[E>>2]=(C<<14)+2147467264|F&16383;c[D>>2]=-1;return}function pe(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=c[e+28>>2]|0;h=c[e+44>>2]|0;i=c[g>>2]|0;j=i+60|0;k=c[j>>2]|0;l=g+44|0;if((k|0)>(b[l>>1]|0)){m=k;n=c[i+24>>2]|0}else{o=i+24|0;p=ae(c[e+32>>2]|0,c[o>>2]|0,j,12,32767,44670)|0;c[o>>2]=p;m=c[j>>2]|0;n=p}if((k|0)<(m|0)?(p=k+1|0,c[n+(k*12|0)>>2]=0,(p|0)<(m|0)):0){k=p;do{c[n+(k*12|0)>>2]=0;k=k+1|0}while((k|0)!=(m|0))}c[n+((b[l>>1]|0)*12|0)>>2]=f;do if(a[f+5>>0]&3?(n=i+5|0,m=a[n>>0]|0,m&4):0){k=c[(c[e+32>>2]|0)+12>>2]|0;if((d[k+49>>0]|0)<2){rc(k,f);break}else{a[n>>0]=a[k+48>>0]&3|m&-72;break}}while(0);f=b[l>>1]|0;b[l>>1]=f+1<<16>>16;l=h+4|0;i=c[l>>2]|0;m=i+1|0;if((m-(c[g+40>>2]|0)|0)>200)ke(g,200,44670);g=h+8|0;if((i+2|0)>(c[g>>2]|0)){k=ae(c[e+32>>2]|0,c[h>>2]|0,g,2,2147483645,44670)|0;c[h>>2]=k;g=c[l>>2]|0;q=g+1|0;r=k;s=g;c[l>>2]=q;t=r+(s<<1)|0;b[t>>1]=f;return}else{q=m;r=c[h>>2]|0;s=i;c[l>>2]=q;t=r+(s<<1)|0;b[t>>1]=f;return}}function qe(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ga;Ga=Ga+16|0;f=e;ne(b,f,0)|0;g=c[b+28>>2]|0;te(g,f);if(((c[f>>2]|0)==6?(b=c[f+4>>2]|0,(b&256|0)==0):0)?(b|0)>=(d[g+46>>0]|0|0):0){b=g+48|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}b=g+48|0;h=a[b>>0]|0;i=(h&255)+1|0;j=(c[g>>2]|0)+78|0;if((h&255)<(d[j>>0]|0)){k=i&255;a[b>>0]=k;l=k&255;m=l+-1|0;ue(g,f,m);Ga=e;return}if((h&255)>248)$d(c[g+12>>2]|0,44406);h=i&255;a[j>>0]=h;k=h;a[b>>0]=k;l=k&255;m=l+-1|0;ue(g,f,m);Ga=e;return}function re(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[(c[b+12>>2]|0)+32>>2]|0;h=c[b>>2]|0;i=c[b+4>>2]|0;j=uc(i,e)|0;if((j|0)==2060540)k=vc(g,i,e)|0;else k=j;j=k+4|0;if(((c[j>>2]|0)==3?(e=c[k>>2]>>16,i=c[h+8>>2]|0,(c[i+(e<<3)+4>>2]|0)==(c[f+4>>2]|0)):0)?Bc(0,i+(e<<3)|0,f)|0:0){l=e;return l|0}e=h+44|0;i=c[e>>2]|0;m=b+32|0;b=c[m>>2]|0;c[k>>2]=b;c[j>>2]=3;j=c[e>>2]|0;k=h+8|0;if((b|0)<(j|0)){n=j;o=c[k>>2]|0}else{j=ae(g,c[k>>2]|0,e,8,67108863,44660)|0;c[k>>2]=j;n=c[e>>2]|0;o=j}if((i|0)<(n|0)?(j=i+1|0,c[o+(i<<3)+4>>2]=0,(j|0)<(n|0)):0){i=j;do{c[o+(i<<3)+4>>2]=0;i=i+1|0}while((i|0)<(n|0))}c[o+(b<<3)>>2]=c[f>>2];n=f+4|0;c[o+(b<<3)+4>>2]=c[n>>2];c[m>>2]=(c[m>>2]|0)+1;if(!(c[n>>2]&64)){l=b;return l|0}n=c[f>>2]|0;if(!(a[n+5>>0]&3)){l=b;return l|0}f=h+5|0;h=a[f>>0]|0;if(!(h&4)){l=b;return l|0}m=c[g+12>>2]|0;if((d[m+49>>0]|0)<2){rc(m,n);l=b;return l|0}else{a[f>>0]=a[m+48>>0]&3|h&-72;l=b;return l|0}return 0}function se(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;j=Ga;Ga=Ga+32|0;k=j+12|0;l=j;m=e+28|0;n=c[m>>2]|0;o=n+46|0;p=a[o>>0]|0;a[o>>0]=(p&255)+3;q=n+20|0;r=c[q>>2]|0;s=n+12|0;t=c[(c[n>>2]|0)+24>>2]|0;u=c[c[(c[s>>2]|0)+44>>2]>>2]|0;v=(c[n+40>>2]|0)+(p+3&255)|0;c[t+((b[u+(v+-3<<1)>>1]|0)*12|0)+4>>2]=r;c[t+((b[u+(v+-2<<1)>>1]|0)*12|0)+4>>2]=r;c[t+((b[u+(v+-1<<1)>>1]|0)*12|0)+4>>2]=r;r=e+12|0;if((c[r>>2]|0)!=259)Wd(e,259);c[e+8>>2]=c[e+4>>2];v=e+20|0;if((c[v>>2]|0)==286)c[r>>2]=Ud(e,e+16|0)|0;else{u=v;t=c[u+4>>2]|0;p=e+12|0;c[p>>2]=c[u>>2];c[p+4>>2]=t;c[v>>2]=286}v=(i|0)!=0;do if(!v){i=n+28|0;t=c[i>>2]|0;c[i>>2]=-1;i=Yd(n,2147450916)|0;if((t|0)!=-1)if((i|0)!=-1){p=c[(c[n>>2]|0)+12>>2]|0;u=i;while(1){w=p+(u<<2)|0;x=c[w>>2]|0;y=(x>>>14)+-131071|0;z=(y|0)==-1?-1:u+1+y|0;if((z|0)==-1)break;else u=z}p=t+~u|0;if((((p|0)>-1?p:0-p|0)|0)>131071)$d(c[s>>2]|0,43994);else{c[w>>2]=(p<<14)+2147467264|x&16383;A=i;break}}else A=t;else A=i}else A=Yd(n,f<<6|2147450926)|0;while(0);a[l+10>>0]=0;a[l+8>>0]=a[o>>0]|0;o=c[s>>2]|0;x=c[o+44>>2]|0;b[l+4>>1]=c[x+28>>2];b[l+6>>1]=c[x+16>>2];a[l+9>>0]=0;x=n+16|0;c[l>>2]=c[x>>2];c[x>>2]=l;l=c[m>>2]|0;m=l+46|0;x=(d[m>>0]|0)+h|0;w=x&255;a[m>>0]=w;if(h|0){m=c[l+20>>2]|0;p=c[(c[l>>2]|0)+24>>2]|0;z=c[c[(c[l+12>>2]|0)+44>>2]>>2]|0;y=(c[l+40>>2]|0)+(x&255)|0;x=h;do{c[p+((b[z+(y-x<<1)>>1]|0)*12|0)+4>>2]=m;x=x+-1|0}while((x|0)!=0)}x=n+48|0;m=(d[x>>0]|0)+h|0;y=(c[n>>2]|0)+78|0;do if((m|0)>(d[y>>0]|0))if((m|0)>249)$d(o,44406);else{z=m&255;a[y>>0]=z;B=z;break}else B=m&255;while(0);a[x>>0]=B;a[k+10>>0]=0;a[k+8>>0]=w;w=c[(c[l+12>>2]|0)+44>>2]|0;b[k+4>>1]=c[w+28>>2];b[k+6>>1]=c[w+16>>2];a[k+9>>0]=0;w=l+16|0;c[k>>2]=c[w>>2];c[w>>2]=k;a:do{k=c[r>>2]|0;switch(k|0){case 277:case 286:case 262:case 261:case 260:{break a;break}default:{}}Vd(e)}while((k|0)!=274);Zd(l);Zd(n);c[n+24>>2]=c[q>>2];l=n+28|0;do if((A|0)!=-1){e=c[l>>2]|0;if((e|0)==-1){c[l>>2]=A;break}r=c[(c[n>>2]|0)+12>>2]|0;k=e;while(1){C=r+(k<<2)|0;D=c[C>>2]|0;e=(D>>>14)+-131071|0;w=(e|0)==-1?-1:k+1+e|0;if((w|0)==-1)break;else k=w}r=A+~k|0;if((((r|0)>-1?r:0-r|0)|0)>131071)$d(c[s>>2]|0,43994);else{c[C>>2]=(r<<14)+2147467264|D&16383;break}}while(0);D=f<<6;if(v){E=D|2147450925;F=Yd(n,E)|0;G=A+1|0;he(n,F,G);H=c[n>>2]|0;I=H+20|0;J=c[I>>2]|0;K=c[q>>2]|0;L=K+-1|0;M=J+(L<<2)|0;c[M>>2]=g;Ga=j;return}else{Yd(n,D|h<<14|47)|0;c[(c[(c[n>>2]|0)+20>>2]|0)+((c[q>>2]|0)+-1<<2)>>2]=g;E=D+128|2147450928;F=Yd(n,E)|0;G=A+1|0;he(n,F,G);H=c[n>>2]|0;I=H+20|0;J=c[I>>2]|0;K=c[q>>2]|0;L=K+-1|0;M=J+(L<<2)|0;c[M>>2]=g;Ga=j;return}}function te(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;switch(c[f>>2]|0){case 7:{c[f>>2]=6;return}case 8:{g=f+4|0;c[g>>2]=Yd(e,c[g>>2]<<23|5)|0;c[f>>2]=11;return}case 9:{g=f+4|0;h=b[g>>1]|0;if((h&256|0)==0?(d[e+46>>0]|0)<=(h|0):0){h=e+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=g+2|0;if((a[g+3>>0]|0)==7)if((d[e+46>>0]|0)>(d[h>>0]|0))i=7;else{j=e+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;i=7}else i=6;c[g>>2]=Yd(e,d[h>>0]<<23|i|b[g>>1]<<14)|0;c[f>>2]=11;return}case 12:{c[f>>2]=6;g=f+4|0;c[g>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>6&255;return}case 13:{g=(c[(c[e>>2]|0)+12>>2]|0)+(c[f+4>>2]<<2)|0;c[g>>2]=c[g>>2]&8388607|16777216;c[f>>2]=11;return}default:return}}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Ie(a,b,d);e=(c[b>>2]|0)==10;f=b+8|0;do if(e?(g=c[b+4>>2]|0,(g|0)!=-1):0){h=c[f>>2]|0;if((h|0)==-1){c[f>>2]=g;i=g;break}j=c[(c[a>>2]|0)+12>>2]|0;k=h;while(1){l=j+(k<<2)|0;m=c[l>>2]|0;h=(m>>>14)+-131071|0;n=(h|0)==-1?-1:k+1+h|0;if((n|0)==-1)break;else k=n}j=g+~k|0;if((((j|0)>-1?j:0-j|0)|0)>131071)$d(c[a+12>>2]|0,43994);else{c[l>>2]=(j<<14)+2147467264|m&16383;o=10;break}}else o=10;while(0);if((o|0)==10)i=c[f>>2]|0;m=b+12|0;l=c[m>>2]|0;if((i|0)==(l|0)){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}a:do if((i|0)==-1)o=19;else{j=c[(c[a>>2]|0)+12>>2]|0;n=i;while(1){h=j+(n<<2)|0;if((n|0)>0?(q=c[h+-4>>2]|0,((q&63)+-37|0)>>>0<5):0)r=q;else r=c[h>>2]|0;if((r&63|0)!=41){o=26;break a}q=((c[h>>2]|0)>>>14)+-131071|0;n=(q|0)==-1?-1:n+1+q|0;if((n|0)==-1){o=19;break}}}while(0);b:do if((o|0)==19)if((l|0)==-1){s=-1;t=-1}else{r=c[(c[a>>2]|0)+12>>2]|0;i=l;while(1){n=r+(i<<2)|0;if((i|0)>0?(j=c[n+-4>>2]|0,((j&63)+-37|0)>>>0<5):0)u=j;else u=c[n>>2]|0;if((u&63|0)!=41){o=26;break b}j=((c[n>>2]|0)>>>14)+-131071|0;i=(j|0)==-1?-1:i+1+j|0;if((i|0)==-1){s=-1;t=-1;break}}}while(0);do if((o|0)==26){u=a+28|0;do if(!e){l=c[u>>2]|0;c[u>>2]=-1;i=Yd(a,2147450916)|0;if((l|0)!=-1)if((i|0)!=-1){r=c[(c[a>>2]|0)+12>>2]|0;j=i;while(1){v=r+(j<<2)|0;w=c[v>>2]|0;n=(w>>>14)+-131071|0;k=(n|0)==-1?-1:j+1+n|0;if((k|0)==-1)break;else j=k}r=l+~j|0;if((((r|0)>-1?r:0-r|0)|0)>131071)$d(c[a+12>>2]|0,43994);else{c[v>>2]=(r<<14)+2147467264|w&16383;x=i;break}}else x=l;else x=i}else x=-1;while(0);r=a+20|0;k=a+24|0;c[k>>2]=c[r>>2];n=d<<6;g=Yd(a,n|16387)|0;c[k>>2]=c[r>>2];q=Yd(a,n|8388611)|0;c[k>>2]=c[r>>2];if((x|0)!=-1){r=c[u>>2]|0;if((r|0)==-1){c[u>>2]=x;s=g;t=q;break}k=c[(c[a>>2]|0)+12>>2]|0;n=r;while(1){y=k+(n<<2)|0;z=c[y>>2]|0;r=(z>>>14)+-131071|0;h=(r|0)==-1?-1:n+1+r|0;if((h|0)==-1)break;else n=h}k=x+~n|0;if((((k|0)>-1?k:0-k|0)|0)>131071)$d(c[a+12>>2]|0,43994);else{c[y>>2]=(k<<14)+2147467264|z&16383;s=g;t=q;break}}else{s=g;t=q}}while(0);z=c[a+20>>2]|0;c[a+24>>2]=z;y=c[m>>2]|0;c:do if((y|0)!=-1){x=c[(c[a>>2]|0)+12>>2]|0;w=d<<6;v=w&16320;if((d|0)==255){e=y;while(1){k=x+(e<<2)|0;u=c[k>>2]|0;h=(u>>>14)+-131071|0;r=e;e=(h|0)==-1?-1:e+1+h|0;if((r|0)>0?(h=k+-4|0,A=c[h>>2]|0,((A&63)+-37|0)>>>0<5):0){B=h;C=A}else{B=k;C=u}if((C&63|0)!=41){A=s+~r|0;if((((A|0)>-1?A:0-A|0)|0)>131071){o=65;break}else{D=A;E=u}}else{c[B>>2]=C&8372224|C>>>23<<6|40;u=z+~r|0;if((((u|0)>-1?u:0-u|0)|0)>131071){o=62;break}D=u;E=c[k>>2]|0}c[k>>2]=E&16383|(D<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;$d(G,43994)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;$d(I,43994)}}e=y;while(1){q=x+(e<<2)|0;g=c[q>>2]|0;n=(g>>>14)+-131071|0;k=e;e=(n|0)==-1?-1:e+1+n|0;if((k|0)>0?(n=q+-4|0,u=c[n>>2]|0,((u&63)+-37|0)>>>0<5):0){J=n;K=u}else{J=q;K=g}if((K&63|0)!=41){u=s+~k|0;if((((u|0)>-1?u:0-u|0)|0)>131071){o=65;break}else{L=u;M=g}}else{if((K>>>23|0)==(d|0))N=K&8372224|w|40;else N=K&-16321|v;c[J>>2]=N;g=z+~k|0;if((((g|0)>-1?g:0-g|0)|0)>131071){o=62;break}L=g;M=c[q>>2]|0}c[q>>2]=M&16383|(L<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;$d(G,43994)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;$d(I,43994)}}while(0);I=c[f>>2]|0;if((I|0)==-1){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}H=c[(c[a>>2]|0)+12>>2]|0;G=d<<6;F=G&16320;if((d|0)==255){L=I;while(1){M=H+(L<<2)|0;N=c[M>>2]|0;J=(N>>>14)+-131071|0;K=L;L=(J|0)==-1?-1:L+1+J|0;if((K|0)>0?(J=M+-4|0,s=c[J>>2]|0,((s&63)+-37|0)>>>0<5):0){O=J;P=s}else{O=M;P=N}if((P&63|0)!=41){s=t+~K|0;if((((s|0)>-1?s:0-s|0)|0)>131071){o=90;break}else{Q=s;R=N}}else{c[O>>2]=P&8372224|P>>>23<<6|40;N=z+~K|0;if((((N|0)>-1?N:0-N|0)|0)>131071){o=87;break}Q=N;R=c[M>>2]|0}c[M>>2]=R&16383|(Q<<14)+2147467264;if((L|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;$d(T,43994)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;$d(V,43994)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}L=I;while(1){I=H+(L<<2)|0;Q=c[I>>2]|0;R=(Q>>>14)+-131071|0;P=L;L=(R|0)==-1?-1:L+1+R|0;if((P|0)>0?(R=I+-4|0,O=c[R>>2]|0,((O&63)+-37|0)>>>0<5):0){W=R;X=O}else{W=I;X=Q}if((X&63|0)!=41){O=t+~P|0;if((((O|0)>-1?O:0-O|0)|0)>131071){o=90;break}else{Y=O;Z=Q}}else{if((X>>>23|0)==(d|0))_=X&8372224|G|40;else _=X&-16321|F;c[W>>2]=_;Q=z+~P|0;if((((Q|0)>-1?Q:0-Q|0)|0)>131071){o=87;break}Y=Q;Z=c[I>>2]|0}c[I>>2]=Z&16383|(Y<<14)+2147467264;if((L|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;$d(T,43994)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;$d(V,43994)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}function ve(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=e-f|0;f=c[g>>2]|0;switch(f|0){case 13:case 12:{e=h+1|0;i=(e|0)>0?e:0;switch(f|0){case 12:{f=(c[(c[b>>2]|0)+12>>2]|0)+(c[g+4>>2]<<2)|0;c[f>>2]=c[f>>2]&-8372225|(i<<14)+16384&8372224;break}case 13:{f=c[b>>2]|0;e=c[f+12>>2]|0;j=g+4|0;k=e+(c[j>>2]<<2)|0;c[k>>2]=c[k>>2]&8388607|(i<<23)+8388608;k=e+(c[j>>2]<<2)|0;j=b+48|0;e=a[j>>0]|0;l=e&255;c[k>>2]=l<<6|c[k>>2]&-16321;k=l+1|0;l=f+78|0;do if((e&255)>=(d[l>>0]|0))if((e&255)>248)$d(c[b+12>>2]|0,44406);else{f=k&255;a[l>>0]=f;m=f;break}else m=k&255;while(0);a[j>>0]=m;break}default:{}}if((i|0)<=1)return;m=b+48|0;j=i+-1+(d[m>>0]|0)|0;i=(c[b>>2]|0)+78|0;do if((j|0)>(d[i>>0]|0|0))if((j|0)>249)$d(c[b+12>>2]|0,44406);else{k=j&255;a[i>>0]=k;n=k;break}else n=j&255;while(0);a[m>>0]=n;return}case 0:break;default:{te(b,g);if(((c[g>>2]|0)==6?(n=c[g+4>>2]|0,(n&256|0)==0):0)?(n|0)>=(d[b+46>>0]|0|0):0){n=b+48|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24}n=b+48|0;m=a[n>>0]|0;j=(m&255)+1|0;i=(c[b>>2]|0)+78|0;do if((m&255)>=(d[i>>0]|0))if((m&255)>248)$d(c[b+12>>2]|0,44406);else{k=j&255;a[i>>0]=k;o=k;break}else o=j&255;while(0);a[n>>0]=o;ue(b,g,(o&255)+-1|0)}}if((h|0)<=0)return;o=b+48|0;g=d[o>>0]|0;n=h+g|0;j=c[b>>2]|0;i=j+78|0;do if((n|0)>(d[i>>0]|0|0))if((n|0)>249)$d(c[b+12>>2]|0,44406);else{m=n&255;a[i>>0]=m;p=m;break}else p=n&255;while(0);a[o>>0]=p;p=n+511|0;o=c[b+20>>2]|0;do if((o|0)>(c[b+24>>2]|0)?(i=(c[j+12>>2]|0)+(o+-1<<2)|0,m=c[i>>2]|0,(m&63|0)==4):0){k=m>>>6&255;l=k+(m>>>23)|0;if(k>>>0>g>>>0|(l+1|0)>>>0<g>>>0?k>>>0<g>>>0|(k|0)>(n|0):0)break;e=k>>>0<g>>>0?k:g;c[i>>2]=e<<6|m&8372287|((l|0)<(n|0)?p:l)-e<<23;return}while(0);Yd(b,(h<<23)+-8388608|g<<6|4)|0;return}function we(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ga;Ga=Ga+32|0;g=f+16|0;h=f;i=d+12|0;if((c[i>>2]|0)!=288)Wd(d,288);j=d+16|0;k=c[j>>2]|0;c[d+8>>2]=c[d+4>>2];l=d+20|0;if((c[l>>2]|0)==286)c[i>>2]=Ud(d,j)|0;else{j=l;i=c[j+4>>2]|0;m=d+12|0;c[m>>2]=c[j>>2];c[m+4>>2]=i;c[l>>2]=286}l=d+28|0;i=c[l>>2]|0;if(He(i,k,e,1)|0){Ga=f;return}He(i,c[d+52>>2]|0,e,1)|0;d=c[l>>2]|0;c[g>>2]=k;c[g+4>>2]=(a[k+4>>0]|64)&255;k=re(d,g,g)|0;c[h+8>>2]=-1;c[h+12>>2]=-1;c[h>>2]=4;c[h+4>>2]=k;k=e+4|0;a[k+2>>0]=c[k>>2];b[k>>1]=ye(i,h)|0;a[k+3>>0]=(c[e>>2]|0)==8?8:7;c[e>>2]=9;Ga=f;return}function xe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;te(b,e);if((c[e>>2]|0)==6){f=e+4|0;g=c[f>>2]|0;if((c[e+8>>2]|0)==(c[e+12>>2]|0)){h=g;return h|0}if((g|0)>=(d[b+46>>0]|0|0)){ue(b,e,g);i=f}else j=5}else j=5;if((j|0)==5){te(b,e);if(((c[e>>2]|0)==6?(j=c[e+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}j=b+48|0;f=a[j>>0]|0;g=(f&255)+1|0;k=(c[b>>2]|0)+78|0;do if((f&255)>=(d[k>>0]|0))if((f&255)>248)$d(c[b+12>>2]|0,44406);else{l=g&255;a[k>>0]=l;m=l;break}else m=g&255;while(0);a[j>>0]=m;ue(b,e,(m&255)+-1|0);i=e+4|0}h=c[i>>2]|0;return h|0}function ye(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=Ga;Ga=Ga+16|0;f=e+8|0;g=e;if((c[d+8>>2]|0)==(c[d+12>>2]|0))te(b,d);else xe(b,d)|0;h=c[d>>2]|0;switch(h|0){case 1:case 3:case 2:{if((c[b+32>>2]|0)<256){if((h|0)==1){c[g+4>>2]=0;c[f>>2]=c[b+4>>2];c[f+4>>2]=69;i=re(b,f,g)|0}else{c[f>>2]=(h|0)==2&1;c[f+4>>2]=1;i=re(b,f,f)|0}c[d+4>>2]=i;c[d>>2]=4;j=i|256;Ga=e;return j|0}break}case 5:{i=d+4|0;h=c[i>>2]|0;c[f>>2]=h;k=c[(c[b+12>>2]|0)+32>>2]|0;c[g>>2]=h;c[g+4>>2]=3;if(!h){h=k+8|0;l=c[h>>2]|0;c[h>>2]=l+8;m=Mc(k,f,4)|0;c[l>>2]=m;c[l+4>>2]=(a[m+4>>0]|64)&255;m=re(b,(c[h>>2]|0)+-8|0,g)|0;c[h>>2]=(c[h>>2]|0)+-8;n=m}else n=re(b,g,g)|0;c[i>>2]=n;c[d>>2]=4;o=n;p=15;break}case 4:{o=c[d+4>>2]|0;p=15;break}default:{}}if((p|0)==15?(o|0)<256:0){j=o|256;Ga=e;return j|0}j=xe(b,d)|0;Ga=e;return j|0}function ze(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;i=Ga;Ga=Ga+80|0;j=i;k=i+16|0;l=i+4|0;m=e+28|0;n=c[m>>2]|0;o=e+32|0;p=c[o>>2]|0;q=c[n>>2]|0;r=n+36|0;n=q+56|0;s=c[n>>2]|0;if(((c[r>>2]|0)>=(s|0)?(t=q+16|0,u=ae(p,c[t>>2]|0,n,4,262143,44620)|0,c[t>>2]=u,v=c[n>>2]|0,(s|0)<(v|0)):0)?(n=s+1|0,c[u+(s<<2)>>2]=0,(n|0)<(v|0)):0){s=n;do{c[(c[t>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=(v|0))}v=p+12|0;s=c[v>>2]|0;t=s+4|0;n=Ma[c[s>>2]&1](c[t>>2]|0,0,9,80)|0;if(!n){if(!(a[s+51>>0]|0))gc(p,4);sc(p,1);u=Ma[c[s>>2]&1](c[t>>2]|0,0,9,80)|0;if(!u)gc(p,4);else w=u}else w=n;n=s+12|0;c[n>>2]=(c[n>>2]|0)+80;n=s+56|0;u=w+5|0;a[u>>0]=a[s+48>>0]&3;a[w+4>>0]=9;c[w>>2]=c[n>>2];c[n>>2]=w;a[w+76>>0]=0;a[w+77>>0]=0;n=w+78|0;a[n>>0]=0;s=w+8|0;p=s+64|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=c[q+16>>2]|0;p=c[r>>2]|0;c[r>>2]=p+1;c[s+(p<<2)>>2]=w;do if(a[u>>0]&3?(p=q+5|0,s=a[p>>0]|0,s&4):0){r=c[v>>2]|0;if((d[r+49>>0]|0)<2){rc(r,w);break}else{a[p>>0]=a[r+48>>0]&3|s&-72;break}}while(0);c[k>>2]=w;c[w+64>>2]=h;v=c[o>>2]|0;c[k+8>>2]=c[m>>2];o=k+12|0;c[o>>2]=e;c[m>>2]=k;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=-1;c[k+32>>2]=0;c[k+36>>2]=0;q=k+44|0;c[q>>2]=0;a[q+4>>0]=0;c[k+40>>2]=c[(c[e+44>>2]|0)+4>>2];q=k+16|0;c[q>>2]=0;c[w+36>>2]=c[e+48>>2];a[n>>0]=2;n=c[v+12>>2]|0;w=n+4|0;u=Ma[c[n>>2]&1](c[w>>2]|0,0,5,32)|0;if(!u){if(!(a[n+51>>0]|0))gc(v,4);sc(v,1);s=Ma[c[n>>2]&1](c[w>>2]|0,0,5,32)|0;if(!s)gc(v,4);else x=s}else x=u;u=n+12|0;c[u>>2]=(c[u>>2]|0)+32;u=n+56|0;a[x+5>>0]=a[n+48>>0]&3;a[x+4>>0]=5;c[x>>2]=c[u>>2];c[u>>2]=x;c[x+8>>2]=0;a[x+6>>0]=-1;c[x+12>>2]=0;c[x+28>>2]=0;c[x+16>>2]=2060568;a[x+7>>0]=0;c[x+20>>2]=2060568;c[k+4>>2]=x;u=v+8|0;n=c[u>>2]|0;c[n>>2]=x;c[n+4>>2]=69;n=(c[u>>2]|0)+8|0;c[u>>2]=n;u=n;do if(((c[v+24>>2]|0)-u|0)<8){n=c[v+32>>2]|0;if((n|0)>1e6)gc(v,6);x=(u-(c[v+28>>2]|0)>>3)+5|0;s=n<<1;n=(s|0)<1e6?s:1e6;s=(n|0)<(x|0)?x:n;if((s|0)>1e6){hc(v,1000200);ic(v,43241,j)}else{hc(v,s);break}}while(0);a[l+10>>0]=0;a[l+8>>0]=a[k+46>>0]|0;v=c[(c[o>>2]|0)+44>>2]|0;b[l+4>>1]=c[v+28>>2];b[l+6>>1]=c[v+16>>2];a[l+9>>0]=0;c[l>>2]=c[q>>2];c[q>>2]=l;l=e+12|0;if((c[l>>2]|0)!=40)Wd(e,40);q=e+4|0;v=e+8|0;c[v>>2]=c[q>>2];o=e+20|0;if((c[o>>2]|0)==286){j=Ud(e,e+16|0)|0;c[l>>2]=j;y=j}else{j=o;u=c[j>>2]|0;s=c[j+4>>2]|0;j=e+12|0;c[j>>2]=u;c[j+4>>2]=s;c[o>>2]=286;y=u}if(!g){g=c[m>>2]|0;z=g;A=c[g>>2]|0;B=y;C=g}else{pe(e,_d(e,44630,4)|0);g=c[m>>2]|0;y=g+46|0;u=a[y>>0]|0;a[y>>0]=(u&255)+1;y=c[g>>2]|0;c[(c[y+24>>2]|0)+((b[(c[c[(c[g+12>>2]|0)+44>>2]>>2]|0)+((c[g+40>>2]|0)+(u+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[g+20>>2];z=g;A=y;B=c[l>>2]|0;C=g}g=A+77|0;a[g>>0]=0;a:do if((B|0)==41)D=0;else{y=e+16|0;u=e+12|0;s=0;j=B;b:while(1){switch(j|0){case 280:{break b;break}case 288:break;default:{E=43;break b}}n=c[y>>2]|0;c[v>>2]=c[q>>2];if((c[o>>2]|0)==286)c[l>>2]=Ud(e,y)|0;else{x=o;w=c[x+4>>2]|0;r=u;c[r>>2]=c[x>>2];c[r+4>>2]=w;c[o>>2]=286}pe(e,n);n=s+1|0;if(a[g>>0]|0){D=n;break a}if((c[l>>2]|0)!=44){D=n;break a}c[v>>2]=c[q>>2];if((c[o>>2]|0)==286){w=Ud(e,y)|0;c[l>>2]=w;F=w}else{w=o;r=c[w>>2]|0;x=c[w+4>>2]|0;w=u;c[w>>2]=r;c[w+4>>2]=x;c[o>>2]=286;F=r}s=n;j=F}if((E|0)==43)$d(e,44635);c[v>>2]=c[q>>2];if((c[o>>2]|0)==286)c[l>>2]=Ud(e,y)|0;else{j=o;n=c[j+4>>2]|0;r=u;c[r>>2]=c[j>>2];c[r+4>>2]=n;c[o>>2]=286}a[g>>0]=1;D=s}while(0);g=c[m>>2]|0;E=g+46|0;F=D+(d[E>>0]|0)|0;a[E>>0]=F;if(D|0){E=c[g+20>>2]|0;B=c[(c[g>>2]|0)+24>>2]|0;n=c[c[(c[g+12>>2]|0)+44>>2]>>2]|0;r=(c[g+40>>2]|0)+(F&255)|0;F=D;do{c[B+((b[n+(r-F<<1)>>1]|0)*12|0)+4>>2]=E;F=F+-1|0}while((F|0)!=0)}F=a[C+46>>0]|0;a[A+76>>0]=F;A=C+48|0;E=(d[A>>0]|0)+(F&255)|0;F=(c[z>>2]|0)+78|0;do if(E>>>0>(d[F>>0]|0)>>>0)if(E>>>0>249)$d(c[C+12>>2]|0,44406);else{z=E&255;a[F>>0]=z;G=z;break}else G=E&255;while(0);a[A>>0]=G;if((c[l>>2]|0)!=41)Wd(e,41);c[v>>2]=c[q>>2];if((c[o>>2]|0)==286){v=Ud(e,e+16|0)|0;c[l>>2]=v;H=v}else{v=o;G=c[v>>2]|0;A=c[v+4>>2]|0;v=e+12|0;c[v>>2]=G;c[v+4>>2]=A;c[o>>2]=286;H=G}G=H;c:while(1){switch(G|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}Vd(e);if((G|0)==274)break;G=c[l>>2]|0}c[(c[k>>2]|0)+68>>2]=c[q>>2];me(e,262,265,h);h=c[(c[m>>2]|0)+8>>2]|0;m=Yd(h,(c[h+36>>2]<<14)+-16384|50)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=11;q=f+4|0;c[q>>2]=m;te(h,f);if(((c[f>>2]|0)==6?(m=c[q>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[h+46>>0]|0):0){m=h+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24}m=h+48|0;q=a[m>>0]|0;k=(q&255)+1|0;l=(c[h>>2]|0)+78|0;if((q&255)<(d[l>>0]|0)){I=k&255;a[m>>0]=I;J=I&255;K=J+-1|0;ue(h,f,K);Xd(e);Ga=i;return}if((q&255)>248)$d(c[h+12>>2]|0,44406);q=k&255;a[l>>0]=q;I=q;a[m>>0]=I;J=I&255;K=J+-1|0;ue(h,f,K);Xd(e);Ga=i;return}function Ae(b,f,g){b=b|0;f=f|0;g=g|0;var h=0;switch(c[f>>2]|0){case 7:{if(((c[g>>2]|0)==6?(h=c[g+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[b+46>>0]|0):0){h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}ue(b,g,c[f+4>>2]|0);return}case 8:{Yd(b,(xe(b,g)|0)<<6|c[f+4>>2]<<23|9)|0;break}case 9:{h=f+4|0;f=(a[h+3>>0]|0)==7?10:8;Yd(b,(ye(b,g)|0)<<14|f|d[h+2>>0]<<6|e[h>>1]<<23)|0;break}default:{}}if((c[g>>2]|0)!=6)return;h=c[g+4>>2]|0;if(h&256|0)return;if((h|0)<(d[b+46>>0]|0))return;h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24;return}function Be(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=Ga;Ga=Ga+32|0;h=g+16|0;i=g;j=e+28|0;k=c[j>>2]|0;l=e+4|0;m=c[l>>2]|0;n=e+12|0;switch(c[n>>2]|0){case 40:{o=e+8|0;c[o>>2]=m;p=e+20|0;if((c[p>>2]|0)==286)c[n>>2]=Ud(e,e+16|0)|0;else{q=p;r=c[q+4>>2]|0;s=e+12|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=286}ne(e,f,0)|0;me(e,41,40,m);te(c[j>>2]|0,f);t=p;u=p;v=o;break}case 288:{we(e,f);o=e+20|0;t=o;u=o;v=e+8|0;break}default:$d(e,44551)}o=f+8|0;p=f+12|0;r=e+16|0;s=e+12|0;q=f+4|0;w=k+48|0;x=h+8|0;y=h+12|0;z=k+46|0;A=h+4|0;B=i+8|0;C=i+12|0;D=i+4|0;E=h+4|0;F=i+8|0;G=i+12|0;H=i+4|0;I=f+4|0;J=I+2|0;K=I+3|0;a:while(1)switch(c[n>>2]|0){case 46:{L=c[j>>2]|0;if(!((c[f>>2]|0)==8?(c[o>>2]|0)==(c[p>>2]|0):0))xe(L,f)|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286){M=Ud(e,r)|0;c[n>>2]=M;N=M}else{M=t;O=c[M>>2]|0;P=c[M+4>>2]|0;M=s;c[M>>2]=O;c[M+4>>2]=P;c[u>>2]=286;N=O}if((N|0)!=288){Q=17;break a}O=c[r>>2]|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Ud(e,r)|0;else{P=t;M=c[P+4>>2]|0;R=s;c[R>>2]=c[P>>2];c[R+4>>2]=M;c[u>>2]=286}M=c[j>>2]|0;c[h>>2]=O;c[E>>2]=(a[O+4>>0]|64)&255;O=re(M,h,h)|0;c[F>>2]=-1;c[G>>2]=-1;c[i>>2]=4;c[H>>2]=O;a[J>>0]=c[I>>2];b[I>>1]=ye(L,i)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 91:{if(!((c[f>>2]|0)==8?(c[o>>2]|0)==(c[p>>2]|0):0))xe(k,f)|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Ud(e,r)|0;else{L=t;O=c[L+4>>2]|0;M=s;c[M>>2]=c[L>>2];c[M+4>>2]=O;c[u>>2]=286}ne(e,h,0)|0;O=c[j>>2]|0;if((c[x>>2]|0)==(c[y>>2]|0))te(O,h);else xe(O,h)|0;if((c[n>>2]|0)!=93){Q=32;break a}c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Ud(e,r)|0;else{O=t;M=c[O+4>>2]|0;L=s;c[L>>2]=c[O>>2];c[L+4>>2]=M;c[u>>2]=286}a[J>>0]=c[I>>2];b[I>>1]=ye(k,h)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 58:{c[v>>2]=c[l>>2];if((c[u>>2]|0)==286){M=Ud(e,r)|0;c[n>>2]=M;S=M}else{M=t;L=c[M>>2]|0;O=c[M+4>>2]|0;M=s;c[M>>2]=L;c[M+4>>2]=O;c[u>>2]=286;S=L}if((S|0)!=288){Q=41;break a}L=c[r>>2]|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Ud(e,r)|0;else{O=t;M=c[O+4>>2]|0;R=s;c[R>>2]=c[O>>2];c[R+4>>2]=M;c[u>>2]=286}M=c[j>>2]|0;c[h>>2]=L;c[A>>2]=(a[L+4>>0]|64)&255;L=re(M,h,h)|0;c[B>>2]=-1;c[C>>2]=-1;c[i>>2]=4;c[D>>2]=L;De(k,f,i);Ee(e,f,m);break}case 123:case 289:case 40:{te(k,f);if(((c[f>>2]|0)==6?(L=c[q>>2]|0,(L&256|0)==0):0)?(L|0)>=(d[z>>0]|0|0):0){L=(a[w>>0]|0)+-1<<24>>24;a[w>>0]=L;T=L}else T=a[w>>0]|0;L=(T&255)+1|0;M=(c[k>>2]|0)+78|0;if((T&255)<(d[M>>0]|0))U=L&255;else{if((T&255)>248){Q=54;break a}R=L&255;a[M>>0]=R;U=R}a[w>>0]=U;ue(k,f,(U&255)+-1|0);Ee(e,f,m);break}default:{Q=58;break a}}if((Q|0)==17)Wd(e,288);else if((Q|0)==32)Wd(e,93);else if((Q|0)==41)Wd(e,288);else if((Q|0)==54)$d(c[k+12>>2]|0,44406);else if((Q|0)==58){Ga=g;return}}function Ce(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=Ga;Ga=Ga+48|0;j=i+24|0;k=i;l=g+4|0;if(((c[l>>2]|0)+-7|0)>>>0>=3)$d(f,52516);m=f+12|0;a:do switch(c[m>>2]|0){case 44:{c[f+8>>2]=c[f+4>>2];n=f+20|0;if((c[n>>2]|0)==286)c[m>>2]=Ud(f,f+16|0)|0;else{o=n;p=c[o+4>>2]|0;q=f+12|0;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[n>>2]=286}c[k>>2]=g;n=k+4|0;Be(f,n);p=c[n>>2]|0;if((p|0)!=9){n=c[f+28>>2]|0;q=n+48|0;o=a[q>>0]|0;r=k+8|0;s=o&255;t=(p|0)==7;u=g;v=0;while(1){if((c[u+4>>2]|0)==9){w=u+8|0;x=w+3|0;if((p|0)==(d[x>>0]|0)?(y=w+2|0,(c[r>>2]|0)==(d[y>>0]|0)):0){a[x>>0]=7;a[y>>0]=o;z=1}else z=v;if(t?(c[r>>2]|0)==(b[w>>1]|0):0){b[w>>1]=s;A=1}else A=z}else A=v;u=c[u>>2]|0;if(!u)break;else v=A}if(A|0){Yd(n,(o&255)<<6|((p|0)==7?0:5)|c[r>>2]<<23)|0;v=a[q>>0]|0;u=(v&255)+1|0;s=(c[n>>2]|0)+78|0;do if((v&255)>=(d[s>>0]|0))if((v&255)>248)$d(c[n+12>>2]|0,44406);else{t=u&255;a[s>>0]=t;B=t;break}else B=u&255;while(0);a[q>>0]=B}}if(((e[(c[f+32>>2]|0)+38>>1]|0)+h|0)>200)ke(c[f+28>>2]|0,200,44362);else{Ce(f,k,h+1|0);C=f+28|0;break a}break}case 61:{u=f+4|0;s=f+8|0;c[s>>2]=c[u>>2];n=f+20|0;if((c[n>>2]|0)==286)c[m>>2]=Ud(f,f+16|0)|0;else{v=n;r=c[v+4>>2]|0;p=f+12|0;c[p>>2]=c[v>>2];c[p+4>>2]=r;c[n>>2]=286}ne(f,j,0)|0;b:do if((c[m>>2]|0)==44){r=f+16|0;p=f+28|0;v=f+12|0;o=j+4|0;t=1;while(1){c[s>>2]=c[u>>2];if((c[n>>2]|0)==286)c[m>>2]=Ud(f,r)|0;else{w=n;y=c[w+4>>2]|0;x=v;c[x>>2]=c[w>>2];c[x+4>>2]=y;c[n>>2]=286}D=c[p>>2]|0;te(D,j);if(((c[j>>2]|0)==6?(y=c[o>>2]|0,(y&256|0)==0):0)?(y|0)>=(d[D+46>>0]|0):0){y=D+48|0;a[y>>0]=(a[y>>0]|0)+-1<<24>>24}y=D+48|0;x=a[y>>0]|0;w=(x&255)+1|0;E=(c[D>>2]|0)+78|0;if((x&255)<(d[E>>0]|0))F=w&255;else{if((x&255)>248)break;x=w&255;a[E>>0]=x;F=x}a[y>>0]=F;ue(D,j,(F&255)+-1|0);ne(f,j,0)|0;y=t+1|0;if((c[m>>2]|0)==44)t=y;else{G=y;H=p;break b}}$d(c[D+12>>2]|0,44406)}else{G=1;H=f+28|0}while(0);n=c[H>>2]|0;if((G|0)!=(h|0)){ve(n,h,G,j);if((G|0)<=(h|0)){C=H;break a}u=(c[H>>2]|0)+48|0;a[u>>0]=h-G+(d[u>>0]|0);C=H;break a}switch(c[j>>2]|0){case 12:{c[j>>2]=6;u=j+4|0;c[u>>2]=(c[(c[(c[n>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]|0)>>>6&255;break}case 13:{u=(c[(c[n>>2]|0)+12>>2]|0)+(c[j+4>>2]<<2)|0;c[u>>2]=c[u>>2]&8388607|16777216;c[j>>2]=11;break}default:{}}Ae(n,l,j);Ga=i;return}default:Wd(f,61)}while(0);f=c[C>>2]|0;C=(d[f+48>>0]|0)+-1|0;c[j+8>>2]=-1;c[j+12>>2]=-1;c[j>>2]=6;c[j+4>>2]=C;Ae(f,l,j);Ga=i;return}function De(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;xe(b,e)|0;g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==6&(h&256|0)==0?(h|0)>=(d[b+46>>0]|0|0):0){i=b+48|0;a[i>>0]=(a[i>>0]|0)+-1<<24>>24}i=b+48|0;c[g>>2]=d[i>>0];c[e>>2]=6;e=(d[i>>0]|0)+2|0;j=(c[b>>2]|0)+78|0;do if(e>>>0>(d[j>>0]|0)>>>0)if(e>>>0>249)$d(c[b+12>>2]|0,44406);else{k=e&255;a[j>>0]=k;l=k;break}else l=e&255;while(0);a[i>>0]=l;l=c[g>>2]|0;Yd(b,h<<23|l<<6|(ye(b,f)|0)<<14|12)|0;if((c[f>>2]|0)!=6)return;l=c[f+4>>2]|0;if(l&256|0)return;if((l|0)<(d[b+46>>0]|0|0))return;a[i>>0]=(a[i>>0]|0)+-1<<24>>24;return}function Ee(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;g=Ga;Ga=Ga+32|0;h=g+16|0;i=g;j=b+28|0;k=c[j>>2]|0;l=b+12|0;a:do switch(c[l>>2]|0){case 40:{m=b+4|0;n=b+8|0;c[n>>2]=c[m>>2];o=b+20|0;if((c[o>>2]|0)==286){p=Ud(b,b+16|0)|0;c[l>>2]=p;q=p}else{p=o;r=c[p>>2]|0;s=c[p+4>>2]|0;p=b+12|0;c[p>>2]=r;c[p+4>>2]=s;c[o>>2]=286;q=r}b:do if((q|0)==41)c[i>>2]=0;else{ne(b,i,0)|0;c:do if((c[l>>2]|0)==44){r=b+16|0;s=b+12|0;p=i+4|0;while(1){c[n>>2]=c[m>>2];if((c[o>>2]|0)==286)c[l>>2]=Ud(b,r)|0;else{t=o;u=c[t+4>>2]|0;v=s;c[v>>2]=c[t>>2];c[v+4>>2]=u;c[o>>2]=286}w=c[j>>2]|0;te(w,i);if(((c[i>>2]|0)==6?(u=c[p>>2]|0,(u&256|0)==0):0)?(u|0)>=(d[w+46>>0]|0|0):0){u=w+48|0;a[u>>0]=(a[u>>0]|0)+-1<<24>>24}u=w+48|0;v=a[u>>0]|0;t=(v&255)+1|0;x=(c[w>>2]|0)+78|0;if((v&255)<(d[x>>0]|0))y=t&255;else{if((v&255)>248)break;v=t&255;a[x>>0]=v;y=v}a[u>>0]=y;ue(w,i,(y&255)+-1|0);ne(b,i,0)|0;if((c[l>>2]|0)!=44){z=i;break c}}$d(c[w+12>>2]|0,44406)}else z=i;while(0);switch(c[z>>2]|0){case 12:{p=(c[(c[k>>2]|0)+12>>2]|0)+(c[i+4>>2]<<2)|0;c[p>>2]=c[p>>2]&-8372225;break b;break}case 13:break;default:break b}p=c[k>>2]|0;s=c[p+12>>2]|0;r=i+4|0;u=s+(c[r>>2]<<2)|0;c[u>>2]=c[u>>2]&8388607;u=s+(c[r>>2]<<2)|0;r=k+48|0;s=a[r>>0]|0;v=s&255;c[u>>2]=v<<6|c[u>>2]&-16321;u=v+1|0;v=p+78|0;do if((s&255)>=(d[v>>0]|0))if((s&255)>248)$d(c[k+12>>2]|0,44406);else{p=u&255;a[v>>0]=p;A=p;break}else A=u&255;while(0);a[r>>0]=A}while(0);me(b,41,40,f);break}case 123:{Fe(b,i);break}case 289:{o=b+16|0;m=c[o>>2]|0;c[h>>2]=m;c[h+4>>2]=(a[m+4>>0]|64)&255;m=re(k,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=m;c[b+8>>2]=c[b+4>>2];m=b+20|0;if((c[m>>2]|0)==286){c[l>>2]=Ud(b,o)|0;break a}else{o=m;n=c[o+4>>2]|0;u=b+12|0;c[u>>2]=c[o>>2];c[u+4>>2]=n;c[m>>2]=286;break a}break}default:$d(b,44569)}while(0);b=e+4|0;l=c[b>>2]|0;switch(c[i>>2]|0){case 0:{B=k+48|0;break}case 13:case 12:{C=0;D=l<<6;E=D|C;F=E|32810;G=Yd(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Ga=g;return}default:{te(k,i);if(((c[i>>2]|0)==6?(h=c[i+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[k+46>>0]|0|0):0){h=k+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=k+48|0;A=a[h>>0]|0;z=(A&255)+1|0;w=(c[k>>2]|0)+78|0;do if((A&255)>=(d[w>>0]|0))if((A&255)>248)$d(c[k+12>>2]|0,44406);else{y=z&255;a[w>>0]=y;T=y;break}else T=z&255;while(0);a[h>>0]=T;ue(k,i,(T&255)+-1|0);B=h}}C=((l^511)+(d[B>>0]|0)<<23)+8388608|0;D=l<<6;E=D|C;F=E|32810;G=Yd(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Ga=g;return}function Fe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;f=Ga;Ga=Ga+32|0;g=f;h=b+28|0;i=c[h>>2]|0;j=b+4|0;k=c[j>>2]|0;l=Yd(i,11)|0;m=g+28|0;c[m>>2]=0;n=g+20|0;c[n>>2]=0;o=g+24|0;c[o>>2]=0;p=g+16|0;c[p>>2]=e;c[e+8>>2]=-1;c[e+12>>2]=-1;c[e>>2]=11;q=e+4|0;c[q>>2]=l;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=0;r=g+4|0;c[r>>2]=0;s=c[h>>2]|0;te(s,e);if(((c[e>>2]|0)==6?(t=c[q>>2]|0,(t&256|0)==0):0)?(t|0)>=(d[s+46>>0]|0|0):0){t=s+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24}t=s+48|0;q=a[t>>0]|0;u=(q&255)+1|0;v=(c[s>>2]|0)+78|0;do if((q&255)>=(d[v>>0]|0))if((q&255)>248)$d(c[s+12>>2]|0,44406);else{w=u&255;a[v>>0]=w;x=w;break}else x=u&255;while(0);a[t>>0]=x;ue(s,e,(x&255)+-1|0);x=b+12|0;if((c[x>>2]|0)!=123)Wd(b,123);e=b+8|0;c[e>>2]=c[j>>2];s=b+20|0;if((c[s>>2]|0)==286){t=Ud(b,b+16|0)|0;c[x>>2]=t;y=t}else{t=s;u=c[t>>2]|0;v=c[t+4>>2]|0;t=b+12|0;c[t>>2]=u;c[t+4>>2]=v;c[s>>2]=286;y=u}a:do if((y|0)!=125){u=b+24|0;v=b+20|0;t=i+48|0;q=i+46|0;w=b+16|0;z=b+12|0;A=0;b:while(1){if(A|0){te(i,g);if(((c[g>>2]|0)==6?(B=c[r>>2]|0,(B&256|0)==0):0)?(B|0)>=(d[q>>0]|0|0):0){B=(a[t>>0]|0)+-1<<24>>24;a[t>>0]=B;C=B}else C=a[t>>0]|0;B=(C&255)+1|0;D=(c[i>>2]|0)+78|0;if((C&255)<(d[D>>0]|0))E=B&255;else{if((C&255)>248){F=28;break}G=B&255;a[D>>0]=G;E=G}a[t>>0]=E;ue(i,g,(E&255)+-1|0);c[g>>2]=0;if((c[m>>2]|0)==50){G=c[(c[p>>2]|0)+4>>2]|0;D=c[o>>2]|0;B=((D+-1|0)/50|0)+1|0;H=G<<6|419430449;if((D|0)<25551)Yd(i,B<<14|H)|0;else{Yd(i,H)|0;Yd(i,B<<6|52)|0}a[t>>0]=G+1;c[m>>2]=0}}c:do switch(c[x>>2]|0){case 288:{G=Ud(b,u)|0;c[v>>2]=G;if((G|0)==61){Ge(b,g);break c}ne(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=38;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1;break}case 91:{Ge(b,g);break}default:{ne(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=43;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1}}while(0);d:do switch(c[x>>2]|0){case 44:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==286){G=Ud(b,w)|0;c[x>>2]=G;I=G;break d}else{G=s;B=c[G>>2]|0;H=c[G+4>>2]|0;G=z;c[G>>2]=B;c[G+4>>2]=H;c[s>>2]=286;I=B;break d}break}case 59:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==286){B=Ud(b,w)|0;c[x>>2]=B;I=B;break d}else{B=s;H=c[B>>2]|0;G=c[B+4>>2]|0;B=z;c[B>>2]=H;c[B+4>>2]=G;c[s>>2]=286;I=H;break d}break}default:break a}while(0);if((I|0)==125)break a;A=c[g>>2]|0}if((F|0)==28)$d(c[i+12>>2]|0,44406);else if((F|0)==38)ke(c[h>>2]|0,2147483645,44597);else if((F|0)==43)ke(c[h>>2]|0,2147483645,44597)}while(0);me(b,125,123,k);k=c[m>>2]|0;do if(k|0){switch(c[g>>2]|0){case 0:{J=k;F=75;break}case 12:{b=(c[(c[i>>2]|0)+12>>2]|0)+(c[r>>2]<<2)|0;c[b>>2]=c[b>>2]&-8372225;F=61;break}case 13:{b=c[i>>2]|0;h=c[b+12>>2]|0;I=h+(c[r>>2]<<2)|0;c[I>>2]=c[I>>2]&8388607;I=h+(c[r>>2]<<2)|0;h=i+48|0;s=a[h>>0]|0;x=s&255;c[I>>2]=x<<6|c[I>>2]&-16321;I=x+1|0;x=b+78|0;do if((s&255)>=(d[x>>0]|0))if((s&255)>248)$d(c[i+12>>2]|0,44406);else{b=I&255;a[x>>0]=b;K=b;break}else K=I&255;while(0);a[h>>0]=K;F=61;break}default:{te(i,g);if(((c[g>>2]|0)==6?(I=c[r>>2]|0,(I&256|0)==0):0)?(I|0)>=(d[i+46>>0]|0|0):0){I=i+48|0;a[I>>0]=(a[I>>0]|0)+-1<<24>>24}I=i+48|0;x=a[I>>0]|0;s=(x&255)+1|0;b=(c[i>>2]|0)+78|0;do if((x&255)>=(d[b>>0]|0))if((x&255)>248)$d(c[i+12>>2]|0,44406);else{j=s&255;a[b>>0]=j;L=j;break}else L=s&255;while(0);a[I>>0]=L;ue(i,g,(L&255)+-1|0);J=c[m>>2]|0;F=75}}if((F|0)==61){s=c[(c[p>>2]|0)+4>>2]|0;b=c[o>>2]|0;x=((b+-1|0)/50|0)+1|0;h=s<<6|49;if((b|0)<25551)Yd(i,x<<14|h)|0;else{Yd(i,h)|0;Yd(i,x<<6|52)|0}a[i+48>>0]=s+1;c[o>>2]=(c[o>>2]|0)+-1;break}else if((F|0)==75){s=c[(c[p>>2]|0)+4>>2]|0;x=c[o>>2]|0;h=((x+-1|0)/50|0)+1|0;b=((J|0)==-1?49:J<<23|49)|s<<6;if((x|0)<25551)Yd(i,h<<14|b)|0;else{Yd(i,b)|0;Yd(i,h<<6|52)|0}a[i+48>>0]=s+1;break}}while(0);J=(c[(c[i>>2]|0)+12>>2]|0)+(l<<2)|0;l=c[J>>2]&8388607;i=c[o>>2]|0;if(i>>>0<8)M=i;else{if(i>>>0>15){o=1;p=i;do{F=p+1|0;p=F>>>1;o=o+1|0}while(F>>>0>31);N=o<<3;O=p}else{N=8;O=i}M=N|O+-8}O=M<<23|l;c[J>>2]=O;l=O&-8372225;O=c[n>>2]|0;if(O>>>0<8){P=O;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Ga=f;return}if(O>>>0>15){n=1;M=O;do{N=M+1|0;M=N>>>1;n=n+1|0}while(N>>>0>31);T=n<<3;U=M}else{T=8;U=O}P=T|U+-8;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Ga=f;return}function Ge(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=Ga;Ga=Ga+48|0;f=e+32|0;g=e+16|0;h=e;i=b+28|0;j=c[i>>2]|0;k=j+48|0;l=a[k>>0]|0;m=b+12|0;do if((c[m>>2]|0)!=288){n=b+4|0;o=b+8|0;c[o>>2]=c[n>>2];p=b+20|0;if((c[p>>2]|0)==286)c[m>>2]=Ud(b,b+16|0)|0;else{q=p;r=c[q+4>>2]|0;s=b+12|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=286}ne(b,g,0)|0;r=c[i>>2]|0;if((c[g+8>>2]|0)==(c[g+12>>2]|0))te(r,g);else xe(r,g)|0;if((c[m>>2]|0)!=93)Wd(b,93);c[o>>2]=c[n>>2];if((c[p>>2]|0)==286){n=Ud(b,b+16|0)|0;c[m>>2]=n;t=n;break}else{n=p;o=c[n>>2]|0;r=c[n+4>>2]|0;n=b+12|0;c[n>>2]=o;c[n+4>>2]=r;c[p>>2]=286;t=o;break}}else{if((c[d+20>>2]|0)>2147483645)ke(j,2147483645,44597);o=b+16|0;p=c[o>>2]|0;c[b+8>>2]=c[b+4>>2];r=b+20|0;if((c[r>>2]|0)==286){c[m>>2]=Ud(b,o)|0;u=c[i>>2]|0}else{o=r;n=c[o+4>>2]|0;s=b+12|0;c[s>>2]=c[o>>2];c[s+4>>2]=n;c[r>>2]=286;u=j}c[f>>2]=p;c[f+4>>2]=(a[p+4>>0]|64)&255;p=re(u,f,f)|0;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=4;c[g+4>>2]=p;t=c[m>>2]|0}while(0);f=d+20|0;c[f>>2]=(c[f>>2]|0)+1;if((t|0)!=61)Wd(b,61);c[b+8>>2]=c[b+4>>2];t=b+20|0;if((c[t>>2]|0)==286){c[m>>2]=Ud(b,b+16|0)|0;v=ye(j,g)|0;ne(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=ye(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;Yd(j,G)|0;a[k>>0]=l;Ga=e;return}else{m=t;f=c[m+4>>2]|0;u=b+12|0;c[u>>2]=c[m>>2];c[u+4>>2]=f;c[t>>2]=286;v=ye(j,g)|0;ne(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=ye(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;Yd(j,G)|0;a[k>>0]=l;Ga=e;return}}function He(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!e){i=0;return i|0}j=a[e+46>>0]|0;k=f+12|0;l=(j&255)+-1|0;m=c[e>>2]|0;a:do if(j<<24>>24){n=c[e+40>>2]|0;o=c[m+24>>2]|0;p=c[c[(c[e+12>>2]|0)+44>>2]>>2]|0;q=a[f+4>>0]|0;r=f+16|0;b:do if(q<<24>>24==4){s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if((t|0)==(f|0)&(a[t+4>>0]|0)==4){u=s;break b}if((s|0)>0)s=s+-1|0;else break a}}else{s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if(q<<24>>24==(a[t+4>>0]|0)){v=c[k>>2]|0;if((t|0)==(f|0)){u=s;break b}if((v|0)==(c[t+12>>2]|0)?(Zr(r,t+16|0,v)|0)==0:0){u=s;break b}}if((s|0)>0)s=s+-1|0;else break a}}while(0);if((u|0)>-1){c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=7;c[g+4>>2]=u;if(h|0){i=7;return i|0}r=e+16|0;do r=c[r>>2]|0;while((u|0)<(d[r+8>>0]|0));a[r+9>>0]=1;i=7;return i|0}}while(0);u=c[m+28>>2]|0;m=a[e+47>>0]|0;c:do if(!(m<<24>>24))w=29;else{h=a[f+4>>0]|0;l=f+16|0;j=m&255;if(h<<24>>24==4){q=0;while(1){n=c[u+(q<<3)>>2]|0;if((a[n+4>>0]|0)==4&(n|0)==(f|0)){x=q;break c}q=q+1|0;if(q>>>0>=j>>>0){w=29;break c}}}q=0;while(1){r=c[u+(q<<3)>>2]|0;if((a[r+4>>0]|0)==h<<24>>24){n=c[r+12>>2]|0;if((r|0)==(f|0)){x=q;break c}if((n|0)==(c[k>>2]|0)?(Zr(r+16|0,l,n)|0)==0:0){x=q;break c}}q=q+1|0;if(q>>>0>=j>>>0){w=29;break}}}while(0);do if((w|0)==29)if(!(He(c[e+8>>2]|0,f,g,0)|0)){i=0;return i|0}else{x=Td(e,f,g)|0;break}while(0);c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=8;c[g+4>>2]=x;i=8;return i|0}function Ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Ga;Ga=Ga+16|0;g=f+8|0;h=f;te(b,d);i=c[d>>2]|0;a:do switch(i|0){case 1:{j=e+1|0;k=c[b+20>>2]|0;do if((k|0)>(c[b+24>>2]|0)?(l=(c[(c[b>>2]|0)+12>>2]|0)+(k+-1<<2)|0,m=c[l>>2]|0,(m&63|0)==4):0){n=m>>>6&255;o=n+(m>>>23)|0;if((n|0)>(e|0)|(o+1|0)<(e|0)?(n|0)<(e|0)|(n|0)>(j|0):0)break;p=(n|0)<(e|0)?n:e;c[l>>2]=p<<6&16320|m&8372287|((o|0)>(e|0)?o:e)-p<<23;break a}while(0);Yd(b,e<<6|4)|0;break}case 2:case 3:{Yd(b,e<<6|((i|0)==2&1)<<23|3)|0;break}case 4:{j=c[d+4>>2]|0;k=e<<6;if((j|0)<262144){Yd(b,k|j<<14|1)|0;break a}else{Yd(b,k|2)|0;Yd(b,j<<6|52)|0;break a}break}case 5:{j=c[d+4>>2]|0;c[g>>2]=j;k=c[(c[b+12>>2]|0)+32>>2]|0;c[h>>2]=j;c[h+4>>2]=3;if(!j){j=k+8|0;p=c[j>>2]|0;c[j>>2]=p+8;o=Mc(k,g,4)|0;c[p>>2]=o;c[p+4>>2]=(a[o+4>>0]|64)&255;o=re(b,(c[j>>2]|0)+-8|0,h)|0;c[j>>2]=(c[j>>2]|0)+-8;q=o}else q=re(b,h,h)|0;o=e<<6;if((q|0)<262144){Yd(b,o|q<<14|1)|0;break a}else{Yd(b,o|2)|0;Yd(b,q<<6|52)|0;break a}break}case 11:{o=(c[(c[b>>2]|0)+12>>2]|0)+(c[d+4>>2]<<2)|0;c[o>>2]=c[o>>2]&-16321|e<<6&16320;break}case 6:{o=c[d+4>>2]|0;if((o|0)!=(e|0))Yd(b,o<<23|e<<6)|0;break}default:{Ga=f;return}}while(0);c[d+4>>2]=e;c[d>>2]=6;Ga=f;return}function Je(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=Ga;Ga=Ga+16|0;i=h;c[i+12>>2]=-1;c[i+8>>2]=-1;c[i>>2]=5;c[i+4>>2]=0;switch(e|0){case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0){e=f+4|0;c[e>>2]=0-(c[e>>2]|0);Ga=h;return}xe(b,f)|0;Me(b,32,f,i,g);Ga=h;return}case 14:{xe(b,f)|0;Me(b,27,f,i,g);Ga=h;return}case 16:{xe(b,f)|0;Me(b,29,f,i,g);Ga=h;return}case 17:{xe(b,f)|0;Me(b,30,f,i,g);Ga=h;return}case 18:{xe(b,f)|0;Me(b,31,f,i,g);Ga=h;return}case 1:{te(b,f);switch(c[f>>2]|0){case 3:case 1:{c[f>>2]=2;break}case 2:case 5:case 4:{c[f>>2]=3;break}case 10:{e=c[f+4>>2]|0;j=(c[(c[b>>2]|0)+12>>2]|0)+(e<<2)|0;if((e|0)>0?(e=j+-4|0,k=c[e>>2]|0,((k&63)+-37|0)>>>0<5):0){l=e;m=k}else{l=j;m=c[j>>2]|0}c[l>>2]=((m&16320|0)==0&1)<<6|m&-16321;break}case 6:{n=25;break}case 11:{m=b+48|0;l=a[m>>0]|0;j=(l&255)+1|0;k=(c[b>>2]|0)+78|0;do if((l&255)>=(d[k>>0]|0))if((l&255)>248)$d(c[b+12>>2]|0,44406);else{e=j&255;a[k>>0]=e;o=e;break}else o=j&255;while(0);a[m>>0]=o;Ie(b,f,(o&255)+-1|0);if((c[f>>2]|0)==6)n=25;else{p=f+4|0;n=28}break}default:{}}if((n|0)==25){o=f+4|0;m=c[o>>2]|0;if((m&256|0)==0?(m|0)>=(d[b+46>>0]|0|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;p=o;n=28}else{p=o;n=28}}if((n|0)==28){c[p>>2]=Yd(b,c[p>>2]<<23|33)|0;c[f>>2]=11}p=f+12|0;n=c[p>>2]|0;o=f+8|0;m=c[o>>2]|0;c[p>>2]=m;c[o>>2]=n;if((m|0)==-1)q=n;else{n=c[(c[b>>2]|0)+12>>2]|0;p=m;do{m=n+(p<<2)|0;if((p|0)>0?(j=m+-4|0,k=c[j>>2]|0,((k&63)+-37|0)>>>0<5):0){r=j;s=k}else{r=m;s=c[m>>2]|0}if((s&63|0)==41)c[r>>2]=s&8372224|s>>>23<<6|40;k=((c[m>>2]|0)>>>14)+-131071|0;p=(k|0)==-1?-1:p+1+k|0}while((p|0)!=-1);q=c[o>>2]|0}if((q|0)==-1){Ga=h;return}o=c[(c[b>>2]|0)+12>>2]|0;p=q;do{q=o+(p<<2)|0;if((p|0)>0?(s=q+-4|0,r=c[s>>2]|0,((r&63)+-37|0)>>>0<5):0){t=s;u=r}else{t=q;u=c[q>>2]|0}if((u&63|0)==41)c[t>>2]=u&8372224|u>>>23<<6|40;r=((c[q>>2]|0)>>>14)+-131071|0;p=(r|0)==-1?-1:p+1+r|0}while((p|0)!=-1);Ga=h;return}case 2:{xe(b,f)|0;Me(b,34,f,i,g);Ga=h;return}default:{Ga=h;return}}}function Ke(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;switch(e|0){case 26:{oe(b,f);return}case 27:{Oe(b,f);return}case 19:{te(b,f);if(((c[f>>2]|0)==6?(e=c[f+4>>2]|0,(e&256|0)==0):0)?(e|0)>=(d[b+46>>0]|0|0):0){e=b+48|0;a[e>>0]=(a[e>>0]|0)+-1<<24>>24}e=b+48|0;g=a[e>>0]|0;h=(g&255)+1|0;i=(c[b>>2]|0)+78|0;do if((g&255)>=(d[i>>0]|0))if((g&255)>248)$d(c[b+12>>2]|0,44406);else{j=h&255;a[i>>0]=j;k=j;break}else k=h&255;while(0);a[e>>0]=k;ue(b,f,(k&255)+-1|0);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)return;ye(b,f)|0;return}default:{ye(b,f)|0;return}}}function Le(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;switch(e|0){case 26:{te(b,g);i=g+12|0;j=c[f+12>>2]|0;do if((j|0)!=-1){k=c[i>>2]|0;if((k|0)==-1){c[i>>2]=j;break}l=c[(c[b>>2]|0)+12>>2]|0;m=k;while(1){n=l+(m<<2)|0;o=c[n>>2]|0;k=(o>>>14)+-131071|0;p=(k|0)==-1?-1:m+1+k|0;if((p|0)==-1)break;else m=p}l=j+~m|0;if((((l|0)>-1?l:0-l|0)|0)>131071)$d(c[b+12>>2]|0,43994);else{c[n>>2]=(l<<14)+2147467264|o&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 27:{te(b,g);o=g+8|0;n=c[f+8>>2]|0;do if((n|0)!=-1){j=c[o>>2]|0;if((j|0)==-1){c[o>>2]=n;break}i=c[(c[b>>2]|0)+12>>2]|0;l=j;while(1){q=i+(l<<2)|0;r=c[q>>2]|0;j=(r>>>14)+-131071|0;p=(j|0)==-1?-1:l+1+j|0;if((p|0)==-1)break;else l=p}i=n+~l|0;if((((i|0)>-1?i:0-i|0)|0)>131071)$d(c[b+12>>2]|0,43994);else{c[q>>2]=(i<<14)+2147467264|r&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 19:{if((c[g+8>>2]|0)==(c[g+12>>2]|0))te(b,g);else xe(b,g)|0;if((c[g>>2]|0)==11?(r=c[(c[b>>2]|0)+12>>2]|0,q=g+4|0,n=r+(c[q>>2]<<2)|0,o=c[n>>2]|0,(o&63|0)==35):0){i=f+4|0;if(((c[f>>2]|0)==6?(m=c[i>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[b+46>>0]|0|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;m=r+(c[q>>2]<<2)|0;s=m;t=c[m>>2]|0}else{s=n;t=o}c[s>>2]=c[i>>2]<<23|t&8388607;c[f>>2]=11;c[i>>2]=c[q>>2];return}te(b,g);if(((c[g>>2]|0)==6?(q=c[g+4>>2]|0,(q&256|0)==0):0)?(q|0)>=(d[b+46>>0]|0|0):0){q=b+48|0;a[q>>0]=(a[q>>0]|0)+-1<<24>>24}q=b+48|0;i=a[q>>0]|0;t=(i&255)+1|0;s=(c[b>>2]|0)+78|0;do if((i&255)>=(d[s>>0]|0))if((i&255)>248)$d(c[b+12>>2]|0,44406);else{o=t&255;a[s>>0]=o;u=o;break}else u=t&255;while(0);a[q>>0]=u;ue(b,g,(u&255)+-1|0);Me(b,35,f,g,h);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{Me(b,e+13|0,f,g,h);return}case 22:case 21:case 20:{Ne(b,e+17|0,1,f,g);return}case 25:case 24:case 23:{Ne(b,e+14|0,0,f,g);return}default:return}}function Me(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;if(((((((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)?(c[g>>2]|0)==5:0)?(c[g+8>>2]|0)==-1:0)?(c[g+12>>2]|0)==-1:0)?(i=c[g+4>>2]|0,j=f+4|0,!((e|1|0)==17&(i|0)==0)):0){c[j>>2]=bd(e+-13|0,c[j>>2]|0,i)|0;return}if((e|2|0)==34)k=0;else k=ye(b,g)|0;i=ye(b,f)|0;if((i|0)>(k|0)){if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}else{if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}c[f+4>>2]=Yd(b,k<<14|e|i<<23)|0;c[f>>2]=11;c[(c[(c[b>>2]|0)+20>>2]|0)+((c[b+20>>2]|0)+-1<<2)>>2]=h;return}function Ne(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=ye(b,g)|0;j=ye(b,h)|0;if(((c[h>>2]|0)==6?(k=c[h+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(k=c[g+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}k=(e|0)!=37&(f|0)==0;Yd(b,(k?64:f<<6)|e|(k?j:i)<<23|(k?i:j)<<14)|0;j=b+28|0;i=c[j>>2]|0;c[j>>2]=-1;j=Yd(b,2147450916)|0;if((i|0)==-1){l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}if((j|0)==-1){l=i;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}k=c[(c[b>>2]|0)+12>>2]|0;e=j;while(1){n=k+(e<<2)|0;o=c[n>>2]|0;f=(o>>>14)+-131071|0;h=(f|0)==-1?-1:e+1+f|0;if((h|0)==-1)break;else e=h}k=i+~e|0;if((((k|0)>-1?k:0-k|0)|0)>131071)$d(c[b+12>>2]|0,43994);c[n>>2]=(k<<14)+2147467264|o&16383;l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}function Oe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;te(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=c[e+4>>2]|0;h=29;break}case 3:case 1:break;case 11:{i=c[b>>2]|0;j=e+4|0;k=c[(c[i+12>>2]|0)+(c[j>>2]<<2)>>2]|0;l=b+20|0;if((k&63|0)==33){c[l>>2]=(c[l>>2]|0)+-1;Yd(b,k>>>23<<6|40)|0;k=b+28|0;l=c[k>>2]|0;c[k>>2]=-1;k=Yd(b,2147450916)|0;if((l|0)!=-1)if((k|0)!=-1){m=c[(c[b>>2]|0)+12>>2]|0;n=k;while(1){o=m+(n<<2)|0;p=c[o>>2]|0;q=(p>>>14)+-131071|0;r=(q|0)==-1?-1:n+1+q|0;if((r|0)==-1)break;else n=r}m=l+~n|0;if((((m|0)>-1?m:0-m|0)|0)>131071)$d(c[b+12>>2]|0,43994);else{c[o>>2]=(m<<14)+2147467264|p&16383;g=k;h=29;break a}}else{s=l;h=30}else{g=k;h=29}}else{t=j;u=i;h=13}break}default:{m=e+4|0;if((f|0)==6){v=m;h=19}else{t=m;u=c[b>>2]|0;h=13}}}while(0);if((h|0)==13){f=b+48|0;p=a[f>>0]|0;o=(p&255)+1|0;m=u+78|0;do if((p&255)>=(d[m>>0]|0))if((p&255)>248)$d(c[b+12>>2]|0,44406);else{u=o&255;a[m>>0]=u;w=u;break}else w=o&255;while(0);a[f>>0]=w;Ie(b,e,(w&255)+-1|0);if((c[e>>2]|0)==6){v=t;h=19}else{x=t;h=22}}if((h|0)==19){t=c[e+4>>2]|0;if((t&256|0)==0?(t|0)>=(d[b+46>>0]|0|0):0){t=b+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24;x=v;h=22}else{x=v;h=22}}do if((h|0)==22){Yd(b,c[x>>2]<<23|32745)|0;v=b+28|0;t=c[v>>2]|0;c[v>>2]=-1;v=Yd(b,2147450916)|0;if((t|0)!=-1)if((v|0)!=-1){w=c[(c[b>>2]|0)+12>>2]|0;f=v;while(1){y=w+(f<<2)|0;z=c[y>>2]|0;o=(z>>>14)+-131071|0;m=(o|0)==-1?-1:f+1+o|0;if((m|0)==-1)break;else f=m}w=t+~f|0;if((((w|0)>-1?w:0-w|0)|0)>131071)$d(c[b+12>>2]|0,43994);else{c[y>>2]=(w<<14)+2147467264|z&16383;g=v;h=29;break}}else{s=t;h=30}else{g=v;h=29}}while(0);if((h|0)==29?(g|0)!=-1:0){s=g;h=30}do if((h|0)==30){g=e+8|0;z=c[g>>2]|0;if((z|0)==-1){c[g>>2]=s;break}g=c[(c[b>>2]|0)+12>>2]|0;y=z;while(1){A=g+(y<<2)|0;B=c[A>>2]|0;z=(B>>>14)+-131071|0;x=(z|0)==-1?-1:y+1+z|0;if((x|0)==-1)break;else y=x}g=s+~y|0;if((((g|0)>-1?g:0-g|0)|0)>131071)$d(c[b+12>>2]|0,43994);else{c[A>>2]=(g<<14)+2147467264|B&16383;break}}while(0);B=e+12|0;e=c[B>>2]|0;c[b+24>>2]=c[b+20>>2];A=b+28|0;if((e|0)==-1){c[B>>2]=-1;return}s=c[A>>2]|0;if((s|0)==-1){c[A>>2]=e;c[B>>2]=-1;return}A=c[(c[b>>2]|0)+12>>2]|0;h=s;while(1){C=A+(h<<2)|0;D=c[C>>2]|0;s=(D>>>14)+-131071|0;g=(s|0)==-1?-1:h+1+s|0;if((g|0)==-1)break;else h=g}A=e+~h|0;if((((A|0)>-1?A:0-A|0)|0)>131071)$d(c[b+12>>2]|0,43994);c[C>>2]=(A<<14)+2147467264|D&16383;c[B>>2]=-1;return}function Pe(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ga;Ga=Ga+16|0;e=b;f=c[a>>2]|0;g=a+36|0;h=c[g>>2]|0;i=c[h>>2]|0;c[h>>2]=i+-1;if(!i){i=La[c[h+8>>2]&7](c[h+16>>2]|0,c[h+12>>2]|0,e)|0;j=c[e>>2]|0;if((i|0)==0|(j|0)==0)k=-1;else{c[h>>2]=j+-1;c[h+4>>2]=i+1;k=d[i>>0]|0}l=k}else{k=h+4|0;h=c[k>>2]|0;c[k>>2]=h+1;l=d[h>>0]|0}c[a>>2]=l;switch(l|0){case 13:case 10:{if((l|0)!=(f|0)){f=c[g>>2]|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(!g){g=La[c[f+8>>2]&7](c[f+16>>2]|0,c[f+12>>2]|0,e)|0;l=c[e>>2]|0;if((g|0)==0|(l|0)==0)m=-1;else{c[f>>2]=l+-1;c[f+4>>2]=g+1;m=d[g>>0]|0}n=m}else{m=f+4|0;f=c[m>>2]|0;c[m>>2]=f+1;n=d[f>>0]|0}c[a>>2]=n}break}default:{}}n=a+4|0;f=c[n>>2]|0;c[n>>2]=f+1;if((f|0)>2147483643)$d(a,45050);else{Ga=b;return}}function Qe(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;e=Ga;Ga=Ga+16|0;f=e;g=c[b>>2]|0;h=b+40|0;i=c[h>>2]|0;j=i+4|0;k=c[j>>2]|0;l=k+1|0;m=i+8|0;n=c[m>>2]|0;if(l>>>0>n>>>0){if(n>>>0>2147483645)ie(b,44222,0);o=n<<1;p=c[b+32>>2]|0;if((o|0)==-2)tc(p);q=c[i>>2]|0;r=c[p+12>>2]|0;s=(q|0)==0;t=r+4|0;u=Ma[c[r>>2]&1](c[t>>2]|0,q,n,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[r+51>>0]|0))gc(p,4);sc(p,1);v=Ma[c[r>>2]&1](c[t>>2]|0,q,n,o)|0;if(!v)gc(p,4);else w=v}else w=u;u=r+12|0;c[u>>2]=(s?0:0-n|0)+o+(c[u>>2]|0);c[i>>2]=w;c[m>>2]=o;o=c[j>>2]|0;x=o+1|0;y=w;z=o}else{x=l;y=c[i>>2]|0;z=k}c[j>>2]=x;a[y+z>>0]=g;z=b+36|0;y=c[z>>2]|0;x=c[y>>2]|0;c[y>>2]=x+-1;if(!x){x=La[c[y+8>>2]&7](c[y+16>>2]|0,c[y+12>>2]|0,f)|0;j=c[f>>2]|0;if((x|0)==0|(j|0)==0)A=-1;else{c[y>>2]=j+-1;c[y+4>>2]=x+1;A=d[x>>0]|0}B=A}else{A=y+4|0;y=c[A>>2]|0;c[A>>2]=y+1;B=d[y>>0]|0}c[b>>2]=B;if((B|0)!=61){C=0;D=B;E=(D|0)!=(g|0);F=E<<31>>31;G=C^F;Ga=e;return G|0}B=b+32|0;y=0;while(1){A=c[h>>2]|0;x=A+4|0;j=c[x>>2]|0;k=j+1|0;i=A+8|0;l=c[i>>2]|0;if(k>>>0>l>>>0){if(l>>>0>2147483645){H=22;break}o=l<<1;I=c[B>>2]|0;if((o|0)==-2){H=24;break}w=c[A>>2]|0;m=c[I+12>>2]|0;u=(w|0)==0;n=m+4|0;s=Ma[c[m>>2]&1](c[n>>2]|0,w,l,o)|0;if((o|0)!=0&(s|0)==0){if(!(a[m+51>>0]|0)){H=28;break}sc(I,1);r=Ma[c[m>>2]&1](c[n>>2]|0,w,l,o)|0;if(!r){H=28;break}else J=r}else J=s;s=m+12|0;c[s>>2]=(u?0:0-l|0)+o+(c[s>>2]|0);c[A>>2]=J;c[i>>2]=o;o=c[x>>2]|0;K=o+1|0;L=J;M=o}else{K=k;L=c[A>>2]|0;M=j}c[x>>2]=K;a[L+M>>0]=61;x=c[z>>2]|0;j=c[x>>2]|0;c[x>>2]=j+-1;if(!j){j=La[c[x+8>>2]&7](c[x+16>>2]|0,c[x+12>>2]|0,f)|0;A=c[f>>2]|0;if((j|0)==0|(A|0)==0)N=-1;else{c[x>>2]=A+-1;c[x+4>>2]=j+1;N=d[j>>0]|0}O=N}else{j=x+4|0;x=c[j>>2]|0;c[j>>2]=x+1;O=d[x>>0]|0}c[b>>2]=O;x=y+1|0;if((O|0)==61)y=x;else{C=x;D=O;H=36;break}}if((H|0)==22)ie(b,44222,0);else if((H|0)==24)tc(I);else if((H|0)==28)gc(I,4);else if((H|0)==36){E=(D|0)!=(g|0);F=E<<31>>31;G=C^F;Ga=e;return G|0}return 0}function Re(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;g=Ga;Ga=Ga+16|0;h=g;i=c[b>>2]|0;j=b+40|0;k=c[j>>2]|0;l=k+4|0;m=c[l>>2]|0;n=m+1|0;o=k+8|0;p=c[o>>2]|0;if(n>>>0>p>>>0){if(p>>>0>2147483645)ie(b,44222,0);q=p<<1;r=c[b+32>>2]|0;if((q|0)==-2)tc(r);s=c[k>>2]|0;t=c[r+12>>2]|0;u=(s|0)==0;v=t+4|0;w=Ma[c[t>>2]&1](c[v>>2]|0,s,p,q)|0;if((q|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))gc(r,4);sc(r,1);x=Ma[c[t>>2]&1](c[v>>2]|0,s,p,q)|0;if(!x)gc(r,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-p|0)+q+(c[w>>2]|0);c[k>>2]=y;c[o>>2]=q;q=c[l>>2]|0;z=q+1|0;A=y;B=q}else{z=n;A=c[k>>2]|0;B=m}c[l>>2]=z;a[A+B>>0]=i;i=b+36|0;B=c[i>>2]|0;A=c[B>>2]|0;c[B>>2]=A+-1;if(!A){A=La[c[B+8>>2]&7](c[B+16>>2]|0,c[B+12>>2]|0,h)|0;z=c[h>>2]|0;if((A|0)==0|(z|0)==0)C=-1;else{c[B>>2]=z+-1;c[B+4>>2]=A+1;C=d[A>>0]|0}D=C}else{C=B+4|0;B=c[C>>2]|0;c[C>>2]=B+1;D=d[B>>0]|0}c[b>>2]=D;switch(D|0){case 13:case 10:{Pe(b);break}default:{}}D=(e|0)==0;B=b+32|0;a:while(1){C=c[b>>2]|0;b:do switch(C|0){case -1:{E=21;break a;break}case 93:{if((Qe(b)|0)==(f|0)){E=23;break a}break}case 13:case 10:{A=c[j>>2]|0;z=A+4|0;l=c[z>>2]|0;m=l+1|0;k=A+8|0;n=c[k>>2]|0;if(m>>>0>n>>>0){if(n>>>0>2147483645){E=43;break a}q=n<<1;F=c[B>>2]|0;if((q|0)==-2){E=45;break a}y=c[A>>2]|0;o=c[F+12>>2]|0;w=(y|0)==0;p=o+4|0;u=Ma[c[o>>2]&1](c[p>>2]|0,y,n,q)|0;if((q|0)!=0&(u|0)==0){if(!(a[o+51>>0]|0)){E=49;break a}sc(F,1);t=Ma[c[o>>2]&1](c[p>>2]|0,y,n,q)|0;if(!t){E=49;break a}else G=t}else G=u;u=o+12|0;c[u>>2]=(w?0:0-n|0)+q+(c[u>>2]|0);c[A>>2]=G;c[k>>2]=q;q=c[z>>2]|0;H=q+1|0;I=G;J=q}else{H=m;I=c[A>>2]|0;J=l}c[z>>2]=H;a[I+J>>0]=10;Pe(b);if(D)c[(c[j>>2]|0)+4>>2]=0;break}default:{if(D){z=c[i>>2]|0;l=c[z>>2]|0;c[z>>2]=l+-1;if(!l){l=La[c[z+8>>2]&7](c[z+16>>2]|0,c[z+12>>2]|0,h)|0;A=c[h>>2]|0;if((l|0)==0|(A|0)==0)K=-1;else{c[z>>2]=A+-1;c[z+4>>2]=l+1;K=d[l>>0]|0}L=K}else{l=z+4|0;z=c[l>>2]|0;c[l>>2]=z+1;L=d[z>>0]|0}c[b>>2]=L;break b}z=c[j>>2]|0;l=z+4|0;A=c[l>>2]|0;m=A+1|0;q=z+8|0;k=c[q>>2]|0;if(m>>>0>k>>>0){if(k>>>0>2147483645){E=58;break a}u=k<<1;M=c[B>>2]|0;if((u|0)==-2){E=60;break a}n=c[z>>2]|0;w=c[M+12>>2]|0;o=(n|0)==0;t=w+4|0;y=Ma[c[w>>2]&1](c[t>>2]|0,n,k,u)|0;if((u|0)!=0&(y|0)==0){if(!(a[w+51>>0]|0)){E=64;break a}sc(M,1);p=Ma[c[w>>2]&1](c[t>>2]|0,n,k,u)|0;if(!p){E=64;break a}else N=p}else N=y;y=w+12|0;c[y>>2]=(o?0:0-k|0)+u+(c[y>>2]|0);c[z>>2]=N;c[q>>2]=u;u=c[l>>2]|0;O=u+1|0;P=N;Q=u}else{O=m;P=c[z>>2]|0;Q=A}c[l>>2]=O;a[P+Q>>0]=C;l=c[i>>2]|0;A=c[l>>2]|0;c[l>>2]=A+-1;if(!A){A=La[c[l+8>>2]&7](c[l+16>>2]|0,c[l+12>>2]|0,h)|0;z=c[h>>2]|0;if((A|0)==0|(z|0)==0)R=-1;else{c[l>>2]=z+-1;c[l+4>>2]=A+1;R=d[A>>0]|0}S=R}else{A=l+4|0;l=c[A>>2]|0;c[A>>2]=l+1;S=d[l>>0]|0}c[b>>2]=S}}while(0)}if((E|0)==21)ie(b,D?45003:45027,286);else if((E|0)==23){S=c[b>>2]|0;R=c[j>>2]|0;Q=R+4|0;P=c[Q>>2]|0;O=P+1|0;N=R+8|0;L=c[N>>2]|0;if(O>>>0>L>>>0){if(L>>>0>2147483645)ie(b,44222,0);K=L<<1;J=c[B>>2]|0;if((K|0)==-2)tc(J);B=c[R>>2]|0;I=c[J+12>>2]|0;H=(B|0)==0;G=I+4|0;C=Ma[c[I>>2]&1](c[G>>2]|0,B,L,K)|0;if((K|0)!=0&(C|0)==0){if(!(a[I+51>>0]|0))gc(J,4);sc(J,1);l=Ma[c[I>>2]&1](c[G>>2]|0,B,L,K)|0;if(!l)gc(J,4);else T=l}else T=C;C=I+12|0;c[C>>2]=(H?0:0-L|0)+K+(c[C>>2]|0);c[R>>2]=T;c[N>>2]=K;K=c[Q>>2]|0;U=K+1|0;V=T;W=K}else{U=O;V=c[R>>2]|0;W=P}c[Q>>2]=U;a[V+W>>0]=S;S=c[i>>2]|0;i=c[S>>2]|0;c[S>>2]=i+-1;if(!i){i=La[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,h)|0;W=c[h>>2]|0;if((i|0)==0|(W|0)==0)X=-1;else{c[S>>2]=W+-1;c[S+4>>2]=i+1;X=d[i>>0]|0}Y=X}else{X=S+4|0;S=c[X>>2]|0;c[X>>2]=S+1;Y=d[S>>0]|0}c[b>>2]=Y;if(D){Ga=g;return}D=c[j>>2]|0;j=f+2|0;c[e>>2]=_d(b,(c[D>>2]|0)+j|0,(c[D+4>>2]|0)-(j<<1)|0)|0;Ga=g;return}else if((E|0)==43)ie(b,44222,0);else if((E|0)==45)tc(F);else if((E|0)==49)gc(F,4);else if((E|0)==58)ie(b,44222,0);else if((E|0)==60)tc(M);else if((E|0)==64)gc(M,4)}function Se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[(c[a+40>>2]|0)+4>>2]=0;Te(a,92);a:do if((d|0)>0){f=0;do{g=c[b+(f<<2)>>2]|0;if((g|0)==-1)break a;Te(a,g);f=f+1|0}while((f|0)<(d|0))}while(0);ie(a,e,289)}function Te(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b+40>>2]|0;f=e+4|0;g=c[f>>2]|0;h=g+1|0;i=e+8|0;j=c[i>>2]|0;if(h>>>0<=j>>>0){k=h;l=c[e>>2]|0;m=g;n=d&255;c[f>>2]=k;o=l+m|0;a[o>>0]=n;return}if(j>>>0>2147483645)ie(b,44222,0);g=j<<1;h=c[b+32>>2]|0;if((g|0)==-2)tc(h);b=Ue(h,c[e>>2]|0,j,g)|0;c[e>>2]=b;c[i>>2]=g;g=c[f>>2]|0;k=g+1|0;l=b;m=g;n=d&255;c[f>>2]=k;o=l+m|0;a[o>>0]=n;return}function Ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=c[b+12>>2]|0;h=(d|0)==0;i=g+4|0;j=Ma[c[g>>2]&1](c[i>>2]|0,d,e,f)|0;if((f|0)!=0&(j|0)==0){if(!(a[g+51>>0]|0))gc(b,4);sc(b,1);k=Ma[c[g>>2]&1](c[i>>2]|0,d,e,f)|0;if(!k)gc(b,4);else l=k}else l=j;j=g+12|0;c[j>>2]=(h?0:0-e|0)+f+(c[j>>2]|0);return l|0}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;d=c[a>>2]|0;c[e>>2]=c[a+12>>2];c[e+4>>2]=b;gd(d,45157,e)|0;gc(c[a>>2]|0,3)}function We(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,Na=0,Oa=0;e=Ga;Ga=Ga+16|0;f=e+4|0;g=e;h=b+4|0;i=c[h>>2]|0;j=i+16|0;k=i+8|0;l=i+12|0;m=i+4|0;n=4;o=g;p=c[i>>2]|0;while(1){if(!p){q=La[c[k>>2]&7](c[j>>2]|0,c[l>>2]|0,f)|0;r=c[f>>2]|0;if((q|0)==0|(r|0)==0){s=7;break}c[i>>2]=r;c[m>>2]=q;t=r;u=q}else{t=p;u=c[m>>2]|0}q=n>>>0>t>>>0?t:n;Du(o|0,u|0,q|0)|0;p=(c[i>>2]|0)-q|0;c[i>>2]=p;c[m>>2]=(c[m>>2]|0)+q;n=n-q|0;if(!n)break;else o=o+q|0}if((s|0)==7)Ve(b,45098);o=c[g>>2]|0;if((o|0)<0)Ve(b,45147);c[d+64>>2]=o;o=c[h>>2]|0;n=o+16|0;m=o+8|0;p=o+12|0;i=o+4|0;u=4;t=g;l=c[o>>2]|0;while(1){if(!l){j=La[c[m>>2]&7](c[n>>2]|0,c[p>>2]|0,f)|0;k=c[f>>2]|0;if((j|0)==0|(k|0)==0){s=16;break}c[o>>2]=k;c[i>>2]=j;v=k;w=j}else{v=l;w=c[i>>2]|0}j=u>>>0>v>>>0?v:u;Du(t|0,w|0,j|0)|0;l=(c[o>>2]|0)-j|0;c[o>>2]=l;c[i>>2]=(c[i>>2]|0)+j;u=u-j|0;if(!u)break;else t=t+j|0}if((s|0)==16)Ve(b,45098);t=c[g>>2]|0;if((t|0)<0)Ve(b,45147);c[d+68>>2]=t;t=c[h>>2]|0;u=t+16|0;i=t+8|0;l=t+12|0;o=t+4|0;w=1;v=g;p=c[t>>2]|0;while(1){if(!p){n=La[c[i>>2]&7](c[u>>2]|0,c[l>>2]|0,f)|0;m=c[f>>2]|0;if((n|0)==0|(m|0)==0){s=25;break}c[t>>2]=m;c[o>>2]=n;x=m;y=n}else{x=p;y=c[o>>2]|0}n=w>>>0>x>>>0?x:w;Du(v|0,y|0,n|0)|0;p=(c[t>>2]|0)-n|0;c[t>>2]=p;c[o>>2]=(c[o>>2]|0)+n;w=w-n|0;if(!w)break;else v=v+n|0}if((s|0)==25)Ve(b,45098);a[d+76>>0]=a[g>>0]|0;v=c[h>>2]|0;w=v+16|0;o=v+8|0;p=v+12|0;t=v+4|0;y=1;x=g;l=c[v>>2]|0;while(1){if(!l){u=La[c[o>>2]&7](c[w>>2]|0,c[p>>2]|0,f)|0;i=c[f>>2]|0;if((u|0)==0|(i|0)==0){s=32;break}c[v>>2]=i;c[t>>2]=u;z=i;A=u}else{z=l;A=c[t>>2]|0}u=y>>>0>z>>>0?z:y;Du(x|0,A|0,u|0)|0;l=(c[v>>2]|0)-u|0;c[v>>2]=l;c[t>>2]=(c[t>>2]|0)+u;y=y-u|0;if(!y)break;else x=x+u|0}if((s|0)==32)Ve(b,45098);a[d+77>>0]=a[g>>0]|0;x=c[h>>2]|0;y=x+16|0;t=x+8|0;l=x+12|0;v=x+4|0;A=1;z=g;p=c[x>>2]|0;while(1){if(!p){w=La[c[t>>2]&7](c[y>>2]|0,c[l>>2]|0,f)|0;o=c[f>>2]|0;if((w|0)==0|(o|0)==0){s=39;break}c[x>>2]=o;c[v>>2]=w;B=o;C=w}else{B=p;C=c[v>>2]|0}w=A>>>0>B>>>0?B:A;Du(z|0,C|0,w|0)|0;p=(c[x>>2]|0)-w|0;c[x>>2]=p;c[v>>2]=(c[v>>2]|0)+w;A=A-w|0;if(!A)break;else z=z+w|0}if((s|0)==39)Ve(b,45098);a[d+78>>0]=a[g>>0]|0;z=c[h>>2]|0;A=z+16|0;v=z+8|0;p=z+12|0;x=z+4|0;C=4;B=g;l=c[z>>2]|0;while(1){if(!l){y=La[c[v>>2]&7](c[A>>2]|0,c[p>>2]|0,f)|0;t=c[f>>2]|0;if((y|0)==0|(t|0)==0){s=46;break}c[z>>2]=t;c[x>>2]=y;D=t;E=y}else{D=l;E=c[x>>2]|0}y=C>>>0>D>>>0?D:C;Du(B|0,E|0,y|0)|0;l=(c[z>>2]|0)-y|0;c[z>>2]=l;c[x>>2]=(c[x>>2]|0)+y;C=C-y|0;if(!C)break;else B=B+y|0}if((s|0)==46)Ve(b,45098);B=c[g>>2]|0;if((B|0)<0)Ve(b,45147);C=c[b>>2]|0;if((B+1|0)>>>0>1073741823)tc(C);x=B<<2;l=c[C+12>>2]|0;z=l+4|0;E=Ma[c[l>>2]&1](c[z>>2]|0,0,0,x)|0;if((x|0)!=0&(E|0)==0){if(!(a[l+51>>0]|0))gc(C,4);sc(C,1);D=Ma[c[l>>2]&1](c[z>>2]|0,0,0,x)|0;if(!D)gc(C,4);else F=D}else F=E;E=l+12|0;c[E>>2]=(c[E>>2]|0)+x;c[d+12>>2]=F;c[d+48>>2]=B;B=c[h>>2]|0;do if(x){E=B+16|0;l=B+8|0;D=B+12|0;C=B+4|0;z=x;p=F;A=c[B>>2]|0;while(1){if(!A){v=La[c[l>>2]&7](c[E>>2]|0,c[D>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=62;break}c[B>>2]=y;c[C>>2]=v;G=y;H=v}else{G=A;H=c[C>>2]|0}v=z>>>0>G>>>0?G:z;Du(p|0,H|0,v|0)|0;A=(c[B>>2]|0)-v|0;c[B>>2]=A;c[C>>2]=(c[C>>2]|0)+v;z=z-v|0;if(!z){s=63;break}else p=p+v|0}if((s|0)==62)Ve(b,45098);else if((s|0)==63){I=c[h>>2]|0;break}}else I=B;while(0);B=I+16|0;H=I+8|0;G=I+12|0;F=I+4|0;x=4;p=g;z=c[I>>2]|0;while(1){if(!z){C=La[c[H>>2]&7](c[B>>2]|0,c[G>>2]|0,f)|0;A=c[f>>2]|0;if((C|0)==0|(A|0)==0){s=70;break}c[I>>2]=A;c[F>>2]=C;J=A;K=C}else{J=z;K=c[F>>2]|0}C=x>>>0>J>>>0?J:x;Du(p|0,K|0,C|0)|0;z=(c[I>>2]|0)-C|0;c[I>>2]=z;c[F>>2]=(c[F>>2]|0)+C;x=x-C|0;if(!x)break;else p=p+C|0}if((s|0)==70)Ve(b,45098);p=c[g>>2]|0;if((p|0)<0)Ve(b,45147);x=c[b>>2]|0;if((p+1|0)>>>0>536870911)tc(x);F=p<<3;z=c[x+12>>2]|0;I=z+4|0;K=Ma[c[z>>2]&1](c[I>>2]|0,0,0,F)|0;if((F|0)!=0&(K|0)==0){if(!(a[z+51>>0]|0))gc(x,4);sc(x,1);J=Ma[c[z>>2]&1](c[I>>2]|0,0,0,F)|0;if(!J)gc(x,4);else L=J}else L=K;K=z+12|0;c[K>>2]=(c[K>>2]|0)+F;F=d+8|0;c[F>>2]=L;c[d+44>>2]=p;K=(p|0)>0;a:do if(K){z=0;do{c[L+(z<<3)+4>>2]=0;z=z+1|0}while((z|0)!=(p|0));if(K){z=b+8|0;J=0;x=L;b:while(1){I=x+(J<<3)|0;G=c[h>>2]|0;B=G+16|0;H=G+8|0;C=G+12|0;A=G+4|0;D=1;E=g;l=c[G>>2]|0;while(1){if(!l){v=La[c[H>>2]&7](c[B>>2]|0,c[C>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=90;break b}c[G>>2]=y;c[A>>2]=v;M=y;N=v}else{M=l;N=c[A>>2]|0}v=D>>>0>M>>>0?M:D;Du(E|0,N|0,v|0)|0;l=(c[G>>2]|0)-v|0;c[G>>2]=l;c[A>>2]=(c[A>>2]|0)+v;D=D-v|0;if(!D)break;else E=E+v|0}E=a[g>>0]|0;switch(E|0){case 0:{O=E;s=125;break}case 1:{E=c[h>>2]|0;D=E+16|0;A=E+8|0;l=E+12|0;G=E+4|0;C=1;B=g;H=c[E>>2]|0;while(1){if(!H){v=La[c[A>>2]&7](c[D>>2]|0,c[l>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=98;break b}c[E>>2]=y;c[G>>2]=v;P=y;Q=v}else{P=H;Q=c[G>>2]|0}v=C>>>0>P>>>0?P:C;Du(B|0,Q|0,v|0)|0;H=(c[E>>2]|0)-v|0;c[E>>2]=H;c[G>>2]=(c[G>>2]|0)+v;C=C-v|0;if(!C)break;else B=B+v|0}c[I>>2]=a[g>>0];O=1;s=125;break}case 3:{B=c[h>>2]|0;C=B+16|0;G=B+8|0;H=B+12|0;E=B+4|0;l=4;D=g;A=c[B>>2]|0;while(1){if(!A){v=La[c[G>>2]&7](c[C>>2]|0,c[H>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=106;break b}c[B>>2]=y;c[E>>2]=v;R=y;S=v}else{R=A;S=c[E>>2]|0}v=l>>>0>R>>>0?R:l;Du(D|0,S|0,v|0)|0;A=(c[B>>2]|0)-v|0;c[B>>2]=A;c[E>>2]=(c[E>>2]|0)+v;l=l-v|0;if(!l)break;else D=D+v|0}c[I>>2]=c[g>>2];O=3;s=125;break}case 4:{D=c[h>>2]|0;l=D+16|0;E=D+8|0;A=D+12|0;B=D+4|0;H=4;C=g;G=c[D>>2]|0;while(1){if(!G){v=La[c[E>>2]&7](c[l>>2]|0,c[A>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=114;break b}c[D>>2]=y;c[B>>2]=v;T=y;U=v}else{T=G;U=c[B>>2]|0}v=H>>>0>T>>>0?T:H;Du(C|0,U|0,v|0)|0;G=(c[D>>2]|0)-v|0;c[D>>2]=G;c[B>>2]=(c[B>>2]|0)+v;H=H-v|0;if(!H)break;else C=C+v|0}C=c[g>>2]|0;if(!C)V=0;else{H=Xe(c[b>>2]|0,c[z>>2]|0,C)|0;B=c[h>>2]|0;G=B+16|0;D=B+8|0;A=B+12|0;l=B+4|0;E=C;v=H;y=c[B>>2]|0;while(1){if(!y){t=La[c[D>>2]&7](c[G>>2]|0,c[A>>2]|0,f)|0;w=c[f>>2]|0;if((t|0)==0|(w|0)==0){s=122;break b}c[B>>2]=w;c[l>>2]=t;W=w;X=t}else{W=y;X=c[l>>2]|0}t=E>>>0>W>>>0?W:E;Du(v|0,X|0,t|0)|0;y=(c[B>>2]|0)-t|0;c[B>>2]=y;c[l>>2]=(c[l>>2]|0)+t;E=E-t|0;if(!E)break;else v=v+t|0}V=hd(c[b>>2]|0,H,C+-1|0)|0}c[I>>2]=V;O=(a[V+4>>0]|64)&255;s=125;break}default:{}}if((s|0)==125){s=0;c[x+(J<<3)+4>>2]=O}v=J+1|0;if((v|0)>=(p|0))break a;J=v;x=c[F>>2]|0}if((s|0)==90)Ve(b,45098);else if((s|0)==98)Ve(b,45098);else if((s|0)==106)Ve(b,45098);else if((s|0)==114)Ve(b,45098);else if((s|0)==122)Ve(b,45098)}}while(0);F=c[h>>2]|0;p=F+16|0;O=F+8|0;V=F+12|0;X=F+4|0;W=4;U=g;T=c[F>>2]|0;while(1){if(!T){S=La[c[O>>2]&7](c[p>>2]|0,c[V>>2]|0,f)|0;R=c[f>>2]|0;if((S|0)==0|(R|0)==0){s=134;break}c[F>>2]=R;c[X>>2]=S;Y=R;Z=S}else{Y=T;Z=c[X>>2]|0}S=W>>>0>Y>>>0?Y:W;Du(U|0,Z|0,S|0)|0;T=(c[F>>2]|0)-S|0;c[F>>2]=T;c[X>>2]=(c[X>>2]|0)+S;W=W-S|0;if(!W)break;else U=U+S|0}if((s|0)==134)Ve(b,45098);U=c[g>>2]|0;if((U|0)<0)Ve(b,45147);W=c[b>>2]|0;if((U+1|0)>>>0>1073741823)tc(W);X=U<<2;T=c[W+12>>2]|0;F=T+4|0;Z=Ma[c[T>>2]&1](c[F>>2]|0,0,0,X)|0;if((X|0)!=0&(Z|0)==0){if(!(a[T+51>>0]|0))gc(W,4);sc(W,1);Y=Ma[c[T>>2]&1](c[F>>2]|0,0,0,X)|0;if(!Y)gc(W,4);else _=Y}else _=Z;Z=T+12|0;c[Z>>2]=(c[Z>>2]|0)+X;X=d+16|0;c[X>>2]=_;c[d+56>>2]=U;Z=(U|0)>0;c:do if(Z){c[_>>2]=0;if((U|0)!=1){T=1;do{c[(c[X>>2]|0)+(T<<2)>>2]=0;T=T+1|0}while((T|0)!=(U|0))}if(Z){T=0;while(1){$=c[b>>2]|0;Y=c[$+12>>2]|0;W=Y+4|0;F=Ma[c[Y>>2]&1](c[W>>2]|0,0,9,80)|0;if(!F){if(!(a[Y+51>>0]|0)){s=152;break}sc($,1);V=Ma[c[Y>>2]&1](c[W>>2]|0,0,9,80)|0;if(!V){s=152;break}else aa=V}else aa=F;F=Y+12|0;c[F>>2]=(c[F>>2]|0)+80;F=Y+56|0;a[aa+5>>0]=a[Y+48>>0]&3;a[aa+4>>0]=9;c[aa>>2]=c[F>>2];c[F>>2]=aa;a[aa+76>>0]=0;a[aa+77>>0]=0;a[aa+78>>0]=0;F=aa+8|0;Y=F+64|0;do{c[F>>2]=0;F=F+4|0}while((F|0)<(Y|0));c[(c[X>>2]|0)+(T<<2)>>2]=aa;We(b,c[(c[X>>2]|0)+(T<<2)>>2]|0);T=T+1|0;if((T|0)>=(U|0))break c}if((s|0)==152)gc($,4)}}while(0);$=c[h>>2]|0;U=$+16|0;X=$+8|0;aa=$+12|0;Z=$+4|0;_=4;T=g;F=c[$>>2]|0;while(1){if(!F){Y=La[c[X>>2]&7](c[U>>2]|0,c[aa>>2]|0,f)|0;I=c[f>>2]|0;if((Y|0)==0|(I|0)==0){s=160;break}c[$>>2]=I;c[Z>>2]=Y;ba=I;ca=Y}else{ba=F;ca=c[Z>>2]|0}Y=_>>>0>ba>>>0?ba:_;Du(T|0,ca|0,Y|0)|0;F=(c[$>>2]|0)-Y|0;c[$>>2]=F;c[Z>>2]=(c[Z>>2]|0)+Y;_=_-Y|0;if(!_)break;else T=T+Y|0}if((s|0)==160)Ve(b,45098);T=c[g>>2]|0;if((T|0)<0)Ve(b,45147);_=c[b>>2]|0;if((T+1|0)>>>0>536870911)tc(_);Z=T<<3;F=c[_+12>>2]|0;$=F+4|0;ca=Ma[c[F>>2]&1](c[$>>2]|0,0,0,Z)|0;if((Z|0)!=0&(ca|0)==0){if(!(a[F+51>>0]|0))gc(_,4);sc(_,1);ba=Ma[c[F>>2]&1](c[$>>2]|0,0,0,Z)|0;if(!ba)gc(_,4);else da=ba}else da=ca;ca=F+12|0;c[ca>>2]=(c[ca>>2]|0)+Z;Z=d+28|0;c[Z>>2]=da;c[d+40>>2]=T;d:do if((T|0)>0){ca=0;do{c[da+(ca<<3)>>2]=0;ca=ca+1|0}while((ca|0)!=(T|0));ca=0;e:while(1){F=c[h>>2]|0;ba=F+16|0;_=F+8|0;$=F+12|0;aa=F+4|0;U=1;X=g;Y=c[F>>2]|0;while(1){if(!Y){I=La[c[_>>2]&7](c[ba>>2]|0,c[$>>2]|0,f)|0;C=c[f>>2]|0;if((I|0)==0|(C|0)==0){s=179;break e}c[F>>2]=C;c[aa>>2]=I;ea=C;fa=I}else{ea=Y;fa=c[aa>>2]|0}I=U>>>0>ea>>>0?ea:U;Du(X|0,fa|0,I|0)|0;Y=(c[F>>2]|0)-I|0;c[F>>2]=Y;c[aa>>2]=(c[aa>>2]|0)+I;U=U-I|0;if(!U)break;else X=X+I|0}a[(c[Z>>2]|0)+(ca<<3)+4>>0]=a[g>>0]|0;X=c[h>>2]|0;U=X+16|0;aa=X+8|0;Y=X+12|0;F=X+4|0;$=1;ba=g;_=c[X>>2]|0;while(1){if(!_){I=La[c[aa>>2]&7](c[U>>2]|0,c[Y>>2]|0,f)|0;C=c[f>>2]|0;if((I|0)==0|(C|0)==0){s=186;break e}c[X>>2]=C;c[F>>2]=I;ga=C;ha=I}else{ga=_;ha=c[F>>2]|0}I=$>>>0>ga>>>0?ga:$;Du(ba|0,ha|0,I|0)|0;_=(c[X>>2]|0)-I|0;c[X>>2]=_;c[F>>2]=(c[F>>2]|0)+I;$=$-I|0;if(!$)break;else ba=ba+I|0}a[(c[Z>>2]|0)+(ca<<3)+5>>0]=a[g>>0]|0;ca=ca+1|0;if((ca|0)>=(T|0))break d}if((s|0)==179)Ve(b,45098);else if((s|0)==186)Ve(b,45098)}while(0);T=c[h>>2]|0;ha=T+16|0;ga=T+8|0;fa=T+12|0;ea=T+4|0;da=4;ca=g;ba=c[T>>2]|0;while(1){if(!ba){$=La[c[ga>>2]&7](c[ha>>2]|0,c[fa>>2]|0,f)|0;F=c[f>>2]|0;if(($|0)==0|(F|0)==0){s=194;break}c[T>>2]=F;c[ea>>2]=$;ia=F;ja=$}else{ia=ba;ja=c[ea>>2]|0}$=da>>>0>ia>>>0?ia:da;Du(ca|0,ja|0,$|0)|0;ba=(c[T>>2]|0)-$|0;c[T>>2]=ba;c[ea>>2]=(c[ea>>2]|0)+$;da=da-$|0;if(!da)break;else ca=ca+$|0}if((s|0)==194)Ve(b,45098);ca=c[g>>2]|0;do if(ca){da=Xe(c[b>>2]|0,c[b+8>>2]|0,ca)|0;ea=c[h>>2]|0;ba=ea+16|0;T=ea+8|0;ja=ea+12|0;ia=ea+4|0;fa=ca;ha=da;ga=c[ea>>2]|0;while(1){if(!ga){$=La[c[T>>2]&7](c[ba>>2]|0,c[ja>>2]|0,f)|0;F=c[f>>2]|0;if(($|0)==0|(F|0)==0){s=202;break}c[ea>>2]=F;c[ia>>2]=$;ka=F;la=$}else{ka=ga;la=c[ia>>2]|0}$=fa>>>0>ka>>>0?ka:fa;Du(ha|0,la|0,$|0)|0;ga=(c[ea>>2]|0)-$|0;c[ea>>2]=ga;c[ia>>2]=(c[ia>>2]|0)+$;fa=fa-$|0;if(!fa){s=203;break}else ha=ha+$|0}if((s|0)==202)Ve(b,45098);else if((s|0)==203){ma=hd(c[b>>2]|0,da,ca+-1|0)|0;break}}else ma=0;while(0);c[d+36>>2]=ma;ma=c[h>>2]|0;ca=ma+16|0;la=ma+8|0;ka=ma+12|0;ha=ma+4|0;fa=4;ia=g;ga=c[ma>>2]|0;while(1){if(!ga){ea=La[c[la>>2]&7](c[ca>>2]|0,c[ka>>2]|0,f)|0;ja=c[f>>2]|0;if((ea|0)==0|(ja|0)==0){s=210;break}c[ma>>2]=ja;c[ha>>2]=ea;na=ja;oa=ea}else{na=ga;oa=c[ha>>2]|0}ea=fa>>>0>na>>>0?na:fa;Du(ia|0,oa|0,ea|0)|0;ga=(c[ma>>2]|0)-ea|0;c[ma>>2]=ga;c[ha>>2]=(c[ha>>2]|0)+ea;fa=fa-ea|0;if(!fa)break;else ia=ia+ea|0}if((s|0)==210)Ve(b,45098);ia=c[g>>2]|0;if((ia|0)<0)Ve(b,45147);fa=c[b>>2]|0;if((ia+1|0)>>>0>1073741823)tc(fa);ha=ia<<2;ga=c[fa+12>>2]|0;ma=ga+4|0;oa=Ma[c[ga>>2]&1](c[ma>>2]|0,0,0,ha)|0;do if((ha|0)!=0&(oa|0)==0){if(!(a[ga+51>>0]|0))gc(fa,4);sc(fa,1);na=Ma[c[ga>>2]&1](c[ma>>2]|0,0,0,ha)|0;if(na|0){pa=na;break}gc(fa,4)}else pa=oa;while(0);oa=ga+12|0;c[oa>>2]=(c[oa>>2]|0)+ha;c[d+20>>2]=pa;c[d+52>>2]=ia;ia=c[h>>2]|0;do if(ha){oa=ia+16|0;ga=ia+8|0;fa=ia+12|0;ma=ia+4|0;na=ha;ka=pa;ca=c[ia>>2]|0;while(1){if(!ca){la=La[c[ga>>2]&7](c[oa>>2]|0,c[fa>>2]|0,f)|0;ea=c[f>>2]|0;if((la|0)==0|(ea|0)==0){s=226;break}c[ia>>2]=ea;c[ma>>2]=la;qa=ea;ra=la}else{qa=ca;ra=c[ma>>2]|0}la=na>>>0>qa>>>0?qa:na;Du(ka|0,ra|0,la|0)|0;ca=(c[ia>>2]|0)-la|0;c[ia>>2]=ca;c[ma>>2]=(c[ma>>2]|0)+la;na=na-la|0;if(!na){s=227;break}else ka=ka+la|0}if((s|0)==226)Ve(b,45098);else if((s|0)==227){sa=c[h>>2]|0;break}}else sa=ia;while(0);ia=sa+16|0;ra=sa+8|0;qa=sa+12|0;pa=sa+4|0;ha=4;ka=g;na=c[sa>>2]|0;while(1){if(!na){ma=La[c[ra>>2]&7](c[ia>>2]|0,c[qa>>2]|0,f)|0;ca=c[f>>2]|0;if((ma|0)==0|(ca|0)==0){s=234;break}c[sa>>2]=ca;c[pa>>2]=ma;ta=ca;ua=ma}else{ta=na;ua=c[pa>>2]|0}ma=ha>>>0>ta>>>0?ta:ha;Du(ka|0,ua|0,ma|0)|0;na=(c[sa>>2]|0)-ma|0;c[sa>>2]=na;c[pa>>2]=(c[pa>>2]|0)+ma;ha=ha-ma|0;if(!ha)break;else ka=ka+ma|0}if((s|0)==234)Ve(b,45098);ka=c[g>>2]|0;if((ka|0)<0)Ve(b,45147);ha=c[b>>2]|0;if((ka+1|0)>>>0>357913941)tc(ha);pa=ka*12|0;na=c[ha+12>>2]|0;sa=na+4|0;ua=Ma[c[na>>2]&1](c[sa>>2]|0,0,0,pa)|0;do if((pa|0)!=0&(ua|0)==0){if(!(a[na+51>>0]|0))gc(ha,4);sc(ha,1);ta=Ma[c[na>>2]&1](c[sa>>2]|0,0,0,pa)|0;if(ta|0){va=ta;break}gc(ha,4)}else va=ua;while(0);ua=na+12|0;c[ua>>2]=(c[ua>>2]|0)+pa;pa=d+24|0;c[pa>>2]=va;c[d+60>>2]=ka;f:do if((ka|0)>0){d=0;do{c[va+(d*12|0)>>2]=0;d=d+1|0}while((d|0)!=(ka|0));d=b+8|0;ua=0;g:while(1){na=c[h>>2]|0;ha=na+16|0;sa=na+8|0;ta=na+12|0;qa=na+4|0;ia=4;ra=g;ma=c[na>>2]|0;while(1){if(!ma){ca=La[c[sa>>2]&7](c[ha>>2]|0,c[ta>>2]|0,f)|0;fa=c[f>>2]|0;if((ca|0)==0|(fa|0)==0){s=253;break g}c[na>>2]=fa;c[qa>>2]=ca;wa=fa;xa=ca}else{wa=ma;xa=c[qa>>2]|0}ca=ia>>>0>wa>>>0?wa:ia;Du(ra|0,xa|0,ca|0)|0;ma=(c[na>>2]|0)-ca|0;c[na>>2]=ma;c[qa>>2]=(c[qa>>2]|0)+ca;ia=ia-ca|0;if(!ia)break;else ra=ra+ca|0}ra=c[g>>2]|0;if(!ra)ya=0;else{ia=Xe(c[b>>2]|0,c[d>>2]|0,ra)|0;qa=c[h>>2]|0;ma=qa+16|0;na=qa+8|0;ta=qa+12|0;ha=qa+4|0;sa=ra;ca=ia;fa=c[qa>>2]|0;while(1){if(!fa){oa=La[c[na>>2]&7](c[ma>>2]|0,c[ta>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=261;break g}c[qa>>2]=ga;c[ha>>2]=oa;za=ga;Aa=oa}else{za=fa;Aa=c[ha>>2]|0}oa=sa>>>0>za>>>0?za:sa;Du(ca|0,Aa|0,oa|0)|0;fa=(c[qa>>2]|0)-oa|0;c[qa>>2]=fa;c[ha>>2]=(c[ha>>2]|0)+oa;sa=sa-oa|0;if(!sa)break;else ca=ca+oa|0}ya=hd(c[b>>2]|0,ia,ra+-1|0)|0}c[(c[pa>>2]|0)+(ua*12|0)>>2]=ya;ca=c[h>>2]|0;sa=ca+16|0;ha=ca+8|0;fa=ca+12|0;qa=ca+4|0;ta=4;ma=g;na=c[ca>>2]|0;while(1){if(!na){oa=La[c[ha>>2]&7](c[sa>>2]|0,c[fa>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=269;break g}c[ca>>2]=ga;c[qa>>2]=oa;Ba=ga;Ca=oa}else{Ba=na;Ca=c[qa>>2]|0}oa=ta>>>0>Ba>>>0?Ba:ta;Du(ma|0,Ca|0,oa|0)|0;na=(c[ca>>2]|0)-oa|0;c[ca>>2]=na;c[qa>>2]=(c[qa>>2]|0)+oa;ta=ta-oa|0;if(!ta)break;else ma=ma+oa|0}ma=c[g>>2]|0;if((ma|0)<0){s=271;break}c[(c[pa>>2]|0)+(ua*12|0)+4>>2]=ma;ma=c[h>>2]|0;ta=ma+16|0;qa=ma+8|0;na=ma+12|0;ca=ma+4|0;fa=4;sa=g;ha=c[ma>>2]|0;while(1){if(!ha){ra=La[c[qa>>2]&7](c[ta>>2]|0,c[na>>2]|0,f)|0;ia=c[f>>2]|0;if((ra|0)==0|(ia|0)==0){s=278;break g}c[ma>>2]=ia;c[ca>>2]=ra;Da=ia;Ea=ra}else{Da=ha;Ea=c[ca>>2]|0}ra=fa>>>0>Da>>>0?Da:fa;Du(sa|0,Ea|0,ra|0)|0;ha=(c[ma>>2]|0)-ra|0;c[ma>>2]=ha;c[ca>>2]=(c[ca>>2]|0)+ra;fa=fa-ra|0;if(!fa)break;else sa=sa+ra|0}sa=c[g>>2]|0;if((sa|0)<0){s=280;break}c[(c[pa>>2]|0)+(ua*12|0)+8>>2]=sa;ua=ua+1|0;if((ua|0)>=(ka|0))break f}if((s|0)==253)Ve(b,45098);else if((s|0)==261)Ve(b,45098);else if((s|0)==269)Ve(b,45098);else if((s|0)==271)Ve(b,45147);else if((s|0)==278)Ve(b,45098);else if((s|0)==280)Ve(b,45147)}while(0);ka=c[h>>2]|0;pa=ka+16|0;Ea=ka+8|0;Da=ka+12|0;Ca=ka+4|0;Ba=4;ya=g;Aa=c[ka>>2]|0;while(1){if(!Aa){za=La[c[Ea>>2]&7](c[pa>>2]|0,c[Da>>2]|0,f)|0;xa=c[f>>2]|0;if((za|0)==0|(xa|0)==0){s=288;break}c[ka>>2]=xa;c[Ca>>2]=za;Fa=xa;Ha=za}else{Fa=Aa;Ha=c[Ca>>2]|0}za=Ba>>>0>Fa>>>0?Fa:Ba;Du(ya|0,Ha|0,za|0)|0;Aa=(c[ka>>2]|0)-za|0;c[ka>>2]=Aa;c[Ca>>2]=(c[Ca>>2]|0)+za;Ba=Ba-za|0;if(!Ba)break;else ya=ya+za|0}if((s|0)==288)Ve(b,45098);ya=c[g>>2]|0;if((ya|0)<0)Ve(b,45147);if(!ya){Ga=e;return}Ba=b+8|0;Ca=0;h:while(1){Aa=c[h>>2]|0;ka=Aa+16|0;Ha=Aa+8|0;Fa=Aa+12|0;Da=Aa+4|0;pa=4;Ea=g;za=c[Aa>>2]|0;while(1){if(!za){xa=La[c[Ha>>2]&7](c[ka>>2]|0,c[Fa>>2]|0,f)|0;wa=c[f>>2]|0;if((xa|0)==0|(wa|0)==0){s=299;break h}c[Aa>>2]=wa;c[Da>>2]=xa;Ia=wa;Ja=xa}else{Ia=za;Ja=c[Da>>2]|0}xa=pa>>>0>Ia>>>0?Ia:pa;Du(Ea|0,Ja|0,xa|0)|0;za=(c[Aa>>2]|0)-xa|0;c[Aa>>2]=za;c[Da>>2]=(c[Da>>2]|0)+xa;pa=pa-xa|0;if(!pa)break;else Ea=Ea+xa|0}Ea=c[g>>2]|0;if(!Ea)Ka=0;else{pa=Xe(c[b>>2]|0,c[Ba>>2]|0,Ea)|0;Da=c[h>>2]|0;za=Da+16|0;Aa=Da+8|0;Fa=Da+12|0;ka=Da+4|0;Ha=Ea;xa=pa;wa=c[Da>>2]|0;while(1){if(!wa){va=La[c[Aa>>2]&7](c[za>>2]|0,c[Fa>>2]|0,f)|0;ua=c[f>>2]|0;if((va|0)==0|(ua|0)==0){s=307;break h}c[Da>>2]=ua;c[ka>>2]=va;Na=ua;Oa=va}else{Na=wa;Oa=c[ka>>2]|0}va=Ha>>>0>Na>>>0?Na:Ha;Du(xa|0,Oa|0,va|0)|0;wa=(c[Da>>2]|0)-va|0;c[Da>>2]=wa;c[ka>>2]=(c[ka>>2]|0)+va;Ha=Ha-va|0;if(!Ha)break;else xa=xa+va|0}Ka=hd(c[b>>2]|0,pa,Ea+-1|0)|0}c[(c[Z>>2]|0)+(Ca<<3)>>2]=Ka;Ca=Ca+1|0;if((Ca|0)>=(ya|0)){s=310;break}}if((s|0)==299)Ve(b,45098);else if((s|0)==307)Ve(b,45098);else if((s|0)==310){Ga=e;return}}function Xe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=d+8|0;g=c[f>>2]|0;if(g>>>0>=e>>>0){h=c[d>>2]|0;return h|0}i=e>>>0>32?e:32;if((i+1|0)>>>0>4294967293)tc(b);e=c[d>>2]|0;j=c[b+12>>2]|0;k=(e|0)==0;l=j+4|0;m=Ma[c[j>>2]&1](c[l>>2]|0,e,g,i)|0;if(!m){if(!(a[j+51>>0]|0))gc(b,4);sc(b,1);n=Ma[c[j>>2]&1](c[l>>2]|0,e,g,i)|0;if(!n)gc(b,4);else o=n}else o=m;m=j+12|0;c[m>>2]=(k?0:0-g|0)+i+(c[m>>2]|0);c[d>>2]=o;c[f>>2]=i;h=o;return h|0}function Ye(b){b=b|0;a[b+6>>0]=0;c[b+16>>2]=b+72;return}function Ze(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+12|0;h=c[g>>2]|0;do switch(e|0){case 0:{a[h+51>>0]=0;i=0;return i|0}case 1:{j=h+12|0;k=h+8|0;c[k>>2]=(c[k>>2]|0)+(c[j>>2]|0);c[j>>2]=0;a[h+51>>0]=1;i=0;return i|0}case 2:{sc(b,0);i=0;return i|0}case 3:{i=((c[h+12>>2]|0)+(c[h+8>>2]|0)|0)>>>10;return i|0}case 4:{i=(c[h+12>>2]|0)+(c[h+8>>2]|0)&1023;return i|0}case 5:{if((a[h+50>>0]|0)==2){j=(c[h+20>>2]|0)==0&1;wc(b);i=j;return i|0}else{j=h+12|0;k=c[j>>2]|0;l=(f<<10)+-1600+((a[h+51>>0]|0)==0?0:k)|0;m=h+8|0;c[m>>2]=k-l+(c[m>>2]|0);c[j>>2]=l;wc(b);i=(a[h+49>>0]|0)==5&1;return i|0}break}case 6:{l=h+128|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 8:{j=h+132|0;l=c[j>>2]|0;c[j>>2]=f;i=l;return i|0}case 7:{l=h+136|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 9:{i=d[h+51>>0]|0;return i|0}case 10:{j=h+50|0;if((a[j>>0]|0)==2){i=0;return i|0}l=h+49|0;if(a[l>>0]|0)do Rc(b)|0;while((a[l>>0]|0)!=0);c[h+20>>2]=(c[h+12>>2]|0)+(c[h+8>>2]|0);a[j>>0]=2;i=0;return i|0}case 11:{l=h+50|0;if(!(a[l>>0]|0)){i=0;return i|0}a[l>>0]=0;Wc(b)|0;l=(c[g>>2]|0)+49|0;if(1<<d[l>>0]&-29|0){i=0;return i|0}do Rc(b)|0;while(!(1<<d[l>>0]&-29|0));i=0;return i|0}default:{i=-1;return i|0}}while(0);return 0}function _e(a){a=a|0;lc(a);return 0}function $e(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|0)==22)f=2060540;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2060540:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2060540}while(0);b=c[f>>2]|0;f=a+8|0;e=c[f>>2]|0;g=e+-8|0;i=af(a,b,g)|0;a=i+1|0;h=c[b+28>>2]|0;a:do if((a|0)<(h|0)){j=b+12|0;k=c[j>>2]|0;l=i;m=a;while(1){if(c[k+(m<<3)+4>>2]|0)break;n=m+1|0;if((n|0)<(h|0)){o=m;m=n;l=o}else{p=n;q=14;break a}}c[g>>2]=(l<<16)+131072;c[e+-4>>2]=3;k=c[j>>2]|0;c[e>>2]=c[k+(m<<3)>>2];r=k+(m<<3)+4|0}else{p=a;q=14}while(0);do if((q|0)==14){a=p-h|0;i=1<<(d[b+7>>0]|0);if((a|0)>=(i|0)){s=0;t=-1;u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}k=b+16|0;n=c[k>>2]|0;o=a;while(1){if(c[n+(o*20|0)+4>>2]|0){q=17;break}a=o+1|0;if((a|0)<(i|0))o=a;else{s=0;t=-1;q=20;break}}if((q|0)==17){c[g>>2]=c[n+(o*20|0)+8>>2];c[e+-4>>2]=c[n+(o*20|0)+12>>2];i=c[k>>2]|0;c[e>>2]=c[i+(o*20|0)>>2];r=i+(o*20|0)+4|0;break}else if((q|0)==20){u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}}while(0);c[e+4>>2]=c[r>>2];s=1;t=1;u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=Ga;Ga=Ga+16|0;f=e;g=d+4|0;switch(c[g>>2]|0){case 3:{h=2;break}case 0:{i=-1;Ga=e;return i|0}default:{}}if(((h|0)==2?(j=c[d>>2]|0,k=j>>16,(j|0)>65535&((j+-65536|0)>>>0<2147352577&(j&65535|0)==0)):0)?(k|0)<=(c[b+28>>2]|0):0){i=k+-1|0;Ga=e;return i|0}k=ed(b,d)|0;while(1){j=k+8|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[g>>2]|0)){if(Bc(0,j,d)|0)break;n=c[l>>2]|0}else n=m;if(((n|0)==11?c[g>>2]&64|0:0)?(c[j>>2]|0)==(c[d>>2]|0):0)break;j=c[k+16>>2]|0;if(!j){h=14;break}else k=j}if((h|0)==14)ic(a,45182,f);i=((k-(c[b+16>>2]|0)|0)/20|0)+(c[b+28>>2]|0)|0;Ga=e;return i|0}function bf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((d|0)<=1){if(d|0)return;e=b+8|0;f=c[e>>2]|0;g=Mc(b,3002004,0)|0;c[f>>2]=g;c[f+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return}e=c[b+12>>2]|0;g=e+12|0;f=c[g>>2]|0;do if((f|0)>0)if(!(a[e+51>>0]|0)){h=e+8|0;c[h>>2]=f+1600+(c[h>>2]|0);c[g>>2]=-1600;break}else{wc(b);break}while(0);zc(b,d);return}function cf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=Ga;Ga=Ga+160|0;h=g+40|0;i=g+32|0;j=g+24|0;k=g+16|0;l=g+8|0;m=g;n=g+48|0;o=b+8|0;p=b+16|0;q=(c[o>>2]|0)-((c[c[p>>2]>>2]|0)+8)>>3;r=d+16|0;s=c[r>>2]|0;t=d+72|0;if((s|0)==(t|0)){u=1;v=0}else{w=1;x=1;while(1){if(!w){y=s;z=0}else{A=w;B=s;while(1){C=A+-1|0;D=c[B+8>>2]|0;if((A|0)>1&(D|0)!=(t|0)){A=C;B=D}else{y=D;z=C;break}}}if((z|0)!=0|(y|0)==(t|0)){E=x;F=w;break}B=w<<1;if((w|0)<0){E=w;F=B;break}else{A=w;w=B;x=A}}if((E|0)<(F|0)){x=F;w=E;while(1){E=x+w|0;y=(E|0)/2|0;if((E|0)<-1)G=0;else{if((E+1|0)>>>0>2){E=y;z=s;while(1){A=E+-1|0;B=c[z+8>>2]|0;if((E|0)>1&(B|0)!=(t|0)){E=A;z=B}else{H=B;I=A;break}}}else{H=s;I=y}G=(I|0)==0&(H|0)!=(t|0)&1}z=(G|0)==0;E=z?y:x;w=z?w:y+1|0;if((w|0)>=(E|0)){J=E;break}else x=E}}else J=F;u=J;v=(J|0)>23?12:0}if(e|0){c[m>>2]=e;Bd(b,55077,m)|0}m=b+12|0;e=c[m>>2]|0;J=e+12|0;F=c[J>>2]|0;do if((F|0)>0)if(!(a[e+51>>0]|0)){x=e+8|0;c[x>>2]=F+1600+(c[x>>2]|0);c[J>>2]=-1600;break}else{wc(b);break}while(0);J=Mc(b,45204,16)|0;F=c[o>>2]|0;c[F>>2]=J;c[F+4>>2]=(a[J+4>>0]|64)&255;J=(c[o>>2]|0)+8|0;c[o>>2]=J;if((f|0)<0){K=J;L=J}else{J=n+96|0;F=n+36|0;e=n+20|0;x=u+-11|0;u=n+8|0;w=n+12|0;G=n+35|0;H=n+4|0;I=n+24|0;s=f;while(1){f=s+1|0;E=c[r>>2]|0;if((s|0)!=0&(E|0)!=(t|0)){z=s;A=E;while(1){B=z+-1|0;C=c[A+8>>2]|0;if((z|0)>1&(C|0)!=(t|0)){z=B;A=C}else{M=C;N=B;break}}}else{M=E;N=s}if((N|0)!=0|(M|0)==(t|0))break;c[J>>2]=M;do if((f|0)==(v|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{wc(b);break}while(0);z=Mc(b,45221,5)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=x}else{df(d,45227,n)|0;c[l>>2]=F;Bd(b,45232,l)|0;z=c[e>>2]|0;if((z|0)>0){c[k>>2]=z<<16;Bd(b,45238,k)|0}z=c[m>>2]|0;y=z+12|0;A=c[y>>2]|0;do if((A|0)>0)if(!(a[z+51>>0]|0)){B=z+8|0;c[B>>2]=A+1600+(c[B>>2]|0);c[y>>2]=-1600;break}else{wc(b);break}while(0);y=Mc(b,45242,4)|0;A=c[o>>2]|0;c[A>>2]=y;c[A+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;a:do if(!(a[c[u>>2]>>0]|0))switch(a[c[w>>2]>>0]|0){case 109:{y=c[m>>2]|0;A=y+12|0;z=c[A>>2]|0;do if((z|0)>0)if(!(a[y+51>>0]|0)){B=y+8|0;c[B>>2]=z+1600+(c[B>>2]|0);c[A>>2]=-1600;break}else{wc(b);break}while(0);A=Mc(b,45261,10)|0;z=c[o>>2]|0;c[z>>2]=A;c[z+4>>2]=(a[A+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a;break}case 67:{if(!(ef(b,n)|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{wc(b);break}while(0);z=Mc(b,43489,1)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a}z=c[o>>2]|0;y=z+-8|0;if((c[z+-4>>2]&15|0)!=4)if(!(sd(b,y)|0))P=0;else{z=c[m>>2]|0;A=z+12|0;B=c[A>>2]|0;do if((B|0)>0)if(!(a[z+51>>0]|0)){C=z+8|0;c[C>>2]=B+1600+(c[C>>2]|0);c[A>>2]=-1600;break}else{wc(b);break}while(0);Q=(c[o>>2]|0)+-8|0;R=57}else{Q=y;R=57}if((R|0)==57){R=0;P=(c[Q>>2]|0)+16|0}c[i>>2]=P;Bd(b,45247,i)|0;A=c[o>>2]|0;B=A+-16|0;z=A+-8|0;while(1){c[B>>2]=c[z>>2];c[B+4>>2]=c[B+12>>2];A=z+8|0;S=c[o>>2]|0;if(A>>>0<S>>>0){C=z;z=A;B=C}else break}c[o>>2]=S+-8;break a;break}default:{B=c[I>>2]<<16;c[h>>2]=F;c[h+4>>2]=B;Bd(b,45272,h)|0;break a}}else{c[j>>2]=c[H>>2];Bd(b,45247,j)|0}while(0);if(!(a[G>>0]|0)){B=c[o>>2]|0;T=B;U=B}else{B=c[m>>2]|0;z=B+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[B+51>>0]|0)){C=B+8|0;c[C>>2]=y+1600+(c[C>>2]|0);c[z>>2]=-1600;break}else{wc(b);break}while(0);z=Mc(b,45289,20)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;z=(c[o>>2]|0)+8|0;c[o>>2]=z;T=z;U=z}z=(T-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((z|0)<=1){if(z|0){O=f;break}y=Mc(b,3002004,0)|0;c[U>>2]=y;c[U+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=f;break}y=c[m>>2]|0;B=y+12|0;C=c[B>>2]|0;do if((C|0)>0)if(!(a[y+51>>0]|0)){A=y+8|0;c[A>>2]=C+1600+(c[A>>2]|0);c[B>>2]=-1600;break}else{wc(b);break}while(0);zc(b,z);O=f}while(0);if((O|0)<0)break;else s=O}O=c[o>>2]|0;K=O;L=O}O=(K-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((O|0)<=1){if(O|0){Ga=g;return}q=Mc(b,3002004,0)|0;c[L>>2]=q;c[L+4>>2]=(a[q+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;Ga=g;return}o=c[m>>2]|0;m=o+12|0;q=c[m>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){L=o+8|0;c[L>>2]=q+1600+(c[L>>2]|0);c[m>>2]=-1600;break}else{wc(b);break}while(0);zc(b,O);Ga=g;return}function df(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=Ga;Ga=Ga+16|0;h=g;if((a[e>>0]|0)==62){i=b+8|0;j=(c[i>>2]|0)+-8|0;c[i>>2]=j;k=e+1|0;l=0;m=j}else{j=c[f+96>>2]|0;k=e;l=j;m=c[j>>2]|0}j=m+4|0;if((c[j>>2]&31|0)==6)n=c[m>>2]|0;else n=0;e=a[k>>0]|0;a:do if(!(e<<24>>24))o=1;else{i=(n|0)==0;p=(l|0)==0;q=f+16|0;r=f+24|0;s=f+28|0;t=f+12|0;u=f+36|0;v=n+4|0;w=f+20|0;x=l+18|0;y=f+32|0;z=f+34|0;A=f+33|0;B=n+6|0;C=f+35|0;D=f+8|0;E=f+45|0;F=n+12|0;G=f+4|0;H=l+8|0;I=f+95|0;J=f+39|0;K=l+28|0;L=b+12|0;M=k;N=1;O=e;while(1){b:do switch(O<<24>>24|0){case 83:{if(!i?(a[v>>0]|0)!=38:0){P=c[F>>2]|0;Q=c[P+36>>2]|0;R=(Q|0)==0?45315:Q+16|0;c[q>>2]=R;Q=c[P+64>>2]|0;c[r>>2]=Q;c[s>>2]=c[P+68>>2];S=R;T=(Q|0)==0?45318:45323}else{c[q>>2]=45310;c[r>>2]=-1;c[s>>2]=-1;S=45310;T=60483}c[t>>2]=T;Q=Ms(S)|0;switch(a[S>>0]|0){case 61:{R=S+1|0;if(Q>>>0>60){U=u;V=R;W=U+59|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));a[I>>0]=0;X=N;break b}else{Du(u|0,R|0,Q|0)|0;X=N;break b}break}case 64:{if(Q>>>0>60){a[u>>0]=a[43846]|0;a[u+1>>0]=a[43847]|0;a[u+2>>0]=a[43848]|0;U=J;V=S+1+Q+-57|0;W=U+57|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));X=N;break b}else{Du(u|0,S+1|0,Q|0)|0;X=N;break b}break}default:{R=Ys(S,10)|0;U=u;V=43850;W=U+9|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));P=(R|0)==0;if(Q>>>0<45&P){Du(E|0,S|0,Q|0)|0;Y=E+Q|0}else{Z=P?Q:R-S|0;P=Z>>>0<45?Z:45;Du(E|0,S|0,P|0)|0;Z=E+P|0;a[Z>>0]=a[43846]|0;a[Z+1>>0]=a[43847]|0;a[Z+2>>0]=a[43848]|0;Y=Z+3|0};a[Y>>0]=a[43860]|0;a[Y+1>>0]=a[43861]|0;a[Y+2>>0]=a[43862]|0;X=N;break b}}break}case 108:{if(!p?(a[x>>0]&1)!=0:0){Z=c[(c[c[l>>2]>>2]|0)+12>>2]|0;P=c[Z+20>>2]|0;if(!P)_=0;else _=c[P+(((c[K>>2]|0)-(c[Z+12>>2]|0)>>2)+-1<<2)>>2]|0}else _=-1;c[w>>2]=_;X=N;break}case 117:{if(!i){a[y>>0]=a[B>>0]|0;if((a[v>>0]|0)!=38){a[z>>0]=a[(c[F>>2]|0)+77>>0]|0;a[A>>0]=a[(c[F>>2]|0)+76>>0]|0;X=N;break b}}else a[y>>0]=0;a[z>>0]=1;a[A>>0]=0;X=N;break}case 116:{if(p)$=0;else $=a[x>>0]&64;a[C>>0]=$;X=N;break}case 110:{c:do if((!p?(a[x>>0]&64)==0:0)?(Z=c[H>>2]|0,(a[Z+18>>0]&1)!=0):0){P=c[(c[c[Z>>2]>>2]|0)+12>>2]|0;aa=c[P+12>>2]|0;ba=((c[Z+28>>2]|0)-aa>>2)+-1|0;Z=c[aa+(ba<<2)>>2]|0;do switch(Z&63){case 43:case 42:{aa=Pc(P,ba,Z>>>6&255,G)|0;c[D>>2]=aa;if(!aa)break c;else{X=N;break b}break}case 47:{c[G>>2]=45327;ca=45327;break}case 7:case 6:case 12:{da=0;ea=68;break}case 10:case 8:{da=1;ea=68;break}case 37:{da=5;ea=68;break}case 13:{da=6;ea=68;break}case 14:{da=7;ea=68;break}case 15:{da=8;ea=68;break}case 16:{da=9;ea=68;break}case 17:{da=10;ea=68;break}case 18:{da=11;ea=68;break}case 19:{da=12;ea=68;break}case 20:{da=13;ea=68;break}case 21:{da=14;ea=68;break}case 22:{da=15;ea=68;break}case 23:{da=16;ea=68;break}case 24:{da=17;ea=68;break}case 25:{da=18;ea=68;break}case 26:{da=19;ea=68;break}case 27:{da=20;ea=68;break}case 28:{da=21;ea=68;break}case 29:{da=22;ea=68;break}case 30:{da=23;ea=68;break}case 31:{da=24;ea=68;break}case 32:{da=25;ea=68;break}case 34:{da=4;ea=68;break}case 38:{da=26;ea=68;break}case 39:{da=27;ea=68;break}case 35:{da=28;ea=68;break}default:{ea=69;break c}}while(0);if((ea|0)==68){ea=0;c[G>>2]=(c[(c[L>>2]|0)+156+(da<<2)>>2]|0)+16;ca=45340}c[D>>2]=ca;X=N;break b}else ea=69;while(0);if((ea|0)==69){ea=0;c[D>>2]=0}c[D>>2]=3002004;c[G>>2]=0;X=N;break}case 102:case 76:{X=N;break}default:X=0}while(0);M=M+1|0;O=a[M>>0]|0;if(!(O<<24>>24)){o=X;break a}else N=X}}while(0);if(Ys(k,102)|0){X=b+8|0;ca=c[X>>2]|0;c[ca>>2]=c[m>>2];c[ca+4>>2]=c[j>>2];c[X>>2]=(c[X>>2]|0)+8}if(!(Ys(k,76)|0)){Ga=g;return o|0}if(n|0?(a[n+4>>0]|0)!=38:0){k=n+12|0;n=c[(c[k>>2]|0)+20>>2]|0;X=c[b+12>>2]|0;j=X+4|0;ca=Ma[c[X>>2]&1](c[j>>2]|0,0,5,32)|0;if(!ca){if(!(a[X+51>>0]|0))gc(b,4);sc(b,1);m=Ma[c[X>>2]&1](c[j>>2]|0,0,5,32)|0;if(!m)gc(b,4);else fa=m}else fa=ca;ca=X+12|0;c[ca>>2]=(c[ca>>2]|0)+32;ca=X+56|0;a[fa+5>>0]=a[X+48>>0]&3;a[fa+4>>0]=5;c[fa>>2]=c[ca>>2];c[ca>>2]=fa;c[fa+8>>2]=0;a[fa+6>>0]=-1;ca=fa+12|0;c[ca>>2]=0;X=fa+28|0;c[X>>2]=0;m=fa+16|0;c[m>>2]=2060568;j=fa+7|0;a[j>>0]=0;c[fa+20>>2]=2060568;da=b+8|0;$=c[da>>2]|0;c[$>>2]=fa;c[$+4>>2]=69;c[da>>2]=(c[da>>2]|0)+8;if((c[(c[k>>2]|0)+52>>2]|0)<=0){Ga=g;return o|0}da=h+4|0;$=0;do{_=c[n+($<<2)>>2]|0;l=_+-1|0;d:do if(l>>>0<(c[X>>2]|0)>>>0){ga=(c[ca>>2]|0)+(l<<3)|0;ea=94}else{Y=_<<16;S=0-Y|0;V=(c[m>>2]|0)+(((((Y|0)<0?((Y|0)==(S|0)?0:S):Y)|0)%((1<<d[j>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[V+12>>2]|0)==3?(c[V+8>>2]|0)==(Y|0):0)break;S=c[V+16>>2]|0;if(!S){ha=Y;ea=96;break d}else V=S}ga=V;ea=94}while(0);if((ea|0)==94){ea=0;if((ga|0)==2060540){ha=_<<16;ea=96}else ia=ga}if((ea|0)==96){ea=0;c[h>>2]=ha;c[da>>2]=3;ia=vc(b,fa,h)|0}c[ia>>2]=1;c[ia+4>>2]=1;$=$+1|0}while(($|0)<(c[(c[k>>2]|0)+52>>2]|0));Ga=g;return o|0}k=b+8|0;b=c[k>>2]|0;c[b+4>>2]=0;c[k>>2]=b+8;Ga=g;return o|0}function ef(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+8|0;f=a+16|0;g=(c[e>>2]|0)-((c[c[f>>2]>>2]|0)+8)|0;h=g>>3;df(a,57119,b)|0;b=c[(c[a+12>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)i=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<<(d[b+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;k=c[j+16>>2]|0;if(!k){i=2060540;break a}else j=k}i=j}while(0);b=c[e>>2]|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[e>>2]=(c[e>>2]|0)+8;i=h+1|0;if(ff(a,i,2)|0){kd(a,-1,i);l=1;m=(c[e>>2]|0)+-16|0;c[e>>2]=m;return l|0}if((g|0)<=-8){l=0;m=(c[e>>2]|0)+(i<<3)|0;c[e>>2]=m;return l|0}i=c[c[f>>2]>>2]|0;f=c[e>>2]|0;g=i+8+(h<<3)|0;if(f>>>0>=g>>>0){l=0;m=g;c[e>>2]=m;return l|0}a=(i+(h<<3)+4+(3-f)|0)>>>3;h=f;do{c[h+4>>2]=0;h=h+8|0}while(h>>>0<g>>>0);c[e>>2]=f+(a+1<<3);l=0;m=g;c[e>>2]=m;return l|0}function ff(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if(!f){g=0;return g|0}h=b+16|0;i=b+8|0;j=c[i>>2]|0;if((j+-8|0)==2060540){g=0;return g|0}if((c[j+-4>>2]&15|0)!=5){g=0;return g|0}c[j+4>>2]=0;c[i>>2]=j+8;if(!($e(b,-2)|0)){g=0;return g|0}j=f+-1|0;f=(e|0)<-1000999;k=(e|0)==-1001e3;l=b+12|0;m=-1001e3-e|0;n=m+-1|0;a:do if((e|0)>0){while(1){o=c[i>>2]|0;if((o+-16|0)!=2060540?(c[o+-12>>2]&15|0)==4:0){p=(c[c[h>>2]>>2]|0)+(e<<3)|0;q=p>>>0<o>>>0?p:2060540;p=o+-8|0;if(((p|0)!=2060540&(q|0)!=2060540?(c[q+4>>2]|0)==(c[o+-4>>2]|0):0)?Bc(0,q,p)|0:0){r=27;break a}if(ff(b,e,j)|0)break a;s=c[i>>2]|0}else s=o;c[i>>2]=s+-8;if(!($e(b,-2)|0)){g=0;break}}return g|0}else{while(1){o=c[i>>2]|0;if((o+-16|0)!=2060540?(c[o+-12>>2]&15|0)==4:0){p=c[h>>2]|0;do if(f){if(k){t=(c[l>>2]|0)+36|0;r=24;break}q=c[p>>2]|0;if((c[q+4>>2]|0)!=22){u=c[q>>2]|0;t=(m|0)>(d[u+6>>0]|0)?2060540:u+16+(n<<3)|0;r=24}}else{t=o+(e<<3)|0;r=24}while(0);if((((r|0)==24?(r=0,p=o+-8|0,(p|0)!=2060540&(t|0)!=2060540):0)?(c[t+4>>2]|0)==(c[o+-4>>2]|0):0)?Bc(0,t,p)|0:0){r=27;break a}if(ff(b,e,j)|0)break a;v=c[i>>2]|0}else v=o;c[i>>2]=v+-8;if(!($e(b,-2)|0)){g=0;break}}return g|0}while(0);if((r|0)==27){c[i>>2]=(c[i>>2]|0)+-8;g=1;return g|0}r=c[i>>2]|0;v=r+-16|0;j=r+-8|0;while(1){c[v>>2]=c[j>>2];c[v+4>>2]=c[v+12>>2];r=j+8|0;w=c[i>>2]|0;if(r>>>0<w>>>0){e=j;j=r;v=e}else break}c[i>>2]=w+-8;w=c[l>>2]|0;v=w+12|0;j=c[v>>2]|0;do if((j|0)>0)if(!(a[w+51>>0]|0)){e=w+8|0;c[e>>2]=j+1600+(c[e>>2]|0);c[v>>2]=-1600;break}else{wc(b);break}while(0);v=Mc(b,67771,1)|0;j=c[i>>2]|0;c[j>>2]=v;c[j+4>>2]=(a[v+4>>0]|64)&255;v=c[i>>2]|0;j=v+8|0;c[i>>2]=j;w=j;do{j=w;w=w+-8|0;c[j>>2]=c[w>>2];c[j+4>>2]=c[j+-4>>2]}while(j>>>0>v>>>0);w=c[i>>2]|0;c[v+-8>>2]=c[w>>2];c[v+-4>>2]=c[w+4>>2];w=c[l>>2]|0;l=w+12|0;v=c[l>>2]|0;do if((v|0)>0)if(!(a[w+51>>0]|0)){i=w+8|0;c[i>>2]=v+1600+(c[i>>2]|0);c[l>>2]=-1600;break}else{wc(b);break}while(0);zc(b,3);g=1;return g|0}function gf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=Ga;Ga=Ga+128|0;g=f+16|0;h=f+8|0;i=f;j=f+28|0;f=c[b+16>>2]|0;if((f|0)==(b+72|0)){c[i>>2]=d;c[i+4>>2]=e;hf(b,45351,i)|0}c[j+96>>2]=f;df(b,45373,j)|0;if(!(Cs(c[j+8>>2]|0,43577)|0)){f=d+-1|0;if(!f){c[h>>2]=c[j+4>>2];c[h+4>>2]=e;hf(b,45375,h)|0}else k=f}else k=d;d=j+4|0;f=c[d>>2]|0;if(f|0){l=f;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;hf(b,45405,g)|0}do if(!(ef(b,j)|0))o=43489;else{f=b+8|0;h=c[f>>2]|0;i=h+-8|0;if((c[h+-4>>2]&15|0)==4)p=i;else{if(!(sd(b,i)|0)){o=0;break}i=c[b+12>>2]|0;h=i+12|0;q=c[h>>2]|0;do if((q|0)>0)if(!(a[i+51>>0]|0)){r=i+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[h>>2]=-1600;break}else{wc(b);break}while(0);p=(c[f>>2]|0)+-8|0}o=(c[p>>2]|0)+16|0}while(0);c[d>>2]=o;l=o;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;hf(b,45405,g)|0;return 0}function hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=d;jf(a,1);Ad(a,b,f)|0;bf(a,2);_e(a)|0;return 0}function jf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Ga;Ga=Ga+112|0;f=e;g=e+8|0;if((d|0)>=0){h=c[b+16>>2]|0;i=b+72|0;if((d|0)!=0&(h|0)!=(i|0)){j=d;k=h;while(1){l=j+-1|0;m=c[k+8>>2]|0;if((j|0)>1&(m|0)!=(i|0)){j=l;k=m}else{n=m;o=l;break}}}else{n=h;o=d}if(!((o|0)!=0|(n|0)==(i|0))?(c[g+96>>2]=n,df(b,45435,g)|0,n=g+20|0,i=c[n>>2]|0,(i|0)>0):0){c[f>>2]=g+36;c[f+4>>2]=i<<16;Bd(b,45438,f)|0;c[515137]=c[n>>2];Ga=e;return}}n=c[b+12>>2]|0;f=n+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[n+51>>0]|0)){g=n+8|0;c[g>>2]=i+1600+(c[g>>2]|0);c[f>>2]=-1600;break}else{wc(b);break}while(0);f=Mc(b,3002004,0)|0;i=b+8|0;b=c[i>>2]|0;c[b>>2]=f;c[b+4>>2]=(a[f+4>>0]|64)&255;c[i>>2]=(c[i>>2]|0)+8;Ga=e;return}function kf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ga;Ga=Ga+16|0;g=f;h=rd(a,b,e)|0;if(h|0){Ga=f;return h|0}e=c[a+16>>2]|0;do if((b|0)>0){i=(c[e>>2]|0)+(b<<3)|0;if(i>>>0<(c[a+8>>2]|0)>>>0){j=i;k=10}else l=0}else{if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;k=10;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;k=10;break}i=-1001e3-b|0;m=c[e>>2]|0;if((c[m+4>>2]|0)!=22?(n=c[m>>2]|0,(i|0)<=(d[n+6>>0]|0|0)):0){j=n+16+(i+-1<<3)|0;k=10}else l=0}while(0);if((k|0)==10)if((j|0)==2060540)l=0;else l=(c[j+4>>2]&15)+1|0;j=c[16+(l<<2)>>2]|0;c[g>>2]=43209;c[g+4>>2]=j;gf(a,b,Bd(a,45446,g)|0)|0;Ga=f;return h|0}function lf(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+16>>2]|0;do if((b|0)>0){h=(c[g>>2]|0)+(b<<3)|0;if(h>>>0<(c[a+8>>2]|0)>>>0){i=h;j=9}}else{if((b|0)>=-1000999){i=(c[a+8>>2]|0)+(b<<3)|0;j=9;break}if((b|0)==-1001e3){i=(c[a+12>>2]|0)+36|0;j=9;break}h=-1001e3-b|0;k=c[g>>2]|0;if((c[k+4>>2]|0)!=22?(l=c[k>>2]|0,(h|0)<=(d[l+6>>0]|0|0)):0){i=l+16+(h+-1<<3)|0;j=9}}while(0);if(((j|0)==9?(i|0)!=2060540:0)?c[i+4>>2]&15|0:0){m=kf(a,b,f)|0;return m|0}if(!f){m=e;return m|0}if(!e)n=0;else n=Ms(e)|0;c[f>>2]=n;m=e;return m|0}function mf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=Ga;Ga=Ga+16|0;f=e;g=e+8|0;h=a+16|0;i=c[h>>2]|0;j=(b|0)>0;do if(!j){if((b|0)>=-1000999){k=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}l=-1001e3-b|0;m=c[i>>2]|0;if((c[m+4>>2]|0)==22)k=2060540;else{n=c[m>>2]|0;k=(l|0)>(d[n+6>>0]|0|0)?2060540:n+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(b<<3)|0;k=l>>>0<(c[a+8>>2]|0)>>>0?l:2060540}while(0);l=c[k+4>>2]|0;a:do if((l|0)==3)o=c[k>>2]|0;else{do if((l&15|0)==4){n=c[k>>2]|0;if(!(Fc(n+16|0,c[n+12>>2]|0,g)|0)){p=c[h>>2]|0;break}else{o=c[g>>2]|0;break a}}else p=i;while(0);do if(j){n=(c[p>>2]|0)+(b<<3)|0;if(n>>>0<(c[a+8>>2]|0)>>>0){q=n;r=24}else s=0}else{if((b|0)>=-1000999){q=(c[a+8>>2]|0)+(b<<3)|0;r=24;break}if((b|0)==-1001e3){q=(c[a+12>>2]|0)+36|0;r=24;break}n=-1001e3-b|0;m=c[p>>2]|0;if((c[m+4>>2]|0)!=22?(t=c[m>>2]|0,(n|0)<=(d[t+6>>0]|0|0)):0){q=t+16+(n+-1<<3)|0;r=24}else s=0}while(0);if((r|0)==24)if((q|0)==2060540)s=0;else s=(c[q+4>>2]&15)+1|0;n=c[16+(s<<2)>>2]|0;c[f>>2]=43202;c[f+4>>2]=n;gf(a,b,Bd(a,45446,f)|0)|0;u=0;Ga=e;return u|0}while(0);u=o>>16;Ga=e;return u|0}function nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=b+4|0;e=c[a>>2]|0;if(!e){f=0;return f|0}c[d>>2]=e;c[a>>2]=0;f=c[b>>2]|0;return f|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ga;Ga=Ga+16|0;e=d;f=Ms(b)|0;c[e>>2]=b;c[e+4>>2]=f;f=Od(a,4,e,b,0)|0;Ga=d;return f|0}function pf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}h=-1001e3-b|0;i=c[f>>2]|0;if((c[i+4>>2]|0)==22)g=2060540;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2060540:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:2060540}while(0);b=c[g+4>>2]|0;switch(b&15){case 5:{k=(c[g>>2]|0)+8|0;break}case 7:{k=(c[g>>2]|0)+8|0;break}default:k=(c[a+12>>2]|0)+276+((b&15)<<2)|0}b=c[k>>2]|0;if(!b){l=0;return l|0}k=a+8|0;g=c[k>>2]|0;c[g>>2]=b;c[g+4>>2]=69;c[k>>2]=(c[k>>2]|0)+8;yd(a,e)|0;e=c[k>>2]|0;a=uc(c[e+-16>>2]|0,e+-8|0)|0;e=c[k>>2]|0;c[e+-8>>2]=c[a>>2];c[e+-4>>2]=c[a+4>>2];a=c[k>>2]|0;e=a+-8|0;if((e|0)!=2060540?(c[a+-4>>2]&15|0)==0:0){m=0;n=a+-16|0}else{g=a+-16|0;a=e;while(1){c[g>>2]=c[a>>2];c[g+4>>2]=c[g+12>>2];e=a+8|0;o=c[k>>2]|0;if(e>>>0<o>>>0){b=a;a=e;g=b}else break}m=1;n=o+-8|0}c[k>>2]=n;l=m;return l|0}function qf(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ga;Ga=Ga+16|0;h=g;if((e+1000999|0)>>>0>1000999)i=e;else i=((c[a+8>>2]|0)-(c[c[a+16>>2]>>2]|0)>>3)+e|0;if(!(pf(a,i,f)|0)){j=0;Ga=g;return j|0}f=c[a+16>>2]|0;do if((i|0)<=0){if((i|0)>=-1000999){k=(c[a+8>>2]|0)+(i<<3)|0;break}if((i|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}e=-1001e3-i|0;l=c[f>>2]|0;if((c[l+4>>2]|0)==22)k=2060540;else{m=c[l>>2]|0;k=(e|0)>(d[m+6>>0]|0|0)?2060540:m+16+(e+-1<<3)|0}}else{e=(c[f>>2]|0)+(i<<3)|0;k=e>>>0<(c[a+8>>2]|0)>>>0?e:2060540}while(0);i=a+8|0;f=c[i>>2]|0;c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];k=c[i>>2]|0;c[i>>2]=k+8;i=k+-8|0;k=a+38|0;f=(b[k>>1]|0)+1<<16>>16;b[k>>1]=f;if((f&65535)>199){if(f<<16>>16==200)ic(a,43256,h);if((f&65535)>224)gc(a,6)}f=a+36|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;if(!(mc(a,i,1)|0))nc(a);b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;j=1;Ga=g;return j|0}function rf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;g=Ga;Ga=Ga+16|0;h=g;a:do if(!(qf(b,e,45511)|0)){i=c[b+16>>2]|0;j=(e|0)>0;do if(j){k=(c[i>>2]|0)+(e<<3)|0;l=c[b+8>>2]|0;if(k>>>0<l>>>0){m=k;n=10}else{o=k;p=l;n=40}}else{if((e|0)>=-1000999){m=(c[b+8>>2]|0)+(e<<3)|0;n=10;break}if((e|0)==-1001e3){m=(c[b+12>>2]|0)+36|0;n=10;break}l=-1001e3-e|0;k=c[i>>2]|0;if((c[k+4>>2]|0)!=22){q=c[k>>2]|0;if((l|0)>(d[q+6>>0]|0)){r=l;s=k;n=46}else{m=q+16+(l+-1<<3)|0;n=10}}else t=0}while(0);do if((n|0)==10){b:do if((m|0)!=2060540)switch(c[m+4>>2]&15){case 4:case 3:{do if(!j){if((e|0)>=-1000999){u=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){u=(c[b+12>>2]|0)+36|0;break}l=-1001e3-e|0;q=c[i>>2]|0;if((c[q+4>>2]|0)==22)u=2060540;else{k=c[q>>2]|0;u=(l|0)>(d[k+6>>0]|0)?2060540:k+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(e<<3)|0;u=l>>>0<(c[b+8>>2]|0)>>>0?l:2060540}while(0);l=b+8|0;k=c[l>>2]|0;c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[l>>2]=(c[l>>2]|0)+8;break a;break}case 1:{do if(!j){if((e|0)>=-1000999){v=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){v=(c[b+12>>2]|0)+36|0;break}l=-1001e3-e|0;k=c[i>>2]|0;if((c[k+4>>2]|0)==22)v=2060540;else{q=c[k>>2]|0;v=(l|0)>(d[q+6>>0]|0)?2060540:q+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(e<<3)|0;v=l>>>0<(c[b+8>>2]|0)>>>0?l:2060540}while(0);switch(c[v+4>>2]|0){case 0:{n=31;break}case 1:{if(!(c[v>>2]|0))n=31;else w=53259;break}default:w=53259}if((n|0)==31)w=53264;yd(b,w)|0;break a;break}case 0:{l=c[b+12>>2]|0;q=l+12|0;k=c[q>>2]|0;do if((k|0)>0)if(!(a[l+51>>0]|0)){x=l+8|0;c[x>>2]=k+1600+(c[x>>2]|0);c[q>>2]=-1600;break}else{wc(b);break}while(0);q=Mc(b,53091,3)|0;k=b+8|0;l=c[k>>2]|0;c[l>>2]=q;c[l+4>>2]=(a[q+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+8;break a;break}default:break b}while(0);if(j){o=(c[i>>2]|0)+(e<<3)|0;p=c[b+8>>2]|0;n=40;break}if((e|0)>=-1000999){y=(c[b+8>>2]|0)+(e<<3)|0;n=47;break}if((e|0)!=-1001e3){k=c[i>>2]|0;if((c[k+4>>2]|0)==22){t=0;break}else{r=-1001e3-e|0;s=k;n=46;break}}else{y=(c[b+12>>2]|0)+36|0;n=47;break}}while(0);if((n|0)==40)if(o>>>0<p>>>0){y=o;n=47}else t=0;else if((n|0)==46){i=c[s>>2]|0;if((r|0)>(d[i+6>>0]|0))t=0;else{y=i+16+(r+-1<<3)|0;n=47}}if((n|0)==47)if((y|0)==2060540)t=0;else t=(c[y+4>>2]&15)+1|0;i=c[16+(t<<2)>>2]|0;j=ud(b,e)|0;c[h>>2]=i;c[h+4>>2]=j;Bd(b,45522,h)|0}while(0);h=b+8|0;e=c[h>>2]|0;t=e+-8|0;if((c[e+-4>>2]&15|0)==4)z=t;else{if(!(sd(b,t)|0)){if(!f){A=0;Ga=g;return A|0}c[f>>2]=0;A=0;Ga=g;return A|0}t=c[b+12>>2]|0;e=t+12|0;y=c[e>>2]|0;do if((y|0)>0)if(!(a[t+51>>0]|0)){n=t+8|0;c[n>>2]=y+1600+(c[n>>2]|0);c[e>>2]=-1600;break}else{wc(b);break}while(0);z=(c[h>>2]|0)+-8|0}if(f|0)c[f>>2]=c[(c[z>>2]|0)+12>>2];A=(c[z>>2]|0)+16|0;Ga=g;return A|0}function sf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Ga;Ga=Ga+16|0;g=Ma[d&1](e,0,8,424)|0;if(!g){h=0;Ga=f;return h|0}i=g+112|0;c[g>>2]=0;a[g+4>>0]=8;a[g+160>>0]=33;a[g+5>>0]=1;a[g+162>>0]=0;c[g+12>>2]=i;c[g+28>>2]=0;c[g+16>>2]=0;c[g+32>>2]=0;c[g+64>>2]=0;b[g+38>>1]=0;c[g+52>>2]=0;a[g+40>>0]=0;c[g+44>>2]=0;a[g+41>>0]=1;c[g+48>>2]=0;c[g+56>>2]=0;b[g+36>>1]=1;a[g+6>>0]=0;c[g+68>>2]=0;c[i>>2]=d;c[g+116>>2]=e;c[g+256>>2]=g;e=g;d=f;i=(Da(0)|0)^16;j=(i>>>2)+(1>>>24&255)+(i<<5)^i;i=(j>>>2)+(1>>>16&255)+(j<<5)^j;j=(i>>>2)+(1>>>8&255)+(i<<5)^i;i=(j>>>2)+1+(j<<5)^j;j=(i>>>2)+(2060540>>>24&255)+(i<<5)^i;i=(j>>>2)+(2060540>>>16&255)+(j<<5)^j;j=(i>>>2)+(2060540>>>8&255)+(i<<5)^i;i=(j>>>2)+252+(j<<5)^j;j=(i>>>2)+(d>>>24)+(i<<5)^i;i=(j>>>2)+(d>>>16&255)+(j<<5)^j;j=(i>>>2)+(d>>>8&255)+(i<<5)^i;i=(j>>>2)+(d&252)+(j<<5)^j;j=(i>>>2)+(e>>>24)+(i<<5)^i;i=(j>>>2)+(e>>>16&255)+(j<<5)^j;j=(i>>>2)+(e>>>8&255)+(i<<5)^i;c[g+156>>2]=(j>>>2)+(e&255)+(j<<5)^j;j=g+208|0;c[g+220>>2]=j;c[g+224>>2]=j;a[g+163>>0]=0;j=g+132|0;c[g+152>>2]=0;c[g+228>>2]=0;c[g+236>>2]=0;c[g+252>>2]=0;c[g+260>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;a[g+161>>0]=5;j=g+120|0;e=g+168|0;i=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));c[j>>2]=424;c[g+124>>2]=0;c[g+240>>2]=200;c[g+244>>2]=200;c[g+248>>2]=200;e=g+388|0;i=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));if(!(fc(g,4,0)|0)){h=g;Ga=f;return h|0}uf(g);h=0;Ga=f;return h|0}function tf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ga;Ga=Ga+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+4|0;j=Ma[c[h>>2]&1](c[i>>2]|0,0,0,320)|0;if(!j){if(!(a[h+51>>0]|0))gc(b,4);sc(b,1);k=Ma[c[h>>2]&1](c[i>>2]|0,0,0,320)|0;if(!k)gc(b,4);else l=k}else l=j;j=h+12|0;c[j>>2]=(c[j>>2]|0)+320;c[b+28>>2]=l;c[b+32>>2]=40;j=l+4|0;c[j>>2]=0;c[l+12>>2]=0;c[l+20>>2]=0;c[l+28>>2]=0;c[l+36>>2]=0;c[l+44>>2]=0;c[l+52>>2]=0;c[l+60>>2]=0;c[l+68>>2]=0;c[l+76>>2]=0;c[l+84>>2]=0;c[l+92>>2]=0;c[l+100>>2]=0;c[l+108>>2]=0;c[l+116>>2]=0;c[l+124>>2]=0;c[l+132>>2]=0;c[l+140>>2]=0;c[l+148>>2]=0;c[l+156>>2]=0;c[l+164>>2]=0;c[l+172>>2]=0;c[l+180>>2]=0;c[l+188>>2]=0;c[l+196>>2]=0;c[l+204>>2]=0;c[l+212>>2]=0;c[l+220>>2]=0;c[l+228>>2]=0;c[l+236>>2]=0;c[l+244>>2]=0;c[l+252>>2]=0;c[l+260>>2]=0;c[l+268>>2]=0;c[l+276>>2]=0;c[l+284>>2]=0;c[l+292>>2]=0;c[l+300>>2]=0;c[l+308>>2]=0;c[l+316>>2]=0;c[b+24>>2]=l+280;k=b+72|0;c[b+80>>2]=0;c[b+84>>2]=0;a[b+90>>0]=0;c[k>>2]=l;c[b+8>>2]=l+8;c[j>>2]=0;c[b+76>>2]=l+168;c[b+16>>2]=k;k=c[g>>2]|0;l=k+4|0;j=Ma[c[k>>2]&1](c[l>>2]|0,0,5,32)|0;if(!j){if(!(a[k+51>>0]|0))gc(b,4);sc(b,1);i=Ma[c[k>>2]&1](c[l>>2]|0,0,5,32)|0;if(!i)gc(b,4);else m=i}else m=j;j=k+12|0;c[j>>2]=(c[j>>2]|0)+32;j=k+56|0;a[m+5>>0]=a[k+48>>0]&3;a[m+4>>0]=5;c[m>>2]=c[j>>2];c[j>>2]=m;c[m+8>>2]=0;a[m+6>>0]=-1;j=m+12|0;c[j>>2]=0;k=m+28|0;c[k>>2]=0;i=m+16|0;c[i>>2]=2060568;l=m+7|0;a[l>>0]=0;c[m+20>>2]=2060568;c[h+36>>2]=m;c[h+40>>2]=69;Gc(b,m,2,0);n=b;a:do if(!(c[k>>2]|0)){o=(c[i>>2]|0)+((65536%((1<<d[l>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[o+12>>2]|0)==3?(c[o+8>>2]|0)==65536:0)break;p=c[o+16>>2]|0;if(!p){q=17;break a}else o=p}r=o;q=16}else{r=c[j>>2]|0;q=16}while(0);if((q|0)==16)if((r|0)==2060540)q=17;else s=r;if((q|0)==17){c[f>>2]=65536;c[f+4>>2]=3;s=vc(b,m,f)|0}c[s>>2]=n;c[s+4>>2]=72;s=c[g>>2]|0;n=s+4|0;r=Ma[c[s>>2]&1](c[n>>2]|0,0,5,32)|0;if(!r){if(!(a[s+51>>0]|0))gc(b,4);sc(b,1);p=Ma[c[s>>2]&1](c[n>>2]|0,0,5,32)|0;if(!p)gc(b,4);else t=p}else t=r;r=s+12|0;c[r>>2]=(c[r>>2]|0)+32;r=s+56|0;a[t+5>>0]=a[s+48>>0]&3;a[t+4>>0]=5;c[t>>2]=c[r>>2];c[r>>2]=t;c[t+8>>2]=0;a[t+6>>0]=-1;c[t+12>>2]=0;c[t+28>>2]=0;c[t+16>>2]=2060568;a[t+7>>0]=0;c[t+20>>2]=2060568;r=t;b:do if((c[k>>2]|0)>>>0>1){u=(c[j>>2]|0)+8|0;q=29}else{t=(c[i>>2]|0)+((131072%((1<<d[l>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[t+12>>2]|0)==3?(c[t+8>>2]|0)==131072:0)break;s=c[t+16>>2]|0;if(!s){q=30;break b}else t=s}u=t;q=29}while(0);if((q|0)==29)if((u|0)==2060540)q=30;else v=u;if((q|0)==30){c[f>>2]=131072;c[f+4>>2]=3;v=vc(b,m,f)|0}c[v>>2]=r;c[v+4>>2]=69;Qc(b,32);v=0;do{r=c[864+(v<<2)>>2]|0;f=hd(b,r,Ms(r)|0)|0;c[(c[g>>2]|0)+156+(v<<2)>>2]=f;f=(c[(c[g>>2]|0)+156+(v<<2)>>2]|0)+5|0;a[f>>0]=a[f>>0]|32;v=v+1|0}while((v|0)!=30);v=0;do{g=c[656+(v<<2)>>2]|0;f=hd(b,g,Ms(g)|0)|0;g=f+5|0;a[g>>0]=a[g>>0]|32;v=v+1|0;a[f+6>>0]=v}while((v|0)!=22);v=Mc(b,46526,17)|0;c[h+152>>2]=v;b=v+5|0;a[b>>0]=a[b>>0]|32;a[h+51>>0]=1;c[h+148>>2]=34708;Ga=e;return}function uf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=a+12|0;d=c[b>>2]|0;e=a+28|0;Ac(a,c[e>>2]|0);vf(a);f=c[b>>2]|0;g=c[f+24>>2]|0;h=c[f+32>>2]<<2;Ma[c[f>>2]&1](c[f+4>>2]|0,g,h,0)|0;i=f+12|0;c[i>>2]=(c[i>>2]|0)+((g|0)==0?0:0-h|0);h=d+116|0;g=c[h>>2]|0;i=d+124|0;f=c[i>>2]|0;j=c[b>>2]|0;k=Ma[c[j>>2]&1](c[j+4>>2]|0,g,f,0)|0;l=j+12|0;c[l>>2]=(c[l>>2]|0)+((g|0)==0?0:0-f|0);c[h>>2]=k;c[i>>2]=0;i=c[e>>2]|0;if(!i){m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Ma[m&1](o,a,424,0)|0;return}c[a+16>>2]=a+72;k=a+84|0;h=c[k>>2]|0;c[k>>2]=0;if(!h)p=i;else{i=h;do{h=i;i=c[i+12>>2]|0;k=c[b>>2]|0;Ma[c[k>>2]&1](c[k+4>>2]|0,h,40,0)|0;f=k+12|0;c[f>>2]=(c[f>>2]|0)-((h|0)==0?0:40)}while((i|0)!=0);p=c[e>>2]|0}e=c[a+32>>2]<<3;i=c[b>>2]|0;Ma[c[i>>2]&1](c[i+4>>2]|0,p,e,0)|0;b=i+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:e);m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Ma[m&1](o,a,424,0)|0;return}function vf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=b+12|0;f=c[e>>2]|0;g=f+60|0;h=f+92|0;i=c[h>>2]|0;if(!i)j=h;else{k=i;while(1){l=c[k>>2]|0;if(!l)break;else k=l}j=k}k=c[g>>2]|0;if(!k){m=h;n=f;o=i}else{i=j;j=k;while(1){k=j+5|0;a[k>>0]=a[k>>0]|8;c[g>>2]=c[j>>2];c[j>>2]=c[i>>2];c[i>>2]=j;k=c[g>>2]|0;if(!k)break;else{h=j;j=k;i=h}}i=c[e>>2]|0;j=i+92|0;m=j;n=i;o=c[j>>2]|0}if(!o){p=n;q=0}else{n=o;do{o=n+5|0;a[o>>0]=a[o>>0]&-65;o=c[e>>2]|0;j=o+92|0;i=c[j>>2]|0;c[j>>2]=c[i>>2];j=o+56|0;c[i>>2]=c[j>>2];c[j>>2]=i;j=i+5|0;i=a[j>>0]|0;a[j>>0]=i&-17;if((d[o+49>>0]|0)>=2)a[j>>0]=a[o+48>>0]&3|i&-88;n=c[m>>2]|0}while((n|0)!=0);p=c[e>>2]|0;q=c[g>>2]|0}a[f+48>>0]=3;a[f+50>>0]=0;n=d[p+48>>0]|0;m=n^3;i=a[p+50>>0]|0;p=i<<24>>24==2;o=n&3;n=p?255:184;j=p?64:o;h=p?64:0;if(!q){r=m;s=o;t=i}else{i=g;g=-3;o=q;while(1){if(!g)break;g=g+-1|0;q=o+5|0;p=d[q>>0]|0;if(!((p^3)&m)){c[i>>2]=c[o>>2];Xc(b,o);u=i}else{if(h&p|0)break;if((a[o+4>>0]|0)==8)Yc(b,o);a[q>>0]=n&p|j;u=o}o=c[u>>2]|0;if(!o)break;else i=u}u=c[e>>2]|0;i=d[u+48>>0]|0;r=i^3;s=i&3;t=a[u+50>>0]|0}u=f+56|0;i=t<<24>>24==2;t=i?255:184;o=i?64:s;s=i?64:0;i=c[u>>2]|0;a:do if(i|0){j=u;n=-3;h=i;while(1){if(!n)break a;n=n+-1|0;m=h+5|0;g=d[m>>0]|0;if(!((g^3)&r)){c[j>>2]=c[h>>2];Xc(b,h);v=j}else{if(s&g|0)break a;if((a[h+4>>0]|0)==8)Yc(b,h);a[m>>0]=t&g|o;v=h}h=c[v>>2]|0;if(!h)break;else j=v}}while(0);v=f+32|0;o=c[v>>2]|0;if((o|0)<=0)return;t=f+24|0;f=0;s=o;while(1){o=(c[t>>2]|0)+(f<<2)|0;r=c[e>>2]|0;i=d[r+48>>0]|0;u=i^3;j=(a[r+50>>0]|0)==2;r=j?255:184;h=j?64:i&3;i=j?64:0;j=c[o>>2]|0;if(!j)w=s;else{n=o;o=-3;g=j;while(1){if(!o)break;o=o+-1|0;j=g+5|0;m=d[j>>0]|0;if(!((m^3)&u)){c[n>>2]=c[g>>2];Xc(b,g);x=n}else{if(i&m|0)break;if((a[g+4>>0]|0)==8)Yc(b,g);a[j>>0]=r&m|h;x=g}g=c[x>>2]|0;if(!g)break;else n=x}w=c[v>>2]|0}f=f+1|0;if((f|0)>=(w|0))break;else s=w}return}function wf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+16|0;d=(c[c[b>>2]>>2]|0)+8|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>=f>>>0|(d|0)==2060540){gf(a,1,45466)|0;g=(c[c[b>>2]>>2]|0)+8|0;h=c[e>>2]|0}else{g=d;h=f}f=g>>>0<h>>>0?g:2060540;g=c[f+4>>2]|0;switch(g&15){case 5:{i=(c[f>>2]|0)+8|0;break}case 7:{i=(c[f>>2]|0)+8|0;break}default:i=(c[a+12>>2]|0)+276+((g&15)<<2)|0}g=c[i>>2]|0;if(!g){c[h+4>>2]=0;c[e>>2]=h+8;return 1}else{c[h>>2]=g;c[h+4>>2]=69;c[e>>2]=(c[e>>2]|0)+8;pf(a,1,45725)|0;return 1}return 0}
function Sa(a){a=a|0;var b=0;b=Ga;Ga=Ga+a|0;Ga=Ga+15&-16;return b|0}function Ta(){return Ga|0}function Ua(a){a=a|0;Ga=a}function Va(a,b){a=a|0;b=b|0;Ga=a;Ha=b}function Wa(){return c[(c[(c[c[694856]>>2]|0)+16>>2]|0)+12>>2]|0}function Xa(){var a=0,b=0;a=c[732521]|0;c[732521]=a+6;if((a|0)<=116)return;c[732521]=a;a=0;b=c[694838]|0;do{vo(b,b,0,a+6|0,0,a,128,1);a=a+1|0;b=c[694838]|0}while((a|0)!=122);Hm(b,0,122,127,127,0);Rg(65536);return}function Ya(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=Ga;Ga=Ga+208|0;d=b+200|0;e=b+192|0;f=b+184|0;g=b+176|0;h=b+168|0;i=b+160|0;j=b+152|0;k=b+144|0;l=b+136|0;m=b+128|0;n=b+120|0;o=b+112|0;p=b+104|0;q=b+96|0;r=b+88|0;s=b+80|0;t=b+72|0;u=b+64|0;v=b+8|0;w=b;x=b+204|0;if(!(_r(a,35336,9)|0))Kn(a+10|0,2920020)|0;if(!(_r(a,35346,10)|0))Kn(a+11|0,2922068)|0;if(!(_r(a,35357,14)|0)){c[w>>2]=1623148;At(a+14|0,35372,w)|0}if(!(_r(a,35376,11)|0)){c[v>>2]=1623180;c[v+4>>2]=1623184;c[v+8>>2]=1623188;c[v+12>>2]=1623192;c[v+16>>2]=1623196;c[v+20>>2]=1623200;c[v+24>>2]=1623204;c[v+28>>2]=1623208;c[v+32>>2]=1623212;c[v+36>>2]=1623216;c[v+40>>2]=1623220;c[v+44>>2]=1623224;c[v+48>>2]=1623228;At(a+11|0,35388,v)|0}if(!(_r(a,35428,10)|0)){c[u>>2]=1623308;At(a+10|0,35372,u)|0}if(!(_r(a,35439,11)|0)){c[t>>2]=1623332;At(a+11|0,35372,t)|0}if(!(_r(a,46981,7)|0)){c[s>>2]=1623336;At(a+7|0,35372,s)|0}if((_r(a,57683,6)|0)==0?(c[r>>2]=2023172,At(a+6|0,35372,r)|0,c[515970]|0):0)c[515970]=c[505793];if(!(_r(a,35451,9)|0)){c[q>>2]=1623344;At(a+9|0,35372,q)|0}if(!(_r(a,47335,16)|0)){c[p>>2]=1623320;At(a+16|0,35372,p)|0}if(!(_r(a,47236,9)|0)){c[o>>2]=1623324;At(a+9|0,35372,o)|0}if(!(_r(a,35461,12)|0)){c[n>>2]=1623360;At(a+12|0,35372,n)|0}if(!(_r(a,35474,20)|0)){c[m>>2]=2022612;At(a+20|0,35372,m)|0}if(!(_r(a,35495,22)|0)){c[l>>2]=2022616;At(a+22|0,35372,l)|0}if(!(_r(a,35518,14)|0)){c[k>>2]=x;At(a+14|0,35372,k)|0;c[405842]=(c[x>>2]|0)==2&1}if(!(_r(a,46692,13)|0)){c[j>>2]=1623368;At(a+13|0,35372,j)|0}if(!(_r(a,47441,9)|0)){c[i>>2]=1623312;At(a+9|0,35372,i)|0}if(!(_r(a,35533,9)|0)){c[h>>2]=1623316;At(a+9|0,35372,h)|0}if(!(_r(a,35543,19)|0)){c[g>>2]=1623172;At(a+19|0,35372,g)|0}if(!(_r(a,35563,19)|0)){c[f>>2]=1623168;At(a+19|0,35372,f)|0}if(!(_r(a,35583,22)|0)){c[e>>2]=1623176;At(a+22|0,35372,e)|0}if(_r(a,35606,11)|0){Ga=b;return 0}c[d>>2]=1623352;At(a+11|0,35372,d)|0;Ga=b;return 0}function Za(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;b=Ga;Ga=Ga+256|0;d=b+248|0;e=b+240|0;f=b+232|0;g=b+224|0;h=b+216|0;i=b+208|0;j=b+200|0;k=b+192|0;l=b+184|0;m=b+176|0;n=b+168|0;o=b+160|0;p=b+152|0;q=b+144|0;r=b+136|0;s=b+128|0;t=b+120|0;u=b+112|0;v=b+104|0;w=b+96|0;x=b+88|0;y=b+80|0;z=b+72|0;A=b+64|0;B=b+56|0;C=b+48|0;D=b+40|0;E=b+32|0;F=b+24|0;G=b+16|0;H=b+8|0;I=b;J=a+8|0;a=c[J>>2]|0;c[I>>2]=35631;It(a,35618,I)|0;Rt(35638,25,1,c[J>>2]|0)|0;I=c[J>>2]|0;c[H>>2]=c[505793];It(I,35664,H)|0;Rt(35676,37,1,c[J>>2]|0)|0;H=c[J>>2]|0;c[G>>2]=2920020;It(H,35714,G)|0;Rt(35729,36,1,c[J>>2]|0)|0;G=c[J>>2]|0;c[F>>2]=2922068;It(G,35766,F)|0;Rt(35782,65,1,c[J>>2]|0)|0;F=c[J>>2]|0;c[E>>2]=c[405787];It(F,35848,E)|0;Rt(35868,70,1,c[J>>2]|0)|0;Rt(35939,12,1,c[J>>2]|0)|0;E=c[J>>2]|0;c[D>>2]=c[405795];It(E,35952,D)|0;D=c[J>>2]|0;c[C>>2]=c[405796];It(D,35952,C)|0;C=c[J>>2]|0;c[B>>2]=c[405797];It(C,35952,B)|0;B=c[J>>2]|0;c[A>>2]=c[405798];It(B,35952,A)|0;A=c[J>>2]|0;c[z>>2]=c[405799];It(A,35952,z)|0;z=c[J>>2]|0;c[y>>2]=c[405800];It(z,35952,y)|0;y=c[J>>2]|0;c[x>>2]=c[405801];It(y,35952,x)|0;x=c[J>>2]|0;c[w>>2]=c[405802];It(x,35952,w)|0;w=c[J>>2]|0;c[v>>2]=c[405803];It(w,35952,v)|0;v=c[J>>2]|0;c[u>>2]=c[405804];It(v,35952,u)|0;u=c[J>>2]|0;c[t>>2]=c[405805];It(u,35952,t)|0;t=c[J>>2]|0;c[s>>2]=c[405806];It(t,35952,s)|0;s=c[J>>2]|0;c[r>>2]=c[405807];It(s,35952,r)|0;Rt(35956,2,1,c[J>>2]|0)|0;Rt(35959,52,1,c[J>>2]|0)|0;r=c[J>>2]|0;c[q>>2]=c[405827];It(r,36012,q)|0;Rt(36028,70,1,c[J>>2]|0)|0;q=c[J>>2]|0;c[p>>2]=c[405833];It(q,36099,p)|0;Rt(36116,125,1,c[J>>2]|0)|0;p=c[J>>2]|0;c[o>>2]=c[405836];It(p,36242,o)|0;Rt(36257,52,1,c[J>>2]|0)|0;o=c[J>>2]|0;c[n>>2]=c[405830];It(o,36310,n)|0;n=c[J>>2]|0;c[m>>2]=c[405831];It(n,36331,m)|0;Rt(36346,68,1,c[J>>2]|0)|0;m=c[J>>2]|0;c[l>>2]=c[405834];It(m,36415,l)|0;Rt(36428,101,1,c[J>>2]|0)|0;l=c[J>>2]|0;c[k>>2]=c[405835];It(l,36530,k)|0;Rt(36550,104,1,c[J>>2]|0)|0;k=c[J>>2]|0;c[j>>2]=c[505654];It(k,36655,j)|0;Rt(36683,28,1,c[J>>2]|0)|0;Rt(36712,68,1,c[J>>2]|0)|0;j=c[J>>2]|0;c[i>>2]=c[405842];It(j,36781,i)|0;Rt(36800,36,1,c[J>>2]|0)|0;i=c[J>>2]|0;c[h>>2]=c[405828];It(i,36837,h)|0;Rt(36852,59,1,c[J>>2]|0)|0;h=c[J>>2]|0;c[g>>2]=c[405829];It(h,36912,g)|0;Rt(36927,109,1,c[J>>2]|0)|0;g=c[J>>2]|0;c[f>>2]=c[405793];It(g,37037,f)|0;Rt(37062,53,1,c[J>>2]|0)|0;f=c[J>>2]|0;c[e>>2]=c[405792];It(f,37116,e)|0;Rt(37141,90,1,c[J>>2]|0)|0;e=c[J>>2]|0;c[d>>2]=c[405794];It(e,37232,d)|0;Ga=b;return 0}function _a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;b=Ga;Ga=Ga+32|0;f=b+16|0;g=b+8|0;h=b;c[506579]=0;if(c[506575]|0){Zt(40522)|0;Ga=b;return}Zb();c[h>>2]=2923100;c[h+4>>2]=1622096;cu(37342,h)|0;h=pp(e)|0;xn(d,1,e,h)|0;c[g>>2]=e;cu(37444,g)|0;c[h+20>>2]=0;g=Jb(h)|0;Gn(h);if(!g){c[405849]=-1;Ga=b;return}do if(Lt(1622096,37459)|0){h=Lt(1622096,37477)|0;if(!h){rm(2923100,37482)|0;break}else{rm(2923100,h+4|0)|0;break}}else Ln(1622096,0,2923100,0,1);while(0);h=2923100+(Ms(2923100)|0)|0;e=h;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=46;e=h+4|0;a[e>>0]=112;a[e+1>>0]=110;a[e+2>>0]=103;a[e+3>>0]=0;c[f>>2]=2923100;c[f+4>>2]=1622096;cu(37508,f)|0;Pb(g,2923100);_b(g,2923100);c[732408]=0;c[732519]=6;if(!(c[405784]|0)){c[732413]=1;Ga=b;return}else{c[732521]=(c[732521]|0)+-6;c[732519]=6;tg(37571);tg(3002004);$a(0);Ga=b;return}}function $a(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Ga;Ga=Ga+64|0;f=e;vo(c[2779356+(((c[732414]|0)==0?0:b)<<2)>>2]|0,c[694847]|0,0,0,0,0,128,128);b=c[694847]|0;c[732531]=1;c[f>>2]=fk(2779320,c[733490]|0,24416)|0;c[f+4>>2]=fk(2779320,c[733490]|0,24417)|0;c[f+8>>2]=fk(2779320,c[733490]|0,24418)|0;c[f+12>>2]=fk(2779320,c[733490]|0,24419)|0;c[f+16>>2]=fk(2779320,c[733490]|0,24420)|0;c[f+20>>2]=fk(2779320,c[733490]|0,24421)|0;c[f+24>>2]=fk(2779320,c[733490]|0,24422)|0;c[f+28>>2]=fk(2779320,c[733490]|0,24423)|0;c[f+32>>2]=fk(2779320,c[733490]|0,24424)|0;c[f+36>>2]=fk(2779320,c[733490]|0,24425)|0;c[f+40>>2]=fk(2779320,c[733490]|0,24426)|0;c[f+44>>2]=fk(2779320,c[733490]|0,24427)|0;c[f+48>>2]=fk(2779320,c[733490]|0,24428)|0;c[f+52>>2]=fk(2779320,c[733490]|0,24429)|0;c[f+56>>2]=fk(2779320,c[733490]|0,24430)|0;c[f+60>>2]=fk(2779320,c[733490]|0,24431)|0;g=fk(2779320,c[733490]|0,24415)|0;a:do if((g|0)==16){h=b+12|0;i=0;do{j=((fk(2779320,c[733490]|0,(i>>>3)+24432|0)|0)&1<<(i&7)|0)==0;k=j?2929996:f;j=i<<7;l=j+128|0;m=j;do{j=(c[h>>2]|0)+m|0;a[j>>0]=c[k+((a[j>>0]&15)<<2)>>2]&143;m=m+1|0}while(m>>>0<l>>>0);i=i+1|0}while((i|0)!=128);if(!(c[506055]|0))c[506055]=(Iq()|0)+150}else{if((g|0)==32&(c[732527]|0)==1){i=b+12|0;h=0;l=64;while(1){m=h<<7;if(m>>>0<(m|64)>>>0){k=m;do{m=c[i>>2]|0;j=m+k|0;a[j>>0]=c[((a[m+(k+64)>>0]|0)==0?2929996:f)+((a[j>>0]&15)<<2)>>2]&143;k=k+1|0}while((k|0)!=(l|0))}h=h+1|0;if((h|0)==128)break;else l=l+128|0}if(c[506055]|0)break;c[506055]=(Iq()|0)+150;break}l=b+12|0;if((g&-16|0)!=48){h=0;while(1){i=(c[l>>2]|0)+h|0;a[i>>0]=c[2929996+((a[i>>0]&15)<<2)>>2]&143;h=h+1|0;if((h|0)==16384)break a}}h=g+-48|0;i=0;do{k=i>>>3;j=((fk(2779320,c[733490]|0,k+24432|0)|0)&1<<(i&7)|0)==0;m=i<<7;n=m+128|0;o=f+((j?k:k+1&15)<<2)|0;k=m;do{m=(c[l>>2]|0)+k|0;j=d[m>>0]|0;a[m>>0]=c[((h|0)==(j|0)?o:2929996+((j&15)<<2)|0)>>2]&143;k=k+1|0}while(k>>>0<n>>>0);i=i+1|0}while((i|0)!=128);if(!(c[506055]|0))c[506055]=(Iq()|0)+150}while(0);if(!((c[732408]|0)==1&(c[732414]|0)!=0)){Ga=e;return}ib(b,c[732527]|0);Ga=e;return}function ab(a){a=a|0;c[506579]=0;if(!(c[732414]|0)){ug(37595,0,0);c[405849]=-2;return}else{rm(2022620,37595)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1900;c[505721]=15;c[405849]=-2;return}}function bb(a,b){a=a|0;b=b|0;rm(2022620,a)|0;c[505719]=Iq()|0;c[505720]=b+400+(Iq()|0);c[505721]=15;return}function cb(){var b=0,d=0,e=0,f=0,g=0,h=0;Zb();if(!(ka(0)|0))return;b=ka(1)|0;d=(b|0)>0;e=d?((b|0)<16?b:16):0;b=e<<15;f=mp(b)|0;if((e|0)>0){g=0;do{a[f+g>>0]=ka(2)|0;g=g+1|0}while((g|0)<(b|0))}b=dr()|0;Ib(b,f);c[b+44576>>2]=29;la(3,0)|0;a[67776]=0;g=0;do{h=ka(4)|0;a[67776+g>>0]=h;g=g+1|0;a[67776+g>>0]=0}while((h|0)!=0&g>>>0<1023);Pb(b,67776);if(d){d=0;do{b=dr()|0;Ib(b,f+(d<<15)|0);c[b+44576>>2]=29;la(3,d|0)|0;a[67776]=0;g=0;do{h=ka(4)|0;a[67776+g>>0]=h;g=g+1|0;a[67776+g>>0]=0}while((h|0)!=0&g>>>0<1023);_b(b,67776);er(b);d=d+1|0}while((d|0)<(e|0))}c[732408]=0;c[732413]=1;return}function db(){if(!(a[1622096]|0)){c[506579]=0;vm(37781);c[405785]=0;cb();return}else{c[506579]=1;vm(37762);c[405785]=1;pa(1622096,0,1,1);return}}function eb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=Ga;Ga=Ga+16|0;f=e;g=e+4|0;Eu(2026320,0,34180)|0;if((b|0)<=1){Ga=e;return}h=0;i=1;a:while(1){j=d+(i<<2)|0;k=c[j>>2]|0;l=a[k>>0]|0;switch(l<<24>>24){case 62:case 124:case 38:{m=42;break a;break}default:{}}b:do if((h|0)!=17&l<<24>>24==45){n=k+1|0;o=(Cs(n,37809)|0)==0;if(!(Cs(n,53519)|0)){c[405781]=1;p=0}else p=o?4:-1;if(!(Cs(n,37818)|0)){c[405783]=1;c[405782]=1;q=0}else q=p;if((Cs(n,37846)|0)!=0?(o=(Cs(n,37834)|0)==0,r=(Cs(n,37824)|0)==0,s=(Cs(n,47236)|0)==0,t=(Cs(n,47335)|0)==0,u=(Cs(n,35451)|0)==0,v=(Cs(n,46981)|0)==0,(Cs(n,37848)|0)!=0):0)w=o?11:r?10:s?9:t?8:u?7:v?6:q;else{c[694853]=1;c[405781]=1;c[516006]=1;w=0}v=(Cs(n,37853)|0)==0;u=v|(Cs(n,37859)|0)==0;v=(Cs(n,46692)|0)==0;t=(Cs(n,35336)|0)==0;s=(Cs(n,35346)|0)==0;r=(Cs(n,37861)|0)==0;o=(Cs(n,53579)|0)==0;x=(Cs(n,57683)|0)==0;y=(Cs(n,37875)|0)==0;z=(Cs(n,37884)|0)==0;A=(Cs(n,37895)|0)==0;B=(Cs(n,47073)|0)==0;C=(Cs(n,37906)|0)==0;D=(Cs(n,37908)|0)==0;E=D?25:C?24:B?22:A?21:z?20:y?19:x?18:o?17:r?16:s?15:t?14:v?13:u?12:w}else{c[g>>2]=0;c[f>>2]=g;At(k,59339,f)|0;do switch(h|0){case 0:{if(!(a[1622096]|0)){Eu(1622096,0,1024)|0;rm(1622096,c[j>>2]|0)|0;E=0;break b}else{rm(2026324+(c[506580]<<10)|0,c[j>>2]|0)|0;c[506580]=(c[506580]|0)+1;E=0;break b}break}case 4:{c[405787]=c[g>>2];E=0;break b;break}case 6:{c[405834]=c[g>>2];E=0;break b;break}case 7:{c[405836]=c[g>>2];E=0;break b;break}case 8:{c[405830]=c[g>>2];E=0;break b;break}case 9:{c[405831]=c[g>>2];E=0;break b;break}case 10:{c[405837]=c[g>>2];E=0;break b;break}case 11:{c[505646]=c[g>>2];E=0;break b;break}case 12:{Ut(2932545,c[j>>2]|0,1024)|0;E=0;break b;break}case 13:{c[405842]=c[g>>2];E=0;break b;break}case 14:{Kn(c[j>>2]|0,2920020)|0;E=0;break b;break}case 15:{Kn(c[j>>2]|0,2922068)|0;E=0;break b;break}case 16:{c[405786]=c[g>>2];E=0;break b;break}case 17:{Ut(2023180,c[j>>2]|0,1023)|0;c[516006]=1;E=0;break b;break}case 18:{u=c[g>>2]|0;v=(u|0)<256?u:256;u=(v|0)>0?v:0;c[505793]=u;if(!(c[515970]|0)){E=0;break b}c[515970]=u;E=0;break b;break}case 19:{c[506054]=c[g>>2];E=0;break b;break}case 20:{c[506056]=c[g>>2];E=0;break b;break}case 21:{c[506057]=c[g>>2];E=0;break b;break}case 22:{c[405835]=c[g>>2];E=0;break b;break}case 23:{Ut(2062828,c[j>>2]|0,1023)|0;E=0;break b;break}default:{if(!((h|0)!=24|(c[506577]|0)!=0)){c[506577]=ot(c[j>>2]|0,59673)|0;E=0;break b}if((h|0)!=25|(c[506578]|0)!=0){E=0;break b}c[506578]=ot(c[j>>2]|0,67694)|0;E=0;break b}}while(0)}while(0);i=i+1|0;if((i|0)>=(b|0)){m=42;break}else h=E}if((m|0)==42){Ga=e;return}}function fb(){var a=0;c[506052]=0;c[732408]=2;c[694830]=-15;zg();Bg();tg(3002004);c[732519]=7;Fm(c[694838]|0);Fm(c[694847]|0);Tm(c[(c[17264]|0)+4>>2]|0,2,2,5,5,7);Tm(c[(c[17264]|0)+4>>2]|0,5,2,2,5,7);a=Da(0)|0;Ck((Iq()|0)+a|0);dq();aq(0,0);c[515689]=0;c[506055]=0;if(!(cn()|0))return;do dn()|0;while((cn()|0)!=0);return}function gb(){Eu(2999816,0,220)|0;c[749994]=2;c[749989]=0;c[749995]=5;c[749958]=1;c[749977]=8;c[749978]=0;c[730004]=0;c[405789]=0;c[505649]=1;return}function hb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ga;Ga=Ga+2896|0;f=e+2064|0;g=e+2056|0;h=e+2048|0;i=e+2072|0;j=e+1024|0;k=e;Eu(1622096,0,404220)|0;c[405834]=8;c[405830]=4;c[405837]=-1;c[405840]=1;c[505653]=1;c[505654]=1;c[405842]=0;c[405828]=1;c[405794]=1;c[405793]=0;c[405792]=0;c[405831]=2;ka(5)|0;qm(38949);tn(2);un(3);lp(2779320,0,222084);tm()|0;eb(b,d);Kp(1);if((c[515964]|0)<32|(c[515965]|0)<32){c[515964]=580;c[515965]=540}if(!((a[2920020]|0)!=0?(d=pq(2920020,57889,i,-1)|0,rq(i)|0,!(d|0)):0))Qq(38956,2920020);if(!((a[2922068]|0)!=0?(d=pq(2922068,57889,i,-1)|0,rq(i)|0,!(d|0)):0))Qq(38963,2922068);Eu(2999816,0,220)|0;c[749994]=2;c[749989]=0;c[749995]=5;c[749958]=1;c[749977]=8;c[749978]=0;c[730004]=0;c[405789]=0;c[505649]=1;c[733490]=dr()|0;Rq(38970,j);Rq(38980,j);if(c[694853]|0){c[h>>2]=1622096;cu(38989,h)|0}h=En(j)|0;c[694854]=h;if(!h){c[g>>2]=j;cu(39002,g)|0;wa(0)}g=c[c[h>>2]>>2]|0;c[g+20>>2]=0;c[694855]=fr(g)|0;g=c[(c[c[694854]>>2]|0)+4>>2]|0;c[g+20>>2]=0;c[694856]=Bn(3002004,g)|0;g=c[(c[c[694854]>>2]|0)+8>>2]|0;c[g+20>>2]=0;c[694857]=Bn(3002004,g)|0;sm(57990);sm(c[(c[(c[c[694856]>>2]|0)+16>>2]|0)+12>>2]|0);do if(!(c[506054]|0)){g=c[506056]|0;h=c[506057]|0;if((g|0)>1|(h|0)>1){d=(g|0)<8?g:8;g=(h|0)<8?h:8;fq((d|0)<1?128:d<<7,(g|0)<1?128:g<<7,8,256)|0;break}else{fq(128,128,8,256)|0;break}}else fq(144,136,8,256)|0;while(0);gq(c[(c[c[694856]>>2]|0)+4>>2]|0);c[694838]=Km(128,128,8)|0;c[694839]=Km(128,128,8)|0;c[694840]=Km(128,128,8)|0;c[694841]=Km(128,128,8)|0;c[694842]=Km(128,128,8)|0;c[694838]=c[694839];c[694847]=Km(128,128,8)|0;c[505787]=Km(128,128,8)|0;c[718233]=Jk(128,128)|0;c[718234]=Jk(128,128)|0;g=0;do{c[2872940+(g<<2)>>2]=Jk(8,32)|0;g=g+1|0}while((g|0)!=64);c[694858]=Km(1,1,8)|0;c[694859]=Km(8,8,8)|0;Eu(68800,0,260)|0;c[17264]=dr()|0;fb();g=jr(0,65538)|0;c[729986]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405828]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[729987]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405828]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[729988]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405828]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[729989]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405828]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[729990]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405828]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[729991]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405828]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[729992]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405828]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[729993]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405828]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[729994]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405828]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[729995]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405828]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[729996]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405828]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[729997]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405828]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[729998]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405828]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[729999]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405828]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[73e4]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405828]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=jr(0,65538)|0;c[730001]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405828]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=0;c[730002]=c[729986];a[2923100]=0;Eb(c[17264]|0,2924124);Ip(22050,1)|0;c[515989]=1;ka(6)|0;do if(!((c[694853]|0)==0&(a[2023180]|0)==0)){Nn(1622096,j);g=(Tb(j)|0)==0;c[405780]=g&1;if(!g){c[f>>2]=1622096;cu(39020,f)|0;wa(1)}if(!(a[2023180]|0)){c[732408]=0;c[732413]=1;break}else{c[694853]=1;rm(k,2920020)|0;rm(2920020,39039)|0;rm(2921044,3002004)|0;rm(2920020,k)|0;wa(0)}}while(0);c[405843]=0;if(ka(7)|0)c[405843]=1;if(!(ka(8)|0)){Ga=e;return}c[405843]=3;Ga=e;return}function ib(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&-65;d=e|2;if((d|0)==3){f=b+16|0;g=0;do{h=127;while(1){i=c[(c[f>>2]|0)+(g<<2)>>2]|0;a[i+h>>0]=a[i+(h>>>1)>>0]|0;if(!h)break;else h=h+-1|0}g=g+1|0}while((g|0)!=128)}g=e|1;if((g|0)==3){f=b+16|0;h=127;while(1){i=h>>>1;j=0;do{k=c[f>>2]|0;a[(c[k+(h<<2)>>2]|0)+j>>0]=a[(c[k+(i<<2)>>2]|0)+j>>0]|0;j=j+1|0}while((j|0)!=128);if(!h)break;else h=h+-1|0}}if((d|0)==7){h=b+16|0;f=0;do{j=0;do{i=c[(c[h>>2]|0)+(f<<2)>>2]|0;a[i+(127-j)>>0]=a[i+j>>0]|0;j=j+1|0}while((j|0)!=64);f=f+1|0}while((f|0)!=128)}if((g|0)==7){f=b+16|0;h=0;do{j=127-h|0;i=0;do{k=c[f>>2]|0;a[(c[k+(j<<2)>>2]|0)+i>>0]=a[(c[k+(h<<2)>>2]|0)+i>>0]|0;i=i+1|0}while((i|0)!=128);h=h+1|0}while((h|0)!=64)}h=(e|0)==134;if(h|(g|0)==131){g=b+16|0;f=0;do{i=127-f|0;j=0;do{k=c[g>>2]|0;l=(c[k+(f<<2)>>2]|0)+j|0;m=a[l>>0]|0;a[l>>0]=a[(c[k+(i<<2)>>2]|0)+j>>0]|0;a[(c[(c[g>>2]|0)+(i<<2)>>2]|0)+j>>0]=m;j=j+1|0}while((j|0)!=128);f=f+1|0}while((f|0)!=64)}if(h|(d|0)==131){d=b+16|0;h=0;do{f=0;do{g=c[(c[d>>2]|0)+(h<<2)>>2]|0;j=g+f|0;i=a[j>>0]|0;m=127-f|0;a[j>>0]=a[g+m>>0]|0;a[(c[(c[d>>2]|0)+(h<<2)>>2]|0)+m>>0]=i;f=f+1|0}while((f|0)!=64);h=h+1|0}while((h|0)!=128)}switch(e|0){case 133:{e=b+16|0;h=0;do{d=127-h|0;f=0;do{i=c[e>>2]|0;m=(c[i+(h<<2)>>2]|0)+f|0;g=a[m>>0]|0;j=127-f|0;a[m>>0]=a[(c[i+(j<<2)>>2]|0)+h>>0]|0;i=c[e>>2]|0;a[(c[i+(j<<2)>>2]|0)+h>>0]=a[(c[i+(d<<2)>>2]|0)+j>>0]|0;i=c[e>>2]|0;a[(c[i+(d<<2)>>2]|0)+j>>0]=a[(c[i+(f<<2)>>2]|0)+d>>0]|0;a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+d>>0]=g;f=f+1|0}while((f|0)!=64);h=h+1|0}while((h|0)!=64);return}case 135:{h=b+16|0;b=0;do{e=127-b|0;f=0;do{d=c[h>>2]|0;g=(c[d+(b<<2)>>2]|0)+f|0;i=a[g>>0]|0;a[g>>0]=a[(c[d+(f<<2)>>2]|0)+e>>0]|0;d=c[h>>2]|0;g=127-f|0;a[(c[d+(f<<2)>>2]|0)+e>>0]=a[(c[d+(e<<2)>>2]|0)+g>>0]|0;d=c[h>>2]|0;a[(c[d+(e<<2)>>2]|0)+g>>0]=a[(c[d+(g<<2)>>2]|0)+b>>0]|0;a[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+b>>0]=i;f=f+1|0}while((f|0)!=64);b=b+1|0}while((b|0)!=64);return}default:return}}function jb(){if(c[506055]|0)return;c[506055]=(Iq()|0)+150;return}function kb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=Ga;Ga=Ga+16|0;j=i;if(e>>>0>6){Ga=i;return}if(!(ok(e,f)|0))k=(mk(e,f)|0)>128&1;else k=1;Jm(c[(c[c[694856]>>2]|0)+(k+247<<2)>>2]|0,b,0,0,g,h,7,7);a[j>>0]=(d[39220+e>>0]|0)+31;a[j+1>>0]=0;rn(b,j,c[694857]|0,g,k+h|0,1,7)|0;Ga=i;return}function lb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=Ga;Ga=Ga+16|0;e=d;f=d+4|0;g=c[(c[c[694856]>>2]|0)+984>>2]|0;h=(c[g>>2]|0)/2|0;i=64-h|0;j=(c[g+4>>2]|0)/2|0;k=64-j|0;Wj(b,63-h|0,63-j|0,h+64|0,j+64|0,1);Om(b,i,k,h+63|0,j+63|0,7);Jm(g,b,0,0,i,k,c[b>>2]|0,c[b+4>>2]|0);g=i+18|0;j=k+14|0;kb(b,0,0,g,j);h=i+26|0;kb(b,1,0,h,j);l=i+34|0;kb(b,2,0,l,j);m=i+42|0;kb(b,3,0,m,j);j=k+25|0;if(!(ok(4,0)|0))n=(mk(4,0)|0)>128&1;else n=1;Jm(c[(c[c[694856]>>2]|0)+(n+247<<2)>>2]|0,b,0,0,g,j,7,7);a[f>>0]=-114;o=f+1|0;a[o>>0]=0;rn(b,f,c[694857]|0,g,n+j|0,1,7)|0;n=i+26|0;if(!(ok(5,0)|0))p=(mk(5,0)|0)>128&1;else p=1;Jm(c[(c[c[694856]>>2]|0)+(p+247<<2)>>2]|0,b,0,0,n,j,7,7);a[f>>0]=-105;a[o>>0]=0;rn(b,f,c[694857]|0,n,p+j|0,1,7)|0;j=k+41|0;kb(b,0,1,g,j);kb(b,1,1,h,j);kb(b,2,1,l,j);kb(b,3,1,m,j);j=k+52|0;if(!(ok(4,1)|0))q=(mk(4,1)|0)>128&1;else q=1;Jm(c[(c[c[694856]>>2]|0)+(q+247<<2)>>2]|0,b,0,0,g,j,7,7);a[f>>0]=-114;a[o>>0]=0;rn(b,f,c[694857]|0,g,q+j|0,1,7)|0;if(ok(5,1)|0){r=1;s=c[694856]|0;t=c[s>>2]|0;u=r+247|0;v=t+(u<<2)|0;w=c[v>>2]|0;Jm(w,b,0,0,n,j,7,7);a[f>>0]=-105;a[o>>0]=0;x=c[694857]|0;y=r+j|0;rn(b,f,x,n,y,1,7)|0;z=c[505794]|0;c[e>>2]=z;as(1470512,39227,e)|0;A=c[694857]|0;B=i+5|0;C=k+80|0;rn(b,1470512,A,B,C,1,13)|0;Ga=d;return}r=(mk(5,1)|0)>128&1;s=c[694856]|0;t=c[s>>2]|0;u=r+247|0;v=t+(u<<2)|0;w=c[v>>2]|0;Jm(w,b,0,0,n,j,7,7);a[f>>0]=-105;a[o>>0]=0;x=c[694857]|0;y=r+j|0;rn(b,f,x,n,y,1,7)|0;z=c[505794]|0;c[e>>2]=z;as(1470512,39227,e)|0;A=c[694857]|0;B=i+5|0;C=k+80|0;rn(b,1470512,A,B,C,1,13)|0;Ga=d;return}function mb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;switch(c[406684]|0){case 2:{il(a);return}case 3:{lb(a);return}default:{b=(c[17477]|0)==7?22:0;d=((c[406685]<<3)+8|0)/2|0;e=b+d|0;Wj(a,23,63-d+b|0,104,e+64|0,1);f=64-d+b|0;Om(a,24,f,103,e+63|0,7);e=f+6|0;if((c[17477]|0)==7){Wj(a,10,25,118,55,1);Om(a,11,26,117,54,7);rn(a,39249,c[694857]|0,22,34,1,7)|0;rn(a,39271,c[694857]|0,20,42,1,7)|0;if((jo((Iq()|0)*50|0)|0)<-1999)g=0;else g=(jo((Iq()|0)*50|0)|0)/2e3|0;Jm(c[(c[c[694856]>>2]|0)+((((g|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,g+63|0,59,10,10);if((jo(((Iq()|0)*50|0)+32768|0)|0)<-1999)h=0;else h=(jo(((Iq()|0)*50|0)+32768|0)|0)/2e3|0;Jm(c[(c[c[694856]>>2]|0)+((((h|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,56-h|0,59,10,10)}if((c[406685]|0)<=0)return;h=0;g=e;while(1){rn(a,69840+(h*72|0)|0,c[694857]|0,(h|0)==(c[406686]|0)?35:34,g,1,7)|0;if((h|0)==(c[406686]|0))Jm(c[(c[c[694856]>>2]|0)+980>>2]|0,a,0,0,25,g+-1|0,7,7);do if((c[69840+(h*72|0)+68>>2]|0)==2){e=(vl(2926560,2927584)|0)==0;f=c[(c[c[694856]>>2]|0)+752>>2]|0;b=g+-1|0;if(e){Um(f,a,0,0,74,b,7,7,13,0);break}else{Jm(f,a,0,0,74,b,7,7);break}}while(0);h=h+1|0;if((h|0)>=(c[406685]|0))break;else g=g+8|0}return}}}function nb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;e=c[515125]|0;if(!e){f=Km(128,128,8)|0;c[515125]=f;g=f}else g=e;e=b+4|0;vo(b,g,0,0,0,0,c[b>>2]|0,c[e>>2]|0);Fm(b);vo(g,b,0,0,((c[b>>2]|0)+-128|0)/2|0,((c[e>>2]|0)+-128|0)/2|0,128,128);f=c[c[694856]>>2]|0;h=c[f+996>>2]|0;i=c[f+4>>2]|0;a[i+765>>0]=73;a[i+766>>0]=51;a[i+767>>0]=59;f=g+16|0;g=0;do{j=c[f>>2]|0;k=g<<1;l=c[j+(k<<2)>>2]|0;m=0;n=0;o=0;p=0;q=0;do{r=d[l+m>>0]|0;s=d[i+(r*3|0)>>0]|0;t=d[i+(r*3|0)+1>>0]|0;u=d[i+(r*3|0)+2>>0]|0;r=80-m+s+t+u|0;q=r+q|0;n=(B(r,s)|0)+n|0;o=(B(r,t)|0)+o|0;p=(B(r,u)|0)+p|0;m=m+1|0}while((m|0)!=64);m=c[j+((k|1)<<2)>>2]|0;l=0;u=n;r=o;t=p;s=q;do{v=d[m+l>>0]|0;w=d[i+(v*3|0)>>0]|0;x=d[i+(v*3|0)+1>>0]|0;y=d[i+(v*3|0)+2>>0]|0;v=80-l+w+x+y|0;s=v+s|0;u=(B(v,w)|0)+u|0;r=(B(v,x)|0)+r|0;t=(B(v,y)|0)+t|0;l=l+1|0}while((l|0)!=64);l=g+16|0;a[i+(l*3|0)>>0]=(u|0)/(s|0)|0;a[i+(l*3|0)+1>>0]=(r|0)/(s|0)|0;a[i+(l*3|0)+2>>0]=(t|0)/(s|0)|0;g=g+1|0}while((g|0)!=64);g=0;do{l=c[f>>2]|0;m=g<<1;q=c[l+(m<<2)>>2]|0;p=0;o=0;n=0;k=0;j=0;do{y=d[q+(127-p)>>0]|0;v=d[i+(y*3|0)>>0]|0;x=d[i+(y*3|0)+1>>0]|0;w=d[i+(y*3|0)+2>>0]|0;y=80-p+v+x+w|0;j=y+j|0;o=(B(y,v)|0)+o|0;n=(B(y,x)|0)+n|0;k=(B(y,w)|0)+k|0;p=p+1|0}while((p|0)!=64);p=c[l+((m|1)<<2)>>2]|0;q=0;s=o;t=n;r=k;u=j;do{w=d[p+(127-q)>>0]|0;y=d[i+(w*3|0)>>0]|0;x=d[i+(w*3|0)+1>>0]|0;v=d[i+(w*3|0)+2>>0]|0;w=80-q+y+x+v|0;u=w+u|0;s=(B(w,y)|0)+s|0;t=(B(w,x)|0)+t|0;r=(B(w,v)|0)+r|0;q=q+1|0}while((q|0)!=64);q=g+144|0;a[i+(q*3|0)>>0]=(s|0)/(u|0)|0;a[i+(q*3|0)+1>>0]=(t|0)/(u|0)|0;a[i+(q*3|0)+2>>0]=(r|0)/(u|0)|0;g=g+1|0}while((g|0)!=64);g=0;do{f=g<<7&128|16;q=0;do{p=q+f|0;j=q+-1|0;k=((j|0)>0?j:0)+f|0;q=q+1|0;j=(q>>>0<63?q:63)+f|0;n=i+(p*3|0)|0;a[n>>0]=(((d[n>>0]|0)*6|0)+(d[i+(k*3|0)>>0]|0)+(d[i+(j*3|0)>>0]|0)|0)>>>3;n=i+(p*3|0)+1|0;a[n>>0]=(((d[n>>0]|0)*6|0)+(d[i+(k*3|0)+1>>0]|0)+(d[i+(j*3|0)+1>>0]|0)|0)>>>3;n=i+(p*3|0)+2|0;a[n>>0]=(((d[n>>0]|0)*6|0)+(d[i+(k*3|0)+2>>0]|0)+(d[i+(j*3|0)+2>>0]|0)|0)>>>3}while((q|0)!=64);g=g+1|0}while((g|0)!=256);g=h+4|0;q=0;do{f=q+16|0;u=(Sm(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>16;r=(Sm(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>8;t=Sm(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0;s=i+(f*3|0)|0;a[s>>0]=u+(((d[s>>0]|0)/5|0)&255);s=i+(f*3|0)+1|0;a[s>>0]=r+(((d[s>>0]|0)/5|0)&255);s=i+(f*3|0)+2|0;a[s>>0]=t+(((d[s>>0]|0)/5|0)&255);q=q+1|0}while((q|0)!=64);q=0;do{s=q+144|0;t=(Sm(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>16;f=(Sm(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>8;r=Sm(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0;u=i+(s*3|0)|0;a[u>>0]=t+(((d[u>>0]|0)/5|0)&255);u=i+(s*3|0)+1|0;a[u>>0]=f+(((d[u>>0]|0)/5|0)&255);u=i+(s*3|0)+2|0;a[u>>0]=r+(((d[u>>0]|0)/5|0)&255);q=q+1|0}while((q|0)!=64);gq(i);i=c[e>>2]|0;if((i|0)<=0){Mm(b,0,0,255);z=c[b>>2]|0;A=z+-1|0;Mm(b,A,0,255);C=c[e>>2]|0;D=C+-1|0;Mm(b,0,D,255);E=c[b>>2]|0;F=E+-1|0;G=c[e>>2]|0;H=G+-1|0;Mm(b,F,H,255);return}q=0;g=i;do{i=(q<<6|0)/(g|0)|0;Tm(b,0,q,2,q,i+16|0);h=c[b>>2]|0;Tm(b,h+-3|0,q,h+-1|0,q,i+144|0);q=q+1|0;g=c[e>>2]|0}while((q|0)<(g|0));Mm(b,0,0,255);z=c[b>>2]|0;A=z+-1|0;Mm(b,A,0,255);C=c[e>>2]|0;D=C+-1|0;Mm(b,0,D,255);E=c[b>>2]|0;F=E+-1|0;G=c[e>>2]|0;H=G+-1|0;Mm(b,F,H,255);return}function ob(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=b+16|0;b=(((Iq()|0)/4e3|0)*101|0)+10201|0;f=0;g=0;while(1){h=a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+g>>0]|0;i=h&255;j=B(f+1001|0,b)|0;if(!(f&2)){k=0;while(1){l=c[(c[e>>2]|0)+(f<<2)>>2]|0;if((k|0)==127){m=i;n=128}else{o=k+1|0;m=d[l+o>>0]|0;n=o}o=(k&6|0)==0?((B(j,k+1103|0)|0)%19|0|0)!=0:0;a[l+k>>0]=o?((m&15|0)==0?1:m^128):m;if((n|0)==128)break;else k=n}}else{k=0;do{j=c[(c[e>>2]|0)+(f<<2)>>2]|0;i=k;k=k+1|0;a[j+i>>0]=a[j+k>>0]|0}while((k|0)!=127);a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+k>>0]=h}f=f+2|0;if(f>>>0>=128)break;else g=128}return}function pb(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=Ga;Ga=Ga+16|0;e=b;f=b+12|0;g=b+8|0;h=b+4|0;i=c[694839]|0;a[2022888]=0;c[505788]=Iq()|0;if(c[732413]|0){Ga=b;return}Fm(c[694823]|0);j=c[750218]|0;do if((j|0)!=0&(c[732408]|0)==0){if((j|0)==1){il(i);k=c[750218]|0}else k=j}else if(c[732409]|0){Hm(i,0,0,128,128,5);if((c[732409]|0)==1){l=c[405836]|0;if(l>>>0<2){Hm(i,0,0,128,128,1);m=c[405836]|0}else m=l;if((m|0)==2){Hm(i,0,0,128,128,0);n=c[405836]|0}else n=m;if((n|0)==3)Hm(i,0,0,128,128,5)}Hm(i,0,0,128,7,8);Hm(i,0,121,128,127,8);mn(7,0);Pq(f,g,h);if(!(c[h>>2]|0))c[750008]=-1;l=c[750010]|0;do if((l|0)==89){o=nn(on()|0)|0;if(((o|0?(c[o+12>>2]|0)<20:0)?(c[o+16>>2]|0)<20:0)?c[o+20>>2]&1|0:0){o=(c[h>>2]|0)==0?93:94;c[750010]=o;p=o;break}q=c[750010]|0;r=24}else{q=l;r=24}while(0);if((r|0)==24)if(!q)break;else p=q;l=c[(c[c[694856]>>2]|0)+(p<<2)>>2]|0;o=c[l>>2]|0;s=c[l+4>>2]|0;Jm(l,i,0,0,(c[f>>2]|0)-((o|0)/2|0)|0,(c[g>>2]|0)-((s|0)/2|0)|0,o,s);if((c[750008]|0)!=-1){s=c[f>>2]|0;o=c[g>>2]|0;Hm(i,s+6|0,o+4|0,s+14|0,o+10|0,7);c[e>>2]=c[750008];as(1470512,39294,e)|0;rn(i,1470512,c[694857]|0,(c[f>>2]|0)+7|0,(c[g>>2]|0)+5|0,1,14)|0}}while(0);if(!((c[405846]|0)!=0&(c[732414]|0)==0&(c[732408]|0)==1)){if((c[732416]|0)==0?(c[694849]|0)==0|(c[406684]|0)!=0:0)$a(0)}else vo(i,c[694847]|0,0,0,0,0,128,128);i=c[694823]|0;vo(c[694847]|0,i,0,0,0,0,128,128);if(c[406684]|0)mb(i);a:do if((c[732416]|0)>0|(c[732417]|0)>27?(c[732408]|0)==1&(c[732414]|0)!=0:0){do if(!((c[405846]|0)>0|(c[506579]|0)!=0)){if(c[505720]|0?(Cs(2022620,57873)|0)==0:0)break;g=c[750220]|0;f=(g|0)/2|0;if((g|0)>-2)t=f;else t=12-((0-f|0)%12|0)|0;Jm(c[(c[c[694856]>>2]|0)+(((t|0)%12|0)+212<<2)>>2]|0,i,0,0,3,3,12,12);break a}while(0);f=c[750220]|0;g=(f|0)/2|0;if((f|0)>-2)u=g;else u=16-((0-g|0)%16|0)|0;Jm(c[(c[c[694856]>>2]|0)+(((u|0)%16|0)+229<<2)>>2]|0,i,0,0,3,3,12,12)}while(0);vo(c[694823]|0,c[505787]|0,0,0,0,0,128,128);i=Iq()|0;do if((i|0)<(c[505720]|0)){u=Iq()|0;t=c[505719]|0;g=u-t|0;f=(c[505720]|0)-u|0;u=(t|0)==0?0:(f|0)<200?(200-f|0)/20|0:(g|0)<200?(200-g|0)/20|0:0;if(!(Cs(2022620,55967)|0)){Om(c[694823]|0,0,u+119|0,101,u+127|0,0);Hm(c[694823]|0,1,u+120|0,100,u+126|0,6);rn(c[694823]|0,2022620,c[694857]|0,16,u+121|0,1,1)|0;Jm(c[(c[c[694856]>>2]|0)+904>>2]|0,c[694823]|0,0,0,2,(u<<1)+112|0,15,15);break}g=(Cs(2022620,55943)|0)==0;f=c[694823]|0;if(g){Om(f,0,u+119|0,101,u+127|0,0);Hm(c[694823]|0,1,u+120|0,127,u+126|0,6);rn(c[694823]|0,2022620,c[694857]|0,16,u+121|0,1,1)|0;Jm(c[(c[c[694856]>>2]|0)+908>>2]|0,c[694823]|0,0,0,109,(u<<1)+112|0,17,15);break}else{Hm(f,0,u+121|0,128,u+127|0,8);rn(c[694823]|0,2022620,c[694857]|0,1,u+122|0,1,c[505721]|0)|0;break}}else if(a[2022888]|0){Hm(c[694823]|0,0,121,128,127,8);rn(c[694823]|0,2022888,c[694857]|0,1,122,1,2)|0}while(0);i=Iq()|0;c[505788]=i-(c[505788]|0);i=Iq()|0;if((i|0)<(c[506055]|0)?(i=Iq()|0,(i|0)>((c[506055]|0)+-150|0)):0){i=c[694823]|0;u=i+16|0;i=(((Iq()|0)/4e3|0)*101|0)+10201|0;f=0;g=0;while(1){t=c[(c[u>>2]|0)+(f<<2)>>2]|0;e=a[t+g>>0]|0;p=e&255;q=B(f+1001|0,i)|0;b:do if(!(f&2)){h=0;n=t;while(1){m=h+1|0;if((h|0)==127){v=p;w=128}else{v=d[n+m>>0]|0;w=m}m=(h&6|0)==0?((B(q,h+1103|0)|0)%19|0|0)!=0:0;a[n+h>>0]=m?((v&15|0)==0?1:v^128):v;if((w|0)==128)break b;h=w;n=c[(c[u>>2]|0)+(f<<2)>>2]|0}}else{n=0;h=t;do{m=n;n=n+1|0;a[h+m>>0]=a[h+n>>0]|0;h=c[(c[u>>2]|0)+(f<<2)>>2]|0}while((n|0)!=127);a[h+127>>0]=e}while(0);f=f+2|0;if(f>>>0>=128)break;else g=128}}if(!(c[506054]|0))x=1;else{nb(c[694823]|0);x=(c[506054]|0)==0}g=(c[732414]|0)!=0;if(x&(g&(((a[2926560]|0)!=0&g|(c[405785]|0)!=0)^1))?(a[2958338]&1)!=0:0){g=c[694823]|0;x=c[g>>2]|0;f=(x|0)/128|0;if((x|0)>127?(c[g+4>>2]|0)>127:0){g=0;do{x=B(g,f)|0;u=g<<7;w=0;do{v=w+x|0;if((v+-1|0)>>>0<3){$a(v);vo(c[694847]|0,c[694823]|0,0,0,w<<7,u,128,128)}w=w+1|0}while((w|0)!=(f|0));g=g+1|0}while((g|0)<((c[(c[694823]|0)+4>>2]|0)/128|0|0))}}else r=77;if((r|0)==77?(Zj(0),(_j()|0)>1):0){r=1;do{Fm(c[2779356+(r<<2)>>2]|0);r=r+1|0}while((r|0)<(_j()|0))}if(c[506571]|0)Fg(c[694823]|0);if(c[406684]|0){Ga=b;return}Dg(c[694823]|0);Ga=b;return}function qb(a){a=a|0;return (a|0)>15|0}function rb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ga;Ga=Ga+1040|0;d=b+1032|0;e=b+1024|0;f=b;if(!(c[750217]|0)){Ga=b;return}c[e>>2]=2920020;c[e+4>>2]=2921044;as(f,67368,e)|0;switch(c[750216]|0){case 0:{c[d>>2]=2921044;as(1470512,54513,d)|0;sg(1470512,12);d=pq(f,57889,3000048,16384)|0;c[750216]=1;g=d;h=6;break}case 2:{d=pq(f,57889,3000048,-16385)|0;c[750216]=3;i=d;h=11;break}default:{d=qq(3000048)|0;switch(c[750216]|0){case 1:{g=d;h=6;break}case 3:{i=d;h=11;break}default:{}}}}do if((h|0)==6){if(g|0){c[750216]=2;break}if(Cs(3000304,67771)|0?Cs(3000304,60021)|0:0){sg(3000304,14);c[750217]=(c[750217]|0)+-1}}else if((h|0)==11){if(i|0){rq(3000048)|0;c[750216]=0;break}if(Lt(3000304,57891)|0){tg(3000304);c[750217]=(c[750217]|0)+-1;break}if((c[750140]&16384|0)==0&(a[2021532]|0)==42){sg(3000304,5);c[750217]=(c[750217]|0)+-1}}while(0);if(!((c[750217]|0)==0&(c[750216]|0)!=0)){Ga=b;return}sg(39299,12);Ga=b;return}function sb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=Ga;Ga=Ga+16|0;d=b+8|0;e=b;c[406685]=0;f=c[406684]|0;if((f|0)==1){c[406685]=1;g=69840;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Ut(69840,39308,16)|0;c[17477]=0;if(a[2933634]|0){i=c[406685]|0;c[406685]=i+1;j=69840+(i*72|0)|0;g=j;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Ut(j,2933634,16)|0;c[69840+(i*72|0)+68>>2]=257}if(a[2933698]|0){i=c[406685]|0;c[406685]=i+1;j=69840+(i*72|0)|0;g=j;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Ut(j,2933698,16)|0;c[69840+(i*72|0)+68>>2]=258}if(a[2933762]|0){i=c[406685]|0;c[406685]=i+1;j=69840+(i*72|0)|0;g=j;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Ut(j,2933762,16)|0;c[69840+(i*72|0)+68>>2]=259}if(a[2933826]|0){i=c[406685]|0;c[406685]=i+1;j=69840+(i*72|0)|0;g=j;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Ut(j,2933826,16)|0;c[69840+(i*72|0)+68>>2]=260}if(a[2933890]|0){i=c[406685]|0;c[406685]=i+1;j=69840+(i*72|0)|0;g=j;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Ut(j,2933890,16)|0;c[69840+(i*72|0)+68>>2]=261}i=c[406685]|0;c[406685]=i+1;j=69840+(i*72|0)|0;g=j;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Ut(j,39317,16)|0;c[69840+(i*72|0)+68>>2]=1;if(ng()|0){i=ng()|0;j=c[406685]|0;c[406685]=j+1;k=69840+(j*72|0)|0;g=k;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Ut(k,i,16)|0;c[69840+(j*72|0)+68>>2]=5}if(c[405781]|0){j=c[406685]|0;c[406685]=j+1;i=69840+(j*72|0)|0;g=i;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Ut(i,53560,16)|0;c[69840+(j*72|0)+68>>2]=6}l=c[406684]|0}else l=f;if((l|0)!=4){Ga=b;return}as(1470512,(c[515970]|0)==0?39337:39328,e)|0;e=c[406685]|0;c[406685]=e+1;l=69840+(e*72|0)|0;g=l;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Ut(l,1470512,16)|0;c[69840+(e*72|0)+68>>2]=9;e=(jq()|0)==0;as(1470512,e?39362:39347,d)|0;d=c[406685]|0;c[406685]=d+1;e=69840+(d*72|0)|0;g=e;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Ut(e,1470512,16)|0;c[69840+(d*72|0)+68>>2]=10;d=c[406685]|0;c[406685]=d+1;e=69840+(d*72|0)|0;g=e;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Ut(e,39376,16)|0;c[69840+(d*72|0)+68>>2]=13;d=c[406685]|0;c[406685]=d+1;e=69840+(d*72|0)|0;g=e;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));Ut(e,57678,16)|0;c[69840+(d*72|0)+68>>2]=11;Ga=b;return}function tb(){var b=0,d=0,e=0,f=0,g=0;b=c[732544]|0;if(c[406687]|0){c[406687]=0;c[406684]=1;c[406685]=1;d=69840;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));Ut(69840,39385,16)|0;c[17477]=7;f=c[406685]|0;c[406685]=f+1;g=69840+(f*72|0)|0;d=g;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));Ut(g,39397,16)|0;c[69840+(f*72|0)+68>>2]=0;c[406686]=0;a[1475289]=1;pk()}if((b|0)==0|(c[732414]|0)==0|(c[406684]|0)!=0)return;if((fk(2779320,c[733490]|0,24368)|0)==1)ek(2779320,c[733490]|0,24368,0);else{c[406684]=1;sb();c[406686]=0}a[1475289]=1;pk();return}function ub(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=(fn(-5)|0)!=0;d=b&(c[515126]|0)==0&1;c[515126]=fn(-5)|0;if(!(cn()|0))e=d;else{b=d;while(1){d=dn()|0;a:do if(!(fn(-5)|0)){f=c[750349]|0;if((c[406684]|0)==0&(f|0)<256?(g=(d+-65|0)>>>0<26?d+63|0:d,h=(g|0)==127?8:g,h>>>0<154):0){a[3001140+f>>0]=h;c[750349]=(c[750349]|0)+1;i=b}else i=b}else{do if((d+-111|0)>>>0<2){c[506571]=((c[506571]|0)+1|0)%2|0;pk()}else{if((d|0)==114&(c[694852]|0)==0){h=Iq()|0;if((h|0)<=((c[505791]|0)+500|0))break;Xb();c[694852]=1;c[505791]=Iq()|0;if(cn()|0)do dn()|0;while((cn()|0)!=0);pk()}if((d|0)!=118)if((d+-97|0)>>>0<26)break;else{i=b;break a}h=$q()|0;if((h|0)!=0?(a[h>>0]|0)!=0:0){op(c[406688]|0);f=mp((Ms(h)|0)<<2)|0;c[406688]=f;mr(h,f)|0;op(h)}else op(h);pk()}while(0);a[3001140+(c[750349]|0)>>0]=d+95;c[750349]=(c[750349]|0)+1;i=0}while(0);if(!(cn()|0)){e=i;break}else b=i}}if(!e)return;a[3001140+(c[750349]|0)>>0]=-38;c[750349]=(c[750349]|0)+1;return}function vb(){var b=0,d=0,e=0,f=0,g=0,h=0;if(sk(2,0)|0)c[406686]=(c[406686]|0)+-1;b=(sk(3,0)|0)==0;d=c[406686]|0;if(b)e=d;else{b=d+1|0;c[406686]=b;e=b}b=c[406685]|0;if((e|0)>-1)f=e;else f=b-((0-e|0)%(b|0)|0)|0;c[406686]=(f|0)%(b|0)|0;if(!(((sk(4,0)|0)==0?(sk(5,0)|0)==0:0)?!(sk(6,0)|0):0))g=10;a:do if((g|0)==10){c[732542]=0;c[732543]=0;c[732544]=0;c[732670]=1;c[732671]=1;c[732672]=1;b=c[69840+((c[406686]|0)*72|0)+68>>2]|0;if((b|0)>255){a[2933954+((b|0)<261?b+-256|0:5)>>0]=1;if(c[406684]|0)c[750349]=0;c[406684]=0}do switch(b|0){case 0:{if(c[406684]|0)c[750349]=0;c[406684]=0;break a;break}case 1:{if(c[406684]|0)c[750349]=0;c[406684]=0;c[694852]=1;break a;break}case 13:{c[406684]=3;break a;break}case 3:{if(c[406684]|0)c[750349]=0;c[406684]=0;c[732413]=2;c[406683]=2;break a;break}case 4:{if(c[406684]|0)c[750349]=0;c[406684]=0;Jg();c[750218]=0;c[732408]=0;c[732519]=6;break a;break}case 5:{rg();break a;break}case 12:{fl();c[406684]=2;pk();break a;break}case 8:{c[406684]=4;sb();c[406686]=0;break a;break}case 9:{if(!(c[515970]|0)){f=c[505793]|0;h=(f|0)==0?256:f}else h=0;c[515970]=h;sb();break a;break}case 10:{kq();sb();break a;break}case 11:{c[406684]=1;sb();c[406686]=0;break a;break}default:break a}while(0)}while(0);if(c[406684]|c[515687]|0)return;pk();return}function wb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;if(c[750218]|0){if(!(cn()|0))return;do{a=dn()|0;b=c[750218]|0;if((b|0)==2)d=c[750218]|0;else d=b;if((d|0)==1){hl(a);e=c[750218]|0}else e=d;if((e|0)==2){Ql(a);f=c[750218]|0}else f=e;if((f|0)==0?cn()|0:0)do dn()|0;while((cn()|0)!=0)}while((cn()|0)!=0);return}if(!(c[750216]|0)){if(!(c[750219]|0))return;if(!(cn()|0))return;f=dn()|0;switch(f|0){case 13:case 121:{g=26;break}case 27:case 110:break;default:return}a:do if((g|0)==26){e=1|0;d=(e|0)<0?e:0;Hg(70992+(((d|0)>0?d:0)<<8)|0,1);switch(f|0){case 27:case 110:{break a;break}default:{}}return}while(0);c[750219]=0;tg(57961);return}else{if(c[750217]|0)return;if(!(cn()|0))return;do{f=dn()|0;if((f|0)!=0?(g=c[732521]|0,d=g+-6|0,c[732521]=d,Hm(c[694838]|0,0,d,128,g+-1|0,0),(f|0)==27):0){c[750216]=0;rq(3000048)|0;h=0}else h=17;c[750217]=h}while((cn()|0)!=0);return}}function xb(){var b=0,d=0,e=0;er(c[733490]|0);er(c[17264]|0);lr(c[729986]|0);lr(c[729987]|0);lr(c[729988]|0);lr(c[729989]|0);lr(c[729990]|0);lr(c[729991]|0);lr(c[729992]|0);lr(c[729993]|0);lr(c[729994]|0);lr(c[729995]|0);lr(c[729996]|0);lr(c[729997]|0);lr(c[729998]|0);lr(c[729999]|0);lr(c[73e4]|0);lr(c[730001]|0);c[730002]=0;lp(2923096,0,76948);Eu(2999816,0,220)|0;c[749994]=2;c[749989]=0;c[749995]=5;c[749958]=1;c[749977]=8;c[749978]=0;c[730004]=0;c[405789]=0;c[505649]=1;rm(2921044,3002004)|0;c[733490]=dr()|0;c[17264]=dr()|0;b=jr(0,65538)|0;c[729986]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405828]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[729987]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405828]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[729988]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405828]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[729989]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405828]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[729990]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405828]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[729991]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405828]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[729992]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405828]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[729993]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405828]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[729994]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405828]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[729995]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405828]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[729996]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405828]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[729997]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405828]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[729998]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405828]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[729999]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405828]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[73e4]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405828]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=0;b=jr(0,65538)|0;c[730001]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405828]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=0;c[730002]=c[729986];fb();c[506051]=0;a[2923100]=0;Eb(c[17264]|0,2924124);return}function yb(a){a=a|0;if((c[694852]|0)>0)return;c[732413]=4;rm(137040,a)|0;kg();return}function zb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=c[694852]|0;if(!a)return;b=(a|0)<(((c[749941]|0)==60?12:6)|0)?a+1|0:0;c[694852]=b;if((b|0)==2){a=fk(2779320,c[733490]|0,24366)|0;if(!(io(8)|0))c[732527]=io(4)|0;d=c[733490]|0;ek(2779320,d,24384,io(256)|0);d=c[733490]|0;ek(2779320,d,24384,io(256)|0);d=c[733490]|0;ek(2779320,d,24384,io(256)|0);d=c[733490]|0;ek(2779320,d,24384,io(256)|0);if(!(io(4)|0)){d=c[733490]|0;ek(2779320,d,24414,io(16)|0|240)}io(3)|0;io(10)|0;d=(c[505646]|0)==0?4:c[505647]<<1;e=d*10|0;if((d|0)>0){f=0;do{g=c[733490]|0;h=io(12288)|0;ek(2779320,g,h,io(256)|0);f=f+1|0}while((f|0)<(e|0))}e=c[733490]|0;f=(io(32)|0)+24320|0;ek(2779320,e,f,io(140)|0);f=c[733490]|0;e=(io(32)|0)+24320|0;ek(2779320,f,e,io(140)|0);if(!(io(4)|0)){e=c[733490]|0;ek(2779320,e,24369,io(256)|0);e=c[733490]|0;ek(2779320,e,24370,io(256)|0);e=c[733490]|0;ek(2779320,e,24371,io(256)|0)}e=(d|0)/2|0;f=(d|0)>1;if(f){d=0;do{h=(io(10240)|0)+1024|0;g=c[733490]|0;i=(io(2048)|0)+h|0;j=i-(io(2048)|0)|0;gk(2779320,g,h,j,io(1024)|0);j=c[733490]|0;h=io(11264)|0;g=io(11264)|0;gk(2779320,j,h,g,io(1024)|0);d=d+1|0}while((d|0)!=(e|0));if(f){f=0;do{d=io(11776)|0;g=c[733490]|0;h=io(256)|0;hk(2779320,g,d,h,io(512)|0);f=f+1|0}while((f|0)!=(e|0))}}ek(2779320,c[733490]|0,24366,a);k=c[694852]|0}else k=b;if(k|0)return;c[732413]=1;rm(2932545,2931520)|0;return}function Ab(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=Ga;Ga=Ga+1040|0;b=a+1032|0;d=a+1024|0;e=a;switch(c[405846]|0){case 1:{f=2;break}case 0:{Ga=a;return}default:{}}if((f|0)==2){g=Iq()|0;if((g|0)>(((c[516004]|0)*1e3|0)+(c[405847]|0)|0)?(Jl(0),pg(),(c[732414]|0)==0):0){c[732521]=(c[732521]|0)+-6;ug(39439,0,0)}if(!(c[405846]|0)){Ga=a;return}}if((fn(41)|0)==0?!((c[732414]|0)!=0&(c[732544]|0)!=0):0){g=c[405846]|0;if((g|0)==2){c[405846]=0;h=(Lt(1624684,39482)|0)!=0;i=c[405848]|0;do if(!(h&(i|0)==0)){if(h&(i|0)==1){Ll()|0;break}j=Kb(1624684)|0;if(j|0){Pb(j,1624684);c[405849]=6;if((c[732414]|0)==0|(c[694853]|0)!=0){c[732521]=(c[732521]|0)+-6;ug(39514,0,0);sg(1692302,14);k=Mg(1624684)|0;l=Ms(c[j>>2]|0)|0;c[b>>2]=k;c[b+4>>2]=l;as(1470512,39531,b)|0;ug(1470512,0,0);break}else{qg();c[732413]=1;c[732416]=20;break}}l=c[405791]|0;c[405849]=-10-l;if((l|0)==1){rm(2022620,39553)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1900;c[505721]=15;m=c[405791]|0}else m=l;if((m|0)==2){rm(2022620,54924)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1900;c[505721]=15;n=c[405791]|0}else n=m;if((n|0)==3){rm(2022620,39578)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1900;c[505721]=15;o=c[405791]|0}else o=n;if((o|0)==4){rm(2022620,40983)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1900;c[505721]=15}}else{l=Bo(1624684)|0;rm(e,1624684)|0;k=Lt(1624684,39487)|0;if(k|0)rm(e+(k-1624684)+1|0,k+6|0)|0;do if(l)if((Ms(Ao(l,57895,0)|0)|0)>>>0<=1)if(!(Cs(Ao(l,57916,0)|0,60549)|0)){p=l;break}else{f=19;break}else{Un(1624684,e)|0;p=l;break}else f=19;while(0);if((f|0)==19){l=Bo(e)|0;if(!l){if(!(c[732414]|0))ug(39553,0,0);pg();c[405849]=-3;break}else p=l}l=Ao(p,57895,0)|0;if((Ms(l)|0)>>>0<2){k=(Cs(Ao(p,57916,0)|0,60549)|0)==0;j=(c[732414]|0)!=0;do if(k)if(j)q=-1;else{ug(39494,0,0);q=-1}else if(j){rm(2022620,37595)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1900;c[505721]=15;q=-2;break}else{ug(37595,0,0);q=-2;break}while(0);c[405849]=q;pg();c[732416]=0}else{j=Tb(sl(l)|0)|0;Tl(p);do if(!j){c[405849]=5;if((c[732414]|0)==0|(c[694853]|0)!=0){c[732521]=(c[732521]|0)+-6;ug(39514,0,0);rm(1470512,Ao(p,57899,0)|0)|0;kl(1470512);sg(1470512,14);k=Ms(c[c[17264]>>2]|0)|0;c[d>>2]=l;c[d+4>>2]=k;as(1470512,39531,d)|0;ug(1470512,0,0);break}else{qg();c[732413]=1;c[732416]=20;break}}else{Fl(l);rm(1692302,Ao(p,57899,0)|0)|0;kl(1692302)}while(0);zo(p)}c[750220]=0}while(0);r=c[405846]|0}else r=g;if((r|0)!=3){Ga=a;return}c[405846]=0;c[405849]=-3;pg();if(!(c[732414]|0)){ug(57873,0,0);Ga=a;return}else{rm(2022620,57873)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1900;c[505721]=15;Ga=a;return}}Jl(0);pg();if(!(c[732414]|0)){c[732521]=(c[732521]|0)+-6;ug(39458,0,0)}c[732544]=0;c[732672]=1;Ga=a;return}function Bb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;b=Ga;Ga=Ga+304|0;d=b+272|0;e=b+264|0;f=b+256|0;g=b;h=b+292|0;i=b+288|0;j=b+284|0;k=b+280|0;l=b+276|0;dc();dk();m=c[515970]|0;if(m|0)c[505793]=m;c[515971]=256;m=c[505646]|0;n=c[732408]|0;do if((m|0)!=0&(n|0)==1){o=m+1|0;c[505646]=o;if((o|0)==12)c[694852]=1;if((c[732413]|0)==1){Yb(c[694847]|0,0)|0;c[505646]=1;o=(c[505647]|0)+1|0;c[505647]=o;if((o|0)==48)wa(0);else{p=c[732408]|0;break}}else p=1}else p=n;while(0);if(!((c[732409]|0)>>>0>1&((c[405832]|0)!=0&(p|0)==0))){c[515691]=0;c[515690]=0}if(fn(-5)|0?(fn(16)|0)==3:0){if(!(c[515970]|0)){p=c[505793]|0;c[515970]=(p|0)==0?256:p;rm(2022620,39421)|0}else{c[515970]=0;rm(2022620,39402)|0}c[505719]=Iq()|0;c[505720]=(Iq()|0)+1400;c[505721]=15;c[515971]=256};c[732796]=-1;c[732797]=-1;c[732798]=-1;c[732799]=-1;c[732800]=-1;c[732801]=-1;c[732802]=-1;c[732803]=-1;p=c[406684]|0;n=c[515970]|0;m=c[694831]|0;oa(9,p|0,n|0,m|0,Xq()|0,1)|0;c[515127]=(c[515127]|0)+1;m=ka(10)|0;a:do if((m|0)>0){n=ka(11)|0;switch(m|0){case 1:{c[732413]=1;break a;break}case 2:{p=(n|0)<256?n:256;c[515970]=(p|0)>0?p:0;c[515971]=256;break a;break}case 3:{if(!(c[515970]|0)){p=c[505793]|0;c[515970]=(p|0)==0?256:p;rm(2022620,39421)|0}else{c[515970]=0;rm(2022620,39402)|0}c[505719]=Iq()|0;c[505720]=(Iq()|0)+1400;c[505721]=15;c[515971]=256;break a;break}case 4:{if(!(c[406684]|0)){c[406684]=1;sb();c[406686]=0;break a}else{c[750349]=0;c[406684]=0;break a}break}case 5:{p=(n|0)==0;n=(c[406684]|0)!=0;if(!(p|n)){c[406684]=1;sb();c[406686]=0;break a}if(!(p&n))break a;c[750349]=0;c[406684]=0;break a;break}case 6:{Eu(1622096,0,1024)|0;la(3,0)|0;a[67776]=0;n=0;do{p=ka(4)|0;a[67776+n>>0]=p;n=n+1|0;a[67776+n>>0]=0}while((p|0)!=0&n>>>0<1023);rm(1622096,ul(3002004,67776)|0)|0;xb();Fm(c[694823]|0);Fm(c[694847]|0);Fm(c[694838]|0);break a;break}case 7:{n=c[406684]|0;if((n|1|0)!=3){c[406684]=3;fl();break a}if(n|0)c[750349]=0;c[406684]=0;break a;break}default:break a}}while(0);ka(12)|0;c[732796]=ka(13)|0;c[732797]=ka(13)|0;c[732798]=ka(13)|0;c[732799]=ka(13)|0;c[732800]=ka(13)|0;c[732801]=ka(13)|0;c[732802]=ka(13)|0;c[732803]=ka(13)|0;c[505794]=ka(14)|0;c[750010]=89;m=c[732413]|0;if(m|0){c[694852]=0;if((m|0)==1){Ng();q=c[732413]|0}else q=m;if((q|0)==2){Jg();r=c[732413]|0}else r=q;if((r|0)==3){xb();s=c[732413]|0}else s=r;if((s|0)==4){Jg();zg();tg(3002004);tg(137040);t=c[732413]|0}else t=s;if((t|0)==5){xb();u=c[732413]|0}else u=t;if((u|0)==6)zg();c[732413]=0}if((c[732408]|0)!=1){c[515687]=0;if(c[406684]|0)c[750349]=0;c[406684]=0;c[749941]=30}u=(Iq()|0)+72e6|0;t=(c[406684]|c[515687]|0)==0;s=c[749941]|0;r=u-(c[515128]|0)|0;q=B((((r|0)<32e3?r:32e3)<<16|0)/1e3|0,t?s:30)|0;r=q+(c[505789]|0)|0;q=(r|0)>0?r:0;c[505789]=q;c[515128]=u;if(!(c[505646]|0))v=q;else{c[505789]=65536;v=65536}q=(s|0)==60?131072:131071;s=v>>>0<q>>>0?v:q;q=(s|0)>0?s:0;c[505789]=q;if(t){Pq(j,k,l);l=c[j>>2]|0;j=c[k>>2]|0;k=(j|0)!=(c[515130]|0)|(l|0)!=(c[515129]|0);c[515129]=l;c[515130]=j;j=(fn(225)|0)==0;l=(c[732408]|0)!=1;t=c[505789]|0;if((t|0)<65536&(l&(k&j)^1)|l&(t|0)<32768){l=2024232+(c[506570]<<5)+16|0;c[l>>2]=(c[l>>2]|0)+1;l=(Xq()|0)==0;j=l?c[515973]|0:c[515972]|0;if((j|0)>0)w=100/(((j|0)<50?j:50)>>>0)|0;else w=1e4;j=c[515131]|0;if((j|0)<(w|0)){Am();x=c[515131]|0}else x=j;y=c[505789]|0;z=x+1|0}else{y=t;z=0}c[515131]=z;if((y|0)>65535)do{do if((c[732408]|0)==1){if((c[405846]|0)>0|(c[506579]|0)!=0){rk();if((c[405846]|0)>0)Ab();y=c[732416]|0;if((y|0)<=10)break;c[732416]=y+-1;break}y=c[732416]|0;if((y|0)>0){c[732416]=y+-1;break}y=(c[515132]|0)+1|0;c[515132]=y;if(!(y&1)){y=(c[732417]|0)+-1|0;z=(y|0)<30?y:30;c[732417]=(z|0)>0?z:0}ub();c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;Pq(g,h,i);z=c[8672]|0;y=c[g>>2]|0;do if((z|0)==-1){A=c[h>>2]|0;C=c[i>>2]|0}else{if((z|0)!=(y|0))c[732536]=c[732536]|1;t=c[h>>2]|0;if((c[8673]|0)!=(t|0))c[732536]=c[732536]|2;x=c[8674]|0;j=c[i>>2]|0;if((x|0)==(j|0)){A=t;C=x;break}c[732536]=c[732536]|4;A=t;C=j}while(0);c[8672]=y;c[8673]=A;c[8674]=C;if((c[732414]|0)==0|(c[732868]|0)<2){rk();if(c[732414]|0)c[694831]=((c[749941]|0)==30?2:1)+(c[694831]|0);tb();Gg()}if((c[694852]|0)>2)break;c[506575]=1;Qg();c[506575]=0;if(!(c[694849]|0))break;c[505790]=1;if(!((c[732414]|0)!=0&(c[732868]|0)==2))break;if((yg(0)|0)<=2097152)break;qk();tb();Gg()}else{rk();z=c[750218]|0;if((z|0)==1){jl();D=c[750218]|0}else D=z;c[732416]=0}while(0);z=c[732408]|0;if((z|0)==2){pm();E=c[732408]|0}else E=z;if((E|0)==3?(z=en()|0,c[732538]|z|c[732539]|c[732540]|c[732541]|c[732542]|c[732543]|c[732544]|0):0)fb();zb();c[505789]=(c[505789]|0)+-65536;c[694830]=(c[694830]|0)+1;c[750220]=(c[750220]|0)+1;z=c[515133]&1^1;c[515133]=z;j=c[515687]|0;t=c[406684]|0;x=c[749941]|0;if((x|0)==60&(z|j|t|0)==0){ph(c[505787]|0);F=c[515687]|0;G=c[406684]|0;H=c[749941]|0}else{F=j;G=t;H=x}if((H|0)==30|(G|F|0)!=0){ph(c[505787]|0);I=c[515687]|0;J=c[406684]|0;K=c[749941]|0}else{I=F;J=G;K=H}if((J|I|0)==0&(K|0)==15){ph(c[505787]|0);ph(c[505787]|0)}}while((c[505789]|0)>65535)}else if((q|0)>65535){rk();switch(c[406684]|0){case 2:{jl();break}case 3:{if(sk(6,0)|0){if(c[406684]|0)c[750349]=0;c[406684]=0;pk()}break}default:{ub();vb()}}c[505789]=(c[505789]|0)+-65536;ph(c[505787]|0)}if(!(c[732409]|c[732408])){wb();q=c[750216]|0;K=c[750217]|0;if((q|0)!=0&(K|0)>0){rb();L=c[750216]|0;M=c[750217]|0}else{L=q;M=K}if((L|0)!=0&(M|0)>0)rb()}if((c[732408]|0)==1&(c[732409]|0)==0&(c[406684]|0)==2?(fn(41)|0)==3:0)gl();if(c[732415]|0)c[732415]=0;do if(!(c[405792]|0))N=0;else{if((fn(63)|0)!=3?(fn(58)|0)!=3:0)O=0;else O=1;if((fn(64)|0)!=3?(fn(59)|0)!=3:0)P=O;else P=2;if((fn(65)|0)!=3?(fn(60)|0)!=3:0)Q=P;else Q=3;if((fn(66)|0)!=3?(fn(61)|0)!=3:0)R=Q;else R=4;if((fn(67)|0)!=3?(fn(62)|0)!=3:0){N=R;break}N=5}while(0);if(!(fn(-5)|0))S=N;else{R=(fn(35)|0)==3;S=R?1:N}if(!(fn(-5)|0))T=S;else{N=(fn(36)|0)==3;T=N?2:S}if(!(fn(-5)|0))U=T;else{S=(fn(37)|0)==3;U=S?3:T}if(!(fn(-5)|0))V=U;else{T=(fn(38)|0)==3;V=T?4:U}if(!(fn(-5)|0))W=V;else{U=(fn(39)|0)==3;W=U?5:V}b:do if(!(fn(-4)|0))switch(W|0){case 1:{if(!(Yb(c[694847]|0,0)|0)){rm(2022620,54594)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1400;c[505721]=15;break b}else{rm(2022620,40249)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1900;c[505721]=15;break b}break}case 3:{qh();rm(2022620,40278)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1400;c[505721]=15;break b;break}case 4:{V=oh(0)|0;do if((V|0)!=9)if((V|0)>0){rm(2022620,40335)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1900;c[505721]=15;break}else{c[f>>2]=(uh()|0)+1;c[f+4>>2]=0;as(g,40359,f)|0;rm(2022620,g)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1900;c[505721]=15;break}else{rm(2022620,40303)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1900;c[505721]=15}while(0);if((c[405835]|0)!=1)break b;qh();break b;break}default:break b}while(0);if(c[423460]|0){Du(1474736,1693326,512)|0;c[423460]=0}if(!(c[405846]|c[732416]|c[732417]))c[750220]=0;g=c[732408]|0;if((g|0)==1&(c[732414]|0)!=0){f=fk(2779320,c[733490]|0,24367)|0;W=(f|0)==1|(f|0)!=2&(c[406684]|0)!=0;f=c[515689]|0;c[515689]=(f+-1|0)>>>0<4&(W^1)?f+1|0:W&1;X=c[732408]|0}else X=g;do if((X|1|0)==3){c[515705]=0;Y=186}else{g=c[515705]|0;if(g|0){c[e>>2]=g&255;as(1470512,40390,e)|0;rm(2022620,1470512)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1400;c[505721]=15;c[515705]=0}g=c[515706]|0;if(!g)break;c[d>>2]=g&255;as(1470512,40412,d)|0;rm(2022620,1470512)|0;c[505719]=Iq()|0;c[505720]=(Iq()|0)+1400;c[505721]=15;Y=186}while(0);if((Y|0)==186)c[515706]=0;Y=c[506578]|0;if(!Y){Z=c[8693]|0;wt(Z)|0;Ga=b;return}wt(Y)|0;Z=c[8693]|0;wt(Z)|0;Ga=b;return}function Cb(){var a=0;cl()|0;if(c[750216]|0)rq(3000048)|0;a=c[506577]|0;if(a|0)ut(a)|0;a=c[506578]|0;if(!a){wm()|0;return}ut(a)|0;wm()|0;return}function Db(a,b){a=a|0;b=b|0;ka(15)|0;return Bm(a,b)|0}function Eb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Ga;Ga=Ga+1024|0;f=e;g=d;h=g+41|0;do{a[g>>0]=48;g=g+1|0}while((g|0)<(h|0));if(!b){Ga=e;return}i=kp(32768)|0;g=f;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=c[b>>2]|0;vp(g,Ms(g)|0,f)|0;a[f+40>>0]=0;g=c[b>>2]|0;c[b>>2]=f;h=Fb(b,i,0)|0;c[b>>2]=g;if(!h)vp(i,32768,d)|0;else Vs(d,f)|0;a[d+40>>0]=0;op(i);Ga=e;return}function Fb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;lp(d,0,32768);f=0;do{a[d+f>>0]=fk(0,b,f)|0;f=f+1|0}while((f|0)!=17152);f=kp(262144)|0;g=c[b>>2]|0;do if(!e){h=0;i=Pk(g,f,Ms(g)|0)|0;j=f}else{if(!(am(g,f)|0)){b=kp(262144)|0;h=f;i=Pk(f,b,Ms(f)|0)|0;j=b;break}op(f);k=2;return k|0}while(0);if((i|0)>15616){op(j);op(h);k=1;return k|0}else{Du(d+17152|0,j|0,i|0)|0;op(j);op(h);k=0;return k|0}return 0}function Gb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Ga;Ga=Ga+16|0;g=f;h=f+4|0;i=Tn(a)|0;a=i+16|0;j=kp(((c[a>>2]<<3|0)/6|0)+256|0)|0;lp(h,0,12);c[g>>2]=b;as(j,40577,g)|0;g=j+(Ms(j)|0)|0;if(i|0){vh(h);wh(c[i+12>>2]|0,c[a>>2]|0,g,h)|0;xh(g+(Ms(g)|0)|0,h)|0}na(16,j|0,Ms(j)|0,d|0,e|0)|0;op(j);Gn(i);Ga=f;return}function Hb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=Ga;Ga=Ga+256|0;g=f+64|0;h=f+240|0;i=f+232|0;j=f+224|0;k=f+216|0;l=f+208|0;m=f+200|0;n=f+192|0;o=f+184|0;p=f+176|0;q=f+168|0;r=f+160|0;s=f+152|0;t=f+144|0;u=f+136|0;v=f+128|0;w=f+120|0;x=f+112|0;y=f+104|0;z=f+96|0;A=f;B=f+244|0;C=A;D=C+64|0;do{c[C>>2]=0;C=C+4|0}while((C|0)<(D|0));C=mp(32800)|0;lp(C,0,32800);D=Fb(b,C,0)|0;a[C+32768>>0]=29;a[C+32769>>0]=0;a[C+32770>>0]=2;a[C+32771>>0]=1;a[C+32772>>0]=Kl()|0;a[C+32773>>0]=0;vp(C,32768,A)|0;c[B>>2]=0;c[z>>2]=B;At(A,40928,z)|0;a[C+32774>>0]=c[B>>2];c[B>>2]=0;c[y>>2]=B;At(A+2|0,40928,y)|0;a[C+32775>>0]=c[B>>2];c[B>>2]=0;c[x>>2]=B;At(A+4|0,40928,x)|0;a[C+32776>>0]=c[B>>2];c[B>>2]=0;c[w>>2]=B;At(A+6|0,40928,w)|0;a[C+32777>>0]=c[B>>2];c[B>>2]=0;c[v>>2]=B;At(A+8|0,40928,v)|0;a[C+32778>>0]=c[B>>2];c[B>>2]=0;c[u>>2]=B;At(A+10|0,40928,u)|0;a[C+32779>>0]=c[B>>2];c[B>>2]=0;c[t>>2]=B;At(A+12|0,40928,t)|0;a[C+32780>>0]=c[B>>2];c[B>>2]=0;c[s>>2]=B;At(A+14|0,40928,s)|0;a[C+32781>>0]=c[B>>2];c[B>>2]=0;c[r>>2]=B;At(A+16|0,40928,r)|0;a[C+32782>>0]=c[B>>2];c[B>>2]=0;c[q>>2]=B;At(A+18|0,40928,q)|0;a[C+32783>>0]=c[B>>2];c[B>>2]=0;c[p>>2]=B;At(A+20|0,40928,p)|0;a[C+32784>>0]=c[B>>2];c[B>>2]=0;c[o>>2]=B;At(A+22|0,40928,o)|0;a[C+32785>>0]=c[B>>2];c[B>>2]=0;c[n>>2]=B;At(A+24|0,40928,n)|0;a[C+32786>>0]=c[B>>2];c[B>>2]=0;c[m>>2]=B;At(A+26|0,40928,m)|0;a[C+32787>>0]=c[B>>2];c[B>>2]=0;c[l>>2]=B;At(A+28|0,40928,l)|0;a[C+32788>>0]=c[B>>2];c[B>>2]=0;c[k>>2]=B;At(A+30|0,40928,k)|0;a[C+32789>>0]=c[B>>2];c[B>>2]=0;c[j>>2]=B;At(A+32|0,40928,j)|0;a[C+32790>>0]=c[B>>2];c[B>>2]=0;c[i>>2]=B;At(A+34|0,40928,i)|0;a[C+32791>>0]=c[B>>2];c[B>>2]=0;c[h>>2]=B;At(A+36|0,40928,h)|0;a[C+32792>>0]=c[B>>2];c[B>>2]=0;c[g>>2]=B;At(A+38|0,40928,g)|0;a[C+32793>>0]=c[B>>2];if(D|0){op(C);E=1;Ga=f;return E|0}D=Km(160,205,32)|0;vo(c[(c[c[694856]>>2]|0)+580>>2]|0,D,0,0,0,0,160,205);B=c[b+44572>>2]|0;if(B|0)vo(B,D,0,0,16,24,128,128);B=c[b>>2]|0;b=B;while(1){A=a[b>>0]|0;F=A<<24>>24==10;G=b+1|0;if(F^A<<24>>24!=0)b=G;else break}A=F?G:b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;if((a[B>>0]|0)==45?(a[B+1>>0]|0)==45:0){b=B+2|0;G=0;F=(a[b>>0]|0)==32?B+3|0:b;a:while(1){b=a[F>>0]|0;switch(b<<24>>24){case 10:case 0:{break a;break}default:{}}if(G>>>0>=31)break;a[g+G>>0]=b;G=G+1|0;F=F+1|0}rn(D,g,c[694857]|0,18,167,1,-1808)|0};c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;if((a[A>>0]|0)==45?(a[A+1>>0]|0)==45:0){F=A+2|0;G=0;b=(a[F>>0]|0)==32?A+3|0:F;b:while(1){F=a[b>>0]|0;switch(F<<24>>24){case 10:case 0:{break b;break}default:{}}if(G>>>0>=31)break;a[g+G>>0]=F;G=G+1|0;b=b+1|0}rn(D,g,c[694857]|0,18,175,1,-1808)|0}rn(D,67373,c[694857]|0,18,187,1,-6250336)|0;g=c[D+12>>2]|0;b=0;while(1){G=a[g>>0]&-4;a[g>>0]=G;a[g>>0]=(d[C+(b>>>2)>>0]|0)>>>(b<<1&6)&3|G&255;b=b+1|0;if((b|0)==131200)break;else g=g+1|0}Qn(e,D)|0;Gb(e,40932,80,102);Lm(D)|0;op(C);E=0;Ga=f;return E|0}function Ib(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;do{ek(0,a,e,d[b+e>>0]|0);e=e+1|0}while((e|0)!=17152);if(!(c[a>>2]|0)){e=mp(65538)|0;c[a>>2]=e;lp(e,0,65538)}e=b+17152|0;b=(Ok(e)|0)==0;f=c[a>>2]|0;if(b){Du(f|0,e|0,15616)|0;return}else{lp(f,0,65538);Qk(e,c[a>>2]|0,65537)|0;return}}function Jb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ga;Ga=Ga+80|0;f=e+72|0;g=e+64|0;h=e;i=e+76|0;c[405791]=0;if(!b){c[405791]=2;j=0;Ga=e;return j|0}k=On(b)|0;if(!k){c[405791]=1;j=0;Ga=e;return j|0}if((c[k>>2]|0)==160?(c[k+4>>2]|0)==205:0){b=dr()|0;l=c[k+12>>2]|0;m=0;do{n=m<<2;a[l+m>>0]=a[l+(n|1)>>0]<<2&12|a[l+n>>0]&3|a[l+(n|2)>>0]<<4&48|a[l+(n|3)>>0]<<6&255;m=m+1|0}while((m|0)!=32800);m=l+32768|0;c[b+44576>>2]=d[m>>0];n=a[m>>0]|0;m=n&255;do if((n&255)>29){if(c[405786]|0){bb(40936,1500);break}c[g>>2]=m;as(1470512,40964,g)|0;tg(1470512);c[405791]=3;Lm(k)|0;j=0;Ga=e;return j|0}while(0);Ib(b,l);vp(l,32768,h)|0;g=0;m=0;n=0;do{c[i>>2]=0;c[f>>2]=i;At(h+(n<<1)|0,40928,f)|0;o=a[l+(n+32774)>>0]|0;g=o<<24>>24==0?g:1;m=(c[i>>2]|0)==(o&255|0)?m:1;n=n+1|0}while((n|0)!=20);Lm(k)|0;if((g|0)!=0&(m|0)!=0){tg(40983);p=0;q=4}else{p=b;q=0}c[405791]=q;j=p;Ga=e;return j|0}Lm(k)|0;c[405791]=5;j=0;Ga=e;return j|0}function Kb(a){a=a|0;var b=0,d=0;b=Fn(a,59673)|0;d=Jb(b)|0;Gn(b);if(!d)return d|0;c[d+44572>>2]=wl(a)|0;return d|0}function Lb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=Ga;Ga=Ga+16|0;e=d;f=Fn(b,59673)|0;if(!f){g=0;Ga=d;return g|0}b=dr()|0;h=kp(262144)|0;i=kp(65536)|0;j=vn(h,1,131071,f)|0;a:do switch(a[h>>0]|0){case -17:{if((a[h+1>>0]|0)==-69?(a[h+2>>0]|0)==-65:0){k=0;l=1;m=h+3|0}else n=17;break}case 0:{if(((a[h+1>>0]|0)==0?(a[h+2>>0]|0)==-2:0)?(a[h+3>>0]|0)==-1:0){k=3;l=4;m=h+4|0}else n=17;break}case -1:{if((a[h+1>>0]|0)==-2){if((a[h+2>>0]|0)==0?(a[h+3>>0]|0)==0:0){k=0;l=4;m=h+4|0;break a}o=h+2|0;if((a[o>>0]|0)==0?(a[h+3>>0]|0)==0:0){k=0;l=1;m=h;break a}k=0;l=2;m=o}else{k=0;l=1;m=h}break}case -2:{if((a[h+1>>0]|0)==-1){o=h+2|0;if((a[o>>0]|0)==0?(a[h+3>>0]|0)==0:0)n=17;else{k=1;l=2;m=o}}else n=17;break}default:n=17}while(0);if((n|0)==17){k=0;l=1;m=h}n=(j+h-m|0)/(l|0)|0;if((n|0)>0){j=0;o=0;while(1){p=B(o,l)|0;q=a[m+(p+k)>>0]|0;r=0;s=0;while(1){if((r|0)==(k|0))t=s;else t=(a[m+(r+p)>>0]|0)==0?s:1;r=r+1|0;if(r>>>0>=l>>>0)break;else s=t}if(!t)if(q<<24>>24==13)u=j;else{a[m+j>>0]=q;u=j+1|0}else{a[m+j>>0]=95;a[m+(j+1)>>0]=120;s=j+2|0;r=0;while(1){c[e>>2]=a[m+(r+p)>>0];as(m+s|0,67614,e)|0;r=r+1|0;v=s+2|0;if(r>>>0>=l>>>0){u=v;break}else s=v}}o=o+1|0;if((o|0)==(n|0)){w=u;break}else j=u}}else w=0;a[m+w>>0]=10;a[m+(w+1)>>0]=0;w=kp(131072)|0;mr(m,w)|0;a[w+65534>>0]=0;Gn(f);op(h);op(i);i=w+(Ms(w)|0)|0;a[i>>0]=10;a[i+1>>0]=0;Vs(c[b>>2]|0,w)|0;op(w);g=b;Ga=d;return g|0}function Mb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Ga;Ga=Ga+3104|0;e=d+3088|0;f=d+3072|0;g=d+2048|0;h=d+1024|0;i=d;rm(b,a)|0;if(Lt(b,57891)|0){Ga=d;return}Mn(a,g,h,i);if(!(Lt(i,57293)|0)){c[e>>2]=g;c[e+4>>2]=h;c[e+8>>2]=i;as(b,41021,e)|0;Ga=d;return}else{c[f>>2]=g;c[f+4>>2]=h;c[f+8>>2]=i;as(b,41011,f)|0;Ga=d;return}}function Nb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Ga;Ga=Ga+4160|0;f=e+4096|0;g=e+2048|0;h=e+1024|0;i=e;j=e+4120|0;if(!(a[b>>0]|0)){rm(g,41031)|0;rm(h,57891)|0}else Mn(b,e+3072|0,g,h);Qq(41040,i);tq(j,0);k=c[j+8>>2]|0;l=c[j+12>>2]|0;m=c[j+16>>2]|0;n=c[j+20>>2]|0;o=c[j+24>>2]|0;c[f>>2]=c[j+4>>2];c[f+4>>2]=k;c[f+8>>2]=l;c[f+12>>2]=m;c[f+16>>2]=n;c[f+20>>2]=o;as(1470512,41048,f)|0;Ws(i,1470512)|0;Ws(i,g)|0;Ws(i,h)|0;if(d|0){d=mp(1048576)|0;h=Fn(b,59673)|0;g=vn(d,1,1048576,h)|0;Gn(h);h=Fn(i,67694)|0;xn(d,1,g,h)|0;Gn(h);op(d);Ga=e;return 0}Kg();d=(Lt(b,57293)|0)==0;b=c[17264]|0;if(d){ir(b,i)|0;Ga=e;return 0}else{Hb(b,i)|0;Ga=e;return 0}return 0}function Ob(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=Ga;Ga=Ga+1024|0;e=d;Kg();f=kp(262144)|0;do if(am(c[c[17264]>>2]|0,f)|0){if(!(Lt(b,57293)|0)){rm(f,c[c[17264]>>2]|0)|0;break}op(f);g=1;Ga=d;return g|0}while(0);h=Ms(f)|0;i=Ms(c[c[17264]>>2]|0)|0;j=(h|0)==(i|0);if(i>>>0>65536){tg(41074);op(f);g=1;Ga=d;return g|0}i=kp(262144)|0;lp(i,0,262144);h=Pk(f,i,Ms(c[c[17264]>>2]|0)|0)|0;op(i);i=(h|0)>15616;do if(!(Lt(b,57293)|0)){if(i){sg(41145,9);sg(41178,9);ug(41131,h,15616);tg(41209)}}else{if(i){sg(41099,8);ug(41131,h,15616);op(f);g=1;Ga=d;return g|0}k=c[(c[17264]|0)+44572>>2]|0;if(k|0){l=c[k+12>>2]|0;k=a[l>>0]|0;m=1;n=0;do{n=(a[l+m>>0]|0)==k<<24>>24?n:1;m=m+1|0}while((m|0)!=16384);if(n|0)break}sg(54224,9);sg(54248,10)}while(0);Mb(b,e);if(Cs(e,2923100)|0?sq(e)|0:0)Nb(e,1)|0;b=(Lt(e,57293)|0)==0;h=c[17264]|0;if(!b){rm(c[h>>2]|0,f)|0;Lg();b=Hb(c[17264]|0,e)|0;if(j)o=b;else{sg(41229,9);o=b}}else o=ir(h,e)|0;if(!o){rm(2923100,e)|0;Eb(c[17264]|0,2924124)}else bb(41249,1500);op(f);g=o;Ga=d;return g|0}function Pb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ga;Ga=Ga+1040|0;g=f+1032|0;h=f+1024|0;i=f;if(!b){Ga=f;return}er(c[17264]|0);c[17264]=b;Qb(b);j=c[(c[b+8>>2]|0)+16>>2]|0;k=0;l=32;while(1){m=c[j+(l<<2)>>2]|0;n=0;o=k;do{o=(a[m+n>>0]|0)==0?o:1;n=n+1|0}while((n|0)!=128);l=l+1|0;if((l|0)==64)break;else k=o}if(!o)mh(b);else nh(b);Eb(c[17264]|0,2924206);Lg();Kg();Eb(c[17264]|0,2924124);a[156560]=0;c[h>>2]=41293;c[h+4>>2]=2924124;as(156560,41270,h)|0;h=156560+(Ms(156560)|0)|0;a[h>>0]=46;a[h+1>>0]=112;a[h+2>>0]=56;a[h+3>>0]=0;rm(i,156560)|0;if(!e)rm(2923100,i)|0;else rm(2923100,e)|0;c[g>>2]=i;as(1465904,41296,g)|0;vm(1465904);g=gr(i)|0;if(!g)vm(41364);else{vm(41355);i=0;do{if(1<<(i&7)&d[(i>>>3)+(g+44600)>>0]|0)ek(0,b,i,fk(0,g,i)|0);i=i+1|0}while((i|0)!=17152)}gb();ur(c[(c[729986]|0)+364>>2]|0);ur(c[(c[729987]|0)+364>>2]|0);ur(c[(c[729988]|0)+364>>2]|0);ur(c[(c[729989]|0)+364>>2]|0);ur(c[(c[729990]|0)+364>>2]|0);ur(c[(c[729991]|0)+364>>2]|0);ur(c[(c[729992]|0)+364>>2]|0);ur(c[(c[729993]|0)+364>>2]|0);ur(c[(c[729994]|0)+364>>2]|0);ur(c[(c[729995]|0)+364>>2]|0);ur(c[(c[729996]|0)+364>>2]|0);ur(c[(c[729997]|0)+364>>2]|0);ur(c[(c[729998]|0)+364>>2]|0);ur(c[(c[729999]|0)+364>>2]|0);ur(c[(c[73e4]|0)+364>>2]|0);ur(c[(c[730001]|0)+364>>2]|0);c[506051]=0;Ga=f;return}function Qb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=Ga;Ga=Ga+16|0;d=b;e=a+44580|0;if(c[e>>2]|0){Ga=b;return}c[e>>2]=1;e=a+44576|0;f=c[e>>2]|0;do if((f+-19|0)>>>0<5)if(!(Lt(c[a>>2]|0,44292)|0)){Ga=b;return}else{bb(41377,3e3);g=c[e>>2]|0;break}else g=f;while(0);if((g|0)<5){f=0;do{h=a+42252+(f<<4)|0;i=c[h>>2]|0;j=i>>>0<64;if(j){k=c[a+12+(i*660|0)+8>>2]|0;l=((k|0)>1?k:1)<<5;k=(c[a+12+(i*660|0)+16>>2]|0)>(c[a+12+(i*660|0)+12>>2]|0);m=k<<31>>31;n=k?0:l;o=l}else{m=-1;n=0;o=0}l=c[a+42252+(f<<4)+4>>2]|0;k=l>>>0<64;if(k){p=c[a+12+(l*660|0)+8>>2]|0;q=((p|0)>1?p:1)<<5;p=(o|0)>(q|0)?o:q;if((m|0)==-1){r=(c[a+12+(l*660|0)+16>>2]|0)>(c[a+12+(l*660|0)+12>>2]|0);s=r?-1:1;t=r?n:q;u=p}else{s=0;t=n;u=p}}else{s=m;t=n;u=o}p=c[a+42252+(f<<4)+8>>2]|0;q=p>>>0<64;if(q){r=c[a+12+(p*660|0)+8>>2]|0;v=((r|0)>1?r:1)<<5;r=(u|0)>(v|0)?u:v;if((s|0)==-1){w=(c[a+12+(p*660|0)+16>>2]|0)>(c[a+12+(p*660|0)+12>>2]|0);x=w?-1:2;y=w?t:v;z=r}else{x=s;y=t;z=r}}else{x=s;y=t;z=u}r=c[a+42252+(f<<4)+12>>2]|0;v=r>>>0<64;if(v){w=c[a+12+(r*660|0)+8>>2]|0;A=((w|0)>1?w:1)<<5;w=(z|0)>(A|0)?z:A;if((x|0)==-1){B=(c[a+12+(r*660|0)+16>>2]|0)>(c[a+12+(r*660|0)+12>>2]|0);C=B?-1:3;D=B?y:A;E=w}else{C=x;D=y;E=w}}else{C=x;D=y;E=z}a:do if((E|0)!=(D|0)&(C|0)!=-1){if((j?(c[a+12+(i*660|0)+16>>2]|0)<=(c[a+12+(i*660|0)+12>>2]|0):0)?(w=c[a+12+(i*660|0)+8>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0)break;if((k?(c[a+12+(l*660|0)+16>>2]|0)<=(c[a+12+(l*660|0)+12>>2]|0):0)?(w=c[a+12+(l*660|0)+8>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0)F=1;else G=49;do if((G|0)==49){G=0;if((q?(c[a+12+(p*660|0)+16>>2]|0)<=(c[a+12+(p*660|0)+12>>2]|0):0)?(w=c[a+12+(p*660|0)+8>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0){F=2;break}if(!v)break a;if((c[a+12+(r*660|0)+16>>2]|0)>(c[a+12+(r*660|0)+12>>2]|0))break a;w=c[a+12+(r*660|0)+8>>2]|0;if((((w|0)>1?w:1)<<5|0)==(E|0))F=3;else break a}while(0);c[d>>2]=f;c[d+4>>2]=0;c[d+8>>2]=F;as(1470512,41409,d)|0;tg(1470512);w=c[h>>2]|0;A=a+42252+(f<<4)+(F<<2)|0;c[h>>2]=c[A>>2];c[A>>2]=w}while(0);f=f+1|0}while((f|0)!=64);f=c[e>>2]|0;if((f|0)<5){F=0;do{d=0;do{if((c[a+12+(F*660|0)+20+(d*20|0)+4>>2]|0)==6?(E=a+12+(F*660|0)+20+(d*20|0)+8|0,(c[E>>2]|0)>5):0)c[E>>2]=5;d=d+1|0}while((d|0)!=32);F=F+1|0}while((F|0)!=64);if(Lt(c[a>>2]|0,41441)|0){F=kp(65538)|0;rm(F,c[a>>2]|0)|0;rm(c[a>>2]|0,41466)|0;Ws(c[a>>2]|0,F)|0;tg(42737);op(F);H=c[e>>2]|0}else H=f}else H=f}else H=g;if((H|0)>=11){Ga=b;return}H=0;g=0;do{H=H+((c[a+12+(g*660|0)+4>>2]|0)>1&1)+((c[a+12+(g*660|0)+12>>2]|0)>63&1)+((c[a+12+(g*660|0)+16>>2]|0)>63&1)+((c[a+12+(g*660|0)+36>>2]|0)!=0&1)+((c[a+12+(g*660|0)+56>>2]|0)!=0&1)+((c[a+12+(g*660|0)+76>>2]|0)!=0&1)+((c[a+12+(g*660|0)+96>>2]|0)!=0&1)+((c[a+12+(g*660|0)+116>>2]|0)!=0&1)+((c[a+12+(g*660|0)+136>>2]|0)!=0&1)+((c[a+12+(g*660|0)+156>>2]|0)!=0&1)+((c[a+12+(g*660|0)+176>>2]|0)!=0&1)+((c[a+12+(g*660|0)+196>>2]|0)!=0&1)+((c[a+12+(g*660|0)+216>>2]|0)!=0&1)+((c[a+12+(g*660|0)+236>>2]|0)!=0&1)+((c[a+12+(g*660|0)+256>>2]|0)!=0&1)+((c[a+12+(g*660|0)+276>>2]|0)!=0&1)+((c[a+12+(g*660|0)+296>>2]|0)!=0&1)+((c[a+12+(g*660|0)+316>>2]|0)!=0&1)+((c[a+12+(g*660|0)+336>>2]|0)!=0&1)+((c[a+12+(g*660|0)+356>>2]|0)!=0&1)+((c[a+12+(g*660|0)+376>>2]|0)!=0&1)+((c[a+12+(g*660|0)+396>>2]|0)!=0&1)+((c[a+12+(g*660|0)+416>>2]|0)!=0&1)+((c[a+12+(g*660|0)+436>>2]|0)!=0&1)+((c[a+12+(g*660|0)+456>>2]|0)!=0&1)+((c[a+12+(g*660|0)+476>>2]|0)!=0&1)+((c[a+12+(g*660|0)+496>>2]|0)!=0&1)+((c[a+12+(g*660|0)+516>>2]|0)!=0&1)+((c[a+12+(g*660|0)+536>>2]|0)!=0&1)+((c[a+12+(g*660|0)+556>>2]|0)!=0&1)+((c[a+12+(g*660|0)+576>>2]|0)!=0&1)+((c[a+12+(g*660|0)+596>>2]|0)!=0&1)+((c[a+12+(g*660|0)+616>>2]|0)!=0&1)+((c[a+12+(g*660|0)+636>>2]|0)!=0&1)+((c[a+12+(g*660|0)+656>>2]|0)!=0&1)|0;g=g+1|0}while((g|0)!=64);if(H|0){Ga=b;return}H=0;do{g=0;do{f=a+12+(H*660|0)+20+(g*20|0)+12|0;if((c[f>>2]|0)==1?(c[a+12+(H*660|0)+20+(g*20|0)+8>>2]|0)==0:0)c[f>>2]=0;g=g+1|0}while((g|0)!=32);H=H+1|0}while((H|0)!=64);Ga=b;return}function Rb(b){b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;a[156560]=0;c[e>>2]=41293;c[e+4>>2]=b;as(156560,41270,e)|0;e=156560+(Ms(156560)|0)|0;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=0;Ga=d;return 156560}function Sb(a){a=a|0;var b=0,d=0,e=0,f=0;b=Fn(a,59673)|0;d=Jb(b)|0;Gn(b);if(d|0){c[d+44572>>2]=wl(a)|0;e=d;return e|0}d=gr(a)|0;if(d|0){e=d;return e|0}d=Tn(a)|0;do if(d|0){if((c[d+16>>2]|0)!=32768){Gn(d);break}b=c[d+12>>2]|0;if(!(Ok(b+17152|0)|0)){Gn(d);break}f=dr()|0;Ib(f,b);Gn(d);if(f|0){e=f;return e|0}}while(0);if(!(Lt(a,42764)|0)){e=0;return e|0}e=Lb(a)|0;return e|0}function Tb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ga;Ga=Ga+1024|0;e=d;rm(e,b)|0;f=Sb(b)|0;g=c[731062]|0;h=c[405791]|0;if((f|0)==0&(g|0)!=1&(h|0)!=3){Mb(b,e);i=Sb(e)|0;j=i;k=c[731062]|0;l=c[405791]|0}else{j=f;k=g;l=h}if((j|0)==0&(k|0)!=1&(l|0)!=3){h=e+(Ms(e)|0)|0;a[h>>0]=a[57293]|0;a[h+1>>0]=a[57294]|0;a[h+2>>0]=a[57295]|0;a[h+3>>0]=a[57296]|0;a[h+4>>0]=a[57297]|0;h=Sb(e)|0;m=h;n=c[731062]|0;o=c[405791]|0}else{m=j;n=k;o=l}if((m|0)==0&(n|0)!=1&(o|0)!=3){rm(e,b)|0;b=e+(Ms(e)|0)|0;a[b>>0]=a[57293]|0;a[b+1>>0]=a[57294]|0;a[b+2>>0]=a[57295]|0;a[b+3>>0]=a[57296]|0;a[b+4>>0]=a[57297]|0;p=Sb(e)|0}else p=m;if(!p){q=1;Ga=d;return q|0}Pb(p,e);q=0;Ga=d;return q|0}function Ub(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if(Cs(b,2928608)|0){rm(2928608,b)|0;g=30-(c[732417]|0)|0;h=(g|0)<30?g:30;c[732416]=(h|0)>0?h:0;c[732417]=28}h=Sb(b)|0;if(!h){if(!(Lt(b,42769)|0)){i=1;return i|0}g=Fn(b,59673)|0;if(!g){i=1;return i|0}b=dr()|0;j=mp(17152)|0;Eu(j|0,0,17152)|0;vn(j,1,17152,g)|0;g=0;do{ek(0,b,g,a[j+g>>0]|0);g=g+1|0}while((g|0)!=17152);op(j);if(!b){i=1;return i|0}else k=b}else k=h;if((f|0)>0){h=0;do{b=c[733490]|0;ek(2779320,b,h+d|0,fk(0,k,h+e|0)|0);h=h+1|0}while((h|0)!=(f|0))}er(k);i=0;return i|0}function Vb(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=Ga;Ga=Ga+1040|0;k=j+1024|0;l=j;c[k>>2]=b;as(l,55049,k)|0;do if(!(Lt(1693844,l)|0)){k=0;m=0;a:while(1){switch(a[1693844+m>>0]|0){case 0:{break a;break}case 124:{n=k+1|0;break}default:n=k}k=n;m=m+1|0}if((k|0)>255){o=3;Ga=j;return o|0}else{Ws(1693844,l)|0;break}}while(0);rm(2928608,b)|0;c[732416]=30;l=gr(b)|0;if(!l){n=dr()|0;if(!i)p=n;else{Eu(n+44600|0,0,2144)|0;p=n}}else p=l;l=(g|0)>0;if(l)if(!h){h=0;do{ek(0,p,h+e|0,fk(2779320,c[733490]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}else{h=0;do{n=h+e|0;m=h+f|0;ek(0,p,n,fk(2779320,c[733490]|0,m)|0);q=c[17264]|0;ek(0,q,n,fk(2779320,c[733490]|0,m)|0);h=h+1|0}while((h|0)!=(g|0))}if(i|0?(i=g+e|0,l):0){l=e;do{e=((l|0)/8|0)+(p+44600)|0;a[e>>0]=1<<(l&7)|d[e>>0];l=l+1|0}while((l|0)<(i|0))}i=ir(p,b)|0;er(p);o=(i|0)==0?0:2;Ga=j;return o|0}function Wb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ga;Ga=Ga+3104|0;e=d+3080|0;f=d+3072|0;g=d+2048|0;h=d+1024|0;i=d;if(!(a[2923100]|0))if(!b){bb(42800,1500);Ga=d;return}else{tg(42774);Ga=d;return}Qq(57373,g);if(Lt(2923100,g)|0)if(!b){bb(42859,1500);Ga=d;return}else{tg(42832);Ga=d;return}if(Ob(2923100)|0)if(!b){bb(42903,1500);Ga=d;return}else{tg(42891);Ga=d;return}Mn(2923100,g,h,i);c[f>>2]=h;c[f+4>>2]=i;as(1470512,54432,f)|0;if(!b){bb(1470512,1e3);Ga=d;return}b=Ms(2920020)|0;f=(_r(g,2920020,b)|0)==0;j=f?g+(b+-1)|0:g;if((a[j>>0]|0)==47){g=Ms(2921044)|0;b=(_r(j+1|0,2921044,g)|0)==0;k=b?j+(g+1)|0:j}else k=j;c[e>>2]=k;c[e+4>>2]=h;c[e+8>>2]=i;as(1470512,42921,e)|0;tg(1470512);Ga=d;return}function Xb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=Ga;Ga=Ga+128|0;d=b+64|0;e=b;if(!(a[2923100]|0)){Ga=b;return}f=Sb(2923100)|0;if(!f){Ga=b;return}Qb(f);g=c[(c[f+8>>2]|0)+16>>2]|0;h=0;i=32;while(1){j=c[g+(i<<2)>>2]|0;k=0;l=h;do{l=(a[j+k>>0]|0)==0?l:1;k=k+1|0}while((k|0)!=128);i=i+1|0;if((i|0)==64)break;else h=l}if(!l)mh(f);else nh(f);Eb(f,d);Eb(c[17264]|0,e);if((Cs(d,e)|0?Cs(d,2924124)|0:0)?Cs(d,2924206)|0:0){bb(42934,1e3);Pb(f,2923100);Ga=b;return}er(f);Ga=b;return}function Yb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ga;Ga=Ga+2064|0;f=e+2056|0;g=e+2048|0;h=e+1024|0;i=e;j=c[405830]|0;k=(j|0)<32?j:32;j=(k|0)>1?k:1;k=(d|0)<32?d:32;l=(k|0)>1?k:1;k=0;while(1){c[g>>2]=Ul()|0;c[g+4>>2]=k;as(h,42958,g)|0;Sq(h,i);if(!(sq(i)|0))break;else k=k+1|0}k=(d|0)>0?l:j;j=B(c[b>>2]|0,k)|0;l=Km(j,B(c[b+4>>2]|0,k)|0,8)|0;k=l+4|0;Qm(b,l,0,0,c[l>>2]|0,c[k>>2]|0,0);if((c[k>>2]|0)<=0){c[f>>2]=i;as(1465904,42970,f)|0;vm(1465904);Qn(i,l)|0;Gb(i,40932,128,128);Lm(l)|0;m=sq(i)|0;n=(m|0)==0;o=n&1;Ga=e;return o|0}b=l+16|0;j=0;d=c[l>>2]|0;while(1){if((d|0)>0){h=0;g=d;while(1){p=(c[(c[b>>2]|0)+(j<<2)>>2]|0)+h|0;if(!(a[p>>0]|0)){a[p>>0]=16;q=c[l>>2]|0}else q=g;h=h+1|0;if((h|0)>=(q|0)){r=q;break}else g=q}}else r=d;j=j+1|0;if((j|0)>=(c[k>>2]|0))break;else d=r}c[f>>2]=i;as(1465904,42970,f)|0;vm(1465904);Qn(i,l)|0;Gb(i,40932,128,128);Lm(l)|0;m=sq(i)|0;n=(m|0)==0;o=n&1;Ga=e;return o|0}function Zb(){c[515134]=0;return}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ga;Ga=Ga+16|0;e=d;f=c[515134]|0;if((f|0)==64){Ga=d;return}c[515134]=f+1;rm(137552+(f*297|0)+41|0,b)|0;g=137552+(f*297|0)|0;Eb(a,g);f=Ms(c[a>>2]|0)|0;c[e>>2]=b;c[e+4>>2]=f;c[e+8>>2]=g;as(1465904,42996,e)|0;vm(1465904);e=br(b,58535)|0;if(!e){vm(43035);Ga=d;return}else{hr(a,e)|0;Gn(e);Ga=d;return}}function $b(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ga;Ga=Ga+1024|0;f=e;g=c[515134]|0;if((g|0)<=0){h=0;Ga=e;return h|0}a:do if(d){i=0;while(1){j=137552+(i*297|0)+41|0;if(!(Cs(b,j)|0)){k=i;break a}Mb(b,f);if(!(Cs(f,j)|0)){l=10;break}m=f+(Ms(f)|0)|0;a[m>>0]=a[57293]|0;a[m+1>>0]=a[57294]|0;a[m+2>>0]=a[57295]|0;a[m+3>>0]=a[57296]|0;a[m+4>>0]=a[57297]|0;if(!(Cs(f,j)|0)){l=12;break}j=i+1|0;if((j|0)<(c[515134]|0))i=j;else{h=0;l=14;break}}if((l|0)==10){h=137552+(i*297|0)|0;Ga=e;return h|0}else if((l|0)==12){h=137552+(i*297|0)|0;Ga=e;return h|0}else if((l|0)==14){Ga=e;return h|0}}else{j=0;while(1){if(!(Cs(b,137552+(j*297|0)+41|0)|0)){k=j;break a}j=j+1|0;if((j|0)>=(g|0)){h=0;break}}Ga=e;return h|0}while(0);h=137552+(k*297|0)|0;Ga=e;return h|0}function ac(){return 0}function bc(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Ga;Ga=Ga+128|0;d=b+64|0;e=b;if(!(a[2923100]|0)){f=0;Ga=b;return f|0}g=Sb(2923100)|0;if(!g){f=0;Ga=b;return f|0}Qb(g);h=c[(c[g+8>>2]|0)+16>>2]|0;i=0;j=32;while(1){k=c[h+(j<<2)>>2]|0;l=0;m=i;do{m=(a[k+l>>0]|0)==0?m:1;l=l+1|0}while((l|0)!=128);j=j+1|0;if((j|0)==64)break;else i=m}if(!m)mh(g);else nh(g);Eb(g,d);Eb(c[17264]|0,e);er(g);if(!(Cs(d,e)|0)){f=0;Ga=b;return f|0}if(!(Cs(d,2924124)|0)){f=0;Ga=b;return f|0}f=(Cs(d,2924206)|0)!=0&1;Ga=b;return f|0}function cc(a){a=a|0;return 0}function dc(){var b=0,d=0,e=0,f=0,g=0;if(!(a[2062828]|0)){a[2062828]=0;return}b=Sb(2062828)|0;if(b|0){er(b);bb(43075,2e3);a[2062828]=0;return}if(Lt(2062828,43088)|0){bb(43096,2e3);a[2062828]=0;return}if(!(Lt(2062828,57293)|0)){if(!(a[2062828]|0)){a[2062828]=0;return}b=Tn(2062828)|0;if((c[b+16>>2]|0)>262144)bb(43147,2e3);else km(b);rp(b);a[2062828]=0;return}b=Pn(2062828)|0;if(!b){a[2062828]=0;return}eh();d=b+4|0;e=Km(c[b>>2]|0,c[d>>2]|0,8)|0;$j(b,e,c[694819]|0);do if((c[732408]|0)!=1&(c[732409]|0)==2){f=c[749958]|0;g=(f|0)/16|0;vo(e,c[(c[17264]|0)+4>>2]|0,0,0,f-(g<<4)<<3,g<<3,c[b>>2]|0,c[d>>2]|0)}else{if((c[e>>2]|0)<=128?(c[e+4>>2]|0)<=128:0){lm(e);break}bb(43118,2e3)}while(0);Lm(b)|0;Lm(e)|0;a[2062828]=0;return}function ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ga;Ga=Ga+16|0;e=c[a+32>>2]|0;if((e|0)>1e6)gc(a,6);f=(c[b>>2]|0)+5+((c[a+8>>2]|0)-(c[a+28>>2]|0)>>3)|0;b=e<<1;e=(b|0)<1e6?b:1e6;b=(e|0)<(f|0)?f:e;if((b|0)>1e6){hc(a,1000200);ic(a,43241,d)}else{hc(a,b);Ga=d;return}}function fc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=Ga;Ga=Ga+176|0;g=4;h=Br(40)|0;c[h>>2]=0;i=f;l=a+38|0;m=b[l>>1]|0;n=i+160|0;c[n>>2]=0;o=a+64|0;c[i>>2]=c[o>>2];c[o>>2]=i;h=Au(i+4|0,1,h|0,g|0)|0;g=G()|0;j=0;p=j;j=0;if((p|0)!=0&(k|0)!=0){q=Bu(c[p>>2]|0,h|0,g|0)|0;if(!q)Ba(p|0,k|0);F(k|0)}else q=-1;p=G()|0;if((q|0)==1)r=p;else r=0;do{if(r|0){s=6;break}j=0;H(d|0,a|0,e|0);p=j;j=0;if((p|0)!=0&(k|0)!=0){t=Bu(c[p>>2]|0,h|0,g|0)|0;if(!t)Ba(p|0,k|0);F(k|0)}else t=-1;r=G()|0}while((t|0)==1);if((s|0)==6){u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;Cr(h|0);Ga=f;return v|0}u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;Cr(h|0);Ga=f;return v|0}function gc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+64>>2]|0;if(e|0){c[e+160>>2]=d;Ba(e+4|0,1)}a[b+6>>0]=d;e=b+12|0;f=c[e>>2]|0;g=c[f+144>>2]|0;if(c[g+64>>2]|0){h=c[b+8>>2]|0;i=g+8|0;g=c[i>>2]|0;c[i>>2]=g+8;c[g>>2]=c[h+-8>>2];c[g+4>>2]=c[h+-4>>2];gc(c[(c[e>>2]|0)+144>>2]|0,d)}d=c[f+140>>2]|0;if(!d)ja();Ja[d&255](b)|0;ja()}function hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+28|0;f=c[e>>2]|0;g=b+32|0;h=c[g>>2]|0;if((d+1|0)>>>0>536870911)tc(b);i=h<<3;j=d<<3;k=c[b+12>>2]|0;l=(f|0)==0;m=k+4|0;n=Ma[c[k>>2]&1](c[m>>2]|0,f,i,j)|0;if((j|0)!=0&(n|0)==0){if(!(a[k+51>>0]|0))gc(b,4);sc(b,1);o=Ma[c[k>>2]&1](c[m>>2]|0,f,i,j)|0;if(!o)gc(b,4);else p=o}else p=n;n=k+12|0;c[n>>2]=(l?0:0-i|0)+j+(c[n>>2]|0);c[e>>2]=p;if((h|0)<(d|0)){n=h;do{c[p+(n<<3)+4>>2]=0;n=n+1|0}while((n|0)!=(d|0))}c[g>>2]=d;c[b+24>>2]=p+(d<<3)+-40;d=b+8|0;g=f;c[d>>2]=p+((c[d>>2]|0)-g>>3<<3);d=c[b+56>>2]|0;if(d|0?(f=d+8|0,c[f>>2]=p+((c[f>>2]|0)-g>>3<<3),f=c[d>>2]|0,f|0):0){d=f;do{f=d+8|0;c[f>>2]=(c[e>>2]|0)+((c[f>>2]|0)-g>>3<<3);d=c[d>>2]|0}while((d|0)!=0)}d=c[b+16>>2]|0;if(!d)return;b=d;do{d=b+4|0;f=c[e>>2]|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3);c[b>>2]=f+((c[b>>2]|0)-g>>3<<3);if(a[b+18>>0]&1){d=b+24|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3)}b=c[b+8>>2]|0}while((b|0)!=0);return}function ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=d;kc(a,jc(a,b,f)|0);lc(a)}function jc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;f=Ga;Ga=Ga+80|0;g=f+64|0;h=f+56|0;i=f+48|0;j=f+40|0;k=f;l=Ys(d,37)|0;m=b+24|0;n=b+8|0;o=c[n>>2]|0;p=(c[m>>2]|0)-o|0;q=o;do if(l){r=b+32|0;s=b+28|0;t=0;u=d;v=p;w=q;x=o;y=l;a:while(1){if((v|0)<24){z=c[r>>2]|0;if((z|0)>1e6){A=5;break}B=(x-(c[s>>2]|0)>>3)+7|0;C=z<<1;z=(C|0)<1e6?C:1e6;C=(z|0)<(B|0)?B:z;if((C|0)>1e6){A=7;break}hc(b,C);D=c[n>>2]|0}else D=w;c[n>>2]=D+8;C=hd(b,u,y-u|0)|0;c[D>>2]=C;c[D+4>>2]=(a[C+4>>0]|64)&255;E=a[y+1>>0]|0;switch(E<<24>>24|0){case 115:{C=(c[e>>2]|0)+(4-1)&~(4-1);z=c[C>>2]|0;c[e>>2]=C+4;C=(z|0)==0?67707:z;z=Ms(C)|0;B=c[n>>2]|0;c[n>>2]=B+8;F=hd(b,C,z)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 99:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;a[k>>0]=B;B=c[n>>2]|0;c[n>>2]=B+8;F=Mc(b,k,1)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 100:{F=c[n>>2]|0;c[n>>2]=F+8;B=(c[e>>2]|0)+(4-1)&~(4-1);z=c[B>>2]|0;c[e>>2]=B+4;c[F>>2]=z;c[F+4>>2]=3;break}case 102:{F=c[n>>2]|0;c[n>>2]=F+8;z=(c[e>>2]|0)+(4-1)&~(4-1);B=c[z>>2]|0;c[e>>2]=z+4;c[F>>2]=B;c[F+4>>2]=3;break}case 112:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;c[i>>2]=B;B=as(k,43866,i)|0;F=c[n>>2]|0;c[n>>2]=F+8;z=hd(b,k,B)|0;c[F>>2]=z;c[F+4>>2]=(a[z+4>>0]|64)&255;break}case 37:{z=c[n>>2]|0;c[n>>2]=z+8;F=Mc(b,43871,1)|0;c[z>>2]=F;c[z+4>>2]=(a[F+4>>0]|64)&255;break}default:{A=16;break a}}G=t+2|0;H=y+2|0;F=Ys(H,37)|0;I=c[n>>2]|0;J=(c[m>>2]|0)-I|0;if(!F){A=18;break}else{t=G;u=H;v=J;w=I;x=I;y=F}}if((A|0)==5)gc(b,6);else if((A|0)==7){hc(b,1000200);ic(b,43241,j)}else if((A|0)==16){c[h>>2]=E<<24>>24;ic(b,43873,h)}else if((A|0)==18){K=H;L=G;M=J;N=I;O=I;break}}else{K=d;L=0;M=p;N=o;O=q}while(0);do if((M|0)<16){q=c[b+32>>2]|0;if((q|0)>1e6)gc(b,6);o=(N-(c[b+28>>2]|0)>>3)+6|0;p=q<<1;q=(p|0)<1e6?p:1e6;p=(q|0)<(o|0)?o:q;if((p|0)>1e6){hc(b,1000200);ic(b,43241,g)}else{hc(b,p);P=c[n>>2]|0;break}}else P=O;while(0);O=Ms(K)|0;c[n>>2]=P+8;g=hd(b,K,O)|0;c[P>>2]=g;c[P+4>>2]=(a[g+4>>0]|64)&255;if(!L){Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Ga=f;return T|0}zc(b,L|1);Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Ga=f;return T|0}function kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=Ga;Ga=Ga+80|0;f=e+64|0;g=e;h=c[b+16>>2]|0;if(!(a[h+18>>0]&1)){Ga=e;return}i=c[(c[c[h>>2]>>2]|0)+12>>2]|0;j=c[i+20>>2]|0;if(!j)k=0;else k=c[j+(((c[h+28>>2]|0)-(c[i+12>>2]|0)>>2)+-1<<2)>>2]|0;h=c[i+36>>2]|0;a:do if(!h){a[g>>0]=63;a[g+1>>0]=0}else{i=h+16|0;j=Ms(i)|0;switch(a[i>>0]|0){case 61:{l=i+1|0;if(j>>>0>60){m=g;n=l;o=m+59|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[g+59>>0]=0;break a}else{Du(g|0,l|0,j|0)|0;break a}break}case 64:{if(j>>>0>60){a[g>>0]=a[43846]|0;a[g+1>>0]=a[43847]|0;a[g+2>>0]=a[43848]|0;m=g+3|0;n=i+1+j+-57|0;o=m+57|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));break a}else{Du(g|0,i+1|0,j|0)|0;break a}break}default:{l=Ys(i,10)|0;m=g;n=43850;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));p=g+9|0;q=(l|0)==0;if(j>>>0<45&q){Du(p|0,i|0,j|0)|0;r=p+j|0}else{s=q?j:l-i|0;q=s>>>0<45?s:45;Du(p|0,i|0,q|0)|0;s=p+q|0;a[s>>0]=a[43846]|0;a[s+1>>0]=a[43847]|0;a[s+2>>0]=a[43848]|0;r=s+3|0};a[r>>0]=a[43860]|0;a[r+1>>0]=a[43861]|0;a[r+2>>0]=a[43862]|0;break a}}}while(0);c[f>>2]=d;gd(b,43863,f)|0;c[515137]=k;Ga=e;return}function lc(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=Ga;Ga=Ga+16|0;e=d;d=c[a+68>>2]|0;if(!d)gc(a,2);f=(c[a+28>>2]|0)+d|0;d=f+4|0;if((c[d>>2]&15|0)!=6)gc(a,6);g=a+8|0;h=c[g>>2]|0;c[h>>2]=c[h+-8>>2];c[h+4>>2]=c[h+-4>>2];h=c[g>>2]|0;c[h+-8>>2]=c[f>>2];c[h+-4>>2]=c[d>>2];d=c[g>>2]|0;c[g>>2]=d+8;g=d+-8|0;d=a+38|0;h=(b[d>>1]|0)+1<<16>>16;b[d>>1]=h;if((h&65535)>199){if(h<<16>>16==200)ic(a,43256,e);if((h&65535)>224)gc(a,6)}h=a+36|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if(!(mc(a,g,1)|0))nc(a);b[h>>1]=(b[h>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;gc(a,2)}function mc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;h=Ga;Ga=Ga+144|0;i=h+32|0;j=h+24|0;k=h+16|0;l=h+8|0;m=h;n=h+36|0;o=e+28|0;p=c[o>>2]|0;q=f;r=q-p|0;s=c[f+4>>2]|0;switch(s&63){case 22:{t=f;break}case 38:{t=(c[f>>2]|0)+12|0;break}case 6:{u=c[(c[f>>2]|0)+12>>2]|0;v=e+8|0;w=c[v>>2]|0;x=w-q>>3;q=x+-1|0;y=e+24|0;z=u+78|0;A=d[z>>0]|0;do if(((c[y>>2]|0)-w>>3|0)<=(A|0)){B=c[e+32>>2]|0;if((B|0)>1e6)gc(e,6);C=(w-p>>3)+5+A|0;D=B<<1;B=(D|0)<1e6?D:1e6;D=(B|0)<(C|0)?C:B;if((D|0)>1e6){hc(e,1000200);ic(e,43241,l)}else{hc(e,D);break}}while(0);l=a[u+76>>0]|0;A=l&255;if((x|0)>(A|0))E=q;else{x=q;q=c[v>>2]|0;do{w=q;q=q+8|0;c[w+4>>2]=0;x=x+1|0}while((x|0)<(A|0));c[v>>2]=q;E=x}if(!(a[u+77>>0]|0)){x=(c[o>>2]|0)+r|0;F=x+8|0;G=x}else{x=c[v>>2]|0;q=d[z>>0]|0;do if(((c[y>>2]|0)-x>>3|0)<=(q|0)){w=c[e+32>>2]|0;if((w|0)>1e6)gc(e,6);D=q+5+(x-(c[o>>2]|0)>>3)|0;B=w<<1;w=(B|0)<1e6?B:1e6;B=(w|0)<(D|0)?D:w;if((B|0)>1e6){hc(e,1000200);ic(e,43241,k)}else{hc(e,B);H=c[v>>2]|0;break}}else H=x;while(0);x=0-E|0;E=H+(x<<3)|0;if(l<<24>>24?(c[v>>2]=H+8,c[H>>2]=c[E>>2],k=H+(x<<3)+4|0,c[H+4>>2]=c[k>>2],c[k>>2]=0,l<<24>>24!=1):0){l=1;do{k=c[v>>2]|0;x=E+(l<<3)|0;c[v>>2]=k+8;c[k>>2]=c[x>>2];q=x+4|0;c[k+4>>2]=c[q>>2];c[q>>2]=0;l=l+1|0}while((l|0)!=(A|0))}F=H;G=(c[o>>2]|0)+r|0}H=e+16|0;A=c[(c[H>>2]|0)+12>>2]|0;l=e+12|0;if(!A){E=c[l>>2]|0;q=E+4|0;k=Ma[c[E>>2]&1](c[q>>2]|0,0,0,40)|0;if(!k){if(!(a[E+51>>0]|0))gc(e,4);sc(e,1);x=Ma[c[E>>2]&1](c[q>>2]|0,0,0,40)|0;if(!x)gc(e,4);else I=x}else I=k;k=E+12|0;c[k>>2]=(c[k>>2]|0)+40;k=c[H>>2]|0;c[k+12>>2]=I;c[I+8>>2]=k;c[I+12>>2]=0;J=I}else J=A;c[H>>2]=J;b[J+16>>1]=g;c[J>>2]=G;c[J+24>>2]=F;G=F+(d[z>>0]<<3)|0;c[J+4>>2]=G;z=J+28|0;c[z>>2]=c[u+12>>2];u=J+18|0;a[u>>0]=1;c[v>>2]=G;G=c[l>>2]|0;l=G+12|0;F=c[l>>2]|0;do if((F|0)>0)if(!(a[G+51>>0]|0)){A=G+8|0;c[A>>2]=F+1600+(c[A>>2]|0);c[l>>2]=-1600;break}else{wc(e);break}while(0);if(!(a[e+40>>0]&1)){K=0;Ga=h;return K|0}l=(c[z>>2]|0)+4|0;c[z>>2]=l;F=c[J+8>>2]|0;if((a[F+18>>0]&1)!=0?(c[(c[F+28>>2]|0)+-4>>2]&63|0)==43:0){a[u>>0]=a[u>>0]|64;L=4}else L=0;u=c[e+52>>2]|0;if((u|0)!=0?(F=e+41|0,(a[F>>0]|0)!=0):0){J=c[H>>2]|0;H=c[v>>2]|0;G=c[o>>2]|0;A=H-G|0;I=J+4|0;k=(c[I>>2]|0)-G|0;c[n>>2]=L;c[n+20>>2]=-1;c[n+96>>2]=J;L=H;do if(((c[y>>2]|0)-H|0)<168){G=c[e+32>>2]|0;if((G|0)>1e6)gc(e,6);E=(A>>3)+25|0;x=G<<1;G=(x|0)<1e6?x:1e6;x=(G|0)<(E|0)?E:G;if((x|0)>1e6){hc(e,1000200);ic(e,43241,j)}else{hc(e,x);M=c[v>>2]|0;break}}else M=L;while(0);c[I>>2]=M+160;a[F>>0]=0;M=J+18|0;a[M>>0]=a[M>>0]|2;Pa[u&7](e,n);a[F>>0]=1;F=c[o>>2]|0;c[I>>2]=F+k;c[v>>2]=F+A;a[M>>0]=a[M>>0]&-3;N=c[z>>2]|0}else N=l;c[z>>2]=N+-4;K=0;Ga=h;return K|0}default:{switch(s&15){case 5:{O=(c[f>>2]|0)+8|0;break}case 7:{O=(c[f>>2]|0)+8|0;break}default:O=(c[e+12>>2]|0)+276+((s&15)<<2)|0}s=c[O>>2]|0;a:do if(!s)P=2060540;else{O=c[(c[e+12>>2]|0)+272>>2]|0;N=(c[s+16>>2]|0)+(((1<<d[s+7>>0])+-1&c[O+8>>2])*20|0)|0;while(1){if((c[N+12>>2]|0)==68?(c[N+8>>2]|0)==(O|0):0)break;z=c[N+16>>2]|0;if(!z){P=2060540;break a}else N=z}P=N}while(0);s=P+4|0;if((c[s>>2]&15|0)!=6)Oc(e,f,43841);O=e+8|0;z=c[O>>2]|0;if(z>>>0>f>>>0){l=z;do{M=l;l=l+-8|0;c[M>>2]=c[l>>2];c[M+4>>2]=c[M+-4>>2]}while(l>>>0>f>>>0);Q=c[O>>2]|0}else Q=z;z=Q+8|0;c[O>>2]=z;O=z;do if(((c[e+24>>2]|0)-O|0)<8){z=c[e+32>>2]|0;if((z|0)>1e6)gc(e,6);Q=(O-(c[o>>2]|0)>>3)+5|0;f=z<<1;z=(f|0)<1e6?f:1e6;f=(z|0)<(Q|0)?Q:z;if((f|0)>1e6){hc(e,1000200);ic(e,43241,i)}else{hc(e,f);break}}while(0);i=(c[o>>2]|0)+r|0;c[i>>2]=c[P>>2];c[i+4>>2]=c[s>>2];K=mc(e,i,g)|0;Ga=h;return K|0}}i=c[t>>2]|0;t=e+8|0;s=c[t>>2]|0;do if(((c[e+24>>2]|0)-s|0)<168){P=c[e+32>>2]|0;if((P|0)>1e6)gc(e,6);O=(s-p>>3)+25|0;f=P<<1;P=(f|0)<1e6?f:1e6;f=(P|0)<(O|0)?O:P;if((f|0)>1e6){hc(e,1000200);ic(e,43241,m)}else{hc(e,f);break}}while(0);m=e+16|0;p=c[(c[m>>2]|0)+12>>2]|0;s=e+12|0;if(!p){f=c[s>>2]|0;P=f+4|0;O=Ma[c[f>>2]&1](c[P>>2]|0,0,0,40)|0;if(!O){if(!(a[f+51>>0]|0))gc(e,4);sc(e,1);z=Ma[c[f>>2]&1](c[P>>2]|0,0,0,40)|0;if(!z)gc(e,4);else R=z}else R=O;O=f+12|0;c[O>>2]=(c[O>>2]|0)+40;O=c[m>>2]|0;c[O+12>>2]=R;c[R+8>>2]=O;c[R+12>>2]=0;S=R}else S=p;c[m>>2]=S;b[S+16>>1]=g;c[S>>2]=(c[o>>2]|0)+r;c[S+4>>2]=(c[t>>2]|0)+160;a[S+18>>0]=0;S=c[s>>2]|0;s=S+12|0;r=c[s>>2]|0;do if((r|0)>0)if(!(a[S+51>>0]|0)){o=S+8|0;c[o>>2]=r+1600+(c[o>>2]|0);c[s>>2]=-1600;break}else{wc(e);break}while(0);if(a[e+40>>0]&1)Ec(e,0,-1);s=Ja[i&255](e)|0;fd(e,(c[t>>2]|0)+(0-s<<3)|0)|0;K=1;Ga=h;return K|0}function nc(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0;f=Ga;Ga=Ga+64|0;g=f+40|0;h=f+32|0;i=f+24|0;j=f+16|0;k=f+8|0;l=f;m=f+48|0;n=e+16|0;o=e+12|0;p=e+8|0;q=e+38|0;r=e+24|0;s=e+40|0;t=e+32|0;u=e+28|0;v=e+20|0;w=m+4|0;x=c[n>>2]|0;a:while(1){y=c[c[x>>2]>>2]|0;z=y+12|0;A=c[(c[z>>2]|0)+8>>2]|0;B=x+24|0;C=x+28|0;D=x+4|0;E=x+4|0;F=x+4|0;G=x+4|0;H=x+4|0;I=x+4|0;J=x+4|0;K=c[x+24>>2]|0;b:while(1){L=c[C>>2]|0;c[C>>2]=L+4;M=c[L>>2]|0;if((c[515140]|0)==0?(c[515139]|0)<=(c[8676]|0):0)N=K;else{c[515141]=1;O=c[n>>2]|0;P=O+18|0;L=d[P>>0]|0;if(!(L&128)){Q=6;break a}a[P>>0]=L&127;N=c[B>>2]|0}L=c[515139]|0;c[515139]=L+2;R=M>>>6&255;S=N+(R<<3)|0;c:do switch(M&63){case 44:{Q=230;break b;break}case 0:{T=M>>>23;c[S>>2]=c[N+(T<<3)>>2];c[N+(R<<3)+4>>2]=c[N+(T<<3)+4>>2];U=N;break}case 1:{T=M>>>14;c[S>>2]=c[A+(T<<3)>>2];c[N+(R<<3)+4>>2]=c[A+(T<<3)+4>>2];U=N;break}case 2:{T=c[C>>2]|0;c[C>>2]=T+4;V=(c[T>>2]|0)>>>6;c[S>>2]=c[A+(V<<3)>>2];c[N+(R<<3)+4>>2]=c[A+(V<<3)+4>>2];U=N;break}case 3:{c[S>>2]=M>>>23;c[N+(R<<3)+4>>2]=1;if(!(M&8372224))U=N;else{c[C>>2]=(c[C>>2]|0)+4;U=N}break}case 4:{V=S;T=M>>>23;while(1){c[V+4>>2]=0;if(!T){U=N;break}else{V=V+8|0;T=T+-1|0}}break}case 5:{T=c[(c[y+16+(M>>>23<<2)>>2]|0)+8>>2]|0;c[S>>2]=c[T>>2];c[N+(R<<3)+4>>2]=c[T+4>>2];U=N;break}case 6:{T=M>>>14;pc(e,c[(c[y+16+(M>>>23<<2)>>2]|0)+8>>2]|0,(M&4194304|0)==0?N+((T&511)<<3)|0:A+((T&255)<<3)|0,S);U=c[B>>2]|0;break}case 7:{T=M>>>14;pc(e,N+(M>>>23<<3)|0,(M&4194304|0)==0?N+((T&511)<<3)|0:A+((T&255)<<3)|0,S);U=c[B>>2]|0;break}case 8:{T=M>>>23;V=M>>>14;qc(e,c[(c[y+16+(R<<2)>>2]|0)+8>>2]|0,(M|0)<0?A+((T&255)<<3)|0:N+(T<<3)|0,(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0);U=c[B>>2]|0;break}case 9:{V=c[y+16+(M>>>23<<2)>>2]|0;T=c[V+8>>2]|0;c[T>>2]=c[S>>2];W=N+(R<<3)+4|0;c[T+4>>2]=c[W>>2];if(((c[W>>2]&64|0)!=0?(W=c[S>>2]|0,(a[W+5>>0]&3)!=0):0)?(T=V+5|0,V=a[T>>0]|0,(V&4)!=0):0){X=c[o>>2]|0;if((d[X+49>>0]|0)<2){rc(X,W);U=N;break c}else{a[T>>0]=a[X+48>>0]&3|V&-72;U=N;break c}}else U=N;break}case 10:{V=M>>>23;X=M>>>14;qc(e,S,(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0,(M&4194304|0)==0?N+((X&511)<<3)|0:A+((X&255)<<3)|0);U=c[B>>2]|0;break}case 11:{X=M>>>23;V=M>>>14;T=V&511;W=c[o>>2]|0;Y=W+4|0;Z=Ma[c[W>>2]&1](c[Y>>2]|0,0,5,32)|0;if(!Z){if(!(a[W+51>>0]|0)){Q=30;break a}sc(e,1);_=Ma[c[W>>2]&1](c[Y>>2]|0,0,5,32)|0;if(!_){Q=30;break a}else $=_}else $=Z;Z=W+12|0;c[Z>>2]=(c[Z>>2]|0)+32;Z=W+56|0;a[$+5>>0]=a[W+48>>0]&3;a[$+4>>0]=5;c[$>>2]=c[Z>>2];c[Z>>2]=$;c[$+8>>2]=0;a[$+6>>0]=-1;Z=$+12|0;c[Z>>2]=0;W=$+28|0;c[W>>2]=0;_=$+16|0;c[_>>2]=2060568;Y=$+7|0;a[Y>>0]=0;aa=$+20|0;c[aa>>2]=2060568;c[S>>2]=$;c[N+(R<<3)+4>>2]=69;if(T|X|0){ba=M>>>26&31;ca=(ba|0)==0?X:(X&7|8)<<ba+-1;ba=M>>>17&31;X=(ba|0)==0?T:(V&7|8)<<ba+-1;ba=c[W>>2]|0;V=a[Y>>0]|0;T=V&255;da=c[_>>2]|0;if((ba|0)<(ca|0)){if((ca+1|0)>>>0>536870911){Q=34;break a}ea=c[Z>>2]|0;fa=ba<<3;ba=ca<<3;ga=c[o>>2]|0;ha=(ea|0)==0;ia=ga+4|0;ja=Ma[c[ga>>2]&1](c[ia>>2]|0,ea,fa,ba)|0;if((ba|0)!=0&(ja|0)==0){if(!(a[ga+51>>0]|0)){Q=38;break a}sc(e,1);ka=Ma[c[ga>>2]&1](c[ia>>2]|0,ea,fa,ba)|0;if(!ka){Q=38;break a}else la=ka}else la=ja;ja=ga+12|0;c[ja>>2]=(ha?0:0-fa|0)+ba+(c[ja>>2]|0);c[Z>>2]=la;Z=c[W>>2]|0;if((Z|0)<(ca|0)){ja=Z;do{c[la+(ja<<3)+4>>2]=0;ja=ja+1|0}while((ja|0)!=(ca|0))}c[W>>2]=ca}if(!X){c[_>>2]=2060568;ma=0;na=0;oa=2060568}else{ja=X+-1|0;if(ja>>>0>255){Z=ja;ba=0;while(1){fa=ba+8|0;ha=Z>>>8;if(Z>>>0>65535){Z=ha;ba=fa}else{pa=fa;qa=ha;break}}}else{pa=0;qa=ja}ba=pa+(d[400+qa>>0]|0)|0;if((ba|0)>30){Q=49;break a}Z=1<<ba;if((Z+1|0)>>>0>214748364){Q=51;break a}X=20<<ba;ca=c[o>>2]|0;W=ca+4|0;ha=Ma[c[ca>>2]&1](c[W>>2]|0,0,0,X)|0;if(ba>>>0<30&(ha|0)==0){if(!(a[ca+51>>0]|0)){Q=55;break a}sc(e,1);fa=Ma[c[ca>>2]&1](c[W>>2]|0,0,0,X)|0;if(!fa){Q=55;break a}else ra=fa}else ra=ha;ha=ca+12|0;c[ha>>2]=(c[ha>>2]|0)+X;c[_>>2]=ra;X=0;ha=ra;do{c[ha+(X*20|0)+16>>2]=0;c[ha+(X*20|0)+12>>2]=0;c[ha+(X*20|0)+4>>2]=0;X=X+1|0;ha=c[_>>2]|0}while((X|0)<(Z|0));ma=Z;na=ba&255;oa=ha}a[Y>>0]=na;c[aa>>2]=oa+(ma*20|0);if(V<<24>>24!=31){X=1<<T;do{_=X;X=X+-1|0;ja=da+(X*20|0)+4|0;if(c[ja>>2]|0){ca=da+(X*20|0)+8|0;fa=uc($,ca)|0;if((fa|0)==2060540)sa=vc(e,$,ca)|0;else sa=fa;c[sa>>2]=c[da+(X*20|0)>>2];c[sa+4>>2]=c[ja>>2]}}while((_|0)>1)}if((da|0)!=2060568){X=20<<T;V=c[o>>2]|0;Ma[c[V>>2]&1](c[V+4>>2]|0,da,X,0)|0;aa=V+12|0;c[aa>>2]=(c[aa>>2]|0)-((da|0)==0?0:X)}}X=c[o>>2]|0;aa=X+12|0;V=c[aa>>2]|0;if((V|0)>0){c[p>>2]=S+8;if(!(a[X+51>>0]|0)){Y=X+8|0;c[Y>>2]=V+1600+(c[Y>>2]|0);c[aa>>2]=-1600}else wc(e);c[p>>2]=c[I>>2]}U=c[B>>2]|0;break}case 12:{aa=M>>>23;Y=N+(aa<<3)|0;V=S+8|0;c[V>>2]=c[Y>>2];c[V+4>>2]=c[N+(aa<<3)+4>>2];aa=M>>>14;pc(e,Y,(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0,S);U=c[B>>2]|0;break}case 13:{c[515139]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=(c[V>>2]|0)+(c[Y>>2]|0);c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,V,6);U=c[B>>2]|0;break}case 14:{c[515139]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=(c[Y>>2]|0)-(c[aa>>2]|0);c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,aa,7);U=c[B>>2]|0;break}case 15:{aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=uk(c[Y>>2]|0,c[V>>2]|0)|0;c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,V,8);U=c[B>>2]|0;break}case 16:{V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=vk(c[Y>>2]|0,c[aa>>2]|0)|0;c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,aa,9);U=c[B>>2]|0;break}case 17:{aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=wk(c[Y>>2]|0,c[V>>2]|0)|0;c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,V,10);U=c[B>>2]|0;break}case 18:{V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=xk(c[Y>>2]|0,c[aa>>2]|0)|0;c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,aa,11);U=c[B>>2]|0;break}case 19:{c[515139]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=c[V>>2]&c[Y>>2];c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,V,12);U=c[B>>2]|0;break}case 20:{c[515139]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=c[aa>>2]|c[Y>>2];c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,aa,13);U=c[B>>2]|0;break}case 21:{c[515139]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=c[V>>2]^c[Y>>2];c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,V,14);U=c[B>>2]|0;break}case 22:{c[515139]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=Hk(c[Y>>2]|0,c[aa>>2]|0)|0;c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,aa,15);U=c[B>>2]|0;break}case 23:{c[515139]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=Ik(c[Y>>2]|0,c[V>>2]|0)|0;c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,V,16);U=c[B>>2]|0;break}case 24:{c[515139]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=Gk(c[Y>>2]|0,c[aa>>2]|0)|0;c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,aa,17);U=c[B>>2]|0;break}case 25:{c[515139]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=Ek(c[Y>>2]|0,c[V>>2]|0)|0;c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,V,18);U=c[B>>2]|0;break}case 26:{c[515139]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=Fk(c[Y>>2]|0,c[aa>>2]|0)|0;c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,aa,19);U=c[B>>2]|0;break}case 27:{c[515139]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=~c[Y>>2];c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,V,20);U=c[B>>2]|0;break}case 28:{V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=(vk(c[Y>>2]|0,c[aa>>2]|0)|0)&-65536;c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,aa,21);U=c[B>>2]|0;break}case 29:{c[515139]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=lk(c[Y>>2]|0)|0;c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,V,22);U=c[B>>2]|0;break}case 30:{c[515139]=L+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=kk(c[Y>>2]|0)|0;c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,aa,23);U=c[B>>2]|0;break}case 31:{c[515139]=L+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=jk(c[Y>>2]|0)|0;c[N+(R<<3)+4>>2]=3;U=N;break c}xc(e,S,Y,V,24);U=c[B>>2]|0;break}case 32:{V=M>>>23;Y=N+(V<<3)|0;if((c[N+(V<<3)+4>>2]|0)==3){c[S>>2]=0-(c[Y>>2]|0);c[N+(R<<3)+4>>2]=3;U=N;break c}else{xc(e,S,Y,Y,25);U=c[B>>2]|0;break c}break}case 33:{Y=M>>>23;switch(c[N+(Y<<3)+4>>2]|0){case 0:{ta=1;break}case 1:{ta=(c[N+(Y<<3)>>2]|0)==0;break}default:ta=0}c[S>>2]=ta&1;c[N+(R<<3)+4>>2]=1;U=N;break}case 34:{yc(e,S,N+(M>>>23<<3)|0);U=c[B>>2]|0;break}case 35:{Y=M>>>23;V=M>>>14&511;c[p>>2]=N+(V<<3)+8;zc(e,1-Y+V|0);V=c[B>>2]|0;aa=V+(R<<3)|0;X=V+(Y<<3)|0;c[aa>>2]=c[X>>2];c[V+(R<<3)+4>>2]=c[V+(Y<<3)+4>>2];V=c[o>>2]|0;ha=V+12|0;ba=c[ha>>2]|0;if((ba|0)>0){c[p>>2]=R>>>0<Y>>>0?X:aa+8|0;if(!(a[V+51>>0]|0)){aa=V+8|0;c[aa>>2]=ba+1600+(c[aa>>2]|0);c[ha>>2]=-1600}else wc(e);ha=c[E>>2]|0;c[p>>2]=ha;ua=ha}else ua=c[D>>2]|0;ha=c[B>>2]|0;c[p>>2]=ua;U=ha;break}case 36:{if(R|0)Ac(e,(c[B>>2]|0)+(R<<3)+-8|0);c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2);U=N;break}case 37:{ha=M>>>23;aa=(M|0)<0?A+((ha&255)<<3)|0:N+(ha<<3)|0;ha=M>>>14;ba=(M&4194304|0)==0?N+((ha&511)<<3)|0:A+((ha&255)<<3)|0;if((c[aa+4>>2]|0)==(c[ba+4>>2]|0))va=(Bc(e,aa,ba)|0)!=0;else va=0;ba=c[C>>2]|0;if((R|0)==(va&1|0)){aa=c[ba>>2]|0;ha=aa>>>6&255;if(!ha)wa=ba;else{Ac(e,(c[B>>2]|0)+(ha<<3)+-8|0);wa=c[C>>2]|0}xa=wa+((aa>>>14)+-131070<<2)|0}else xa=ba+4|0;c[C>>2]=xa;U=c[B>>2]|0;break}case 38:{ba=M>>>23;aa=M>>>14;ha=(Cc(e,(M|0)<0?A+((ba&255)<<3)|0:N+(ba<<3)|0,(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0)|0)==(R|0);aa=c[C>>2]|0;if(ha){ha=c[aa>>2]|0;ba=ha>>>6&255;if(!ba)ya=aa;else{Ac(e,(c[B>>2]|0)+(ba<<3)+-8|0);ya=c[C>>2]|0}za=ya+((ha>>>14)+-131070<<2)|0}else za=aa+4|0;c[C>>2]=za;U=c[B>>2]|0;break}case 39:{aa=M>>>23;ha=M>>>14;ba=(Dc(e,(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0,(M&4194304|0)==0?N+((ha&511)<<3)|0:A+((ha&255)<<3)|0)|0)==(R|0);ha=c[C>>2]|0;if(ba){ba=c[ha>>2]|0;aa=ba>>>6&255;if(!aa)Aa=ha;else{Ac(e,(c[B>>2]|0)+(aa<<3)+-8|0);Aa=c[C>>2]|0}Ba=Aa+((ba>>>14)+-131070<<2)|0}else Ba=ha+4|0;c[C>>2]=Ba;U=c[B>>2]|0;break}case 40:{ha=c[N+(R<<3)+4>>2]|0;ba=(ha|0)==0;if(!(M&8372224)){if(!ba)if(!((ha|0)==1?!(c[S>>2]|0):0))Q=196}else if(!ba){if((ha|0)==1?(c[S>>2]|0)==0:0)Q=196}else Q=196;if((Q|0)==196){Q=0;c[C>>2]=(c[C>>2]|0)+4;U=N;break c}ha=c[C>>2]|0;ba=c[ha>>2]|0;aa=ba>>>6&255;if(!aa)Ca=ha;else{Ac(e,(c[B>>2]|0)+(aa<<3)+-8|0);Ca=c[C>>2]|0}c[C>>2]=Ca+((ba>>>14)+-131070<<2);U=N;break}case 41:{ba=M>>>23;aa=N+(ba<<3)|0;ha=c[N+(ba<<3)+4>>2]|0;ba=(ha|0)==0;if(!(M&8372224))if(!ba)if((ha|0)==1?(c[aa>>2]|0)==0:0)Q=208;else Q=207;else Q=208;else if(!ba)if((ha|0)==1?(c[aa>>2]|0)==0:0)Q=207;else Q=208;else Q=207;if((Q|0)==207){Q=0;Da=(c[C>>2]|0)+4|0}else if((Q|0)==208){Q=0;c[S>>2]=c[aa>>2];c[N+(R<<3)+4>>2]=ha;ha=c[C>>2]|0;aa=c[ha>>2]|0;ba=aa>>>6&255;if(!ba)Ea=ha;else{Ac(e,(c[B>>2]|0)+(ba<<3)+-8|0);Ea=c[C>>2]|0}Da=Ea+((aa>>>14)+-131070<<2)|0}c[C>>2]=Da;U=N;break}case 42:{aa=M>>>23;ba=M>>>14&511;if(aa|0)c[p>>2]=S+(aa<<3);if(!(mc(e,S,ba+-1|0)|0)){Q=218;break b}if(ba|0)c[p>>2]=c[G>>2];U=c[B>>2]|0;break}case 43:{ba=M>>>23;if(ba|0)c[p>>2]=S+(ba<<3);if(!(mc(e,S,-1)|0)){Q=223;break b}U=c[B>>2]|0;break}case 45:{ba=S+16|0;aa=c[ba>>2]|0;ha=(c[S>>2]|0)+aa|0;V=c[S+8>>2]|0;if(!((aa|0)<1|(ha|0)>(V|0))){c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2);c[S>>2]=ha;c[N+(R<<3)+4>>2]=3;X=S+24|0;c[X>>2]=ha;c[X+4>>2]=3;if((ha|0)<0|(aa|0)<(2147483647-ha|0)){U=N;break c}c[ba>>2]=0;c[ba+4>>2]=3;U=N;break c}if(!((aa|0)>-1|(ha|0)<(V|0))?(c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2),c[S>>2]=ha,c[N+(R<<3)+4>>2]=3,V=S+24|0,c[V>>2]=ha,c[V+4>>2]=3,(ha|0)<0&(aa|0)<(-2147483648-ha|0)):0){c[ba>>2]=0;c[ba+4>>2]=3;U=N}else U=N;break}case 46:{ba=S+8|0;ha=S+16|0;aa=N+(R<<3)+4|0;V=c[aa>>2]|0;if((V|0)!=3){if((V&15|0)!=4){Q=259;break a}V=c[S>>2]|0;if(!(Fc(V+16|0,c[V+12>>2]|0,m)|0)){Q=259;break a}c[S>>2]=c[m>>2];c[aa>>2]=3}V=ba+4|0;X=c[V>>2]|0;if((X|0)!=3){if((X&15|0)!=4){Q=264;break a}X=c[ba>>2]|0;if(!(Fc(X+16|0,c[X+12>>2]|0,m)|0)){Q=264;break a}c[ba>>2]=c[m>>2];c[V>>2]=3}V=ha+4|0;ba=c[V>>2]|0;if((ba|0)==3)Fa=ha;else{if((ba&15|0)!=4){Q=270;break a}ba=c[ha>>2]|0;if(!(Fc(ba+16|0,c[ba+12>>2]|0,m)|0)){Q=270;break a}c[ha>>2]=c[m>>2];c[V>>2]=3;Fa=ha}c[S>>2]=(c[S>>2]|0)-(c[Fa>>2]|0);c[aa>>2]=3;c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2);U=N;break}case 47:{aa=S+24|0;ha=S+16|0;V=aa+16|0;c[V>>2]=c[ha>>2];c[V+4>>2]=c[ha+4>>2];ha=S+8|0;V=aa+8|0;c[V>>2]=c[ha>>2];c[V+4>>2]=c[ha+4>>2];c[aa>>2]=c[S>>2];c[aa+4>>2]=c[N+(R<<3)+4>>2];c[p>>2]=aa+24;ha=M>>>14&511;V=(b[q>>1]|0)+1<<16>>16;b[q>>1]=V;if((V&65535)>199){if(V<<16>>16==200){Q=274;break a}if((V&65535)>224){Q=276;break a}}if(!(mc(e,aa,ha)|0))nc(e);b[q>>1]=(b[q>>1]|0)+-1<<16>>16;ha=c[B>>2]|0;c[p>>2]=c[F>>2];aa=c[C>>2]|0;c[C>>2]=aa+4;V=c[aa>>2]|0;Ha=V;Ia=ha+((V>>>6&255)<<3)|0;Ja=ha;Q=280;break}case 48:{Ha=M;Ia=S;Ja=N;Q=280;break}case 49:{ha=M>>>23;V=M>>>14&511;if(!ha)Ka=((c[p>>2]|0)-S>>3)+-1|0;else Ka=ha;if(!V){ha=c[C>>2]|0;c[C>>2]=ha+4;La=(c[ha>>2]|0)>>>6}else La=V;V=c[S>>2]|0;ha=Ka+-50+(La*50|0)|0;aa=V+28|0;if((ha|0)>(c[aa>>2]|0)){if((c[V+16>>2]|0)==2060568)Na=0;else Na=1<<d[V+7>>0];Gc(e,V,ha,Na)}if((Ka|0)>0){ba=V+12|0;X=V+16|0;Y=V+7|0;Z=V+5|0;_=V+24|0;ja=ha;ha=Ka;while(1){fa=S+(ha<<3)|0;ca=ja;ja=ja+-1|0;d:do if(ja>>>0<(c[aa>>2]|0)>>>0){Oa=(c[ba>>2]|0)+(ja<<3)|0;Q=299}else{W=ca<<16;ga=0-W|0;ka=(c[X>>2]|0)+(((((W|0)<0?((W|0)==(ga|0)?0:ga):W)|0)%((1<<d[Y>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[ka+12>>2]|0)==3?(c[ka+8>>2]|0)==(W|0):0)break;ga=c[ka+16>>2]|0;if(!ga){Pa=W;Q=301;break d}else ka=ga}Oa=ka;Q=299}while(0);if((Q|0)==299){Q=0;if((Oa|0)==2060540){Pa=ca<<16;Q=301}else Qa=Oa}if((Q|0)==301){Q=0;c[m>>2]=Pa;c[w>>2]=3;Qa=vc(e,V,m)|0}c[Qa>>2]=c[fa>>2];W=fa+4|0;c[Qa+4>>2]=c[W>>2];if((c[W>>2]&64|0?a[(c[fa>>2]|0)+5>>0]&3:0)?(W=a[Z>>0]|0,W&4):0){ga=c[o>>2]|0;a[Z>>0]=W&-5;W=ga+76|0;c[_>>2]=c[W>>2];c[W>>2]=V}if((ha|0)<=1)break;else ha=ha+-1|0}}c[p>>2]=c[J>>2];U=N;break}case 50:{ha=c[(c[(c[z>>2]|0)+16>>2]|0)+(M>>>14<<2)>>2]|0;V=ha+32|0;_=c[V>>2]|0;Z=c[ha+40>>2]|0;Y=c[ha+28>>2]|0;e:do if(!_)Q=316;else{if((Z|0)>0){X=_+16|0;ja=0;do{ba=d[Y+(ja<<3)+5>>0]|0;if(!(a[Y+(ja<<3)+4>>0]|0))Ra=c[(c[y+16+(ba<<2)>>2]|0)+8>>2]|0;else Ra=N+(ba<<3)|0;if((c[(c[X+(ja<<2)>>2]|0)+8>>2]|0)!=(Ra|0)){Q=316;break e}ja=ja+1|0}while((ja|0)<(Z|0))}c[S>>2]=_;c[N+(R<<3)+4>>2]=70}while(0);if((Q|0)==316){Q=0;_=Hc(e,Z)|0;c[_+12>>2]=ha;c[S>>2]=_;c[N+(R<<3)+4>>2]=70;if((Z|0)>0){ja=_+16|0;X=0;do{fa=d[Y+(X<<3)+5>>0]|0;if(!(a[Y+(X<<3)+4>>0]|0))c[ja+(X<<2)>>2]=c[y+16+(fa<<2)>>2];else c[ja+(X<<2)>>2]=Ic(e,N+(fa<<3)|0)|0;X=X+1|0}while((X|0)!=(Z|0))}Z=ha+5|0;X=a[Z>>0]|0;do if(X&4){if(c[V>>2]|0){ja=c[o>>2]|0;a[Z>>0]=X&-5;Y=ja+76|0;c[ha+72>>2]=c[Y>>2];c[Y>>2]=ha;break}if(a[_+5>>0]&3){Y=c[o>>2]|0;if((d[Y+49>>0]|0)<2){rc(Y,_);break}else{a[Z>>0]=a[Y+48>>0]&3|X&-72;break}}}while(0);c[V>>2]=_}X=c[o>>2]|0;Z=X+12|0;ha=c[Z>>2]|0;if((ha|0)>0){c[p>>2]=S+8;if(!(a[X+51>>0]|0)){Y=X+8|0;c[Y>>2]=ha+1600+(c[Y>>2]|0);c[Z>>2]=-1600}else wc(e);c[p>>2]=c[H>>2]}U=c[B>>2]|0;break}case 51:{Z=M>>>23;Y=Z+-1|0;ha=(N-(c[x>>2]|0)>>3)-(d[(c[z>>2]|0)+76>>0]|0)|0;X=ha+-1|0;if(!Z){Z=c[p>>2]|0;if(((c[r>>2]|0)-Z>>3|0)<(ha|0)){ja=c[t>>2]|0;if((ja|0)>1e6){Q=340;break a}fa=ha+4+(Z-(c[u>>2]|0)>>3)|0;Z=ja<<1;ja=(Z|0)<1e6?Z:1e6;Z=(ja|0)<(fa|0)?fa:ja;if((Z|0)>1e6){Q=342;break a}hc(e,Z)}Z=c[B>>2]|0;ja=Z+(R<<3)|0;c[p>>2]=ja+(X<<3);Sa=X;Ta=ja;Ua=Z}else{Sa=Y;Ta=S;Ua=N}if((Sa|0)>0){Y=Ua+(1-ha<<3)|0;ha=0;do{if((ha|0)<(X|0)){Z=Y+(ha<<3)|0;c[Ta+(ha<<3)>>2]=c[Z>>2];Va=c[Z+4>>2]|0}else Va=0;c[Ta+(ha<<3)+4>>2]=Va;ha=ha+1|0}while((ha|0)!=(Sa|0));U=Ua}else U=Ua;break}default:U=N}while(0);if((Q|0)==280){Q=0;R=c[Ia+12>>2]|0;if(!R)U=Ja;else{c[Ia>>2]=c[Ia+8>>2];c[Ia+4>>2]=R;c[C>>2]=(c[C>>2]|0)+((Ha>>>14)+-131071<<2);U=Ja}}K=U}if((Q|0)==218){Q=0;K=c[n>>2]|0;C=K+18|0;a[C>>0]=a[C>>0]|4;Wa=K}else if((Q|0)==223){Q=0;K=c[n>>2]|0;C=c[K+8>>2]|0;B=c[K>>2]|0;H=c[C>>2]|0;y=K+24|0;J=(c[y>>2]|0)+(d[(c[(c[B>>2]|0)+12>>2]|0)+76>>0]<<3)|0;if((c[(c[z>>2]|0)+56>>2]|0)>0)Ac(e,c[C+24>>2]|0);if(B>>>0<J>>>0){F=0;G=B;do{c[H+(F<<3)>>2]=c[G>>2];c[H+(F<<3)+4>>2]=c[B+(F<<3)+4>>2];F=F+1|0;G=B+(F<<3)|0}while(G>>>0<J>>>0)}J=B;c[C+24>>2]=H+((c[y>>2]|0)-J>>3<<3);G=H+((c[p>>2]|0)-J>>3<<3)|0;c[p>>2]=G;c[C+4>>2]=G;c[C+28>>2]=c[K+28>>2];G=C+18|0;a[G>>0]=a[G>>0]|64;c[n>>2]=C;Wa=C}else if((Q|0)==230){Q=0;G=M>>>23;if(G|0)c[p>>2]=S+(G<<3)+-8;if((c[(c[z>>2]|0)+56>>2]|0)>0)Ac(e,N);G=c[n>>2]|0;J=d[s>>0]|0;if(!(J&6)){Xa=S;Ya=c[G+8>>2]|0}else{if(!(J&2))Za=S;else{J=S-(c[u>>2]|0)|0;Ec(e,1,-1);Za=(c[u>>2]|0)+J|0}J=c[G+8>>2]|0;c[v>>2]=c[J+28>>2];Xa=Za;Ya=J}J=c[G>>2]|0;F=b[G+16>>1]|0;c[n>>2]=Ya;f:do if(F<<16>>16){G=J;A=F<<16>>16;D=Xa;while(1){if(D>>>0>=(c[p>>2]|0)>>>0)break;E=G+8|0;c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];I=A+-1|0;if(!I){_a=E;break f}else{G=E;A=I;D=D+8|0}}if((A|0)>0){D=G;I=A;while(1){E=D+8|0;c[D+4>>2]=0;if((I|0)>1){D=E;I=I+-1|0}else{_a=E;break}}}else _a=G}else _a=J;while(0);c[p>>2]=_a;if(!(a[x+18>>0]&4)){Q=351;break}J=c[n>>2]|0;if(F<<16>>16==-1)Wa=J;else{c[p>>2]=c[J+4>>2];Wa=J}}x=Wa}switch(Q|0){case 6:{oc(e,0,0,0)|0;Q=O+28|0;c[v>>2]=c[Q>>2];c[Q>>2]=(c[Q>>2]|0)+-4;a[P>>0]=a[P>>0]|-128;c[O>>2]=(c[p>>2]|0)+-8;gc(e,1);break}case 30:{gc(e,4);break}case 34:{tc(e);break}case 38:{gc(e,4);break}case 49:{ic(e,43273,l);break}case 51:{tc(e);break}case 55:{gc(e,4);break}case 259:{ic(e,43288,k);break}case 264:{ic(e,43325,j);break}case 270:{ic(e,43354,i);break}case 274:{ic(e,43256,h);break}case 276:{gc(e,6);break}case 340:{gc(e,6);break}case 342:{hc(e,1000200);ic(e,43241,g);break}case 351:{Ga=f;return}}}function oc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=Ga;Ga=Ga+16|0;i=h+8|0;j=h;k=c[d+16>>2]|0;if(b[d+36>>1]|0)if((c[(c[d+12>>2]|0)+144>>2]|0)==(d|0))ic(d,43799,i);else ic(d,43757,j);a[d+6>>0]=1;c[k+20>>2]=(c[k>>2]|0)-(c[d+28>>2]|0);if(a[k+18>>0]&1){Ga=h;return 0}c[k+28>>2]=g;if(!g){l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;gc(d,1)}c[k+24>>2]=f;l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;gc(d,1);return 0}function pc(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=Ga;Ga=Ga+16|0;j=i+8|0;k=i;l=e+12|0;m=f;n=0;o=c[f+4>>2]|0;while(1){if((o|0)==69){f=c[m>>2]|0;p=uc(f,g)|0;if(c[p+4>>2]|0)break;q=c[f+8>>2]|0;if(!q)break;r=a[q+6>>0]|0;if(r&1)break;f=c[(c[l>>2]|0)+156>>2]|0;s=(c[q+16>>2]|0)+(((1<<(d[q+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[s+12>>2]|0)==68?(c[s+8>>2]|0)==(f|0):0){t=10;break}u=c[s+16>>2]|0;if(!u){v=2060540;break}else s=u}if((t|0)==10){t=0;v=s}f=v+4|0;u=c[f>>2]|0;if(!u){t=13;break}if(!v)break;else{w=v;x=f;y=u}}else{switch(o&15){case 5:{z=(c[m>>2]|0)+8|0;break}case 7:{z=(c[m>>2]|0)+8|0;break}default:z=(c[l>>2]|0)+276+((o&15)<<2)|0}u=c[z>>2]|0;a:do if(!u)A=2060540;else{f=c[(c[l>>2]|0)+156>>2]|0;B=(c[u+16>>2]|0)+(((1<<(d[u+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[B+12>>2]|0)==68?(c[B+8>>2]|0)==(f|0):0)break;C=c[B+16>>2]|0;if(!C){A=2060540;break a}else B=C}A=B}while(0);u=A+4|0;s=c[u>>2]|0;if(!s){t=27;break}else{w=A;x=u;y=s}}n=n+1|0;if((y&15|0)==6){t=29;break}if(n>>>0>=100){t=41;break}else{m=w;o=y}}if((t|0)==13)a[q+6>>0]=r|1;else if((t|0)==27)Oc(e,m,43717);else if((t|0)==29){r=e+28|0;q=h-(c[r>>2]|0)|0;y=e+8|0;o=c[y>>2]|0;c[y>>2]=o+8;c[o>>2]=c[w>>2];c[o+4>>2]=c[x>>2];x=c[y>>2]|0;c[y>>2]=x+8;c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];m=c[y>>2]|0;c[y>>2]=m+8;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];g=(c[y>>2]|0)+-24|0;m=a[(c[e+16>>2]|0)+18>>0]&1;x=e+38|0;o=(b[x>>1]|0)+1<<16>>16;b[x>>1]=o;if((o&65535)>199){if(o<<16>>16==200)ic(e,43256,k);if((o&65535)>224)gc(e,6)}o=m<<24>>24!=0;if(!o){m=e+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}if(!(mc(e,g,1)|0))nc(e);if(!o){o=e+36|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16}b[x>>1]=(b[x>>1]|0)+-1<<16>>16;x=(c[r>>2]|0)+q|0;q=c[y>>2]|0;r=q+-8|0;c[y>>2]=r;c[x>>2]=c[r>>2];c[x+4>>2]=c[q+-4>>2];Ga=i;return}else if((t|0)==41)ic(e,43740,j);c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];Ga=i;return}function qc(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;i=Ga;Ga=Ga+16|0;j=i+8|0;k=i;l=e+12|0;m=f;n=0;o=c[f+4>>2]|0;while(1){if((o|0)==69){p=c[m>>2]|0;q=uc(p,g)|0;if(c[q+4>>2]|0){r=17;break}s=c[p+8>>2]|0;if(!s){r=15;break}t=a[s+6>>0]|0;if(t&2){r=15;break}f=c[(c[l>>2]|0)+160>>2]|0;u=(c[s+16>>2]|0)+(((1<<(d[s+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[u+12>>2]|0)==68?(c[u+8>>2]|0)==(f|0):0){r=10;break}v=c[u+16>>2]|0;if(!v){w=2060540;break}else u=v}if((r|0)==10){r=0;w=u}f=w+4|0;v=c[f>>2]|0;if(!v){r=13;break}if(!w){r=15;break}else{x=w;y=f;z=v}}else{switch(o&15){case 5:{A=(c[m>>2]|0)+8|0;break}case 7:{A=(c[m>>2]|0)+8|0;break}default:A=(c[l>>2]|0)+276+((o&15)<<2)|0}v=c[A>>2]|0;a:do if(!v)B=2060540;else{f=c[(c[l>>2]|0)+160>>2]|0;C=(c[v+16>>2]|0)+(((1<<(d[v+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[C+12>>2]|0)==68?(c[C+8>>2]|0)==(f|0):0)break;D=c[C+16>>2]|0;if(!D){B=2060540;break a}else C=D}B=C}while(0);v=B+4|0;u=c[v>>2]|0;if(!u){r=33;break}else{x=B;y=v;z=u}}n=n+1|0;if((z&15|0)==6){r=35;break}if(n>>>0>=100){r=47;break}else{m=x;o=z}}if((r|0)==13){a[s+6>>0]=t|2;r=15}else if((r|0)==17){E=q;F=p}else if((r|0)==33)Oc(e,m,43717);else if((r|0)==35){t=e+8|0;s=c[t>>2]|0;c[t>>2]=s+8;c[s>>2]=c[x>>2];c[s+4>>2]=c[y>>2];y=c[t>>2]|0;c[t>>2]=y+8;c[y>>2]=c[m>>2];c[y+4>>2]=c[m+4>>2];m=c[t>>2]|0;c[t>>2]=m+8;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];m=c[t>>2]|0;c[t>>2]=m+8;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];m=(c[t>>2]|0)+-32|0;t=a[(c[e+16>>2]|0)+18>>0]&1;y=e+38|0;s=(b[y>>1]|0)+1<<16>>16;b[y>>1]=s;if((s&65535)>199){if(s<<16>>16==200)ic(e,43256,k);if((s&65535)>224)gc(e,6)}s=t<<24>>24!=0;if(!s){t=e+36|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}if(!(mc(e,m,0)|0))nc(e);if(!s){s=e+36|0;b[s>>1]=(b[s>>1]|0)+-1<<16>>16}b[y>>1]=(b[y>>1]|0)+-1<<16>>16;Ga=i;return}else if((r|0)==47)ic(e,43723,j);if((r|0)==15)if((q|0)==2060540){E=vc(e,p,g)|0;F=p}else{E=q;F=p}c[E>>2]=c[h>>2];q=h+4|0;c[E+4>>2]=c[q>>2];a[F+6>>0]=0;if(!(c[q>>2]&64)){Ga=i;return}if(!(a[(c[h>>2]|0)+5>>0]&3)){Ga=i;return}h=p+5|0;q=a[h>>0]|0;if(!(q&4)){Ga=i;return}F=c[l>>2]|0;a[h>>0]=q&-5;q=F+76|0;c[p+24>>2]=c[q>>2];c[q>>2]=p;Ga=i;return}function rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=d+5|0;a[e>>0]=a[e>>0]&-4;switch(a[d+4>>0]|0){case 20:case 4:{f=(c[d+12>>2]|0)+17|0;break}case 7:{g=c[d+8>>2]|0;if(g|0?a[g+5>>0]&3:0)rc(b,g);g=c[d+12>>2]|0;if(g|0?a[g+5>>0]&3:0)rc(b,g);f=(c[d+16>>2]|0)+24|0;break}case 10:{g=d+8|0;h=c[g>>2]|0;if((c[h+4>>2]&64|0)!=0?(i=c[h>>2]|0,(a[i+5>>0]&3)!=0):0){rc(b,i);j=c[g>>2]|0}else j=h;if((j|0)==(d+12|0))f=20;else return;break}case 6:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 38:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 5:{j=b+72|0;c[d+24>>2]=c[j>>2];c[j>>2]=d;return}case 8:{j=b+72|0;c[d+60>>2]=c[j>>2];c[j>>2]=d;return}case 9:{j=b+72|0;c[d+72>>2]=c[j>>2];c[j>>2]=d;return}default:return}a[e>>0]=a[e>>0]|4;e=b+16|0;c[e>>2]=(c[e>>2]|0)+f;return}function sc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;f=b+12|0;g=c[f>>2]|0;h=g+50|0;i=a[h>>0]|0;j=(e|0)!=0;if(!j){a[h>>0]=0;e=g+92|0;k=c[e>>2]|0;if(k){l=k;do{k=l+5|0;a[k>>0]=a[k>>0]&-65;k=c[f>>2]|0;m=k+92|0;n=c[m>>2]|0;c[m>>2]=c[n>>2];m=k+56|0;c[n>>2]=c[m>>2];c[m>>2]=n;m=n+5|0;n=a[m>>0]|0;a[m>>0]=n&-17;if((d[k+49>>0]|0)>=2)a[m>>0]=a[k+48>>0]&3|n&-88;l=c[e>>2]|0}while((l|0)!=0);if((a[h>>0]|0)==2)o=10;else o=9}else o=9}else{a[h>>0]=1;o=9}if((o|0)==9?(d[g+49>>0]|0)<2:0)o=10;if((o|0)==10){o=c[f>>2]|0;a[o+49>>0]=2;c[o+52>>2]=0;l=o+60|0;e=d[o+48>>0]|0;n=(a[o+50>>0]|0)==2;k=c[l>>2]|0;a:do if(!k)p=0;else{m=n?64:0;q=n?64:e&3;r=n?255:184;s=e;t=k;while(1){u=s^3;v=l;w=1;x=t;while(1){if(!w)break;w=w+-1|0;y=x+5|0;z=d[y>>0]|0;if(!((z^3)&u)){c[v>>2]=c[x>>2];Xc(b,x);A=v}else{if(m&z|0){p=0;break a}if((a[x+4>>0]|0)==8)Yc(b,x);a[y>>0]=r&z|q;A=x}x=c[A>>2]|0;if(!x){p=0;break a}else v=A}if((v|0)!=(l|0)){p=v;break a}x=c[f>>2]|0;u=d[x+48>>0]|0;w=(a[x+50>>0]|0)==2;t=c[l>>2]|0;if(!t){p=0;break}else{m=w?64:0;q=w?64:u&3;r=w?255:184;s=u}}}while(0);c[o+68>>2]=p;p=o+56|0;b:while(1){l=c[f>>2]|0;A=d[l+48>>0]|0;k=A^3;e=(a[l+50>>0]|0)==2;l=e?255:184;n=e?64:A&3;A=e?64:0;e=c[p>>2]|0;if(!e){C=0;break}s=p;r=1;q=e;while(1){if(!r)break;r=r+-1|0;e=q+5|0;m=d[e>>0]|0;if(!((m^3)&k)){c[s>>2]=c[q>>2];Xc(b,q);D=s}else{if(A&m|0){C=0;break b}if((a[q+4>>0]|0)==8)Yc(b,q);a[e>>0]=l&m|n;D=q}q=c[D>>2]|0;if(!q){C=0;break b}else s=D}if((s|0)!=(p|0)){C=s;break}}c[o+64>>2]=C}C=(c[f>>2]|0)+49|0;if((a[C>>0]|0)==5){E=C;F=5}else{do Rc(b)|0;while((a[C>>0]|0)!=5);C=(c[f>>2]|0)+49|0;E=C;F=a[C>>0]|0}if(!(1<<(F&255)&-33)){do Rc(b)|0;while(!(1<<d[E>>0]&-33|0));C=(c[f>>2]|0)+49|0;G=C;H=a[C>>0]|0}else{G=E;H=F}if(H<<24>>24!=5)do Rc(b)|0;while((a[G>>0]|0)!=5);if(i<<24>>24==2?(G=(c[f>>2]|0)+49|0,a[G>>0]|0):0)do Rc(b)|0;while((a[G>>0]|0)!=0);a[h>>0]=i;i=g+8|0;h=g+12|0;G=(c[h>>2]|0)+(c[i>>2]|0)|0;b=(G|0)/100|0;H=c[g+128>>2]|0;g=B(b,0-H|0)|0;F=(H|0)<(2147483644/(b|0)|0|0)?g:-2147483644;c[i>>2]=0-F;c[h>>2]=F+G;if(j)return;j=(c[f>>2]|0)+92|0;G=c[j>>2]|0;if(!G)return;F=G;do{G=F+5|0;a[G>>0]=a[G>>0]&-65;G=c[f>>2]|0;h=G+92|0;i=c[h>>2]|0;c[h>>2]=c[i>>2];h=G+56|0;c[i>>2]=c[h>>2];c[h>>2]=i;h=i+5|0;i=a[h>>0]|0;a[h>>0]=i&-17;if((d[G+49>>0]|0)>=2)a[h>>0]=a[G+48>>0]&3|i&-88;F=c[j>>2]|0}while((F|0)!=0);return}function tc(a){a=a|0;var b=0;b=Ga;Ga=Ga+16|0;ic(a,43678,b)}function uc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b+4|0;f=c[e>>2]|0;switch(f&63){case 4:{g=c[b>>2]|0;h=(c[a+16>>2]|0)+(((1<<(d[a+7>>0]|0))+-1&c[g+8>>2])*20|0)|0;while(1){if((c[h+12>>2]|0)==68?(c[h+8>>2]|0)==(g|0):0)break;i=c[h+16>>2]|0;if(!i){j=2060540;k=21;break}else h=i}if((k|0)==21)return j|0;j=h;return j|0}case 3:{h=c[b>>2]|0;if((f|0)==3?!(h>>>0>4294901759|((h&65535|0)!=0|(h+-65536|0)>>>0>2147352576)):0){f=(h>>>16)+-1|0;if(f>>>0<(c[a+28>>2]|0)>>>0){j=(c[a+12>>2]|0)+(f<<3)|0;return j|0}f=h&-65536;h=0-f|0;g=(c[a+16>>2]|0)+(((((f|0)<0?((f|0)==(h|0)?0:h):f)|0)%((1<<(d[a+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[g+12>>2]|0)==3?(c[g+8>>2]|0)==(f|0):0)break;h=c[g+16>>2]|0;if(!h){j=2060540;k=21;break}else g=h}if((k|0)==21)return j|0;j=g;return j|0}break}case 0:{j=2060540;return j|0}default:{}}g=ed(a,b)|0;while(1){if((c[g+12>>2]|0)==(c[e>>2]|0)?Bc(0,g+8|0,b)|0:0)break;a=c[g+16>>2]|0;if(!a){j=2060540;k=21;break}else g=a}if((k|0)==21)return j|0;j=g;return j|0}function vc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;g=Ga;Ga=Ga+144|0;h=g;i=f+4|0;if(!(c[i>>2]|0))ic(b,43659,g+128|0);j=ed(e,f)|0;k=j+4|0;a:do if((j|0)==2060568|(c[k>>2]|0)!=0){l=e+20|0;m=c[l>>2]|0;n=c[e+16>>2]|0;b:do if(m>>>0>n>>>0){o=m;while(1){p=o+-20|0;c[l>>2]=p;if(!(c[o+-8>>2]|0))break;if(p>>>0>n>>>0)o=p;else break b}q=ed(e,j+8|0)|0;if((q|0)==(j|0)){r=j+16|0;c[o+-4>>2]=c[r>>2];c[r>>2]=p;s=p;break a}r=q;while(1){q=c[r+16>>2]|0;if((q|0)==(j|0))break;else r=q}c[r+16>>2]=p;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[j+16>>2]=0;c[k>>2]=0;s=j;break a}while(0);l=h;m=l+124|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=e+12|0;m=c[e+28>>2]|0;o=1;q=0;t=1;u=0;while(1){if((t|0)>(m|0))if((o|0)>(m|0)){v=q;break}else w=m;else w=t;if((o|0)>(w|0)){x=0;y=o}else{z=c[l>>2]|0;A=0;B=o;while(1){C=A+((c[z+(B+-1<<3)+4>>2]|0)!=0&1)|0;D=B+1|0;if((B|0)<(w|0)){A=C;B=D}else{x=C;y=D;break}}}B=h+(u<<2)|0;c[B>>2]=(c[B>>2]|0)+x;B=x+q|0;u=u+1|0;if(u>>>0>=31){v=B;break}else{o=y;q=B;t=t<<1}}t=0;q=0;o=1<<(d[e+7>>0]|0);while(1){o=o+-1|0;if(!(c[n+(o*20|0)+4>>2]|0)){E=q;F=t}else{if(((c[n+(o*20|0)+12>>2]|0)==3?(u=c[n+(o*20|0)+8>>2]|0,!((u&65535|0)!=0|(u+-65536|0)>>>0>2147352576)):0)?(l=(u>>>16)+-1|0,l>>>0<32767):0){if(l>>>0>255){u=l;m=0;while(1){B=m+8|0;A=u>>>8;if(u>>>0>65535){u=A;m=B}else{G=B;H=A;break}}}else{G=0;H=l}m=h+(G+(d[400+H>>0]|0)<<2)|0;c[m>>2]=(c[m>>2]|0)+1;I=1}else I=0;E=q+1|0;F=I+t|0}if(!o)break;else{t=F;q=E}}q=F+v|0;if(((c[i>>2]|0)==3?(t=c[f>>2]|0,!((t&65535|0)!=0|(t+-65536|0)>>>0>2147352576)):0)?(o=(t>>>16)+-1|0,o>>>0<32767):0){if(o>>>0>255){t=o;n=0;while(1){m=n+8|0;u=t>>>8;if(t>>>0>65535){t=u;n=m}else{J=m;K=u;break}}}else{J=0;K=o}n=h+(J+(d[400+K>>0]|0)<<2)|0;c[n>>2]=(c[n>>2]|0)+1;L=1}else L=0;n=q+L|0;c:do if((n|0)>0){t=0;u=0;m=1;A=0;B=0;z=0;while(1){r=c[h+(A<<2)>>2]|0;D=(r|0)>0;C=r+u|0;u=D?C:u;r=D&(C|0)>(z|0);D=r?C:t;C=r?m:B;if((u|0)==(n|0)){M=C;N=D;break c}z=m&2147483647;if((z|0)>=(n|0)){M=C;N=D;break}else{t=D;m=m<<1;A=A+1|0;B=C}}}else{M=0;N=0}while(0);Gc(b,e,M,v+1+E-N|0);n=uc(e,f)|0;if((n|0)!=2060540){O=n;Ga=g;return O|0}O=vc(b,e,f)|0;Ga=g;return O|0}else s=j;while(0);c[s+8>>2]=c[f>>2];c[s+12>>2]=c[i>>2];if((c[i>>2]&64|0?a[(c[f>>2]|0)+5>>0]&3:0)?(f=e+5|0,i=a[f>>0]|0,i&4):0){j=c[b+12>>2]|0;a[f>>0]=i&-5;i=j+76|0;c[e+24>>2]=c[i>>2];c[i>>2]=e}O=s;Ga=g;return O|0}function wc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=b+12|0;f=c[e>>2]|0;do if((a[f+50>>0]|0)==2){g=f+20|0;h=c[g>>2]|0;if(!h){sc(b,0);i=f+8|0;j=f+12|0;k=(c[j>>2]|0)+(c[i>>2]|0)|0;l=j;m=k;n=i;o=f+49|0;p=k}else{k=f+49|0;if((a[k>>0]|0)!=5)do Rc(b)|0;while((a[k>>0]|0)!=5);a[k>>0]=0;i=f+8|0;j=f+12|0;q=(c[j>>2]|0)+(c[i>>2]|0)|0;r=q>>>0>(B(c[f+132>>2]|0,(h>>>0)/100|0)|0)>>>0;l=j;m=q;n=i;o=k;p=r?0:h}c[g>>2]=p;r=(m|0)/100|0;i=c[f+128>>2]|0;q=B(r,0-i|0)|0;j=(i|0)<(2147483644/(r|0)|0|0)?q:-2147483644;c[n>>2]=0-j;c[l>>2]=j+m;s=o}else{j=f+12|0;q=c[f+136>>2]|0;r=(q|0)>40?q:40;q=((c[j>>2]|0)/200|0)+1|0;i=B(r,q)|0;t=f+49|0;u=(q|0)<(2147483644/(r>>>0)|0|0)?i:2147483644;do{u=u-(Rc(b)|0)|0;v=(a[t>>0]|0)==5;if((u|0)<=-1600){w=12;break}}while(!v);if((w|0)==12?!v:0){g=((u|0)/(r|0)|0)*200|0;h=f+8|0;c[h>>2]=(c[j>>2]|0)-g+(c[h>>2]|0);c[j>>2]=g;s=t;break}g=(c[f+20>>2]|0)/100|0;h=c[f+128>>2]|0;k=f+8|0;i=B(h,0-g|0)|0;q=(h|0)<(2147483644/(g|0)|0|0)?i:-2147483644;i=(c[j>>2]|0)+(c[k>>2]|0)+q|0;c[k>>2]=0-q;c[j>>2]=i;s=t}while(0);v=f+92|0;if(!(c[v>>2]|0))return;f=0;while(1){if(f>>>0>=4?(a[s>>0]|0)!=5:0){w=22;break}b=c[e>>2]|0;o=b+92|0;m=c[o>>2]|0;c[o>>2]=c[m>>2];o=b+56|0;c[m>>2]=c[o>>2];c[o>>2]=m;o=m+5|0;m=a[o>>0]|0;a[o>>0]=m&-17;if((d[b+49>>0]|0)>=2)a[o>>0]=a[b+48>>0]&3|m&-88;if(!(c[v>>2]|0)){w=22;break}else f=f+1|0}if((w|0)==22)return}function xc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=Ga;Ga=Ga+16|0;h=g+8|0;i=g;j=c[d+4>>2]|0;do if((j|0)!=3){if((j&15|0)==4?(k=c[d>>2]|0,Fc(k+16|0,c[k+12>>2]|0,h)|0):0){c[i>>2]=c[h>>2];c[i+4>>2]=3;l=i;m=6;break}}else{l=d;m=6}while(0);a:do if((m|0)==6){i=c[e+4>>2]|0;do if((i|0)==3)n=e;else{if((i&15|0)==4?(j=c[e>>2]|0,Fc(j+16|0,c[j+12>>2]|0,h)|0):0){n=h;break}break a}while(0);c[b>>2]=bd(f+-6|0,c[l>>2]|0,c[n>>2]|0)|0;c[b+4>>2]=3;Ga=g;return}while(0);if(!(Jc(a,d,e,b,f)|0))cd(a,d,e);else{Ga=g;return}}function yc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=Ga;Ga=Ga+16|0;i=h;j=g+4|0;k=c[j>>2]|0;a:do switch(k&15){case 5:{l=c[g>>2]|0;m=c[l+8>>2]|0;do if(m|0?(n=m+6|0,o=a[n>>0]|0,(o&16)==0):0){p=c[(c[e+12>>2]|0)+172>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[p+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(p|0):0){r=7;break}s=c[q+16>>2]|0;if(!s){t=2060540;break}else q=s}if((r|0)==7)t=q;p=t+4|0;if(c[p>>2]|0)if(!t)break;else{u=t;v=p;break a}else{a[n>>0]=o|16;break}}while(0);c[f>>2]=(ad(l)|0)<<16;c[f+4>>2]=3;Ga=h;return}case 4:{c[f>>2]=c[(c[g>>2]|0)+12>>2]<<16;c[f+4>>2]=3;Ga=h;return}case 7:{w=(c[g>>2]|0)+8|0;r=16;break}default:{w=(c[e+12>>2]|0)+276+((k&15)<<2)|0;r=16}}while(0);if((r|0)==16){r=c[w>>2]|0;b:do if(!r)x=2060540;else{w=c[(c[e+12>>2]|0)+172>>2]|0;k=(c[r+16>>2]|0)+(((1<<(d[r+7>>0]|0))+-1&c[w+8>>2])*20|0)|0;while(1){if((c[k+12>>2]|0)==68?(c[k+8>>2]|0)==(w|0):0)break;t=c[k+16>>2]|0;if(!t){x=2060540;break b}else k=t}x=k}while(0);r=x+4|0;if(!(c[r>>2]|0))Oc(e,g,43623);else{u=x;v=r}}r=e+28|0;x=f-(c[r>>2]|0)|0;f=e+8|0;w=c[f>>2]|0;c[f>>2]=w+8;c[w>>2]=c[u>>2];c[w+4>>2]=c[v>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];j=(c[f>>2]|0)+-24|0;v=a[(c[e+16>>2]|0)+18>>0]&1;g=e+38|0;w=(b[g>>1]|0)+1<<16>>16;b[g>>1]=w;if((w&65535)>199){if(w<<16>>16==200)ic(e,43256,i);if((w&65535)>224)gc(e,6)}w=v<<24>>24!=0;if(!w){v=e+36|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}if(!(mc(e,j,1)|0))nc(e);if(!w){w=e+36|0;b[w>>1]=(b[w>>1]|0)+-1<<16>>16}b[g>>1]=(b[g>>1]|0)+-1<<16>>16;g=(c[r>>2]|0)+x|0;x=c[f>>2]|0;r=x+-8|0;c[f>>2]=r;c[g>>2]=c[r>>2];c[g+4>>2]=c[x+-4>>2];Ga=h;return}function zc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=Ga;Ga=Ga+48|0;f=e+32|0;g=e;h=b+8|0;i=b+12|0;j=d;d=c[h>>2]|0;a:while(1){k=d+-16|0;l=d+-12|0;m=c[l>>2]|0;n=d+-8|0;do if((m|0)==3|(m&15|0)==4){o=d+-4|0;p=c[o>>2]|0;if((p&15|0)==4){q=c[n>>2]|0;r=q;s=p;t=q;u=m}else{if((p|0)!=3){v=16;break}p=Lc(g,c[n>>2]|0)|0;if(p>>>0<41)w=Mc(b,g,p)|0;else{if((p+1|0)>>>0>4294967277){v=9;break a}q=c[i>>2]|0;x=c[q+44>>2]|0;y=p+17|0;z=q+4|0;A=Ma[c[q>>2]&1](c[z>>2]|0,0,4,y)|0;if((y|0)!=0&(A|0)==0){if(!(a[q+51>>0]|0)){v=13;break a}sc(b,1);B=Ma[c[q>>2]&1](c[z>>2]|0,0,4,y)|0;if(!B){v=13;break a}else C=B}else C=A;A=q+12|0;c[A>>2]=(c[A>>2]|0)+y;y=q+56|0;a[C+5>>0]=a[q+48>>0]&3;a[C+4>>0]=20;c[C>>2]=c[y>>2];c[y>>2]=C;c[C+12>>2]=p;c[C+8>>2]=x;a[C+6>>0]=0;x=C+16|0;Du(x|0,g|0,p|0)|0;a[x+p>>0]=0;w=C}c[n>>2]=w;p=(a[w+4>>0]|64)&255;c[o>>2]=p;r=w;s=p;t=w;u=c[l>>2]|0}p=c[t+12>>2]|0;o=(u&15|0)==4;if(!p){if(!((u|0)==3&(o^1))){D=2;break}x=Lc(g,c[k>>2]|0)|0;if(x>>>0<41)E=Mc(b,g,x)|0;else{if((x+1|0)>>>0>4294967277){v=23;break a}y=c[i>>2]|0;q=c[y+44>>2]|0;A=x+17|0;B=y+4|0;z=Ma[c[y>>2]&1](c[B>>2]|0,0,4,A)|0;if((A|0)!=0&(z|0)==0){if(!(a[y+51>>0]|0)){v=27;break a}sc(b,1);F=Ma[c[y>>2]&1](c[B>>2]|0,0,4,A)|0;if(!F){v=27;break a}else G=F}else G=z;z=y+12|0;c[z>>2]=(c[z>>2]|0)+A;A=y+56|0;a[G+5>>0]=a[y+48>>0]&3;a[G+4>>0]=20;c[G>>2]=c[A>>2];c[A>>2]=G;c[G+12>>2]=x;c[G+8>>2]=q;a[G+6>>0]=0;q=G+16|0;Du(q|0,g|0,x|0)|0;a[q+x>>0]=0;E=G}c[k>>2]=E;c[l>>2]=(a[E+4>>0]|64)&255;D=2;break}if(o?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[k>>2]=r;c[l>>2]=s;D=2;break}b:do if((j|0)>1){o=p;x=1;while(1){q=d+(0-x<<3)+-8|0;A=q+4|0;y=c[A>>2]|0;if((y&15|0)==4)H=c[q>>2]|0;else{if((y|0)!=3){I=o;J=x;break b}y=Lc(g,c[q>>2]|0)|0;if(y>>>0<41)K=Mc(b,g,y)|0;else{if((y+1|0)>>>0>4294967277){v=41;break a}z=c[i>>2]|0;F=c[z+44>>2]|0;B=y+17|0;L=z+4|0;M=Ma[c[z>>2]&1](c[L>>2]|0,0,4,B)|0;if((B|0)!=0&(M|0)==0){if(!(a[z+51>>0]|0)){v=45;break a}sc(b,1);N=Ma[c[z>>2]&1](c[L>>2]|0,0,4,B)|0;if(!N){v=45;break a}else O=N}else O=M;M=z+12|0;c[M>>2]=(c[M>>2]|0)+B;B=z+56|0;a[O+5>>0]=a[z+48>>0]&3;a[O+4>>0]=20;c[O>>2]=c[B>>2];c[B>>2]=O;c[O+12>>2]=y;c[O+8>>2]=F;a[O+6>>0]=0;F=O+16|0;Du(F|0,g|0,y|0)|0;a[F+y>>0]=0;K=O}c[q>>2]=K;c[A>>2]=(a[K+4>>0]|64)&255;H=K}A=c[H+12>>2]|0;if(A>>>0>=(-3-o|0)>>>0){v=49;break a}q=A+o|0;A=x+1|0;if((A|0)<(j|0)){o=q;x=A}else{I=q;J=A;break}}}else{I=p;J=1}while(0);p=c[i>>2]|0;x=p+116|0;o=p+124|0;A=c[o>>2]|0;if(A>>>0<I>>>0){q=I>>>0>32?I:32;if((q+1|0)>>>0>4294967293){v=54;break a}y=c[x>>2]|0;F=(y|0)==0;B=p+4|0;z=Ma[c[p>>2]&1](c[B>>2]|0,y,A,q)|0;if(!z){if(!(a[p+51>>0]|0)){v=58;break a}sc(b,1);M=Ma[c[p>>2]&1](c[B>>2]|0,y,A,q)|0;if(!M){v=58;break a}else P=M}else P=z;z=p+12|0;c[z>>2]=(F?0:0-A|0)+q+(c[z>>2]|0);c[x>>2]=P;c[o>>2]=q;Q=P}else Q=c[x>>2]|0;x=0;q=J;while(1){o=c[d+(0-q<<3)>>2]|0;z=c[o+12>>2]|0;Du(Q+x|0,o+16|0,z|0)|0;x=z+x|0;if((q|0)<=1)break;else q=q+-1|0}q=0-J|0;z=d+(q<<3)|0;if(x>>>0<41)R=Mc(b,Q,x)|0;else{if((x+1|0)>>>0>4294967277){v=65;break a}o=c[i>>2]|0;A=c[o+44>>2]|0;F=x+17|0;p=o+4|0;M=Ma[c[o>>2]&1](c[p>>2]|0,0,4,F)|0;if((F|0)!=0&(M|0)==0){if(!(a[o+51>>0]|0)){v=69;break a}sc(b,1);y=Ma[c[o>>2]&1](c[p>>2]|0,0,4,F)|0;if(!y){v=69;break a}else S=y}else S=M;M=o+12|0;c[M>>2]=(c[M>>2]|0)+F;F=o+56|0;a[S+5>>0]=a[o+48>>0]&3;a[S+4>>0]=20;c[S>>2]=c[F>>2];c[F>>2]=S;c[S+12>>2]=x;c[S+8>>2]=A;a[S+6>>0]=0;A=S+16|0;Du(A|0,Q|0,x|0)|0;a[A+x>>0]=0;R=S}c[z>>2]=R;c[d+(q<<3)+4>>2]=(a[R+4>>0]|64)&255;D=J}else v=16;while(0);if((v|0)==16){v=0;if(!(Jc(b,k,n,k,28)|0)){v=17;break}else D=2}j=j+1-D|0;d=(c[h>>2]|0)+(1-D<<3)|0;c[h>>2]=d;if((j|0)<=1){v=73;break}}switch(v|0){case 9:{tc(b);break}case 13:{gc(b,4);break}case 17:{Nc(b,k,n);break}case 23:{tc(b);break}case 27:{gc(b,4);break}case 41:{tc(b);break}case 45:{gc(b,4);break}case 49:{ic(b,43454,f);break}case 54:{tc(b);break}case 58:{gc(b,4);break}case 65:{tc(b);break}case 69:{gc(b,4);break}case 73:{Ga=e;return}}}function Ac(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=b+12|0;g=c[f>>2]|0;h=b+56|0;b=c[h>>2]|0;if(!b)return;i=g+48|0;j=g+56|0;k=g+50|0;l=g+49|0;m=b;while(1){b=m+8|0;n=c[b>>2]|0;if(n>>>0<e>>>0){o=16;break}c[h>>2]=c[m>>2];p=m+12|0;do if(((a[i>>0]^3)&(a[m+5>>0]^3))<<24>>24){q=m+16|0;c[(c[q>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[q>>2];r=c[b>>2]|0;c[p>>2]=c[r>>2];s=c[r+4>>2]|0;c[q>>2]=s;c[b>>2]=p;c[m>>2]=c[j>>2];c[j>>2]=m;q=m+5|0;r=a[q>>0]|0;t=r&255;if(!(t&7)){if((a[k>>0]|0)!=2?(d[l>>0]|0)>=2:0){a[q>>0]=t&184|a[i>>0]&3;break}a[q>>0]=r&-69|4;if(s&64|0?(s=c[p>>2]|0,a[s+5>>0]&3):0)rc(g,s)}}else{if((n|0)!=(p|0)){s=m+16|0;c[(c[s>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[s>>2]}s=c[f>>2]|0;Ma[c[s>>2]&1](c[s+4>>2]|0,m,20,0)|0;r=s+12|0;c[r>>2]=(c[r>>2]|0)+-20}while(0);m=c[h>>2]|0;if(!m){o=16;break}}if((o|0)==16)return}
function Uj(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;j=B(e,e)|0;k=B(f,f)|0;l=0-(k+(((e|0)%2|0)+(j>>>2)))|0;m=(k>>>2)+((f|0)%2|0)|0;n=0-(j+m)|0;o=0-m|0;m=k<<1;p=j<<1;if((f|e|0)<0)q=0;else{r=g+b|0;s=h+d|0;t=0;u=f;v=B(B(j,-2)|0,f)|0;w=0;x=B(0-j|0,f)|0;y=0;while(1){z=y+8|0;do if(((B(t,k)|0)+x|0)>(l|0)?(A=B(u,j)|0,(A+x|0)>(o|0)):0){C=b-t|0;D=r+t|0;E=(Rj(a,C,D,d-u|0,i,c[732532]|0)|0)+z|0;if((x-A|0)<=(n|0)){A=w+m|0;F=v+p|0;G=t+1|0;H=u+-1|0;I=F;J=A;K=A+x+F|0;L=(Rj(a,C,D,s+u|0,i,c[732532]|0)|0)+E|0;break}if(!u)M=E;else M=(Rj(a,C,D,s+u|0,i,c[732532]|0)|0)+E|0;E=v+p|0;G=t;H=u+-1|0;I=E;J=w;K=E+x|0;L=M}else N=5;while(0);if((N|0)==5){N=0;E=w+m|0;G=t+1|0;H=u;I=v;J=E;K=E+x|0;L=z}if((H|0)<0|(G|0)>(e|0)){q=L;break}else{t=G;u=H;v=I;w=J;x=K;y=L}}}if(!h)O=q;else O=(Rj(a,b-e|0,e+b+g|0,d+1|0,i,c[732532]|0)|0)+q|0;if(f|0){P=O;return P|0}P=(Rj(a,b-e|0,e+b|0,d,i,c[732532]|0)|0)+O|0;return P|0}function Vj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=(e|0)<(b|0);i=h?e:b;j=h?b:e;e=(f|0)<(d|0);b=e?f:d;h=e?d:f;f=h-b|0;if((f|0)>=2?(d=j-i|0,(d|0)>=2):0){k=Uj(a,(j+i|0)/2|0,(h+b|0)/2|0,d>>>1,f>>>1,d&1,f&1,g)|0;return k|0}f=0;d=b;while(1){b=(Rj(a,i,j,d,g,c[732532]|0)|0)+f|0;if((d|0)<(h|0)){f=b;d=d+1|0}else{k=b;break}}return k|0}function Wj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;i=Ga;Ga=Ga+128|0;j=i+64|0;k=i;l=k;m=1792;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if((h|0)==1){l=j;n=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(n|0));if(!((e|0)>(g|0)|(d|0)>(f|0))){l=c[b+16>>2]|0;n=e;while(1){h=c[l+(n<<2)>>2]|0;m=d;while(1){o=j+(c[1856+((a[h+m>>0]&15)<<2)>>2]<<2)|0;c[o>>2]=(c[o>>2]|0)+1;if((m|0)<(f|0))m=m+1|0;else break}if((n|0)<(g|0))n=n+1|0;else break}}n=(B(1-d+f<<1,1-e+g|0)|0)/3|0;l=(c[j+4>>2]|0)+(c[j>>2]|0)-n|0;m=(l|0)<0?0-l|0:l;l=(c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))-n|0;h=(l|0)<0?0-l|0:l;l=(h|0)<(m|0);o=l?h:m;m=(c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))-n|0;h=(m|0)<0?0-m|0:m;m=(h|0)<(o|0);p=m?h:o;o=(c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))-n|0;h=(o|0)<0?0-o|0:o;o=(h|0)<(p|0);q=o?h:p;p=(c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))-n|0;h=(p|0)<0?0-p|0:p;p=(h|0)<(q|0);r=p?h:q;q=(c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))-n|0;h=(q|0)<0?0-q|0:q;q=(h|0)<(r|0);s=q?h:r;r=(c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))-n|0;h=(r|0)<0?0-r|0:r;r=(h|0)<(s|0);t=r?h:s;s=(c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))-n|0;h=(s|0)<0?0-s|0:s;s=(h|0)<(t|0);u=s?h:t;t=(c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))-n|0;h=(t|0)<0?0-t|0:t;t=(h|0)<(u|0);v=t?h:u;u=(c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))-n|0;h=(u|0)<0?0-u|0:u;u=(h|0)<(v|0);w=u?h:v;v=(c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))-n|0;h=(v|0)<0?0-v|0:v;v=(h|0)<(w|0);x=v?12:u?11:t?10:s?9:r?8:q?7:p?6:o?5:m?4:l?3:2;l=v?h:w;w=(c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))-n|0;h=(w|0)<0?0-w|0:w;w=(x|0)==-1|(h|0)<(l|0);v=w?13:x;x=w?h:l;l=(c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))))-n|0;h=(l|0)<0?0-l|0:l;l=(v|0)==-1|(h|0)<(x|0);w=l?14:v;v=(c[j+56>>2]|0)+((c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))))-n|0;n=((w|0)==-1?1:(((v|0)<0?0-v|0:v)|0)<((l?h:x)|0))?15:w;if(!(fn(225)|0)){c[k>>2]=(n|0)<1&1;c[k+4>>2]=(n|0)<2&1;c[k+8>>2]=(n|0)<4&1;c[k+12>>2]=(n|0)<6&1;c[k+16>>2]=(n|0)<5&1;c[k+20>>2]=(n|0)<3&1;c[k+24>>2]=(n|0)<12&1;c[k+28>>2]=(n|0)<16&1;c[k+32>>2]=(n|0)<8&1;c[k+36>>2]=(n|0)<13&1;c[k+40>>2]=(n|0)<14&1;c[k+44>>2]=(n|0)<10&1;c[k+48>>2]=(n|0)<9&1;c[k+52>>2]=(n|0)<7&1;c[k+56>>2]=(n|0)<11&1;c[k+60>>2]=(n|0)<15&1}}if((e|0)>(g|0)){Ga=i;return}n=b+16|0;if((d|0)>(f|0)){Ga=i;return}b=e;while(1){e=d;while(1){w=(c[(c[n>>2]|0)+(b<<2)>>2]|0)+e|0;a[w>>0]=c[k+((a[w>>0]&15)<<2)>>2];if((e|0)<(f|0))e=e+1|0;else break}if((b|0)<(g|0))b=b+1|0;else break}Ga=i;return}function Xj(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0;j=c[732532]|0;k=(h|0)<(f|0);l=k?e:g;m=k?f:h;n=k?h:f;f=k?g:e;e=l-f|0;g=((e|0)<0)<<31>>31;k=m-n|0;h=((k|0)<0)<<31>>31;o=(g|0)<0;p=pu(0,0,e|0,g|0)|0;q=G()|0;r=o?p:e;p=o?q:g;q=(h|0)<0;o=pu(0,0,k|0,h|0)|0;s=G()|0;t=q?o:k;o=q?s:h;s=(p|0)>(o|0)|(p|0)==(o|0)&r>>>0>t>>>0;o=s?r:t;t=((o|0)<0)<<31>>31;if((o|0)>0){r=yu(k|0,h|0,16)|0;s=G()|0;p=yu(e|0,g|0,16)|0;q=su(p|0,G()|0,o|0,t|0)|0;p=G()|0;u=su(r|0,s|0,o|0,t|0)|0;v=u;w=G()|0;x=q;y=p}else{v=k;w=h;x=e;y=g}g=f<<16|32768;e=n<<16|32768;h=b+36|0;k=c[h>>2]|0;if((m|0)<(k|0)){z=0;return z|0}p=b+40|0;q=c[p>>2]|0;if((n|0)>=(q|0)){z=0;return z|0}u=b+28|0;t=c[u>>2]|0;s=(t|0)>(f|0);r=(t|0)>(l|0);if(s&r){z=0;return z|0}A=b+32|0;B=c[A>>2]|0;C=(f|0)<(B|0);D=(l|0)<(B|0);if(!(C|D)){z=0;return z|0}if((k|0)>(n|0)){E=k-n<<16;n=yu(E|0,((E|0)<0)<<31>>31|0,16)|0;E=su(n|0,G()|0,v|0,w|0)|0;G()|0;n=E>>16;F=(n|0)>0?n:0}else F=0;if((m|0)<(q|0))H=0;else{n=(m-q<<16)+65536|0;q=yu(n|0,((n|0)<0)<<31>>31|0,16)|0;n=su(q|0,G()|0,v|0,w|0)|0;G()|0;q=n>>16;H=(q|0)>0?q:0}if(s){s=t-f<<16;q=yu(s|0,((s|0)<0)<<31>>31|0,16)|0;s=su(q|0,G()|0,x|0,y|0)|0;G()|0;q=s>>16;I=(F|0)>(q|0)?F:q}else I=F;if(C)J=I;else{C=(f-B<<16)+65536|0;f=yu(C|0,((C|0)<0)<<31>>31|0,16)|0;C=G()|0;F=pu(0,0,x|0,y|0)|0;q=su(f|0,C|0,F|0,G()|0)|0;G()|0;F=q>>16;J=(I|0)>(F|0)?I:F}if(r){r=t-l<<16;F=yu(r|0,((r|0)<0)<<31>>31|0,16)|0;r=G()|0;I=pu(0,0,x|0,y|0)|0;q=su(F|0,r|0,I|0,G()|0)|0;G()|0;I=q>>16;K=(H|0)>(I|0)?H:I}else K=H;if(D)L=K;else{D=(l-B<<16)+65536|0;B=yu(D|0,((D|0)<0)<<31>>31|0,16)|0;D=su(B|0,G()|0,x|0,y|0)|0;G()|0;B=D>>16;L=(K|0)>(B|0)?K:B}B=J+-1|0;J=(B|0)>0?B:0;B=L+-1|0;L=uu(x|0,y|0,J|0,0)|0;K=ou(L|0,G()|0,g|0,((g|0)<0)<<31>>31|0)|0;g=G()|0;L=uu(v|0,w|0,J|0,0)|0;D=ou(L|0,G()|0,e|0,((e|0)<0)<<31>>31|0)|0;e=G()|0;L=o-J-((B|0)>0?B:0)|0;B=((L|0)>0?L:0)+1|0;if((L|0)<=-1){z=B;return z|0}J=b+16|0;if(!(j&65536)){b=L;o=K;l=g;H=D;I=e;q=t;while(1){r=xu(o|0,l|0,16)|0;G()|0;F=xu(H|0,I|0,16)|0;C=G()|0;if((((q|0)<=(r|0)?(c[A>>2]|0)>(r|0):0)?(c[h>>2]|0)<=(F|0):0)?(c[p>>2]|0)>(F|0):0){f=yu(F|0,C|0,2)|0;G()|0;C=(c[(c[J>>2]|0)+(F<<2)>>2]|0)+r|0;F=c[732529]|0;a[C>>0]=((F^15)&(d[C>>0]|0)|F&i>>(j>>(f&12^12)>>>(r&3^3)<<2&4)&c[732530])&15}if((b|0)<=0){z=B;break}r=ou(H|0,I|0,v|0,w|0)|0;f=G()|0;F=ou(o|0,l|0,x|0,y|0)|0;C=G()|0;b=b+-1|0;o=F;l=C;H=r;I=f;q=c[u>>2]|0}return z|0}q=L;L=K;K=g;g=D;D=e;e=t;while(1){t=xu(L|0,K|0,16)|0;G()|0;I=xu(g|0,D|0,16)|0;H=G()|0;if(((((e|0)<=(t|0)?(c[A>>2]|0)>(t|0):0)?(c[h>>2]|0)<=(I|0):0)?(c[p>>2]|0)>(I|0):0)?(l=yu(I|0,H|0,2)|0,G()|0,(j>>(l&12^12)&1<<(t&3^3)|0)==0):0){l=(c[(c[J>>2]|0)+(I<<2)>>2]|0)+t|0;t=c[732529]|0;a[l>>0]=((t^15)&(d[l>>0]|0)|t&i&c[732530])&15}if((q|0)<=0){z=B;break}t=ou(g|0,D|0,v|0,w|0)|0;l=G()|0;I=ou(L|0,K|0,x|0,y|0)|0;H=G()|0;q=q+-1|0;L=I;K=H;g=t;D=l;e=c[u>>2]|0}return z|0}function Yj(b,e,f,g,h,i,j,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;n=c[733490]|0;o=c[n+8>>2]|0;p=c[n+4>>2]|0;q=fk(2779320,n,24376)|0;n=fk(2779320,c[733490]|0,24377)|0;r=fk(2779320,c[733490]|0,24378)|0;s=fk(2779320,c[733490]|0,24379)|0;t=q+255&255;q=n+255&255;n=e>>16;u=f>>16;v=g>>16;g=h>>16;h=v-n|0;w=((h|0)<0)<<31>>31;x=g-u|0;y=((x|0)<0)<<31>>31;z=(w|0)<0;A=pu(0,0,h|0,w|0)|0;C=G()|0;D=z?A:h;A=z?C:w;C=(y|0)<0;z=pu(0,0,x|0,y|0)|0;E=G()|0;F=C?z:x;z=C?E:y;E=(A|0)>(z|0)|(A|0)==(z|0)&D>>>0>F>>>0;z=E?D:F;F=((z|0)<0)<<31>>31;if((z|0)>0){D=yu(x|0,y|0,16)|0;E=G()|0;A=yu(h|0,w|0,16)|0;C=su(A|0,G()|0,z|0,F|0)|0;A=G()|0;H=su(D|0,E|0,z|0,F|0)|0;I=C;J=A;K=H;L=G()|0}else{I=h;J=w;K=x;L=y}y=c[b+36>>2]|0;if((g|0)<(y|0)){M=0;return M|0}x=c[b+40>>2]|0;if((u|0)>=(x|0)){M=0;return M|0}w=c[b+28>>2]|0;h=(w|0)>(n|0);H=(w|0)>(v|0);if(h&H){M=0;return M|0}A=c[b+32>>2]|0;b=(n|0)<(A|0);C=(v|0)<(A|0);if(!(b|C)){M=0;return M|0}F=e&-65536|32768;e=f&-65536|32768;if((y|0)>(u|0)){f=y-u<<16;u=yu(f|0,((f|0)<0)<<31>>31|0,16)|0;f=su(u|0,G()|0,K|0,L|0)|0;G()|0;u=f>>16;N=(u|0)>0?u:0}else N=0;if((g|0)<(x|0))O=0;else{u=(g-x<<16)+65536|0;x=yu(u|0,((u|0)<0)<<31>>31|0,16)|0;u=su(x|0,G()|0,K|0,L|0)|0;G()|0;x=u>>16;O=(x|0)>0?x:0}if(h){h=w-n<<16;x=yu(h|0,((h|0)<0)<<31>>31|0,16)|0;h=su(x|0,G()|0,I|0,J|0)|0;G()|0;x=h>>16;P=(N|0)>(x|0)?N:x}else P=N;if(b)Q=P;else{b=(n-A<<16)+65536|0;n=yu(b|0,((b|0)<0)<<31>>31|0,16)|0;b=G()|0;N=pu(0,0,I|0,J|0)|0;x=su(n|0,b|0,N|0,G()|0)|0;G()|0;N=x>>16;Q=(P|0)>(N|0)?P:N}if(H){H=w-v<<16;w=yu(H|0,((H|0)<0)<<31>>31|0,16)|0;H=G()|0;N=pu(0,0,I|0,J|0)|0;P=su(w|0,H|0,N|0,G()|0)|0;G()|0;N=P>>16;R=(O|0)>(N|0)?O:N}else R=O;if(C)S=R;else{C=(v-A<<16)+65536|0;A=yu(C|0,((C|0)<0)<<31>>31|0,16)|0;C=su(A|0,G()|0,I|0,J|0)|0;G()|0;A=C>>16;S=(R|0)>(A|0)?R:A}A=Q+-1|0;Q=(A|0)>0?A:0;A=S+-1|0;S=uu(I|0,J|0,Q|0,0)|0;R=ou(S|0,G()|0,F|0,((F|0)<0)<<31>>31|0)|0;F=G()|0;S=uu(K|0,L|0,Q|0,0)|0;C=ou(S|0,G()|0,e|0,((e|0)<0)<<31>>31|0)|0;e=G()|0;S=(B(Q,k)|0)+i|0;i=(B(Q,l)|0)+j|0;j=z-Q-((A|0)>0?A:0)|0;A=((j|0)>0?j:0)+1|0;if((j|0)<=-1){M=A;return M|0}if(!m){Q=S;z=i;v=j;O=R;N=F;P=C;H=e;while(1){w=Sm(o,(t&Q>>>16)+r|0,(q&z>>>16)+s|0)|0;do if(((w|0?(x=(w|0)/16|0,b=c[2929932+((Sm(p,w-(x<<4)<<3|Q>>>13&7,x<<3|z>>>13&7)|0)<<2)>>2]|0,(b&16|0)==0):0)?(x=wu(O|0,N|0,16)|0,n=G()|0,h=c[694838]|0,u=c[h+28>>2]|0,g=((u|0)<0)<<31>>31,!((n|0)<(g|0)|(n|0)==(g|0)&x>>>0<u>>>0)):0)?(u=c[h+32>>2]|0,g=((u|0)<0)<<31>>31,(n|0)<(g|0)|(n|0)==(g|0)&x>>>0<u>>>0):0){u=wu(P|0,H|0,16)|0;g=G()|0;n=c[h+36>>2]|0;f=((n|0)<0)<<31>>31;if((g|0)<(f|0)|(g|0)==(f|0)&u>>>0<n>>>0)break;n=c[h+40>>2]|0;f=((n|0)<0)<<31>>31;if(!((g|0)<(f|0)|(g|0)==(f|0)&u>>>0<n>>>0))break;n=(c[(c[h+16>>2]|0)+(u<<2)>>2]|0)+x|0;x=c[732529]|0;a[n>>0]=((x^15)&(d[n>>0]|0)|x&b&c[732530])&15}while(0);O=ou(O|0,N|0,I|0,J|0)|0;N=G()|0;P=ou(P|0,H|0,K|0,L|0)|0;H=G()|0;if((v|0)<=0){M=A;break}else{Q=Q+k|0;z=z+l|0;v=v+-1|0}}return M|0}v=S;S=i;i=j;j=R;R=F;F=C;C=e;while(1){e=Sm(o,(t&v>>>16)+r|0,(q&S>>>16)+s|0)|0;do if((((e|0?c[(c[733490]|0)+43548+(e<<2)>>2]&m|0:0)?(z=(e|0)/16|0,Q=c[2929932+((Sm(p,e-(z<<4)<<3|v>>>13&7,z<<3|S>>>13&7)|0)<<2)>>2]|0,(Q&16|0)==0):0)?(z=wu(j|0,R|0,16)|0,H=G()|0,P=c[694838]|0,N=c[P+28>>2]|0,O=((N|0)<0)<<31>>31,!((H|0)<(O|0)|(H|0)==(O|0)&z>>>0<N>>>0)):0)?(N=c[P+32>>2]|0,O=((N|0)<0)<<31>>31,(H|0)<(O|0)|(H|0)==(O|0)&z>>>0<N>>>0):0){N=wu(F|0,C|0,16)|0;O=G()|0;H=c[P+36>>2]|0;w=((H|0)<0)<<31>>31;if((O|0)<(w|0)|(O|0)==(w|0)&N>>>0<H>>>0)break;H=c[P+40>>2]|0;w=((H|0)<0)<<31>>31;if(!((O|0)<(w|0)|(O|0)==(w|0)&N>>>0<H>>>0))break;H=(c[(c[P+16>>2]|0)+(N<<2)>>2]|0)+z|0;z=c[732529]|0;a[H>>0]=((z^15)&(d[H>>0]|0)|z&Q&c[732530])&15}while(0);j=ou(j|0,R|0,I|0,J|0)|0;R=G()|0;F=ou(F|0,C|0,K|0,L|0)|0;C=G()|0;if((i|0)<=0){M=A;break}else{v=v+k|0;S=S+l|0;i=i+-1|0}}return M|0}function Zj(a){a=a|0;var b=0;if(c[515164]|0)lp(1409808,0,1024);c[515164]=1;c[750350]=a;b=(a|0)<3?a:3;if(!(c[733490]|0))return;c[694838]=c[2779356+(((b|0)>0?b:0)<<2)>>2];return}function _j(){var a=0,b=0;if(c[506054]|0)return 1;a=c[694823]|0;b=B((c[a+4>>2]|0)/128|0,(c[a>>2]|0)/128|0)|0;if((b|0)<1)return 1;else return ((b|0)<4?b:4)|0;return 0}function $j(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=c[a>>2]|0;if((f|0)!=(c[b>>2]|0))return;g=a+4|0;h=c[g>>2]|0;if((h|0)!=(c[b+4>>2]|0))return;i=c[a+8>>2]|0;j=c[b+8>>2]|0;if((i|0)==(j|0)){vo(a,b,0,0,0,0,f,h);return}if(!((i|0)==32&(j|0)==8&(h|0)>0))return;j=0;i=f;f=h;while(1){if((i|0)>0){h=0;do{k=Sm(a,h,j)|0;l=k>>>16&255;m=k>>>8&255;n=k&255;k=-1;o=0;p=1e7;while(1){q=c[2929996+(o<<2)>>2]|0;r=l-(d[e+(q*3|0)>>0]|0)|0;s=B(r,r)|0;r=m-(d[e+(q*3|0)+1>>0]|0)|0;t=(B(r,r)|0)+s|0;s=n-(d[e+(q*3|0)+2>>0]|0)|0;q=t+(B(s,s)|0)|0;s=(k|0)==-1|(q|0)<(p|0);k=s?o:k;o=o+1|0;if((o|0)==16)break;else p=s?q:p}Mm(b,h,j,k);h=h+1|0;u=c[a>>2]|0}while((h|0)<(u|0));v=c[g>>2]|0;w=u}else{v=f;w=i}j=j+1|0;if((j|0)>=(v|0))break;else{i=w;f=v}}return}function ak(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;g=c[b>>2]|0;if((g|0)!=(c[e>>2]|0))return;h=b+4|0;i=c[h>>2]|0;if((i|0)!=(c[e+4>>2]|0))return;j=b+8|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;if((k|0)==(m|0)){vo(b,e,0,0,0,0,g,i);return}if((k|0)==8&(m|0)==32){if((i|0)<=0)return;m=b+16|0;n=e+16|0;o=0;p=g;q=i;while(1){if((p|0)>0){r=c[(c[m>>2]|0)+(o<<2)>>2]|0;s=c[(c[n>>2]|0)+(o<<2)>>2]|0;t=0;do{u=a[r+t>>0]|0;v=u&255;c[s+(t<<2)>>2]=(d[f+(v*3|0)>>0]|0)<<16|(u<<24>>24==0?0:-16777216)|(d[f+(v*3|0)+1>>0]|0)<<8|(d[f+(v*3|0)+2>>0]|0);t=t+1|0;w=c[b>>2]|0}while((t|0)<(w|0));x=c[h>>2]|0;y=w}else{x=q;y=p}o=o+1|0;if((o|0)>=(x|0))break;else{p=y;q=x}}z=c[j>>2]|0;A=x;C=y}else{z=k;A=i;C=g}if((z|0)!=32)return;if(!((c[l>>2]|0)==8&(A|0)>0))return;l=0;z=C;C=A;while(1){if((z|0)>0){A=0;do{g=Sm(b,A,l)|0;i=g>>>16&255;k=g>>>8&255;y=g&255;g=-1;x=0;j=1e7;while(1){q=x>>>0<16?x:x+112|0;p=i-(d[f+(q*3|0)>>0]|0)|0;o=B(p,p)|0;p=k-(d[f+(q*3|0)+1>>0]|0)|0;w=(B(p,p)|0)+o|0;o=y-(d[f+(q*3|0)+2>>0]|0)|0;p=w+(B(o,o)|0)|0;o=(g|0)==-1|(p|0)<(j|0);g=o?q:g;x=x+1|0;if((x|0)==32)break;else j=o?p:j}Mm(e,A,l,g);A=A+1|0;D=c[b>>2]|0}while((A|0)<(D|0));E=c[h>>2]|0;F=D}else{E=C;F=z}l=l+1|0;if((l|0)>=(E|0))break;else{z=F;C=E}}return}function bk(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;if((e|0)==0|(f|0)==0){k=h;return k|0}if(!(i&2))l=g;else l=g-((sn(e,f)|0)/2|0)|0;if(!(i&4))m=l;else m=l-(sn(e,f)|0)|0;l=a[e>>0]|0;if(!(l<<24>>24)){k=h;return k|0}n=b+28|0;o=b+32|0;p=b+36|0;q=b+40|0;r=b+16|0;if(!(i&16)){i=e;b=0;s=h;t=m;u=l;while(1){v=c[(c[f>>2]|0)+((u&255)<<2)>>2]|0;w=v+4|0;x=c[w>>2]|0;if((x|0)>0){y=v+16|0;z=0;A=x;B=c[v>>2]|0;while(1){if((B|0)>0){C=z+s|0;D=0;E=B;while(1){if(((((a[(c[(c[y>>2]|0)+(z<<2)>>2]|0)+D>>0]|0)!=0?(F=D+t|0,(F|0)>=(c[n>>2]|0)):0)?(F|0)<(c[o>>2]|0):0)?(C|0)>=(c[p>>2]|0):0)?(C|0)<(c[q>>2]|0):0){G=(c[(c[r>>2]|0)+(C<<2)>>2]|0)+F|0;F=c[732529]|0;a[G>>0]=((F^15)&d[G>>0]|F&j&c[732530])&15;H=c[v>>2]|0}else H=E;D=D+1|0;if((D|0)>=(H|0))break;else E=H}I=H;J=c[w>>2]|0}else{I=B;J=A}z=z+1|0;if((z|0)>=(J|0))break;else{A=J;B=I}}K=J;L=I;M=a[i>>0]|0}else{K=x;L=c[v>>2]|0;M=u}B=(b|0)>(K|0)?b:K;A=M<<24>>24==10;z=A?s+1+B|0:s;i=i+1|0;u=a[i>>0]|0;if(!(u<<24>>24)){k=z;break}else{b=A?0:B;s=z;t=A?g:L+t+1|0}}return k|0}t=e;e=0;L=h;h=m;m=l;while(1){l=c[(c[f>>2]|0)+((m&255)<<2)>>2]|0;s=l+4|0;b=c[s>>2]|0;if((b|0)>0){u=l+16|0;i=0;M=c[l>>2]|0;while(1){if((M|0)>0){K=i+L|0;I=0;J=M;while(1){if(((((a[(c[(c[u>>2]|0)+(i<<2)>>2]|0)+I>>0]|0)!=0?(H=I+h|0,(H|0)>=(c[n>>2]|0)):0)?(H|0)<(c[o>>2]|0):0)?(K|0)>=(c[p>>2]|0):0)?(K|0)<(c[q>>2]|0):0){A=(c[(c[r>>2]|0)+(K<<2)>>2]|0)+H|0;H=c[732529]|0;a[A>>0]=((H^15)&d[A>>0]|H&j&c[732530])&15;N=c[l>>2]|0}else N=J;I=I+1|0;if((I|0)>=(N|0)){O=N;break}else J=N}}else O=M;i=i+1|0;P=c[s>>2]|0;if((i|0)>=(P|0))break;else M=O}Q=P;R=O;S=a[t>>0]|0}else{Q=b;R=c[l>>2]|0;S=m}M=R+h|0;i=(e|0)>(Q|0)?e:Q;if(S<<24>>24!=10?(M|0)<((c[o>>2]|0)+~R|0):0){T=L;U=i;V=M+1|0}else{T=L+1+i|0;U=0;V=g}t=t+1|0;m=a[t>>0]|0;if(!(m<<24>>24)){k=T;break}else{e=U;L=T;h=V}}return k|0}function ck(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;a=(b|0)!=0;if(!e){if(!a){f=0;return f|0}g=b+-4|0;h=c[g>>2]|0;op(g);c[732537]=(c[732537]|0)-h;f=0;return f|0}h=c[732537]|0;if((h-(c[749877]|0)|0)>2097152){c[749952]=1;kg();g=c[732537]|0;if((g-(c[749877]|0)|0)>67108864){tg(56461);ug(56483,(c[732537]|0)/1048576|0,e>>>10);c[749953]=1;f=0;return f|0}else i=g}else i=h;if(a){h=b+-4|0;g=c[h>>2]|0;c[732537]=i-g;i=np(h,e+4|0)|0;j=(g|0)==0?0:e;k=i}else{j=0;k=np(0,e+4|0)|0}i=(b|0)==0;b=i&(d|0)==0&(c[749875]|0)!=0?0:i&(d+-7|0)>>>0<13?32:a?j:(d|0)!=2&(i&d>>>0<7)?e:0;c[732537]=b+(c[732537]|0);c[k>>2]=b;f=k+4|0;return f|0}function dk(){var a=0,b=0;a=c[505641]|0;b=c[729986]|0;if(b|0)c[b+332>>2]=a;b=c[729987]|0;if(b|0)c[b+332>>2]=a;b=c[729988]|0;if(b|0)c[b+332>>2]=a;b=c[729989]|0;if(b|0)c[b+332>>2]=a;b=c[729990]|0;if(b|0)c[b+332>>2]=a;b=c[729991]|0;if(b|0)c[b+332>>2]=a;b=c[729992]|0;if(b|0)c[b+332>>2]=a;b=c[729993]|0;if(b|0)c[b+332>>2]=a;b=c[729994]|0;if(b|0)c[b+332>>2]=a;b=c[729995]|0;if(b|0)c[b+332>>2]=a;b=c[729996]|0;if(b|0)c[b+332>>2]=a;b=c[729997]|0;if(b|0)c[b+332>>2]=a;b=c[729998]|0;if(b|0)c[b+332>>2]=a;b=c[729999]|0;if(b|0)c[b+332>>2]=a;b=c[73e4]|0;if(b|0)c[b+332>>2]=a;b=c[730001]|0;if(!b)return;c[b+332>>2]=a;return}function ek(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=e&65535;h=(e&32768|0)!=0;i=(b|0)!=0;if(i&h?(a[2958338]&16)==0:0){yb(56495);return}j=g>>>0<24320;if((g+-17152|0)>>>0<7168&(c[694852]|0)>0)return;k=f&255;l=k>>>0>127?f|-256:k;if(i)a[b+154644+g>>0]=f;if(h)return;if(g>>>0<4096){h=d+4|0;i=g>>>6;m=e<<1&126;a[(c[(c[(c[h>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+m>>0]=f&15;a[(c[(c[(c[h>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+(m|1)>>0]=f>>>4&15;return}if(g>>>0<8192){m=d+4|0;i=g>>>6;h=e<<1&126;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+h>>0]=f&15;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+(h|1)>>0]=f>>>4&15;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(g>>>7<<2)>>2]|0)+(e&127)>>0]=f;return}if(g>>>0<12288){h=g+-8192|0;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(h>>7<<2)>>2]|0)+(h&127)>>0]=f;return}if(g>>>0<12544){c[d+43548+(g+-12288<<2)>>2]=k;return}if(g>>>0<12800){h=g+-12544|0;i=(h|0)/4|0;m=h&3;c[d+42252+(i<<4)+(m<<2)>>2]=f&127;h=1<<m;m=d+43276+(i<<2)|0;i=c[m>>2]|0;c[m>>2]=i&~h;if(!(f&128))return;c[m>>2]=i|h;return}if(g>>>0<17152){h=g+-12800|0;i=(h|0)/68|0;m=h-(i*68|0)|0;if((m|0)<64){h=(m|0)/2|0;if(!(m&1)){c[d+12+(i*660|0)+20+(h*20|0)>>2]=f&63;n=d+12+(i*660|0)+20+(h*20|0)+4|0;c[n>>2]=c[n>>2]&4|f>>>6&3;return}else{n=d+12+(i*660|0)+20+(h*20|0)+4|0;c[n>>2]=c[n>>2]&3|f<<2&4;c[d+12+(i*660|0)+20+(h*20|0)+8>>2]=f>>>1&7;c[d+12+(i*660|0)+20+(h*20|0)+12>>2]=f>>>4&7;c[d+12+(i*660|0)+20+(h*20|0)+16>>2]=f&128;return}}switch(m|0){case 64:{c[d+12+(i*660|0)+4>>2]=f&1;c[d+12+(i*660|0)>>2]=f&254;return}case 65:{c[d+12+(i*660|0)+8>>2]=k;return}case 66:{c[d+12+(i*660|0)+12>>2]=k;return}case 67:{c[d+12+(i*660|0)+16>>2]=k;return}default:return}}if((b|0)==0|g>>>0<24064)return;if(j){j=g+-24064|0;b=2925276+(((j|0)/4|0)<<2)|0;i=c[b>>2]|0;d=j<<3&24;j=i&~(255<<d)|k<<d;c[b>>2]=j;if((i|0)==(j|0))return;c[749950]=1;return}if(g>>>0>=24448)if(g>>>0<24576){Xl(g+-24448|0,k);return}else{j=g+-24576|0;i=j>>6;b=j<<1&126;a[(c[(c[(c[694838]|0)+16>>2]|0)+(i<<2)>>2]|0)+b>>0]=f&15;a[(c[(c[(c[694838]|0)+16>>2]|0)+(i<<2)>>2]|0)+(b|1)>>0]=f>>>4&15;return}b=g+-24320|0;a:do if(g>>>0<24336)c[2929932+(b<<2)>>2]=k;else{if(g>>>0<24352){c[2929996+(g+-24336<<2)>>2]=k;if(!(f&128))break;jb();break}if(g>>>0<24356){c[2930060+(g+-24352<<2)>>2]=k;Im(c[694838]|0,c[732515]|0,c[732516]|0,c[732517]|0,c[732518]|0);break}do switch((e&65535)<<16>>16){case 24357:{c[732519]=k;return}case 24358:{c[732520]=k;return}case 24359:{c[732521]=k;return}case 24360:{c[732524]=c[732524]&-256|l;return}case 24361:{c[732524]=c[732524]&255|l<<8;return}case 24362:{c[732525]=c[732525]&-256|l;return}case 24363:{c[732525]=c[732525]&255|l<<8;return}case 24364:{c[732527]=k;return}case 24369:{c[732532]=c[732532]&-256|k;return}case 24370:{c[732532]=c[732532]&-65281|k<<8;return}case 24371:{c[732532]=c[732532]&-16711681|k<<16;return}case 24373:{c[732535]=k;return}case 24380:{c[732533]=c[732533]&-256|l;return}case 24381:{c[732533]=c[732533]&255|l<<8;return}case 24382:{c[732534]=c[732534]&-256|l;return}case 24383:{c[732534]=c[732534]&255|l<<8;return}case 24384:{c[732871]=f&15;c[732875]=f>>>4&15;return}case 24385:{c[732872]=f&15;c[732876]=f>>>4&15;return}case 24386:{c[732873]=f&15;c[732877]=f>>>4&15;return}case 24387:{c[732874]=f&15;c[732878]=f>>>4&15;return}default:switch((e&65532)<<16>>16){case 24388:{i=(g<<3)+-195104|0;Bk(0,(Ak(0)|0)&~(255<<i)|k<<i);return}case 24392:{i=(g<<3)+-195136|0;Bk(1,(Ak(1)|0)&~(255<<i)|k<<i);return}default:{i=g+-24396|0;if(i>>>0>=8)break a;c[2930152+(i<<5)>>2]=f&1;c[2930152+(i<<5)+4>>2]=f>>>1&1;c[2930152+(i<<5)+8>>2]=f>>>2&1;c[2930152+(i<<5)+12>>2]=f>>>3&1;c[2930152+(i<<5)+16>>2]=f>>>4&1;c[2930152+(i<<5)+20>>2]=f>>>5&1;return}}}while(0)}while(0);if((b|0)!=94)return;c[732528]=k;c[732529]=f&15;c[732530]=f>>>4&15;return}function fk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=f&65535;h=(b|0)!=0;if(h&g>>>0>32767?(a[2958338]&16)==0:0){i=0;return i|0}if(h)j=d[b+154644+g>>0]|0;else j=0;a:do if(g>>>0>=8192){if(g>>>0<12288){h=g+-8192|0;k=d[(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(h>>7<<2)>>2]|0)+(h&127)>>0]|0;break}if(g>>>0<12544){k=c[e+43548+(g+-12288<<2)>>2]|0;break}if(g>>>0<12800){h=g+-12544|0;l=(h|0)/4|0;m=h&3;h=c[e+42252+(l<<4)+(m<<2)>>2]&127;k=(c[e+43276+(l<<2)>>2]&1<<m|0)==0?h:h|128;break}if(g>>>0<17152){h=g+-12800|0;m=(h|0)/68|0;l=h-(m*68|0)|0;if((l|0)<64){h=(l|0)/2|0;if(!(l&1)){k=c[e+12+(m*660|0)+20+(h*20|0)+4>>2]<<6&192|c[e+12+(m*660|0)+20+(h*20|0)>>2];break}else{k=c[e+12+(m*660|0)+20+(h*20|0)+8>>2]<<1&14|(c[e+12+(m*660|0)+20+(h*20|0)+4>>2]|0)>>>2&1|c[e+12+(m*660|0)+20+(h*20|0)+12>>2]<<4&112|c[e+12+(m*660|0)+20+(h*20|0)+16>>2]&128;break}}switch(l|0){case 64:{k=c[e+12+(m*660|0)>>2]&254|c[e+12+(m*660|0)+4>>2]&1;break a;break}case 65:{k=c[e+12+(m*660|0)+8>>2]|0;break a;break}case 66:{k=c[e+12+(m*660|0)+12>>2]|0;break a;break}case 67:{k=c[e+12+(m*660|0)+16>>2]|0;break a;break}default:{k=j;break a}}}if(!b){i=0;return i|0}if(g>>>0<24064)k=j;else{if(g>>>0<24320){m=g+-24064|0;k=(c[2925276+(((m|0)/4|0)<<2)>>2]|0)>>>(m<<3&24)&255;break}if(g>>>0>=24448){if(g>>>0<24576){k=Yl(g+-24448|0)|0;break}if(g>>>0>=32768){k=j;break}m=g+-24576|0;l=c[(c[(c[694838]|0)+16>>2]|0)+(m>>6<<2)>>2]|0;h=m<<1&126;k=(a[l+(h|1)>>0]<<4&255|a[l+h>>0]&15)&255;break}h=g+-24320|0;b:do if(g>>>0<24336)n=c[2929932+(h<<2)>>2]|0;else{if(g>>>0<24352){n=c[2929996+(g+-24336<<2)>>2]|0;break}if(g>>>0<24356){n=c[2930060+(g+-24352<<2)>>2]|0;break}do switch((f&65535)<<16>>16){case 24357:{n=c[732519]|0;break b;break}case 24358:{n=c[732520]|0;break b;break}case 24359:{n=c[732521]|0;break b;break}case 24360:{n=c[732524]&255;break b;break}case 24361:{n=c[732524]>>8;break b;break}case 24362:{n=c[732525]&255;break b;break}case 24363:{n=c[732525]>>8;break b;break}case 24364:{n=c[732527]|0;break b;break}case 24369:{n=c[732532]&255;break b;break}case 24370:{n=(c[732532]|0)>>>8&255;break b;break}case 24371:{n=(c[732532]|0)>>>16&255;break b;break}case 24373:{n=c[732535]&255;break b;break}case 24380:{n=c[732533]&255;break b;break}case 24381:{n=c[732533]>>8;break b;break}case 24382:{n=c[732534]&255;break b;break}case 24383:{n=c[732534]>>8;break b;break}case 24384:{n=c[732875]<<4&240|c[732871]&15;break b;break}case 24385:{n=c[732876]<<4&240|c[732872]&15;break b;break}case 24386:{n=c[732877]<<4&240|c[732873]&15;break b;break}case 24387:{n=c[732878]<<4&240|c[732874]&15;break b;break}default:switch((f&65532)<<16>>16){case 24388:{n=(Ak(0)|0)>>>((g<<3)+-195104|0)&255;break b;break}case 24392:{n=(Ak(1)|0)>>>((g<<3)+-195136|0)&255;break b;break}default:{l=g+-24396|0;if(l>>>0<8){n=((c[2930152+(l<<5)+20>>2]|0)==0?0:32)|(((c[2930152+(l<<5)+16>>2]|0)==0?0:16)|(((c[2930152+(l<<5)+12>>2]|0)==0?0:8)|(((c[2930152+(l<<5)+8>>2]|0)==0?0:4)|(((c[2930152+(l<<5)+4>>2]|0)==0?0:2)|(c[2930152+(l<<5)>>2]|0)!=0))))|a[2933964+g>>0]&-64&255;break b}if((h|0)!=94){n=j;break b}n=c[732528]&255;break b}}}while(0)}while(0);k=n&255}}else{h=c[(c[(c[e+4>>2]|0)+16>>2]|0)+(g>>>6<<2)>>2]|0;l=f<<1&126;k=((d[h+(l|1)>>0]|0)<<4)+(d[h+l>>0]|0)|0}while(0);i=k&255;return i|0}function gk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((e|0)>32767)return;f=(e|0)>0;if((c|0)<(d|0)){if(!f)return;g=0;do{ek(a,b,g+c|0,fk(a,b,g+d|0)|0);g=g+1|0}while((g|0)!=(e|0));return}else{if(!f)return;f=e;do{e=f;f=f+-1|0;ek(a,b,f+c|0,fk(a,b,f+d|0)|0)}while((e|0)>1);return}}function hk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if((e+-1|0)>>>0>=32767)return;f=0;do{ek(a,b,f+c|0,d);f=f+1|0}while((f|0)<(e|0));return}function ik(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((g|0)>32767)return;if((g|0)>0){h=0;do{ek(b,d,h+e|0,fk(0,c[17264]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}if(!(a[2928608]|0))return;a[2928608]=0;g=30-(c[732417]|0)|0;h=(g|0)<30?g:30;c[732416]=(h|0)>0?h:0;c[732417]=28;return}function jk(a){a=a|0;var b=0,d=0;b=a>>16;a=fk(2779320,c[733490]|0,b)|0;d=((fk(2779320,c[733490]|0,b+1|0)|0)<<8)+a|0;a=d+((fk(2779320,c[733490]|0,b+2|0)|0)<<16)|0;return a+((fk(2779320,c[733490]|0,b+3|0)|0)<<24)|0}function kk(a){a=a|0;var b=0;b=a>>16;a=(fk(2779320,c[733490]|0,b)|0)<<16;return ((fk(2779320,c[733490]|0,b+1|0)|0)<<24)+a|0}function lk(a){a=a|0;return (fk(2779320,c[733490]|0,a>>16)|0)<<16|0}function mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Ga;Ga=Ga+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=0;c[f>>2]=0;c[g>>2]=0;a:do if(b>>>0>7)h=0;else{Mq(b-(c[405787]|0)|0,e,f,g);if((a|0)>=4)switch(a|0){case 4:{h=(c[g>>2]&9|0)==0?0:255;break a;break}case 5:{h=(c[g>>2]&6|0)==0?0:255;break a;break}case 6:{h=(c[g>>2]&64|0)==0?0:255;break a;break}default:{h=0;break a}}i=c[e>>2]|0;j=B((i|0)/2|0,i)|0;k=c[f>>2]|0;b:do if(((B((k|0)/2|0,k)|0)+j|0)>134217728)switch(a|0){case 0:{l=i<<8;m=0-l|0;if((32767-l|0)>>>0>8388606){h=(m|0)<-32767?0:255;break a}h=(m|0)/32768|0;break a;break}case 1:{if((i+127|0)>>>0>32766){h=(i|0)<-127?0:255;break a}h=(i|0)/128|0;break a;break}case 2:{m=k<<8;l=0-m|0;if((32767-m|0)>>>0>8388606){h=(l|0)<-32767?0:255;break a}h=(l|0)/32768|0;break a;break}case 3:{if((k+127|0)>>>0>32766){h=(k|0)<-127?0:255;break a}h=(k|0)/128|0;break a;break}default:break b}else switch(a|0){case 0:{if(!(c[g>>2]&8192))break b;else{h=255;break a}break}case 1:{if(!(c[g>>2]&16384))break b;else{h=255;break a}break}case 2:{if(!(c[g>>2]&2048))break b;else{h=255;break a}break}case 3:{if(!(c[g>>2]&4096))break b;else{h=255;break a}break}default:break b}while(0);h=0}while(0);Ga=d;return h|0}function nk(a){a=a|0;return ((c[405795]|0)==(a|0)|(c[405796]|0)==(a|0)|(c[405797]|0)==(a|0)|(c[405798]|0)==(a|0)|(c[405799]|0)==(a|0)|(c[405800]|0)==(a|0))&1|0}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:do switch(b|0){case 0:{switch(a|0){case 0:{d=c[405795]|0;e=0;f=0;g=(d|0)==0?80:d;h=9;break}case 1:{d=c[405796]|0;e=0;f=0;g=(d|0)==0?79:d;h=9;break}case 2:{d=c[405797]|0;e=0;f=0;g=(d|0)==0?82:d;h=9;break}case 3:{d=c[405798]|0;e=0;f=0;g=(d|0)==0?81:d;h=9;break}case 4:{d=c[405799]|0;e=0;f=1;g=(d|0)==0?29:d;h=9;break}case 5:{d=c[405800]|0;e=1;f=0;g=(d|0)==0?27:d;h=9;break}default:{i=0;j=0;k=0}}if((h|0)==9){i=fn(g)|0;j=e;k=f}if(!(fn(-5)|0)){if(k){d=c[405799]|0;l=fn((d|0)==0?6:d)|0|i}else l=i;if(j){d=c[405800]|0;m=fn((d|0)==0?25:d)|0|l}else m=l}else m=i;if(k){d=c[405799]|0;n=fn((d|0)==0?17:d)|0|m}else n=m;if(j&(fn(-5)|0)==0){d=c[405800]|0;o=fn((d|0)==0?16:d)|0|n}else o=n;d=(a|0)==6;if(d){p=c[405807]|0;q=fn((p|0)==0?19:p)|0|o;p=c[405807]|0;r=q|(fn((p|0)==0?40:p)|0)}else r=o;if(d&((c[750218]|0)==2&(((c[732408]|0)!=1|(c[732414]|0)==0|(c[406684]|0)!=0)^1))){d=c[405807]|0;s=fn((d|0)==0?41:d)|0|r}else s=r;break}case 1:{switch(a|0){case 0:{d=c[405801]|0;if(!d){s=fn(22)|0;break a}else{s=fn(d)|0;break a}break}case 1:{d=c[405802]|0;if(!d){s=fn(9)|0;break a}else{s=fn(d)|0;break a}break}case 2:{d=c[405803]|0;if(!d){s=fn(8)|0;break a}else{s=fn(d)|0;break a}break}case 3:{d=c[405804]|0;if(!d){s=fn(7)|0;break a}else{s=fn(d)|0;break a}break}case 4:{d=c[405805]|0;p=fn((d|0)==0?225:d)|0;d=c[405805]|0;q=fn((d|0)==0?43:d)|0|p;p=c[405805]|0;s=q|(fn((p|0)==0?26:p)|0);break a;break}case 5:{p=c[405806]|0;q=fn((p|0)==0?4:p)|0;p=c[405806]|0;s=fn((p|0)==0?20:p)|0|q;break a;break}default:{s=0;break a}}break}default:s=0}while(0);r=c[2931184+(b<<2)>>2]|0;if((r|0)==-1)return s|0;else return s|(r&1<<a|0)!=0|0;return 0}function pk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;a=0;b=c[406684]|0;while(1){c[2930664+(a<<5)>>2]=1;c[2930152+(a<<5)>>2]=0;if(!b){d=fk(2779320,c[733490]|0,24412)|0;e=(d|0)==0?15:d;f=c[406684]|0}else{e=15;f=b}d=c[515687]|0;if(!(f|d)){g=c[749942]|0;h=(g|0)>0?g:30}else h=30;c[2931216+(a<<5)>>2]=((B(h,e)|0)/30|0)+1;c[2930664+(a<<5)+4>>2]=1;c[2930152+(a<<5)+4>>2]=0;if(!f){g=fk(2779320,c[733490]|0,24412)|0;i=(g|0)==0?15:g;j=c[515687]|0;k=c[406684]|0}else{i=15;j=d;k=f}if(!(k|j)){d=c[749942]|0;l=(d|0)>0?d:30}else l=30;c[2931216+(a<<5)+4>>2]=((B(l,i)|0)/30|0)+1;c[2930664+(a<<5)+8>>2]=1;c[2930152+(a<<5)+8>>2]=0;if(!k){d=fk(2779320,c[733490]|0,24412)|0;m=(d|0)==0?15:d;n=c[515687]|0;o=c[406684]|0}else{m=15;n=j;o=k}if(!(o|n)){d=c[749942]|0;p=(d|0)>0?d:30}else p=30;c[2931216+(a<<5)+8>>2]=((B(p,m)|0)/30|0)+1;c[2930664+(a<<5)+12>>2]=1;c[2930152+(a<<5)+12>>2]=0;if(!o){d=fk(2779320,c[733490]|0,24412)|0;q=(d|0)==0?15:d;r=c[515687]|0;s=c[406684]|0}else{q=15;r=n;s=o}if(!(s|r)){d=c[749942]|0;t=(d|0)>0?d:30}else t=30;c[2931216+(a<<5)+12>>2]=((B(t,q)|0)/30|0)+1;c[2930664+(a<<5)+16>>2]=1;c[2930152+(a<<5)+16>>2]=0;if(!s){d=fk(2779320,c[733490]|0,24412)|0;u=(d|0)==0?15:d;v=c[515687]|0;w=c[406684]|0}else{u=15;v=r;w=s}if(!(w|v)){d=c[749942]|0;x=(d|0)>0?d:30}else x=30;c[2931216+(a<<5)+16>>2]=((B(x,u)|0)/30|0)+1;c[2930664+(a<<5)+20>>2]=1;c[2930152+(a<<5)+20>>2]=0;if(!w){d=fk(2779320,c[733490]|0,24412)|0;y=(d|0)==0?15:d;z=c[515687]|0;A=c[406684]|0}else{y=15;z=v;A=w}if(!(A|z)){d=c[749942]|0;C=(d|0)>0?d:30}else C=30;c[2931216+(a<<5)+20>>2]=((B(C,y)|0)/30|0)+1;c[2930664+(a<<5)+24>>2]=1;c[2930152+(a<<5)+24>>2]=0;if(!A){d=fk(2779320,c[733490]|0,24412)|0;D=(d|0)==0?15:d;E=c[515687]|0;F=c[406684]|0}else{D=15;E=z;F=A}if(!(F|E)){d=c[749942]|0;G=(d|0)>0?d:30}else G=30;c[2931216+(a<<5)+24>>2]=((B(G,D)|0)/30|0)+1;c[2930664+(a<<5)+28>>2]=1;c[2930152+(a<<5)+28>>2]=0;if(!F){d=fk(2779320,c[733490]|0,24412)|0;H=(d|0)==0?15:d;I=c[515687]|0;J=c[406684]|0}else{H=15;I=E;J=F}if(!(J|I)){d=c[749942]|0;K=(d|0)>0?d:30}else K=30;c[2931216+(a<<5)+28>>2]=((B(K,H)|0)/30|0)+1;a=a+1|0;if((a|0)==8)break;else b=J}return}function qk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;Eu(2930152,0,256)|0;if((c[505646]|0)>0){c[732538]=io(2)|0;c[732539]=io(2)|0;c[732540]=io(2)|0;c[732541]=io(2)|0;c[732542]=io(2)|0;c[732543]=io(2)|0;c[732546]=io(2)|0;c[732547]=io(2)|0;c[732548]=io(2)|0;c[732549]=io(2)|0;c[732550]=io(2)|0;c[732551]=io(2)|0;c[732554]=io(2)|0;c[732555]=io(2)|0;c[732556]=io(2)|0;c[732557]=io(2)|0;c[732558]=io(2)|0;c[732559]=io(2)|0;c[732562]=io(2)|0;c[732563]=io(2)|0;c[732564]=io(2)|0;c[732565]=io(2)|0;c[732566]=io(2)|0;c[732567]=io(2)|0;c[732570]=io(2)|0;c[732571]=io(2)|0;c[732572]=io(2)|0;c[732573]=io(2)|0;c[732574]=io(2)|0;c[732575]=io(2)|0;c[732578]=io(2)|0;c[732579]=io(2)|0;c[732580]=io(2)|0;c[732581]=io(2)|0;c[732582]=io(2)|0;c[732583]=io(2)|0;c[732586]=io(2)|0;c[732587]=io(2)|0;c[732588]=io(2)|0;c[732589]=io(2)|0;c[732590]=io(2)|0;c[732591]=io(2)|0;c[732594]=io(2)|0;c[732595]=io(2)|0;c[732596]=io(2)|0;c[732597]=io(2)|0;c[732598]=io(2)|0;c[732599]=io(2)|0;return}a=0;do{b=0;do{if((ok(b,a)|0)==0?(mk(b,a)|0)<=128:0)c[2930664+(a<<5)+(b<<2)>>2]=0;else d=7;if(((d|0)==7?(d=0,(c[2930664+(a<<5)+(b<<2)>>2]|0)==0):0)?(c[2930152+(a<<5)+(b<<2)>>2]=1,(c[2930408+(a<<5)+(b<<2)>>2]|0)==0):0){e=c[406684]|0;if(!e){f=fk(2779320,c[733490]|0,24412)|0;g=(f|0)==0?15:f;h=c[406684]|0}else{g=15;h=e}if(!(h|c[515687])){e=c[749942]|0;i=(e|0)>0?e:30}else i=30;c[2931216+(a<<5)+(b<<2)>>2]=((B(i,g)|0)/30|0)+1}b=b+1|0}while((b|0)!=8);a=a+1|0}while((a|0)!=8);c[732794]=c[515681];c[732795]=c[515682];c[515681]=0;c[515682]=0;return}function rk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;if((c[732408]|0)!=1|(c[732414]|0)==0|(c[406684]|0)!=0)a=0;else{qk();a=1}b=0;do{d=2930920+(b<<5)|0;c[d>>2]=0;e=c[2930152+(b<<5)>>2]|0;f=2930408+(b<<5)|0;do if(e|0){if(c[f>>2]|0?(c[2931216+(b<<5)>>2]|0)!=1:0)break;if(!(c[2930664+(b<<5)>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2930920+(b<<5)+4|0;c[d>>2]=0;g=c[2930152+(b<<5)+4>>2]|0;h=2930408+(b<<5)+4|0;do if(g|0){if(c[h>>2]|0?(c[2931216+(b<<5)+4>>2]|0)!=1:0)break;if(!(c[2930664+(b<<5)+4>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=2930920+(b<<5)+8|0;c[d>>2]=0;e=c[2930152+(b<<5)+8>>2]|0;f=2930408+(b<<5)+8|0;do if(e|0){if(c[f>>2]|0?(c[2931216+(b<<5)+8>>2]|0)!=1:0)break;if(!(c[2930664+(b<<5)+8>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2930920+(b<<5)+12|0;c[d>>2]=0;g=c[2930152+(b<<5)+12>>2]|0;h=2930408+(b<<5)+12|0;do if(g|0){if(c[h>>2]|0?(c[2931216+(b<<5)+12>>2]|0)!=1:0)break;if(!(c[2930664+(b<<5)+12>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=2930920+(b<<5)+16|0;c[d>>2]=0;e=c[2930152+(b<<5)+16>>2]|0;f=2930408+(b<<5)+16|0;do if(e|0){if(c[f>>2]|0?(c[2931216+(b<<5)+16>>2]|0)!=1:0)break;if(!(c[2930664+(b<<5)+16>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2930920+(b<<5)+20|0;c[d>>2]=0;g=c[2930152+(b<<5)+20>>2]|0;h=2930408+(b<<5)+20|0;do if(g|0){if(c[h>>2]|0?(c[2931216+(b<<5)+20>>2]|0)!=1:0)break;if(!(c[2930664+(b<<5)+20>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=2930920+(b<<5)+24|0;c[d>>2]=0;e=c[2930152+(b<<5)+24>>2]|0;f=2930408+(b<<5)+24|0;do if(e|0){if(c[f>>2]|0?(c[2931216+(b<<5)+24>>2]|0)!=1:0)break;if(!(c[2930664+(b<<5)+24>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2930920+(b<<5)+28|0;c[d>>2]=0;g=c[2930152+(b<<5)+28>>2]|0;h=2930408+(b<<5)+28|0;do if(g|0){if(c[h>>2]|0?(c[2931216+(b<<5)+28>>2]|0)!=1:0)break;if(!(c[2930664+(b<<5)+28>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;b=b+1|0}while((b|0)!=8);if((fk(2779320,c[733490]|0,24412)|0)!=255){b=0;do{d=2931216+(b<<5)|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[406684]|0;if(!f){e=fk(2779320,c[733490]|0,24413)|0;i=(e|0)==0?4:e;j=c[406684]|0}else{i=4;j=f}if(!(j|c[515687])){f=c[749942]|0;k=(f|0)>0?f:30}else k=30;c[d>>2]=(B(k,i)|0)/30|0}d=2931216+(b<<5)+4|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[406684]|0;if(!e){f=fk(2779320,c[733490]|0,24413)|0;l=(f|0)==0?4:f;m=c[406684]|0}else{l=4;m=e}if(!(m|c[515687])){e=c[749942]|0;n=(e|0)>0?e:30}else n=30;c[d>>2]=(B(n,l)|0)/30|0}d=2931216+(b<<5)+8|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[406684]|0;if(!f){e=fk(2779320,c[733490]|0,24413)|0;o=(e|0)==0?4:e;p=c[406684]|0}else{o=4;p=f}if(!(p|c[515687])){f=c[749942]|0;q=(f|0)>0?f:30}else q=30;c[d>>2]=(B(q,o)|0)/30|0}d=2931216+(b<<5)+12|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[406684]|0;if(!e){f=fk(2779320,c[733490]|0,24413)|0;r=(f|0)==0?4:f;s=c[406684]|0}else{r=4;s=e}if(!(s|c[515687])){e=c[749942]|0;t=(e|0)>0?e:30}else t=30;c[d>>2]=(B(t,r)|0)/30|0}d=2931216+(b<<5)+16|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[406684]|0;if(!f){e=fk(2779320,c[733490]|0,24413)|0;u=(e|0)==0?4:e;v=c[406684]|0}else{u=4;v=f}if(!(v|c[515687])){f=c[749942]|0;w=(f|0)>0?f:30}else w=30;c[d>>2]=(B(w,u)|0)/30|0}d=2931216+(b<<5)+20|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[406684]|0;if(!e){f=fk(2779320,c[733490]|0,24413)|0;x=(f|0)==0?4:f;y=c[406684]|0}else{x=4;y=e}if(!(y|c[515687])){e=c[749942]|0;z=(e|0)>0?e:30}else z=30;c[d>>2]=(B(z,x)|0)/30|0}d=2931216+(b<<5)+24|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[406684]|0;if(!f){e=fk(2779320,c[733490]|0,24413)|0;A=(e|0)==0?4:e;C=c[406684]|0}else{A=4;C=f}if(!(C|c[515687])){f=c[749942]|0;D=(f|0)>0?f:30}else D=30;c[d>>2]=(B(D,A)|0)/30|0}d=2931216+(b<<5)+28|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[406684]|0;if(!e){f=fk(2779320,c[733490]|0,24413)|0;E=(f|0)==0?4:f;F=c[406684]|0}else{E=4;F=e}if(!(F|c[515687])){e=c[749942]|0;G=(e|0)>0?e:30}else G=30;c[d>>2]=(B(G,E)|0)/30|0}b=b+1|0}while((b|0)!=8)}if(a|0)return;qk();return}function sk(a,b){a=a|0;b=b|0;var d=0,e=0;if((b|a)>>>0>=8){d=0;return d|0}e=c[2930152+(b<<5)+(a<<2)>>2]|0;if(!(c[2930408+(b<<5)+(a<<2)>>2]|0)){d=e;return d|0}else return ((c[2931216+(b<<5)+(a<<2)>>2]|0)==1?e:0)|0;return 0}function tk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;e=Ga;Ga=Ga+64|0;f=e+40|0;g=e+32|0;h=e+8|0;i=e;j=e+48|0;k=mp(131072)|0;l=mp(131072)|0;m=mp(131072)|0;n=mp(131072)|0;o=mp(131072)|0;a[d>>0]=0;if(!(a[b>>0]|0)){op(k);op(l);op(m);op(n);op(o);Ga=e;return}p=m;q=l+1|0;r=b;b=1;s=1;while(1){a[k>>0]=0;a[l>>0]=0;a[m>>0]=0;Eu(n|0,0,131072)|0;t=0;u=0;v=0;w=0;x=0;y=r;z=b;while(1){if(x>>>0>=16384){A=t;B=u;C=w;D=y;E=z;break}x=x+1|0;if(!z)F=ah(y)|0;else F=bh(y)|0;G=ch()|0;if((G|0)<-998|(G|0)==-995)if(y>>>0<F>>>0){H=y;I=w;while(1){J=I+((a[H>>0]|0)==10&1)|0;H=H+1|0;if((H|0)==(F|0)){K=t;L=u;M=v;N=J;break}else I=J}}else{K=t;L=u;M=v;N=w}else{I=F-y|0;Du(m+v|0,y|0,I|0)|0;H=I+v|0;a[m+H>>0]=0;switch(G|0){case -996:{if((I|0)>0){I=v+1|0;Eu(n+v|0,1,((H|0)>(I|0)?H:I)-v|0)|0;O=H}else O=H;break}case -997:{I=m+(Ms(m)|0)|0;a[I>>0]=32;a[I+1>>0]=0;O=H+1|0;break}default:O=H}K=(G|0)==-985?1:t;L=(G|0)==-989?1:u;M=O;N=w}if(!((G|1|0)!=-999&(F|0)!=0)){A=K;B=L;C=N;D=F;E=0;break}else{t=K;u=L;v=M;w=N;y=F;z=0}}z=m;a:while(1){switch(a[z>>0]|0){case 63:{P=21;break a;break}case 9:case 32:break;default:break a}z=z+1|0}if((P|0)==21){P=0;rm(l,z)|0;c[i>>2]=q;as(z,56513,i)|0;y=(Ms(m)|0)+5|0;if((y|0)>4){w=y;while(1){a[n+w>>0]=a[n+(w+-5)>>0]|0;if((w|0)>5)w=w+-1|0;else break}};a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0}w=n;z=m;while(1){y=Lt(z,56523)|0;if(y){v=y-z|0;u=v+2|0;if(!((a[w+(v+1)>>0]|a[w+v>>0])<<24>>24)){a[y>>0]=126;Q=1;P=30}else{R=w+u|0;S=z+u|0}}else{Q=0;P=30}if((P|0)==30){P=0;u=n;y=m;while(1){T=Lt(y,56526)|0;if(!T){P=32;break}v=T-y|0;t=v+2|0;if(!((a[u+(v+1)>>0]|a[u+v>>0])<<24>>24)){P=38;break}else{u=u+t|0;y=y+t|0}}b:do if((P|0)==32){P=0;y=n;u=m;while(1){U=Lt(u,56529)|0;if(!U)break;G=U-u|0;t=G+2|0;if(!((a[y+(G+1)>>0]|a[y+G>>0])<<24>>24)){P=37;break}else{y=y+t|0;u=u+t|0}}if((P|0)==37){P=0;a[j>>0]=a[56529]|0;a[j+1>>0]=a[56530]|0;a[j+2>>0]=a[56531]|0;V=U;P=94;break}u=n;y=m;while(1){W=Lt(y,56532)|0;if(!W)break;t=W-y|0;G=t+2|0;if(!((a[u+(t+1)>>0]|a[u+t>>0])<<24>>24)){P=42;break}else{u=u+G|0;y=y+G|0}}if((P|0)==42){P=0;a[j>>0]=a[56532]|0;a[j+1>>0]=a[56533]|0;a[j+2>>0]=a[56534]|0;V=W;P=94;break}y=n;u=m;while(1){X=Lt(u,56535)|0;if(!X)break;G=X-u|0;t=G+2|0;if(!((a[y+(G+1)>>0]|a[y+G>>0])<<24>>24)){P=46;break}else{y=y+t|0;u=u+t|0}}if((P|0)==46){P=0;a[j>>0]=a[56535]|0;a[j+1>>0]=a[56536]|0;a[j+2>>0]=a[56537]|0;V=X;P=94;break}u=n;y=m;while(1){Y=Lt(y,56538)|0;if(!Y)break;t=Y-y|0;G=t+2|0;if(!((a[u+(t+1)>>0]|a[u+t>>0])<<24>>24)){P=50;break}else{u=u+G|0;y=y+G|0}}if((P|0)==50){P=0;a[j>>0]=a[56538]|0;a[j+1>>0]=a[56539]|0;a[j+2>>0]=a[56540]|0;V=Y;P=94;break}y=n;u=m;while(1){Z=Lt(u,56541)|0;if(!Z)break;G=Z-u|0;t=G+2|0;if(!((a[y+(G+1)>>0]|a[y+G>>0])<<24>>24)){P=54;break}else{y=y+t|0;u=u+t|0}}if((P|0)==54){P=0;a[j>>0]=a[56541]|0;a[j+1>>0]=a[56542]|0;a[j+2>>0]=a[56543]|0;V=Z;P=94;break}u=n;y=m;while(1){_=Lt(y,56544)|0;if(!_)break;t=_-y|0;G=t+2|0;if(!((a[u+(t+1)>>0]|a[u+t>>0])<<24>>24)){P=58;break}else{u=u+G|0;y=y+G|0}}if((P|0)==58){P=0;a[j>>0]=a[56544]|0;a[j+1>>0]=a[56545]|0;a[j+2>>0]=a[56546]|0;V=_;P=94;break}y=n;u=m;while(1){$=Lt(u,56547)|0;if(!$)break;G=$-u|0;t=G+2|0;if(!((a[y+(G+1)>>0]|a[y+G>>0])<<24>>24)){P=62;break}else{y=y+t|0;u=u+t|0}}if((P|0)==62){P=0;a[j>>0]=a[56547]|0;a[j+1>>0]=a[56548]|0;a[j+2>>0]=a[56549]|0;V=$;P=94;break}u=n;y=m;while(1){aa=Lt(y,56550)|0;if(!aa)break;t=aa-y|0;G=t+3|0;if(!((a[u+(t+2)>>0]|(a[u+(t+1)>>0]|a[u+t>>0]))<<24>>24)){P=66;break}else{u=u+G|0;y=y+G|0}}if((P|0)==66){P=0;c[j>>2]=4021854;V=aa;P=94;break}y=n;u=m;while(1){ba=Lt(u,56554)|0;if(!ba)break;G=ba-u|0;t=G+4|0;if(!((a[y+(G+3)>>0]|(a[y+(G+2)>>0]|(a[y+(G+1)>>0]|a[y+G>>0])))<<24>>24)){P=70;break}else{y=y+t|0;u=u+t|0}}if((P|0)==70){P=0;a[j>>0]=a[56554]|0;a[j+1>>0]=a[56555]|0;a[j+2>>0]=a[56556]|0;a[j+3>>0]=a[56557]|0;a[j+4>>0]=a[56558]|0;V=ba;P=94;break}u=n;y=m;while(1){ca=Lt(y,56559)|0;if(!ca)break;t=ca-y|0;G=t+4|0;if(!((a[u+(t+3)>>0]|(a[u+(t+2)>>0]|(a[u+(t+1)>>0]|a[u+t>>0])))<<24>>24)){P=74;break}else{u=u+G|0;y=y+G|0}}if((P|0)==74){P=0;a[j>>0]=a[56559]|0;a[j+1>>0]=a[56560]|0;a[j+2>>0]=a[56561]|0;a[j+3>>0]=a[56562]|0;a[j+4>>0]=a[56563]|0;V=ca;P=94;break}y=n;u=m;while(1){da=Lt(u,56564)|0;if(!da)break;G=da-u|0;t=G+3|0;if(!((a[y+(G+2)>>0]|(a[y+(G+1)>>0]|a[y+G>>0]))<<24>>24)){P=78;break}else{y=y+t|0;u=u+t|0}}if((P|0)==78){P=0;c[j>>2]=4013116;V=da;P=94;break}u=n;y=m;while(1){ea=Lt(y,56568)|0;if(!ea)break;t=ea-y|0;G=t+4|0;if(!((a[u+(t+3)>>0]|(a[u+(t+2)>>0]|(a[u+(t+1)>>0]|a[u+t>>0])))<<24>>24)){P=82;break}else{u=u+G|0;y=y+G|0}}if((P|0)==82){P=0;a[j>>0]=a[56568]|0;a[j+1>>0]=a[56569]|0;a[j+2>>0]=a[56570]|0;a[j+3>>0]=a[56571]|0;a[j+4>>0]=a[56572]|0;V=ea;P=94;break}y=n;u=m;while(1){fa=Lt(u,56573)|0;if(!fa)break;G=fa-u|0;t=G+3|0;if(!((a[y+(G+2)>>0]|(a[y+(G+1)>>0]|a[y+G>>0]))<<24>>24)){P=86;break}else{y=y+t|0;u=u+t|0}}if((P|0)==86){P=0;c[j>>2]=4013630;V=fa;P=94;break}u=n;y=m;while(1){ga=Lt(y,56577)|0;if(!ga)break;t=ga-y|0;G=t+2|0;if(!((a[u+(t+1)>>0]|a[u+t>>0])<<24>>24)){P=90;break}else{u=u+G|0;y=y+G|0}}if((P|0)==90){P=0;a[j>>0]=a[56577]|0;a[j+1>>0]=a[56578]|0;a[j+2>>0]=a[56579]|0;V=ga;P=94;break}y=n;u=m;while(1){ha=Lt(u,56580)|0;if(!ha){P=126;break b}G=ha-u|0;t=G+3|0;if(!((a[y+(G+2)>>0]|(a[y+(G+1)>>0]|a[y+G>>0]))<<24>>24))break;else{y=y+t|0;u=u+t|0}}c[j>>2]=4009518;V=ha;P=94}else if((P|0)==38){P=0;a[j>>0]=a[56526]|0;a[j+1>>0]=a[56527]|0;a[j+2>>0]=a[56528]|0;V=T;P=94}while(0);if((P|0)==94){P=0;if((V|0)!=0&V>>>0>m>>>0){a[o>>0]=0;u=V;while(1){y=u+-1|0;ia=a[y>>0]|0;ja=y>>>0>m>>>0;if(ia<<24>>24==32&ja)u=y;else break}c:do if(ja){y=0;t=ia<<24>>24==93&1;G=-1;while(1){d:do if((t|0)<=0?(v=a[u+G+-1>>0]|0,x=v<<24>>24,v<<24>>24!=46):0){if(!y){if(v<<24>>24==58)break}else switch(x|0){case 40:case 41:case 58:case 91:case 93:{break d;break}default:{}}if(!(Wg(x)|0)){ka=G;break c}}while(0);x=G+-1|0;v=u+x|0;H=a[v>>0]|0;I=H<<24>>24==91;J=t+(H<<24>>24==93&1)+(I<<31>>31)+(H<<24>>24==41&1)+((H<<24>>24==40)<<31>>31)|0;switch(H<<24>>24){case 58:case 46:{la=1;break}default:la=0}if(v>>>0>m>>>0){y=I&(J|0)==0?1:la;t=J;G=x}else{ka=x;break c}}}else ka=-1;while(0);G=ka;while(1)if((G|0)<-1&(Vg(a[u+G>>0]|0)|0)==0)G=G+1|0;else break;rm(k,u+G|0)|0;a[k+(0-G)>>0]=0;a[u>>0]=0;t=V+(Ms(j)|0)|0;bh(m)|0;y=ah(t)|0;x=ch()|0;e:do if((x|1|0)!=-999){J=0;I=t;v=0;H=x;ma=y;f:while(1){g:do if((J|0)==1){switch(H|0){case 40:case 91:case 123:{na=v+1|0;break}default:na=v}switch(H|0){case 41:case 93:case 125:{oa=na+-1|0;break}default:oa=na}if((oa|0)<0)break f;else{pa=(oa|0)==0?2:1;qa=oa}}else{switch(H|0){case 40:case 91:case 123:{pa=1;qa=1;break g;break}case 37:case 42:case 43:case 45:case 47:case 94:case -962:{pa=0;qa=v;break g;break}default:{}}if(((H&-9)+973|0)>>>0>=2){switch(H|0){case 35:case 36:case 37:case 38:case 46:case 58:case 64:case 92:case 124:case 126:case -974:case -970:case -969:case -968:case -967:case -957:case -956:case -955:case -954:case -953:case -952:{pa=0;qa=v;break g;break}default:{}}if((J|0)==2)break f;else{pa=2;qa=v}}else{pa=0;qa=v}}while(0);ra=ah(ma)|0;H=ch()|0;if((H|1|0)==-999)break e;else{sa=ma;J=pa;v=qa;ma=ra;I=sa}}rm(o,I)|0;a[I>>0]=0}while(0);a[j+((Ms(j)|0)+-1)>>0]=0;c[h>>2]=m;c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=t;c[h+16>>2]=o;as(l,56584,h)|0;rm(m,l)|0;ta=1}else P=126}if((P|0)==126){P=0;if(!Q)break;else ta=Q}Eu(n|0,0,(Ms(m)|0)+1|0)|0;y=bh(m)|0;if(y|0){x=0;u=y;do{y=ch()|0;G=u;ma=x;x=G-p|0;if((y|0)==-996&(ma|0)<(x|0))Eu(n+ma|0,1,G-p-ma|0)|0;u=ah(u)|0}while((y|1|0)!=-999&(u|0)!=0)}if(!ta)break;else{R=n;S=m}}w=R;z=S}h:do if(!B){z=n;w=m;while(1){u=Lt(w,56603)|0;if(!u){ua=0;break}x=u-w|0;t=x+3|0;if(!((a[z+(x+2)>>0]|(a[z+(x+1)>>0]|a[z+x>>0]))<<24>>24)){ua=u;break}else{z=z+t|0;w=w+t|0}}w=n;z=m;while(1){t=Lt(z,56607)|0;if(!t){va=ua;P=140;break h}u=t-z|0;x=u+3|0;if(!((a[w+(u+2)>>0]|(a[w+(u+1)>>0]|a[w+u>>0]))<<24>>24)){wa=2;xa=t;ya=ua;break}else{w=w+x|0;z=z+x|0}}}else{va=0;P=140}while(0);if((P|0)==140){P=0;if(!va)if(!A){z=n;w=m;while(1){x=Lt(w,56611)|0;if(!x){za=0;break}t=x-w|0;u=t+6|0;if(!((a[z+(t+5)>>0]|(a[z+(t+4)>>0]|(a[z+(t+3)>>0]|(a[z+(t+2)>>0]|(a[z+(t+1)>>0]|a[z+t>>0])))))<<24>>24)){za=x;break}else{z=z+u|0;w=w+u|0}}w=n;z=m;while(1){u=Lt(z,56618)|0;if(!u){Aa=0;break}x=u-z|0;t=x+6|0;if(!((a[w+(x+5)>>0]|(a[w+(x+4)>>0]|(a[w+(x+3)>>0]|(a[w+(x+2)>>0]|(a[w+(x+1)>>0]|a[w+x>>0])))))<<24>>24)){Aa=u;break}else{w=w+t|0;z=z+t|0}}wa=(za|0)!=0|(Aa|0)!=0?5:0;xa=Aa;ya=za}else{wa=0;xa=0;ya=0}else{wa=2;xa=0;ya=va}}z=(xa|0)!=0;w=(ya|0)!=0&z?(ya>>>0<xa>>>0?ya:xa):z?xa:ya;i:do if(w|0){if((w|0)!=(m|0))switch(a[w+-1>>0]|0){case 9:case 32:break;default:break i}z=w+wa|0;j:while(1){switch(a[z>>0]|0){case 40:{break j;break}case 32:case 9:break;default:break i}z=z+1|0}t=z+1|0;u=a[t>>0]|0;if(u<<24>>24){x=1;y=t;t=u;while(1){if(!((x|0)>0&t<<24>>24!=10)){Ba=x;Ca=y;Da=t;break}u=(a[n+(y-p)>>0]|0)==0?x+(t<<24>>24==40&1)+((t<<24>>24==41)<<31>>31)|0:x;ma=y+1|0;t=a[ma>>0]|0;if(!(t<<24>>24)){Ba=u;Ca=ma;Da=0;break}else{x=u;y=ma}}if(!Ba){y=l+(Ca-p)|0;switch(wa&7){case 2:{x=Ca;t=Da;k:while(1){switch(t<<24>>24){case 10:case 0:{break i;break}default:{}}if(((t&-33)+-65&255)<26)break;if((((t<<24>>24)+256|0)%256|0|0)>127)break;switch(t<<24>>24){case 95:case 31:case 30:{break k;break}case 9:case 32:break;default:break i}z=x+1|0;x=z;t=a[z>>0]|0}ah(x)|0;if((ch()|0)==-973)break i;if((ch()|0)==-972)break i;rm(l,m)|0;a[y>>0]=0;c[g>>2]=l;c[g+4>>2]=Ca;as(k,56625,g)|0;rm(m,k)|0;break i;break}case 5:{t=Ca;z=Da;l:while(1){switch(z<<24>>24){case 10:case 0:{break i;break}default:{}}if(((z&-33)+-65&255)<26)break;if((((z<<24>>24)+256|0)%256|0|0)>127)break;switch(z<<24>>24){case 95:case 31:case 30:{break l;break}case 9:case 32:break;default:break i}ma=t+1|0;t=ma;z=a[ma>>0]|0}ah(t)|0;if((ch()|0)==-973)break i;if((ch()|0)==-972)break i;rm(l,m)|0;a[y>>0]=0;c[f>>2]=l;c[f+4>>2]=Ca;as(k,56641,f)|0;rm(m,k)|0;break i;break}default:{z=Ca;x=Da;m:while(1){switch(x<<24>>24){case 10:case 0:{break i;break}default:{}}if(((x&-33)+-65&255)<26)break;if((((x<<24>>24)+256|0)%256|0|0)>127)break;switch(x<<24>>24){case 95:case 31:case 30:{break m;break}case 9:case 32:break;default:break i}ma=z+1|0;z=ma;x=a[ma>>0]|0}ah(z)|0;if((ch()|0)==-973)break i;if((ch()|0)==-972)break i;rm(l,m)|0;a[y>>0]=0;rm(m,k)|0;break i}}}}}while(0);Ws(d,m)|0;if(C|0){w=C;do{w=w+-1|0;x=d+(Ms(d)|0)|0;a[x>>0]=10;a[x+1>>0]=0}while((w|0)!=0)}w=(a[D>>0]|0)!=0;if(s>>>0<65536&w){r=D;b=E;s=s+(w&1)|0}else break}op(k);op(l);op(m);op(n);op(o);Ga=e;return}function uk(a,b){a=a|0;b=b|0;var c=0;c=uu(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=xu(c|0,G()|0,16)|0;G()|0;return a|0}function vk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)>65535&(b&65535|0)==0){c=(a|0)/(b>>>16|0)|0;return c|0}if(!b){c=(a>>31&2)+2147483647|0;return c|0}else{d=yu(a|0,((a|0)<0)<<31>>31|0,16)|0;a=su(d|0,G()|0,b|0,((b|0)<0)<<31>>31|0)|0;b=G()|0;d=(b|0)<0|(b|0)==0&a>>>0<2147483647;e=d?a:2147483647;a=d?b:0;b=(a|0)>-1|(a|0)==-1&e>>>0>2147483649;a=b?e:-2147483647;c=a;return c|0}return 0}function wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!b){c=a;return c|0}d=(b|0)<0?0-b|0:b;b=((a|0)==-2147483648?d:0)+a|0;if((b|0)<0)e=d-((0-b|0)%(d|0)|0)|0;else e=b;c=(e|0)%(d|0)|0;return c|0}function xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!b){c=65536;return c|0}if((b|0)<0){if(!((a|0)>65535&(a&65535|0)==0))if(!a)d=2147483647;else{e=su(0,1,a|0,((a|0)<0)<<31>>31|0)|0;f=G()|0;g=(f|0)<0|(f|0)==0&e>>>0<2147483647;h=g?e:2147483647;e=g?f:0;f=(e|0)>-1|(e|0)==-1&h>>>0>2147483649;e=f?h:-2147483647;d=e}else d=65536/(a>>>16>>>0)|0;i=0-b|0;j=d}else{i=b;j=a}a=i&-65536;b=i-a|0;if((a|0)>65535){i=j;d=65536;e=a;while(1){a=((i|0)<0)<<31>>31;h=uu(i|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;f=xu(h|0,G()|0,16)|0;G()|0;h=(e&65536|0)==0?d:f;f=uu(i|0,a|0,i|0,a|0)|0;i=xu(f|0,G()|0,16)|0;G()|0;if(e>>>0<=131071){k=h;break}else{d=h;e=e>>>1}}}else k=65536;if((b|0)>0){e=b;b=j;j=k;while(1){if((e|0)<65536){d=e;i=b;while(1){h=yu(i|0,((i|0)<0)<<31>>31|0,16)|0;f=G()|0;if((i|0)<0)l=0;else{a=1073741824;g=0;while(1){m=xu(g|0,a|0,2)|0;n=G()|0;if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>h>>>0){a=n;g=m}else break}if((g|0)==0&(a|0)==0)o=0;else{m=0;n=0;p=g;q=a;r=f;s=h;while(1){t=ou(m|0,n|0,p|0,q|0)|0;u=G()|0;if(r>>>0<u>>>0|(r|0)==(u|0)&s>>>0<t>>>0){v=xu(m|0,n|0,1)|0;w=s;x=r;y=v;z=G()|0}else{v=pu(s|0,r|0,t|0,u|0)|0;u=G()|0;t=xu(m|0,n|0,1)|0;A=ou(t|0,G()|0,p|0,q|0)|0;w=v;x=u;y=A;z=G()|0}p=xu(p|0,q|0,2)|0;q=G()|0;if((p|0)==0&(q|0)==0)break;else{m=y;n=z;r=x;s=w}}o=y}Rg(8);l=o}s=d<<1;if((d|0)<32768){d=s;i=l}else{B=s;C=l;break}}}else{B=e;C=b}i=uu(C|0,((C|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0;d=xu(i|0,G()|0,16)|0;G()|0;if((B|0)>65536){e=B+-65536|0;b=C;j=d}else{D=d;break}}}else D=k;Rg(8);c=D;return c|0}function yk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=yu(a|0,((a|0)<0)<<31>>31|0,16)|0;c=G()|0;if((a|0)<0){d=0;return d|0}a=1073741824;e=0;while(1){f=xu(e|0,a|0,2)|0;g=G()|0;if(a>>>0>c>>>0|(a|0)==(c|0)&e>>>0>b>>>0){a=g;e=f}else break}if((e|0)==0&(a|0)==0)h=0;else{f=e;e=a;a=0;g=0;i=c;c=b;while(1){b=ou(f|0,e|0,a|0,g|0)|0;j=G()|0;if(i>>>0<j>>>0|(i|0)==(j|0)&c>>>0<b>>>0){k=xu(a|0,g|0,1)|0;l=c;m=i;n=k;o=G()|0}else{k=pu(c|0,i|0,b|0,j|0)|0;j=G()|0;b=xu(a|0,g|0,1)|0;p=ou(b|0,G()|0,f|0,e|0)|0;l=k;m=j;n=p;o=G()|0}f=xu(f|0,e|0,2)|0;e=G()|0;if((f|0)==0&(e|0)==0)break;else{a=n;g=o;i=m;c=l}}h=n}Rg(8);d=h;return d|0}function zk(a,b){a=a|0;b=b|0;return lo(a,b)|0}function Ak(a){a=a|0;var b=0,d=0,e=0;switch(a|0){case 0:{b=34724;d=3;break}case 1:{b=34728;d=3;break}default:e=0}if((d|0)==3)e=c[b>>2]|0;return e|0}function Bk(a,b){a=a|0;b=b|0;var d=0;switch(a|0){case 0:{d=34724;break}case 1:{d=34728;break}default:return}c[d>>2]=b;return}function Ck(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8682]=b;c[8681]=b^-1095947846;b=0;do{c[8681]=(c[8681]|0)>>>16|c[8681]<<16;c[8681]=(c[8681]|0)+(c[8682]|0);c[8682]=(c[8682]|0)+(c[8681]|0);b=b+1|0}while((b|0)!=32);Rg(8);return}function Dk(a){a=a|0;var b=0;if(!a){b=0;return b|0}c[8681]=(c[8681]|0)>>>16|c[8681]<<16;c[8681]=(c[8681]|0)+(c[8682]|0);c[8682]=(c[8682]|0)+(c[8681]|0);b=((c[8681]|0)>>>0)%(a>>>0)|0;return b|0}function Ek(a,b){a=a|0;b=b|0;var c=0;c=b>>>16;b=c&31;return (1<<b)+-1&a>>>(0-c&31)|a<<b|0}function Fk(a,b){a=a|0;b=b|0;var c=0;c=b>>>16;b=0-c&31;return (1<<b)+-1&a>>>(c&31)|a<<b|0}function Gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;a:do if((b|0)<0){c=b;while(1){if((c|0)<-2031616){d=0;e=9;break}f=c&-65536;g=0-f|0;if((g|0)>=0){e=7;break}if((g|0)<-2031616){d=0;e=9;break}if((f|0)<0)c=f;else{h=f;break a}}if((e|0)==7){d=(g|0)>2097151?0:a<<(g>>>16);return d|0}else if((e|0)==9)return d|0}else h=b;while(0);return ((h|0)>2097151?0:a>>>(h>>>16))|0}function Hk(a,b){a=a|0;b=b|0;var c=0;if((b|0)>=0)return ((b|0)>2097151?0:a<<(b>>>16))|0;if((b|0)<-2031616){c=0;return c|0}c=Gk(a,0-(b&-65536)|0)|0;return c|0}function Ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=b>>16;do if((b|0)<0)if((b|0)>=-2031616){d=b&-65536;e=0-d|0;if((e|0)>=0){f=(e|0)>2097151?0:a<<(e>>>16);break}if((e|0)>=-2031616){if((d|0)>=0){f=(d|0)>2097151?0:a>>>(d>>>16);break}if((d|0)>=-2031616)while(1){}else f=0}else f=0}else f=0;else if((b|0)>2097151){f=a>>31;break}else{f=a>>c;break}while(0);return f|0}function Jk(a,b){a=a|0;b=b|0;var d=0;d=mp(2080)|0;lp(d,0,2080);c[d>>2]=Km(a,b,8)|0;c[d+12>>2]=Km(a,b,8)|0;c[d+4>>2]=Km(a,b,8)|0;c[d+8>>2]=Km(a,b,8)|0;return d|0}function Kk(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;Eu(1410832,0,16384)|0;g=c[515171]|0;if(!g){h=Br(524288)|0;c[515171]=h;i=h;j=h}else{i=g;j=g}Eu(j|0,0,524288)|0;j=f+-2|0;if((f|0)<=2)return;f=0;g=0;while(1){h=f;f=f+1|0;k=1410832+((((d[a+f>>0]|0)*1503|0)+((d[a+h>>0]|0)*7|0)+((d[a+(h+2)>>0]|0)*51717|0)&4095)<<2)|0;l=c[k>>2]|0;if(l){m=l+2|0;n=b[m>>1]|0;if((b[l>>1]|0)==n<<16>>16){o=i+(g<<1)|0;c[k>>2]=o;p=(n&65535)<<1;b[o>>1]=p;q=b[m>>1]|0;r=o+2|0;b[r>>1]=q;Du(o+4|0,l+4|0,e[m>>1]<<1|0)|0;s=o;t=g+2+(p&65534)|0;u=r;v=q}else{s=l;t=g;u=m;v=n}}else{n=i+(g<<1)|0;c[k>>2]=n;b[n>>1]=4;k=n+2|0;b[k>>1]=0;s=n;t=g+6|0;u=k;v=0}b[s+((v&65535)+2<<1)>>1]=h;b[u>>1]=v+1<<16>>16;if((f|0)==(j|0))break;else g=t}return}function Lk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0;g=Ga;Ga=Ga+4112|0;h=g+4108|0;i=g+4104|0;j=g+3072|0;k=g+2048|0;l=g+1024|0;m=g;n=g+4100|0;o=g+4096|0;p=0;do{c[j+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=256);p=0;do{c[k+(c[j+(p<<2)>>2]<<2)>>2]=p;p=p+1|0}while((p|0)!=256);Kk(b,f);c[8683]=1;c[515170]=0;c[515168]=e;c[515169]=0;if(!f){q=0;Ga=g;return q|0}p=mp(f)|0;Du(p|0,b|0,f|0)|0;r=c[515168]|0;s=c[8683]|0;t=c[515169]|0;u=r+t|0;v=(s^255)&(d[u>>0]|0);a[u>>0]=v;w=s<<1;x=t+1|0;if((w|0)!=256){y=(w^255)&v;a[u>>0]=y;v=s<<2;if((v|0)==256){s=r+x|0;c[515169]=x;w=d[s>>0]|0;c[515170]=w;z=w&254;a[s>>0]=z;A=2;B=s;C=x;D=z;E=314}else{F=x;G=u;H=y;I=v;J=t;E=312}}else{v=r+x|0;c[515169]=x;y=d[v>>0]|0;c[515170]=y;u=y&254;a[v>>0]=u;F=t+2|0;G=v;H=u;I=2;J=x;E=312}do if((E|0)==312){x=(I^255)&(H&255);a[G>>0]=x;u=I<<1;if((u|0)==256){v=r+F|0;c[515169]=F;t=d[v>>0]|0;c[515170]=t;A=1;B=v;C=F;D=t;E=314;break}t=(u^255)&x;a[G>>0]=t;x=I<<2;if((x|0)==256){u=r+F|0;c[515169]=F;v=d[u>>0]|0;c[515170]=v;y=v&254;a[u>>0]=y;K=2;L=u;M=F;N=y;E=319}else{O=G;P=F;Q=t;R=x;S=J;E=317}}while(0);if((E|0)==314){J=(A^255)&D;a[B>>0]=J;O=B;P=C+1|0;Q=J;R=A<<1;S=C;E=317}do if((E|0)==317){C=(R^255)&(Q&255);a[O>>0]=C;A=R<<1;if((A|0)==256){J=r+P|0;c[515169]=P;B=d[J>>0]|0;c[515170]=B;K=1;L=J;M=P;N=B;E=319;break}B=(A^255)&C;a[O>>0]=B;C=R<<2;if((C|0)==256){A=r+P|0;c[515169]=P;J=d[A>>0]|0;c[515170]=J;D=J&254;a[A>>0]=D;T=2;U=A;V=P;W=D;E=324}else{X=O;Y=P;Z=B;_=C;$=S;E=322}}while(0);if((E|0)==319){S=(K^255)&N;a[L>>0]=S;X=L;Y=M+1|0;Z=S;_=K<<1;$=M;E=322}do if((E|0)==322){M=(_^255)&(Z&255);a[X>>0]=M;K=_<<1;if((K|0)==256){S=r+Y|0;c[515169]=Y;L=d[S>>0]|0;c[515170]=L;T=1;U=S;V=Y;W=L;E=324;break}L=(K^255)&M;a[X>>0]=L;M=_<<2;if((M|0)==256){K=r+Y|0;c[515169]=Y;S=d[K>>0]|0;c[515170]=S;aa=Y;ba=K;ca=Y+1|0;da=S;ea=1}else{fa=X;ga=Y;ha=L;ia=M;ja=$;E=326}}while(0);if((E|0)==324){$=(T^255)&W;a[U>>0]=$;fa=U;ga=V+1|0;ha=$;ia=T<<1;ja=V;E=326}if((E|0)==326){aa=ja;ba=fa;ca=ga;da=ha&255;ea=ia}c[8683]=ea;ia=c[515174]|0;c[515174]=ia+8;ha=(ea^255)&da;a[ba>>0]=ha;da=ea<<1;if((da|0)!=256){ga=(da^255)&ha;a[ba>>0]=ga;ha=ea<<2;if((ha|0)==256){ea=r+ca|0;c[515169]=ca;da=d[ea>>0]|0;c[515170]=da;fa=da&254;a[ea>>0]=fa;ka=2;la=ea;ma=ca;na=fa;E=296}else{oa=ba;pa=ca;qa=ga;ra=ha;sa=aa;E=294}}else{aa=r+ca|0;c[515169]=ca;ha=d[aa>>0]|0;c[515170]=ha;ga=ha&254;a[aa>>0]=ga;oa=aa;pa=ca+1|0;qa=ga;ra=2;sa=ca;E=294}do if((E|0)==294){ca=(ra^255)&(qa&255);a[oa>>0]=ca;ga=ra<<1;if((ga|0)==256){aa=r+pa|0;c[515169]=pa;ha=d[aa>>0]|0;c[515170]=ha;ka=1;la=aa;ma=pa;na=ha;E=296;break}ha=(ga^255)&ca;a[oa>>0]=ha;ca=ra<<2;if((ca|0)==256){ga=r+pa|0;c[515169]=pa;aa=d[ga>>0]|0;c[515170]=aa;ta=ga;ua=pa+1|0;va=aa;wa=1;xa=pa}else{ya=oa;za=pa;Aa=ha;Ba=ca;Ca=sa;E=298}}while(0);if((E|0)==296){sa=(ka^255)&na;a[la>>0]=sa;ya=la;za=ma+1|0;Aa=sa;Ba=ka<<1;Ca=ma;E=298}if((E|0)==298){ta=ya;ua=za;va=Aa&255;wa=Ba;xa=Ca}Ca=wa|(wa^255)&va;a[ta>>0]=Ca;va=wa<<1;if((va|0)==256){wa=r+ua|0;c[515169]=ua;Ba=d[wa>>0]|0;c[515170]=Ba;Da=wa;Ea=ua+1|0;Fa=Ba;Ha=1;Ia=ua}else{Da=ta;Ea=ua;Fa=Ca&255;Ha=va;Ia=xa}xa=Ha|(Ha^255)&Fa;a[Da>>0]=xa;Fa=Ha<<1;if((Fa|0)==256){Ha=r+Ea|0;c[515169]=Ea;va=d[Ha>>0]|0;c[515170]=va;Ja=Ha;Ka=Ea+1|0;La=va;Ma=1;Na=Ea}else{Ja=Da;Ka=Ea;La=xa&255;Ma=Fa;Na=Ia}Ia=Ma|(Ma^255)&La;a[Ja>>0]=Ia;La=Ma<<1;if((La|0)!=256){Fa=(La^255)&(Ia&255);a[Ja>>0]=Fa;Ia=Ma<<2;if((Ia|0)==256){Ma=r+Ka|0;c[515169]=Ka;La=d[Ma>>0]|0;c[515170]=La;Oa=Ka;Pa=Ma;Qa=Ka+1|0;Ra=La;Sa=1}else{Oa=Na;Pa=Ja;Qa=Ka;Ra=Fa;Sa=Ia}}else{Ia=r+Ka|0;c[515169]=Ka;Fa=d[Ia>>0]|0;c[515170]=Fa;Ja=Fa&254;a[Ia>>0]=Ja;Oa=Ka;Pa=Ia;Qa=Ka+1|0;Ra=Ja;Sa=2}c[8683]=Sa;c[515174]=ia+16;Ja=(Sa^255)&Ra;a[Pa>>0]=Ja;Ra=Sa<<1;do if((Ra|0)!=256){Ka=(Ra^255)&(Ja&255);a[Pa>>0]=Ka;Ia=Sa<<2;if((Ia|0)==256){Fa=r+Qa|0;c[515169]=Qa;Na=d[Fa>>0]|0;c[515170]=Na;Ta=1;Ua=Fa;Va=Na;E=275;break}Na=(Ia^255)&Ka;a[Pa>>0]=Na;Ka=Sa<<3;if((Ka|0)==256){Ia=r+Qa|0;c[515169]=Qa;Fa=d[Ia>>0]|0;c[515170]=Fa;Wa=Ia;Xa=Qa+1|0;Ya=Fa;Za=1;_a=Qa}else{$a=Pa;ab=Qa;bb=Na;cb=Ka;db=Oa;E=277}}else{Ka=r+Qa|0;c[515169]=Qa;Na=d[Ka>>0]|0;c[515170]=Na;Fa=Na&254;a[Ka>>0]=Fa;Ta=2;Ua=Ka;Va=Fa;E=275}while(0);if((E|0)==275){Oa=(Ta^255)&Va;a[Ua>>0]=Oa;$a=Ua;ab=Qa+1|0;bb=Oa;cb=Ta<<1;db=Qa;E=277}if((E|0)==277){Wa=$a;Xa=ab;Ya=bb&255;Za=cb;_a=db}db=Za|(Za^255)&Ya;a[Wa>>0]=db;Ya=Za<<1;if((Ya|0)==256){Za=r+Xa|0;c[515169]=Xa;cb=d[Za>>0]|0;c[515170]=cb;eb=Za;fb=Xa+1|0;gb=cb;hb=1;ib=Xa}else{eb=Wa;fb=Xa;gb=db&255;hb=Ya;ib=_a}_a=hb|(hb^255)&gb;a[eb>>0]=_a;gb=hb<<1;if((gb|0)==256){hb=r+fb|0;c[515169]=fb;Ya=d[hb>>0]|0;c[515170]=Ya;jb=hb;kb=fb+1|0;lb=Ya;mb=1;nb=fb}else{jb=eb;kb=fb;lb=_a&255;mb=gb;nb=ib}ib=mb|(mb^255)&lb;a[jb>>0]=ib;lb=mb<<1;if((lb|0)==256){mb=r+kb|0;c[515169]=kb;gb=d[mb>>0]|0;c[515170]=gb;ob=mb;pb=kb+1|0;qb=gb;rb=1;sb=kb}else{ob=jb;pb=kb;qb=ib&255;rb=lb;sb=nb}nb=rb|(rb^255)&qb;a[ob>>0]=nb;qb=rb<<1;if((qb|0)!=256){lb=(qb^255)&(nb&255);a[ob>>0]=lb;nb=rb<<2;if((nb|0)==256){rb=r+pb|0;c[515169]=pb;qb=d[rb>>0]|0;c[515170]=qb;tb=pb;ub=rb;vb=pb+1|0;wb=qb;xb=1}else{tb=sb;ub=ob;vb=pb;wb=lb;xb=nb}}else{nb=r+pb|0;c[515169]=pb;lb=d[nb>>0]|0;c[515170]=lb;ob=lb&254;a[nb>>0]=ob;tb=pb;ub=nb;vb=pb+1|0;wb=ob;xb=2}c[8683]=xb;c[515174]=ia+24;ob=xb|(xb^255)&wb;a[ub>>0]=ob;wb=xb<<1;do if((wb|0)!=256){pb=(wb^255)&(ob&255);a[ub>>0]=pb;nb=xb<<2;if((nb|0)==256){lb=r+vb|0;c[515169]=vb;sb=d[lb>>0]|0;c[515170]=sb;yb=1;zb=lb;Ab=sb;E=256;break}sb=(nb^255)&pb;a[ub>>0]=sb;pb=xb<<3;if((pb|0)==256){nb=r+vb|0;c[515169]=vb;lb=d[nb>>0]|0;c[515170]=lb;qb=lb&254;a[nb>>0]=qb;Bb=2;Cb=nb;Db=vb;Eb=qb;E=261}else{Fb=ub;Gb=vb;Hb=tb;Ib=sb;Jb=pb;E=259}}else{pb=r+vb|0;c[515169]=vb;sb=d[pb>>0]|0;c[515170]=sb;qb=sb&254;a[pb>>0]=qb;yb=2;zb=pb;Ab=qb;E=256}while(0);if((E|0)==256){tb=(yb^255)&Ab;a[zb>>0]=tb;Fb=zb;Gb=vb+1|0;Hb=vb;Ib=tb;Jb=yb<<1;E=259}do if((E|0)==259){yb=(Jb^255)&(Ib&255);a[Fb>>0]=yb;tb=Jb<<1;if((tb|0)==256){vb=r+Gb|0;c[515169]=Gb;zb=d[vb>>0]|0;c[515170]=zb;Bb=1;Cb=vb;Db=Gb;Eb=zb;E=261;break}zb=(tb^255)&yb;a[Fb>>0]=zb;yb=Jb<<2;if((yb|0)==256){tb=r+Gb|0;c[515169]=Gb;vb=d[tb>>0]|0;c[515170]=vb;Kb=tb;Lb=Gb+1|0;Mb=vb;Nb=1;Ob=Gb}else{Pb=Fb;Qb=Gb;Rb=zb;Sb=yb;Tb=Hb;E=263}}while(0);if((E|0)==261){Hb=(Bb^255)&Eb;a[Cb>>0]=Hb;Pb=Cb;Qb=Db+1|0;Rb=Hb;Sb=Bb<<1;Tb=Db;E=263}if((E|0)==263){Kb=Pb;Lb=Qb;Mb=Rb&255;Nb=Sb;Ob=Tb}Tb=Nb|(Nb^255)&Mb;a[Kb>>0]=Tb;Mb=Nb<<1;if((Mb|0)==256){Nb=r+Lb|0;c[515169]=Lb;Sb=d[Nb>>0]|0;c[515170]=Sb;Ub=Nb;Vb=Lb+1|0;Wb=Sb;Xb=1;Yb=Lb}else{Ub=Kb;Vb=Lb;Wb=Tb&255;Xb=Mb;Yb=Ob}Ob=Xb|(Xb^255)&Wb;a[Ub>>0]=Ob;Wb=Xb<<1;if((Wb|0)!=256){Mb=(Wb^255)&(Ob&255);a[Ub>>0]=Mb;Ob=Xb<<2;if((Ob|0)==256){Xb=r+Vb|0;c[515169]=Vb;Wb=d[Xb>>0]|0;c[515170]=Wb;Zb=Vb;_b=Xb;$b=Vb+1|0;ac=Wb;bc=1}else{Zb=Yb;_b=Ub;$b=Vb;ac=Mb;bc=Ob}}else{Ob=r+Vb|0;c[515169]=Vb;Mb=d[Ob>>0]|0;c[515170]=Mb;Ub=Mb&254;a[Ob>>0]=Ub;Zb=Vb;_b=Ob;$b=Vb+1|0;ac=Ub;bc=2}c[8683]=bc;c[515174]=ia+32;Ub=(f|0)/256|0;Vb=((Ub&1|0)==0?0:bc)|(bc^255)&ac;a[_b>>0]=Vb;ac=bc<<1;if((ac|0)==256){bc=r+$b|0;c[515169]=$b;Ob=d[bc>>0]|0;c[515170]=Ob;cc=bc;dc=$b+1|0;ec=Ob;fc=$b;gc=1}else{cc=_b;dc=$b;ec=Vb&255;fc=Zb;gc=ac}ac=((Ub&2|0)==0?0:gc)|(gc^255)&ec;a[cc>>0]=ac;ec=gc<<1;if((ec|0)==256){gc=r+dc|0;c[515169]=dc;Zb=d[gc>>0]|0;c[515170]=Zb;hc=gc;ic=dc+1|0;jc=Zb;kc=dc;lc=1}else{hc=cc;ic=dc;jc=ac&255;kc=fc;lc=ec}ec=((Ub&4|0)==0?0:lc)|(lc^255)&jc;a[hc>>0]=ec;jc=lc<<1;if((jc|0)==256){lc=r+ic|0;c[515169]=ic;fc=d[lc>>0]|0;c[515170]=fc;mc=lc;nc=ic+1|0;oc=fc;pc=ic;qc=1}else{mc=hc;nc=ic;oc=ec&255;pc=kc;qc=jc}jc=((Ub&8|0)==0?0:qc)|(qc^255)&oc;a[mc>>0]=jc;oc=qc<<1;if((oc|0)==256){qc=r+nc|0;c[515169]=nc;kc=d[qc>>0]|0;c[515170]=kc;rc=qc;sc=nc+1|0;tc=kc;uc=nc;vc=1}else{rc=mc;sc=nc;tc=jc&255;uc=pc;vc=oc}oc=((Ub&16|0)==0?0:vc)|(vc^255)&tc;a[rc>>0]=oc;tc=vc<<1;if((tc|0)==256){vc=r+sc|0;c[515169]=sc;pc=d[vc>>0]|0;c[515170]=pc;wc=vc;xc=sc+1|0;yc=pc;zc=sc;Ac=1}else{wc=rc;xc=sc;yc=oc&255;zc=uc;Ac=tc}tc=((Ub&32|0)==0?0:Ac)|(Ac^255)&yc;a[wc>>0]=tc;yc=Ac<<1;if((yc|0)==256){Ac=r+xc|0;c[515169]=xc;uc=d[Ac>>0]|0;c[515170]=uc;Bc=Ac;Cc=xc+1|0;Dc=uc;Ec=xc;Fc=1}else{Bc=wc;Cc=xc;Dc=tc&255;Ec=zc;Fc=yc}yc=((Ub&64|0)==0?0:Fc)|(Fc^255)&Dc;a[Bc>>0]=yc;Dc=Fc<<1;if((Dc|0)==256){Fc=r+Cc|0;c[515169]=Cc;zc=d[Fc>>0]|0;c[515170]=zc;Gc=Fc;Hc=Cc+1|0;Ic=zc;Jc=Cc;Kc=1}else{Gc=Bc;Hc=Cc;Ic=yc&255;Jc=Ec;Kc=Dc}Dc=((Ub&128|0)==0?0:Kc)|(Kc^255)&Ic;a[Gc>>0]=Dc;Ic=Kc<<1;if((Ic|0)==256){Kc=r+Hc|0;c[515169]=Hc;Ec=d[Kc>>0]|0;c[515170]=Ec;Lc=Hc;Mc=Kc;Nc=Hc+1|0;Oc=Ec;Pc=1}else{Lc=Jc;Mc=Gc;Nc=Hc;Oc=Dc&255;Pc=Ic}c[8683]=Pc;c[515174]=ia+40;Ic=f-(Ub<<8)|0;Ub=((Ic&1|0)==0?0:Pc)|(Pc^255)&Oc;a[Mc>>0]=Ub;Oc=Pc<<1;if((Oc|0)==256){Pc=r+Nc|0;c[515169]=Nc;Dc=d[Pc>>0]|0;c[515170]=Dc;Qc=Pc;Rc=Nc+1|0;Sc=Dc;Tc=Nc;Uc=1}else{Qc=Mc;Rc=Nc;Sc=Ub&255;Tc=Lc;Uc=Oc}Oc=((Ic&2|0)==0?0:Uc)|(Uc^255)&Sc;a[Qc>>0]=Oc;Sc=Uc<<1;if((Sc|0)==256){Uc=r+Rc|0;c[515169]=Rc;Lc=d[Uc>>0]|0;c[515170]=Lc;Vc=Uc;Wc=Rc+1|0;Xc=Lc;Yc=Rc;Zc=1}else{Vc=Qc;Wc=Rc;Xc=Oc&255;Yc=Tc;Zc=Sc}Sc=((Ic&4|0)==0?0:Zc)|(Zc^255)&Xc;a[Vc>>0]=Sc;Xc=Zc<<1;if((Xc|0)==256){Zc=r+Wc|0;c[515169]=Wc;Tc=d[Zc>>0]|0;c[515170]=Tc;_c=Zc;$c=Wc+1|0;ad=Tc;bd=Wc;cd=1}else{_c=Vc;$c=Wc;ad=Sc&255;bd=Yc;cd=Xc}Xc=((Ic&8|0)==0?0:cd)|(cd^255)&ad;a[_c>>0]=Xc;ad=cd<<1;if((ad|0)==256){cd=r+$c|0;c[515169]=$c;Yc=d[cd>>0]|0;c[515170]=Yc;dd=cd;ed=$c+1|0;fd=Yc;gd=$c;hd=1}else{dd=_c;ed=$c;fd=Xc&255;gd=bd;hd=ad}ad=((Ic&16|0)==0?0:hd)|(hd^255)&fd;a[dd>>0]=ad;fd=hd<<1;if((fd|0)==256){hd=r+ed|0;c[515169]=ed;bd=d[hd>>0]|0;c[515170]=bd;id=hd;jd=ed+1|0;kd=bd;ld=ed;md=1}else{id=dd;jd=ed;kd=ad&255;ld=gd;md=fd}fd=((Ic&32|0)==0?0:md)|(md^255)&kd;a[id>>0]=fd;kd=md<<1;if((kd|0)==256){md=r+jd|0;c[515169]=jd;gd=d[md>>0]|0;c[515170]=gd;nd=md;od=jd+1|0;pd=gd;qd=jd;rd=1}else{nd=id;od=jd;pd=fd&255;qd=ld;rd=kd}kd=((Ic&64|0)==0?0:rd)|(rd^255)&pd;a[nd>>0]=kd;pd=rd<<1;if((pd|0)==256){rd=r+od|0;c[515169]=od;ld=d[rd>>0]|0;c[515170]=ld;sd=rd;td=od+1|0;ud=ld;vd=od;wd=1}else{sd=nd;td=od;ud=kd&255;vd=qd;wd=pd}pd=((Ic&128|0)==0?0:wd)|(wd^255)&ud;a[sd>>0]=pd;ud=wd<<1;if((ud|0)==256){wd=r+td|0;c[515169]=td;Ic=d[wd>>0]|0;c[515170]=Ic;xd=td;yd=wd;zd=td+1|0;Ad=Ic;Bd=1}else{xd=vd;yd=sd;zd=td;Ad=pd&255;Bd=ud}c[8683]=Bd;c[515174]=ia+48;ud=(Bd^255)&Ad;a[yd>>0]=ud;Ad=Bd<<1;do if((Ad|0)==256){pd=r+zd|0;c[515169]=zd;td=d[pd>>0]|0;c[515170]=td;sd=td&254;a[pd>>0]=sd;Cd=pd;Dd=zd+1|0;Ed=zd;Fd=sd;Gd=2;E=197}else{sd=(Ad^255)&ud;a[yd>>0]=sd;pd=Bd<<2;if((pd|0)!=256){Cd=yd;Dd=zd;Ed=xd;Fd=sd;Gd=pd;E=197;break}pd=r+zd|0;c[515169]=zd;sd=d[pd>>0]|0;c[515170]=sd;td=sd&254;a[pd>>0]=td;Hd=2;Id=pd;Jd=zd;Kd=td;E=199}while(0);do if((E|0)==197){zd=(Gd^255)&(Fd&255);a[Cd>>0]=zd;xd=Gd<<1;if((xd|0)==256){yd=r+Dd|0;c[515169]=Dd;Bd=d[yd>>0]|0;c[515170]=Bd;Hd=1;Id=yd;Jd=Dd;Kd=Bd;E=199;break}Bd=(xd^255)&zd;a[Cd>>0]=Bd;zd=Gd<<2;if((zd|0)!=256){Ld=Cd;Md=Dd;Nd=Ed;Od=Bd;Pd=zd;E=202;break}zd=r+Dd|0;c[515169]=Dd;Bd=d[zd>>0]|0;c[515170]=Bd;xd=Bd&254;a[zd>>0]=xd;Qd=2;Rd=zd;Sd=Dd;Td=xd;E=204}while(0);if((E|0)==199){Dd=(Hd^255)&Kd;a[Id>>0]=Dd;Ld=Id;Md=Jd+1|0;Nd=Jd;Od=Dd;Pd=Hd<<1;E=202}do if((E|0)==202){Hd=(Pd^255)&(Od&255);a[Ld>>0]=Hd;Dd=Pd<<1;if((Dd|0)==256){Jd=r+Md|0;c[515169]=Md;Id=d[Jd>>0]|0;c[515170]=Id;Qd=1;Rd=Jd;Sd=Md;Td=Id;E=204;break}Id=(Dd^255)&Hd;a[Ld>>0]=Id;Hd=Pd<<2;if((Hd|0)!=256){Ud=Ld;Vd=Md;Wd=Nd;Xd=Id;Yd=Hd;E=207;break}Hd=r+Md|0;c[515169]=Md;Id=d[Hd>>0]|0;c[515170]=Id;Dd=Id&254;a[Hd>>0]=Dd;Zd=2;_d=Hd;$d=Md;ae=Dd;E=209}while(0);if((E|0)==204){Md=(Qd^255)&Td;a[Rd>>0]=Md;Ud=Rd;Vd=Sd+1|0;Wd=Sd;Xd=Md;Yd=Qd<<1;E=207}do if((E|0)==207){Qd=(Yd^255)&(Xd&255);a[Ud>>0]=Qd;Md=Yd<<1;if((Md|0)==256){Sd=r+Vd|0;c[515169]=Vd;Rd=d[Sd>>0]|0;c[515170]=Rd;Zd=1;_d=Sd;$d=Vd;ae=Rd;E=209;break}Rd=(Md^255)&Qd;a[Ud>>0]=Rd;Qd=Yd<<2;if((Qd|0)!=256){be=Ud;ce=Vd;de=Qd;ee=Wd;fe=Rd;E=211;break}Rd=r+Vd|0;c[515169]=Vd;Qd=d[Rd>>0]|0;c[515170]=Qd;ge=Vd;he=Rd;ie=Vd+1|0;je=Qd;ke=1}while(0);if((E|0)==209){Vd=(Zd^255)&ae;a[_d>>0]=Vd;be=_d;ce=$d+1|0;de=Zd<<1;ee=$d;fe=Vd;E=211}if((E|0)==211){ge=ee;he=be;ie=ce;je=fe&255;ke=de}c[8683]=ke;c[515174]=ia+56;de=(ke^255)&je;a[he>>0]=de;je=ke<<1;do if((je|0)==256){fe=r+ie|0;c[515169]=ie;ce=d[fe>>0]|0;c[515170]=ce;be=ce&254;a[fe>>0]=be;le=fe;me=ie+1|0;ne=ie;oe=be;pe=2;E=179}else{be=(je^255)&de;a[he>>0]=be;fe=ke<<2;if((fe|0)!=256){le=he;me=ie;ne=ge;oe=be;pe=fe;E=179;break}fe=r+ie|0;c[515169]=ie;be=d[fe>>0]|0;c[515170]=be;ce=be&254;a[fe>>0]=ce;qe=2;re=fe;se=ie;te=ce;E=181}while(0);do if((E|0)==179){ie=(pe^255)&(oe&255);a[le>>0]=ie;ge=pe<<1;if((ge|0)==256){he=r+me|0;c[515169]=me;ke=d[he>>0]|0;c[515170]=ke;qe=1;re=he;se=me;te=ke;E=181;break}ke=(ge^255)&ie;a[le>>0]=ke;ie=pe<<2;if((ie|0)!=256){ue=le;ve=me;we=ne;xe=ke;ye=ie;E=184;break}ie=r+me|0;c[515169]=me;ke=d[ie>>0]|0;c[515170]=ke;ge=ke&254;a[ie>>0]=ge;ze=2;Ae=ie;Be=me;Ce=ge;E=186}while(0);if((E|0)==181){me=(qe^255)&te;a[re>>0]=me;ue=re;ve=se+1|0;we=se;xe=me;ye=qe<<1;E=184}do if((E|0)==184){qe=(ye^255)&(xe&255);a[ue>>0]=qe;me=ye<<1;if((me|0)==256){se=r+ve|0;c[515169]=ve;re=d[se>>0]|0;c[515170]=re;ze=1;Ae=se;Be=ve;Ce=re;E=186;break}re=(me^255)&qe;a[ue>>0]=re;qe=ye<<2;if((qe|0)!=256){De=ue;Ee=ve;Fe=we;Ge=re;He=qe;E=189;break}qe=r+ve|0;c[515169]=ve;re=d[qe>>0]|0;c[515170]=re;me=re&254;a[qe>>0]=me;Ie=ve;Je=2;Ke=qe;Le=me;E=191}while(0);if((E|0)==186){ve=(ze^255)&Ce;a[Ae>>0]=ve;De=Ae;Ee=Be+1|0;Fe=Be;Ge=ve;He=ze<<1;E=189}do if((E|0)==189){ze=(He^255)&(Ge&255);a[De>>0]=ze;ve=He<<1;if((ve|0)==256){Be=r+Ee|0;c[515169]=Ee;Ae=d[Be>>0]|0;c[515170]=Ae;Ie=Ee;Je=1;Ke=Be;Le=Ae;E=191;break}a[De>>0]=(ve^255)&ze;ze=He<<2;if((ze|0)!=256){Me=ze;Ne=Fe;E=193;break}c[515169]=Ee;ze=d[r+Ee>>0]|0;c[515170]=ze;Oe=Ee;Pe=1;Qe=ze}while(0);if((E|0)==191){a[Ke>>0]=(Je^255)&Le;Me=Je<<1;Ne=Ie;E=193}if((E|0)==193){Oe=Ne;Pe=Me;Qe=c[515170]|0}c[8683]=Pe;c[515174]=ia+64;c[515165]=0;c[515166]=0;c[515167]=0;Du(l|0,j|0,1024)|0;Du(m|0,k|0,1024)|0;if((f|0)>0){ia=0;Me=0;Ne=0;Ie=Oe;Je=0;Le=Oe<<16|Pe|Qe<<8;while(1){Qe=Mk(p,ia,f,h,i)|0;Pe=d[p+ia>>0]|0;Oe=k+(Pe<<2)|0;Ke=c[Oe>>2]|0;Ee=(Ke|0)<16;if(Ee)Re=4;else{r=16;Fe=4;while(1){He=Fe+1|0;r=r+(2<<Fe)|0;if((Ke|0)<(r|0)){Re=He;break}else Fe=He}}Fe=256/((Re<<1)+-2|0)|0;do if((Qe|0)>2){r=c[i>>2]|0;a:do if((r|0)>(Fe|0)&(r|0)<128){He=(r*6|0)/5|0;c[n>>2]=0;c[o>>2]=0;Mk(p,ia+1|0,f,n,o)|0;do if((c[o>>2]|0)<=(He|0)){c[n>>2]=0;c[o>>2]=0;Mk(p,ia+2|0,f,n,o)|0;if((c[o>>2]|0)>(He|0))break;Se=r;break a}while(0);c[i>>2]=0;Se=0}else Se=r;while(0);if((Se|0)<=(Fe|0)){E=58;break}r=c[8683]|0;He=c[515168]|0;De=c[515169]|0;Ge=He+De|0;a[Ge>>0]=(r^255)&(d[Ge>>0]|0);Ge=r<<1;c[8683]=Ge;if((Ge|0)==256){c[8683]=1;r=De+1|0;c[515169]=r;c[515170]=d[He+r>>0];Te=r;Ue=1}else{Te=De;Ue=Ge}Ge=(c[515172]|0)+1|0;c[515172]=Ge;De=c[h>>2]|0;r=5;while(1)if((1<<r|0)<(De|0))r=r+5|0;else break;ze=De+-1|0;ve=(r>>>0)/5|0;Ae=0;Be=3-ve|0;Ce=Te;we=Ue;while(1){ue=(Be|0)<1;ye=ue?Be:1;xe=He+Ce|0;a[xe>>0]=((ye&1|0)==0?0:we)|(we^255)&(d[xe>>0]|0);xe=we<<1;me=Ce+1|0;if((xe|0)==256){c[515169]=me;c[515170]=d[He+me>>0];Ve=me;We=1}else{Ve=Ce;We=xe}Ae=Ae+1|0;if(Ae>>>0>=2)break;if(ue)break;else{Be=Be-ye|0;Ce=Ve;we=We}}c[8683]=We;we=0;Ce=We;Be=Ve;while(1){Ae=He+Be|0;a[Ae>>0]=((1<<we&ze|0)==0?0:Ce)|(Ce^255)&(d[Ae>>0]|0);Ae=Ce<<1;De=Be+1|0;if((Ae|0)==256){c[515169]=De;c[515170]=d[He+De>>0];Xe=De;Ye=1}else{Xe=Be;Ye=Ae}we=we+1|0;if((we|0)==(r|0))break;else{Ce=Ye;Be=Xe}}c[8683]=Ye;Be=r+Ge+ve|0;c[515172]=Be;Ce=0;we=Qe+-3|0;ze=Xe;Ae=Ye;while(1){De=(we|0)<7;ye=De?we:7;ue=He+ze|0;xe=((ye&1|0)==0?0:Ae)|(Ae^255)&(d[ue>>0]|0);a[ue>>0]=xe;me=Ae<<1;qe=ze+1|0;if((me|0)==256){re=He+qe|0;c[515169]=qe;se=d[re>>0]|0;c[515170]=se;Ze=re;_e=ze+2|0;$e=se;af=qe;bf=1}else{Ze=ue;_e=qe;$e=xe&255;af=ze;bf=me}me=((ye&2|0)==0?0:bf)|(bf^255)&$e;a[Ze>>0]=me;xe=bf<<1;if((xe|0)==256){qe=He+_e|0;c[515169]=_e;ue=d[qe>>0]|0;c[515170]=ue;cf=qe;df=_e+1|0;ef=ue;ff=_e;gf=1}else{cf=Ze;df=_e;ef=me&255;ff=af;gf=xe}a[cf>>0]=((ye&4|0)==0?0:gf)|(gf^255)&ef;xe=gf<<1;if((xe|0)==256){c[515169]=df;c[515170]=d[He+df>>0];hf=df;jf=1}else{hf=ff;jf=xe}Ce=Ce+3|0;if(Ce>>>0>=1e5)break;if(De)break;else{we=we-ye|0;ze=hf;Ae=jf}}c[8683]=jf;c[515172]=Ce+Be;if((Qe|0)>9)c[515167]=(c[515167]|0)+1;c[515165]=(c[515165]|0)+1;kf=Qe;lf=jf;mf=hf;nf=He;of=2060692}else E=58;while(0);if((E|0)==58){E=0;Qe=c[8683]|0;Fe=c[515168]|0;Ae=c[515169]|0;ze=Fe+Ae|0;a[ze>>0]=(Qe^255)&(d[ze>>0]|0)|Qe;ze=Qe<<1;c[8683]=ze;if((ze|0)==256){c[8683]=1;Qe=Ae+1|0;c[515169]=Qe;c[515170]=d[Fe+Qe>>0];pf=Qe;qf=1}else{pf=Ae;qf=ze}if(Ee){rf=Ke;sf=4}else{ze=Ke;Ae=16;Qe=4;while(1){we=ze-(1<<Qe)|0;ve=Qe+1|0;Ae=Ae+(2<<Qe)|0;if((Ke|0)<(Ae|0)){rf=we;sf=ve;break}else{ze=we;Qe=ve}}}Qe=0;ze=sf+-4|0;Ae=pf;Ee=qf;while(1){ve=(ze|0)<1;we=ve?ze:1;Ge=Fe+Ae|0;a[Ge>>0]=((we&1|0)==0?0:Ee)|(Ee^255)&(d[Ge>>0]|0);Ge=Ee<<1;r=Ae+1|0;if((Ge|0)==256){c[515169]=r;c[515170]=d[Fe+r>>0];tf=r;uf=1}else{tf=Ae;uf=Ge}Qe=Qe+1|0;if(Qe>>>0>=16)break;if(ve)break;else{ze=ze-we|0;Ae=tf;Ee=uf}}c[8683]=uf;Ee=0;Ae=uf;ze=tf;while(1){Qe=Fe+ze|0;a[Qe>>0]=((1<<Ee&rf|0)==0?0:Ae)|(Ae^255)&(d[Qe>>0]|0);Qe=Ae<<1;we=ze+1|0;if((Qe|0)==256){c[515169]=we;c[515170]=d[Fe+we>>0];vf=we;wf=1}else{vf=ze;wf=Qe}Ee=Ee+1|0;if((Ee|0)==(sf|0))break;else{Ae=wf;ze=vf}}c[8683]=wf;if((Ke|0)>0){ze=Ke;do{Ae=ze;ze=ze+-1|0;Ee=c[j+(ze<<2)>>2]|0;c[j+(Ae<<2)>>2]=Ee;Qe=k+(Ee<<2)|0;c[Qe>>2]=(c[Qe>>2]|0)+1}while((Ae|0)>1)}c[j>>2]=Pe;c[Oe>>2]=0;kf=1;lf=wf;mf=vf;nf=Fe;of=2060664}c[of>>2]=(c[of>>2]|0)+kf;ze=(ia|0)<2?0:ia+-2|0;ia=kf+ia|0;Ke=ia+-2|0;if((ze|0)<(Ke|0)){Ae=ze;do Ae=Ae+1|0;while((Ae|0)<(Ke|0))}Ke=mf-Ie|0;if((ia|0)==(f|0)|(Ke|0)>31){Ae=ia-Je|0;if((Ke|0)>(Ae+((Me|0)==(Je|0)?3:0)|0)){Ke=Le&255;c[8683]=Ke;c[515170]=Le>>>8&255;Fe=Le>>>16&32767;c[515169]=Fe;if(!Ne){Oe=nf+Fe|0;Pe=(Le^255)&(d[Oe>>0]|0);a[Oe>>0]=Pe;ze=Ke<<1;c[8683]=ze;if((Ke|0)==128){c[8683]=1;Qe=Fe+1|0;c[515169]=Qe;Ee=nf+Qe|0;we=d[Ee>>0]|0;c[515170]=we;xf=Ee;yf=we;zf=1;Af=Qe}else{xf=Oe;yf=Pe;zf=ze;Af=Fe}ze=(zf^255)&yf|zf;a[xf>>0]=ze;Pe=zf<<1;c[8683]=Pe;if((zf|0)==128){c[8683]=1;Oe=Af+1|0;c[515169]=Oe;Qe=nf+Oe|0;we=d[Qe>>0]|0;c[515170]=we;Bf=Qe;Cf=we;Df=1;Ef=Oe}else{Bf=xf;Cf=ze&255;Df=Pe;Ef=Af}Pe=(Df^255)&Cf;a[Bf>>0]=Pe;ze=Df<<1;c[8683]=ze;if((Df|0)==128){c[8683]=1;Oe=Ef+1|0;c[515169]=Oe;we=nf+Oe|0;Qe=d[we>>0]|0;c[515170]=Qe;Ff=Oe;Gf=we;Hf=Qe;If=1}else{Ff=Ef;Gf=Bf;Hf=Pe;If=ze}ze=(If^255)&Hf;a[Gf>>0]=ze;Pe=If<<1;Qe=Ff+1|0;do if((Pe|0)==256){we=nf+Qe|0;c[515169]=Qe;Oe=d[we>>0]|0;c[515170]=Oe;Ee=Oe&254;a[we>>0]=Ee;Jf=2;Kf=we;Lf=Ee;E=121}else{Ee=(Pe^255)&(ze&255);a[Gf>>0]=Ee;we=If<<2;if((we|0)==256){Oe=nf+Qe|0;c[515169]=Qe;ve=d[Oe>>0]|0;c[515170]=ve;Jf=1;Kf=Oe;Lf=ve;E=121;break}ve=(we^255)&Ee;a[Gf>>0]=ve;Ee=If<<3;if((Ee|0)!=256){Mf=Gf;Nf=Qe;Of=Ff;Pf=ve;Qf=Ee;E=124;break}Ee=nf+Qe|0;c[515169]=Qe;ve=d[Ee>>0]|0;c[515170]=ve;we=ve&254;a[Ee>>0]=we;Rf=2;Sf=Ee;Tf=Qe;Uf=we;E=126}while(0);if((E|0)==121){E=0;ze=(Jf^255)&Lf;a[Kf>>0]=ze;Mf=Kf;Nf=Ff+2|0;Of=Qe;Pf=ze;Qf=Jf<<1;E=124}do if((E|0)==124){E=0;ze=(Qf^255)&(Pf&255);a[Mf>>0]=ze;Pe=Qf<<1;if((Pe|0)==256){we=nf+Nf|0;c[515169]=Nf;Ee=d[we>>0]|0;c[515170]=Ee;Rf=1;Sf=we;Tf=Nf;Uf=Ee;E=126;break}Ee=(Pe^255)&ze;a[Mf>>0]=Ee;ze=Qf<<2;if((ze|0)!=256){Vf=Mf;Wf=Nf;Xf=Of;Yf=Ee;Zf=ze;E=129;break}ze=nf+Nf|0;c[515169]=Nf;Ee=d[ze>>0]|0;c[515170]=Ee;Pe=Ee&254;a[ze>>0]=Pe;_f=2;$f=ze;ag=Nf;bg=Pe;E=131}while(0);if((E|0)==126){E=0;Qe=(Rf^255)&Uf;a[Sf>>0]=Qe;Vf=Sf;Wf=Tf+1|0;Xf=Tf;Yf=Qe;Zf=Rf<<1;E=129}do if((E|0)==129){E=0;Qe=(Zf^255)&(Yf&255);a[Vf>>0]=Qe;Pe=Zf<<1;if((Pe|0)==256){ze=nf+Wf|0;c[515169]=Wf;Ee=d[ze>>0]|0;c[515170]=Ee;_f=1;$f=ze;ag=Wf;bg=Ee;E=131;break}Ee=(Pe^255)&Qe;a[Vf>>0]=Ee;Qe=Zf<<2;if((Qe|0)!=256){cg=Vf;dg=Wf;eg=Xf;fg=Ee;gg=Qe;E=134;break}Qe=nf+Wf|0;c[515169]=Wf;Ee=d[Qe>>0]|0;c[515170]=Ee;Pe=Ee&254;a[Qe>>0]=Pe;hg=2;ig=Qe;jg=Wf;kg=Pe;E=136}while(0);if((E|0)==131){E=0;Pe=(_f^255)&bg;a[$f>>0]=Pe;cg=$f;dg=ag+1|0;eg=ag;fg=Pe;gg=_f<<1;E=134}do if((E|0)==134){E=0;Pe=(gg^255)&(fg&255);a[cg>>0]=Pe;Qe=gg<<1;if((Qe|0)==256){Ee=nf+dg|0;c[515169]=dg;ze=d[Ee>>0]|0;c[515170]=ze;hg=1;ig=Ee;jg=dg;kg=ze;E=136;break}ze=(Qe^255)&Pe;a[cg>>0]=ze;Pe=gg<<2;if((Pe|0)!=256){lg=cg;mg=dg;ng=eg;og=Pe;pg=ze;E=139;break}ze=nf+dg|0;c[515169]=dg;Pe=d[ze>>0]|0;c[515170]=Pe;a[ze>>0]=Pe&254;qg=dg;rg=2}while(0);if((E|0)==136){E=0;Pe=(hg^255)&kg;a[ig>>0]=Pe;lg=ig;mg=jg+1|0;ng=jg;og=hg<<1;pg=Pe;E=139}do if((E|0)==139){E=0;a[lg>>0]=(og^255)&pg;Pe=og<<1;if((Pe|0)!=256){qg=ng;rg=Pe;break}c[515169]=mg;c[515170]=d[nf+mg>>0];qg=mg;rg=1}while(0);c[8683]=rg;sg=qg;tg=rg}else{Pe=Fe+-1|0;c[515169]=Pe;sg=Pe;tg=Ke}if((Ae|0)>0){Pe=0;ze=tg;Qe=sg;while(1){Ee=d[p+(Pe+Je)>>0]|0;we=nf+Qe|0;ve=((Ee&1|0)==0?0:ze)|(ze^255)&(d[we>>0]|0);a[we>>0]=ve;Oe=ze<<1;Ge=Qe+1|0;if((Oe|0)==256){r=nf+Ge|0;c[515169]=Ge;ye=d[r>>0]|0;c[515170]=ye;ug=r;vg=Qe+2|0;wg=ye;xg=Ge;yg=1}else{ug=we;vg=Ge;wg=ve&255;xg=Qe;yg=Oe}Oe=((Ee&2|0)==0?0:yg)|(yg^255)&wg;a[ug>>0]=Oe;ve=yg<<1;if((ve|0)==256){Ge=nf+vg|0;c[515169]=vg;we=d[Ge>>0]|0;c[515170]=we;zg=Ge;Ag=vg+1|0;Bg=we;Cg=vg;Dg=1}else{zg=ug;Ag=vg;Bg=Oe&255;Cg=xg;Dg=ve}ve=((Ee&4|0)==0?0:Dg)|(Dg^255)&Bg;a[zg>>0]=ve;Oe=Dg<<1;if((Oe|0)==256){we=nf+Ag|0;c[515169]=Ag;Ge=d[we>>0]|0;c[515170]=Ge;Eg=we;Fg=Ag+1|0;Gg=Ge;Hg=Ag;Ig=1}else{Eg=zg;Fg=Ag;Gg=ve&255;Hg=Cg;Ig=Oe}Oe=((Ee&8|0)==0?0:Ig)|(Ig^255)&Gg;a[Eg>>0]=Oe;ve=Ig<<1;if((ve|0)==256){Ge=nf+Fg|0;c[515169]=Fg;we=d[Ge>>0]|0;c[515170]=we;Jg=Ge;Kg=Fg+1|0;Lg=we;Mg=Fg;Ng=1}else{Jg=Eg;Kg=Fg;Lg=Oe&255;Mg=Hg;Ng=ve}ve=((Ee&16|0)==0?0:Ng)|(Ng^255)&Lg;a[Jg>>0]=ve;Oe=Ng<<1;if((Oe|0)==256){we=nf+Kg|0;c[515169]=Kg;Ge=d[we>>0]|0;c[515170]=Ge;Og=we;Pg=Kg+1|0;Qg=Ge;Rg=Kg;Sg=1}else{Og=Jg;Pg=Kg;Qg=ve&255;Rg=Mg;Sg=Oe}Oe=((Ee&32|0)==0?0:Sg)|(Sg^255)&Qg;a[Og>>0]=Oe;ve=Sg<<1;if((ve|0)==256){Ge=nf+Pg|0;c[515169]=Pg;we=d[Ge>>0]|0;c[515170]=we;Tg=Ge;Ug=Pg+1|0;Vg=we;Wg=Pg;Xg=1}else{Tg=Og;Ug=Pg;Vg=Oe&255;Wg=Rg;Xg=ve}ve=((Ee&64|0)==0?0:Xg)|(Xg^255)&Vg;a[Tg>>0]=ve;Oe=Xg<<1;if((Oe|0)==256){we=nf+Ug|0;c[515169]=Ug;Ge=d[we>>0]|0;c[515170]=Ge;Yg=we;Zg=Ug+1|0;_g=Ge;$g=Ug;ah=1}else{Yg=Tg;Zg=Ug;_g=ve&255;$g=Wg;ah=Oe}a[Yg>>0]=((Ee&128|0)==0?0:ah)|(ah^255)&_g;Ee=ah<<1;if((Ee|0)==256){c[515169]=Zg;c[515170]=d[nf+Zg>>0];bh=Zg;ch=1}else{bh=$g;ch=Ee}Pe=Pe+1|0;if((Pe|0)==(Ae|0))break;else{ze=ch;Qe=bh}}c[8683]=ch;dh=bh;eh=ch}else{dh=sg;eh=tg}Qe=nf+dh|0;ze=(eh^255)&(d[Qe>>0]|0);a[Qe>>0]=ze;Ae=eh<<1;Pe=dh+1|0;do if((Ae|0)==256){Ke=nf+Pe|0;c[515169]=Pe;Fe=d[Ke>>0]|0;c[515170]=Fe;Ee=Fe&254;a[Ke>>0]=Ee;fh=Ke;gh=dh+2|0;hh=Pe;ih=Ee;jh=2;E=162}else{Ee=(Ae^255)&ze;a[Qe>>0]=Ee;Ke=eh<<2;if((Ke|0)!=256){fh=Qe;gh=Pe;hh=dh;ih=Ee;jh=Ke;E=162;break}Ke=nf+Pe|0;c[515169]=Pe;Ee=d[Ke>>0]|0;c[515170]=Ee;Fe=Ee&254;a[Ke>>0]=Fe;kh=2;lh=Ke;mh=Pe;nh=Fe;E=164}while(0);do if((E|0)==162){E=0;Pe=(jh^255)&(ih&255);a[fh>>0]=Pe;Qe=jh<<1;if((Qe|0)==256){ze=nf+gh|0;c[515169]=gh;Ae=d[ze>>0]|0;c[515170]=Ae;kh=1;lh=ze;mh=gh;nh=Ae;E=164;break}Ae=(Qe^255)&Pe;a[fh>>0]=Ae;Pe=jh<<2;if((Pe|0)!=256){oh=fh;ph=gh;qh=hh;rh=Ae;sh=Pe;E=167;break}Pe=nf+gh|0;c[515169]=gh;Ae=d[Pe>>0]|0;c[515170]=Ae;Qe=Ae&254;a[Pe>>0]=Qe;th=2;uh=Pe;vh=gh;wh=Qe;E=169}while(0);if((E|0)==164){E=0;Qe=(kh^255)&nh;a[lh>>0]=Qe;oh=lh;ph=mh+1|0;qh=mh;rh=Qe;sh=kh<<1;E=167}do if((E|0)==167){E=0;Qe=(sh^255)&(rh&255);a[oh>>0]=Qe;Pe=sh<<1;if((Pe|0)==256){Ae=nf+ph|0;c[515169]=ph;ze=d[Ae>>0]|0;c[515170]=ze;th=1;uh=Ae;vh=ph;wh=ze;E=169;break}ze=(Pe^255)&Qe;a[oh>>0]=ze;Qe=sh<<2;if((Qe|0)!=256){xh=oh;yh=ph;zh=qh;Ah=ze;Bh=Qe;E=172;break}Qe=nf+ph|0;c[515169]=ph;ze=d[Qe>>0]|0;c[515170]=ze;Pe=ze&254;a[Qe>>0]=Pe;Ch=ph;Dh=2;Eh=Qe;Fh=Pe;E=174}while(0);if((E|0)==169){E=0;Pe=(th^255)&wh;a[uh>>0]=Pe;xh=uh;yh=vh+1|0;zh=vh;Ah=Pe;Bh=th<<1;E=172}do if((E|0)==172){E=0;Pe=(Bh^255)&(Ah&255);a[xh>>0]=Pe;Qe=Bh<<1;if((Qe|0)==256){ze=nf+yh|0;c[515169]=yh;Ae=d[ze>>0]|0;c[515170]=Ae;Ch=yh;Dh=1;Eh=ze;Fh=Ae;E=174;break}a[xh>>0]=(Qe^255)&Pe;Pe=Bh<<2;if((Pe|0)!=256){Gh=zh;Hh=Pe;break}c[515169]=yh;c[515170]=d[nf+yh>>0];Gh=yh;Hh=1}while(0);if((E|0)==174){E=0;a[Eh>>0]=(Dh^255)&Fh;Gh=Ch;Hh=Dh<<1}c[8683]=Hh;Du(j|0,l|0,1024)|0;Du(k|0,m|0,1024)|0;Ih=Me;Jh=1;Kh=Gh;Lh=Hh}else{Du(l|0,j|0,1024)|0;Du(m|0,k|0,1024)|0;Ih=ia;Jh=0;Kh=mf;Lh=lf}Mh=Kh;Nh=ia;Oh=c[515170]<<8|Kh<<16|Lh;Ph=Ih;Qh=Jh}else{Mh=Ie;Nh=Je;Oh=Le;Ph=Me;Qh=Ne}if((ia|0)>=(f|0))break;else{Me=Ph;Ne=Qh;Ie=Mh;Je=Nh;Le=Oh}}}op(p);p=c[8683]|0;if((p|0)==1){Rh=c[515169]|0;Sh=c[515168]|0}else{Oh=c[515168]|0;Le=c[515169]|0;Nh=Oh+Le|0;Je=p;p=a[Nh>>0]|0;do{p=(Je^255)&(p&255)&255;Je=Je<<1}while((Je|0)!=256);a[Nh>>0]=p;p=Le+1|0;c[515169]=p;c[515170]=d[Oh+p>>0];c[8683]=1;Rh=p;Sh=Oh}a[Sh+6>>0]=(Rh|0)/256|0;a[Sh+7>>0]=Rh;if((Rh|0)<=(f|0)){q=Rh;Ga=g;return q|0}Du(e|0,b|0,f|0)|0;q=f;Ga=g;return q|0}function Mk(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;k=h-g|0;if((k|0)<3){l=0;return l|0}h=c[1410832+((((d[f+(g+1)>>0]|0)*1503|0)+((d[f+g>>0]|0)*7|0)+((d[f+(g+2)>>0]|0)*51717|0)&4095)<<2)>>2]|0;if(!h){l=0;return l|0}m=b[h+2>>1]|0;if(!(m<<16>>16)){n=-1;o=0;p=0}else{q=g+-32767|0;r=m&65535;m=0;s=-1;t=0;u=-1e5;while(1){v=e[h+(m+2<<1)>>1]|0;if((v|0)>=(g|0)){w=s;x=t;y=u;break}if((q|0)>(v|0)){z=s;A=t;B=u}else{C=0;while(1){D=C+v|0;if((D|0)>=(g|0)){E=C;F=D;break}if((a[f+D>>0]|0)!=(a[f+(C+g)>>0]|0)){E=C;F=D;break}C=C+1|0;if((C|0)>=(k|0)){G=21;break}}if((G|0)==21){G=0;E=C;F=C+v|0}D=g-v|0;a:do if((E|0)>=(k|0)|(F|0)<(g|0))H=E;else{I=E;while(1){if((a[f+(((I|0)%(D|0)|0)+v)>>0]|0)!=(a[f+(I+g)>>0]|0)){H=I;break a}J=I+1|0;if((J|0)>=(k|0)|(J+v|0)<(g|0)){H=J;break}else I=J}}while(0);if((D|0)>0){C=0;I=D;do{C=C+1|0;I=I>>>5}while((I|0)!=0);if(C>>>0<2){K=C;G=17}else{L=C;M=2}}else{K=0;G=17}if((G|0)==17){G=0;L=K;M=K}I=(H<<8>>>0)/(((L*5|0)+4+M|0)>>>0)|0;D=(I|0)>(s|0);z=D?I:s;A=D?H:t;B=D?v:u}m=m+1|0;if(m>>>0>=r>>>0){w=z;x=A;y=B;break}else{s=z;t=A;u=B}}n=w;o=x;p=(y|0)>-1?g-y|0:0}c[i>>2]=p;c[j>>2]=n;l=o;return l|0}function Nk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0;g=Ga;Ga=Ga+2080|0;h=g+1056|0;i=g+32|0;j=g;c[8683]=1;c[515170]=0;c[515175]=b;k=0;do{c[h+(k<<2)>>2]=k;k=k+1|0}while((k|0)!=256);k=0;do{c[i+(c[h+(k<<2)>>2]<<2)>>2]=k;k=k+1|0}while((k|0)!=256);c[j>>2]=d[b>>0];c[j+4>>2]=d[b+1>>0];c[j+8>>2]=d[b+2>>0];c[j+12>>2]=d[b+3>>0];c[j+16>>2]=d[b+4>>0];c[j+20>>2]=d[b+5>>0];c[j+24>>2]=d[b+6>>0];c[j+28>>2]=d[b+7>>0];c[8683]=1;k=(c[j+16>>2]<<8)+(c[j+20>>2]|0)|0;l=(c[j+24>>2]<<8)+(c[j+28>>2]|0)|0;if(!((f|0)>0&((k|0)>0&(l|0)>8))){Ga=g;return 0}j=f+-1|0;m=0;n=1;o=8;a:while(1){p=n<<1;q=(p|0)==256;r=o+(q&1)|0;s=q?1:p;b:do if(!(n&(d[b+o>>0]|0))){p=(s&(d[b+r>>0]|0)|0)!=0;q=s<<1;t=(q|0)==256;u=r+(t&1)|0;v=t?1:q;if(p){q=v<<1;t=(q|0)==256;w=(p&1)+((v&(d[b+u>>0]|0)|0)!=0&1)|0;x=t?1:q;y=u+(t&1)|0}else{w=0;x=v;y=u}u=3-w|0;v=u*5|0;if((u|0)>0){u=0;t=0;q=y;p=y;z=x;while(1){A=z<<1;B=(A|0)==256;C=p+1|0;D=B?C:q;E=B?1:A;A=((z&(d[b+p>>0]|0)|0)==0?0:1<<u)|t;u=u+1|0;if((u|0)==(v|0)){F=A;G=E;H=D;break}else{t=A;q=D;p=B?C:p;z=E}}}else{F=0;G=x;H=y}z=F+1|0;if(!((v|0)==10&(F|0)==0|(z|0)==0)){p=0;q=0;t=H;u=G;while(1){E=d[b+t>>0]|0;C=(u&E|0)!=0;B=u<<1;D=t+1|0;do if((B|0)!=256){A=C&1;I=(B&E|0)==0;J=u<<2;if((J|0)==256){K=I;L=A;M=1;N=d[b+D>>0]|0;O=42;break}else{P=u<<3;Q=(P|0)==256;R=(I?0:2)|A;S=J&E;T=Q?D:t;U=Q?1:P;break}}else{P=d[b+D>>0]|0;K=(P&1|0)==0;L=C&1;M=2;N=P;O=42}while(0);if((O|0)==42){O=0;R=(K?0:2)|L;S=M&N;T=D;U=M<<1}C=((S|0)==0?0:4)|R;q=q+3|0;p=C+p|0;if(!(q>>>0<1e5&(C|0)==7))break;else{t=T;u=U}}u=p+3|0;t=m;while(1){a[e+t>>0]=a[e+(t-z)>>0]|0;t=t+1|0;if((u|0)<=1)break;else u=u+-1|0}if((t|0)>=(j|0)){V=t;W=U;X=T;break}a[e+t>>0]=0;V=t;W=U;X=T;break}if((m|0)<(k|0)){u=m;z=G;p=H;while(1){q=d[b+p>>0]|0;v=(z&q|0)!=0;C=z<<1;E=p+1|0;do if((C|0)!=256){B=v&1;P=(C&q|0)==0;Q=z<<2;if((Q|0)==256){Y=P;Z=B;_=1;$=d[b+E>>0]|0;O=46;break}J=(P?0:2)|B;B=(Q&q|0)==0;Q=z<<3;if((Q|0)==256){P=d[b+E>>0]|0;aa=(B?0:4)|J;ba=(P&1|0)==0;ca=2;da=P;ea=E;O=51}else{fa=J;ga=q;ha=E;ia=B;ja=Q;ka=p;O=49}}else{Q=d[b+E>>0]|0;Y=(Q&1|0)==0;Z=v&1;_=2;$=Q;O=46}while(0);if((O|0)==46){O=0;fa=(Y?0:2)|Z;ga=$;ha=p+2|0;ia=(_&$|0)==0;ja=_<<1;ka=E;O=49}do if((O|0)==49){O=0;v=(ia?0:4)|fa;q=(ja&ga|0)==0;C=ja<<1;if((C|0)==256){aa=v;ba=q;ca=1;da=d[b+ha>>0]|0;ea=ha;O=51;break}D=(q?0:8)|v;v=(C&ga|0)==0;C=ja<<2;if((C|0)==256){q=d[b+ha>>0]|0;la=(v?0:16)|D;ma=(q&1|0)==0;na=2;oa=q;pa=ha;O=56}else{qa=D;ra=ga;sa=ha;ta=v;ua=C;va=ka;O=54}}while(0);if((O|0)==51){O=0;qa=(ba?0:8)|aa;ra=da;sa=ea+1|0;ta=(ca&da|0)==0;ua=ca<<1;va=ea;O=54}do if((O|0)==54){O=0;E=(ta?0:16)|qa;C=(ua&ra|0)==0;v=ua<<1;if((v|0)==256){la=E;ma=C;na=1;oa=d[b+sa>>0]|0;pa=sa;O=56;break}D=(C?0:32)|E;E=(v&ra|0)==0;v=ua<<2;if((v|0)==256){wa=(E?0:64)|D;xa=sa;ya=(a[b+sa>>0]&1)==0;za=2}else{Aa=D;Ba=ra;Ca=sa;Da=E;Ea=v;Fa=va;O=59}}while(0);if((O|0)==56){O=0;Aa=(ma?0:32)|la;Ba=oa;Ca=pa+1|0;Da=(na&oa|0)==0;Ea=na<<1;Fa=pa;O=59}if((O|0)==59){O=0;v=Ea<<1;E=(v|0)==256;wa=(Da?0:64)|Aa;xa=E?Ca:Fa;ya=(Ea&Ba|0)==0;za=E?1:v}v=(ya?0:128)|wa;a[e+u>>0]=v;if(!(v&255)){V=u;W=za;X=xa;break b}v=u+1|0;if((v|0)<(k|0)){u=v;z=za;p=xa}else{V=v;W=za;X=xa;break}}}else{V=m;W=G;X=H}}else{p=0;z=0;u=0;t=r;v=s;while(1){E=v<<1;D=(E|0)==256;Ha=t+(D&1)|0;Ia=D?1:E;if(!(p>>>0<16?(v&(d[b+t>>0]|0)|0)!=0:0))break;E=(16<<z)+u|0;p=p+1|0;z=z+1|0;u=E;t=Ha;v=Ia}v=z+3|0;t=0;p=0;E=Ha;D=Ia;while(1){C=D<<1;q=(C|0)==256;Q=E;E=E+(q&1)|0;B=D;D=q?1:C;p=((B&(d[b+Q>>0]|0)|0)==0?0:1<<t)|p;if((t|0)==(v|0))break;else t=t+1|0}t=p+u|0;if((t|0)>255){Ja=D;break a}v=c[h+(t<<2)>>2]|0;a[e+m>>0]=v;z=m+1|0;a[e+z>>0]=0;if((t|0)>0){Q=t;do{t=Q;Q=Q+-1|0;B=c[h+(Q<<2)>>2]|0;c[h+(t<<2)>>2]=B;C=i+(B<<2)|0;c[C>>2]=(c[C>>2]|0)+1}while((t|0)>1)}c[h>>2]=v;c[i+(v<<2)>>2]=0;V=z;W=D;X=E}while(0);if((V|0)<(f|0)&((V|0)<(k|0)&(X|0)<(l|0))){m=V;n=W;o=X}else{Ja=W;break}}c[8683]=Ja;Ga=g;return 0}function Ok(b){b=b|0;var c=0;switch(a[b>>0]|0){case 58:{if(((a[b+1>>0]|0)==99?(a[b+2>>0]|0)==58:0)?(a[b+3>>0]|0)==0:0){c=1;return c|0}break}case 0:{if(((a[b+1>>0]|0)==112?(a[b+2>>0]|0)==120:0)?(a[b+3>>0]|0)==97:0){c=2;return c|0}break}default:{}}c=0;return c|0}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;return Lk(a,b,c)|0}function Qk(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;switch(a[b>>0]|0){case 58:{if((a[b+1>>0]|0)!=99){f=0;return f|0}if((a[b+2>>0]|0)!=58){f=0;return f|0}if(a[b+3>>0]|0){f=0;return f|0}g=d[b+4>>0]<<8|d[b+5>>0];lp(c,0,e);if((g|0)>(e|0)){f=1;return f|0}h=c+g|0;if(!g)i=c;else{g=b+8|0;j=c;while(1){k=a[g>>0]|0;l=k&255;m=g+1|0;if((k&255)<60){n=k<<24>>24==0;a[j>>0]=a[(n?m:56655+l|0)>>0]|0;o=n?g+2|0:m;p=1}else{n=d[m>>0]|0;m=(n>>>4)+2|0;Du(j|0,j+(0-(n&15|(l<<4)+-960))|0,m|0)|0;o=g+2|0;p=m}m=j+p|0;if(m>>>0<h>>>0){g=o;j=m}else{i=m;break}}}j=Lt(c,56716)|0;if((j|0)!=0?(o=Ms(c)|0,(c-j+o|0)==56):0){j=c+o+-56|0;a[j>>0]=0;q=j}else q=i;i=Lt(c,56773)|0;if(i){j=Ms(c)|0;o=c;if((o-i+j|0)==73){i=c+j+-73|0;a[i>>0]=0;r=i;s=o}else{r=q;s=o}}else{r=q;s=c}f=r-s|0;return f|0}case 0:{if((a[b+1>>0]|0)!=112){f=0;return f|0}if((a[b+2>>0]|0)!=120){f=0;return f|0}if((a[b+3>>0]|0)!=97){f=0;return f|0}Nk(b,c,e)|0;f=0;return f|0}default:{f=0;return f|0}}return 0}function Rk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=1;while(1){f=1<<e;if(e>>>0<9&(f|0)<(b|0))e=e+1|0;else break}if((f|0)!=(b|0)){g=0;return g|0}f=Br(16)|0;if(!f){g=0;return g|0}e=Dr(b,3)|0;c[f+12>>2]=e;if(!e){Cr(f);g=0;return g|0}c[f>>2]=b;h=1;while(1)if(h>>>0<9&(1<<h|0)<(b|0))h=h+1|0;else break;c[f+4>>2]=h;a[f+8>>0]=0;if(!d){g=f;return g|0}Du(e|0,d|0,b*3|0)|0;g=f;return g|0}function Sk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=384;g=ct(a,b?193:577,f)|0;if((g|0)==-1)if(!d)h=0;else{c[d>>2]=1;h=0}else{f=Tk(g,d)|0;if(!f){bt(g)|0;h=0}else h=f}Ga=e;return h|0}function Tk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Br(76)|0;if(!d){e=0;return e|0}f=d;g=f+76|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=Br(24908)|0;if(!f){Cr(d);if(!b){e=0;return e|0}c[b>>2]=7;e=0;return e|0}g=Br(32768)|0;if(g|0){Eu(g|0,-1,32768)|0;c[f+24900>>2]=g;g=qt(a,67694)|0;c[d+72>>2]=f;c[f+4>>2]=a;c[f+56>>2]=g;c[f>>2]=1;c[f+64>>2]=0;c[d+68>>2]=0;c[d+64>>2]=0;e=d;return e|0}c[f+24900>>2]=0;Cr(d);Cr(f);if(!b){e=0;return e|0}c[b>>2]=7;e=0;return e|0}function Uk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+72>>2]|0;e=c[b+24>>2]|0;if((e|0)>0){f=c[b+52>>2]|0;g=d+24904|0;h=0;do{i=c[f+(h*36|0)+28>>2]|0;a:do if((i|0)>0){j=c[f+(h*36|0)+32>>2]|0;switch(c[j+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}if((i|0)>1){k=1;while(1){switch(c[j+(k*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}k=k+1|0;if((k|0)>=(i|0))break a}}}while(0);h=h+1|0}while((h|0)<(e|0))}e=c[b+56>>2]|0;if((e|0)<=0){l=d+24904|0;m=a[l>>0]|0;n=m<<24>>24==0;o=n?56847:56854;return o|0}h=c[b+60>>2]|0;b=d+24904|0;d=0;while(1){switch(c[h+(d*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[b>>0]=1;break}default:{}}d=d+1|0;if((d|0)>=(e|0)){l=b;break}}m=a[l>>0]|0;n=m<<24>>24==0;o=n?56847:56854;return o|0}function Vk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;i=Ga;Ga=Ga+16|0;j=i+4|0;k=i;l=b+72|0;m=c[l>>2]|0;n=c[m>>2]|0;if(n&2|0){c[b+64>>2]=3;o=0;Ga=i;return o|0}if(!(n&1)){c[b+64>>2]=10;o=0;Ga=i;return o|0}n=Uk(b)|0;p=Ms(n)|0;q=c[l>>2]|0;r=c[q+64>>2]|0;if(!r)s=Rt(n,1,p,c[q+56>>2]|0)|0;else s=La[r&7](b,n,p)|0;if((s|0)!=(Ms(n)|0)){c[b+64>>2]=2;o=0;Ga=i;return o|0}c[b>>2]=d;c[b+4>>2]=e;c[b+8>>2]=f;c[b+12>>2]=g;n=(h|0)!=0;a:do if(n){s=c[h>>2]|0;p=c[h+12>>2]|0;r=1;while(1){t=1<<r;if(r>>>0<9&(t|0)<(s|0))r=r+1|0;else break}do if((t|0)==(s|0)?(r=Br(16)|0,r|0):0){q=Dr(s,3)|0;c[r+12>>2]=q;if(!q){Cr(r);break}c[r>>2]=s;u=1;while(1)if(u>>>0<9&(1<<u|0)<(s|0))u=u+1|0;else break;c[r+4>>2]=u;a[r+8>>0]=0;if(p|0)Du(q|0,p|0,s*3|0)|0;c[b+20>>2]=r;break a}while(0);c[b+20>>2]=0;c[b+64>>2]=7;o=0;Ga=i;return o|0}else c[b+20>>2]=0;while(0);a[j>>0]=d;t=j+1|0;a[t>>0]=d>>>8;d=c[l>>2]|0;s=c[d+64>>2]|0;if(!s)Rt(j,1,2,c[d+56>>2]|0)|0;else La[s&7](b,j,2)|0;a[j>>0]=e;a[t>>0]=e>>>8;e=c[l>>2]|0;t=c[e+64>>2]|0;if(!t)Rt(j,1,2,c[e+56>>2]|0)|0;else La[t&7](b,j,2)|0;j=(n?128:0)|(f<<4)+240;if(n){f=(c[h+4>>2]|0)+-1|j;a[k>>0]=f;if(a[h+8>>0]|0){v=f|8;w=34}}else{v=j|7;w=34}if((w|0)==34)a[k>>0]=v;v=k+1|0;a[v>>0]=g;g=k+2|0;a[g>>0]=a[b+16>>0]|0;w=c[l>>2]|0;j=c[w+64>>2]|0;if(!j)Rt(k,1,3,c[w+56>>2]|0)|0;else La[j&7](b,k,3)|0;b:do if(n?(c[h>>2]|0)>0:0){j=h+12|0;w=0;while(1){f=c[j>>2]|0;a[k>>0]=a[f+(w*3|0)>>0]|0;a[v>>0]=a[f+(w*3|0)+1>>0]|0;a[g>>0]=a[f+(w*3|0)+2>>0]|0;f=c[l>>2]|0;t=c[f+64>>2]|0;if(!t)x=Rt(k,1,3,c[f+56>>2]|0)|0;else x=La[t&7](b,k,3)|0;w=w+1|0;if((x|0)!=3)break;if((w|0)>=(c[h>>2]|0))break b}c[b+64>>2]=2;o=0;Ga=i;return o|0}while(0);c[m>>2]=c[m>>2]|2;o=1;Ga=i;return o|0}function Wk(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;j=Ga;Ga=Ga+16|0;k=j+4|0;l=j;m=h&1;n=b+72|0;o=c[n>>2]|0;p=c[o>>2]|0;if(p&4|0?(c[o+52>>2]|0)>>>0>4294901760:0){c[b+64>>2]=4;q=0;Ga=j;return q|0}if(!(p&1)){c[b+64>>2]=10;q=0;Ga=j;return q|0}c[b+28>>2]=d;c[b+32>>2]=e;c[b+36>>2]=f;c[b+40>>2]=g;a[b+44>>0]=m;m=(i|0)!=0;p=b+48|0;a:do if(m){r=c[p>>2]|0;if(r|0){Cr(c[r+12>>2]|0);Cr(r);c[p>>2]=0}r=c[i>>2]|0;s=c[i+12>>2]|0;t=1;while(1){u=1<<t;if(t>>>0<9&(u|0)<(r|0))t=t+1|0;else break}do if((u|0)==(r|0)?(t=Br(16)|0,t|0):0){v=Dr(r,3)|0;c[t+12>>2]=v;if(!v){Cr(t);break}c[t>>2]=r;w=1;while(1)if(w>>>0<9&(1<<w|0)<(r|0))w=w+1|0;else break;c[t+4>>2]=w;a[t+8>>0]=0;if(!s){x=t;break a}Du(v|0,s|0,r*3|0)|0;x=t;break a}while(0);c[p>>2]=0;c[b+64>>2]=7;q=0;Ga=j;return q|0}else x=0;while(0);c[p>>2]=x;a[l>>0]=44;x=c[n>>2]|0;u=c[x+64>>2]|0;if(!u)Wt(44,c[x+56>>2]|0)|0;else La[u&7](b,l,1)|0;a[k>>0]=d;u=k+1|0;a[u>>0]=d>>>8;d=c[n>>2]|0;x=c[d+64>>2]|0;if(!x)Rt(k,1,2,c[d+56>>2]|0)|0;else La[x&7](b,k,2)|0;a[k>>0]=e;a[u>>0]=e>>>8;e=c[n>>2]|0;x=c[e+64>>2]|0;if(!x)Rt(k,1,2,c[e+56>>2]|0)|0;else La[x&7](b,k,2)|0;a[k>>0]=f;a[u>>0]=f>>>8;x=c[n>>2]|0;e=c[x+64>>2]|0;if(!e)Rt(k,1,2,c[x+56>>2]|0)|0;else La[e&7](b,k,2)|0;a[k>>0]=g;a[u>>0]=g>>>8;u=c[n>>2]|0;e=c[u+64>>2]|0;if(!e)Rt(k,1,2,c[u+56>>2]|0)|0;else La[e&7](b,k,2)|0;e=(m?128:0)|(h?64:0);b:do if(m){h=(c[i+4>>2]|0)+255|e;a[l>>0]=h;u=c[n>>2]|0;x=c[u+64>>2]|0;if(!x)Wt(h<<24>>24,c[u+56>>2]|0)|0;else La[x&7](b,l,1)|0;if((c[i>>2]|0)>0){x=i+12|0;u=l+1|0;h=l+2|0;d=0;while(1){r=c[x>>2]|0;a[l>>0]=a[r+(d*3|0)>>0]|0;a[u>>0]=a[r+(d*3|0)+1>>0]|0;a[h>>0]=a[r+(d*3|0)+2>>0]|0;r=c[n>>2]|0;s=c[r+64>>2]|0;if(!s)y=Rt(l,1,3,c[r+56>>2]|0)|0;else y=La[s&7](b,l,3)|0;d=d+1|0;if((y|0)!=3)break;if((d|0)>=(c[i>>2]|0))break b}c[b+64>>2]=2;q=0;Ga=j;return q|0}}else{a[l>>0]=e;d=c[n>>2]|0;h=c[d+64>>2]|0;if(!h){Wt(e<<24>>24,c[d+56>>2]|0)|0;break}else{La[h&7](b,l,1)|0;break}}while(0);l=c[b+20>>2]|0;e=c[p>>2]|0;if((l|0)==0&(e|0)==0){c[b+64>>2]=5;q=0;Ga=j;return q|0}c[o>>2]=c[o>>2]|4;c[o+52>>2]=B(g,f)|0;f=c[n>>2]|0;n=c[((e|0)==0?l:e)+4>>2]|0;e=(n|0)>2?n:2;a[k>>0]=e;n=c[f+64>>2]|0;if(!n)Wt(e<<24>>24,c[f+56>>2]|0)|0;else La[n&7](b,k,1)|0;a[f+68>>0]=0;c[f+8>>2]=e;k=1<<e;n=f+12|0;c[n>>2]=k;c[f+16>>2]=k+1;c[f+20>>2]=k+2;c[f+24>>2]=e+1;c[f+28>>2]=2<<e;c[f+36>>2]=4097;c[f+44>>2]=0;c[f+48>>2]=0;Eu(c[f+24900>>2]|0,-1,32768)|0;if(!(Xk(b,c[n>>2]|0)|0))c[b+64>>2]=8;q=1;Ga=j;return q|0}function Xk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=b+72|0;g=c[f>>2]|0;h=g+44|0;i=c[h>>2]|0;do if((e|0)==4096){j=g+68|0;if((i|0)>0){k=g+48|0;l=b+64|0;m=1;n=c[k>>2]|0;while(1){o=a[j>>0]|0;do if(o<<24>>24==-1){p=c[f>>2]|0;q=c[p+64>>2]|0;if(!q)r=Rt(j,1,256,c[p+56>>2]|0)|0;else r=La[q&7](b,j,256)|0;if((r|0)==((d[j>>0]|0)+1|0)){a[j>>0]=0;s=0;t=10;break}else{c[l>>2]=2;u=0;break}}else{s=o;t=10}while(0);if((t|0)==10){t=0;o=s+1<<24>>24;a[j>>0]=o;a[(o&255)+(g+68)>>0]=n;u=m}n=(c[k>>2]|0)>>>8;c[k>>2]=n;o=c[h>>2]|0;c[h>>2]=o+-8;if((o|0)<=8){v=u;break}else m=u}}else v=1;c[h>>2]=0;m=a[j>>0]|0;if(m<<24>>24){n=(m&255)+1|0;m=c[f>>2]|0;k=c[m+64>>2]|0;if(!k)w=Rt(j,1,n,c[m+56>>2]|0)|0;else w=La[k&7](b,j,n)|0;if((w|0)!=((d[j>>0]|0)+1|0)){c[b+64>>2]=2;x=0;break}}a[j>>0]=0;n=c[f>>2]|0;k=c[n+64>>2]|0;if(!k)y=Rt(j,1,1,c[n+56>>2]|0)|0;else y=La[k&7](b,j,1)|0;if((y|0)==1)x=v;else{c[b+64>>2]=2;x=0}}else{k=g+48|0;n=c[k>>2]|e<<i;c[k>>2]=n;m=(c[g+24>>2]|0)+i|0;c[h>>2]=m;if((m|0)>7){m=g+68|0;l=b+64|0;o=1;q=n;while(1){n=a[m>>0]|0;do if(n<<24>>24==-1){p=c[f>>2]|0;z=c[p+64>>2]|0;if(!z)A=Rt(m,1,256,c[p+56>>2]|0)|0;else A=La[z&7](b,m,256)|0;if((A|0)==((d[m>>0]|0)+1|0)){a[m>>0]=0;B=0;t=32;break}else{c[l>>2]=2;C=0;break}}else{B=n;t=32}while(0);if((t|0)==32){t=0;n=B+1<<24>>24;a[m>>0]=n;a[(n&255)+(g+68)>>0]=q;C=o}q=(c[k>>2]|0)>>>8;c[k>>2]=q;n=c[h>>2]|0;c[h>>2]=n+-8;if((n|0)<=15){x=C;break}else o=C}}else x=1}while(0);C=g+28|0;if(!((e|0)<4096?(c[g+20>>2]|0)>=(c[C>>2]|0):0))return x|0;e=g+24|0;g=(c[e>>2]|0)+1|0;c[e>>2]=g;c[C>>2]=1<<g;return x|0}function Yk(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=c[a+72>>2]|0;g=c[f+24900>>2]|0;h=f+36|0;i=c[h>>2]|0;if((i|0)==4097){j=1;k=d[b>>0]|0}else{j=0;k=i}a:do if((j|0)<(e|0)){i=f+20|0;l=f+12|0;m=f+16|0;n=f+8|0;o=f+24|0;p=f+28|0;q=k;r=j;b:while(1){s=d[b+r>>0]|0;r=r+1|0;t=q<<8|s;u=t^q>>>4&1048575;v=u&8191;w=c[g+(v<<2)>>2]|0;x=w>>>12;c:do if((x|0)==1048575)y=10;else{z=v;A=x;B=w;while(1){if((A|0)==(t|0))break;z=z+1&8191;C=c[g+(z<<2)>>2]|0;A=C>>>12;if((A|0)==1048575){y=10;break c}else B=C}D=B&4095}while(0);do if((y|0)==10){y=0;if(!(Xk(a,q)|0)){y=11;break b}w=c[i>>2]|0;if((w|0)>4094){if(!(Xk(a,c[l>>2]|0)|0)){y=14;break b}c[i>>2]=(c[m>>2]|0)+1;x=(c[n>>2]|0)+1|0;c[o>>2]=x;c[p>>2]=1<<x;Eu(g|0,-1,32768)|0;D=s;break}c[i>>2]=w+1;x=u;while(1){v=x&8191;E=g+(v<<2)|0;if((c[E>>2]|0)>>>0<4294963200)x=v+1|0;else break}c[E>>2]=w&4095|t<<12;D=s}while(0);if((r|0)>=(e|0)){F=D;break a}else q=D}if((y|0)==11){c[a+64>>2]=8;G=0;return G|0}else if((y|0)==14){c[a+64>>2]=8;G=0;return G|0}}else F=k;while(0);c[h>>2]=F;if(c[f+52>>2]|0){G=1;return G|0}if(!(Xk(a,F)|0)){c[a+64>>2]=8;G=0;return G|0}if(!(Xk(a,c[f+16>>2]|0)|0)){c[a+64>>2]=8;G=0;return G|0}if(Xk(a,4096)|0){G=1;return G|0}c[a+64>>2]=8;G=0;return G|0}function Zk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ga;Ga=Ga+16|0;f=e;if(!b){g=0;Ga=e;return g|0}h=c[b+72>>2]|0;if(!h){g=0;Ga=e;return g|0}if(!(c[h>>2]&1)){if(d|0)c[d>>2]=10;Cr(b);g=0;Ga=e;return g|0}i=c[h+56>>2]|0;a[f>>0]=59;j=c[h+64>>2]|0;if(!j)Wt(59,i)|0;else La[j&7](b,f,1)|0;f=b+48|0;j=c[f>>2]|0;if(j|0){Cr(c[j+12>>2]|0);Cr(j);c[f>>2]=0}f=b+20|0;j=c[f>>2]|0;if(j|0){Cr(c[j+12>>2]|0);Cr(j);c[f>>2]=0}f=c[h+24900>>2]|0;if(f|0)Cr(f);Cr(h);if(i|0?ut(i)|0:0){if(d|0)c[d>>2]=9;Cr(b);g=0;Ga=e;return g|0}Cr(b);if(!d){g=1;Ga=e;return g|0}c[d>>2]=0;g=1;Ga=e;return g|0}function _k(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=Ga;Ga=Ga+16|0;e=d;if(!(Vk(b,c[b>>2]|0,c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+20>>2]|0)|0)){f=0;Ga=d;return f|0}g=b+24|0;a:do if((c[g>>2]|0)>0){h=b+52|0;i=b+72|0;j=e+1|0;k=b+36|0;l=0;b:while(1){m=c[h>>2]|0;n=c[m+(l*36|0)+12>>2]|0;o=c[m+(l*36|0)+8>>2]|0;p=m+(l*36|0)+24|0;c:do if(c[p>>2]|0){q=c[m+(l*36|0)+32>>2]|0;r=c[m+(l*36|0)+28>>2]|0;if((q|0)!=0&(r|0)>0){s=r+-1|0;t=0;do{u=q+(t*12|0)|0;v=c[q+(t*12|0)+8>>2]|0;if(v|0){w=c[i>>2]|0;if(!(c[w>>2]&1)){x=13;break b}a[e>>0]=33;a[j>>0]=v;v=c[w+64>>2]|0;if(!v)Rt(e,1,2,c[w+56>>2]|0)|0;else La[v&7](b,e,2)|0}v=c[u>>2]|0;w=c[q+(t*12|0)+4>>2]|0;y=c[i>>2]|0;if(!(c[y>>2]&1)){x=21;break b}a[e>>0]=v;z=c[y+64>>2]|0;if(!z)Wt(v<<24>>24,c[y+56>>2]|0)|0;else La[z&7](b,e,1)|0;z=c[i>>2]|0;y=c[z+64>>2]|0;if(!y)Rt(w,1,v,c[z+56>>2]|0)|0;else La[y&7](b,w,v)|0;if(!((t|0)!=(s|0)?!(c[u+12+8>>2]|0):0)){u=c[i>>2]|0;if(!(c[u>>2]&1)){x=29;break b}a[e>>0]=0;v=c[u+64>>2]|0;if(!v)Wt(0,c[u+56>>2]|0)|0;else La[v&7](b,e,1)|0}t=t+1|0}while((t|0)<(r|0))}r=m+(l*36|0)+16|0;if(!(Wk(b,c[m+(l*36|0)>>2]|0,c[m+(l*36|0)+4>>2]|0,o,n,(a[r>>0]|0)!=0,c[m+(l*36|0)+20>>2]|0)|0)){f=0;x=105;break b}if(!(a[r>>0]|0)){if((n|0)<=0)break;if(!o){r=0;while(1){t=c[p>>2]|0;s=c[i>>2]|0;if(!(c[s>>2]&1)){x=70;break b}q=c[k>>2]|0;v=s+52|0;u=c[v>>2]|0;if(u>>>0<q>>>0){x=72;break b}c[v>>2]=u-q;u=a[56861+(c[s+8>>2]|0)>>0]|0;if((q|0)>0){s=0;do{v=t+s|0;a[v>>0]=a[v>>0]&u;s=s+1|0}while((s|0)!=(q|0))}r=r+1|0;if(!(Yk(b,t,q)|0)){f=0;x=105;break b}if((r|0)>=(n|0))break c}}else{r=(o|0)>0;s=0;while(1){u=(c[p>>2]|0)+(B(s,o)|0)|0;v=c[i>>2]|0;if(!(c[v>>2]&1)){x=70;break b}w=v+52|0;y=c[w>>2]|0;if(y>>>0<o>>>0){x=72;break b}c[w>>2]=y-o;y=a[56861+(c[v+8>>2]|0)>>0]|0;if(r){v=0;do{w=u+v|0;a[w>>0]=a[w>>0]&y;v=v+1|0}while((v|0)!=(o|0))}s=s+1|0;if(!(Yk(b,u,o)|0)){f=0;x=105;break b}if((s|0)>=(n|0))break c}}}s=(n|0)>0;if(!o){if(!s)break;r=0;do{v=c[p>>2]|0;y=c[i>>2]|0;if(!(c[y>>2]&1)){x=48;break b}q=c[k>>2]|0;t=y+52|0;w=c[t>>2]|0;if(w>>>0<q>>>0){x=50;break b}c[t>>2]=w-q;w=a[56861+(c[y+8>>2]|0)>>0]|0;if((q|0)>0){y=0;do{t=v+y|0;a[t>>0]=a[t>>0]&w;y=y+1|0}while((y|0)!=(q|0))}if(!(Yk(b,v,q)|0)){f=0;x=105;break b}r=r+8|0}while((r|0)<(n|0));if((n|0)>4){r=4;do{y=c[p>>2]|0;w=c[i>>2]|0;if(!(c[w>>2]&1)){x=48;break b}u=c[k>>2]|0;t=w+52|0;z=c[t>>2]|0;if(z>>>0<u>>>0){x=50;break b}c[t>>2]=z-u;z=a[56861+(c[w+8>>2]|0)>>0]|0;if((u|0)>0){w=0;do{t=y+w|0;a[t>>0]=a[t>>0]&z;w=w+1|0}while((w|0)!=(u|0))}if(!(Yk(b,y,u)|0)){f=0;x=105;break b}r=r+8|0}while((r|0)<(n|0))}if((n|0)>2){r=2;do{w=c[p>>2]|0;z=c[i>>2]|0;if(!(c[z>>2]&1)){x=48;break b}q=c[k>>2]|0;v=z+52|0;t=c[v>>2]|0;if(t>>>0<q>>>0){x=50;break b}c[v>>2]=t-q;t=a[56861+(c[z+8>>2]|0)>>0]|0;if((q|0)>0){z=0;do{v=w+z|0;a[v>>0]=a[v>>0]&t;z=z+1|0}while((z|0)!=(q|0))}if(!(Yk(b,w,q)|0)){f=0;x=105;break b}r=r+4|0}while((r|0)<(n|0))}if((n|0)<=1)break;r=1;do{z=c[p>>2]|0;t=c[i>>2]|0;if(!(c[t>>2]&1)){x=48;break b}u=c[k>>2]|0;y=t+52|0;v=c[y>>2]|0;if(v>>>0<u>>>0){x=50;break b}c[y>>2]=v-u;v=a[56861+(c[t+8>>2]|0)>>0]|0;if((u|0)>0){t=0;do{y=z+t|0;a[y>>0]=a[y>>0]&v;t=t+1|0}while((t|0)!=(u|0))}if(!(Yk(b,z,u)|0)){f=0;x=105;break b}r=r+2|0}while((r|0)<(n|0))}else{if(!s)break;r=(o|0)>0;t=0;do{v=(c[p>>2]|0)+(B(t,o)|0)|0;q=c[i>>2]|0;if(!(c[q>>2]&1)){x=48;break b}w=q+52|0;y=c[w>>2]|0;if(y>>>0<o>>>0){x=50;break b}c[w>>2]=y-o;y=a[56861+(c[q+8>>2]|0)>>0]|0;if(r){q=0;do{w=v+q|0;a[w>>0]=a[w>>0]&y;q=q+1|0}while((q|0)!=(o|0))}if(!(Yk(b,v,o)|0)){f=0;x=105;break b}t=t+8|0}while((t|0)<(n|0));if((n|0)>4){t=(o|0)>0;r=4;do{s=(c[p>>2]|0)+(B(r,o)|0)|0;q=c[i>>2]|0;if(!(c[q>>2]&1)){x=48;break b}y=q+52|0;u=c[y>>2]|0;if(u>>>0<o>>>0){x=50;break b}c[y>>2]=u-o;u=a[56861+(c[q+8>>2]|0)>>0]|0;if(t){q=0;do{y=s+q|0;a[y>>0]=a[y>>0]&u;q=q+1|0}while((q|0)!=(o|0))}if(!(Yk(b,s,o)|0)){f=0;x=105;break b}r=r+8|0}while((r|0)<(n|0))}if((n|0)>2){r=(o|0)>0;t=2;do{q=(c[p>>2]|0)+(B(t,o)|0)|0;u=c[i>>2]|0;if(!(c[u>>2]&1)){x=48;break b}v=u+52|0;y=c[v>>2]|0;if(y>>>0<o>>>0){x=50;break b}c[v>>2]=y-o;y=a[56861+(c[u+8>>2]|0)>>0]|0;if(r){u=0;do{v=q+u|0;a[v>>0]=a[v>>0]&y;u=u+1|0}while((u|0)!=(o|0))}if(!(Yk(b,q,o)|0)){f=0;x=105;break b}t=t+4|0}while((t|0)<(n|0))}if((n|0)<=1)break;t=(o|0)>0;r=1;do{u=(c[p>>2]|0)+(B(r,o)|0)|0;y=c[i>>2]|0;if(!(c[y>>2]&1)){x=48;break b}s=y+52|0;v=c[s>>2]|0;if(v>>>0<o>>>0){x=50;break b}c[s>>2]=v-o;v=a[56861+(c[y+8>>2]|0)>>0]|0;if(t){y=0;do{s=u+y|0;a[s>>0]=a[s>>0]&v;y=y+1|0}while((y|0)!=(o|0))}if(!(Yk(b,u,o)|0)){f=0;x=105;break b}r=r+2|0}while((r|0)<(n|0))}}while(0);l=l+1|0;if((l|0)>=(c[g>>2]|0))break a}if((x|0)==13){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==21){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==29){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==48){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==50){c[b+64>>2]=6;f=0;Ga=d;return f|0}else if((x|0)==70){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==72){c[b+64>>2]=6;f=0;Ga=d;return f|0}else if((x|0)==105){Ga=d;return f|0}}while(0);g=c[b+60>>2]|0;l=c[b+56>>2]|0;d:do if((g|0)!=0&(l|0)>0){i=l+-1|0;k=b+72|0;j=e+1|0;h=0;while(1){n=g+(h*12|0)|0;o=c[g+(h*12|0)+8>>2]|0;if(o|0){p=c[k>>2]|0;if(!(c[p>>2]&1)){x=86;break}a[e>>0]=33;a[j>>0]=o;o=c[p+64>>2]|0;if(!o)Rt(e,1,2,c[p+56>>2]|0)|0;else La[o&7](b,e,2)|0}o=c[n>>2]|0;p=c[g+(h*12|0)+4>>2]|0;m=c[k>>2]|0;if(!(c[m>>2]&1)){x=94;break}a[e>>0]=o;r=c[m+64>>2]|0;if(!r)Wt(o<<24>>24,c[m+56>>2]|0)|0;else La[r&7](b,e,1)|0;r=c[k>>2]|0;m=c[r+64>>2]|0;if(!m)Rt(p,1,o,c[r+56>>2]|0)|0;else La[m&7](b,p,o)|0;if(!((h|0)!=(i|0)?!(c[n+12+8>>2]|0):0)){n=c[k>>2]|0;if(!(c[n>>2]&1)){x=102;break}a[e>>0]=0;o=c[n+64>>2]|0;if(!o)Wt(0,c[n+56>>2]|0)|0;else La[o&7](b,e,1)|0}h=h+1|0;if((h|0)>=(l|0))break d}if((x|0)==86){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==94){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==102){c[b+64>>2]=10;f=0;Ga=d;return f|0}}while(0);f=(Zk(b,0)|0)!=0&1;Ga=d;return f|0}function $k(a){a=a|0;var b=0;b=1;while(1)if(b>>>0<9&(1<<b|0)<(a|0))b=b+1|0;else break;return b|0}function al(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)return;b=c[a+52>>2]|0;if(!b)return;d=a+24|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;d=b+(a*36|0)+20|0;e=c[d>>2]|0;if(e|0){Cr(c[e+12>>2]|0);Cr(e);c[d>>2]=0}d=c[b+(a*36|0)+24>>2]|0;if(d|0)Cr(d);d=b+(a*36|0)+28|0;e=b+(a*36|0)+32|0;a=c[e>>2]|0;if(!a)return;if((c[d>>2]|0)>0){b=a;do{Cr(c[b+4>>2]|0);b=b+12|0;f=c[e>>2]|0}while(b>>>0<(f+((c[d>>2]|0)*12|0)|0)>>>0);g=f}else g=a;Cr(g);c[e>>2]=0;c[d>>2]=0;return}function bl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=b+52|0;f=c[e>>2]|0;if(!f)g=Br(36)|0;else g=Er(f,((c[b+24>>2]|0)*36|0)+36|0)|0;c[e>>2]=g;if(!g){h=0;return h|0}e=b+24|0;f=c[e>>2]|0;c[e>>2]=f+1;e=g+(f*36|0)|0;i=e;j=i+36|0;do{a[i>>0]=0;i=i+1|0}while((i|0)<(j|0));if(!d){h=e;return h|0}i=e;k=d;j=i+36|0;do{a[i>>0]=a[k>>0]|0;i=i+1|0;k=k+1|0}while((i|0)<(j|0));k=g+(f*36|0)+20|0;a:do if(c[k>>2]|0){i=c[d+20>>2]|0;j=c[i>>2]|0;l=c[i+12>>2]|0;i=1;while(1){m=1<<i;if(i>>>0<9&(m|0)<(j|0))i=i+1|0;else break}do if((m|0)==(j|0)?(i=Br(16)|0,i|0):0){n=Dr(j,3)|0;c[i+12>>2]=n;if(!n){Cr(i);break}c[i>>2]=j;o=1;while(1)if(o>>>0<9&(1<<o|0)<(j|0))o=o+1|0;else break;c[i+4>>2]=o;a[i+8>>0]=0;if(l|0)Du(n|0,l|0,j*3|0)|0;c[k>>2]=i;break a}while(0);c[k>>2]=0;al(b);h=0;return h|0}while(0);k=B(c[d+8>>2]|0,c[d+12>>2]|0)|0;m=Br(k)|0;c[g+(f*36|0)+24>>2]=m;if(!m){al(b);h=0;return h|0}Du(m|0,c[d+24>>2]|0,k|0)|0;k=g+(f*36|0)+32|0;if(!(c[k>>2]|0)){h=e;return h|0}f=(c[d+28>>2]|0)*12|0;g=Br(f)|0;c[k>>2]=g;if(!g){al(b);h=0;return h|0}else{Du(g|0,c[d+32>>2]|0,f|0)|0;h=e;return h|0}return 0}function cl(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=Ga;Ga=Ga+1632|0;d=b+1616|0;e=b+1608|0;f=b+1600|0;g=b+1592|0;h=b+1584|0;i=b+1576|0;j=b+1568|0;k=b+1560|0;l=b+1552|0;m=b+528|0;n=b;c[749950]=0;Eu(n|0,0,521)|0;if((c[732408]|0)!=1|(c[732414]|0)==0|(a[2924252]|0)==0){o=0;Ga=b;return o|0}if((Ms(2924252)|0)>>>0>64){o=0;Ga=b;return o|0}c[l>>2]=2922068;c[l+4>>2]=2924252;as(m,56870,l)|0;l=Fn(m,67694)|0;if(!l){o=1;Ga=b;return o|0}m=0;do{p=m*65|0;q=m<<3;r=n+(p+64)|0;c[k>>2]=c[2925276+(q<<2)>>2];as(n+p|0,56883,k)|0;a[r>>0]=10;c[j>>2]=c[2925276+((q|1)<<2)>>2];as(n+(p+8)|0,56883,j)|0;a[r>>0]=10;c[i>>2]=c[2925276+((q|2)<<2)>>2];as(n+(p+16)|0,56883,i)|0;a[r>>0]=10;c[h>>2]=c[2925276+((q|3)<<2)>>2];as(n+(p+24)|0,56883,h)|0;a[r>>0]=10;c[g>>2]=c[2925276+((q|4)<<2)>>2];as(n+(p+32)|0,56883,g)|0;a[r>>0]=10;c[f>>2]=c[2925276+((q|5)<<2)>>2];as(n+(p+40)|0,56883,f)|0;a[r>>0]=10;c[e>>2]=c[2925276+((q|6)<<2)>>2];as(n+(p+48)|0,56883,e)|0;a[r>>0]=10;c[d>>2]=c[2925276+((q|7)<<2)>>2];as(n+(p+56)|0,56883,d)|0;a[r>>0]=10;m=m+1|0}while((m|0)!=8);xn(n,1,520,l)|0;Gn(l);o=0;Ga=b;return o|0}function dl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ga;Ga=Ga+2592|0;e=d+2584|0;f=d+2576|0;g=d+1552|0;h=d+528|0;i=d;if(!b){j=3;Ga=d;return j|0}if(!((c[732408]|0)==1&(c[732414]|0)!=0)){j=1;Ga=d;return j|0}if(a[2924252]|0){yb(56888);j=2;Ga=d;return j|0}k=a[b>>0]|0;if(k<<24>>24?(l=Ms(b)|0,l>>>0<=64):0){a:do if(l|0){m=0;n=k;b:while(1){o=n<<24>>24;if(!((o+-97|0)>>>0<26|(o+-48|0)>>>0<10))switch(o|0){case 45:case 95:break;default:break b}o=m+1|0;if(o>>>0>=l>>>0)break a;m=o;n=a[b+o>>0]|0}yb(56945);j=2;Ga=d;return j|0}while(0);rm(2924252,b)|0;Eu(2925276,0,256)|0;c[f>>2]=2922068;c[f+4>>2]=2924252;as(g,56870,f)|0;f=Fn(g,59673)|0;if(!f){j=1;Ga=d;return j|0}lp(h,0,1024);vn(h,1,1024,f)|0;Gn(f);lp(i,0,513);f=0;g=0;while(1){b=a[h+g>>0]|0;if((b+-48&255)<10)p=19;else switch(b<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:{p=19;break}default:q=f}if((p|0)==19){p=0;a[i+f>>0]=b;q=f+1|0}g=g+1|0;if(!(g>>>0<1024&(q|0)<512))break;else f=q}q=0;do{c[e>>2]=2925276+(q<<2);At(i+(q<<3)|0,56883,e)|0;q=q+1|0}while((q|0)!=64);j=0;Ga=d;return j|0}yb(56923);j=2;Ga=d;return j|0}function el(a){a=a|0;return}function fl(){var a=0,b=0,d=0;c[515176]=0;c[515177]=0;a=1623244;b=1623180;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function gl(){var a=0,b=0,d=0;if((c[515176]|0)>=13)return;a=1623180;b=1623244;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function hl(a){a=a|0;var b=0,d=0,e=0;b=(a|0)==27;if(b&(c[515176]|0)<13){a=1623180;d=1623244;e=a+64|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));il(c[694838]|0)}if(b)c[750218]=0;if((c[515176]|0)<=12)return;c[750218]=0;c[732521]=120;return}function il(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ga;Ga=Ga+16|0;e=d+8|0;f=d;Hm(b,0,0,127,127,1);Hm(b,4,41,123,124,6);Hm(b,0,0,127,6,7);rn(b,56968,c[694857]|0,6,1,1,12)|0;g=c[c[694856]>>2]|0;h=c[515176]|0;i=c[((h|0)==13?g+672|0:(h|0)==12?g+700|0:g+(((h|0)%6|0)+169<<2)|0)>>2]|0;Jm(i,b,0,0,6,8,c[i>>2]|0,c[i+4>>2]|0);i=c[694857]|0;if((c[515176]|0)>12){rn(b,56986,i,60,12,1,11)|0;rn(b,57e3,c[694857]|0,60,22,1,12)|0;rn(b,57013,c[694857]|0,60,29,1,12)|0}else{rn(b,57025,i,60,12,1,6)|0;rn(b,c[1920+(c[515176]<<2)>>2]|0,c[694857]|0,60,19,1,7)|0;rn(b,57040,c[694857]|0,60,26,1,13)|0;rn(b,57056,c[694857]|0,60,33,1,13)|0}i=0;h=44;while(1){g=c[1623180+(i<<2)>>2]|0;j=c[1920+(i<<2)>>2]|0;if(!g){k=c[1984+(i<<2)>>2]|0;c[f>>2]=j;c[f+4>>2]=k;as(1470512,57070,f)|0}else{k=(g|0)<255?g:255;g=zq((k|0)>0?k:0)|0;c[e>>2]=j;c[e+4>>2]=g;as(1470512,57070,e)|0}g=a[1470512]|0;if(g<<24>>24){j=1470512;k=g;do{if((k+-65&255)<26)a[j>>0]=(k&255)+32;j=j+1|0;k=a[j>>0]|0}while(k<<24>>24!=0)}if((i|0)==(c[515176]|0)){Hm(b,7,h+-1|0,120,h+5|0,14);l=1}else l=5;rn(b,1470512,c[694857]|0,10,h,1,l)|0;i=i+1|0;if((i|0)==13)break;else h=h+6|0}Ga=d;return}function jl(){var a=0,b=0,d=0;if(!(c[515177]|0)){c[515177]=1;a=0;do{if(fn(a)|0)c[515177]=0;a=a+1|0}while((a|0)!=512);if((c[515176]|0)<=12)return;c[515177]=0;return}a=0;do{if(fn(a)|0){switch(a&2147483647|0){case 42:case 76:{b=0;break}default:b=a}d=c[515176]|0;c[1623180+(d<<2)>>2]=b;c[515177]=0;c[515176]=d+1;if((d|0)>11?cn()|0:0)do dn()|0;while((cn()|0)!=0)}a=a+1|0}while((a|0)!=512);return}function kl(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=a[b>>0]|0;if(!(c<<24>>24))return;d=c;while(1){c=b+((Ms(b)|0)+-1)|0;if((a[c>>0]|0)!=32)break;a[c>>0]=0;c=a[b>>0]|0;if(!(c<<24>>24)){e=15;break}else d=c}if((e|0)==15)return;c=b;f=d;do{if((f+-65&255)<26)a[c>>0]=(f&255)+32;c=c+1|0;f=a[c>>0]|0}while(f<<24>>24!=0);f=a[b>>0]|0;if(!(f<<24>>24))return;c=b;b=f;do{if(qb(b<<24>>24)|0){if((a[c>>0]|0)==124){g=95;e=13}}else{g=32;e=13}if((e|0)==13){e=0;a[c>>0]=g}c=c+1|0;b=a[c>>0]|0}while(b<<24>>24!=0);return}function ll(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ga;Ga=Ga+1056|0;b=a+1024|0;d=a;Qq(58561,d);e=ot(d,58535)|0;if(!e){Ga=a;return}d=c[357364]|0;if((d|0)>0){f=0;g=d;while(1){d=c[357097]|0;if((c[d+(f*692|0)+684>>2]|0)==1){h=c[d+(f*692|0)+644>>2]|0;c[b>>2]=d+(f*692|0)+388;c[b+4>>2]=d+(f*692|0)+516;c[b+8>>2]=h;c[b+12>>2]=d+(f*692|0)+132;c[b+16>>2]=d+(f*692|0)+260;c[b+20>>2]=d+(f*692|0)+4;It(e,57298,b)|0;i=c[357364]|0}else i=g;f=f+1|0;if((f|0)>=(i|0))break;else g=i}}ut(e)|0;Ga=a;return}function ml(){var a=0,b=0;a=Ga;Ga=Ga+1024|0;b=a;Qq(58561,b);nl(1428384,b);Ga=a;return}function nl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=Ga;Ga=Ga+528|0;f=e+520|0;g=e+512|0;h=e;i=Fn(d,67514)|0;if(!i){c[g>>2]=d;as(1465904,57337,g)|0;vm(1465904);Ga=e;return}a:do if(!(Dn(i)|0)){g=b+1072|0;d=b+4|0;j=h+1|0;k=0;do{if(k>>>0>=2048)break a;k=k+1|0;a[h>>0]=0;Hn(h,511,i)|0;do if((a[h>>0]|0)==124){qp(c[b>>2]|0,((c[g>>2]|0)*692|0)+692|0)|0;l=c[(c[b>>2]|0)+12>>2]|0;c[d>>2]=l;m=c[g>>2]|0;c[g>>2]=m+1;n=l+(m*692|0)|0;Eu(n|0,0,692)|0;m=n+684|0;c[m>>2]=1;l=j;b:while(1){switch(a[l>>0]|0){case 0:case 124:{break b;break}default:{}}l=l+1|0}a[l>>0]=0;o=n+388|0;rm(o,j)|0;p=l+1|0;q=p;c:while(1){switch(a[q>>0]|0){case 0:case 124:{break c;break}default:{}}q=q+1|0}a[q>>0]=0;l=n+516|0;rm(l,p)|0;r=q+1|0;s=r;d:while(1){switch(a[s>>0]|0){case 0:case 124:{break d;break}default:{}}s=s+1|0}a[s>>0]=0;c[f>>2]=n+644;At(r,59339,f)|0;q=s+1|0;p=q;e:while(1){switch(a[p>>0]|0){case 0:case 124:{break e;break}default:{}}p=p+1|0}a[p>>0]=0;rm(n+132|0,q)|0;s=p+1|0;r=s;f:while(1){switch(a[r>>0]|0){case 0:case 124:{break f;break}default:{}}r=r+1|0}a[r>>0]=0;p=n+260|0;rm(p,s)|0;q=r+1|0;t=q;g:while(1){switch(a[t>>0]|0){case 0:case 124:{break g;break}default:{}}t=t+1|0}a[t>>0]=0;rm(n+4|0,q)|0;ol(n);r=pl(b,o,p)|0;s=(c[g>>2]|0)+-1|0;if((r|0)!=(s|0)){c[g>>2]=s;break}if((c[m>>2]|0)==1)if((a[o>>0]|0)==0?(a[l>>0]|0)==0:0){s=(Lt(p,57293)|0)==0;u=s?177:180}else u=176;else u=c[n>>2]|0;c[n>>2]=u}while(0)}while(!(Dn(i)|0))}while(0);Gn(i);Ga=e;return}function ol(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=b+388|0;a:do if(a[c>>0]|0)do{d=(Ms(c)|0)+-1+(b+388)|0;if((a[d>>0]|0)!=32)break a;a[d>>0]=0}while((a[c>>0]|0)!=0);while(0);d=b+516|0;b:do if(a[d>>0]|0)do{e=(Ms(d)|0)+-1+(b+516)|0;if((a[e>>0]|0)!=32)break b;a[e>>0]=0}while((a[d>>0]|0)!=0);while(0);e=b+260|0;c:do if(a[e>>0]|0)do{f=(Ms(e)|0)+-1+(b+260)|0;if((a[f>>0]|0)!=32)break c;a[f>>0]=0}while((a[e>>0]|0)!=0);while(0);e=b+132|0;f=a[e>>0]|0;d:do if(f<<24>>24){g=f;while(1){h=(Ms(e)|0)+-1+(b+132)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break d;else g=h}h=e;i=g;do{if((i+-65&255)<26)a[h>>0]=(i&255)+32;h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0);i=a[e>>0]|0;if(i<<24>>24){h=e;g=i;do{if(!((g+-97&255)<26|(g+-48&255)<10))a[h>>0]=95;h=h+1|0;g=a[h>>0]|0}while(g<<24>>24!=0)}}while(0);if((Ms(e)|0)>>>0>16)a[b+148>>0]=0;e=b+4|0;f=a[e>>0]|0;e:do if(f<<24>>24){g=f;while(1){h=(Ms(e)|0)+-1+(b+4)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break e;else g=h}h=e;i=g;do{if((i+-65&255)<26)a[h>>0]=(i&255)+32;h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0);i=a[e>>0]|0;if(i<<24>>24){h=e;g=i;do{if(qb(g<<24>>24)|0){if((a[h>>0]|0)==124){j=95;k=40}}else{j=32;k=40}if((k|0)==40){k=0;a[h>>0]=j}h=h+1|0;g=a[h>>0]|0}while(g<<24>>24!=0)}}while(0);if(!(Cs(c,60549)|0))a[c>>0]=0;if(Cs(d,60549)|0)return;a[d>>0]=0;return}function pl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+1072>>2]|0;if((f|0)<=0){g=-1;return g|0}h=c[b+4>>2]|0;b=(e|0)==0;if(!(a[d>>0]|0)){if(b){g=-1;return g|0}i=(a[e>>0]|0)==0;j=0;while(1){if(((!i?(a[h+(j*692|0)+388>>0]|0)==0:0)?(a[h+(j*692|0)+516>>0]|0)==0:0)?(Cs(e,h+(j*692|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0}j=0;while(1){i=h+(j*692|0)+388|0;if(!(Cs(i,d)|0)){g=j;k=18;break}if((((!b?a[e>>0]|0:0)?(a[i>>0]|0)==0:0)?(a[h+(j*692|0)+516>>0]|0)==0:0)?(Cs(e,h+(j*692|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0;return 0}function ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Ga;Ga=Ga+2080|0;e=d+2064|0;f=d+2056|0;g=d+2048|0;h=d+1024|0;i=d;Qq(57373,i);Tq(i)|0;c[g>>2]=(a|0)/1e4|0;as(h,57377,g)|0;Qq(h,i);Tq(i)|0;if(!b){c[e>>2]=i;c[e+4>>2]=a;as(1446448,57399,e)|0;Ga=d;return 1446448}else{c[f>>2]=i;c[f+4>>2]=a;as(1446448,57385,f)|0;Ga=d;return 1446448}return 0}function rl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ga;Ga=Ga+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1048|0;k=a[b>>0]|0;if(!(k<<24>>24)){a[1446448]=0;Ga=e;return 1446448}c[j>>2]=0;l=Ms(b)|0;m=(k+-48&255)<10&1;if(l>>>0>1){k=m;n=1;while(1){o=((a[b+n>>0]|0)+-48&255)>9?0:k;p=n+1|0;if(p>>>0<l>>>0){k=o;n=p}else{q=o;r=p;break}}}else{q=m;r=1}c[j>>2]=r;if(q|0){c[j>>2]=0;c[h>>2]=j;At(b,59339,h)|0;ql(c[j>>2]|0,d)|0;Ga=e;return 1446448}Qq(57373,i);Tq(i)|0;Qq(57411,i);Tq(i)|0;if(!d){c[f>>2]=i;c[f+4>>2]=b;as(1446448,57436,f)|0;Ga=e;return 1446448}else{c[g>>2]=i;c[g+4>>2]=b;as(1446448,57421,g)|0;Ga=e;return 1446448}return 0}function sl(a){a=a|0;rl(a,0)|0;return 1446448}function tl(a){a=a|0;rl(a,1)|0;return 1446448}function ul(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ga;Ga=Ga+16|0;f=e;if((Ms(d)|0)>>>0<2){a[1447472]=0;Ga=e;return 1447472}else{g=c[405843]|0;c[f>>2]=b;c[f+4>>2]=g;c[f+8>>2]=d;as(1447472,57449,f)|0;Ga=e;return 1447472}return 0}function vl(a,b){a=a|0;b=b|0;return (pl(1428384,a,b)|0)!=-1|0}function wl(b){b=b|0;var d=0,e=0,f=0;if(!b){d=0;return d|0}if(!(a[b>>0]|0)){d=0;return d|0}if(!(Lt(b,57293)|0)){e=gr(b)|0;if(!e){d=0;return d|0}f=e+44572|0;if(!(c[f>>2]|0)){d=0;return d|0}e=Km(128,128,8)|0;vo(c[f>>2]|0,e,0,0,0,0,128,128);d=e;return d|0}e=Pn(b)|0;if(!e){d=0;return d|0}if((c[e>>2]|0)!=160){d=0;return d|0}if((c[e+4>>2]|0)!=205){d=0;return d|0}b=Km(128,128,32)|0;f=Km(128,128,8)|0;vo(e,b,16,24,0,0,128,128);ak(b,f,c[694819]|0);Lm(e)|0;Lm(b)|0;d=f;return d|0}function xl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ga;Ga=Ga+16|0;e=d;c[515178]=b;c[515179]=0;if((b|0)==1){rm(1445908,57515)|0;f=c[515179]|0;c[1445904+(f*68|0)>>2]=1;g=f+1|0;c[515179]=g;rm(1445904+(g*68|0)+4|0,57524)|0;g=c[515179]|0;c[1445904+(g*68|0)>>2]=5;f=g+1|0;c[515179]=f;g=1445904+(f*68|0)+4|0;if(1==1)rm(g,57532)|0;else rm(g,57555)|0;g=c[515179]|0;c[1445904+(g*68|0)>>2]=3;f=g+1|0;c[515179]=f;g=1428384;h=c[357365]|0;do if((h|0)>=0?(c[357364]|0)>(h|0):0)if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+684>>2]|0)==1){if((c[357364]|0)<=(h|0)){Eu(2061412,0,692)|0;i=f;break}if(a[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+388>>0]|0){if((c[357364]|0)>(h|0))j=(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0;else{Eu(2061412,0,692)|0;j=2061412}c[e>>2]=j+132;as(1470512,57565,e)|0;rm(1445904+((c[515179]|0)*68|0)+4|0,1470512)|0;k=c[515179]|0;c[1445904+(k*68|0)>>2]=19;l=k+1|0;c[515179]=l;rm(1445904+(l*68|0)+4|0,57578)|0;l=c[515179]|0;c[1445904+(l*68|0)>>2]=20;k=l+1|0;c[515179]=k;rm(1445904+(k*68|0)+4|0,57592)|0;k=c[515179]|0;c[1445904+(k*68|0)>>2]=21;l=k+1|0;c[515179]=l;rm(1445904+(l*68|0)+4|0,57610)|0;l=c[515179]|0;c[1445904+(l*68|0)>>2]=18;k=l+1|0;c[515179]=k;i=k}else i=f}else i=f;else m=7;while(0);if((m|0)==7){Eu(2061412,0,692)|0;i=f}rm(1445904+(i*68|0)+4|0,57633)|0;i=c[515179]|0;c[1445904+(i*68|0)>>2]=6;f=i+1|0;c[515179]=f;n=c[515178]|0;o=f}else{n=b;o=0}if((n|0)==4){rm(1445904+(o*68|0)+4|0,57640)|0;b=c[515179]|0;c[1445904+(b*68|0)>>2]=16;f=b+1|0;c[515179]=f;rm(1445904+(f*68|0)+4|0,57650)|0;f=c[515179]|0;c[1445904+(f*68|0)>>2]=17;b=f+1|0;c[515179]=b;rm(1445904+(b*68|0)+4|0,57662)|0;b=c[515179]|0;c[1445904+(b*68|0)>>2]=18;f=b+1|0;c[515179]=f;rm(1445904+(f*68|0)+4|0,57678)|0;f=c[515179]|0;c[1445904+(f*68|0)>>2]=6;b=f+1|0;c[515179]=b;p=c[515178]|0;q=b}else{p=n;q=o}if((p|0)!=5){Ga=d;return}rm(1445904+(q*68|0)+4|0,57683)|0;q=c[515179]|0;c[1445904+(q*68|0)>>2]=32;p=q+1|0;c[515179]=p;rm(1445904+(p*68|0)+4|0,57690)|0;p=c[515179]|0;c[1445904+(p*68|0)>>2]=33;q=p+1|0;c[515179]=q;rm(1445904+(q*68|0)+4|0,57701)|0;q=c[515179]|0;c[1445904+(q*68|0)>>2]=34;p=q+1|0;c[515179]=p;rm(1445904+(p*68|0)+4|0,57678)|0;p=c[515179]|0;c[1445904+(p*68|0)>>2]=6;c[515179]=p+1;Ga=d;return}function yl(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=Ga;Ga=Ga+2064|0;d=b+2048|0;e=b+1024|0;f=b;g=1428384;h=c[357365]|0;do if((h|0)<0)Eu(2061412,0,692)|0;else{if((c[357364]|0)<=(h|0)){Eu(2061412,0,692)|0;break}if(!((c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0)){Ga=b;return}if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+684>>2]|0)!=1){Ga=b;return}if((c[357364]|0)>(h|0)){i=(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0;j=(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+388|0}else{Eu(2061412,0,692)|0;i=2061412;j=2061800}k=Cl(j,i+260|0)|0;if(k|0){l=c[357365]|0;if((l|0)>=0?(c[357364]|0)>(l|0):0)m=(c[(c[357096]|0)+12>>2]|0)+(l*692|0)|0;else{Eu(2061412,0,692)|0;m=2061412}Du(k|0,m|0,692)|0;l=k+648|0;c[l>>2]=Km(128,128,8)|0;n=1428384;o=c[357365]|0;if((o|0)>=0?(c[357364]|0)>(o|0):0){if(c[(c[(c[n>>2]|0)+12>>2]|0)+(o*692|0)+648>>2]|0){if((c[357364]|0)>(o|0))p=c[(c[(c[n>>2]|0)+12>>2]|0)+(o*692|0)+648>>2]|0;else{Eu(2061412,0,692)|0;p=0}vo(p,c[l>>2]|0,0,0,0,0,128,128)}}else Eu(2061412,0,692)|0;o=k+388|0;if(a[o>>0]|0?(Qq(57494,e),c[d>>2]=e,c[d+4>>2]=o,as(f,57506,d)|0,(sq(f)|0)==0):0)Qn(f,c[l>>2]|0)|0;Dl(k)}k=1429460;l=c[k>>2]|0;o=1429456;n=c[o>>2]|0;q=(n|0)<1?0:n+-1|0;r=(l|0)<(q|0)?l:q;c[k>>2]=(r|0)>0?r:0;if(1!=1&(n|0)>0){n=1428388;r=0;do{k=c[n>>2]|0;q=k+(r*692|0)+688|0;c[q>>2]=0;c[q>>2]=(pl(1428384,k+(r*692|0)+388|0,k+(r*692|0)+260|0)|0)!=-1&1;r=r+1|0}while((r|0)<(c[o>>2]|0))}ll();Ga=b;return}while(0);Eu(2061412,0,692)|0;Ga=b;return}function zl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ga;Ga=Ga+3120|0;g=f+3096|0;h=f+3088|0;i=f+3080|0;j=f+3072|0;k=f+2048|0;l=f+1024|0;m=f;if(!e){c[i>>2]=b;as(l,57762,i)|0;Qq(l,k);c[h>>2]=b;as(l,57782,h)|0;Qq(l,1625708)}else{c[j>>2]=b;as(l,57740,j)|0;Qq(l,k);a[1625708]=0}l=c[405842]|0;c[g>>2]=e;c[g+4>>2]=d;c[g+8>>2]=57866;c[g+12>>2]=101;c[g+16>>2]=l;as(m,57797,g)|0;if(c[405846]|0){Ga=f;return}rm(1623660,m)|0;rm(1624684,k)|0;c[405846]=1;c[405847]=Iq()|0;c[405848]=0;Wq(1623660,1624684,2,3)|0;Ga=f;return}function Al(a){a=a|0;var b=0;if(!(c[405846]|0))return;if(sq(1624684)|0)if(Lt(1624684,57293)|0){a=Pn(1624684)|0;if(!a)b=3;else{Lm(a)|0;b=2}}else b=2;else b=3;c[405846]=b;return}function Bl(a){a=a|0;if(!(c[405846]|0))return;c[405846]=3;return}function Cl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=pl(1428384,b,d)|0;if((e|0)!=-1){Lm(c[(c[357097]|0)+(e*692|0)+648>>2]|0)|0;f=(c[357364]|0)+-1|0;g=c[357097]|0;if((e|0)<(f|0)){h=e;e=g;while(1){i=h;h=h+1|0;Du(e+(i*692|0)|0,e+(h*692|0)|0,692)|0;i=(c[357364]|0)+-1|0;j=c[357097]|0;if((h|0)>=(i|0)){k=j;l=i;break}else e=j}}else{k=g;l=f}Eu(k+(l*692|0)|0,0,692)|0;c[357364]=(c[357364]|0)+-1;m=0;return m|0}qp(c[357096]|0,((c[357364]|0)*692|0)+692|0)|0;l=c[(c[357096]|0)+12>>2]|0;c[357097]=l;k=c[357364]|0;f=l;g=l;a:do if((k|0)>0){l=0;while(1){if((c[f+(l*692|0)+684>>2]|0)==1){n=l;break a}e=l+1|0;if((e|0)<(k|0))l=e;else{n=e;break}}}else n=0;while(0);if((k|0)>(n|0)){l=k+-1|0;Du(f+(k*692|0)|0,f+(l*692|0)|0,692)|0;if((l|0)>(n|0)){f=l;do{l=c[357097]|0;e=f;f=f+-1|0;Du(l+(e*692|0)|0,l+(f*692|0)|0,692)|0}while((f|0)>(n|0))}o=c[357364]|0;p=c[(c[357096]|0)+12>>2]|0}else{o=k;p=g}c[357364]=o+1;o=p+(n*692|0)|0;Eu(o|0,0,692)|0;c[o+684>>2]=1;rm(o+388|0,b)|0;if(!d){m=o;return m|0}rm(o+260|0,d)|0;if(!(a[d>>0]|0)){m=o;return m|0}b=o+4|0;if(a[b>>0]|0){m=o;return m|0}Mn(d,0,b,0);d=Ms(b)|0;if(d>>>0<=3){m=o;return m|0}b=d+-3+(o+4)|0;if((a[b>>0]|0)!=46){m=o;return m|0}a[b>>0]=0;m=o;return m|0}
function Bc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=Ga;Ga=Ga+16|0;i=h;j=f+4|0;a:do switch(c[j>>2]&63){case 0:{k=1;break}case 3:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 1:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 2:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 22:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 4:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 20:{l=c[f>>2]|0;m=c[g>>2]|0;n=c[l+12>>2]|0;if((l|0)!=(m|0))if((n|0)==(c[m+12>>2]|0))k=(Zr(l+16|0,m+16|0,n)|0)==0;else k=0;else k=1;break}case 7:{n=c[f>>2]|0;m=c[g>>2]|0;if((n|0)!=(m|0))if(((e|0)!=0?(l=c[n+8>>2]|0,n=c[m+8>>2]|0,(l|0)!=0):0)?(m=l+6|0,o=a[m>>0]|0,(o&32)==0):0){p=c[(c[e+12>>2]|0)+176>>2]|0;q=c[p+8>>2]|0;r=(c[l+16>>2]|0)+(((1<<(d[l+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(p|0):0){s=17;break}t=c[r+16>>2]|0;if(!t){u=2060540;break}else r=t}if((s|0)==17)u=r;t=u+4|0;v=c[t>>2]|0;if(!v){a[m>>0]=o|32;k=0;break a}if(u)if((l|0)!=(n|0))if((n|0)!=0?(w=n+6|0,x=a[w>>0]|0,(x&32)==0):0){y=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(p|0):0){s=28;break}z=c[y+16>>2]|0;if(!z){A=2060540;break}else y=z}if((s|0)==28)A=y;p=c[A+4>>2]|0;if(!p){a[w>>0]=x|32;k=0;break a}if((A|0)!=0&(v|0)==(p|0)?(Bc(0,u,A)|0)!=0:0){B=u;C=t;s=59}else k=0}else k=0;else{B=u;C=t;s=59}else k=0}else k=0;else k=1;break}case 5:{p=c[f>>2]|0;q=c[g>>2]|0;if((p|0)!=(q|0))if(((e|0)!=0?(n=c[p+8>>2]|0,p=c[q+8>>2]|0,(n|0)!=0):0)?(q=n+6|0,l=a[q>>0]|0,(l&32)==0):0){o=c[(c[e+12>>2]|0)+176>>2]|0;m=c[o+8>>2]|0;r=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(o|0):0){s=41;break}z=c[r+16>>2]|0;if(!z){D=2060540;break}else r=z}if((s|0)==41)D=r;t=D+4|0;v=c[t>>2]|0;if(!v){a[q>>0]=l|32;k=0;break a}if(D)if((n|0)!=(p|0))if((p|0)!=0?(x=p+6|0,w=a[x>>0]|0,(w&32)==0):0){y=(c[p+16>>2]|0)+(((1<<(d[p+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(o|0):0){s=52;break}z=c[y+16>>2]|0;if(!z){E=2060540;break}else y=z}if((s|0)==52)E=y;o=c[E+4>>2]|0;if(!o){a[x>>0]=w|32;k=0;break a}if((E|0)!=0&(v|0)==(o|0)?(Bc(0,D,E)|0)!=0:0){B=D;C=t;s=59}else k=0}else k=0;else{B=D;C=t;s=59}else k=0}else k=0;else k=1;break}default:k=(c[f>>2]|0)==(c[g>>2]|0)}while(0);b:do if((s|0)==59){D=e+8|0;E=c[D>>2]|0;u=e+28|0;A=E-(c[u>>2]|0)|0;c[D>>2]=E+8;c[E>>2]=c[B>>2];c[E+4>>2]=c[C>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[f>>2];c[E+4>>2]=c[j>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[g>>2];c[E+4>>2]=c[g+4>>2];E=(c[D>>2]|0)+-24|0;o=a[(c[e+16>>2]|0)+18>>0]&1;m=e+38|0;p=(b[m>>1]|0)+1<<16>>16;b[m>>1]=p;if((p&65535)>199){if(p<<16>>16==200)ic(e,43256,i);if((p&65535)>224)gc(e,6)}p=o<<24>>24!=0;if(!p){o=e+36|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16}if(!(mc(e,E,1)|0))nc(e);if(!p){p=e+36|0;b[p>>1]=(b[p>>1]|0)+-1<<16>>16}b[m>>1]=(b[m>>1]|0)+-1<<16>>16;m=(c[u>>2]|0)+A|0;A=c[D>>2]|0;u=A+-8|0;c[D>>2]=u;c[m>>2]=c[u>>2];c[m+4>>2]=c[A+-4>>2];A=c[D>>2]|0;switch(c[A+4>>2]|0){case 0:{k=0;break b;break}case 1:{k=(c[A>>2]|0)!=0;break b;break}default:{k=1;break b}}}while(0);Ga=h;return k&1|0}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[b+4>>2]|0;if((e|0)==3){if((c[d+4>>2]|0)==3){f=(c[b>>2]|0)<(c[d>>2]|0)&1;return f|0}}else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;g=c[d>>2]|0;h=e+16|0;i=g+16|0;j=eu(h,i)|0;a:do if(!j){k=c[g+12>>2]|0;l=i;m=c[e+12>>2]|0;n=h;while(1){o=Ms(n)|0;if((o|0)==(k|0)){p=0;break a}q=o+1|0;if((o|0)==(m|0)){p=-1;break a}l=l+q|0;n=n+q|0;o=eu(n,l)|0;if(o|0){p=o;break}else{k=k-q|0;m=m-q|0}}}else p=j;while(0);f=p>>>31;return f|0}p=a+8|0;if(!(Jc(a,b,d,c[p>>2]|0,26)|0))Kc(a,b,d);d=c[p>>2]|0;p=c[d+4>>2]|0;switch(p|0){case 1:{f=(c[d>>2]|0)!=0&1;return f|0}case 0:{f=p;return f|0}default:{f=1;return f|0}}return 0}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c[b+4>>2]|0;if((e|0)==3){if((c[d+4>>2]|0)==3){f=(c[b>>2]|0)<=(c[d>>2]|0);g=f&1;return g|0}}else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;h=c[d>>2]|0;i=e+16|0;j=h+16|0;k=eu(i,j)|0;a:do if(!k){l=c[h+12>>2]|0;m=j;n=c[e+12>>2]|0;o=i;while(1){p=Ms(o)|0;q=(p|0)==(n|0);if((p|0)==(l|0))break;r=p+1|0;if(q){s=-1;break a}m=m+r|0;o=o+r|0;p=eu(o,m)|0;if(p|0){s=p;break a}else{l=l-r|0;n=n-r|0}}s=(q^1)&1}else s=k;while(0);f=(s|0)<1;g=f&1;return g|0}s=a+8|0;k=(Jc(a,b,d,c[s>>2]|0,27)|0)==0;q=c[s>>2]|0;if(!k)switch(c[q+4>>2]|0){case 1:{f=(c[q>>2]|0)!=0;g=f&1;return g|0}case 0:{f=0;g=f&1;return g|0}default:{f=1;g=f&1;return g|0}}if(!(Jc(a,d,b,q,26)|0))Kc(a,b,d);d=c[s>>2]|0;switch(c[d+4>>2]|0){case 1:{f=(c[d>>2]|0)==0;g=f&1;return g|0}case 0:{f=1;g=f&1;return g|0}default:{f=0;g=f&1;return g|0}}return 0}function Ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=Ga;Ga=Ga+112|0;g=f;h=f+4|0;i=c[b+52>>2]|0;if(!i){Ga=f;return}j=b+41|0;if(!(a[j>>0]|0)){Ga=f;return}k=c[b+16>>2]|0;l=b+8|0;m=c[l>>2]|0;n=b+28|0;o=c[n>>2]|0;p=m-o|0;q=k+4|0;r=(c[q>>2]|0)-o|0;c[h>>2]=d;c[h+20>>2]=e;c[h+96>>2]=k;e=m;do if(((c[b+24>>2]|0)-m|0)<168){d=c[b+32>>2]|0;if((d|0)>1e6)gc(b,6);o=(p>>3)+25|0;s=d<<1;d=(s|0)<1e6?s:1e6;s=(d|0)<(o|0)?o:d;if((s|0)>1e6){hc(b,1000200);ic(b,43241,g)}else{hc(b,s);t=c[l>>2]|0;break}}else t=e;while(0);c[q>>2]=t+160;a[j>>0]=0;t=k+18|0;a[t>>0]=a[t>>0]|2;Pa[i&7](b,h);a[j>>0]=1;j=c[n>>2]|0;c[q>>2]=j+r;c[l>>2]=j+p;a[t>>0]=a[t>>0]&-3;Ga=f;return}function Fc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=Ga;Ga=Ga+16|0;h=g;if(Vt(b,43382)|0){i=0;Ga=g;return i|0}do if(!(Vt(b,43385)|0)){if(!(Vt(b,43388)|0)){j=~~(+jt(b,h)*65536.0)>>>0;c[f>>2]=j;k=c[h>>2]|0;break}c[h>>2]=b;j=b;while(1){l=a[j>>0]|0;m=j+1|0;if(!(a[64+((l&255)+1)>>0]&8))break;else j=m}switch(l<<24>>24){case 45:{n=1;o=m;break}case 43:{n=0;o=m;break}default:{n=0;o=j}}a:do if((a[o>>0]|0)==48){switch(a[o+1>>0]|0){case 66:case 98:break;default:{p=0;q=b;break a}}r=o+2|0;s=a[r>>0]|0;if((s&-2)<<24>>24==48){t=0;u=s;v=0;w=r;do{t=t<<1|u<<24>>24==49;v=v+1|0;w=w+1|0;u=a[w>>0]|0}while((u&-2)<<24>>24==48);x=t<<16;y=v;z=w;A=u}else{x=0;y=0;z=r;A=s}B=z;if(A<<24>>24==46){C=z+1|0;D=C;E=a[C>>0]|0;if((E&-2)<<24>>24==48){F=0;G=0;H=E;E=C;do{F=G>>>0<16?F<<1|H<<24>>24==49:F;G=G+1|0;E=E+1|0;H=a[E>>0]|0}while((H&-2)<<24>>24==48);I=F;J=G;K=E}else{I=0;J=0;K=D}H=K-D|0;L=I<<((H+-1|0)>>>0<15?16-H|0:0);M=J;N=K}else{L=0;M=0;N=B}if(M|y){c[h>>2]=N;H=N;switch(a[H>>0]|0){case 80:case 112:{p=0;q=H;break a;break}default:{}}c[h>>2]=H;s=L+x|0;if(!n){p=~~+Pr(+(s|0),0);q=H;break}else{p=~~+Pr(+(0-s|0),0);q=H;break}}else{p=0;q=b}}else{p=0;q=b}while(0);c[f>>2]=p;k=q}else{c[h>>2]=b;j=b;while(1){O=a[j>>0]|0;P=j+1|0;if(!(a[64+((O&255)+1)>>0]&8))break;else j=P}switch(O<<24>>24){case 45:{Q=1;R=P;break}case 43:{Q=0;R=P;break}default:{Q=0;R=j}}b:do if((a[R>>0]|0)==48){switch(a[R+1>>0]|0){case 88:case 120:break;default:{S=0;T=b;break b}}H=R+2|0;s=a[H>>0]|0;r=s&255;if(!(a[64+(r+1)>>0]&16)){U=0;V=0;W=H;X=s}else{s=0;u=r;r=0;w=H;do{H=u+-48|0;s=(H>>>0<10?H:(u|32)+-87|0)+(s<<4)|0;r=r+1|0;w=w+1|0;Y=a[w>>0]|0;u=Y&255}while((a[64+(u+1)>>0]&16)!=0);U=s<<16;V=r;W=w;X=Y}u=W;if(X<<24>>24==46){B=W+1|0;D=B;E=d[B>>0]|0;if(!(a[64+(E+1)>>0]&16)){Z=0;_=0;$=D}else{G=0;F=0;H=E;E=B;do{B=H+-48|0;G=F>>>0<4?(B>>>0<10?B:(H|32)+-87|0)+(G<<4)|0:G;F=F+1|0;E=E+1|0;H=d[E>>0]|0}while((a[64+(H+1)>>0]&16)!=0);Z=G;_=F;$=E}H=$-D|0;aa=Z<<((H+-1|0)>>>0<3?16-(H<<2)|0:0);ba=_;ca=$}else{aa=0;ba=0;ca=u}if(ba|V){c[h>>2]=ca;H=ca;switch(a[H>>0]|0){case 80:case 112:{S=0;T=H;break b;break}default:{}}c[h>>2]=H;w=aa+U|0;if(!Q){S=~~+Pr(+(w|0),0);T=H;break}else{S=~~+Pr(+(0-w|0),0);T=H;break}}else{S=0;T=b}}else{S=0;T=b}while(0);c[f>>2]=S;k=T}while(0);if((k|0)==(b|0)){i=0;Ga=g;return i|0}if(!(a[64+((d[k>>0]|0)+1)>>0]&8))da=k;else{T=k;do T=T+1|0;while((a[64+((d[T>>0]|0)+1)>>0]&8)!=0);c[h>>2]=T;da=T}i=(da|0)==(b+e|0)&1;Ga=g;return i|0}function Gc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=Ga;Ga=Ga+16|0;i=h;j=e+28|0;k=c[j>>2]|0;l=e+7|0;m=a[l>>0]|0;n=m&255;o=e+16|0;p=c[o>>2]|0;if((k|0)<(f|0)){if((f+1|0)>>>0>536870911)tc(b);q=e+12|0;r=c[q>>2]|0;s=k<<3;k=f<<3;t=c[b+12>>2]|0;u=(r|0)==0;v=t+4|0;w=Ma[c[t>>2]&1](c[v>>2]|0,r,s,k)|0;if((k|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))gc(b,4);sc(b,1);x=Ma[c[t>>2]&1](c[v>>2]|0,r,s,k)|0;if(!x)gc(b,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-s|0)+k+(c[w>>2]|0);c[q>>2]=y;q=c[j>>2]|0;if((q|0)<(f|0)){w=q;do{c[y+(w<<3)+4>>2]=0;w=w+1|0}while((w|0)!=(f|0))}c[j>>2]=f}if(!g){c[o>>2]=2060568;z=0;A=0;B=2060568}else{f=g+-1|0;if(f>>>0>255){g=f;j=0;while(1){w=j+8|0;y=g>>>8;if(g>>>0>65535){g=y;j=w}else{C=w;D=y;break}}}else{C=0;D=f}f=C+(d[400+D>>0]|0)|0;if((f|0)>30)ic(b,43273,i);i=1<<f;if((i+1|0)>>>0>214748364)tc(b);D=20<<f;C=c[b+12>>2]|0;j=C+4|0;g=Ma[c[C>>2]&1](c[j>>2]|0,0,0,D)|0;if(f>>>0<30&(g|0)==0){if(!(a[C+51>>0]|0))gc(b,4);sc(b,1);y=Ma[c[C>>2]&1](c[j>>2]|0,0,0,D)|0;if(!y)gc(b,4);else E=y}else E=g;g=C+12|0;c[g>>2]=(c[g>>2]|0)+D;c[o>>2]=E;D=0;g=E;do{c[g+(D*20|0)+16>>2]=0;c[g+(D*20|0)+12>>2]=0;c[g+(D*20|0)+4>>2]=0;D=D+1|0;g=c[o>>2]|0}while((D|0)<(i|0));z=i;A=f&255;B=g}a[l>>0]=A;c[e+20>>2]=B+(z*20|0);if(m<<24>>24!=31){m=1<<n;do{z=m;m=m+-1|0;B=p+(m*20|0)+4|0;if(c[B>>2]|0){A=p+(m*20|0)+8|0;l=uc(e,A)|0;if((l|0)==2060540)F=vc(b,e,A)|0;else F=l;c[F>>2]=c[p+(m*20|0)>>2];c[F+4>>2]=c[B>>2]}}while((z|0)>1)}if((p|0)==2060568){Ga=h;return}F=20<<n;n=c[b+12>>2]|0;Ma[c[n>>2]&1](c[n+4>>2]|0,p,F,0)|0;b=n+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:F);Ga=h;return}function Hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=d<<2;f=e+16|0;g=c[b+12>>2]|0;h=g+4|0;i=Ma[c[g>>2]&1](c[h>>2]|0,0,6,f)|0;if((f|0)!=0&(i|0)==0){if(!(a[g+51>>0]|0))gc(b,4);sc(b,1);j=Ma[c[g>>2]&1](c[h>>2]|0,0,6,f)|0;if(!j)gc(b,4);else k=j}else k=i;i=g+12|0;c[i>>2]=(c[i>>2]|0)+f;f=g+56|0;a[k+5>>0]=a[g+48>>0]&3;a[k+4>>0]=6;c[k>>2]=c[f>>2];c[f>>2]=k;c[k+12>>2]=0;a[k+6>>0]=d;if(!d)return k|0;Eu(k+16|0,0,e|0)|0;return k|0}function Ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b+12>>2]|0;f=b+56|0;g=c[f>>2]|0;a:do if(!g)h=f;else{i=f;j=g;while(1){k=c[j+8>>2]|0;if(k>>>0<d>>>0){h=i;break a}if((k|0)==(d|0))break;k=c[j>>2]|0;if(!k){l=8;break}else{m=j;j=k;i=m}}if((l|0)==8){h=j;break}i=j+5|0;m=a[i>>0]^3;if(((a[e+48>>0]^3)&m)<<24>>24){n=j;return n|0}a[i>>0]=m;n=j;return n|0}while(0);l=e+4|0;g=Ma[c[e>>2]&1](c[l>>2]|0,0,10,20)|0;if(!g){if(!(a[e+51>>0]|0))gc(b,4);sc(b,1);f=Ma[c[e>>2]&1](c[l>>2]|0,0,10,20)|0;if(!f)gc(b,4);else o=f}else o=g;g=e+12|0;c[g>>2]=(c[g>>2]|0)+20;g=(h|0)==0?e+56|0:h;a[o+5>>0]=a[e+48>>0]&3;a[o+4>>0]=10;c[o>>2]=c[g>>2];c[g>>2]=o;c[o+8>>2]=d;c[o+12>>2]=e+96;d=e+112|0;e=c[d>>2]|0;c[o+16>>2]=e;c[e+12>>2]=o;c[d>>2]=o;n=o;return n|0}function Jc(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=Ga;Ga=Ga+16|0;k=j;l=f+4|0;m=c[l>>2]|0;switch(m&15){case 5:{n=(c[f>>2]|0)+8|0;break}case 7:{n=(c[f>>2]|0)+8|0;break}default:n=(c[e+12>>2]|0)+276+((m&15)<<2)|0}m=c[n>>2]|0;a:do if(!m)o=2060540;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;p=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[p+12>>2]|0)==68?(c[p+8>>2]|0)==(n|0):0)break;q=c[p+16>>2]|0;if(!q){o=2060540;break a}else p=q}o=p}while(0);b:do if(!(c[o+4>>2]|0)){m=c[g+4>>2]|0;switch(m&15){case 5:{r=(c[g>>2]|0)+8|0;break}case 7:{r=(c[g>>2]|0)+8|0;break}default:r=(c[e+12>>2]|0)+276+((m&15)<<2)|0}m=c[r>>2]|0;if(!m)s=2060540;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(n|0):0)break;m=c[q+16>>2]|0;if(!m){s=2060540;break b}else q=m}s=q}}else s=o;while(0);o=s+4|0;if(!(c[o>>2]|0)){t=0;Ga=j;return t|0}i=e+28|0;r=h-(c[i>>2]|0)|0;h=e+8|0;n=c[h>>2]|0;c[h>>2]=n+8;c[n>>2]=c[s>>2];c[n+4>>2]=c[o>>2];o=c[h>>2]|0;c[h>>2]=o+8;c[o>>2]=c[f>>2];c[o+4>>2]=c[l>>2];l=c[h>>2]|0;c[h>>2]=l+8;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];g=(c[h>>2]|0)+-24|0;l=a[(c[e+16>>2]|0)+18>>0]&1;o=e+38|0;f=(b[o>>1]|0)+1<<16>>16;b[o>>1]=f;if((f&65535)>199){if(f<<16>>16==200)ic(e,43256,k);if((f&65535)>224)gc(e,6)}f=l<<24>>24!=0;if(!f){l=e+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16}if(!(mc(e,g,1)|0))nc(e);if(!f){f=e+36|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16}b[o>>1]=(b[o>>1]|0)+-1<<16>>16;o=(c[i>>2]|0)+r|0;r=c[h>>2]|0;i=r+-8|0;c[h>>2]=i;c[o>>2]=c[i>>2];c[o+4>>2]=c[r+-4>>2];t=1;Ga=j;return t|0}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Ga;Ga=Ga+16|0;f=e+8|0;g=e;e=c[16+((c[b+4>>2]&15)+1<<2)>>2]|0;b=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;if((e|0)==(b|0)){c[g>>2]=e;ic(a,43391,g)}else{c[f>>2]=e;c[f+4>>2]=b;ic(a,43424,f)}}function Lc(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=Ga;Ga=Ga+64|0;e=d+48|0;f=d+40|0;h=d+32|0;i=d;j=+(c|0)*.0000152587890625;g[h>>3]=j;as(i,43593,h)|0;if((Lt(i,43599)|0)==0?(Lt(i,43605)|0)==0:0){g[e>>3]=j;as(i,43617,e)|0}else{g[f>>3]=j;as(i,43611,f)|0}f=Ms(i)|0;e=f+-1|0;h=i+e|0;c=a[h>>0]|0;k=(f|0)>0;if(k&c<<24>>24==48){f=h;l=e;while(1){a[f>>0]=0;e=l;l=l+-1|0;m=i+l|0;n=a[m>>0]|0;o=(e|0)>0;if(!(o&n<<24>>24==48)){p=o;q=n;r=m;break}else f=m}}else{p=k;q=c;r=h}if(!(p&q<<24>>24==46)){s=Ms(i)|0;t=s+1|0;Du(b|0,i|0,t|0)|0;Ga=d;return s|0}a[r>>0]=0;s=Ms(i)|0;t=s+1|0;Du(b|0,i|0,t|0)|0;Ga=d;return s|0}function Mc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=b+12|0;h=c[g>>2]|0;i=c[h+44>>2]^f;j=f>>>5;if(j>>>0<f>>>0){k=~j;l=f;m=i;while(1){n=(m<<5)+(m>>>2)+(d[e+(l+-1)>>0]|0)^m;l=l+k|0;if(l>>>0<=j>>>0){o=n;break}else m=n}}else o=i;i=h+24|0;m=h+32|0;j=c[m>>2]|0;l=(c[i>>2]|0)+((j+-1&o)<<2)|0;k=c[l>>2]|0;a:do if(k|0){n=k;while(1){if(((o|0)==(c[n+8>>2]|0)?(c[n+12>>2]|0)==(f|0):0)?(Zr(e,n+16|0,f)|0)==0:0)break;p=c[n>>2]|0;if(!p)break a;else n=p}p=n+5|0;q=a[p>>0]^3;if(((a[h+48>>0]^3)&q)<<24>>24){r=n;return r|0}a[p>>0]=q;r=n;return r|0}while(0);k=h+28|0;if((j|0)<1073741823?(c[k>>2]|0)>>>0>=j>>>0:0){Qc(b,j<<1);s=(c[i>>2]|0)+(((c[m>>2]|0)+-1&o)<<2)|0;t=c[g>>2]|0}else{s=l;t=h}h=f+17|0;l=t+4|0;g=Ma[c[t>>2]&1](c[l>>2]|0,0,4,h)|0;if((h|0)!=0&(g|0)==0){if(!(a[t+51>>0]|0))gc(b,4);sc(b,1);m=Ma[c[t>>2]&1](c[l>>2]|0,0,4,h)|0;if(!m)gc(b,4);else u=m}else u=g;g=t+12|0;c[g>>2]=(c[g>>2]|0)+h;h=(s|0)==0?t+56|0:s;a[u+5>>0]=a[t+48>>0]&3;a[u+4>>0]=4;c[u>>2]=c[h>>2];c[h>>2]=u;c[u+12>>2]=f;c[u+8>>2]=o;a[u+6>>0]=0;o=u+16|0;Du(o|0,e|0,f|0)|0;a[o+f>>0]=0;c[k>>2]=(c[k>>2]|0)+1;r=u;return r|0}function Nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;Oc(a,(e|0)==3|(e&15|0)==4?d:b,43477)}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=Ga;Ga=Ga+32|0;g=f+16|0;h=f;i=f+24|0;f=c[b+16>>2]|0;c[i>>2]=0;j=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;a:do if(a[f+18>>0]&1){k=c[c[f>>2]>>2]|0;l=a[k+6>>0]|0;b:do if(l<<24>>24){m=l&255;n=0;while(1){if((c[(c[k+16+(n<<2)>>2]|0)+8>>2]|0)==(d|0))break;o=n+1|0;if(o>>>0<m>>>0)n=o;else break b}m=c[(c[(c[k+12>>2]|0)+28>>2]|0)+(n<<3)>>2]|0;o=(m|0)==0?43489:m+16|0;c[i>>2]=o;p=43491;q=o;c[h>>2]=e;r=h+4|0;c[r>>2]=p;s=h+8|0;c[s>>2]=q;t=h+12|0;c[t>>2]=j;ic(b,43499,h)}while(0);l=c[f+24>>2]|0;o=c[f+4>>2]|0;m=l;if(l>>>0<o>>>0){u=l;while(1){if((u|0)==(d|0))break;u=u+8|0;if(u>>>0>=o>>>0)break a}o=c[k+12>>2]|0;u=Pc(o,((c[f+28>>2]|0)-(c[o+12>>2]|0)>>2)+-1|0,d-m>>3,i)|0;if(u|0){p=u;q=c[i>>2]|0;c[h>>2]=e;r=h+4|0;c[r>>2]=p;s=h+8|0;c[s>>2]=q;t=h+12|0;c[t>>2]=j;ic(b,43499,h)}}}while(0);c[g>>2]=e;c[g+4>>2]=j;ic(b,43534,g)}function Pc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=b+24|0;h=b+12|0;i=c[b+60>>2]|0;j=(i|0)>0;k=d;d=e;a:while(1){b:do if(j){l=c[g>>2]|0;e=d+1|0;m=0;while(1){if((c[l+(m*12|0)+4>>2]|0)>(k|0))break b;if((c[l+(m*12|0)+8>>2]|0)>(k|0)){n=e+-1|0;if(!n){o=8;break a}else p=n}else p=e;n=m+1|0;if((n|0)<(i|0)){e=p;m=n}else break}}while(0);c[f>>2]=0;if((k|0)<=0){q=0;o=51;break}r=c[h>>2]|0;e=-1;n=0;s=0;while(1){t=c[r+(s<<2)>>2]|0;u=t>>>6&255;switch(t&63){case 4:{v=(u|0)>(d|0)|(u+(t>>>23)|0)<(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 47:{v=(u+2|0)>(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 43:case 42:{v=(u|0)>(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 36:{x=s+-131070+(t>>>14)|0;v=e;w=(x|0)>(n|0)&((x|0)<=(k|0)&(s|0)<(x|0))?x:n;break}case 40:{v=(u|0)==(d|0)?((s|0)<(n|0)?-1:s):e;w=n;break}default:{v=((u|0)==(d|0)?(a[336+(t&63)>>0]&64)!=0:0)?((s|0)<(n|0)?-1:s):e;w=n}}s=s+1|0;if((s|0)==(k|0))break;else{e=v;n=w}}if((v|0)==-1){q=0;o=51;break}y=c[r+(v<<2)>>2]|0;switch(y&63){case 7:case 6:{o=22;break a;break}case 5:{o=39;break a;break}case 2:case 1:{o=40;break a;break}case 12:{o=45;break a;break}case 0:break;default:{q=0;o=51;break a}}d=y>>>23;if(d>>>0>=(y>>>6&255)>>>0){q=0;o=51;break}else k=v}if((o|0)==8){c[f>>2]=(c[l+(m*12|0)>>2]|0)+16;q=53054;return q|0}else if((o|0)==22){m=y>>>14;l=m&511;k=y>>>23;c:do if((y&63|0)==7)if(j){d=c[g>>2]|0;w=k+1|0;h=0;while(1){if((c[d+(h*12|0)+4>>2]|0)>(v|0)){z=0;break c}if((c[d+(h*12|0)+8>>2]|0)>(v|0)){p=w+-1|0;if(!p)break;else A=p}else A=w;p=h+1|0;if((p|0)<(i|0)){w=A;h=p}else{z=0;break c}}z=(c[d+(h*12|0)>>2]|0)+16|0}else z=0;else{w=c[(c[b+28>>2]|0)+(k<<3)>>2]|0;z=(w|0)==0?43489:w+16|0}while(0);if(!(y&4194304)){k=Pc(b,v,l,f)|0;if(!((k|0)!=0?(a[k>>0]|0)==99:0))o=36}else{k=c[b+8>>2]|0;l=m&255;if((c[k+(l<<3)+4>>2]&15|0)==4)c[f>>2]=(c[k+(l<<3)>>2]|0)+16;else o=36}if((o|0)==36)c[f>>2]=43489;if(!z){q=43571;return q|0}l=(Cs(z,43559)|0)==0;q=l?43564:43571;return q|0}else if((o|0)==39){l=c[(c[b+28>>2]|0)+(y>>>23<<3)>>2]|0;c[f>>2]=(l|0)==0?43489:l+16|0;q=43491;return q|0}else if((o|0)==40){if((y&63|0)==1)B=y>>>14;else B=(c[r+(v+1<<2)>>2]|0)>>>6;r=c[b+8>>2]|0;if((c[r+(B<<3)+4>>2]&15|0)!=4){q=0;return q|0}c[f>>2]=(c[r+(B<<3)>>2]|0)+16;q=43584;return q|0}else if((o|0)==45){B=y>>>14;if(!(y&4194304)){y=Pc(b,v,B&511,f)|0;if(y|0?(a[y>>0]|0)==99:0){q=43577;return q|0}}else{y=c[b+8>>2]|0;b=B&255;if((c[y+(b<<3)+4>>2]&15|0)==4){c[f>>2]=(c[y+(b<<3)>>2]|0)+16;q=43577;return q|0}}c[f>>2]=43489;q=43577;return q|0}else if((o|0)==51)return q|0;return 0}function Qc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=b+12|0;g=c[f>>2]|0;h=g+24|0;i=g+49|0;if(!(1<<d[i>>0]&-5))do Rc(b)|0;while(!(1<<d[i>>0]&-5|0));i=g+32|0;g=c[i>>2]|0;if((g|0)<(e|0)){if((e+1|0)>>>0>1073741823)tc(b);j=c[h>>2]|0;k=g<<2;l=e<<2;m=c[f>>2]|0;n=(j|0)==0;o=m+4|0;p=Ma[c[m>>2]&1](c[o>>2]|0,j,k,l)|0;if((l|0)!=0&(p|0)==0){if(!(a[m+51>>0]|0))gc(b,4);sc(b,1);q=Ma[c[m>>2]&1](c[o>>2]|0,j,k,l)|0;if(!q)gc(b,4);else r=q}else r=p;p=m+12|0;c[p>>2]=(n?0:0-k|0)+l+(c[p>>2]|0);c[h>>2]=r;p=c[i>>2]|0;if((p|0)<(e|0)?(c[r+(p<<2)>>2]=0,r=p+1|0,(r|0)!=(e|0)):0){l=r;do{c[(c[h>>2]|0)+(l<<2)>>2]=0;l=l+1|0}while((l|0)!=(e|0));s=p}else s=p}else s=g;if((s|0)>0){g=e+-1|0;p=0;l=s;while(1){r=(c[h>>2]|0)+(p<<2)|0;k=c[r>>2]|0;c[r>>2]=0;if(!k)t=l;else{r=k;do{k=r;r=c[r>>2]|0;n=c[k+8>>2]&g;c[k>>2]=c[(c[h>>2]|0)+(n<<2)>>2];c[(c[h>>2]|0)+(n<<2)>>2]=k;n=k+5|0;a[n>>0]=a[n>>0]&-65}while((r|0)!=0);t=c[i>>2]|0}p=p+1|0;if((p|0)>=(t|0)){u=t;break}else l=t}}else u=s;if((u|0)<=(e|0)){c[i>>2]=e;return}if((e+1|0)>>>0>1073741823)tc(b);s=c[h>>2]|0;t=u<<2;u=e<<2;l=c[f>>2]|0;f=(s|0)==0;p=l+4|0;g=Ma[c[l>>2]&1](c[p>>2]|0,s,t,u)|0;if((u|0)!=0&(g|0)==0){if(!(a[l+51>>0]|0))gc(b,4);sc(b,1);r=Ma[c[l>>2]&1](c[p>>2]|0,s,t,u)|0;if(!r)gc(b,4);else v=r}else v=g;g=l+12|0;c[g>>2]=(f?0:0-t|0)+u+(c[g>>2]|0);c[h>>2]=v;c[i>>2]=e;return}function Rc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;e=Ga;Ga=Ga+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+49|0;switch(a[i>>0]|0){case 5:{j=h+16|0;c[j>>2]=c[h+32>>2]<<2;k=h+72|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;k=c[h+144>>2]|0;if(k|0?a[k+5>>0]&3:0)rc(h,k);if(c[h+40>>2]&64|0?(k=c[h+36>>2]|0,a[k+5>>0]&3):0)rc(h,k);Sc(h);k=c[h+92>>2]|0;if(k|0){l=h+48|0;m=k;do{k=m+5|0;a[k>>0]=a[l>>0]&3|a[k>>0]&-72;rc(h,m);m=c[m>>2]|0}while((m|0)!=0)}a[i>>0]=0;n=c[j>>2]|0;Ga=e;return n|0}case 0:{j=h+72|0;if(c[j>>2]|0){m=h+16|0;l=c[m>>2]|0;Tc(h);n=(c[m>>2]|0)-l|0;Ga=e;return n|0}a[i>>0]=1;l=h+16|0;m=c[l>>2]|0;k=h+20|0;c[k>>2]=m;if(a[b+5>>0]&3)rc(h,b);if(c[h+40>>2]&64|0?(o=c[h+36>>2]|0,a[o+5>>0]&3):0)rc(h,o);Sc(h);o=h+96|0;p=c[h+112>>2]|0;if((p|0)!=(o|0)){q=p;do{if(((a[q+5>>0]&7)==0?(p=c[q+8>>2]|0,c[p+4>>2]&64|0):0)?(r=c[p>>2]|0,a[r+5>>0]&3):0)rc(h,r);q=c[q+16>>2]|0}while((q|0)!=(o|0))}if(c[j>>2]|0)do Tc(h);while((c[j>>2]|0)!=0);o=(c[l>>2]|0)-m|0;m=h+80|0;q=c[m>>2]|0;r=h+76|0;p=c[r>>2]|0;s=h+84|0;t=c[s>>2]|0;c[s>>2]=0;c[r>>2]=0;c[m>>2]=0;c[j>>2]=p;if(p|0)do Tc(h);while((c[j>>2]|0)!=0);c[j>>2]=q;if(q|0)do Tc(h);while((c[j>>2]|0)!=0);c[j>>2]=t;if(t|0)do Tc(h);while((c[j>>2]|0)!=0);t=o-(c[l>>2]|0)|0;do{o=c[s>>2]|0;c[s>>2]=0;if(!o)break;q=0;p=o;while(1){o=p;p=c[p+24>>2]|0;if(Uc(h,o)|0)if(!(c[j>>2]|0))u=1;else{do Tc(h);while((c[j>>2]|0)!=0);u=1}else u=q;if(!p)break;else q=u}}while((u|0)!=0);Vc(h,c[m>>2]|0,0);u=h+88|0;Vc(h,c[u>>2]|0,0);q=c[m>>2]|0;p=c[u>>2]|0;o=t+(c[l>>2]|0)|0;t=c[g>>2]|0;r=t+60|0;v=t+92|0;t=c[v>>2]|0;if(!t)w=v;else{v=t;while(1){t=c[v>>2]|0;if(!t)break;else v=t}w=v}v=c[r>>2]|0;if(v|0){t=r;r=w;w=v;while(1){v=w+5|0;x=d[v>>0]|0;if(!(x&3)){y=w;z=r}else{a[v>>0]=x|8;c[t>>2]=c[w>>2];c[w>>2]=c[r>>2];c[r>>2]=w;y=t;z=w}w=c[y>>2]|0;if(!w)break;else{t=y;r=z}}}z=c[h+92>>2]|0;if(z|0){r=h+48|0;y=z;do{z=y+5|0;a[z>>0]=a[r>>0]&3|a[z>>0]&-72;rc(h,y);y=c[y>>2]|0}while((y|0)!=0)}if(c[j>>2]|0)do Tc(h);while((c[j>>2]|0)!=0);y=o-(c[l>>2]|0)|0;while(1){o=c[s>>2]|0;c[s>>2]=0;if(!o)break;r=0;z=o;while(1){o=z;z=c[z+24>>2]|0;if(Uc(h,o)|0)if(!(c[j>>2]|0))A=1;else{do Tc(h);while((c[j>>2]|0)!=0);A=1}else A=r;if(!z)break;else r=A}if(!A){B=72;break}}if((B|0)==72?(A=c[s>>2]|0,A|0):0){s=A;do{A=c[s+16>>2]|0;j=a[s+7>>0]|0;r=A+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=A;do{A=j+4|0;do if(c[A>>2]|0){z=j+12|0;o=c[z>>2]|0;if(!(o&64))break;t=c[j+8>>2]|0;if((o&15|0)==4){if(!t)break;if(!(a[t+5>>0]&3))break;rc(h,t);break}else{o=t+5|0;if(!(a[o>>0]&3))break;c[A>>2]=0;if(!(a[o>>0]&3))break;c[z>>2]=11;break}}while(0);j=j+20|0}while(j>>>0<r>>>0)}s=c[s+24>>2]|0}while((s|0)!=0)}s=c[u>>2]|0;if(s|0){r=s;do{s=c[r+16>>2]|0;j=a[r+7>>0]|0;A=s+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=s;do{s=j+4|0;do if(c[s>>2]|0){z=j+12|0;o=c[z>>2]|0;if(!(o&64))break;t=c[j+8>>2]|0;if((o&15|0)==4){if(!t)break;if(!(a[t+5>>0]&3))break;rc(h,t);break}else{o=t+5|0;if(!(a[o>>0]&3))break;c[s>>2]=0;if(!(a[o>>0]&3))break;c[z>>2]=11;break}}while(0);j=j+20|0}while(j>>>0<A>>>0)}r=c[r+24>>2]|0}while((r|0)!=0)}Vc(h,c[m>>2]|0,q);Vc(h,c[u>>2]|0,p);p=h+48|0;a[p>>0]=a[p>>0]^3;p=y+(c[l>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+p;n=((Wc(b)|0)*5|0)+p|0;Ga=e;return n|0}case 2:{p=h+52|0;k=h+32|0;l=h+24|0;y=0;while(1){u=(c[p>>2]|0)+y|0;q=c[k>>2]|0;if((u|0)>=(q|0)){C=y;D=u;E=q;break}q=(c[l>>2]|0)+(u<<2)|0;u=c[g>>2]|0;m=d[u+48>>0]|0;r=m^3;A=(a[u+50>>0]|0)==2;u=A?255:184;j=A?64:m&3;m=A?64:0;A=c[q>>2]|0;a:do if(A|0){s=q;z=-3;o=A;while(1){if(!z)break a;z=z+-1|0;t=o+5|0;w=d[t>>0]|0;if(!((w^3)&r)){c[s>>2]=c[o>>2];Xc(b,o);F=s}else{if(m&w|0)break a;if((a[o+4>>0]|0)==8)Yc(b,o);a[t>>0]=u&w|j;F=o}o=c[F>>2]|0;if(!o)break;else s=F}}while(0);y=y+1|0;if(y>>>0>=80){B=116;break}}if((B|0)==116){C=y;D=(c[p>>2]|0)+y|0;E=c[k>>2]|0}c[p>>2]=D;if((D|0)>=(E|0))a[i>>0]=3;n=C*5|0;Ga=e;return n|0}case 3:{C=h+68|0;E=c[C>>2]|0;if(!E){a[i>>0]=4;n=0;Ga=e;return n|0}D=d[h+48>>0]|0;p=D^3;k=(a[h+50>>0]|0)==2;y=k?255:184;B=k?64:D&3;D=k?64:0;k=c[E>>2]|0;b:do if(!k)G=0;else{F=E;l=80;j=k;while(1){if(!l){G=F;break b}l=l+-1|0;u=j+5|0;m=d[u>>0]|0;if(!((m^3)&p)){c[F>>2]=c[j>>2];Xc(b,j);H=F}else{if(D&m|0){G=0;break b}if((a[j+4>>0]|0)==8)Yc(b,j);a[u>>0]=y&m|B;H=j}j=c[H>>2]|0;if(!j){G=0;break}else F=H}}while(0);c[C>>2]=G;n=400;Ga=e;return n|0}case 4:{G=h+64|0;C=c[G>>2]|0;if(C|0){H=d[h+48>>0]|0;B=H^3;y=(a[h+50>>0]|0)==2;D=y?255:184;p=y?64:H&3;H=y?64:0;y=c[C>>2]|0;c:do if(!y)I=0;else{k=C;E=80;F=y;while(1){if(!E){I=k;break c}E=E+-1|0;j=F+5|0;l=d[j>>0]|0;if(!((l^3)&B)){c[k>>2]=c[F>>2];Xc(b,F);J=k}else{if(H&l|0){I=0;break c}if((a[F+4>>0]|0)==8)Yc(b,F);a[j>>0]=D&l|p;J=F}F=c[J>>2]|0;if(!F){I=0;break}else k=J}}while(0);c[G>>2]=I;n=400;Ga=e;return n|0}I=c[h+144>>2]|0;c[f>>2]=I;G=d[h+48>>0]|0;J=G^3;p=a[h+50>>0]|0;D=p<<24>>24==2;H=D?255:184;B=D?64:G&3;G=D?64:0;if(!I){K=p;L=h}else{h=f;f=1;p=I;while(1){if(!f)break;f=f+-1|0;I=p+5|0;D=d[I>>0]|0;if(!((D^3)&J)){c[h>>2]=c[p>>2];Xc(b,p);M=h}else{if(G&D|0)break;if((a[p+4>>0]|0)==8)Yc(b,p);a[I>>0]=H&D|B;M=p}p=c[M>>2]|0;if(!p)break;else h=M}M=c[g>>2]|0;K=a[M+50>>0]|0;L=M}if(K<<24>>24!=1){K=(c[L+32>>2]|0)/2|0;if((c[L+28>>2]|0)>>>0<K>>>0){Qc(b,K);N=c[g>>2]|0}else N=L;g=L+116|0;K=c[g>>2]|0;b=L+124|0;L=c[b>>2]|0;M=Ma[c[N>>2]&1](c[N+4>>2]|0,K,L,0)|0;h=N+12|0;c[h>>2]=(c[h>>2]|0)-((K|0)==0?0:L);c[g>>2]=M;c[b>>2]=0}a[i>>0]=5;n=5;Ga=e;return n|0}default:{n=0;Ga=e;return n|0}}return 0}function Sc(b){b=b|0;var d=0;d=c[b+276>>2]|0;if(d|0?a[d+5>>0]&3:0)rc(b,d);d=c[b+280>>2]|0;if(d|0?a[d+5>>0]&3:0)rc(b,d);d=c[b+284>>2]|0;if(d|0?a[d+5>>0]&3:0)rc(b,d);d=c[b+288>>2]|0;if(d|0?a[d+5>>0]&3:0)rc(b,d);d=c[b+292>>2]|0;if(d|0?a[d+5>>0]&3:0)rc(b,d);d=c[b+296>>2]|0;if(d|0?a[d+5>>0]&3:0)rc(b,d);d=c[b+300>>2]|0;if(d|0?a[d+5>>0]&3:0)rc(b,d);d=c[b+304>>2]|0;if(d|0?a[d+5>>0]&3:0)rc(b,d);d=c[b+308>>2]|0;if(!d)return;if(!(a[d+5>>0]&3))return;rc(b,d);return}function Tc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;e=b+72|0;f=c[e>>2]|0;g=f+5|0;a[g>>0]=a[g>>0]|4;switch(a[f+4>>0]|0){case 5:{h=f+24|0;c[e>>2]=c[h>>2];i=c[f+8>>2]|0;do if(i){j=i+6|0;k=a[j>>0]|0;if(!(k&8)){l=c[b+168>>2]|0;m=(c[i+16>>2]|0)+(((1<<d[i+7>>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=7;break}o=c[m+16>>2]|0;if(!o){p=2060540;break}else m=o}if((n|0)==7)p=m;if(!(c[p+4>>2]|0)){a[j>>0]=k|8;q=0}else q=p}else q=0;if(a[i+5>>0]&3)rc(b,i);if(((q|0)!=0?(c[q+4>>2]&15|0)==4:0)?(l=(c[q>>2]|0)+16|0,o=Ys(l,107)|0,r=(o|0)!=0,o=(Ys(l,118)|0)!=0,r|o):0){l=f+5|0;a[l>>0]=a[l>>0]&-5;if(r)if(o){o=b+88|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}else{Uc(b,f)|0;break}o=c[f+16>>2]|0;r=a[f+7>>0]|0;l=o+((1<<(r&255))*20|0)|0;s=(c[f+28>>2]|0)>0&1;if(r<<24>>24==31)t=s;else{r=o;o=s;while(1){s=r+4|0;u=r+12|0;v=(c[u>>2]&64|0)==0;a:do if(!(c[s>>2]|0))if(!v?(a[(c[r+8>>2]|0)+5>>0]&3)!=0:0){c[u>>2]=11;w=o}else w=o;else{if(!v?(x=c[r+8>>2]|0,a[x+5>>0]&3):0)rc(b,x);if(!o){x=c[s>>2]|0;do if(x&64|0){y=c[r>>2]|0;if((x&15|0)!=4)if(!(a[y+5>>0]&3))break;else{w=1;break a}if(y|0){if(!(a[y+5>>0]&3))break;rc(b,y)}}while(0);w=0}else w=o}while(0);r=r+20|0;if(r>>>0>=l>>>0){t=w;break}else o=w}}if(!t){o=b+76|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}else{o=b+80|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}}else n=41}else n=41;while(0);if((n|0)==41){n=f+16|0;h=c[n>>2]|0;t=h+((1<<d[f+7>>0])*20|0)|0;w=f+28|0;q=c[w>>2]|0;if((q|0)>0){i=f+12|0;p=0;o=q;while(1){q=c[i>>2]|0;if((c[q+(p<<3)+4>>2]&64|0)!=0?(l=c[q+(p<<3)>>2]|0,(a[l+5>>0]&3)!=0):0){rc(b,l);z=c[w>>2]|0}else z=o;p=p+1|0;if((p|0)>=(z|0))break;else o=z}A=c[n>>2]|0}else A=h;if(A>>>0<t>>>0){h=A;do{A=h+4|0;n=c[A>>2]|0;z=h+12|0;o=(c[z>>2]&64|0)==0;if(!n){if(!o?a[(c[h+8>>2]|0)+5>>0]&3:0)c[z>>2]=11}else{if(!o?(o=c[h+8>>2]|0,(a[o+5>>0]&3)!=0):0){rc(b,o);B=c[A>>2]|0}else B=n;if(B&64|0?(n=c[h>>2]|0,a[n+5>>0]&3):0)rc(b,n)}h=h+20|0}while(h>>>0<t>>>0)}}C=(c[f+28>>2]<<3)+32+(20<<d[f+7>>0])|0;break}case 6:{c[e>>2]=c[f+8>>2];t=c[f+12>>2]|0;if(t|0?a[t+5>>0]&3:0)rc(b,t);t=f+6|0;h=a[t>>0]|0;if(!(h<<24>>24))C=16;else{B=0;n=h;while(1){h=c[f+16+(B<<2)>>2]|0;if((h|0)!=0?(a[h+5>>0]&3)!=0:0){rc(b,h);D=a[t>>0]|0}else D=n;B=B+1|0;E=D&255;if(B>>>0>=E>>>0)break;else n=D}C=(E<<2)+16|0}break}case 38:{c[e>>2]=c[f+8>>2];E=f+6|0;D=a[E>>0]|0;if(!(D<<24>>24))C=16;else{n=0;B=D;while(1){if((c[f+16+(n<<3)+4>>2]&64|0)!=0?(D=c[f+16+(n<<3)>>2]|0,(a[D+5>>0]&3)!=0):0){rc(b,D);F=a[E>>0]|0}else F=B;n=n+1|0;G=F&255;if(n>>>0>=G>>>0)break;else B=F}C=(G<<3)+16|0}break}case 8:{G=f+60|0;c[e>>2]=c[G>>2];F=b+76|0;c[G>>2]=c[F>>2];c[F>>2]=f;a[g>>0]=a[g>>0]&-5;g=f+28|0;F=c[g>>2]|0;if(!F)C=1;else{G=f+8|0;B=c[G>>2]|0;if(F>>>0<B>>>0){n=F;E=B;while(1){if((c[n+4>>2]&64|0)!=0?(B=c[n>>2]|0,(a[B+5>>0]&3)!=0):0){rc(b,B);H=c[G>>2]|0}else H=E;B=n+8|0;if(B>>>0<H>>>0){n=B;E=H}else{I=B;break}}}else I=F;if((a[b+49>>0]|0)==1){F=(c[g>>2]|0)+(c[f+32>>2]<<3)|0;if(I>>>0<F>>>0){g=I;do{c[g+4>>2]=0;g=g+8|0}while(g>>>0<F>>>0);J=112}else J=112}else{F=f+72|0;g=c[f+16>>2]|0;if((g|0)==(F|0))J=112;else{I=0;H=F;do{I=I+1|0;H=c[H+12>>2]|0}while((H|0)!=(g|0));J=(I*40|0)+112|0}}C=(c[f+32>>2]<<3)+J|0}break}case 9:{c[e>>2]=c[f+72>>2];e=f+32|0;J=c[e>>2]|0;if(J|0?a[J+5>>0]&3:0)c[e>>2]=0;e=c[f+36>>2]|0;if(e|0?a[e+5>>0]&3:0)rc(b,e);e=f+44|0;J=c[e>>2]|0;if((J|0)>0){I=f+8|0;g=0;H=J;while(1){J=c[I>>2]|0;if((c[J+(g<<3)+4>>2]&64|0)!=0?(F=c[J+(g<<3)>>2]|0,(a[F+5>>0]&3)!=0):0){rc(b,F);K=c[e>>2]|0}else K=H;g=g+1|0;if((g|0)>=(K|0))break;else H=K}}K=f+40|0;H=c[K>>2]|0;if((H|0)>0){g=f+28|0;I=0;F=H;while(1){H=c[(c[g>>2]|0)+(I<<3)>>2]|0;if((H|0)!=0?(a[H+5>>0]&3)!=0:0){rc(b,H);L=c[K>>2]|0}else L=F;I=I+1|0;if((I|0)>=(L|0))break;else F=L}}L=f+56|0;F=c[L>>2]|0;if((F|0)>0){I=f+16|0;g=0;H=F;while(1){J=c[(c[I>>2]|0)+(g<<2)>>2]|0;if((J|0)!=0?(a[J+5>>0]&3)!=0:0){rc(b,J);M=c[L>>2]|0}else M=H;g=g+1|0;if((g|0)>=(M|0)){N=M;break}else H=M}}else N=F;F=f+60|0;M=c[F>>2]|0;if((M|0)>0){H=f+24|0;g=0;I=M;while(1){J=c[(c[H>>2]|0)+(g*12|0)>>2]|0;if((J|0)!=0?(a[J+5>>0]&3)!=0:0){rc(b,J);O=c[F>>2]|0}else O=I;g=g+1|0;if((g|0)>=(O|0))break;else I=O}P=O;Q=c[L>>2]|0}else{P=M;Q=N}C=(P*12|0)+80+((c[f+48>>2]|0)+Q+(c[f+52>>2]|0)<<2)+((c[K>>2]|0)+(c[e>>2]|0)<<3)|0;break}default:return}e=b+16|0;c[e>>2]=(c[e>>2]|0)+C;return}function Uc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=e+16|0;g=c[f>>2]|0;h=g+((1<<(d[e+7>>0]|0))*20|0)|0;i=e+28|0;j=c[i>>2]|0;if((j|0)>0){k=e+12|0;l=0;m=0;n=j;while(1){j=c[k>>2]|0;if((c[j+(m<<3)+4>>2]&64|0)!=0?(o=c[j+(m<<3)>>2]|0,(a[o+5>>0]&3)!=0):0){rc(b,o);p=1;q=c[i>>2]|0}else{p=l;q=n}m=m+1|0;if((m|0)>=(q|0))break;else{l=p;n=q}}r=p;s=c[f>>2]|0}else{r=0;s=g}if(s>>>0<h>>>0){g=s;s=0;f=0;p=r;while(1){q=g+4|0;n=c[q>>2]|0;l=g+12|0;m=c[l>>2]|0;i=(m&64|0)==0;a:do if(!n)if(!i?(a[(c[g+8>>2]|0)+5>>0]&3)!=0:0){c[l>>2]=11;t=s;u=f;v=p}else{t=s;u=f;v=p}else{do if(i){w=n;x=19}else{k=c[g+8>>2]|0;if((m&15|0)==4){if(!k){w=n;x=19;break}if(!(a[k+5>>0]&3)){w=n;x=19;break}rc(b,k);w=c[q>>2]|0;x=19;break}o=(n&64|0)==0;if(!(a[k+5>>0]&3))if(o){t=s;u=f;v=p;break a}else break;if(o){t=s;u=1;v=p;break a}t=(a[(c[g>>2]|0)+5>>0]&3)==0?s:1;u=1;v=p;break a}while(0);if((x|0)==19?(x=0,(w&64|0)==0):0){t=s;u=f;v=p;break}o=c[g>>2]|0;if(!(a[o+5>>0]&3)){t=s;u=f;v=p}else{rc(b,o);t=s;u=f;v=1}}while(0);g=g+20|0;if(g>>>0>=h>>>0)break;else{s=t;f=u;p=v}}if(t|0){y=v;z=b+84|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}if(!u)C=v;else{y=v;z=b+88|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}}else C=r;y=C;z=b+76|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}function Vc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((e|0)==(f|0))return;g=e;do{e=g+16|0;h=c[e>>2]|0;i=h+((1<<(d[g+7>>0]|0))*20|0)|0;j=g+28|0;if((c[j>>2]|0)>0){k=g+12|0;l=0;do{m=c[k>>2]|0;if($c(b,m+(l<<3)|0)|0)c[m+(l<<3)+4>>2]=0;l=l+1|0}while((l|0)<(c[j>>2]|0));n=c[e>>2]|0}else n=h;if(n>>>0<i>>>0){j=n;do{l=j+4|0;if(((c[l>>2]|0?$c(b,j)|0:0)?(c[l>>2]=0,l=j+12|0,c[l>>2]&64|0):0)?a[(c[j+8>>2]|0)+5>>0]&3:0)c[l>>2]=11;j=j+20|0}while(j>>>0<i>>>0)}g=c[g+24>>2]|0}while((g|0)!=(f|0));return}function Wc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=b+12|0;f=c[e>>2]|0;a[f+49>>0]=2;c[f+52>>2]=0;g=f+60|0;h=d[f+48>>0]|0;i=(a[f+50>>0]|0)==2;j=c[g>>2]|0;a:do if(!j){k=0;l=1}else{m=i?64:0;n=i?64:h&3;o=i?255:184;p=h;q=1;r=j;while(1){s=p^3;t=g;u=1;v=r;while(1){if(!u)break;u=u+-1|0;w=v+5|0;x=d[w>>0]|0;if(!((x^3)&s)){c[t>>2]=c[v>>2];Xc(b,v);y=t}else{if(m&x|0){k=0;l=q;break a}if((a[v+4>>0]|0)==8)Yc(b,v);a[w>>0]=o&x|n;y=v}v=c[y>>2]|0;if(!v){k=0;l=q;break a}else t=y}if((t|0)!=(g|0)){k=t;l=q;break a}v=c[e>>2]|0;s=q+1|0;u=d[v+48>>0]|0;x=(a[v+50>>0]|0)==2;r=c[g>>2]|0;if(!r){k=0;l=s;break}else{m=x?64:0;n=x?64:u&3;o=x?255:184;p=u;q=s}}}while(0);c[f+68>>2]=k;k=f+56|0;g=0;b:while(1){g=g+1|0;y=c[e>>2]|0;j=d[y+48>>0]|0;h=j^3;i=(a[y+50>>0]|0)==2;y=i?255:184;q=i?64:j&3;j=i?64:0;i=c[k>>2]|0;if(!i){z=0;A=26;break}p=k;o=1;n=i;while(1){if(!o)break;o=o+-1|0;i=n+5|0;m=d[i>>0]|0;if(!((m^3)&h)){c[p>>2]=c[n>>2];Xc(b,n);B=p}else{if(j&m|0){z=0;A=26;break b}if((a[n+4>>0]|0)==8)Yc(b,n);a[i>>0]=y&m|q;B=n}n=c[B>>2]|0;if(!n){z=0;A=26;break b}else p=B}if((p|0)!=(k|0)){z=p;A=26;break}}if((A|0)==26){c[f+64>>2]=z;return g+l|0}return 0}function Xc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;do switch(a[e+4>>0]|0){case 9:{Zc(b,e);return}case 6:{f=(d[e+6>>0]<<2)+16|0;g=c[b+12>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,f,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)-f;return}case 38:{f=(d[e+6>>0]<<3)+16|0;h=c[b+12>>2]|0;Ma[c[h>>2]&1](c[h+4>>2]|0,e,f,0)|0;g=h+12|0;c[g>>2]=(c[g>>2]|0)-f;return}case 10:{f=e+12|0;if((c[e+8>>2]|0)!=(f|0)){g=e+16|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[f>>2]|0)+16>>2]=c[g>>2]}g=c[b+12>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,20,0)|0;f=g+12|0;c[f>>2]=(c[f>>2]|0)+-20;return}case 5:{f=c[e+16>>2]|0;if((f|0)==2060568)i=b+12|0;else{g=20<<d[e+7>>0];h=b+12|0;j=c[h>>2]|0;Ma[c[j>>2]&1](c[j+4>>2]|0,f,g,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((f|0)==0?0:g);i=h}h=c[e+12>>2]|0;g=c[e+28>>2]<<3;f=c[i>>2]|0;Ma[c[f>>2]&1](c[f+4>>2]|0,h,g,0)|0;k=f+12|0;c[k>>2]=(c[k>>2]|0)-((h|0)==0?0:g);g=c[i>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,32,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)+-32;return}case 8:{_c(b,e);return}case 7:{h=(c[e+16>>2]|0)+24|0;g=c[b+12>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,h,0)|0;k=g+12|0;c[k>>2]=(c[k>>2]|0)-h;return}case 4:{h=c[b+12>>2]|0;k=h+28|0;c[k>>2]=(c[k>>2]|0)+-1;l=h;break}case 20:{l=c[b+12>>2]|0;break}default:return}while(0);b=(c[e+12>>2]|0)+17|0;Ma[c[l>>2]&1](c[l+4>>2]|0,e,b,0)|0;e=l+12|0;c[e>>2]=(c[e>>2]|0)-b;return}function Yc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=e+28|0;if(!(c[f>>2]|0))return;g=e+56|0;h=b+12|0;i=c[h>>2]|0;j=d[i+48>>0]|0;k=j^3;l=(a[i+50>>0]|0)==2;i=l?255:184;m=l?64:j&3;j=l?64:0;l=c[g>>2]|0;a:do if(l|0){n=g;o=-3;p=l;while(1){if(!o)break a;o=o+-1|0;q=p+5|0;r=d[q>>0]|0;if(!((r^3)&k)){c[n>>2]=c[p>>2];Xc(b,p);s=n}else{if(j&r|0)break a;if((a[p+4>>0]|0)==8)Yc(b,p);a[q>>0]=i&r|m;s=p}p=c[s>>2]|0;if(!p)break;else n=s}}while(0);s=e+16|0;m=(c[s>>2]|0)+12|0;i=c[m>>2]|0;c[m>>2]=0;if(i|0){m=e+12|0;b=i;do{i=b;b=c[b+12>>2]|0;j=c[m>>2]|0;Ma[c[j>>2]&1](c[j+4>>2]|0,i,40,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((i|0)==0?0:40)}while((b|0)!=0)}if((a[(c[h>>2]|0)+50>>0]|0)==1)return;h=c[e+8>>2]|0;b=c[s>>2]|0;if(!b)t=h;else{s=b;b=h;while(1){h=c[s+4>>2]|0;m=b>>>0<h>>>0?h:b;s=c[s+8>>2]|0;if(!s){t=m;break}else b=m}}b=t-(c[f>>2]|0)|0;f=b>>3;t=f+11+((f+1|0)/8|0)|0;f=(t|0)<1e6?t:1e6;if((b|0)>7999992)return;if((f|0)>=(c[e+32>>2]|0))return;hc(e,f);return}function Zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+12>>2]|0;e=c[b+48>>2]<<2;f=a+12|0;a=c[f>>2]|0;Ma[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+16>>2]|0;d=c[b+56>>2]<<2;g=c[f>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+8>>2]|0;e=c[b+44>>2]<<3;a=c[f>>2]|0;Ma[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+20>>2]|0;d=c[b+52>>2]<<2;g=c[f>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+24>>2]|0;e=(c[b+60>>2]|0)*12|0;a=c[f>>2]|0;Ma[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+28>>2]|0;d=c[b+40>>2]<<3;g=c[f>>2]|0;Ma[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[f>>2]|0;Ma[c[d>>2]&1](c[d+4>>2]|0,b,80,0)|0;f=d+12|0;c[f>>2]=(c[f>>2]|0)-((b|0)==0?0:80);return}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=b+28|0;Ac(b,c[d>>2]|0);e=c[d>>2]|0;if(e|0){c[b+16>>2]=b+72;f=b+84|0;g=c[f>>2]|0;c[f>>2]=0;f=b+12|0;if(!g)h=e;else{e=g;do{g=e;e=c[e+12>>2]|0;i=c[f>>2]|0;Ma[c[i>>2]&1](c[i+4>>2]|0,g,40,0)|0;j=i+12|0;c[j>>2]=(c[j>>2]|0)-((g|0)==0?0:40)}while((e|0)!=0);h=c[d>>2]|0}d=c[b+32>>2]<<3;e=c[f>>2]|0;Ma[c[e>>2]&1](c[e+4>>2]|0,h,d,0)|0;f=e+12|0;c[f>>2]=(c[f>>2]|0)-((h|0)==0?0:d)}d=c[a+12>>2]|0;Ma[c[d>>2]&1](c[d+4>>2]|0,b,112,0)|0;b=d+12|0;c[b>>2]=(c[b>>2]|0)+-112;return}function $c(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;if(!(e&64)){f=0;return f|0}g=c[d>>2]|0;if((e&15|0)!=4){f=a[g+5>>0]&3;return f|0}if(!g){f=0;return f|0}if(!(a[g+5>>0]&3)){f=0;return f|0}rc(b,g);f=0;return f|0}function ad(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+28>>2]|0;if(b|0?(e=c[a+12>>2]|0,(c[e+(b+-1<<3)+4>>2]|0)==0):0){if(b>>>0<=1){f=0;return f|0}g=b;h=0;while(1){i=(g+h|0)>>>1;j=(c[e+(i+-1<<3)+4>>2]|0)==0;k=j?h:i;g=j?i:g;if((g-k|0)>>>0<=1){f=k;break}else h=k}return f|0}h=c[a+16>>2]|0;if((h|0)==2060568){f=b;return f|0}g=a+12|0;e=a+7|0;a=b;k=b+1|0;while(1){i=k+-1|0;a:do if(i>>>0<b>>>0)l=(c[g>>2]|0)+(i<<3)|0;else{j=k<<16;m=0-j|0;n=h+(((((j|0)<0?((j|0)==(m|0)?0:m):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[n+12>>2]|0)==3?(c[n+8>>2]|0)==(j|0):0)break;m=c[n+16>>2]|0;if(!m){l=2060540;break a}else n=m}l=n}while(0);if(!(c[l+4>>2]|0))break;i=k<<1;if(i>>>0>2147483645){o=17;break}else{j=k;k=i;a=j}}if((o|0)==17){o=1;while(1){l=o+-1|0;b:do if(l>>>0<b>>>0)p=(c[g>>2]|0)+(l<<3)|0;else{j=o<<16;i=0-j|0;m=h+(((((j|0)<0?((j|0)==(i|0)?0:i):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[m+12>>2]|0)==3?(c[m+8>>2]|0)==(j|0):0)break;i=c[m+16>>2]|0;if(!i){p=2060540;break b}else m=i}p=m}while(0);if(!(c[p+4>>2]|0)){f=l;break}else o=o+1|0}return f|0}if((k-a|0)>>>0<=1){f=a;return f|0}o=k;k=a;while(1){a=(o+k|0)>>>1;p=a+-1|0;c:do if(p>>>0<b>>>0)q=(c[g>>2]|0)+(p<<3)|0;else{j=a<<16;n=0-j|0;i=h+(((((j|0)<0?((j|0)==(n|0)?0:n):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[i+12>>2]|0)==3?(c[i+8>>2]|0)==(j|0):0)break;n=c[i+16>>2]|0;if(!n){q=2060540;break c}else i=n}q=i}while(0);p=(c[q+4>>2]|0)==0;o=p?a:o;l=p?k:a;if((o-l|0)>>>0<=1){f=l;break}else k=l}return f|0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;do switch(a|0){case 0:{d=c+b|0;break}case 1:{d=b-c|0;break}case 2:{d=uk(b,c)|0;break}case 3:{d=vk(b,c)|0;break}case 4:{d=wk(b,c)|0;break}case 5:{d=xk(b,c)|0;break}case 6:{d=c&b;break}case 7:{d=c|b;break}case 8:{d=c^b;break}case 9:{d=Hk(b,c)|0;break}case 10:{d=Ik(b,c)|0;break}case 11:{d=Gk(b,c)|0;break}case 12:{d=Ek(b,c)|0;break}case 13:{d=Fk(b,c)|0;break}case 14:{d=~b;break}case 15:{d=(vk(b,c)|0)&-65536;break}case 16:{d=lk(b)|0;break}case 17:{d=kk(b)|0;break}case 18:{d=jk(b)|0;break}case 19:{d=0-b|0;break}default:d=0}while(0);return d|0}function cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=(dd(b,d)|0)==0;Oc(a,e?b:c,43637)}function dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ga;Ga=Ga+16|0;e=d;f=c[a+4>>2]|0;if((f|0)!=3)if((f&15|0)==4?(f=c[a>>2]|0,(Fc(f+16|0,c[f+12>>2]|0,e)|0)!=0):0){c[b>>2]=c[e>>2];c[b+4>>2]=3;g=b}else g=0;else g=a;Ga=d;return g|0}function ed(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;switch(c[e+4>>2]&63){case 3:{f=c[e>>2]|0;g=0-f|0;h=(c[b+16>>2]|0)+(((((f|0)<0?((f|0)==(g|0)?0:g):f)|0)%((1<<d[b+7>>0])+-1|1|0)|0)*20|0)|0;return h|0}case 20:{f=c[e>>2]|0;g=f+6|0;if(!(a[g>>0]|0)){i=f+16|0;j=c[f+12>>2]|0;k=f+8|0;l=c[k>>2]^j;m=j>>>5;if(m>>>0<j>>>0){n=~m;o=j;j=l;while(1){p=(j<<5)+(j>>>2)+(d[i+(o+-1)>>0]|0)^j;o=o+n|0;if(o>>>0<=m>>>0){q=p;break}else j=p}}else q=l;c[k>>2]=q;a[g>>0]=1;r=c[e>>2]|0}else r=f;h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[r+8>>2])*20|0)|0;return h|0}case 4:{h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[(c[e>>2]|0)+8>>2])*20|0)|0;return h|0}case 1:{h=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+-1&c[e>>2])*20|0)|0;return h|0}case 2:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}case 22:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}default:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}}return 0}function fd(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;g=Ga;Ga=Ga+112|0;h=g;i=g+4|0;j=e+16|0;k=c[j>>2]|0;l=d[e+40>>0]|0;if(!(l&6)){m=f;n=c[k+8>>2]|0}else{if(!(l&2))o=f;else{l=e+28|0;p=c[l>>2]|0;q=f-p|0;f=c[e+52>>2]|0;r=p;if((f|0)!=0?(s=e+41|0,(a[s>>0]|0)!=0):0){t=e+8|0;u=c[t>>2]|0;v=u-p|0;w=k+4|0;x=(c[w>>2]|0)-p|0;c[i>>2]=1;c[i+20>>2]=-1;c[i+96>>2]=k;p=u;do if(((c[e+24>>2]|0)-u|0)<168){y=c[e+32>>2]|0;if((y|0)>1e6)gc(e,6);z=(v>>3)+25|0;A=y<<1;y=(A|0)<1e6?A:1e6;A=(y|0)<(z|0)?z:y;if((A|0)>1e6){hc(e,1000200);ic(e,43241,h)}else{hc(e,A);B=c[t>>2]|0;break}}else B=p;while(0);c[w>>2]=B+160;a[s>>0]=0;B=k+18|0;a[B>>0]=a[B>>0]|2;Pa[f&7](e,i);a[s>>0]=1;s=c[l>>2]|0;c[w>>2]=s+x;c[t>>2]=s+v;a[B>>0]=a[B>>0]&-3;C=s}else C=r;o=C+q|0}q=c[k+8>>2]|0;c[e+20>>2]=c[q+28>>2];m=o;n=q}q=c[k>>2]|0;o=b[k+16>>1]|0;k=o<<16>>16;c[j>>2]=n;n=e+8|0;if(!(o<<16>>16)){D=q;c[n>>2]=D;E=k+1|0;Ga=g;return E|0}o=q;q=k;e=m;while(1){if(e>>>0>=(c[n>>2]|0)>>>0)break;m=o+8|0;c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];j=q+-1|0;if(!j){D=m;F=22;break}else{o=m;q=j;e=e+8|0}}if((F|0)==22){c[n>>2]=D;E=k+1|0;Ga=g;return E|0}if((q|0)<=0){D=o;c[n>>2]=D;E=k+1|0;Ga=g;return E|0}F=o;o=q;while(1){q=F+8|0;c[F+4>>2]=0;if((o|0)>1){F=q;o=o+-1|0}else{D=q;break}}c[n>>2]=D;E=k+1|0;Ga=g;return E|0}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=d;d=jc(a,b,f)|0;Ga=e;return d|0}function hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(e>>>0<41){f=Mc(b,d,e)|0;return f|0}if((e+1|0)>>>0>4294967277)tc(b);g=c[b+12>>2]|0;h=c[g+44>>2]|0;i=e+17|0;j=g+4|0;k=Ma[c[g>>2]&1](c[j>>2]|0,0,4,i)|0;if((i|0)!=0&(k|0)==0){if(!(a[g+51>>0]|0))gc(b,4);sc(b,1);l=Ma[c[g>>2]&1](c[j>>2]|0,0,4,i)|0;if(!l)gc(b,4);else m=l}else m=k;k=g+12|0;c[k>>2]=(c[k>>2]|0)+i;i=g+56|0;a[m+5>>0]=a[g+48>>0]&3;a[m+4>>0]=20;c[m>>2]=c[i>>2];c[i>>2]=m;c[m+12>>2]=e;c[m+8>>2]=h;a[m+6>>0]=0;h=m+16|0;Du(h|0,d|0,e|0)|0;a[h+e>>0]=0;f=m;return f|0}function id(a){a=a|0;return (c[a+8>>2]|0)-((c[c[a+16>>2]>>2]|0)+8)>>3|0}function jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)<=-1){d=a+8|0;c[d>>2]=(c[d>>2]|0)+(b+1<<3);return}d=c[c[a+16>>2]>>2]|0;e=a+8|0;a=c[e>>2]|0;f=d+8+(b<<3)|0;if(a>>>0<f>>>0){g=((d+(b<<3)+4+(3-a)|0)>>>3)+1|0;b=a;do{c[b+4>>2]=0;b=b+8|0}while(b>>>0<f>>>0);c[e>>2]=a+(g<<3)}c[e>>2]=f;return}function kd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+16|0;h=c[g>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){i=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){i=(c[b+12>>2]|0)+36|0;break}j=-1001e3-e|0;k=c[h>>2]|0;if((c[k+4>>2]|0)==22)i=2060540;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2060540:l+16+(j+-1<<3)|0}}else{j=(c[h>>2]|0)+(e<<3)|0;i=j>>>0<(c[b+8>>2]|0)>>>0?j:2060540}while(0);do if((f|0)<=0){if((f|0)>=-1000999){m=(c[b+8>>2]|0)+(f<<3)|0;break}if((f|0)==-1001e3){m=(c[b+12>>2]|0)+36|0;break}e=-1001e3-f|0;j=c[h>>2]|0;if((c[j+4>>2]|0)==22)m=2060540;else{l=c[j>>2]|0;m=(e|0)>(d[l+6>>0]|0|0)?2060540:l+16+(e+-1<<3)|0}}else{e=(c[h>>2]|0)+(f<<3)|0;m=e>>>0<(c[b+8>>2]|0)>>>0?e:2060540}while(0);c[m>>2]=c[i>>2];h=i+4|0;c[m+4>>2]=c[h>>2];if((f|0)>=-1001e3)return;if(!(c[h>>2]&64))return;h=c[i>>2]|0;if(!(a[h+5>>0]&3))return;i=(c[c[c[g>>2]>>2]>>2]|0)+5|0;g=a[i>>0]|0;if(!(g&4))return;f=c[b+12>>2]|0;if((d[f+49>>0]|0)<2){rc(f,h);return}else{a[i>>0]=a[f+48>>0]&3|g&-72;return}}function ld(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|0)==22)f=2060540;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2060540:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2060540}while(0);b=a+8|0;a=c[b>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[b>>2]=(c[b>>2]|0)+8;return}function md(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)>0){f=(c[e>>2]|0)+(b<<3)|0;if(f>>>0<(c[a+8>>2]|0)>>>0)g=f;else{h=-1;return h|0}}else{if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}f=-1001e3-b|0;i=c[e>>2]|0;if((c[i+4>>2]|0)==22){h=-1;return h|0}j=c[i>>2]|0;if((f|0)>(d[j+6>>0]|0|0)){h=-1;return h|0}else g=j+16+(f+-1<<3)|0}while(0);if((g|0)==2060540){h=-1;return h|0}h=c[g+4>>2]&15;return h|0}function nd(a,b){a=a|0;b=b|0;return c[16+(b+1<<2)>>2]|0}function od(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ga;Ga=Ga+16|0;g=f+8|0;h=f;i=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;break}k=-1001e3-b|0;l=c[i>>2]|0;if((c[l+4>>2]|0)==22)j=2060540;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2060540:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(b<<3)|0;j=k>>>0<(c[a+8>>2]|0)>>>0?k:2060540}while(0);a=c[j+4>>2]|0;do if((a|0)==3)n=j;else{if((a&15|0)==4?(b=c[j>>2]|0,Fc(b+16|0,c[b+12>>2]|0,g)|0):0){c[h>>2]=c[g>>2];c[h+4>>2]=3;n=h;break}if(!e){o=0;Ga=f;return o|0}c[e>>2]=0;o=0;Ga=f;return o|0}while(0);if(e|0)c[e>>2]=1;o=c[n>>2]|0;Ga=f;return o|0}function pd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ga;Ga=Ga+16|0;g=f;h=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){i=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){i=(c[a+12>>2]|0)+36|0;break}j=-1001e3-b|0;k=c[h>>2]|0;if((c[k+4>>2]|0)==22)i=2060540;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2060540:l+16+(j+-1<<3)|0}}else{j=(c[h>>2]|0)+(b<<3)|0;i=j>>>0<(c[a+8>>2]|0)>>>0?j:2060540}while(0);a=c[i+4>>2]|0;do if((a|0)==3)m=c[i>>2]|0;else{if((a&15|0)==4?(b=c[i>>2]|0,Fc(b+16|0,c[b+12>>2]|0,g)|0):0){m=c[g>>2]|0;break}if(!e){n=0;Ga=f;return n|0}c[e>>2]=0;n=0;Ga=f;return n|0}while(0);g=m>>16;if(!e){n=g;Ga=f;return n|0}c[e>>2]=1;n=g;Ga=f;return n|0}function qd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|0)==22)f=2060540;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2060540:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2060540}while(0);a=c[f+4>>2]|0;switch(a|0){case 1:{j=(c[f>>2]|0)!=0&1;return j|0}case 0:{j=a;return j|0}default:{j=1;return j|0}}return 0}function rd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=b+16|0;h=c[g>>2]|0;i=(e|0)>0;do if(!i){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[h>>2]|0;if((c[l+4>>2]|0)==22)j=2060540;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0)?2060540:m+16+(k+-1<<3)|0}}else{k=(c[h>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:2060540}while(0);do if((c[j+4>>2]&15|0)!=4){if(!(sd(b,j)|0)){if(!f){n=0;return n|0}c[f>>2]=0;n=0;return n|0}h=b+12|0;k=c[h>>2]|0;m=k+12|0;l=c[m>>2]|0;do if((l|0)>0)if(!(a[k+51>>0]|0)){o=k+8|0;c[o>>2]=l+1600+(c[o>>2]|0);c[m>>2]=-1600;break}else{wc(b);break}while(0);m=c[g>>2]|0;if(i){l=(c[m>>2]|0)+(e<<3)|0;p=l>>>0<(c[b+8>>2]|0)>>>0?l:2060540;break}if((e|0)>=-1000999){p=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){p=(c[h>>2]|0)+36|0;break}l=-1001e3-e|0;k=c[m>>2]|0;if((c[k+4>>2]|0)==22)p=2060540;else{m=c[k>>2]|0;p=(l|0)>(d[m+6>>0]|0)?2060540:m+16+(l+-1<<3)|0}}else p=j;while(0);if(f|0)c[f>>2]=c[(c[p>>2]|0)+12>>2];n=(c[p>>2]|0)+16|0;return n|0}function sd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ga;Ga=Ga+32|0;f=e;g=d+4|0;if((c[g>>2]|0)!=3){h=0;Ga=e;return h|0}i=Lc(f,c[d>>2]|0)|0;if(i>>>0<41)j=Mc(b,f,i)|0;else{if((i+1|0)>>>0>4294967277)tc(b);k=c[b+12>>2]|0;l=c[k+44>>2]|0;m=i+17|0;n=k+4|0;o=Ma[c[k>>2]&1](c[n>>2]|0,0,4,m)|0;if((m|0)!=0&(o|0)==0){if(!(a[k+51>>0]|0))gc(b,4);sc(b,1);p=Ma[c[k>>2]&1](c[n>>2]|0,0,4,m)|0;if(!p)gc(b,4);else q=p}else q=o;o=k+12|0;c[o>>2]=(c[o>>2]|0)+m;m=k+56|0;a[q+5>>0]=a[k+48>>0]&3;a[q+4>>0]=20;c[q>>2]=c[m>>2];c[m>>2]=q;c[q+12>>2]=i;c[q+8>>2]=l;a[q+6>>0]=0;l=q+16|0;Du(l|0,f|0,i|0)|0;a[l+i>>0]=0;j=q}c[d>>2]=j;c[g>>2]=(a[j+4>>0]|64)&255;h=1;Ga=e;return h|0}function td(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|0)==22)f=2060540;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2060540:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2060540}while(0);switch(c[f+4>>2]&15){case 4:{j=c[(c[f>>2]|0)+12>>2]|0;return j|0}case 7:{j=c[(c[f>>2]|0)+16>>2]|0;return j|0}case 5:{j=ad(c[f>>2]|0)|0;return j|0}default:{j=0;return j|0}}return 0}function ud(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[a+16>>2]|0;f=(b|0)>0;do if(!f){if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}h=-1001e3-b|0;i=c[e>>2]|0;if((c[i+4>>2]|0)==22)g=2060540;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2060540:j+16+(h+-1<<3)|0}}else{h=(c[e>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:2060540}while(0);switch(c[g+4>>2]&63){case 5:{k=c[g>>2]|0;return k|0}case 6:{k=c[g>>2]|0;return k|0}case 38:{k=c[g>>2]|0;return k|0}case 22:{k=c[g>>2]|0;return k|0}case 8:{k=c[g>>2]|0;return k|0}case 2:case 7:{do if(!f){if((b|0)>=-1000999){l=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){l=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|0)==22)l=2060540;else{j=c[h>>2]|0;l=(g|0)>(d[j+6>>0]|0|0)?2060540:j+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;l=g>>>0<(c[a+8>>2]|0)>>>0?g:2060540}while(0);switch(c[l+4>>2]&15){case 7:{k=(c[l>>2]|0)+24|0;return k|0}case 2:{k=c[l>>2]|0;return k|0}default:{k=0;return k|0}}break}default:{k=0;return k|0}}return 0}function vd(a){a=a|0;var b=0;b=a+8|0;a=c[b>>2]|0;c[a+4>>2]=0;c[b>>2]=a+8;return}function wd(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=b;c[a+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;return}function xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{wc(b);break}while(0);g=hd(b,d,e)|0;e=b+8|0;b=c[e>>2]|0;c[b>>2]=g;c[b+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return g+16|0}function yd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!d){e=b+8|0;f=c[e>>2]|0;c[f+4>>2]=0;c[e>>2]=f+8;g=0;return g|0}f=c[b+12>>2]|0;e=f+12|0;h=c[e>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[e>>2]=-1600;break}else{wc(b);break}while(0);e=hd(b,d,Ms(d)|0)|0;d=b+8|0;b=c[d>>2]|0;c[b>>2]=e;c[b+4>>2]=(a[e+4>>0]|64)&255;c[d>>2]=(c[d>>2]|0)+8;g=e+16|0;return g|0}function zd(a,b){a=a|0;b=b|0;return hd(a,b,Ms(b)|0)|0}function Ad(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{wc(b);break}while(0);return jc(b,d,e)|0}function Bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Ga;Ga=Ga+16|0;g=f;h=c[b+12>>2]|0;i=h+12|0;j=c[i>>2]|0;do if((j|0)>0)if(!(a[h+51>>0]|0)){k=h+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[i>>2]=-1600;break}else{wc(b);break}while(0);c[g>>2]=e;e=jc(b,d,g)|0;Ga=f;return e|0}function Cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(!e){f=b+8|0;g=c[f>>2]|0;c[g>>2]=d;h=f;i=22;j=g;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}g=b+12|0;f=c[g>>2]|0;n=f+12|0;o=c[n>>2]|0;if((o|0)<=0){p=(e<<3)+16|0;q=f+4|0;r=Ma[c[f>>2]&1](c[q>>2]|0,0,6,p)|0;if((p|0)!=0&(r|0)==0){if(!(a[f+51>>0]|0))gc(b,4);sc(b,1);s=Ma[c[f>>2]&1](c[q>>2]|0,0,6,p)|0;if(!s)gc(b,4);else{t=s;u=n;v=f;w=p}}else{t=r;u=n;v=f;w=p}}else{if(!(a[f+51>>0]|0)){p=f+8|0;c[p>>2]=o+1600+(c[p>>2]|0);c[n>>2]=-1600;x=f}else{wc(b);x=c[g>>2]|0}g=(e<<3)+16|0;f=x+4|0;n=Ma[c[x>>2]&1](c[f>>2]|0,0,6,g)|0;if((g|0)!=0&(n|0)==0){if(!(a[x+51>>0]|0))gc(b,4);sc(b,1);p=Ma[c[x>>2]&1](c[f>>2]|0,0,6,g)|0;if(!p)gc(b,4);else y=p}else y=n;t=y;u=x+12|0;v=x;w=g}c[u>>2]=(c[u>>2]|0)+w;w=v+56|0;a[t+5>>0]=a[v+48>>0]&3;a[t+4>>0]=38;c[t>>2]=c[w>>2];c[w>>2]=t;a[t+6>>0]=e;c[t+12>>2]=d;d=b+8|0;b=(c[d>>2]|0)+(0-e<<3)|0;c[d>>2]=b;w=e;e=b;do{w=w+-1|0;c[t+16+(w<<3)>>2]=c[e+(w<<3)>>2];c[t+16+(w<<3)+4>>2]=c[e+(w<<3)+4>>2];e=c[d>>2]|0}while((w|0)!=0);c[e>>2]=t;h=d;i=102;j=e;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}function Dd(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=(b|0)!=0&1;c[a+4>>2]=1;c[d>>2]=(c[d>>2]|0)+8;return}function Ed(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=2060540;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=hd(b,e,Ms(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=(c[f>>2]|0)+-8|0;pc(b,g,j,j);return}function Fd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|0)==22)f=2060540;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2060540:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2060540}while(0);b=(c[a+8>>2]|0)+-8|0;pc(a,f,b,b);return}function Gd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=b+12|0;g=c[f>>2]|0;h=g+12|0;i=c[h>>2]|0;do if((i|0)>0)if(!(a[g+51>>0]|0)){j=g+8|0;c[j>>2]=i+1600+(c[j>>2]|0);c[h>>2]=-1600;k=g;break}else{wc(b);k=c[f>>2]|0;break}else k=g;while(0);g=k+4|0;f=Ma[c[k>>2]&1](c[g>>2]|0,0,5,32)|0;if(!f){if(!(a[k+51>>0]|0))gc(b,4);sc(b,1);h=Ma[c[k>>2]&1](c[g>>2]|0,0,5,32)|0;if(!h)gc(b,4);else l=h}else l=f;f=k+12|0;c[f>>2]=(c[f>>2]|0)+32;f=k+56|0;a[l+5>>0]=a[k+48>>0]&3;a[l+4>>0]=5;c[l>>2]=c[f>>2];c[f>>2]=l;c[l+8>>2]=0;a[l+6>>0]=-1;c[l+12>>2]=0;c[l+28>>2]=0;c[l+16>>2]=2060568;a[l+7>>0]=0;c[l+20>>2]=2060568;f=b+8|0;k=c[f>>2]|0;c[k>>2]=l;c[k+4>>2]=69;c[f>>2]=(c[f>>2]|0)+8;if(!((d|0)>0|(e|0)>0))return;Gc(b,l,d,e);return}function Hd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=2060540;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=hd(b,e,Ms(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=c[f>>2]|0;qc(b,g,j+-8|0,j+-16|0);c[f>>2]=(c[f>>2]|0)+-16;return}function Id(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=Ga;Ga=Ga+16|0;h=g;i=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[i>>2]|0;if((c[l+4>>2]|0)==22)j=2060540;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2060540:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:2060540}while(0);e=c[j>>2]|0;i=b+8|0;k=c[i>>2]|0;m=k+-8|0;l=f+-1|0;a:do if(l>>>0<(c[e+28>>2]|0)>>>0){n=(c[e+12>>2]|0)+(l<<3)|0;o=16}else{p=f<<16;q=0-p|0;r=(c[e+16>>2]|0)+(((((p|0)<0?((p|0)==(q|0)?0:q):p)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[r+12>>2]|0)==3?(c[r+8>>2]|0)==(p|0):0)break;q=c[r+16>>2]|0;if(!q){s=p;o=18;break a}else r=q}n=r;o=16}while(0);if((o|0)==16)if((n|0)==2060540){s=f<<16;o=18}else t=n;if((o|0)==18){c[h>>2]=s;c[h+4>>2]=3;t=vc(b,e,h)|0}c[t>>2]=c[m>>2];c[t+4>>2]=c[k+-4>>2];k=c[i>>2]|0;if(!(c[k+-4>>2]&64)){u=k;v=u+-8|0;c[i>>2]=v;Ga=g;return}if(!(a[(c[k+-8>>2]|0)+5>>0]&3)){u=k;v=u+-8|0;c[i>>2]=v;Ga=g;return}t=c[j>>2]|0;j=t+5|0;m=a[j>>0]|0;if(!(m&4)){u=k;v=u+-8|0;c[i>>2]=v;Ga=g;return}k=c[b+12>>2]|0;a[j>>0]=m&-5;m=k+76|0;c[t+24>>2]=c[m>>2];c[m>>2]=t;u=c[i>>2]|0;v=u+-8|0;c[i>>2]=v;Ga=g;return}function Jd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+36|0;break}h=-1001e3-e|0;i=c[f>>2]|0;if((c[i+4>>2]|0)==22)g=2060540;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2060540:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(e<<3)|0;g=h>>>0<(c[b+8>>2]|0)>>>0?h:2060540}while(0);e=b+8|0;f=c[e>>2]|0;if(!(c[f+-4>>2]|0)){k=0;l=0}else{h=c[f+-8>>2]|0;k=h;l=h}h=c[g+4>>2]|0;switch(h&15){case 5:{c[(c[g>>2]|0)+8>>2]=l;if(!k){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}if(a[k+5>>0]&3?(f=c[g>>2]|0,j=f+5|0,i=a[j>>0]|0,i&4):0){o=c[b+12>>2]|0;a[j>>0]=i&-5;i=o+76|0;c[f+24>>2]=c[i>>2];c[i>>2]=f}Kd(b,c[g>>2]|0,k);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}case 7:{c[(c[g>>2]|0)+8>>2]=k;if(!k){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}do if(a[l+5>>0]&3?(f=(c[g>>2]|0)+5|0,i=a[f>>0]|0,i&4):0){o=c[b+12>>2]|0;if((d[o+49>>0]|0)<2){rc(o,l);break}else{a[f>>0]=a[o+48>>0]&3|i&-72;break}}while(0);Kd(b,c[g>>2]|0,k);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}default:{c[(c[b+12>>2]|0)+276+((h&15)<<2)>>2]=k;m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}}return 0}function Kd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=b+12|0;h=c[g>>2]|0;i=e+5|0;if((f|0)==0|(a[i>>0]&24)!=0)return;j=f+6|0;k=a[j>>0]|0;if(k&4)return;l=c[h+164>>2]|0;m=(c[f+16>>2]|0)+(((1<<d[f+7>>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=6;break}f=c[m+16>>2]|0;if(!f){o=2060540;break}else m=f}if((n|0)==6)o=m;if(!(c[o+4>>2]|0)){a[j>>0]=k|4;return}if(!o)return;o=h+64|0;k=c[o>>2]|0;if((k|0)==(e|0)){j=h;while(1){m=d[j+48>>0]|0;n=m^3;l=(a[j+50>>0]|0)==2;f=l?255:184;p=l?64:m&3;m=l?64:0;l=c[k>>2]|0;a:do if(!l)q=0;else{r=k;s=1;t=l;while(1){if(!s){q=r;break a}s=s+-1|0;u=t+5|0;v=d[u>>0]|0;if(!((v^3)&n)){c[r>>2]=c[t>>2];Xc(b,t);w=r}else{if(m&v|0){q=0;break a}if((a[t+4>>0]|0)==8)Yc(b,t);a[u>>0]=f&v|p;w=t}t=c[w>>2]|0;if(!t){q=0;break}else r=w}}while(0);if((q|0)!=(k|0))break;j=c[g>>2]|0}c[o>>2]=q}q=h+56|0;o=c[q>>2]|0;if((o|0)==(e|0))x=q;else{q=o;while(1){o=c[q>>2]|0;if((o|0)==(e|0))break;else q=o}x=q}c[x>>2]=c[e>>2];x=h+60|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=a[i>>0]|16;a[i>>0]=e;x=e&255;if((d[h+49>>0]|0)<2)y=x&191;else y=x&184|a[h+48>>0]&3;a[i>>0]=y;return}function Ld(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=Ga;Ga=Ga+16|0;l=k;m=k+8|0;if(!h)n=0;else{o=c[e+16>>2]|0;do if((h|0)<=0){if((h|0)>=-1000999){p=(c[e+8>>2]|0)+(h<<3)|0;break}if((h|0)==-1001e3){p=(c[e+12>>2]|0)+36|0;break}q=-1001e3-h|0;r=c[o>>2]|0;if((c[r+4>>2]|0)==22)p=2060540;else{s=c[r>>2]|0;p=(q|0)>(d[s+6>>0]|0)?2060540:s+16+(q+-1<<3)|0}}else{q=(c[o>>2]|0)+(h<<3)|0;p=q>>>0<(c[e+8>>2]|0)>>>0?q:2060540}while(0);n=p-(c[e+28>>2]|0)|0}p=e+8|0;h=(c[p>>2]|0)+(~f<<3)|0;c[m>>2]=h;f=h;if((j|0)!=0?(b[e+36>>1]|0)==0:0){o=c[e+16>>2]|0;c[o+28>>2]=j;c[o+24>>2]=i;c[o+20>>2]=f-(c[e+28>>2]|0);a[o+36>>0]=a[e+41>>0]|0;i=e+68|0;j=o+32|0;c[j>>2]=c[i>>2];c[i>>2]=n;q=o+18|0;a[q>>0]=a[q>>0]|16;o=e+38|0;s=(b[o>>1]|0)+1<<16>>16;b[o>>1]=s;if((s&65535)>199){if(s<<16>>16==200)ic(e,43256,l);if((s&65535)>224)gc(e,6)}if(!(mc(e,h,g)|0))nc(e);b[o>>1]=(b[o>>1]|0)+-1<<16>>16;a[q>>0]=a[q>>0]&-17;c[i>>2]=c[j>>2];t=0}else{c[m+4>>2]=g;t=Nd(e,2,m,f-(c[e+28>>2]|0)|0,n)|0}if((g|0)!=-1){Ga=k;return t|0}g=(c[e+16>>2]|0)+4|0;e=c[p>>2]|0;if((c[g>>2]|0)>>>0>=e>>>0){Ga=k;return t|0}c[g>>2]=e;Ga=k;return t|0}function Md(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Ga;Ga=Ga+16|0;f=e;g=c[d>>2]|0;h=c[d+4>>2]|0;d=a+38|0;i=(b[d>>1]|0)+1<<16>>16;b[d>>1]=i;if((i&65535)>199){if(i<<16>>16==200)ic(a,43256,f);if((i&65535)>224)gc(a,6)}i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;if(!(mc(a,g,h)|0))nc(a);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Ga=e;return}function Nd(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=d+16|0;j=c[i>>2]|0;k=d+41|0;l=a[k>>0]|0;m=d+36|0;n=b[m>>1]|0;o=d+68|0;p=c[o>>2]|0;c[o>>2]=h;h=fc(d,e,f)|0;if(!h){c[o>>2]=p;return h|0}f=d+28|0;e=(c[f>>2]|0)+g|0;Ac(d,e);switch(h|0){case 4:{g=c[(c[d+12>>2]|0)+152>>2]|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}case 6:{g=Mc(d,43916,23)|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}default:{g=c[d+8>>2]|0;c[e>>2]=c[g+-8>>2];q=c[g+-4>>2]|0}}c[e+4>>2]=q;q=e+8|0;c[d+8>>2]=q;c[i>>2]=j;a[k>>0]=l;b[m>>1]=n;if(!j)r=q;else{n=j;j=q;while(1){q=c[n+4>>2]|0;m=j>>>0<q>>>0?q:j;n=c[n+8>>2]|0;if(!n){r=m;break}else j=m}}j=r-(c[f>>2]|0)|0;f=j>>3;r=f+11+((f+1|0)/8|0)|0;f=(r|0)<1e6?r:1e6;if((j|0)>7999992){c[o>>2]=p;return h|0}if((f|0)>=(c[d+32>>2]|0)){c[o>>2]=p;return h|0}hc(d,f);c[o>>2]=p;return h|0}function Od(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=Ga;Ga=Ga+32|0;j=i;c[j+16>>2]=b;c[j+8>>2]=e;c[j+12>>2]=f;c[j>>2]=0;c[j+4>>2]=0;f=Pd(b,j,(g|0)==0?43489:g,h)|0;if(f|0){Ga=i;return f|0}h=c[(c[b+8>>2]|0)+-8>>2]|0;if((a[h+6>>0]|0)!=1){Ga=i;return f|0}g=b+12|0;b=c[(c[g>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)k=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<<d[b+7>>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;e=c[j+16>>2]|0;if(!e){k=2060540;break a}else j=e}k=j}while(0);b=h+16|0;h=c[(c[b>>2]|0)+8>>2]|0;c[h>>2]=c[k>>2];e=k+4|0;c[h+4>>2]=c[e>>2];if(!(c[e>>2]&64)){Ga=i;return f|0}e=c[k>>2]|0;if(!(a[e+5>>0]&3)){Ga=i;return f|0}k=(c[b>>2]|0)+5|0;b=a[k>>0]|0;if(!(b&4)){Ga=i;return f|0}h=c[g>>2]|0;if((d[h+49>>0]|0)<2){rc(h,e);Ga=i;return f|0}else{a[k>>0]=a[h+48>>0]&3|b&-72;Ga=i;return f|0}return 0}function Pd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=Ga;Ga=Ga+64|0;h=g;i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;c[h>>2]=d;c[h+56>>2]=e;c[h+52>>2]=f;f=h+16|0;c[f>>2]=0;e=h+24|0;c[e>>2]=0;d=h+28|0;c[d>>2]=0;j=h+36|0;c[j>>2]=0;k=h+40|0;c[k>>2]=0;l=h+48|0;c[l>>2]=0;m=h+4|0;c[m>>2]=0;n=h+12|0;c[n>>2]=0;o=Nd(a,3,h,(c[a+8>>2]|0)-(c[a+28>>2]|0)|0,c[a+68>>2]|0)|0;h=c[m>>2]|0;p=c[n>>2]|0;q=a+12|0;a=c[q>>2]|0;r=Ma[c[a>>2]&1](c[a+4>>2]|0,h,p,0)|0;s=a+12|0;c[s>>2]=(c[s>>2]|0)+((h|0)==0?0:0-p|0);c[m>>2]=r;c[n>>2]=0;n=c[f>>2]|0;f=c[e>>2]<<1;e=c[q>>2]|0;Ma[c[e>>2]&1](c[e+4>>2]|0,n,f,0)|0;r=e+12|0;c[r>>2]=(c[r>>2]|0)+((n|0)==0?0:0-f|0);f=c[d>>2]|0;d=c[j>>2]<<4;j=c[q>>2]|0;Ma[c[j>>2]&1](c[j+4>>2]|0,f,d,0)|0;n=j+12|0;c[n>>2]=(c[n>>2]|0)+((f|0)==0?0:0-d|0);d=c[k>>2]|0;k=c[l>>2]<<4;l=c[q>>2]|0;Ma[c[l>>2]&1](c[l+4>>2]|0,d,k,0)|0;q=l+12|0;c[q>>2]=(c[q>>2]|0)+((d|0)==0?0:0-k|0);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;Ga=g;return o|0}function Qd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Ga;Ga=Ga+32|0;g=f+8|0;h=f;i=f+16|0;j=c[e>>2]|0;k=c[j>>2]|0;c[j>>2]=k+-1;if(!k){k=La[c[j+8>>2]&7](c[j+16>>2]|0,c[j+12>>2]|0,i)|0;l=c[i>>2]|0;if((k|0)==0|(l|0)==0)m=-1;else{c[j>>2]=l+-1;c[j+4>>2]=k+1;m=d[k>>0]|0}n=m}else{m=j+4|0;j=c[m>>2]|0;c[m>>2]=j+1;n=d[j>>0]|0}j=c[e+52>>2]|0;m=(j|0)==0;if((n|0)==27){if(!m?(Ys(j,98)|0)==0:0){c[h>>2]=43982;c[h+4>>2]=j;gd(b,43940,h)|0;gc(b,3)}o=Rd(b,c[e>>2]|0,e+4|0,c[e+56>>2]|0)|0}else{if(!m?(Ys(j,116)|0)==0:0){c[g>>2]=43989;c[g+4>>2]=j;gd(b,43940,g)|0;gc(b,3)}o=Sd(b,c[e>>2]|0,e+4|0,e+16|0,c[e+56>>2]|0,n)|0}n=o+6|0;if(!(a[n>>0]|0)){Ga=f;return}e=b+12|0;g=o+16|0;j=o+5|0;o=0;while(1){m=c[e>>2]|0;h=m+4|0;k=Ma[c[m>>2]&1](c[h>>2]|0,0,10,20)|0;if(!k){if(!(a[m+51>>0]|0)){p=20;break}sc(b,1);l=Ma[c[m>>2]&1](c[h>>2]|0,0,10,20)|0;if(!l){p=20;break}else q=l}else q=k;k=m+12|0;c[k>>2]=(c[k>>2]|0)+20;k=m+56|0;l=q+5|0;a[l>>0]=a[m+48>>0]&3;a[q+4>>0]=10;c[q>>2]=c[k>>2];c[k>>2]=q;c[q+8>>2]=q+12;c[q+16>>2]=0;c[g+(o<<2)>>2]=q;do if(a[l>>0]&3?(k=a[j>>0]|0,k&4):0){m=c[e>>2]|0;if((d[m+49>>0]|0)<2){rc(m,q);break}else{a[j>>0]=a[m+48>>0]&3|k&-72;break}}while(0);o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0){p=27;break}}if((p|0)==20)gc(b,4);else if((p|0)==27){Ga=f;return}}function Rd(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Ga;Ga=Ga+96|0;i=h+56|0;j=h+80|0;k=h+32|0;l=h;m=h+64|0;switch(a[g>>0]|0){case 61:case 64:{n=g+1|0;break}case 27:{n=45084;break}default:n=g}c[m+12>>2]=n;c[m>>2]=d;c[m+4>>2]=e;c[m+8>>2]=f;c[k>>2]=1635077147;a[k+4>>0]=82;a[k+5>>0]=0;f=k+7|0;a[k+6>>0]=1;n=k+12|0;a[f>>0]=4;a[f+1>>0]=4;a[f+2>>0]=4;a[f+3>>0]=4;a[k+11>>0]=1;c[n>>2]=c[8678];b[n+4>>1]=b[17358]|0;a[l>>0]=27;n=e+16|0;f=e+8|0;g=e+12|0;o=e+4|0;p=17;q=l+1|0;r=c[e>>2]|0;while(1){if(!r){s=La[c[f>>2]&7](c[n>>2]|0,c[g>>2]|0,j)|0;t=c[j>>2]|0;if((s|0)==0|(t|0)==0){u=10;break}c[e>>2]=t;c[o>>2]=s;v=t;w=s}else{v=r;w=c[o>>2]|0}s=p>>>0>v>>>0?v:p;Du(q|0,w|0,s|0)|0;r=(c[e>>2]|0)-s|0;c[e>>2]=r;c[o>>2]=(c[o>>2]|0)+s;p=p-s|0;if(!p)break;else q=q+s|0}if((u|0)==10)Ve(m,45098);if(Zr(k,l,18)|0){if((c[k>>2]|0)!=(c[l>>2]|0))Ve(m,45108);if(Zr(k,l,6)|0)Ve(m,45114);if(!(Zr(k,l,12)|0))Ve(m,45147);else Ve(m,45134)}l=d+12|0;k=c[l>>2]|0;u=k+4|0;q=Ma[c[k>>2]&1](c[u>>2]|0,0,6,20)|0;if(!q){if(!(a[k+51>>0]|0))gc(d,4);sc(d,1);p=Ma[c[k>>2]&1](c[u>>2]|0,0,6,20)|0;if(!p)gc(d,4);else x=p}else x=q;q=k+12|0;c[q>>2]=(c[q>>2]|0)+20;q=k+56|0;a[x+5>>0]=a[k+48>>0]&3;a[x+4>>0]=6;c[x>>2]=c[q>>2];c[q>>2]=x;q=x+12|0;c[q>>2]=0;a[x+6>>0]=1;c[x+16>>2]=0;k=d+8|0;p=c[k>>2]|0;c[p>>2]=x;c[p+4>>2]=70;p=(c[k>>2]|0)+8|0;c[k>>2]=p;u=p;do if(((c[d+24>>2]|0)-u|0)<8){p=c[d+32>>2]|0;if((p|0)>1e6)gc(d,6);o=(u-(c[d+28>>2]|0)>>3)+5|0;r=p<<1;p=(r|0)<1e6?r:1e6;r=(p|0)<(o|0)?o:p;if((r|0)>1e6){hc(d,1000200);ic(d,43241,i)}else{hc(d,r);break}}while(0);i=c[l>>2]|0;l=i+4|0;u=Ma[c[i>>2]&1](c[l>>2]|0,0,9,80)|0;if(!u){if(!(a[i+51>>0]|0))gc(d,4);sc(d,1);r=Ma[c[i>>2]&1](c[l>>2]|0,0,9,80)|0;if(!r)gc(d,4);else y=r}else y=u;u=i+12|0;c[u>>2]=(c[u>>2]|0)+80;u=i+56|0;a[y+5>>0]=a[i+48>>0]&3;a[y+4>>0]=9;c[y>>2]=c[u>>2];c[u>>2]=y;a[y+76>>0]=0;a[y+77>>0]=0;a[y+78>>0]=0;u=y+8|0;i=u+64|0;do{c[u>>2]=0;u=u+4|0}while((u|0)<(i|0));c[q>>2]=y;We(m,y);y=c[q>>2]|0;q=c[y+40>>2]|0;if((q|0)==1){z=x;Ga=h;return z|0}x=Hc(d,q)|0;c[x+12>>2]=y;y=c[k>>2]|0;c[y+-8>>2]=x;c[y+-4>>2]=70;z=x;Ga=h;return z|0}function Sd(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;j=Ga;Ga=Ga+160|0;k=j+8|0;l=j;m=j+144|0;n=j+128|0;o=j+64|0;p=j+12|0;q=d+12|0;r=c[q>>2]|0;s=r+4|0;t=Ma[c[r>>2]&1](c[s>>2]|0,0,6,20)|0;if(!t){if(!(a[r+51>>0]|0))gc(d,4);sc(d,1);u=Ma[c[r>>2]&1](c[s>>2]|0,0,6,20)|0;if(!u)gc(d,4);else v=u}else v=t;t=r+12|0;c[t>>2]=(c[t>>2]|0)+20;t=r+56|0;a[v+5>>0]=a[r+48>>0]&3;a[v+4>>0]=6;c[v>>2]=c[t>>2];c[t>>2]=v;t=v+12|0;c[t>>2]=0;a[v+6>>0]=1;c[v+16>>2]=0;r=d+8|0;u=c[r>>2]|0;c[u>>2]=v;c[u+4>>2]=70;u=(c[r>>2]|0)+8|0;c[r>>2]=u;r=u;do if(((c[d+24>>2]|0)-r|0)<8){u=c[d+32>>2]|0;if((u|0)>1e6)gc(d,6);s=(r-(c[d+28>>2]|0)>>3)+5|0;w=u<<1;u=(w|0)<1e6?w:1e6;w=(u|0)<(s|0)?s:u;if((w|0)>1e6){hc(d,1000200);ic(d,43241,l)}else{hc(d,w);break}}while(0);l=c[q>>2]|0;q=l+4|0;r=Ma[c[l>>2]&1](c[q>>2]|0,0,9,80)|0;if(!r){if(!(a[l+51>>0]|0))gc(d,4);sc(d,1);w=Ma[c[l>>2]&1](c[q>>2]|0,0,9,80)|0;if(!w)gc(d,4);else x=w}else x=r;r=l+12|0;c[r>>2]=(c[r>>2]|0)+80;r=l+56|0;a[x+5>>0]=a[l+48>>0]&3;a[x+4>>0]=9;c[x>>2]=c[r>>2];c[r>>2]=x;a[x+76>>0]=0;a[x+77>>0]=0;a[x+78>>0]=0;r=x+8|0;l=r+64|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(l|0));c[t>>2]=x;c[p>>2]=x;t=hd(d,h,Ms(h)|0)|0;c[x+36>>2]=t;h=o+40|0;c[h>>2]=f;f=o+44|0;c[f>>2]=g;c[g+28>>2]=0;c[g+16>>2]=0;c[g+4>>2]=0;a[o+56>>0]=46;g=o+32|0;c[g>>2]=d;c[o>>2]=i;c[o+20>>2]=286;c[o+36>>2]=e;e=o+28|0;c[e>>2]=0;i=o+4|0;c[i>>2]=1;r=o+8|0;c[r>>2]=1;l=o+48|0;c[l>>2]=t;t=Mc(d,43559,4)|0;d=o+52|0;c[d>>2]=t;w=t+5|0;a[w>>0]=a[w>>0]|32;w=c[g>>2]|0;g=c[h>>2]|0;h=c[g>>2]|0;t=g+8|0;q=c[t>>2]|0;u=w+12|0;s=c[u>>2]|0;y=(h|0)==0;z=s+4|0;A=Ma[c[s>>2]&1](c[z>>2]|0,h,q,32)|0;if(!A){if(!(a[s+51>>0]|0))gc(w,4);sc(w,1);B=Ma[c[s>>2]&1](c[z>>2]|0,h,q,32)|0;if(!B)gc(w,4);else C=B}else C=A;A=s+12|0;c[A>>2]=(c[A>>2]|0)+(y?32:32-q|0);c[g>>2]=C;c[t>>2]=32;c[p+8>>2]=c[e>>2];t=p+12|0;c[t>>2]=o;c[e>>2]=p;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=-1;c[p+32>>2]=0;c[p+36>>2]=0;e=p+44|0;c[e>>2]=0;a[e+4>>0]=0;c[p+40>>2]=c[(c[f>>2]|0)+4>>2];f=p+16|0;c[f>>2]=0;c[x+36>>2]=c[l>>2];a[x+78>>0]=2;x=c[u>>2]|0;u=x+4|0;l=Ma[c[x>>2]&1](c[u>>2]|0,0,5,32)|0;if(!l){if(!(a[x+51>>0]|0))gc(w,4);sc(w,1);e=Ma[c[x>>2]&1](c[u>>2]|0,0,5,32)|0;if(!e)gc(w,4);else D=e}else D=l;l=x+12|0;c[l>>2]=(c[l>>2]|0)+32;l=x+56|0;a[D+5>>0]=a[x+48>>0]&3;a[D+4>>0]=5;c[D>>2]=c[l>>2];c[l>>2]=D;c[D+8>>2]=0;a[D+6>>0]=-1;c[D+12>>2]=0;c[D+28>>2]=0;c[D+16>>2]=2060568;a[D+7>>0]=0;c[D+20>>2]=2060568;c[p+4>>2]=D;l=w+8|0;x=c[l>>2]|0;c[x>>2]=D;c[x+4>>2]=69;x=(c[l>>2]|0)+8|0;c[l>>2]=x;l=x;do if(((c[w+24>>2]|0)-l|0)<8){x=c[w+32>>2]|0;if((x|0)>1e6)gc(w,6);D=(l-(c[w+28>>2]|0)>>3)+5|0;e=x<<1;x=(e|0)<1e6?e:1e6;e=(x|0)<(D|0)?D:x;if((e|0)>1e6){hc(w,1000200);ic(w,43241,k)}else{hc(w,e);break}}while(0);a[m+10>>0]=0;a[m+8>>0]=a[p+46>>0]|0;w=c[(c[t>>2]|0)+44>>2]|0;b[m+4>>1]=c[w+28>>2];b[m+6>>1]=c[w+16>>2];a[m+9>>0]=0;c[m>>2]=c[f>>2];c[f>>2]=m;a[(c[p>>2]|0)+77>>0]=1;c[n+8>>2]=-1;c[n+12>>2]=-1;c[n>>2]=7;c[n+4>>2]=0;Td(p,c[d>>2]|0,n)|0;c[r>>2]=c[i>>2];i=o+20|0;if((c[i>>2]|0)==286){r=Ud(o,o+16|0)|0;n=o+12|0;c[n>>2]=r;E=r;F=n}else{n=i;r=c[n>>2]|0;d=c[n+4>>2]|0;n=o+12|0;c[n>>2]=r;c[n+4>>2]=d;c[i>>2]=286;E=r;F=o+12|0}r=E;a:while(1){switch(r|0){case 277:case 286:case 262:case 261:case 260:{G=r;break a;break}default:{}}Vd(o);E=c[F>>2]|0;if((r|0)==274){G=E;break}else r=E}if((G|0)==286){Xd(o);Ga=j;return v|0}else Wd(o,286);return 0}function Td(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;h=g+40|0;i=c[h>>2]|0;j=b+47|0;k=a[j>>0]|0;if(k<<24>>24==-1)ke(b,255,45075);if((i|0)>(k&255|0))l=i;else{k=g+28|0;c[k>>2]=ae(c[(c[b+12>>2]|0)+32>>2]|0,c[k>>2]|0,h,8,255,45075)|0;l=c[h>>2]|0}h=c[g+28>>2]|0;if((i|0)<(l|0)){k=i;do{c[h+(k<<3)>>2]=0;k=k+1|0}while((k|0)<(l|0))}l=d[j>>0]|0;a[h+(l<<3)+4>>0]=(c[f>>2]|0)==7&1;a[h+(l<<3)+5>>0]=c[f+4>>2];c[h+(l<<3)>>2]=e;if(!(a[e+5>>0]&3)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}l=g+5|0;g=a[l>>0]|0;if(!(g&4)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}h=c[(c[(c[b+12>>2]|0)+32>>2]|0)+12>>2]|0;if((d[h+49>>0]|0)<2){rc(h,e);m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}else{a[l>>0]=a[h+48>>0]&3|g&-72;m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}return 0}function Ud(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Gc=0,Hc=0,Ic=0,Jc=0;f=Ga;Ga=Ga+16|0;g=f+12|0;h=f;i=b+40|0;c[(c[i>>2]|0)+4>>2]=0;j=b+36|0;a:while(1){k=c[b>>2]|0;b:do switch(k|0){case 91:{l=34;break a;break}case 61:{l=38;break a;break}case 94:{l=50;break a;break}case 64:{l=62;break a;break}case 60:{l=68;break a;break}case 62:{l=92;break a;break}case 126:{l=122;break a;break}case 58:{l=134;break a;break}case 39:case 34:{l=146;break a;break}case 46:{l=287;break a;break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{m=k;break a;break}case -1:{n=286;l=491;break a;break}case 13:case 10:{Pe(b);break}case 11:case 9:case 12:case 32:{o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=La[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)r=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;r=d[p>>0]|0}s=r}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;s=d[o>>0]|0}c[b>>2]=s;break}case 45:{o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=La[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)t=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;t=d[p>>0]|0}u=t}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;u=d[o>>0]|0}c[b>>2]=u;if((u|0)!=45){n=45;l=491;break a}o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=La[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)v=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;v=d[p>>0]|0}w=v}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;w=d[o>>0]|0}c[b>>2]=w;do if((w|0)==91){o=Qe(b)|0;c[(c[i>>2]|0)+4>>2]=0;if((o|0)>-1){Re(b,0,o);c[(c[i>>2]|0)+4>>2]=0;break b}else{x=c[b>>2]|0;break}}else x=w;while(0);o=x;while(1){switch(o|0){case -1:case 13:case 10:{break b;break}default:{}}p=c[j>>2]|0;q=c[p>>2]|0;c[p>>2]=q+-1;if(!q){q=La[c[p+8>>2]&7](c[p+16>>2]|0,c[p+12>>2]|0,g)|0;y=c[g>>2]|0;if((q|0)==0|(y|0)==0)z=-1;else{c[p>>2]=y+-1;c[p+4>>2]=q+1;z=d[q>>0]|0}A=z}else{q=p+4|0;p=c[q>>2]|0;c[q>>2]=p+1;A=d[p>>0]|0}c[b>>2]=A;o=A}break}default:{l=463;break a}}while(0)}switch(l|0){case 34:{A=Qe(b)|0;if((A|0)>-1){Re(b,e,A);n=289;Ga=f;return n|0}if((A|0)==-1){n=91;Ga=f;return n|0}else ie(b,44850,289);break}case 38:{A=c[j>>2]|0;z=c[A>>2]|0;c[A>>2]=z+-1;if(!z){z=La[c[A+8>>2]&7](c[A+16>>2]|0,c[A+12>>2]|0,g)|0;x=c[g>>2]|0;if((z|0)==0|(x|0)==0)B=-1;else{c[A>>2]=x+-1;c[A+4>>2]=z+1;B=d[z>>0]|0}C=B}else{B=A+4|0;A=c[B>>2]|0;c[B>>2]=A+1;C=d[A>>0]|0}c[b>>2]=C;if((C|0)!=61){n=61;Ga=f;return n|0}C=c[j>>2]|0;A=c[C>>2]|0;c[C>>2]=A+-1;if(!A){A=La[c[C+8>>2]&7](c[C+16>>2]|0,c[C+12>>2]|0,g)|0;B=c[g>>2]|0;if((A|0)==0|(B|0)==0)D=-1;else{c[C>>2]=B+-1;c[C+4>>2]=A+1;D=d[A>>0]|0}E=D}else{D=C+4|0;C=c[D>>2]|0;c[D>>2]=C+1;E=d[C>>0]|0}c[b>>2]=E;n=281;Ga=f;return n|0}case 50:{E=c[j>>2]|0;C=c[E>>2]|0;c[E>>2]=C+-1;if(!C){C=La[c[E+8>>2]&7](c[E+16>>2]|0,c[E+12>>2]|0,g)|0;D=c[g>>2]|0;if((C|0)==0|(D|0)==0)F=-1;else{c[E>>2]=D+-1;c[E+4>>2]=C+1;F=d[C>>0]|0}G=F}else{F=E+4|0;E=c[F>>2]|0;c[F>>2]=E+1;G=d[E>>0]|0}c[b>>2]=G;if((G|0)!=94){n=94;Ga=f;return n|0}G=c[j>>2]|0;E=c[G>>2]|0;c[G>>2]=E+-1;if(!E){E=La[c[G+8>>2]&7](c[G+16>>2]|0,c[G+12>>2]|0,g)|0;F=c[g>>2]|0;if((E|0)==0|(F|0)==0)H=-1;else{c[G>>2]=F+-1;c[G+4>>2]=E+1;H=d[E>>0]|0}I=H}else{H=G+4|0;G=c[H>>2]|0;c[H>>2]=G+1;I=d[G>>0]|0}c[b>>2]=I;n=295;Ga=f;return n|0}case 62:{I=c[j>>2]|0;G=c[I>>2]|0;c[I>>2]=G+-1;if(!G){G=La[c[I+8>>2]&7](c[I+16>>2]|0,c[I+12>>2]|0,g)|0;H=c[g>>2]|0;if((G|0)==0|(H|0)==0)J=-1;else{c[I>>2]=H+-1;c[I+4>>2]=G+1;J=d[G>>0]|0}K=J}else{J=I+4|0;I=c[J>>2]|0;c[J>>2]=I+1;K=d[I>>0]|0}c[b>>2]=K;n=64;Ga=f;return n|0}case 68:{K=c[j>>2]|0;I=c[K>>2]|0;c[K>>2]=I+-1;if(!I){I=La[c[K+8>>2]&7](c[K+16>>2]|0,c[K+12>>2]|0,g)|0;J=c[g>>2]|0;if((I|0)==0|(J|0)==0)L=-1;else{c[K>>2]=J+-1;c[K+4>>2]=I+1;L=d[I>>0]|0}M=L}else{L=K+4|0;K=c[L>>2]|0;c[L>>2]=K+1;M=d[K>>0]|0}c[b>>2]=M;switch(M|0){case 61:{M=c[j>>2]|0;K=c[M>>2]|0;c[M>>2]=K+-1;if(!K){K=La[c[M+8>>2]&7](c[M+16>>2]|0,c[M+12>>2]|0,g)|0;L=c[g>>2]|0;if((K|0)==0|(L|0)==0)N=-1;else{c[M>>2]=L+-1;c[M+4>>2]=K+1;N=d[K>>0]|0}O=N}else{N=M+4|0;M=c[N>>2]|0;c[N>>2]=M+1;O=d[M>>0]|0}c[b>>2]=O;n=283;Ga=f;return n|0}case 60:{O=c[j>>2]|0;M=c[O>>2]|0;c[O>>2]=M+-1;if(!M){M=La[c[O+8>>2]&7](c[O+16>>2]|0,c[O+12>>2]|0,g)|0;N=c[g>>2]|0;if((M|0)==0|(N|0)==0)P=-1;else{c[O>>2]=N+-1;c[O+4>>2]=M+1;P=d[M>>0]|0}Q=P}else{P=O+4|0;O=c[P>>2]|0;c[P>>2]=O+1;Q=d[O>>0]|0}c[b>>2]=Q;if((Q|0)!=62){n=290;Ga=f;return n|0}Q=c[j>>2]|0;O=c[Q>>2]|0;c[Q>>2]=O+-1;if(!O){O=La[c[Q+8>>2]&7](c[Q+16>>2]|0,c[Q+12>>2]|0,g)|0;P=c[g>>2]|0;if((O|0)==0|(P|0)==0)R=-1;else{c[Q>>2]=P+-1;c[Q+4>>2]=O+1;R=d[O>>0]|0}S=R}else{R=Q+4|0;Q=c[R>>2]|0;c[R>>2]=Q+1;S=d[Q>>0]|0}c[b>>2]=S;n=293;Ga=f;return n|0}default:{n=60;Ga=f;return n|0}}break}case 92:{S=c[j>>2]|0;Q=c[S>>2]|0;c[S>>2]=Q+-1;if(!Q){Q=La[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;R=c[g>>2]|0;if((Q|0)==0|(R|0)==0)T=-1;else{c[S>>2]=R+-1;c[S+4>>2]=Q+1;T=d[Q>>0]|0}U=T}else{T=S+4|0;S=c[T>>2]|0;c[T>>2]=S+1;U=d[S>>0]|0}c[b>>2]=U;switch(U|0){case 61:{U=c[j>>2]|0;S=c[U>>2]|0;c[U>>2]=S+-1;if(!S){S=La[c[U+8>>2]&7](c[U+16>>2]|0,c[U+12>>2]|0,g)|0;T=c[g>>2]|0;if((S|0)==0|(T|0)==0)V=-1;else{c[U>>2]=T+-1;c[U+4>>2]=S+1;V=d[S>>0]|0}W=V}else{V=U+4|0;U=c[V>>2]|0;c[V>>2]=U+1;W=d[U>>0]|0}c[b>>2]=W;n=282;Ga=f;return n|0}case 62:{W=c[j>>2]|0;U=c[W>>2]|0;c[W>>2]=U+-1;if(!U){U=La[c[W+8>>2]&7](c[W+16>>2]|0,c[W+12>>2]|0,g)|0;V=c[g>>2]|0;if((U|0)==0|(V|0)==0)X=-1;else{c[W>>2]=V+-1;c[W+4>>2]=U+1;X=d[U>>0]|0}Y=X}else{X=W+4|0;W=c[X>>2]|0;c[X>>2]=W+1;Y=d[W>>0]|0}c[b>>2]=Y;switch(Y|0){case 62:{Y=c[j>>2]|0;W=c[Y>>2]|0;c[Y>>2]=W+-1;if(!W){W=La[c[Y+8>>2]&7](c[Y+16>>2]|0,c[Y+12>>2]|0,g)|0;X=c[g>>2]|0;if((W|0)==0|(X|0)==0)Z=-1;else{c[Y>>2]=X+-1;c[Y+4>>2]=W+1;Z=d[W>>0]|0}_=Z}else{Z=Y+4|0;Y=c[Z>>2]|0;c[Z>>2]=Y+1;_=d[Y>>0]|0}c[b>>2]=_;n=292;Ga=f;return n|0}case 60:{_=c[j>>2]|0;Y=c[_>>2]|0;c[_>>2]=Y+-1;if(!Y){Y=La[c[_+8>>2]&7](c[_+16>>2]|0,c[_+12>>2]|0,g)|0;Z=c[g>>2]|0;if((Y|0)==0|(Z|0)==0)$=-1;else{c[_>>2]=Z+-1;c[_+4>>2]=Y+1;$=d[Y>>0]|0}aa=$}else{$=_+4|0;_=c[$>>2]|0;c[$>>2]=_+1;aa=d[_>>0]|0}c[b>>2]=aa;n=294;Ga=f;return n|0}default:{n=291;Ga=f;return n|0}}break}default:{n=62;Ga=f;return n|0}}break}case 122:{aa=c[j>>2]|0;_=c[aa>>2]|0;c[aa>>2]=_+-1;if(!_){_=La[c[aa+8>>2]&7](c[aa+16>>2]|0,c[aa+12>>2]|0,g)|0;$=c[g>>2]|0;if((_|0)==0|($|0)==0)ba=-1;else{c[aa>>2]=$+-1;c[aa+4>>2]=_+1;ba=d[_>>0]|0}ca=ba}else{ba=aa+4|0;aa=c[ba>>2]|0;c[ba>>2]=aa+1;ca=d[aa>>0]|0}c[b>>2]=ca;if((ca|0)!=61){n=126;Ga=f;return n|0}ca=c[j>>2]|0;aa=c[ca>>2]|0;c[ca>>2]=aa+-1;if(!aa){aa=La[c[ca+8>>2]&7](c[ca+16>>2]|0,c[ca+12>>2]|0,g)|0;ba=c[g>>2]|0;if((aa|0)==0|(ba|0)==0)da=-1;else{c[ca>>2]=ba+-1;c[ca+4>>2]=aa+1;da=d[aa>>0]|0}ea=da}else{da=ca+4|0;ca=c[da>>2]|0;c[da>>2]=ca+1;ea=d[ca>>0]|0}c[b>>2]=ea;n=284;Ga=f;return n|0}case 134:{ea=c[j>>2]|0;ca=c[ea>>2]|0;c[ea>>2]=ca+-1;if(!ca){ca=La[c[ea+8>>2]&7](c[ea+16>>2]|0,c[ea+12>>2]|0,g)|0;da=c[g>>2]|0;if((ca|0)==0|(da|0)==0)fa=-1;else{c[ea>>2]=da+-1;c[ea+4>>2]=ca+1;fa=d[ca>>0]|0}ga=fa}else{fa=ea+4|0;ea=c[fa>>2]|0;c[fa>>2]=ea+1;ga=d[ea>>0]|0}c[b>>2]=ga;if((ga|0)!=58){n=58;Ga=f;return n|0}ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;fa=c[g>>2]|0;if((ea|0)==0|(fa|0)==0)ha=-1;else{c[ga>>2]=fa+-1;c[ga+4>>2]=ea+1;ha=d[ea>>0]|0}ia=ha}else{ha=ga+4|0;ga=c[ha>>2]|0;c[ha>>2]=ga+1;ia=d[ga>>0]|0}c[b>>2]=ia;n=285;Ga=f;return n|0}case 146:{ia=c[i>>2]|0;ga=ia+4|0;ha=c[ga>>2]|0;ea=ha+1|0;fa=ia+8|0;ca=c[fa>>2]|0;if(ea>>>0>ca>>>0){if(ca>>>0>2147483645)ie(b,44222,0);da=ca<<1;aa=c[b+32>>2]|0;if((da|0)==-2)tc(aa);ba=c[ia>>2]|0;_=c[aa+12>>2]|0;$=(ba|0)==0;Y=_+4|0;Z=Ma[c[_>>2]&1](c[Y>>2]|0,ba,ca,da)|0;if((da|0)!=0&(Z|0)==0){if(!(a[_+51>>0]|0))gc(aa,4);sc(aa,1);W=Ma[c[_>>2]&1](c[Y>>2]|0,ba,ca,da)|0;if(!W)gc(aa,4);else ja=W}else ja=Z;Z=_+12|0;c[Z>>2]=($?0:0-ca|0)+da+(c[Z>>2]|0);c[ia>>2]=ja;c[fa>>2]=da;da=c[ga>>2]|0;ka=da+1|0;la=ja;ma=da}else{ka=ea;la=c[ia>>2]|0;ma=ha}ha=k&255;c[ga>>2]=ka;a[la+ma>>0]=ha;ma=c[j>>2]|0;la=c[ma>>2]|0;c[ma>>2]=la+-1;if(!la){la=La[c[ma+8>>2]&7](c[ma+16>>2]|0,c[ma+12>>2]|0,g)|0;ka=c[g>>2]|0;if((la|0)==0|(ka|0)==0)na=-1;else{c[ma>>2]=ka+-1;c[ma+4>>2]=la+1;na=d[la>>0]|0}oa=na}else{na=ma+4|0;ma=c[na>>2]|0;c[na>>2]=ma+1;oa=d[ma>>0]|0}c[b>>2]=oa;c:do if((oa|0)!=(k|0)){ma=b+32|0;na=h+4|0;la=h+8|0;ka=oa;d:while(1){e:do switch(ka|0){case -1:{l=165;break d;break}case 13:case 10:{l=166;break d;break}case 92:{ga=c[j>>2]|0;ia=c[ga>>2]|0;c[ga>>2]=ia+-1;if(!ia){ia=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ia|0)==0|(ea|0)==0)pa=-1;else{c[ga>>2]=ea+-1;c[ga+4>>2]=ia+1;pa=d[ia>>0]|0}qa=pa}else{ia=ga+4|0;ga=c[ia>>2]|0;c[ia>>2]=ga+1;qa=d[ga>>0]|0}c[b>>2]=qa;do switch(qa|0){case -1:{ra=qa;break e;break}case 97:{sa=7;l=234;break}case 98:{sa=8;l=234;break}case 102:{sa=12;l=234;break}case 110:{sa=10;l=234;break}case 114:{sa=13;l=234;break}case 116:{sa=9;l=234;break}case 118:{sa=11;l=234;break}case 120:{c[h>>2]=120;ga=c[j>>2]|0;ia=c[ga>>2]|0;c[ga>>2]=ia+-1;if(!ia){ia=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ia|0)==0|(ea|0)==0)ta=-1;else{c[ga>>2]=ea+-1;c[ga+4>>2]=ia+1;ta=d[ia>>0]|0}ua=ta}else{ia=ga+4|0;ga=c[ia>>2]|0;c[ia>>2]=ga+1;ua=d[ga>>0]|0}c[b>>2]=ua;c[na>>2]=ua;if(!(a[64+(ua+1)>>0]&16)){va=2;l=185;break d}ga=ua+-48|0;ia=ga>>>0<10?ga:(ua|32)+268435369|0;ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)wa=-1;else{c[ga>>2]=da+-1;c[ga+4>>2]=ea+1;wa=d[ea>>0]|0}xa=wa}else{ea=ga+4|0;ga=c[ea>>2]|0;c[ea>>2]=ga+1;xa=d[ga>>0]|0}c[b>>2]=xa;c[la>>2]=xa;if(!(a[64+(xa+1)>>0]&16)){va=3;l=185;break d}ga=xa+-48|0;sa=(ga>>>0<10?ga:(xa|32)+-87|0)+(ia<<4)|0;l=234;break}case 13:case 10:{Pe(b);ya=10;break}case 39:case 34:case 92:{sa=qa;l=234;break}case 122:{ia=c[j>>2]|0;ga=c[ia>>2]|0;c[ia>>2]=ga+-1;if(!ga){ga=La[c[ia+8>>2]&7](c[ia+16>>2]|0,c[ia+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ga|0)==0|(ea|0)==0)za=-1;else{c[ia>>2]=ea+-1;c[ia+4>>2]=ga+1;za=d[ga>>0]|0}Aa=za}else{ga=ia+4|0;ia=c[ga>>2]|0;c[ga>>2]=ia+1;Aa=d[ia>>0]|0}c[b>>2]=Aa;if(!(a[64+(Aa+1)>>0]&8)){ra=Aa;break e}ia=Aa;while(1){switch(ia|0){case 13:case 10:{Pe(b);Ba=c[b>>2]|0;break}default:{ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)Ca=-1;else{c[ga>>2]=da+-1;c[ga+4>>2]=ea+1;Ca=d[ea>>0]|0}Da=Ca}else{ea=ga+4|0;ga=c[ea>>2]|0;c[ea>>2]=ga+1;Da=d[ga>>0]|0}c[b>>2]=Da;Ba=Da}}if(!(a[64+(Ba+1)>>0]&8)){ra=Ba;break e}else ia=Ba}break}default:{ia=qa+-48|0;if(ia>>>0>=10){l=212;break d}c[h>>2]=qa;ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)Ea=-1;else{c[ga>>2]=da+-1;c[ga+4>>2]=ea+1;Ea=d[ea>>0]|0}Fa=Ea}else{ea=ga+4|0;ga=c[ea>>2]|0;c[ea>>2]=ga+1;Fa=d[ga>>0]|0}c[b>>2]=Fa;ga=Fa+-48|0;if(ga>>>0<10){c[na>>2]=Fa;ea=ga+(ia*10|0)|0;ga=c[j>>2]|0;da=c[ga>>2]|0;c[ga>>2]=da+-1;if(!da){da=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;ja=c[g>>2]|0;if((da|0)==0|(ja|0)==0)Ha=-1;else{c[ga>>2]=ja+-1;c[ga+4>>2]=da+1;Ha=d[da>>0]|0}Ia=Ha}else{da=ga+4|0;ga=c[da>>2]|0;c[da>>2]=ga+1;Ia=d[ga>>0]|0}c[b>>2]=Ia;ga=Ia+-48|0;if(ga>>>0<10){c[la>>2]=Ia;da=ga+(ea*10|0)|0;ga=c[j>>2]|0;ja=c[ga>>2]|0;c[ga>>2]=ja+-1;if(!ja){ja=La[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;fa=c[g>>2]|0;if((ja|0)==0|(fa|0)==0)Ja=-1;else{c[ga>>2]=fa+-1;c[ga+4>>2]=ja+1;Ja=d[ja>>0]|0}Ka=Ja}else{ja=ga+4|0;ga=c[ja>>2]|0;c[ja>>2]=ga+1;Ka=d[ga>>0]|0}c[b>>2]=Ka;Na=da;Oa=3}else{Na=ea;Oa=2}if((Na|0)>255){l=220;break d}else Pa=Na}else Pa=ia;ya=Pa}}while(0);if((l|0)==234){l=0;ia=c[j>>2]|0;ea=c[ia>>2]|0;c[ia>>2]=ea+-1;if(!ea){ea=La[c[ia+8>>2]&7](c[ia+16>>2]|0,c[ia+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)Qa=-1;else{c[ia>>2]=da+-1;c[ia+4>>2]=ea+1;Qa=d[ea>>0]|0}Ra=Qa}else{ea=ia+4|0;ia=c[ea>>2]|0;c[ea>>2]=ia+1;Ra=d[ia>>0]|0}c[b>>2]=Ra;ya=sa}ia=c[i>>2]|0;ea=ia+4|0;da=c[ea>>2]|0;ga=da+1|0;ja=ia+8|0;fa=c[ja>>2]|0;if(ga>>>0>fa>>>0){if(fa>>>0>2147483645){l=243;break d}Z=fa<<1;Sa=c[ma>>2]|0;if((Z|0)==-2){l=245;break d}ca=c[ia>>2]|0;$=c[Sa+12>>2]|0;_=(ca|0)==0;W=$+4|0;aa=Ma[c[$>>2]&1](c[W>>2]|0,ca,fa,Z)|0;if((Z|0)!=0&(aa|0)==0){if(!(a[$+51>>0]|0)){l=249;break d}sc(Sa,1);ba=Ma[c[$>>2]&1](c[W>>2]|0,ca,fa,Z)|0;if(!ba){l=249;break d}else Ta=ba}else Ta=aa;aa=$+12|0;c[aa>>2]=(_?0:0-fa|0)+Z+(c[aa>>2]|0);c[ia>>2]=Ta;c[ja>>2]=Z;Z=c[ea>>2]|0;Ua=Z+1|0;Va=Ta;Wa=Z}else{Ua=ga;Va=c[ia>>2]|0;Wa=da}c[ea>>2]=Ua;a[Va+Wa>>0]=ya;ra=c[b>>2]|0;break}default:{ea=c[i>>2]|0;da=ea+4|0;ia=c[da>>2]|0;ga=ia+1|0;Z=ea+8|0;ja=c[Z>>2]|0;if(ga>>>0>ja>>>0){if(ja>>>0>2147483645){l=255;break d}aa=ja<<1;Xa=c[ma>>2]|0;if((aa|0)==-2){l=257;break d}fa=c[ea>>2]|0;_=c[Xa+12>>2]|0;$=(fa|0)==0;ba=_+4|0;ca=Ma[c[_>>2]&1](c[ba>>2]|0,fa,ja,aa)|0;if((aa|0)!=0&(ca|0)==0){if(!(a[_+51>>0]|0)){l=261;break d}sc(Xa,1);W=Ma[c[_>>2]&1](c[ba>>2]|0,fa,ja,aa)|0;if(!W){l=261;break d}else Ya=W}else Ya=ca;ca=_+12|0;c[ca>>2]=($?0:0-ja|0)+aa+(c[ca>>2]|0);c[ea>>2]=Ya;c[Z>>2]=aa;aa=c[da>>2]|0;Za=aa+1|0;_a=Ya;$a=aa}else{Za=ga;_a=c[ea>>2]|0;$a=ia}c[da>>2]=Za;a[_a+$a>>0]=ka;da=c[j>>2]|0;ia=c[da>>2]|0;c[da>>2]=ia+-1;if(!ia){ia=La[c[da+8>>2]&7](c[da+16>>2]|0,c[da+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ia|0)==0|(ea|0)==0)ab=-1;else{c[da>>2]=ea+-1;c[da+4>>2]=ia+1;ab=d[ia>>0]|0}bb=ab}else{ia=da+4|0;da=c[ia>>2]|0;c[ia>>2]=da+1;bb=d[da>>0]|0}c[b>>2]=bb;ra=bb}}while(0);if((ra|0)==(k|0))break c;else ka=ra}switch(l|0){case 165:{ie(b,44880,286);break}case 166:{ie(b,44880,289);break}case 185:{Se(b,h,va,44898);break}case 212:{Se(b,b,1,44925);break}case 220:{Se(b,h,Oa,44949);break}case 243:{ie(b,44222,0);break}case 245:{tc(Sa);break}case 249:{gc(Sa,4);break}case 255:{ie(b,44222,0);break}case 257:{tc(Xa);break}case 261:{gc(Xa,4);break}}}while(0);Xa=c[i>>2]|0;Sa=Xa+4|0;Oa=c[Sa>>2]|0;h=Oa+1|0;va=Xa+8|0;ra=c[va>>2]|0;if(h>>>0>ra>>>0){if(ra>>>0>2147483645)ie(b,44222,0);bb=ra<<1;ab=c[b+32>>2]|0;if((bb|0)==-2)tc(ab);$a=c[Xa>>2]|0;_a=c[ab+12>>2]|0;Za=($a|0)==0;Ya=_a+4|0;ya=Ma[c[_a>>2]&1](c[Ya>>2]|0,$a,ra,bb)|0;if((bb|0)!=0&(ya|0)==0){if(!(a[_a+51>>0]|0))gc(ab,4);sc(ab,1);Wa=Ma[c[_a>>2]&1](c[Ya>>2]|0,$a,ra,bb)|0;if(!Wa)gc(ab,4);else cb=Wa}else cb=ya;ya=_a+12|0;c[ya>>2]=(Za?0:0-ra|0)+bb+(c[ya>>2]|0);c[Xa>>2]=cb;c[va>>2]=bb;bb=c[Sa>>2]|0;db=bb+1|0;eb=cb;fb=bb}else{db=h;eb=c[Xa>>2]|0;fb=Oa}c[Sa>>2]=db;a[eb+fb>>0]=ha;ha=c[j>>2]|0;fb=c[ha>>2]|0;c[ha>>2]=fb+-1;if(!fb){fb=La[c[ha+8>>2]&7](c[ha+16>>2]|0,c[ha+12>>2]|0,g)|0;eb=c[g>>2]|0;if((fb|0)==0|(eb|0)==0)gb=-1;else{c[ha>>2]=eb+-1;c[ha+4>>2]=fb+1;gb=d[fb>>0]|0}hb=gb}else{gb=ha+4|0;ha=c[gb>>2]|0;c[gb>>2]=ha+1;hb=d[ha>>0]|0}c[b>>2]=hb;hb=c[i>>2]|0;c[e>>2]=_d(b,(c[hb>>2]|0)+1|0,(c[hb+4>>2]|0)+-2|0)|0;n=289;Ga=f;return n|0}case 287:{hb=c[i>>2]|0;ha=hb+4|0;gb=c[ha>>2]|0;fb=gb+1|0;eb=hb+8|0;db=c[eb>>2]|0;if(fb>>>0>db>>>0){if(db>>>0>2147483645)ie(b,44222,0);Sa=db<<1;Oa=c[b+32>>2]|0;if((Sa|0)==-2)tc(Oa);Xa=c[hb>>2]|0;h=c[Oa+12>>2]|0;bb=(Xa|0)==0;cb=h+4|0;va=Ma[c[h>>2]&1](c[cb>>2]|0,Xa,db,Sa)|0;if((Sa|0)!=0&(va|0)==0){if(!(a[h+51>>0]|0))gc(Oa,4);sc(Oa,1);ya=Ma[c[h>>2]&1](c[cb>>2]|0,Xa,db,Sa)|0;if(!ya)gc(Oa,4);else ib=ya}else ib=va;va=h+12|0;c[va>>2]=(bb?0:0-db|0)+Sa+(c[va>>2]|0);c[hb>>2]=ib;c[eb>>2]=Sa;Sa=c[ha>>2]|0;jb=Sa+1|0;kb=ib;lb=Sa}else{jb=fb;kb=c[hb>>2]|0;lb=gb}c[ha>>2]=jb;a[kb+lb>>0]=46;lb=c[j>>2]|0;kb=c[lb>>2]|0;c[lb>>2]=kb+-1;if(!kb){kb=La[c[lb+8>>2]&7](c[lb+16>>2]|0,c[lb+12>>2]|0,g)|0;jb=c[g>>2]|0;if((kb|0)==0|(jb|0)==0)mb=-1;else{c[lb>>2]=jb+-1;c[lb+4>>2]=kb+1;mb=d[kb>>0]|0}nb=mb}else{mb=lb+4|0;lb=c[mb>>2]|0;c[mb>>2]=lb+1;nb=d[lb>>0]|0}c[b>>2]=nb;if(!nb){n=46;Ga=f;return n|0}if(!(os(67771,nb,2)|0)){if((nb+-48|0)>>>0<10){m=nb;break}else n=46;Ga=f;return n|0}lb=c[i>>2]|0;mb=lb+4|0;kb=c[mb>>2]|0;jb=kb+1|0;ha=lb+8|0;gb=c[ha>>2]|0;if(jb>>>0>gb>>>0){if(gb>>>0>2147483645)ie(b,44222,0);hb=gb<<1;fb=c[b+32>>2]|0;if((hb|0)==-2)tc(fb);Sa=c[lb>>2]|0;ib=c[fb+12>>2]|0;eb=(Sa|0)==0;va=ib+4|0;db=Ma[c[ib>>2]&1](c[va>>2]|0,Sa,gb,hb)|0;if((hb|0)!=0&(db|0)==0){if(!(a[ib+51>>0]|0))gc(fb,4);sc(fb,1);bb=Ma[c[ib>>2]&1](c[va>>2]|0,Sa,gb,hb)|0;if(!bb)gc(fb,4);else ob=bb}else ob=db;db=ib+12|0;c[db>>2]=(eb?0:0-gb|0)+hb+(c[db>>2]|0);c[lb>>2]=ob;c[ha>>2]=hb;hb=c[mb>>2]|0;pb=hb+1|0;qb=ob;rb=hb}else{pb=jb;qb=c[lb>>2]|0;rb=kb}c[mb>>2]=pb;a[qb+rb>>0]=nb;nb=c[j>>2]|0;rb=c[nb>>2]|0;c[nb>>2]=rb+-1;if(!rb){rb=La[c[nb+8>>2]&7](c[nb+16>>2]|0,c[nb+12>>2]|0,g)|0;qb=c[g>>2]|0;if((rb|0)==0|(qb|0)==0)sb=-1;else{c[nb>>2]=qb+-1;c[nb+4>>2]=rb+1;sb=d[rb>>0]|0}tb=sb}else{sb=nb+4|0;nb=c[sb>>2]|0;c[sb>>2]=nb+1;tb=d[nb>>0]|0}c[b>>2]=tb;if(!tb){n=279;Ga=f;return n|0}if(!(os(67771,tb,2)|0)){n=279;Ga=f;return n|0}nb=c[i>>2]|0;sb=nb+4|0;rb=c[sb>>2]|0;qb=rb+1|0;pb=nb+8|0;mb=c[pb>>2]|0;if(qb>>>0>mb>>>0){if(mb>>>0>2147483645)ie(b,44222,0);kb=mb<<1;lb=c[b+32>>2]|0;if((kb|0)==-2)tc(lb);jb=c[nb>>2]|0;hb=c[lb+12>>2]|0;ob=(jb|0)==0;ha=hb+4|0;db=Ma[c[hb>>2]&1](c[ha>>2]|0,jb,mb,kb)|0;if((kb|0)!=0&(db|0)==0){if(!(a[hb+51>>0]|0))gc(lb,4);sc(lb,1);gb=Ma[c[hb>>2]&1](c[ha>>2]|0,jb,mb,kb)|0;if(!gb)gc(lb,4);else ub=gb}else ub=db;db=hb+12|0;c[db>>2]=(ob?0:0-mb|0)+kb+(c[db>>2]|0);c[nb>>2]=ub;c[pb>>2]=kb;kb=c[sb>>2]|0;vb=kb+1|0;wb=ub;xb=kb}else{vb=qb;wb=c[nb>>2]|0;xb=rb}c[sb>>2]=vb;a[wb+xb>>0]=tb;tb=c[j>>2]|0;xb=c[tb>>2]|0;c[tb>>2]=xb+-1;if(!xb){xb=La[c[tb+8>>2]&7](c[tb+16>>2]|0,c[tb+12>>2]|0,g)|0;wb=c[g>>2]|0;if((xb|0)==0|(wb|0)==0)yb=-1;else{c[tb>>2]=wb+-1;c[tb+4>>2]=xb+1;yb=d[xb>>0]|0}zb=yb}else{yb=tb+4|0;tb=c[yb>>2]|0;c[yb>>2]=tb+1;zb=d[tb>>0]|0}c[b>>2]=zb;n=280;Ga=f;return n|0}case 463:{if(!((k&-128|0)==128|((k|0)==95|(hu(k)|0)!=0))?!((k|0)<0|(k&-2|0)==30):0){zb=c[j>>2]|0;tb=c[zb>>2]|0;c[zb>>2]=tb+-1;if(!tb){tb=La[c[zb+8>>2]&7](c[zb+16>>2]|0,c[zb+12>>2]|0,g)|0;yb=c[g>>2]|0;if((tb|0)==0|(yb|0)==0)Ab=-1;else{c[zb>>2]=yb+-1;c[zb+4>>2]=tb+1;Ab=d[tb>>0]|0}Bb=Ab}else{Ab=zb+4|0;zb=c[Ab>>2]|0;c[Ab>>2]=zb+1;Bb=d[zb>>0]|0}c[b>>2]=Bb;n=k;Ga=f;return n|0}Bb=b+32|0;zb=k;while(1){k=c[i>>2]|0;Ab=k+4|0;tb=c[Ab>>2]|0;yb=tb+1|0;xb=k+8|0;wb=c[xb>>2]|0;if(yb>>>0>wb>>>0){if(wb>>>0>2147483645){l=469;break}vb=wb<<1;Cb=c[Bb>>2]|0;if((vb|0)==-2){l=471;break}sb=c[k>>2]|0;rb=c[Cb+12>>2]|0;nb=(sb|0)==0;qb=rb+4|0;kb=Ma[c[rb>>2]&1](c[qb>>2]|0,sb,wb,vb)|0;if((vb|0)!=0&(kb|0)==0){if(!(a[rb+51>>0]|0)){l=475;break}sc(Cb,1);ub=Ma[c[rb>>2]&1](c[qb>>2]|0,sb,wb,vb)|0;if(!ub){l=475;break}else Db=ub}else Db=kb;kb=rb+12|0;c[kb>>2]=(nb?0:0-wb|0)+vb+(c[kb>>2]|0);c[k>>2]=Db;c[xb>>2]=vb;vb=c[Ab>>2]|0;Eb=vb+1|0;Fb=Db;Gb=vb}else{Eb=yb;Fb=c[k>>2]|0;Gb=tb}c[Ab>>2]=Eb;a[Fb+Gb>>0]=zb;Ab=c[j>>2]|0;tb=c[Ab>>2]|0;c[Ab>>2]=tb+-1;if(!tb){tb=La[c[Ab+8>>2]&7](c[Ab+16>>2]|0,c[Ab+12>>2]|0,g)|0;k=c[g>>2]|0;if((tb|0)==0|(k|0)==0)Hb=-1;else{c[Ab>>2]=k+-1;c[Ab+4>>2]=tb+1;Hb=d[tb>>0]|0}Ib=Hb}else{tb=Ab+4|0;Ab=c[tb>>2]|0;c[tb>>2]=Ab+1;Ib=d[Ab>>0]|0}c[b>>2]=Ib;if(Ib>>>0>127|((gu(Ib)|0)!=0|(Ib|0)==95)|(Ib&-2|0)==30)zb=Ib;else{l=483;break}}if((l|0)==469)ie(b,44222,0);else if((l|0)==471)tc(Cb);else if((l|0)==475)gc(Cb,4);else if((l|0)==483){Cb=c[i>>2]|0;Ib=_d(b,c[Cb>>2]|0,c[Cb+4>>2]|0)|0;c[e>>2]=Ib;if((a[Ib+4>>0]|0)==4){Cb=a[Ib+6>>0]|0;Ga=f;return (Cb<<24>>24==0?288:Cb&255|256)|0}else{n=288;Ga=f;return n|0}}break}case 491:{Ga=f;return n|0}}Cb=c[i>>2]|0;Ib=Cb+4|0;zb=c[Ib>>2]|0;Hb=zb+1|0;Gb=Cb+8|0;Fb=c[Gb>>2]|0;if(Hb>>>0>Fb>>>0){if(Fb>>>0>2147483645)ie(b,44222,0);Eb=Fb<<1;Db=c[b+32>>2]|0;if((Eb|0)==-2)tc(Db);Bb=c[Cb>>2]|0;Ab=c[Db+12>>2]|0;tb=(Bb|0)==0;k=Ab+4|0;yb=Ma[c[Ab>>2]&1](c[k>>2]|0,Bb,Fb,Eb)|0;if((Eb|0)!=0&(yb|0)==0){if(!(a[Ab+51>>0]|0))gc(Db,4);sc(Db,1);vb=Ma[c[Ab>>2]&1](c[k>>2]|0,Bb,Fb,Eb)|0;if(!vb)gc(Db,4);else Jb=vb}else Jb=yb;yb=Ab+12|0;c[yb>>2]=(tb?0:0-Fb|0)+Eb+(c[yb>>2]|0);c[Cb>>2]=Jb;c[Gb>>2]=Eb;Eb=c[Ib>>2]|0;Kb=Eb+1|0;Lb=Jb;Mb=Eb}else{Kb=Hb;Lb=c[Cb>>2]|0;Mb=zb}c[Ib>>2]=Kb;a[Lb+Mb>>0]=m;Mb=c[j>>2]|0;Lb=c[Mb>>2]|0;c[Mb>>2]=Lb+-1;if(!Lb){Lb=La[c[Mb+8>>2]&7](c[Mb+16>>2]|0,c[Mb+12>>2]|0,g)|0;Kb=c[g>>2]|0;if((Lb|0)==0|(Kb|0)==0)Nb=-1;else{c[Mb>>2]=Kb+-1;c[Mb+4>>2]=Lb+1;Nb=d[Lb>>0]|0}Ob=Nb}else{Nb=Mb+4|0;Mb=c[Nb>>2]|0;c[Nb>>2]=Mb+1;Ob=d[Mb>>0]|0}c[b>>2]=Ob;if(!((m|0)!=48|(Ob|0)==0)?(os(44974,Ob,3)|0)!=0:0){m=c[i>>2]|0;Mb=m+4|0;Nb=c[Mb>>2]|0;Lb=Nb+1|0;Kb=m+8|0;Ib=c[Kb>>2]|0;if(Lb>>>0>Ib>>>0){if(Ib>>>0>2147483645)ie(b,44222,0);zb=Ib<<1;Cb=c[b+32>>2]|0;if((zb|0)==-2)tc(Cb);Hb=c[m>>2]|0;Eb=c[Cb+12>>2]|0;Jb=(Hb|0)==0;Gb=Eb+4|0;yb=Ma[c[Eb>>2]&1](c[Gb>>2]|0,Hb,Ib,zb)|0;if((zb|0)!=0&(yb|0)==0){if(!(a[Eb+51>>0]|0))gc(Cb,4);sc(Cb,1);Fb=Ma[c[Eb>>2]&1](c[Gb>>2]|0,Hb,Ib,zb)|0;if(!Fb)gc(Cb,4);else Pb=Fb}else Pb=yb;yb=Eb+12|0;c[yb>>2]=(Jb?0:0-Ib|0)+zb+(c[yb>>2]|0);c[m>>2]=Pb;c[Kb>>2]=zb;zb=c[Mb>>2]|0;Qb=zb+1|0;Rb=Pb;Sb=zb}else{Qb=Lb;Rb=c[m>>2]|0;Sb=Nb}c[Mb>>2]=Qb;a[Rb+Sb>>0]=Ob;Sb=c[j>>2]|0;Rb=c[Sb>>2]|0;c[Sb>>2]=Rb+-1;if(!Rb){Rb=La[c[Sb+8>>2]&7](c[Sb+16>>2]|0,c[Sb+12>>2]|0,g)|0;Qb=c[g>>2]|0;if((Rb|0)==0|(Qb|0)==0)Tb=-1;else{c[Sb>>2]=Qb+-1;c[Sb+4>>2]=Rb+1;Tb=d[Rb>>0]|0}Ub=Tb}else{Tb=Sb+4|0;Sb=c[Tb>>2]|0;c[Tb>>2]=Sb+1;Ub=d[Sb>>0]|0}c[b>>2]=Ub;Vb=44980;Wb=Ub}else{Vb=44977;Wb=Ob}Ob=b+32|0;Ub=Wb;while(1){if(Ub)if(os(Vb,Ub,3)|0){Wb=c[i>>2]|0;Sb=Wb+4|0;Tb=c[Sb>>2]|0;Rb=Tb+1|0;Qb=Wb+8|0;Mb=c[Qb>>2]|0;if(Rb>>>0>Mb>>>0){if(Mb>>>0>2147483645){l=382;break}Nb=Mb<<1;Xb=c[Ob>>2]|0;if((Nb|0)==-2){l=384;break}m=c[Wb>>2]|0;Lb=c[Xb+12>>2]|0;zb=(m|0)==0;Pb=Lb+4|0;Kb=Ma[c[Lb>>2]&1](c[Pb>>2]|0,m,Mb,Nb)|0;if((Nb|0)!=0&(Kb|0)==0){if(!(a[Lb+51>>0]|0)){l=388;break}sc(Xb,1);yb=Ma[c[Lb>>2]&1](c[Pb>>2]|0,m,Mb,Nb)|0;if(!yb){l=388;break}else Yb=yb}else Yb=Kb;Kb=Lb+12|0;c[Kb>>2]=(zb?0:0-Mb|0)+Nb+(c[Kb>>2]|0);c[Wb>>2]=Yb;c[Qb>>2]=Nb;Nb=c[Sb>>2]|0;Zb=Nb+1|0;_b=Yb;$b=Nb}else{Zb=Rb;_b=c[Wb>>2]|0;$b=Tb}c[Sb>>2]=Zb;a[_b+$b>>0]=Ub;Sb=c[j>>2]|0;Tb=c[Sb>>2]|0;c[Sb>>2]=Tb+-1;if(!Tb){Tb=La[c[Sb+8>>2]&7](c[Sb+16>>2]|0,c[Sb+12>>2]|0,g)|0;Wb=c[g>>2]|0;if((Tb|0)==0|(Wb|0)==0)ac=-1;else{c[Sb>>2]=Wb+-1;c[Sb+4>>2]=Tb+1;ac=d[Tb>>0]|0}bc=ac}else{Tb=Sb+4|0;Sb=c[Tb>>2]|0;c[Tb>>2]=Sb+1;bc=d[Sb>>0]|0}c[b>>2]=bc;if(bc)if(!(os(44983,bc,3)|0))cc=bc;else{Sb=c[i>>2]|0;Tb=Sb+4|0;Wb=c[Tb>>2]|0;Rb=Wb+1|0;Nb=Sb+8|0;Qb=c[Nb>>2]|0;if(Rb>>>0>Qb>>>0){if(Qb>>>0>2147483645){l=400;break}Kb=Qb<<1;dc=c[Ob>>2]|0;if((Kb|0)==-2){l=402;break}Mb=c[Sb>>2]|0;zb=c[dc+12>>2]|0;Lb=(Mb|0)==0;yb=zb+4|0;m=Ma[c[zb>>2]&1](c[yb>>2]|0,Mb,Qb,Kb)|0;if((Kb|0)!=0&(m|0)==0){if(!(a[zb+51>>0]|0)){l=406;break}sc(dc,1);Pb=Ma[c[zb>>2]&1](c[yb>>2]|0,Mb,Qb,Kb)|0;if(!Pb){l=406;break}else ec=Pb}else ec=m;m=zb+12|0;c[m>>2]=(Lb?0:0-Qb|0)+Kb+(c[m>>2]|0);c[Sb>>2]=ec;c[Nb>>2]=Kb;Kb=c[Tb>>2]|0;fc=Kb+1|0;hc=ec;ic=Kb}else{fc=Rb;hc=c[Sb>>2]|0;ic=Wb}c[Tb>>2]=fc;a[hc+ic>>0]=bc;Tb=c[j>>2]|0;Wb=c[Tb>>2]|0;c[Tb>>2]=Wb+-1;if(!Wb){Wb=La[c[Tb+8>>2]&7](c[Tb+16>>2]|0,c[Tb+12>>2]|0,g)|0;Sb=c[g>>2]|0;if((Wb|0)==0|(Sb|0)==0)jc=-1;else{c[Tb>>2]=Sb+-1;c[Tb+4>>2]=Wb+1;jc=d[Wb>>0]|0}kc=jc}else{Wb=Tb+4|0;Tb=c[Wb>>2]|0;c[Wb>>2]=Tb+1;kc=d[Tb>>0]|0}c[b>>2]=kc;cc=kc}else cc=0}else cc=Ub;else cc=0;lc=c[i>>2]|0;mc=lc+4|0;nc=c[mc>>2]|0;oc=nc+1|0;pc=lc+8|0;qc=c[pc>>2]|0;rc=oc>>>0>qc>>>0;if(!((cc|0)==46?1:(a[64+(cc+1)>>0]&16)!=0)){l=432;break}if(rc){if(qc>>>0>2147483645){l=418;break}Tb=qc<<1;uc=c[Ob>>2]|0;if((Tb|0)==-2){l=420;break}Wb=c[lc>>2]|0;Sb=c[uc+12>>2]|0;Rb=(Wb|0)==0;Kb=Sb+4|0;Nb=Ma[c[Sb>>2]&1](c[Kb>>2]|0,Wb,qc,Tb)|0;if((Tb|0)!=0&(Nb|0)==0){if(!(a[Sb+51>>0]|0)){l=424;break}sc(uc,1);m=Ma[c[Sb>>2]&1](c[Kb>>2]|0,Wb,qc,Tb)|0;if(!m){l=424;break}else vc=m}else vc=Nb;Nb=Sb+12|0;c[Nb>>2]=(Rb?0:0-qc|0)+Tb+(c[Nb>>2]|0);c[lc>>2]=vc;c[pc>>2]=Tb;Tb=c[mc>>2]|0;wc=Tb+1|0;xc=vc;yc=Tb}else{wc=oc;xc=c[lc>>2]|0;yc=nc}c[mc>>2]=wc;a[xc+yc>>0]=cc;Tb=c[j>>2]|0;Nb=c[Tb>>2]|0;c[Tb>>2]=Nb+-1;if(!Nb){Nb=La[c[Tb+8>>2]&7](c[Tb+16>>2]|0,c[Tb+12>>2]|0,g)|0;Rb=c[g>>2]|0;if((Nb|0)==0|(Rb|0)==0)zc=-1;else{c[Tb>>2]=Rb+-1;c[Tb+4>>2]=Nb+1;zc=d[Nb>>0]|0}Ac=zc}else{Nb=Tb+4|0;Tb=c[Nb>>2]|0;c[Nb>>2]=Tb+1;Ac=d[Tb>>0]|0}c[b>>2]=Ac;Ub=Ac}switch(l|0){case 382:{ie(b,44222,0);break}case 384:{tc(Xb);break}case 388:{gc(Xb,4);break}case 400:{ie(b,44222,0);break}case 402:{tc(dc);break}case 406:{gc(dc,4);break}case 418:{ie(b,44222,0);break}case 420:{tc(uc);break}case 424:{gc(uc,4);break}case 432:{if(rc){if(qc>>>0>2147483645)ie(b,44222,0);rc=qc<<1;uc=c[Ob>>2]|0;if((rc|0)==-2)tc(uc);Ob=c[lc>>2]|0;dc=c[uc+12>>2]|0;Xb=(Ob|0)==0;l=dc+4|0;Ac=Ma[c[dc>>2]&1](c[l>>2]|0,Ob,qc,rc)|0;if((rc|0)!=0&(Ac|0)==0){if(!(a[dc+51>>0]|0))gc(uc,4);sc(uc,1);Ub=Ma[c[dc>>2]&1](c[l>>2]|0,Ob,qc,rc)|0;if(!Ub)gc(uc,4);else Bc=Ub}else Bc=Ac;Ac=dc+12|0;c[Ac>>2]=(Xb?0:0-qc|0)+rc+(c[Ac>>2]|0);c[lc>>2]=Bc;c[pc>>2]=rc;rc=c[mc>>2]|0;Cc=rc+1|0;Dc=Bc;Ec=rc}else{Cc=oc;Dc=c[lc>>2]|0;Ec=nc}c[mc>>2]=Cc;a[Dc+Ec>>0]=0;Ec=b+56|0;Dc=a[Ec>>0]|0;Cc=c[i>>2]|0;mc=c[Cc>>2]|0;nc=c[Cc+4>>2]|0;if(!nc){Gc=mc;Hc=-1}else{Cc=nc;do{Cc=Cc+-1|0;nc=mc+Cc|0;if((a[nc>>0]|0)==46)a[nc>>0]=Dc}while((Cc|0)!=0);Cc=c[i>>2]|0;Gc=c[Cc>>2]|0;Hc=(c[Cc+4>>2]|0)+-1|0}if(Fc(Gc,Hc,e)|0){n=287;Ga=f;return n|0}Hc=a[Ec>>0]|0;Gc=a[c[(iu()|0)>>2]>>0]|0;a[Ec>>0]=Gc;Cc=c[i>>2]|0;Dc=c[Cc>>2]|0;mc=c[Cc+4>>2]|0;if(!mc){Ic=Dc;Jc=-1}else{Cc=mc;do{Cc=Cc+-1|0;mc=Dc+Cc|0;if((a[mc>>0]|0)==Hc<<24>>24)a[mc>>0]=Gc}while((Cc|0)!=0);Cc=c[i>>2]|0;Ic=c[Cc>>2]|0;Jc=(c[Cc+4>>2]|0)+-1|0}if(Fc(Ic,Jc,e)|0){n=287;Ga=f;return n|0}n=a[Ec>>0]|0;Ec=c[i>>2]|0;i=c[Ec>>2]|0;f=c[Ec+4>>2]|0;if(!f)ie(b,44986,287);Ec=f;do{Ec=Ec+-1|0;f=i+Ec|0;if((a[f>>0]|0)==n<<24>>24)a[f>>0]=46}while((Ec|0)!=0);ie(b,44986,287);break}}return 0}function Vd(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0;f=Ga;Ga=Ga+96|0;g=f;h=f+64|0;i=f+48|0;j=f+32|0;k=f+16|0;l=e+4|0;m=c[l>>2]|0;c[8675]=m;n=e+28|0;o=c[n>>2]|0;p=e+32|0;q=(c[p>>2]|0)+38|0;r=(b[q>>1]|0)+1<<16>>16;b[q>>1]=r;if((r&65535)>200)ke(o,200,44362);r=e+12|0;do switch(c[r>>2]|0){case 59:{c[e+8>>2]=m;q=e+20|0;if((c[q>>2]|0)==286){c[r>>2]=Ud(e,e+16|0)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}else{A=q;B=c[A+4>>2]|0;C=e+12|0;c[C>>2]=c[A>>2];c[C+4>>2]=B;c[q>>2]=286;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}break}case 267:{c[i>>2]=-1;le(e,i);a:while(1){switch(c[r>>2]|0){case 260:{D=10;break a;break}case 261:break;default:break a}le(e,i)}if((D|0)==10){c[e+8>>2]=c[l>>2];q=e+20|0;if((c[q>>2]|0)==286){B=Ud(e,e+16|0)|0;c[r>>2]=B;E=B}else{B=q;C=c[B>>2]|0;A=c[B+4>>2]|0;B=e+12|0;c[B>>2]=C;c[B+4>>2]=A;c[q>>2]=286;E=C}C=c[n>>2]|0;a[h+10>>0]=0;a[h+8>>0]=a[C+46>>0]|0;q=c[(c[C+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[q+28>>2];b[h+6>>1]=c[q+16>>2];a[h+9>>0]=0;q=C+16|0;c[h>>2]=c[q>>2];c[q>>2]=h;q=E;b:while(1){switch(q|0){case 277:case 286:case 262:case 261:case 260:{break b;break}default:{}}Vd(e);if((q|0)==274)break;q=c[r>>2]|0}Zd(C)}me(e,262,267,m);q=c[i>>2]|0;c[o+24>>2]=c[o+20>>2];A=o+28|0;do if((q|0)!=-1){B=c[A>>2]|0;if((B|0)==-1){c[A>>2]=q;break}F=c[(c[o>>2]|0)+12>>2]|0;G=B;while(1){H=F+(G<<2)|0;I=c[H>>2]|0;B=(I>>>14)+-131071|0;J=(B|0)==-1?-1:G+1+B|0;if((J|0)==-1)break;else G=J}F=q+~G|0;if((((F|0)>-1?F:0-F|0)|0)>131071)$d(c[o+12>>2]|0,43994);else{c[H>>2]=(F<<14)+2147467264|I&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}case 278:{q=e+8|0;c[q>>2]=m;A=e+20|0;if((c[A>>2]|0)==286)c[r>>2]=Ud(e,e+16|0)|0;else{C=A;F=c[C+4>>2]|0;J=e+12|0;c[J>>2]=c[C>>2];c[J+4>>2]=F;c[A>>2]=286}F=o+20|0;J=c[F>>2]|0;C=o+24|0;c[C>>2]=J;ne(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;oe(c[n>>2]|0,h);B=c[h+12>>2]|0;a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;K=o+12|0;L=c[(c[K>>2]|0)+44>>2]|0;b[i+4>>1]=c[L+28>>2];b[i+6>>1]=c[L+16>>2];a[i+9>>0]=0;L=o+16|0;c[i>>2]=c[L>>2];c[L>>2]=i;if((c[r>>2]|0)!=259)Wd(e,259);c[q>>2]=c[l>>2];if((c[A>>2]|0)==286){q=Ud(e,e+16|0)|0;c[r>>2]=q;M=q}else{q=A;L=c[q>>2]|0;N=c[q+4>>2]|0;q=e+12|0;c[q>>2]=L;c[q+4>>2]=N;c[A>>2]=286;M=L}L=c[n>>2]|0;a[h+10>>0]=0;a[h+8>>0]=a[L+46>>0]|0;A=c[(c[L+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[A+28>>2];b[h+6>>1]=c[A+16>>2];a[h+9>>0]=0;A=L+16|0;c[h>>2]=c[A>>2];c[A>>2]=h;A=M;c:while(1){switch(A|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}Vd(e);if((A|0)==274)break;A=c[r>>2]|0}Zd(L);A=o+28|0;N=c[A>>2]|0;c[A>>2]=-1;q=Yd(o,2147450916)|0;do if((N|0)!=-1)if((q|0)!=-1){O=c[(c[o>>2]|0)+12>>2]|0;P=q;while(1){Q=O+(P<<2)|0;R=c[Q>>2]|0;S=(R>>>14)+-131071|0;T=(S|0)==-1?-1:P+1+S|0;if((T|0)==-1)break;else P=T}O=N+~P|0;if((((O|0)>-1?O:0-O|0)|0)>131071)$d(c[K>>2]|0,43994);else{c[Q>>2]=(O<<14)+2147467264|R&16383;U=q;break}}else U=N;else U=q;while(0);he(o,U,J);me(e,262,278,m);Zd(o);c[C>>2]=c[F>>2];do if((B|0)!=-1){q=c[A>>2]|0;if((q|0)==-1){c[A>>2]=B;break}N=c[(c[o>>2]|0)+12>>2]|0;L=q;while(1){V=N+(L<<2)|0;W=c[V>>2]|0;q=(W>>>14)+-131071|0;O=(q|0)==-1?-1:L+1+q|0;if((O|0)==-1)break;else L=O}N=B+~L|0;if((((N|0)>-1?N:0-N|0)|0)>131071)$d(c[K>>2]|0,43994);else{c[V>>2]=(N<<14)+2147467264|W&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}case 259:{c[e+8>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){B=Ud(e,e+16|0)|0;c[r>>2]=B;X=B;Y=c[n>>2]|0}else{B=K;A=c[B>>2]|0;F=c[B+4>>2]|0;B=e+12|0;c[B>>2]=A;c[B+4>>2]=F;c[K>>2]=286;X=A;Y=o}a[h+10>>0]=0;a[h+8>>0]=a[Y+46>>0]|0;A=c[(c[Y+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[A+28>>2];b[h+6>>1]=c[A+16>>2];a[h+9>>0]=0;A=Y+16|0;c[h>>2]=c[A>>2];c[A>>2]=h;A=X;d:while(1){switch(A|0){case 277:case 286:case 262:case 261:case 260:{break d;break}default:{}}Vd(e);if((A|0)==274)break;A=c[r>>2]|0}Zd(Y);me(e,262,259,m);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}case 264:{a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;A=c[(c[o+12>>2]|0)+44>>2]|0;b[i+4>>1]=c[A+28>>2];b[i+6>>1]=c[A+16>>2];a[i+9>>0]=0;A=o+16|0;c[i>>2]=c[A>>2];c[A>>2]=i;A=e+8|0;c[A>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){F=Ud(e,e+16|0)|0;c[r>>2]=F;Z=F}else{F=K;B=c[F>>2]|0;C=c[F+4>>2]|0;F=e+12|0;c[F>>2]=B;c[F+4>>2]=C;c[K>>2]=286;Z=B}if((Z|0)!=288)Wd(e,288);B=e+16|0;C=c[B>>2]|0;c[A>>2]=c[l>>2];if((c[K>>2]|0)==286){F=Ud(e,B)|0;c[r>>2]=F;_=F}else{F=K;J=c[F>>2]|0;N=c[F+4>>2]|0;F=e+12|0;c[F>>2]=J;c[F+4>>2]=N;c[K>>2]=286;_=J}switch(_|0){case 61:{J=c[n>>2]|0;N=J+48|0;F=d[N>>0]|0;pe(e,_d(e,44371,11)|0);pe(e,_d(e,44383,11)|0);pe(e,_d(e,44395,10)|0);pe(e,C);if((c[r>>2]|0)!=61)Wd(e,61);c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Ud(e,B)|0;else{P=K;O=c[P+4>>2]|0;q=e+12|0;c[q>>2]=c[P>>2];c[q+4>>2]=O;c[K>>2]=286}qe(e);if((c[r>>2]|0)!=44)Wd(e,44);c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Ud(e,B)|0;else{O=K;q=c[O+4>>2]|0;P=e+12|0;c[P>>2]=c[O>>2];c[P+4>>2]=q;c[K>>2]=286}qe(e);if((c[r>>2]|0)==44){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Ud(e,B)|0;else{q=K;P=c[q+4>>2]|0;O=e+12|0;c[O>>2]=c[q>>2];c[O+4>>2]=P;c[K>>2]=286}qe(e)}else{P=d[N>>0]|0;O=J+12|0;c[h>>2]=65536;c[h+4>>2]=3;q=re(J,h,h)|0;G=P<<6;if((q|0)<262144)Yd(J,G|q<<14|1)|0;else{Yd(J,G|2)|0;Yd(J,q<<6|52)|0}q=a[N>>0]|0;G=(q&255)+1|0;P=(c[J>>2]|0)+78|0;do if((q&255)>=(d[P>>0]|0))if((q&255)>248)$d(c[O>>2]|0,44406);else{J=G&255;a[P>>0]=J;$=J;break}else $=G&255;while(0);a[N>>0]=$}se(e,F,m,1,1);break}case 268:case 44:{G=c[n>>2]|0;P=G+48|0;O=d[P>>0]|0;pe(e,_d(e,44441,15)|0);pe(e,_d(e,44457,11)|0);pe(e,_d(e,44469,13)|0);pe(e,C);q=c[r>>2]|0;do if((q|0)==44){J=e+12|0;T=4;while(1){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286){S=Ud(e,B)|0;c[r>>2]=S;aa=S}else{S=K;ba=c[S>>2]|0;ca=c[S+4>>2]|0;S=J;c[S>>2]=ba;c[S+4>>2]=ca;c[K>>2]=286;aa=ba}if((aa|0)!=288){D=105;break}ba=c[B>>2]|0;c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Ud(e,B)|0;else{ca=K;S=c[ca+4>>2]|0;da=J;c[da>>2]=c[ca>>2];c[da+4>>2]=S;c[K>>2]=286}pe(e,ba);ea=c[r>>2]|0;if((ea|0)==44)T=T+1|0;else{D=110;break}}if((D|0)==105)Wd(e,288);else if((D|0)==110){fa=T+-2|0;ga=ea;break}}else{fa=1;ga=q}while(0);if((ga|0)!=268)Wd(e,268);q=c[l>>2]|0;c[A>>2]=q;if((c[K>>2]|0)==286){c[r>>2]=Ud(e,B)|0;ha=c[l>>2]|0}else{C=K;F=c[C+4>>2]|0;N=e+12|0;c[N>>2]=c[C>>2];c[N+4>>2]=F;c[K>>2]=286;ha=q}ne(e,h,0)|0;e:do if((c[r>>2]|0)==44){q=e+12|0;F=h+4|0;N=1;while(1){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Ud(e,B)|0;else{C=K;J=c[C+4>>2]|0;L=q;c[L>>2]=c[C>>2];c[L+4>>2]=J;c[K>>2]=286}ia=c[n>>2]|0;te(ia,h);if(((c[h>>2]|0)==6?(J=c[F>>2]|0,(J&256|0)==0):0)?(J|0)>=(d[ia+46>>0]|0):0){J=ia+48|0;a[J>>0]=(a[J>>0]|0)+-1<<24>>24}J=ia+48|0;L=a[J>>0]|0;C=(L&255)+1|0;ba=(c[ia>>2]|0)+78|0;if((L&255)<(d[ba>>0]|0))ja=C&255;else{if((L&255)>248)break;L=C&255;a[ba>>0]=L;ja=L}a[J>>0]=ja;ue(ia,h,(ja&255)+-1|0);ne(e,h,0)|0;J=N+1|0;if((c[r>>2]|0)==44)N=J;else{ka=J;break e}}$d(c[ia+12>>2]|0,44406)}else ka=1;while(0);ve(c[n>>2]|0,3,ka,h);K=(d[P>>0]|0)+3|0;B=(c[G>>2]|0)+78|0;do if(K>>>0>(d[B>>0]|0)>>>0)if(K>>>0>249)$d(c[G+12>>2]|0,44406);else{a[B>>0]=K;break}while(0);se(e,O,ha,fa,0);break}default:$d(e,44483)}me(e,262,264,m);Zd(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}case 273:{K=c[o+20>>2]|0;c[o+24>>2]=K;a[i+10>>0]=1;B=a[o+46>>0]|0;a[i+8>>0]=B;G=c[(c[o+12>>2]|0)+44>>2]|0;P=c[G+28>>2]&65535;b[i+4>>1]=P;A=c[G+16>>2]&65535;b[i+6>>1]=A;a[i+9>>0]=0;G=o+16|0;c[i>>2]=c[G>>2];a[j+10>>0]=0;N=j+8|0;a[N>>0]=B;b[j+4>>1]=P;b[j+6>>1]=A;A=j+9|0;a[A>>0]=0;c[j>>2]=i;c[G>>2]=j;c[e+8>>2]=m;G=e+20|0;if((c[G>>2]|0)==286){P=Ud(e,e+16|0)|0;c[r>>2]=P;la=P}else{P=G;B=c[P>>2]|0;F=c[P+4>>2]|0;P=e+12|0;c[P>>2]=B;c[P+4>>2]=F;c[G>>2]=286;la=B}B=la;f:while(1){switch(B|0){case 277:case 286:case 262:case 261:case 260:{break f;break}default:{}}Vd(e);if((B|0)==274)break;B=c[r>>2]|0}me(e,277,273,m);ne(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;oe(c[n>>2]|0,h);B=c[h+12>>2]|0;if(!((B|0)==-1|(a[A>>0]|0)==0)){O=c[(c[o>>2]|0)+12>>2]|0;G=(d[N>>0]<<6)+64&16320;F=B;do{P=O+(F<<2)|0;q=c[P>>2]|0;T=(q>>>14)+-131071|0;c[P>>2]=q&-16321|G;F=(T|0)==-1?-1:F+1+T|0}while((F|0)!=-1)}Zd(o);he(o,B,K);Zd(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}case 265:{F=e+8|0;c[F>>2]=m;G=e+20|0;if((c[G>>2]|0)==286){O=e+16|0;c[r>>2]=Ud(e,O)|0;ma=G;na=e+12|0;oa=O}else{O=e+12|0;N=G;A=c[N+4>>2]|0;T=O;c[T>>2]=c[N>>2];c[T+4>>2]=A;c[G>>2]=286;ma=G;na=O;oa=e+16|0}we(e,j);O=j+8|0;A=j+12|0;T=h+4|0;N=i+8|0;q=i+12|0;P=i+4|0;J=j+4|0;L=J+2|0;ba=J+3|0;g:while(1){switch(c[r>>2]|0){case 58:{D=168;break g;break}case 46:break;default:{pa=0;break g}}C=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[O>>2]|0)==(c[A>>2]|0):0))xe(C,j)|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286){S=Ud(e,oa)|0;c[r>>2]=S;qa=S}else{S=ma;da=c[S>>2]|0;ca=c[S+4>>2]|0;S=na;c[S>>2]=da;c[S+4>>2]=ca;c[G>>2]=286;qa=da}if((qa|0)!=288){D=163;break}da=c[oa>>2]|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286)c[r>>2]=Ud(e,oa)|0;else{ca=ma;S=c[ca+4>>2]|0;ra=na;c[ra>>2]=c[ca>>2];c[ra+4>>2]=S;c[G>>2]=286}S=c[n>>2]|0;c[h>>2]=da;c[T>>2]=(a[da+4>>0]|64)&255;da=re(S,h,h)|0;c[N>>2]=-1;c[q>>2]=-1;c[i>>2]=4;c[P>>2]=da;a[L>>0]=c[J>>2];b[J>>1]=ye(C,i)|0;a[ba>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9}if((D|0)==163)Wd(e,288);if((D|0)==168){P=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[O>>2]|0)==(c[A>>2]|0):0))xe(P,j)|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286){q=Ud(e,oa)|0;c[r>>2]=q;sa=q}else{q=ma;N=c[q>>2]|0;T=c[q+4>>2]|0;q=na;c[q>>2]=N;c[q+4>>2]=T;c[G>>2]=286;sa=N}if((sa|0)!=288)Wd(e,288);N=c[oa>>2]|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286)c[r>>2]=Ud(e,oa)|0;else{T=ma;q=c[T+4>>2]|0;K=na;c[K>>2]=c[T>>2];c[K+4>>2]=q;c[G>>2]=286}q=c[n>>2]|0;c[h>>2]=N;c[h+4>>2]=(a[N+4>>0]|64)&255;N=re(q,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=N;a[L>>0]=c[J>>2];b[J>>1]=ye(P,i)|0;a[ba>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9;pa=1}ze(e,k,pa,m);Ae(c[n>>2]|0,j,k);P=c[n>>2]|0;c[(c[(c[P>>2]|0)+20>>2]|0)+((c[P+20>>2]|0)+-1<<2)>>2]=m;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}case 269:{P=e+8|0;c[P>>2]=m;N=e+20|0;if((c[N>>2]|0)==286){q=Ud(e,e+16|0)|0;c[r>>2]=q;ta=q}else{q=N;K=c[q>>2]|0;T=c[q+4>>2]|0;q=e+12|0;c[q>>2]=K;c[q+4>>2]=T;c[N>>2]=286;ta=K}if((ta|0)==265){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286){K=Ud(e,e+16|0)|0;c[r>>2]=K;ua=K}else{K=N;T=c[K>>2]|0;q=c[K+4>>2]|0;K=e+12|0;c[K>>2]=T;c[K+4>>2]=q;c[N>>2]=286;ua=T}T=c[n>>2]|0;if((ua|0)!=288)Wd(e,288);q=e+16|0;K=c[q>>2]|0;c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Ud(e,q)|0;else{q=N;B=c[q+4>>2]|0;C=e+12|0;c[C>>2]=c[q>>2];c[C+4>>2]=B;c[N>>2]=286}pe(e,K);K=c[n>>2]|0;B=K+46|0;C=a[B>>0]|0;a[B>>0]=(C&255)+1;c[(c[(c[K>>2]|0)+24>>2]|0)+((b[(c[c[(c[K+12>>2]|0)+44>>2]>>2]|0)+((c[K+40>>2]|0)+(C+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[K+20>>2];ze(e,h,0,c[l>>2]|0);c[(c[(c[T>>2]|0)+24>>2]|0)+((b[(c[c[(c[T+12>>2]|0)+44>>2]>>2]|0)+((c[T+40>>2]|0)+(c[h+4>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[T+20>>2];s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}if((ta|0)!=288)Wd(e,288);T=e+16|0;K=e+12|0;C=0;h:while(1){B=c[T>>2]|0;c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Ud(e,T)|0;else{q=N;da=c[q+4>>2]|0;S=K;c[S>>2]=c[q>>2];c[S+4>>2]=da;c[N>>2]=286}pe(e,B);C=C+1|0;switch(c[r>>2]|0){case 61:{D=205;break h;break}case 44:break;default:{D=223;break h}}c[P>>2]=c[l>>2];if((c[N>>2]|0)==286){B=Ud(e,T)|0;c[r>>2]=B;va=B}else{B=N;da=c[B>>2]|0;S=c[B+4>>2]|0;B=K;c[B>>2]=da;c[B+4>>2]=S;c[N>>2]=286;va=da}if((va|0)!=288){D=196;break}}i:do if((D|0)==196)Wd(e,288);else if((D|0)==205){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Ud(e,T)|0;else{ba=N;J=c[ba+4>>2]|0;L=K;c[L>>2]=c[ba>>2];c[L+4>>2]=J;c[N>>2]=286}ne(e,h,0)|0;if((c[r>>2]|0)==44){J=h+4|0;L=1;while(1){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Ud(e,T)|0;else{ba=N;G=c[ba+4>>2]|0;F=K;c[F>>2]=c[ba>>2];c[F+4>>2]=G;c[N>>2]=286}wa=c[n>>2]|0;te(wa,h);if(((c[h>>2]|0)==6?(G=c[J>>2]|0,(G&256|0)==0):0)?(G|0)>=(d[wa+46>>0]|0):0){G=wa+48|0;a[G>>0]=(a[G>>0]|0)+-1<<24>>24}G=wa+48|0;F=a[G>>0]|0;ba=(F&255)+1|0;A=(c[wa>>2]|0)+78|0;if((F&255)<(d[A>>0]|0))xa=ba&255;else{if((F&255)>248)break;F=ba&255;a[A>>0]=F;xa=F}a[G>>0]=xa;ue(wa,h,(xa&255)+-1|0);ne(e,h,0)|0;G=L+1|0;if((c[r>>2]|0)==44)L=G;else{ya=G;break i}}$d(c[wa+12>>2]|0,44406)}else ya=1}else if((D|0)==223){c[h>>2]=0;ya=0}while(0);ve(c[n>>2]|0,C,ya,h);N=c[n>>2]|0;K=N+46|0;T=C+(d[K>>0]|0)|0;a[K>>0]=T;K=c[N+20>>2]|0;P=c[(c[N>>2]|0)+24>>2]|0;L=c[c[(c[N+12>>2]|0)+44>>2]>>2]|0;J=(c[N+40>>2]|0)+(T&255)|0;T=C;do{c[P+((b[L+(J-T<<1)>>1]|0)*12|0)+4>>2]=K;T=T+-1|0}while((T|0)!=0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}case 285:{T=e+8|0;c[T>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){J=Ud(e,e+16|0)|0;c[r>>2]=J;za=J}else{J=K;L=c[J>>2]|0;P=c[J+4>>2]|0;J=e+12|0;c[J>>2]=L;c[J+4>>2]=P;c[K>>2]=286;za=L}if((za|0)!=288)Wd(e,288);L=e+16|0;P=c[L>>2]|0;c[T>>2]=c[l>>2];if((c[K>>2]|0)==286){J=Ud(e,L)|0;c[r>>2]=J;Aa=J}else{J=K;C=c[J>>2]|0;N=c[J+4>>2]|0;J=e+12|0;c[J>>2]=C;c[J+4>>2]=N;c[K>>2]=286;Aa=C}C=c[n>>2]|0;N=e+44|0;J=c[N>>2]|0;G=J+24|0;F=C+16|0;A=b[(c[F>>2]|0)+4>>1]|0;ba=J+28|0;O=c[ba>>2]|0;j:do if((O|0)>(A|0)){da=c[G>>2]|0;S=a[P+4>>0]|0;B=P+12|0;q=P+16|0;if(S<<24>>24==4){ra=A;while(1){ca=c[da+(ra<<4)>>2]|0;if((ca|0)==(P|0)&(a[ca+4>>0]|0)==4){Ba=ra;break}ra=ra+1|0;if((ra|0)>=(O|0))break j}Ca=C+12|0;Da=c[Ca>>2]|0;Ea=Da+32|0;Fa=c[Ea>>2]|0;Ha=da+(Ba<<4)+8|0;Ia=c[Ha>>2]|0;Ja=ee(Ia)|0;Ka=c[G>>2]|0;La=Ka+(Ba<<4)+8|0;Ma=c[La>>2]|0;Na=fe(Ma)|0;c[g>>2]=q;Oa=g+4|0;c[Oa>>2]=Ja;Pa=g+8|0;c[Pa>>2]=Na;Qa=gd(Fa,44504,g)|0;Ra=c[Ca>>2]|0;ge(Ra,Qa)}ra=A;while(1){ca=c[da+(ra<<4)>>2]|0;if(S<<24>>24==(a[ca+4>>0]|0)){Sa=c[B>>2]|0;if((ca|0)==(P|0)){Ba=ra;D=245;break}if((Sa|0)==(c[ca+12>>2]|0)?(Zr(q,ca+16|0,Sa)|0)==0:0){Ba=ra;D=245;break}}ra=ra+1|0;if((ra|0)>=(O|0))break j}if((D|0)==245){Ca=C+12|0;Da=c[Ca>>2]|0;Ea=Da+32|0;Fa=c[Ea>>2]|0;Ha=da+(Ba<<4)+8|0;Ia=c[Ha>>2]|0;Ja=ee(Ia)|0;Ka=c[G>>2]|0;La=Ka+(Ba<<4)+8|0;Ma=c[La>>2]|0;Na=fe(Ma)|0;c[g>>2]=q;Oa=g+4|0;c[Oa>>2]=Ja;Pa=g+8|0;c[Pa>>2]=Na;Qa=gd(Fa,44504,g)|0;Ra=c[Ca>>2]|0;ge(Ra,Qa)}}while(0);if((Aa|0)!=285)Wd(e,285);c[T>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Ud(e,L)|0;else{O=K;A=c[O+4>>2]|0;ra=e+12|0;c[ra>>2]=c[O>>2];c[ra+4>>2]=A;c[K>>2]=286}A=c[C+20>>2]|0;ra=c[ba>>2]|0;O=J+32|0;if((ra|0)<(c[O>>2]|0)){Ta=c[G>>2]|0;Ua=ra}else{B=ae(c[p>>2]|0,c[G>>2]|0,O,16,32767,44021)|0;c[G>>2]=B;Ta=B;Ua=c[ba>>2]|0}c[Ta+(ra<<4)>>2]=P;c[Ta+(ra<<4)+8>>2]=m;a[Ta+(ra<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[Ta+(ra<<4)+4>>2]=A;c[ba>>2]=Ua+1;k:while(1){switch(c[r>>2]|0){case 286:case 262:case 261:case 260:{D=259;break k;break}case 285:case 59:break;default:{D=258;break k}}Vd(e)}if((D|0)==258)Va=c[G>>2]|0;else if((D|0)==259){ba=c[G>>2]|0;a[ba+(ra<<4)+12>>0]=a[(c[F>>2]|0)+8>>0]|0;Va=ba}ba=Va+(ra<<4)|0;P=c[N>>2]|0;J=b[(c[(c[n>>2]|0)+16>>2]|0)+6>>1]|0;C=P+16|0;K=c[C>>2]|0;if((K|0)<=(J|0)){s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}L=P+12|0;P=J;J=K;while(1){K=c[(c[L>>2]|0)+(P<<4)>>2]|0;T=c[ba>>2]|0;A=a[K+4>>0]|0;do if(A<<24>>24==(a[T+4>>0]|0)){if(A<<24>>24==4){if((K|0)!=(T|0)){D=269;break}}else{B=c[K+12>>2]|0;if((K|0)!=(T|0)){if((B|0)!=(c[T+12>>2]|0)){D=269;break}if(Zr(K+16|0,T+16|0,B)|0){D=269;break}}}be(e,P,ba);Wa=P;Xa=c[C>>2]|0}else D=269;while(0);if((D|0)==269){D=0;Wa=P+1|0;Xa=J}if((Wa|0)<(Xa|0)){P=Wa;J=Xa}else break}s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}case 274:{J=e+8|0;c[J>>2]=m;P=e+20|0;if((c[P>>2]|0)==286){C=Ud(e,e+16|0)|0;c[r>>2]=C;Ya=C;Za=c[n>>2]|0}else{C=P;ba=c[C>>2]|0;L=c[C+4>>2]|0;C=e+12|0;c[C>>2]=ba;c[C+4>>2]=L;c[P>>2]=286;Ya=ba;Za=o}l:do switch(Ya|0){case 59:case 277:case 286:case 262:case 261:case 260:{_a=0;$a=0;break}default:{ne(e,h,0)|0;m:do if((c[r>>2]|0)==44){ba=e+16|0;L=e+12|0;C=h+4|0;N=1;while(1){c[J>>2]=c[l>>2];if((c[P>>2]|0)==286)c[r>>2]=Ud(e,ba)|0;else{ra=P;F=c[ra+4>>2]|0;G=L;c[G>>2]=c[ra>>2];c[G+4>>2]=F;c[P>>2]=286}ab=c[n>>2]|0;te(ab,h);if(((c[h>>2]|0)==6?(F=c[C>>2]|0,(F&256|0)==0):0)?(F|0)>=(d[ab+46>>0]|0):0){F=ab+48|0;a[F>>0]=(a[F>>0]|0)+-1<<24>>24}F=ab+48|0;G=a[F>>0]|0;ra=(G&255)+1|0;T=(c[ab>>2]|0)+78|0;if((G&255)<(d[T>>0]|0))bb=ra&255;else{if((G&255)>248)break;G=ra&255;a[T>>0]=G;bb=G}a[F>>0]=bb;ue(ab,h,(bb&255)+-1|0);ne(e,h,0)|0;F=N+1|0;if((c[r>>2]|0)==44)N=F;else{cb=F;db=h;break m}}$d(c[ab+12>>2]|0,44406)}else{cb=1;db=h}while(0);N=c[db>>2]|0;if((N&-2|0)==12){switch(N|0){case 12:{N=(c[(c[Za>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[N>>2]=c[N>>2]&-8372225;if((cb|0)==1){N=(c[(c[Za>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[N>>2]=c[N>>2]&-64|43}break}case 13:{N=c[Za>>2]|0;C=c[N+12>>2]|0;L=h+4|0;ba=C+(c[L>>2]<<2)|0;c[ba>>2]=c[ba>>2]&8388607;ba=C+(c[L>>2]<<2)|0;L=Za+48|0;C=a[L>>0]|0;F=C&255;c[ba>>2]=F<<6|c[ba>>2]&-16321;ba=F+1|0;F=N+78|0;do if((C&255)>=(d[F>>0]|0))if((C&255)>248)$d(c[Za+12>>2]|0,44406);else{N=ba&255;a[F>>0]=N;eb=N;break}else eb=ba&255;while(0);a[L>>0]=eb;break}default:{}}_a=-1;$a=d[Za+46>>0]|0;break l}if((cb|0)==1){_a=1;$a=xe(Za,h)|0;break l}te(Za,h);if(((c[db>>2]|0)==6?(ba=c[h+4>>2]|0,(ba&256|0)==0):0)?(ba|0)>=(d[Za+46>>0]|0):0){ba=Za+48|0;a[ba>>0]=(a[ba>>0]|0)+-1<<24>>24}ba=Za+48|0;F=a[ba>>0]|0;C=(F&255)+1|0;N=(c[Za>>2]|0)+78|0;do if((F&255)>=(d[N>>0]|0))if((F&255)>248)$d(c[Za+12>>2]|0,44406);else{G=C&255;a[N>>0]=G;fb=G;break}else fb=C&255;while(0);a[ba>>0]=fb;ue(Za,h,(fb&255)+-1|0);_a=cb;$a=d[Za+46>>0]|0}}while(0);Yd(Za,$a<<6|(_a<<23)+8388608|44)|0;do if((c[r>>2]|0)==59){c[J>>2]=c[l>>2];if((c[P>>2]|0)==286){c[r>>2]=Ud(e,e+16|0)|0;break}else{C=P;N=c[C+4>>2]|0;F=e+12|0;c[F>>2]=c[C>>2];c[F+4>>2]=N;c[P>>2]=286;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}case 266:case 258:{P=o+28|0;J=c[P>>2]|0;c[P>>2]=-1;P=Yd(o,2147450916)|0;do if((J|0)!=-1)if((P|0)!=-1){N=c[(c[o>>2]|0)+12>>2]|0;F=P;while(1){gb=N+(F<<2)|0;hb=c[gb>>2]|0;C=(hb>>>14)+-131071|0;L=(C|0)==-1?-1:F+1+C|0;if((L|0)==-1)break;else F=L}N=J+~F|0;if((((N|0)>-1?N:0-N|0)|0)>131071)$d(c[o+12>>2]|0,43994);else{c[gb>>2]=(N<<14)+2147467264|hb&16383;ib=P;break}}else ib=J;else ib=P;while(0);P=c[l>>2]|0;J=(c[r>>2]|0)==266;N=e+8|0;c[N>>2]=P;ba=e+20|0;L=(c[ba>>2]|0)==286;do if(J){if(L){C=Ud(e,e+16|0)|0;c[r>>2]=C;jb=C}else{C=ba;G=c[C>>2]|0;T=c[C+4>>2]|0;C=e+12|0;c[C>>2]=G;c[C+4>>2]=T;c[ba>>2]=286;jb=G}if((jb|0)!=288)Wd(e,288);G=e+16|0;T=c[G>>2]|0;c[N>>2]=c[l>>2];if((c[ba>>2]|0)==286){c[r>>2]=Ud(e,G)|0;kb=T;break}else{G=ba;C=c[G+4>>2]|0;ra=e+12|0;c[ra>>2]=c[G>>2];c[ra+4>>2]=C;c[ba>>2]=286;kb=T;break}}else{if(L)c[r>>2]=Ud(e,e+16|0)|0;else{T=ba;C=c[T+4>>2]|0;ra=e+12|0;c[ra>>2]=c[T>>2];c[ra+4>>2]=C;c[ba>>2]=286}kb=hd(c[p>>2]|0,53085,5)|0}while(0);ba=c[e+44>>2]|0;L=ba+12|0;N=ba+16|0;J=c[N>>2]|0;C=ba+20|0;if((J|0)<(c[C>>2]|0)){lb=c[L>>2]|0;mb=J}else{ba=ae(c[p>>2]|0,c[L>>2]|0,C,16,32767,44021)|0;c[L>>2]=ba;lb=ba;mb=c[N>>2]|0}c[lb+(J<<4)>>2]=kb;c[lb+(J<<4)+8>>2]=P;a[lb+(J<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[lb+(J<<4)+4>>2]=ib;c[N>>2]=mb+1;ce(e,J)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}default:{J=h+4|0;Be(e,J);n:do switch(c[r>>2]|0){case 44:case 61:{c[h>>2]=0;Ce(e,h,1);break}default:if((c[J>>2]|0)==12){N=(c[(c[o>>2]|0)+12>>2]|0)+(c[h+8>>2]<<2)|0;c[N>>2]=c[N>>2]&-8372225|16384;break n}else $d(e,52516)}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ga=f;return}}while(0)}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;d=c[a+32>>2]|0;c[e>>2]=je(a,b)|0;$d(a,gd(d,44350,e)|0)}function Xd(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=c[e+32>>2]|0;g=e+28|0;h=c[g>>2]|0;i=c[h>>2]|0;Yd(h,8388652)|0;Zd(h);j=h+20|0;k=c[j>>2]|0;if((k+1|0)>>>0>1073741823)tc(f);l=i+12|0;m=c[l>>2]|0;n=i+48|0;o=c[n>>2]<<2;p=k<<2;k=f+12|0;q=c[k>>2]|0;r=(m|0)==0;s=q+4|0;t=Ma[c[q>>2]&1](c[s>>2]|0,m,o,p)|0;if((p|0)!=0&(t|0)==0){if(!(a[q+51>>0]|0))gc(f,4);sc(f,1);u=Ma[c[q>>2]&1](c[s>>2]|0,m,o,p)|0;if(!u)gc(f,4);else v=u}else v=t;t=q+12|0;c[t>>2]=(r?0:0-o|0)+p+(c[t>>2]|0);c[l>>2]=v;v=c[j>>2]|0;c[n>>2]=v;if((v+1|0)>>>0>1073741823)tc(f);n=i+20|0;l=c[n>>2]|0;t=i+52|0;p=c[t>>2]<<2;o=v<<2;v=c[k>>2]|0;r=(l|0)==0;q=v+4|0;u=Ma[c[v>>2]&1](c[q>>2]|0,l,p,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[v+51>>0]|0))gc(f,4);sc(f,1);m=Ma[c[v>>2]&1](c[q>>2]|0,l,p,o)|0;if(!m)gc(f,4);else w=m}else w=u;u=v+12|0;c[u>>2]=(r?0:0-p|0)+o+(c[u>>2]|0);c[n>>2]=w;c[t>>2]=c[j>>2];j=h+32|0;t=c[j>>2]|0;if((t+1|0)>>>0>536870911)tc(f);w=i+8|0;n=c[w>>2]|0;u=i+44|0;o=c[u>>2]<<3;p=t<<3;t=c[k>>2]|0;r=(n|0)==0;v=t+4|0;m=Ma[c[t>>2]&1](c[v>>2]|0,n,o,p)|0;if((p|0)!=0&(m|0)==0){if(!(a[t+51>>0]|0))gc(f,4);sc(f,1);l=Ma[c[t>>2]&1](c[v>>2]|0,n,o,p)|0;if(!l)gc(f,4);else x=l}else x=m;m=t+12|0;c[m>>2]=(r?0:0-o|0)+p+(c[m>>2]|0);c[w>>2]=x;c[u>>2]=c[j>>2];j=h+36|0;u=c[j>>2]|0;if((u+1|0)>>>0>1073741823)tc(f);x=i+16|0;w=c[x>>2]|0;m=i+56|0;p=c[m>>2]<<2;o=u<<2;u=c[k>>2]|0;r=(w|0)==0;t=u+4|0;l=Ma[c[u>>2]&1](c[t>>2]|0,w,p,o)|0;if((o|0)!=0&(l|0)==0){if(!(a[u+51>>0]|0))gc(f,4);sc(f,1);n=Ma[c[u>>2]&1](c[t>>2]|0,w,p,o)|0;if(!n)gc(f,4);else y=n}else y=l;l=u+12|0;c[l>>2]=(r?0:0-p|0)+o+(c[l>>2]|0);c[x>>2]=y;c[m>>2]=c[j>>2];j=h+44|0;m=b[j>>1]|0;y=m<<16>>16;if((y+1|0)>>>0>357913941)tc(f);x=i+24|0;l=c[x>>2]|0;o=i+60|0;p=(c[o>>2]|0)*12|0;r=y*12|0;y=c[k>>2]|0;u=(l|0)==0;n=y+4|0;w=Ma[c[y>>2]&1](c[n>>2]|0,l,p,r)|0;if(m<<16>>16!=0&(w|0)==0){if(!(a[y+51>>0]|0))gc(f,4);sc(f,1);m=Ma[c[y>>2]&1](c[n>>2]|0,l,p,r)|0;if(!m)gc(f,4);else z=m}else z=w;w=y+12|0;c[w>>2]=(u?0:0-p|0)+r+(c[w>>2]|0);c[x>>2]=z;c[o>>2]=b[j>>1];j=h+47|0;o=a[j>>0]|0;z=i+28|0;x=c[z>>2]|0;w=i+40|0;i=c[w>>2]<<3;r=(o&255)<<3;p=c[k>>2]|0;u=(x|0)==0;y=p+4|0;m=Ma[c[p>>2]&1](c[y>>2]|0,x,i,r)|0;if(o<<24>>24!=0&(m|0)==0){if(!(a[p+51>>0]|0))gc(f,4);sc(f,1);o=Ma[c[p>>2]&1](c[y>>2]|0,x,i,r)|0;if(!o)gc(f,4);else A=o}else A=m;m=p+12|0;c[m>>2]=(u?0:0-i|0)+r+(c[m>>2]|0);c[z>>2]=A;c[w>>2]=d[j>>0];c[g>>2]=c[h+8>>2];if((c[e+12>>2]&-2|0)==288){h=c[e+16>>2]|0;_d(e,h+16|0,c[h+12>>2]|0)|0}h=f+8|0;c[h>>2]=(c[h>>2]|0)+-8;h=c[k>>2]|0;k=h+12|0;e=c[k>>2]|0;if((e|0)<=0)return;if(!(a[h+51>>0]|0)){g=h+8|0;c[g>>2]=e+1600+(c[g>>2]|0);c[k>>2]=-1600;return}else{wc(f);return}}
function dp(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0;j=Ga;Ga=Ga+192|0;k=j+176|0;l=j+20|0;m=j+8|0;n=j+4|0;o=j;c[n>>2]=0;c[o>>2]=0;c[e>>2]=0;c[f>>2]=0;p=b+216|0;c[p>>2]=0;Du(l|0,b+28|0,156)|0;c[l>>2]=h;c[l+4>>2]=i;a:do if(c[b+12>>2]|0){q=B(i,h)|0;b:do switch(c[b+184>>2]|0){case 6:{r=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!r)break b;s=0;while(1){if((a[g+(s<<2|3)>>0]|0)!=-1)break a;s=s+1|0;if(s>>>0>=q>>>0)break b}}if(r){s=0;do{t=s<<3;if((a[g+(t|6)>>0]|0)!=-1)break a;s=s+1|0;if((a[g+(t|7)>>0]|0)!=-1)break a}while(s>>>0<q>>>0)}break}case 4:{s=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!s)break b;r=0;while(1){if((a[g+(r<<1|1)>>0]|0)!=-1)break a;r=r+1|0;if(r>>>0>=q>>>0)break b}}if(s){r=0;do{t=r<<2;if((a[g+(t|2)>>0]|0)!=-1)break a;r=r+1|0;if((a[g+(t|3)>>0]|0)!=-1)break a}while(r>>>0<q>>>0)}break}case 3:{r=c[b+192>>2]|0;s=c[b+196>>2]|0;if(s|0){t=0;do{if((a[r+(t<<2|3)>>0]|0)!=-1)break a;t=t+1|0}while(t>>>0<s>>>0)}break}default:break a}while(0);q=l+20|0;switch(c[q>>2]|0){case 6:{c[q>>2]=2;break a;break}case 4:{c[q>>2]=0;break a;break}default:break a}}while(0);if((c[b+8>>2]|0)>>>0>32768){c[p>>2]=60;Ga=j;return}if((c[b>>2]|0)>>>0>2){c[p>>2]=61;Ga=j;return}if((c[b+44>>2]|0)>>>0>1){c[p>>2]=71;Ga=j;return}q=l+20|0;s=c[q>>2]|0;t=l+24|0;r=c[t>>2]|0;switch(s|0){case 0:{switch(r|0){case 1:case 2:case 4:case 8:case 16:break;default:{u=37;v=42}}break}case 2:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 3:{switch(r|0){case 1:case 2:case 4:case 8:break;default:{u=37;v=42}}break}case 4:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 6:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}default:{u=31;v=42}}if((v|0)==42){c[p>>2]=u;Ga=j;return}c[p>>2]=0;u=b+184|0;w=c[u>>2]|0;x=c[b+188>>2]|0;switch(w|0){case 0:{switch(x|0){case 1:case 2:case 4:case 8:case 16:break;default:{y=37;v=49}}break}case 2:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 3:{switch(x|0){case 1:case 2:case 4:case 8:break;default:{y=37;v=49}}break}case 4:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 6:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}default:{y=31;v=49}}if((v|0)==49){c[p>>2]=y;Ga=j;return}c[p>>2]=0;do if((w|0)==(s|0)&(x|0)==(r|0))ep(n,o,g,l);else{y=B(i,h)|0;switch(s|0){case 3:case 0:{z=-1;v=55;break}case 2:{A=3;v=54;break}case 4:break;case 6:{A=4;v=54;break}default:{z=0;v=55}}if((v|0)==54){C=((B(B(r,y)|0,A)|0)+7|0)>>>3;v=56}else if((v|0)==55)switch(s|0){case 2:case 6:{C=((B(z&r,y)|0)+7|0)>>>3;v=56;break}default:{}}if((v|0)==56?(r|0)==8:0){y=mp(C)|0;if(!((C|0)!=0&(y|0)==0)){if((c[p>>2]|0)==0?(D=Yo(y,g,q,u,h,i)|0,c[p>>2]=D,(D|0)==0):0)ep(n,o,y,l)}else c[p>>2]=9955;op(y);break}c[p>>2]=59;Ga=j;return}while(0);c[m>>2]=0;u=m+8|0;c[u>>2]=0;g=m+4|0;c[g>>2]=0;c:do if(!(c[p>>2]|0)){C=np(0,2)|0;if(!C){E=0;F=0}else{c[u>>2]=2;c[m>>2]=C;c[g>>2]=1;a[C>>0]=-119;E=c[g>>2]|0;F=c[u>>2]|0}C=E+1|0;if(F>>>0<C>>>0){r=C<<1;z=np(c[m>>2]|0,r)|0;if(!z){G=C;H=F;I=E}else{c[u>>2]=r;c[m>>2]=z;J=z;v=72}}else{J=c[m>>2]|0;v=72}if((v|0)==72){c[g>>2]=C;a[J+E>>0]=80;C=c[g>>2]|0;G=C+1|0;H=c[u>>2]|0;I=C}if(H>>>0<G>>>0){C=G<<1;z=np(c[m>>2]|0,C)|0;if(!z){K=G;L=H;M=I}else{c[u>>2]=C;c[m>>2]=z;N=z;v=77}}else{N=c[m>>2]|0;v=77}if((v|0)==77){c[g>>2]=G;a[N+I>>0]=78;z=c[g>>2]|0;K=z+1|0;L=c[u>>2]|0;M=z}if(L>>>0<K>>>0){z=K<<1;C=np(c[m>>2]|0,z)|0;if(!C){O=K;P=L;Q=M}else{c[u>>2]=z;c[m>>2]=C;R=C;v=82}}else{R=c[m>>2]|0;v=82}if((v|0)==82){c[g>>2]=K;a[R+M>>0]=71;C=c[g>>2]|0;O=C+1|0;P=c[u>>2]|0;Q=C}if(P>>>0<O>>>0){C=O<<1;z=np(c[m>>2]|0,C)|0;if(!z){S=O;T=P;U=Q}else{c[u>>2]=C;c[m>>2]=z;V=z;v=87}}else{V=c[m>>2]|0;v=87}if((v|0)==87){c[g>>2]=O;a[V+Q>>0]=13;z=c[g>>2]|0;S=z+1|0;T=c[u>>2]|0;U=z}if(T>>>0<S>>>0){z=S<<1;C=np(c[m>>2]|0,z)|0;if(!C){W=S;X=T;Y=U}else{c[u>>2]=z;c[m>>2]=C;Z=C;v=92}}else{Z=c[m>>2]|0;v=92}if((v|0)==92){c[g>>2]=S;a[Z+U>>0]=10;C=c[g>>2]|0;W=C+1|0;X=c[u>>2]|0;Y=C}if(X>>>0<W>>>0){C=W<<1;z=np(c[m>>2]|0,C)|0;if(!z){_=W;$=X;aa=Y}else{c[u>>2]=C;c[m>>2]=z;ba=z;v=97}}else{ba=c[m>>2]|0;v=97}if((v|0)==97){c[g>>2]=W;a[ba+Y>>0]=26;z=c[g>>2]|0;_=z+1|0;$=c[u>>2]|0;aa=z}if($>>>0<_>>>0){z=_<<1;C=np(c[m>>2]|0,z)|0;if(C|0){c[u>>2]=z;c[m>>2]=C;ca=C;v=102}}else{ca=c[m>>2]|0;v=102}if((v|0)==102){c[g>>2]=_;a[ca+aa>>0]=10}C=c[t>>2]|0;z=c[q>>2]|0;r=c[l+16>>2]|0;s=np(0,8)|0;A=(s|0)==0;x=A?0:8;w=A?0:4;y=s+(A?-4:0)|0;a[y>>0]=h>>>24;a[y+1>>0]=h>>>16;a[y+2>>0]=h>>>8;a[y+3>>0]=h;y=w+4|0;if(x>>>0<y>>>0){A=y<<1;D=np(s,A)|0;da=(D|0)==0;ea=da?s:D;fa=da?w:y;ga=da?x:A}else{ea=s;fa=y;ga=x}x=ea+(fa+-4)|0;a[x>>0]=i>>>24;a[x+1>>0]=i>>>16;a[x+2>>0]=i>>>8;a[x+3>>0]=i;x=C&255;C=fa+1|0;if(ga>>>0<C>>>0){y=C<<1;s=np(ea,y)|0;if(!s){ha=C;ia=ea;ja=fa;ka=ga}else{la=s;ma=y;v=107}}else{la=ea;ma=ga;v=107}if((v|0)==107){a[la+fa>>0]=x;ha=fa+2|0;ia=la;ja=C;ka=ma}C=z&255;if(ka>>>0<ha>>>0){z=ha<<1;x=np(ia,z)|0;if(!x){na=ha;oa=ia;pa=ja;qa=ka}else{ra=x;sa=z;v=110}}else{ra=ia;sa=ka;v=110}if((v|0)==110){a[ra+ja>>0]=C;na=ha+1|0;oa=ra;pa=ha;qa=sa}if(qa>>>0<na>>>0){C=na<<1;z=np(oa,C)|0;if(!z){ta=na;ua=oa;va=pa;wa=qa}else{xa=z;ya=C;v=113}}else{xa=oa;ya=qa;v=113}if((v|0)==113){a[xa+pa>>0]=0;ta=na+1|0;ua=xa;va=na;wa=ya}if(wa>>>0<ta>>>0){C=ta<<1;z=np(ua,C)|0;if(!z){za=ta;Aa=ua;Ba=va;Ca=wa}else{Da=z;Ea=C;v=116}}else{Da=ua;Ea=wa;v=116}if((v|0)==116){a[Da+va>>0]=0;za=ta+1|0;Aa=Da;Ba=ta;Ca=Ea}C=r&255;if(Ca>>>0<za>>>0){r=np(Aa,za<<1)|0;if(!r){Fa=Aa;Ha=Ba}else{Ia=r;v=119}}else{Ia=Aa;v=119}if((v|0)==119){a[Ia+Ba>>0]=C;Fa=Ia;Ha=za}if(!(To(m,g,Ha,60140,Fa)|0))c[u>>2]=c[g>>2];op(Fa);C=c[l+132>>2]|0;if(C|0){r=c[l+144>>2]|0;z=C;d:do if(r|0){x=C;y=c[g>>2]|0;while(1){s=x+1|0;A=x+2|0;da=x+3|0;w=(d[s>>0]<<16|d[x>>0]<<24|d[A>>0]<<8|d[da>>0])+12|0;D=w+y|0;if(D>>>0<w>>>0|D>>>0<y>>>0){Ja=77;break}Ka=np(c[m>>2]|0,D)|0;if(!Ka){Ja=9929;break}c[m>>2]=Ka;c[g>>2]=D;La=Ka+y|0;if(!w)Ma=D;else{D=0;do{a[La+D>>0]=a[x+D>>0]|0;D=D+1|0}while((D|0)!=(w|0));Ma=c[g>>2]|0}c[u>>2]=Ma;x=x+((d[s>>0]<<16|d[x>>0]<<24|d[A>>0]<<8|d[da>>0])+12)|0;if((x-z|0)>>>0>=r>>>0)break d;else y=Ma}c[p>>2]=Ja;break c}while(0);c[p>>2]=0}if((c[q>>2]|0)==3){r=l+32|0;z=c[r>>2]|0;if((z+-1|0)>>>0>255){c[p>>2]=68;break}if(!(z&1073741823)){Na=0;Oa=0}else{C=l+28|0;y=0;x=0;w=0;D=0;La=z;while(1){do if((y&3|0)==3){Pa=x;Qa=w;Ra=D;Sa=La}else{z=a[(c[C>>2]|0)+y>>0]|0;Ka=D+1|0;if(w>>>0<Ka>>>0){Ta=Ka<<1;Ua=np(x,Ta)|0;if(!Ua){Pa=x;Qa=w;Ra=D;Sa=La;break}else{Va=Ua;Wa=Ta}}else{Va=x;Wa=w}a[Va+D>>0]=z;Pa=Va;Qa=Wa;Ra=Ka;Sa=c[r>>2]|0}while(0);y=y+1|0;if(y>>>0>=Sa<<2>>>0){Na=Pa;Oa=Ra;break}else{x=Pa;w=Qa;D=Ra;La=Sa}}}if(!(To(m,g,Oa,60145,Na)|0))c[u>>2]=c[g>>2];op(Na)}e:do if(!(c[b+16>>2]|0))v=161;else{La=c[q>>2]|0;switch(La|0){case 6:case 2:break;default:{Xa=La;break e}}La=l+32|0;D=c[La>>2]|0;if((D+-1|0)>>>0>255){c[p>>2]=68;break c}if(!(D&1073741823)){Ya=0;Za=0}else{w=l+28|0;x=0;y=0;r=0;C=0;Ka=D;while(1){do if((x&3|0)==3){_a=y;$a=r;ab=C;bb=Ka}else{D=a[(c[w>>2]|0)+x>>0]|0;z=C+1|0;if(r>>>0<z>>>0){Ta=z<<1;Ua=np(y,Ta)|0;if(!Ua){_a=y;$a=r;ab=C;bb=Ka;break}else{cb=Ua;db=Ta}}else{cb=y;db=r}a[cb+C>>0]=D;_a=cb;$a=db;ab=z;bb=c[La>>2]|0}while(0);x=x+1|0;if(x>>>0>=bb<<2>>>0){Ya=_a;Za=ab;break}else{y=_a;r=$a;C=ab;Ka=bb}}}if(!(To(m,g,Za,60145,Ya)|0))c[u>>2]=c[g>>2];op(Ya);v=161}while(0);if((v|0)==161)Xa=c[q>>2]|0;f:do if((Xa|0)==3){Ka=c[l+28>>2]|0;C=c[l+32>>2]|0;if(!C)break;r=0;while(1){if((a[Ka+(r<<2|3)>>0]|0)!=-1)break;r=r+1|0;if(r>>>0>=C>>>0)break f}fp(m,q);eb=c[q>>2]|0;v=168}else{eb=Xa;v=168}while(0);g:do if((v|0)==168){switch(eb|0){case 2:case 0:break;default:break g}if(!(c[l+36>>2]|0))break;fp(m,q)}while(0);if(c[l+52>>2]|0){h:do switch(c[l+20>>2]|0){case 4:case 0:{C=l+56|0;r=c[C>>2]|0;Ka=np(0,2)|0;if(!Ka){y=np(0,2)|0;if(!y){fb=0;gb=0;break h}else{hb=r;ib=y;jb=0;kb=1}}else{a[Ka>>0]=r>>>8;hb=c[C>>2]|0;ib=Ka;jb=1;kb=2}a[ib+jb>>0]=hb;fb=ib;gb=kb;break}case 6:case 2:{Ka=l+56|0;C=c[Ka>>2]|0;r=np(0,2)|0;if(!r){y=np(0,2)|0;if(!y){lb=0;mb=0;nb=0}else{ob=C;pb=y;qb=0;rb=1;v=180}}else{a[r>>0]=C>>>8;ob=c[Ka>>2]|0;pb=r;qb=1;rb=2;v=180}if((v|0)==180){a[pb+qb>>0]=ob;lb=pb;mb=rb;nb=2}r=l+60|0;Ka=c[r>>2]|0;C=Ka>>>8&255;y=mb+1|0;if(nb>>>0<y>>>0){x=y<<1;La=np(lb,x)|0;if(!La){sb=y;tb=lb;ub=mb;vb=nb;wb=Ka}else{xb=La;yb=x;v=183}}else{xb=lb;yb=nb;v=183}if((v|0)==183){a[xb+mb>>0]=C;sb=mb+2|0;tb=xb;ub=y;vb=yb;wb=c[r>>2]|0}r=wb&255;if(vb>>>0<sb>>>0){y=sb<<1;C=np(tb,y)|0;if(!C){zb=sb;Ab=tb;Bb=ub;Cb=vb}else{Db=C;Eb=y;v=186}}else{Db=tb;Eb=vb;v=186}if((v|0)==186){a[Db+ub>>0]=r;zb=sb+1|0;Ab=Db;Bb=sb;Cb=Eb}r=l+64|0;y=c[r>>2]|0;C=y>>>8&255;if(Cb>>>0<zb>>>0){x=zb<<1;La=np(Ab,x)|0;if(!La){Fb=zb;Gb=Ab;Hb=Bb;Ib=Cb;Jb=y}else{Kb=La;Lb=x;v=189}}else{Kb=Ab;Lb=Cb;v=189}if((v|0)==189){a[Kb+Bb>>0]=C;Fb=zb+1|0;Gb=Kb;Hb=zb;Ib=Lb;Jb=c[r>>2]|0}r=Jb&255;if(Ib>>>0<Fb>>>0){C=np(Gb,Fb<<1)|0;if(!C){fb=Gb;gb=Hb;break h}else Mb=C}else Mb=Gb;a[Mb+Hb>>0]=r;fb=Mb;gb=Fb;break}case 3:{r=c[l+56>>2]|0;C=np(0,2)|0;if(!C){fb=0;gb=0;break h}a[C>>0]=r;fb=C;gb=1;break}default:{fb=0;gb=0}}while(0);if(!(To(m,g,gb,60150,fb)|0))c[u>>2]=c[g>>2];op(fb)}if(c[l+116>>2]|0){C=c[l+120>>2]|0;r=np(0,8)|0;x=(r|0)==0;La=x?0:8;y=x?0:4;Ka=r+(x?-4:0)|0;a[Ka>>0]=C>>>24;a[Ka+1>>0]=C>>>16;a[Ka+2>>0]=C>>>8;a[Ka+3>>0]=C;C=c[l+124>>2]|0;Ka=y+4|0;if(La>>>0<Ka>>>0){x=Ka<<1;w=np(r,x)|0;da=(w|0)==0;Nb=da?r:w;Ob=da?y:Ka;Pb=da?La:x}else{Nb=r;Ob=Ka;Pb=La}La=Nb+(Ob+-4)|0;a[La>>0]=C>>>24;a[La+1>>0]=C>>>16;a[La+2>>0]=C>>>8;a[La+3>>0]=C;C=a[l+128>>0]|0;La=Ob+1|0;if(Pb>>>0<La>>>0){Ka=np(Nb,La<<1)|0;if(!Ka){Qb=Nb;Rb=Ob}else{Sb=Ka;v=203}}else{Sb=Nb;v=203}if((v|0)==203){a[Sb+Ob>>0]=C;Qb=Sb;Rb=La}if(!(To(m,g,Rb,60155,Qb)|0))c[u>>2]=c[g>>2];op(Qb)}La=c[l+136>>2]|0;if(La|0){C=c[l+148>>2]|0;Ka=La;i:do if(C|0){r=La;x=c[g>>2]|0;while(1){da=r+1|0;y=r+2|0;w=r+3|0;A=(d[da>>0]<<16|d[r>>0]<<24|d[y>>0]<<8|d[w>>0])+12|0;s=A+x|0;if(s>>>0<A>>>0|s>>>0<x>>>0){Tb=77;break}z=np(c[m>>2]|0,s)|0;if(!z){Tb=9929;break}c[m>>2]=z;c[g>>2]=s;D=z+x|0;if(!A)Ub=s;else{s=0;do{a[D+s>>0]=a[r+s>>0]|0;s=s+1|0}while((s|0)!=(A|0));Ub=c[g>>2]|0}c[u>>2]=Ub;r=r+((d[da>>0]<<16|d[r>>0]<<24|d[y>>0]<<8|d[w>>0])+12)|0;if((r-Ka|0)>>>0>=C>>>0)break i;else x=Ub}c[p>>2]=Tb;break c}while(0);c[p>>2]=0}C=c[n>>2]|0;Ka=c[o>>2]|0;c[k>>2]=0;c[k+8>>2]=0;La=k+4|0;c[La>>2]=0;x=Ro(k,La,C,Ka,b)|0;Ka=c[k>>2]|0;do if(!x){C=To(m,g,c[La>>2]|0,60160,Ka)|0;if(C|0){Vb=C;break}c[u>>2]=c[g>>2];Vb=0}else Vb=x;while(0);op(Ka);c[p>>2]=Vb;if(Vb|0)break;do if(a[l+100>>0]|0){x=mp(7)|0;if(!x)break;La=l+104|0;a[x>>0]=(c[La>>2]|0)>>>8;a[x+1>>0]=c[La>>2];a[x+2>>0]=a[l+108>>0]|0;a[x+3>>0]=a[l+109>>0]|0;a[x+4>>0]=a[l+110>>0]|0;a[x+5>>0]=a[l+111>>0]|0;a[x+6>>0]=a[l+112>>0]|0;if(!(To(m,g,7,60165,x)|0))c[u>>2]=c[g>>2];op(x)}while(0);Ka=l+68|0;x=c[Ka>>2]|0;j:do if(x){La=l+72|0;C=b+24|0;r=l+76|0;A=k+8|0;s=k+4|0;D=0;z=x;while(1){Ta=c[(c[La>>2]|0)+(D<<2)>>2]|0;if((Ms(Ta)|0)>>>0>79){v=231;break}Ua=a[Ta>>0]|0;if(!(Ua<<24>>24)){v=233;break}Wb=c[(c[r>>2]|0)+(D<<2)>>2]|0;if(!(c[C>>2]|0))gp(m,Ta,Wb);else{Xb=Ms(Wb)|0;c[k>>2]=0;c[A>>2]=0;c[s>>2]=0;Yb=0;Zb=0;_b=0;$b=0;ac=1;bc=Ua;Ua=1;while(1){if(Ua){cc=ac<<1;dc=np(Zb,cc)|0;if(!dc){ec=Zb;fc=_b;gc=$b}else{hc=dc;ic=cc;v=238}}else{hc=Zb;ic=$b;v=238}if((v|0)==238){v=0;a[hc+_b>>0]=bc;ec=hc;fc=ac;gc=ic}Yb=Yb+1|0;bc=a[Ta+Yb>>0]|0;ac=fc+1|0;Ua=gc>>>0<ac>>>0;if(!(bc<<24>>24))break;else{Zb=ec;_b=fc;$b=gc}}if(Ua){$b=ac<<1;_b=np(ec,$b)|0;if(!_b){jc=ac;kc=ec;lc=fc;mc=gc}else{nc=_b;oc=$b;v=242}}else{nc=ec;oc=gc;v=242}if((v|0)==242){v=0;a[nc+fc>>0]=0;jc=fc+2|0;kc=nc;lc=ac;mc=oc}if(mc>>>0<jc>>>0){$b=jc<<1;_b=np(kc,$b)|0;if(!_b){pc=kc;qc=lc;rc=mc}else{sc=_b;tc=$b;v=245}}else{sc=kc;tc=mc;v=245}if((v|0)==245){v=0;a[sc+lc>>0]=0;pc=sc;qc=jc;rc=tc}do if(!(Ro(k,s,Wb,Xb,b)|0)){$b=c[s>>2]|0;if(!$b){uc=pc;vc=qc}else{_b=0;Zb=pc;bc=qc;Yb=rc;Ta=$b;while(1){$b=a[(c[k>>2]|0)+_b>>0]|0;w=bc+1|0;if(Yb>>>0<w>>>0){y=w<<1;da=np(Zb,y)|0;if(!da){wc=Zb;xc=bc;yc=Yb;zc=Ta}else{Ac=da;Bc=y;v=251}}else{Ac=Zb;Bc=Yb;v=251}if((v|0)==251){v=0;a[Ac+bc>>0]=$b;wc=Ac;xc=w;yc=Bc;zc=c[s>>2]|0}_b=_b+1|0;if(_b>>>0>=zc>>>0){uc=wc;vc=xc;break}else{Zb=wc;bc=xc;Yb=yc;Ta=zc}}}if(To(m,g,vc,60170,uc)|0){Cc=uc;break}c[u>>2]=c[g>>2];Cc=uc}else Cc=pc;while(0);c[A>>2]=0;c[s>>2]=0;op(c[k>>2]|0);op(Cc)}D=D+1|0;Xb=c[Ka>>2]|0;if(D>>>0>=Xb>>>0){Dc=Xb;break j}else z=Xb}if((v|0)==231){c[p>>2]=66;Dc=z;break}else if((v|0)==233){c[p>>2]=67;Dc=z;break}}else Dc=0;while(0);k:do if(c[b+20>>2]|0){if(Dc|0){Ka=c[l+72>>2]|0;x=0;do{if(!(Cs(c[Ka+(x<<2)>>2]|0,60175)|0))break k;x=x+1|0}while(x>>>0<Dc>>>0)}gp(m,60175,60183)}while(0);x=l+80|0;l:do if(c[x>>2]|0){Ka=l+84|0;z=b+24|0;D=l+88|0;s=l+92|0;A=l+96|0;C=k+8|0;r=k+4|0;La=0;while(1){Xb=c[(c[Ka>>2]|0)+(La<<2)>>2]|0;if((Ms(Xb)|0)>>>0>79){v=267;break}Wb=a[Xb>>0]|0;if(!(Wb<<24>>24)){v=269;break}ac=c[z>>2]|0;Ua=c[(c[D>>2]|0)+(La<<2)>>2]|0;Ta=c[(c[s>>2]|0)+(La<<2)>>2]|0;Yb=c[(c[A>>2]|0)+(La<<2)>>2]|0;bc=Ms(Yb)|0;Zb=0;_b=0;w=0;$b=0;y=1;da=Wb;Wb=1;while(1){if(Wb){cc=y<<1;dc=np(_b,cc)|0;if(!dc){Ec=_b;Fc=w;Gc=$b}else{Hc=dc;Ic=cc;v=273}}else{Hc=_b;Ic=$b;v=273}if((v|0)==273){v=0;a[Hc+w>>0]=da;Ec=Hc;Fc=y;Gc=Ic}Zb=Zb+1|0;da=a[Xb+Zb>>0]|0;y=Fc+1|0;Wb=Gc>>>0<y>>>0;if(!(da<<24>>24))break;else{_b=Ec;w=Fc;$b=Gc}}if(Wb){$b=y<<1;w=np(Ec,$b)|0;if(!w){Jc=y;Kc=Ec;Lc=Fc;Mc=Gc}else{Nc=w;Oc=$b;v=277}}else{Nc=Ec;Oc=Gc;v=277}if((v|0)==277){v=0;a[Nc+Fc>>0]=0;Jc=Fc+2|0;Kc=Nc;Lc=y;Mc=Oc}$b=(ac|0)!=0;w=$b&1;if(Mc>>>0<Jc>>>0){_b=Jc<<1;da=np(Kc,_b)|0;if(!da){Pc=Jc;Qc=Kc;Rc=Lc;Sc=Mc}else{Tc=da;Uc=_b;v=280}}else{Tc=Kc;Uc=Mc;v=280}if((v|0)==280){v=0;a[Tc+Lc>>0]=w;Pc=Lc+2|0;Qc=Tc;Rc=Jc;Sc=Uc}if(Sc>>>0<Pc>>>0){w=Pc<<1;_b=np(Qc,w)|0;if(!_b){Vc=Pc;Wc=Qc;Xc=Rc;Yc=Sc}else{Zc=_b;_c=w;v=283}}else{Zc=Qc;_c=Sc;v=283}if((v|0)==283){v=0;a[Zc+Rc>>0]=0;Vc=Pc+1|0;Wc=Zc;Xc=Pc;Yc=_c}w=a[Ua>>0]|0;_b=Yc>>>0<Vc>>>0;if(!(w<<24>>24)){$c=_b;ad=Vc;bd=Wc;cd=Xc;dd=Yc}else{da=0;Zb=Wc;Xb=Xc;cc=Yc;dc=Vc;ed=w;w=_b;while(1){if(w){_b=dc<<1;fd=np(Zb,_b)|0;if(!fd){gd=Zb;hd=Xb;id=cc}else{jd=fd;kd=_b;v=288}}else{jd=Zb;kd=cc;v=288}if((v|0)==288){v=0;a[jd+Xb>>0]=ed;gd=jd;hd=dc;id=kd}da=da+1|0;ed=a[Ua+da>>0]|0;_b=hd+1|0;fd=id>>>0<_b>>>0;if(!(ed<<24>>24)){$c=fd;ad=_b;bd=gd;cd=hd;dd=id;break}else{Zb=gd;Xb=hd;cc=id;dc=_b;w=fd}}}if($c){w=ad<<1;dc=np(bd,w)|0;if(!dc){ld=bd;md=cd;nd=dd}else{od=dc;pd=w;v=292}}else{od=bd;pd=dd;v=292}if((v|0)==292){v=0;a[od+cd>>0]=0;ld=od;md=ad;nd=pd}w=a[Ta>>0]|0;dc=md+1|0;cc=nd>>>0<dc>>>0;if(!(w<<24>>24)){qd=cc;rd=dc;sd=ld;td=md;ud=nd}else{Xb=0;Zb=ld;ed=md;da=nd;Ua=dc;dc=w;w=cc;while(1){if(w){cc=Ua<<1;ac=np(Zb,cc)|0;if(!ac){vd=Zb;wd=ed;xd=da}else{yd=ac;zd=cc;v=297}}else{yd=Zb;zd=da;v=297}if((v|0)==297){v=0;a[yd+ed>>0]=dc;vd=yd;wd=Ua;xd=zd}Xb=Xb+1|0;dc=a[Ta+Xb>>0]|0;cc=wd+1|0;ac=xd>>>0<cc>>>0;if(!(dc<<24>>24)){qd=ac;rd=cc;sd=vd;td=wd;ud=xd;break}else{Zb=vd;ed=wd;da=xd;Ua=cc;w=ac}}}if(qd){w=rd<<1;Ua=np(sd,w)|0;if(!Ua){Ad=sd;Bd=td;Cd=ud}else{Dd=Ua;Ed=w;v=301}}else{Dd=sd;Ed=ud;v=301}if((v|0)==301){v=0;a[Dd+td>>0]=0;Ad=Dd;Bd=rd;Cd=Ed}do if($b){c[k>>2]=0;c[C>>2]=0;c[r>>2]=0;if(Ro(k,r,Yb,bc,b)|0){Fd=Ad;break}w=c[r>>2]|0;if(!w){Gd=Ad;Hd=Bd;Id=Cd}else{Ua=0;da=Ad;ed=Bd;Zb=Cd;dc=w;while(1){w=a[(c[k>>2]|0)+Ua>>0]|0;Xb=ed+1|0;if(Zb>>>0<Xb>>>0){Ta=Xb<<1;ac=np(da,Ta)|0;if(!ac){Jd=da;Kd=ed;Ld=Zb;Md=dc}else{Nd=ac;Od=Ta;v=308}}else{Nd=da;Od=Zb;v=308}if((v|0)==308){v=0;a[Nd+ed>>0]=w;Jd=Nd;Kd=Xb;Ld=Od;Md=c[r>>2]|0}Ua=Ua+1|0;if(Ua>>>0>=Md>>>0){Gd=Jd;Hd=Kd;Id=Ld;break}else{da=Jd;ed=Kd;Zb=Ld;dc=Md}}}dc=a[Yb>>0]|0;if(!(dc<<24>>24)){Pd=Gd;Qd=Hd;v=322;break}Zb=0;ed=Gd;da=Hd;Ua=Id;Xb=dc;while(1){dc=da+1|0;if(Ua>>>0<dc>>>0){w=dc<<1;Ta=np(ed,w)|0;if(!Ta){Rd=ed;Sd=da;Td=Ua}else{Ud=Ta;Vd=w;v=314}}else{Ud=ed;Vd=Ua;v=314}if((v|0)==314){v=0;a[Ud+da>>0]=Xb;Rd=Ud;Sd=dc;Td=Vd}Zb=Zb+1|0;Xb=a[Yb+Zb>>0]|0;if(!(Xb<<24>>24)){Pd=Rd;Qd=Sd;v=322;break}else{ed=Rd;da=Sd;Ua=Td}}}else{Ua=a[Yb>>0]|0;if(!(Ua<<24>>24)){Pd=Ad;Qd=Bd;v=322;break}da=0;ed=Ad;Xb=Bd;Zb=Cd;dc=Ua;while(1){Ua=Xb+1|0;if(Zb>>>0<Ua>>>0){w=Ua<<1;Ta=np(ed,w)|0;if(!Ta){Wd=ed;Xd=Xb;Yd=Zb}else{Zd=Ta;_d=w;v=320}}else{Zd=ed;_d=Zb;v=320}if((v|0)==320){v=0;a[Zd+Xb>>0]=dc;Wd=Zd;Xd=Ua;Yd=_d}da=da+1|0;dc=a[Yb+da>>0]|0;if(!(dc<<24>>24)){Pd=Wd;Qd=Xd;v=322;break}else{ed=Wd;Xb=Xd;Zb=Yd}}}while(0);do if((v|0)==322){v=0;if(To(m,g,Qd,60192,Pd)|0){Fd=Pd;break}c[u>>2]=c[g>>2];Fd=Pd}while(0);op(Fd);La=La+1|0;if(La>>>0>=(c[x>>2]|0)>>>0)break l}if((v|0)==267){c[p>>2]=66;break}else if((v|0)==269){c[p>>2]=67;break}}while(0);x=c[l+140>>2]|0;if(x|0){La=c[l+152>>2]|0;r=x;m:do if(La|0){C=x;A=c[g>>2]|0;while(1){s=C+1|0;D=C+2|0;z=C+3|0;Ka=(d[s>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[z>>0])+12|0;Yb=Ka+A|0;if(Yb>>>0<Ka>>>0|Yb>>>0<A>>>0){$d=77;break}bc=np(c[m>>2]|0,Yb)|0;if(!bc){$d=9929;break}c[m>>2]=bc;c[g>>2]=Yb;$b=bc+A|0;if(!Ka)ae=Yb;else{Yb=0;do{a[$b+Yb>>0]=a[C+Yb>>0]|0;Yb=Yb+1|0}while((Yb|0)!=(Ka|0));ae=c[g>>2]|0}c[u>>2]=ae;C=C+((d[s>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[z>>0])+12)|0;if((C-r|0)>>>0>=La>>>0)break m;else A=ae}c[p>>2]=$d;break c}while(0);c[p>>2]=0}La=c[g>>2]|0;r=La+12|0;if(La>>>0>4294967283)break;x=np(c[m>>2]|0,r)|0;if(!x)break;c[m>>2]=x;c[g>>2]=r;r=x+La|0;a[r>>0]=0;a[r+1>>0]=0;a[r+2>>0]=0;a[r+3>>0]=0;La=r+4|0;a[La>>0]=73;a[r+5>>0]=69;a[r+6>>0]=78;a[r+7>>0]=68;x=So(La,4)|0;La=r+8|0;a[La>>0]=x>>>24;a[La+1>>0]=x>>>16;a[La+2>>0]=x>>>8;a[La+3>>0]=x;c[u>>2]=c[g>>2]}while(0);op(c[n>>2]|0);c[e>>2]=c[m>>2];c[f>>2]=c[g>>2];Ga=j;return}function ep(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;h=Ga;Ga=Ga+320|0;i=h+288|0;j=h+256|0;k=h+224|0;l=h+192|0;m=h+160|0;n=h+128|0;o=h+96|0;p=h+64|0;q=h+32|0;r=h;s=g+20|0;t=g+24|0;u=c[t>>2]|0;switch(c[s>>2]|0){case 3:case 0:{v=1;break}case 2:{v=3;break}case 4:{v=2;break}case 6:{v=4;break}default:v=0}w=B(v,u)|0;u=c[g>>2]|0;v=c[g+4>>2]|0;if(!(c[g+16>>2]|0)){g=B(u,w)|0;x=g+7|0;y=B(x>>>3,v)|0;z=y+v|0;c[e>>2]=z;A=mp(z)|0;c[b>>2]=A;if((A|0)==0?c[e>>2]|0:0){Ga=h;return}if(w>>>0<8?(z=x&-8,(g|0)!=(z|0)):0){if(y){x=np(0,y<<1)|0;if(!x)C=0;else{D=x;E=13}}else{D=0;E=13}if((E|0)==13){hp(D,f,z,g,v);ip(c[b>>2]|0,D,u,v,c[s>>2]|0,c[t>>2]|0)|0;C=D}op(C);Ga=h;return}ip(A,f,u,v,c[s>>2]|0,c[t>>2]|0)|0;Ga=h;return}A=B(w,u)|0;C=((B(A,v)|0)+7|0)>>>3;D=mp(C)|0;g=(C|0)==0|(D|0)!=0;C=g?0:9952;if(g){ap(n,o,p,q,r,u,v,w);z=c[p+28>>2]|0;c[e>>2]=z;x=mp(z)|0;c[b>>2]=x;if(!((x|0)==0?(c[e>>2]|0)!=0:0))E=19;do if((E|0)==19){ap(i,j,k,l,m,u,v,w);if(w>>>0>7){e=w>>>3;if(e|0){x=0;do{z=c[j+(x<<2)>>2]|0;if(z|0?(y=c[i+(x<<2)>>2]|0,y|0):0){F=c[28256+(x<<2)>>2]|0;G=c[28224+(x<<2)>>2]|0;H=c[28192+(x<<2)>>2]|0;I=c[28160+(x<<2)>>2]|0;J=c[m+(x<<2)>>2]|0;K=0;do{L=(B((B(K,G)|0)+F|0,u)|0)+H|0;M=B(K,y)|0;N=0;do{O=B(L+(B(N,I)|0)|0,e)|0;P=(B(N+M|0,e)|0)+J|0;Q=0;do{a[D+(P+Q)>>0]=a[f+(Q+O)>>0]|0;Q=Q+1|0}while((Q|0)!=(e|0));N=N+1|0}while((N|0)!=(y|0));K=K+1|0}while((K|0)!=(z|0))}x=x+1|0}while((x|0)!=7)}}else{x=(w|0)==0;e=0;do{z=c[i+(e<<2)>>2]|0;K=c[j+(e<<2)>>2]|0;if(K|0?(y=28256+(e<<2)|0,J=28224+(e<<2)|0,I=28192+(e<<2)|0,z|0):0){H=c[28160+(e<<2)>>2]|0;F=c[m+(e<<2)>>2]<<3;G=0;do{N=B(G,z)|0;if(!x){M=B(c[J>>2]|0,G)|0;L=(B(M+(c[y>>2]|0)|0,u)|0)+(c[I>>2]|0)|0;M=0;do{Q=(B(M+N|0,w)|0)+F|0;O=0;P=B(L+(B(M,H)|0)|0,w)|0;while(1){R=1<<(Q&7^7);if(!(1<<(P&7^7)&(d[f+(P>>>3)>>0]|0))){S=D+(Q>>>3)|0;T=S;U=(R^255)&(d[S>>0]|0)}else{S=D+(Q>>>3)|0;T=S;U=R|(d[S>>0]|0)}a[T>>0]=U;O=O+1|0;if((O|0)==(w|0))break;else{Q=Q+1|0;P=P+1|0}}M=M+1|0}while((M|0)!=(z|0))}G=G+1|0}while((G|0)!=(K|0))}e=e+1|0}while((e|0)!=7)}e=B((A+7|0)>>>3,v)|0;x=(e|0)==0;K=e<<1;if(w>>>0>=8){ip((c[b>>2]|0)+(c[p>>2]|0)|0,D+(c[q>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;ip((c[b>>2]|0)+(c[p+4>>2]|0)|0,D+(c[q+4>>2]|0)|0,c[n+4>>2]|0,c[o+4>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;ip((c[b>>2]|0)+(c[p+8>>2]|0)|0,D+(c[q+8>>2]|0)|0,c[n+8>>2]|0,c[o+8>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;ip((c[b>>2]|0)+(c[p+12>>2]|0)|0,D+(c[q+12>>2]|0)|0,c[n+12>>2]|0,c[o+12>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;ip((c[b>>2]|0)+(c[p+16>>2]|0)|0,D+(c[q+16>>2]|0)|0,c[n+16>>2]|0,c[o+16>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;ip((c[b>>2]|0)+(c[p+20>>2]|0)|0,D+(c[q+20>>2]|0)|0,c[n+20>>2]|0,c[o+20>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;ip((c[b>>2]|0)+(c[p+24>>2]|0)|0,D+(c[q+24>>2]|0)|0,c[n+24>>2]|0,c[o+24>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;break}if(!x){e=np(0,K)|0;if(!e){V=9954;W=0}else{X=e;E=48}}else{X=0;E=48}if((E|0)==48)if(g){e=X+(c[q>>2]|0)|0;G=c[n>>2]|0;z=B(G,w)|0;H=c[o>>2]|0;hp(e,D+(c[r>>2]|0)|0,z+7&-8,z,H);V=ip((c[b>>2]|0)+(c[p>>2]|0)|0,e,G,H,c[s>>2]|0,c[t>>2]|0)|0;W=X}else{V=C;W=X}op(W);if(!x){H=np(0,K)|0;if(!H){Y=9954;Z=0}else{_=H;E=56}}else{_=0;E=56}if((E|0)==56)if(!V){H=_+(c[q+4>>2]|0)|0;G=c[n+4>>2]|0;e=B(G,w)|0;z=c[o+4>>2]|0;hp(H,D+(c[r+4>>2]|0)|0,e+7&-8,e,z);Y=ip((c[b>>2]|0)+(c[p+4>>2]|0)|0,H,G,z,c[s>>2]|0,c[t>>2]|0)|0;Z=_}else{Y=V;Z=_}op(Z);if(!x){z=np(0,K)|0;if(!z){$=9954;aa=0}else{ba=z;E=60}}else{ba=0;E=60}if((E|0)==60)if(!Y){z=ba+(c[q+8>>2]|0)|0;G=c[n+8>>2]|0;H=B(G,w)|0;e=c[o+8>>2]|0;hp(z,D+(c[r+8>>2]|0)|0,H+7&-8,H,e);$=ip((c[b>>2]|0)+(c[p+8>>2]|0)|0,z,G,e,c[s>>2]|0,c[t>>2]|0)|0;aa=ba}else{$=Y;aa=ba}op(aa);if(!x){e=np(0,K)|0;if(!e){ca=9954;da=0}else{ea=e;E=64}}else{ea=0;E=64}if((E|0)==64)if(!$){e=ea+(c[q+12>>2]|0)|0;G=c[n+12>>2]|0;z=B(G,w)|0;H=c[o+12>>2]|0;hp(e,D+(c[r+12>>2]|0)|0,z+7&-8,z,H);ca=ip((c[b>>2]|0)+(c[p+12>>2]|0)|0,e,G,H,c[s>>2]|0,c[t>>2]|0)|0;da=ea}else{ca=$;da=ea}op(da);if(!x){H=np(0,K)|0;if(!H){fa=9954;ga=0}else{ha=H;E=68}}else{ha=0;E=68}if((E|0)==68)if(!ca){H=ha+(c[q+16>>2]|0)|0;G=c[n+16>>2]|0;e=B(G,w)|0;z=c[o+16>>2]|0;hp(H,D+(c[r+16>>2]|0)|0,e+7&-8,e,z);fa=ip((c[b>>2]|0)+(c[p+16>>2]|0)|0,H,G,z,c[s>>2]|0,c[t>>2]|0)|0;ga=ha}else{fa=ca;ga=ha}op(ga);if(!x){z=np(0,K)|0;if(!z){ia=9954;ja=0}else{ka=z;E=72}}else{ka=0;E=72}if((E|0)==72)if(!fa){z=ka+(c[q+20>>2]|0)|0;G=c[n+20>>2]|0;H=B(G,w)|0;e=c[o+20>>2]|0;hp(z,D+(c[r+20>>2]|0)|0,H+7&-8,H,e);ia=ip((c[b>>2]|0)+(c[p+20>>2]|0)|0,z,G,e,c[s>>2]|0,c[t>>2]|0)|0;ja=ka}else{ia=fa;ja=ka}op(ja);if(!x){x=np(0,K)|0;if(!x)la=0;else{ma=x;E=76}}else{ma=0;E=76}if((E|0)==76)if(!ia){x=ma+(c[q+24>>2]|0)|0;K=c[n+24>>2]|0;e=B(K,w)|0;G=c[o+24>>2]|0;hp(x,D+(c[r+24>>2]|0)|0,e+7&-8,e,G);ip((c[b>>2]|0)+(c[p+24>>2]|0)|0,x,K,G,c[s>>2]|0,c[t>>2]|0)|0;la=ma}else la=ma;op(la)}while(0)}op(D);Ga=h;return}function fp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;a:do switch(c[d>>2]|0){case 3:{e=d+12|0;if(!(c[e>>2]|0)){f=0;g=0}else{h=d+8|0;i=0;j=0;k=0;l=0;while(1){m=a[(c[h>>2]|0)+(i<<2|3)>>0]|0;n=k+1|0;if(l>>>0<n>>>0){o=n<<1;p=np(j,o)|0;if(!p){q=j;r=k;s=l}else{t=p;u=o;v=6}}else{t=j;u=l;v=6}if((v|0)==6){v=0;a[t+k>>0]=m;q=t;r=n;s=u}i=i+1|0;if(i>>>0>=(c[e>>2]|0)>>>0){f=q;g=r;break}else{j=q;k=r;l=s}}}break}case 0:{if(!(c[d+16>>2]|0)){f=0;g=0}else{l=d+20|0;k=c[l>>2]|0;j=np(0,2)|0;if(!j){e=c[l>>2]|0;i=np(0,2)|0;if(!i){f=0;g=0;break a}else{w=e;x=i;y=0;z=1}}else{a[j>>0]=k>>>8;w=c[l>>2]|0;x=j;y=1;z=2}a[x+y>>0]=w;f=x;g=z}break}case 2:{if(!(c[d+16>>2]|0)){f=0;g=0}else{j=d+20|0;l=c[j>>2]|0;k=np(0,2)|0;if(!k){i=c[j>>2]|0;e=np(0,2)|0;if(!e){A=0;B=0;C=0}else{D=i;E=e;F=0;G=1;v=17}}else{a[k>>0]=l>>>8;D=c[j>>2]|0;E=k;F=1;G=2;v=17}if((v|0)==17){a[E+F>>0]=D;A=E;B=G;C=2}k=d+24|0;j=(c[k>>2]|0)>>>8&255;l=B+1|0;if(C>>>0<l>>>0){e=l<<1;i=np(A,e)|0;if(!i){H=l;I=A;J=B;K=C}else{L=i;M=e;v=20}}else{L=A;M=C;v=20}if((v|0)==20){a[L+B>>0]=j;H=B+2|0;I=L;J=l;K=M}l=c[k>>2]&255;if(K>>>0<H>>>0){k=H<<1;j=np(I,k)|0;if(!j){N=H;O=I;P=J;Q=K}else{R=j;S=k;v=23}}else{R=I;S=K;v=23}if((v|0)==23){a[R+J>>0]=l;N=H+1|0;O=R;P=H;Q=S}l=d+28|0;k=(c[l>>2]|0)>>>8&255;if(Q>>>0<N>>>0){j=N<<1;e=np(O,j)|0;if(!e){T=N;U=O;V=P;W=Q}else{X=e;Y=j;v=26}}else{X=O;Y=Q;v=26}if((v|0)==26){a[X+P>>0]=k;T=N+1|0;U=X;V=N;W=Y}k=c[l>>2]&255;if(W>>>0<T>>>0){l=np(U,T<<1)|0;if(!l){f=U;g=V;break a}else Z=l}else Z=U;a[Z+V>>0]=k;f=Z;g=T}break}default:{f=0;g=0}}while(0);T=b+4|0;if(To(b,T,g,60202,f)|0){op(f);return}c[b+8>>2]=c[T>>2];op(f);return}function gp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=a[d>>0]|0;if(f<<24>>24){g=0;h=0;i=0;j=0;k=f;f=1;l=1;while(1){if(f){m=l<<1;n=np(h,m)|0;if(!n){o=h;p=i;q=j}else{r=n;s=m;t=5}}else{r=h;s=j;t=5}if((t|0)==5){t=0;a[r+i>>0]=k;o=r;p=l;q=s}g=g+1|0;k=a[d+g>>0]|0;l=p+1|0;f=q>>>0<l>>>0;if(!(k<<24>>24))break;else{h=o;i=p;j=q}}if(f){u=l;v=o;w=p;x=q;t=8}else{y=l;z=o;A=p;B=q;t=9}}else{u=1;v=0;w=0;x=0;t=8}if((t|0)==8){q=u<<1;p=np(v,q)|0;if(!p){C=v;D=w;E=x}else{y=u;z=p;A=w;B=q;t=9}}if((t|0)==9){a[z+A>>0]=0;C=z;D=y;E=B}B=a[e>>0]|0;if(!(B<<24>>24)){F=C;G=D}else{y=0;z=C;C=D;D=E;E=B;while(1){B=C+1|0;if(D>>>0<B>>>0){A=B<<1;q=np(z,A)|0;if(!q){H=z;I=C;J=D}else{K=q;L=A;t=14}}else{K=z;L=D;t=14}if((t|0)==14){t=0;a[K+C>>0]=E;H=K;I=B;J=L}y=y+1|0;E=a[e+y>>0]|0;if(!(E<<24>>24)){F=H;G=I;break}else{z=H;C=I;D=J}}}J=b+4|0;if(To(b,J,G,60197,F)|0){op(F);return}c[b+8>>2]=c[J>>2];op(F);return}function hp(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=e-f|0;if(!g)return;i=(h|0)!=0;if(!f){j=0;k=0;while(1){if(i){l=0;m=j;while(1){n=b+(m>>>3)|0;a[n>>0]=(1<<(m&7^7)^255)&(d[n>>0]|0);l=l+1|0;if((l|0)==(h|0))break;else m=m+1|0}o=j+e|0}else o=j;k=k+1|0;if((k|0)==(g|0))break;else j=o}return}o=0;j=0;k=0;while(1){m=j+f|0;l=0;n=o;p=j;while(1){q=1<<(p&7^7);if(!(1<<(n&7^7)&(d[c+(n>>>3)>>0]|0))){r=b+(p>>>3)|0;s=r;t=(q^255)&(d[r>>0]|0)}else{r=b+(p>>>3)|0;s=r;t=q|(d[r>>0]|0)}a[s>>0]=t;l=l+1|0;if((l|0)==(f|0))break;else{n=n+1|0;p=p+1|0}}o=o+f|0;if(i){p=0;n=m;while(1){l=b+(n>>>3)|0;a[l>>0]=(1<<(n&7^7)^255)&(d[l>>0]|0);p=p+1|0;if((p|0)==(h|0))break;else n=n+1|0}u=j+e|0}else u=m;k=k+1|0;if((k|0)==(g|0))break;else j=u}return}function ip(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;j=Ga;Ga=Ga+64|0;k=j;switch(h|0){case 3:case 0:{l=1;break}case 2:{l=3;break}case 4:{l=2;break}case 6:{l=4;break}default:l=0}m=B(l,i)|0;l=((B(m,f)|0)+7|0)>>>3;f=(m+7|0)>>>3;if(!m){n=31;Ga=j;return n|0}if((h|0)==3|i>>>0<8){if(!g){n=0;Ga=j;return n|0}i=l+1|0;if(!l){h=0;do{a[b+(B(h,i)|0)>>0]=0;h=h+1|0}while((h|0)!=(g|0));n=0;Ga=j;return n|0}h=0;do{m=B(h,i)|0;o=B(h,l)|0;a[b+m>>0]=0;p=b+(m+1)|0;m=e+o|0;o=0;do{a[p+o>>0]=a[m+o>>0]|0;o=o+1|0}while((o|0)!=(l|0));h=h+1|0}while((h|0)!=(g|0));n=0;Ga=j;return n|0}h=k;i=h+60|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));h=l<<1;i=k+8|0;do if(!l){c[k+4>>2]=l;c[k+16>>2]=l;c[k+28>>2]=l;c[k+40>>2]=l;q=k+56|0;r=k+44|0;s=k+32|0;t=k+20|0;u=0;v=0;w=0;x=0;y=0;z=89}else{o=np(0,h)|0;if(o){c[i>>2]=h;c[k>>2]=o;c[k+4>>2]=l;m=k+20|0;p=np(0,h)|0;if(p){c[m>>2]=h;c[k+12>>2]=p;c[k+16>>2]=l;A=k+32|0;C=np(0,h)|0;if(C){c[A>>2]=h;c[k+24>>2]=C;c[k+28>>2]=l;D=k+44|0;E=np(0,h)|0;if(E){c[D>>2]=h;c[k+36>>2]=E;c[k+40>>2]=l;F=k+56|0;G=np(0,h)|0;if(!G){H=m;I=E;J=C;K=p;L=o}else{c[F>>2]=h;c[k+48>>2]=G;q=F;r=D;s=A;t=m;u=E;v=p;w=o;x=C;y=G;z=89;break}}else{H=m;I=0;J=C;K=p;L=o}}else{H=m;I=0;J=0;K=p;L=o}}else{H=m;I=0;J=0;K=0;L=o}}else{H=k+20|0;I=0;J=0;K=0;L=0}M=9949;N=k+32|0;O=k+44|0;P=k+56|0;Q=H;R=L;S=K;T=J;U=I;V=0}while(0);if((z|0)==89){c[k+52>>2]=l;if(!g){M=0;N=s;O=r;P=q;Q=t;R=w;S=v;T=x;U=u;V=y}else{y=(l|0)==0;u=(f|0)!=0;x=(l|0)!=0;v=f>>>0<l>>>0;w=l+1|0;z=0;I=0;J=0;K=0;while(1){L=J;J=e+(B(K,l)|0)|0;H=(L|0)==0;h=z;i=I;o=0;do{m=c[k+(o*12|0)>>2]|0;a:do switch((o&255)<<24>>24){case 0:{if(!y){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}break}case 1:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 2:{if(H){if(!x)break a;p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}else{if(!x)break a;p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[L+p>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 3:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-((d[J+(p-f)>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-((d[L+p>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(((d[L+p>>0]|0)+(d[J+(p-f)>>0]|0)|0)>>>1);p=p+1|0}while((p|0)!=(l|0))}break}case 4:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[L+p>>0]|0);p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{C=p-f|0;G=a[J+C>>0]|0;E=a[L+p>>0]|0;A=a[L+C>>0]|0;C=E&255;D=A&255;F=C-D|0;W=(F|0)>-1?F:0-F|0;F=G&255;X=F-D|0;Y=(X|0)>-1?X:0-X|0;X=C+F+(B(D,-2)|0)|0;D=(X|0)>-1?X:0-X|0;a[m+p>>0]=(d[J+p>>0]|0)-(((W|0)>(Y|0)|(W|0)>(D|0)?((Y|0)>(D|0)?A:E):G)&255);p=p+1|0}while((p|0)!=(l|0))}break}default:{}}while(0);p=c[k+(o*12|0)+4>>2]|0;if(!p)Z=0;else{G=0;E=0;while(1){A=E+(d[m+G>>0]|0)|0;G=G+3|0;if(G>>>0>=p>>>0){Z=A;break}else E=A}}E=(o|0)==0|Z>>>0<h>>>0;h=E?Z:h;i=E?o:i;o=o+1|0}while((o|0)!=5);o=B(K,w)|0;a[b+o>>0]=i;if(!y){L=c[k+(i*12|0)>>2]|0;H=0;do{E=H;H=H+1|0;a[b+(H+o)>>0]=a[L+E>>0]|0}while((H|0)!=(l|0))}K=K+1|0;if((K|0)==(g|0))break;else{z=h;I=i}}M=0;N=s;O=r;P=q;Q=t;R=c[k>>2]|0;S=c[k+12>>2]|0;T=c[k+24>>2]|0;U=c[k+36>>2]|0;V=c[k+48>>2]|0}}op(R);c[Q>>2]=0;op(S);c[N>>2]=0;op(T);c[O>>2]=0;op(U);c[P>>2]=0;op(V);n=M;Ga=j;return n|0}function jp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=Ga;Ga=Ga+240|0;j=i+8|0;k=i+4|0;l=i;c[j>>2]=2;c[j+4>>2]=1;c[j+8>>2]=2048;c[j+12>>2]=1;c[j+16>>2]=0;c[j+20>>2]=1;c[j+24>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;m=j+64|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[j+48>>2]=6;c[j+52>>2]=8;c[j+56>>2]=0;c[j+60>>2]=0;c[j+44>>2]=0;c[j+36>>2]=0;c[j+40>>2]=0;m=j+80|0;c[j+144>>2]=0;n=j+160|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;n=m;o=n+48|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));a[m+48>>0]=0;m=j+192|0;n=j+216|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[n>>2]=1;c[j+184>>2]=g;c[j+188>>2]=h;dp(j,k,l,d,e,f);f=c[n>>2]|0;Xo(j+28|0);j=c[m>>2]|0;if(j|0)op(j);j=c[k>>2]|0;k=c[l>>2]|0;l=ot(b,67694)|0;if(!l){op(j);Ga=i;return f|0}Rt(j,1,k,l)|0;ut(l)|0;op(j);Ga=i;return f|0}function kp(a){a=a|0;var b=0,d=0;if(a>>>0<=1073741824?(c[516545]=(c[516545]|0)+1,(a|0)!=0):0){b=Br(a+8|0)|0;c[b>>2]=-1060065012;c[b+4>>2]=a;c[516547]=(c[516547]|0)+a;d=b+8|0}else d=0;Eu(d|0,0,a|0)|0;return d|0}function lp(a,b,c){a=a|0;b=b|0;c=c|0;Eu(a|0,b&255|0,c|0)|0;return}function mp(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;if(b>>>0<=1073741824?(c[516545]=(c[516545]|0)+1,(b|0)!=0):0){d=Br(a+24|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=b;c[516547]=(c[516547]|0)+b;e=d+8|0}else e=0;Eu(e|0,0,b|0)|0;return e|0}function np(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(a|0){c[516547]=b-(c[a+-4>>2]|0)+(c[516547]|0);d=Er(a+-8|0,b+8|0)|0;c[d+4>>2]=b;e=d+8|0;return e|0}d=b+16|0;if(d>>>0<=1073741824?(c[516545]=(c[516545]|0)+1,(d|0)!=0):0){a=Br(b+24|0)|0;c[a>>2]=-1060065012;c[a+4>>2]=d;c[516547]=(c[516547]|0)+d;f=a+8|0}else f=0;Eu(f|0,0,d|0)|0;e=f;return e|0}function op(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ga;Ga=Ga+16|0;d=b+8|0;e=b;if(c[516520]|0){Ga=b;return}if(!a){Ga=b;return}c[516546]=(c[516546]|0)+1;f=a+-8|0;g=c[f>>2]|0;h=a+-4|0;i=c[h>>2]|0;if((g|0)!=-1060065012){c[e>>2]=g;c[e+4>>2]=i;cu(60207,e)|0;wt(c[8693]|0)|0;e=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;as(1465904,60207,d)|0;vm(1465904);Ga=b;return}if(i>>>0>3){d=i>>>2;e=0;do{c[a+(e<<2)>>2]=-559038737;e=e+1|0}while(e>>>0<d>>>0)}c[516547]=(c[516547]|0)-i;c[f>>2]=11254272;c[h>>2]=13491200;Cr(f);Ga=b;return}function pp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[516545]|0;c[516545]=d+1;e=Br(100)|0;c[e>>2]=-1060065012;c[e+4>>2]=92;f=(c[516547]|0)+92|0;c[516547]=f;g=e+8|0;h=e+12|0;i=h+84|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));c[g>>2]=1;h=e+20|0;c[h>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;i=(b|0)>4?b:4;c[e+96>>2]=i;if(i>>>0>1073741824){j=0;Eu(j|0,0,i|0)|0;c[h>>2]=j;return g|0}c[516545]=d+2;if(!i){j=0;Eu(j|0,0,i|0)|0;c[h>>2]=j;return g|0}d=Br(i+8|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=i;c[516547]=f+i;j=d+8|0;Eu(j|0,0,i|0)|0;c[h>>2]=j;return g|0}function qp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a+88|0;e=c[d>>2]|0;if((e|0)>=(b|0))return 0;f=b<<1;c[d>>2]=f;b=a+12|0;a=c[b>>2]|0;if(!a){g=f+16|0;if(g>>>0<=1073741824?(c[516545]=(c[516545]|0)+1,(g|0)!=0):0){h=Br(f+24|0)|0;c[h>>2]=-1060065012;c[h+4>>2]=g;c[516547]=(c[516547]|0)+g;i=h+8|0}else i=0;Eu(i|0,0,g|0)|0;j=i;k=f}else{c[516547]=f-(c[a+-4>>2]|0)+(c[516547]|0);i=Er(a+-8|0,f+8|0)|0;c[i+4>>2]=f;j=i+8|0;k=c[d>>2]|0}c[b>>2]=j;Eu(j+e|0,0,k-e|0)|0;return 0}function rp(a){a=a|0;Gn(a);return}function sp(a){a=a|0;if(!a)return;c[a+16>>2]=0;c[a+20>>2]=0;return}function tp(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+92|0;e=c[d>>2]|0;c[d>>2]=e+1;a[b+28+e>>0]=-128;f=c[d>>2]|0;if((e|0)>55){if((f|0)<64){e=f;do{c[d>>2]=e+1;a[b+28+e>>0]=0;e=c[d>>2]|0}while((e|0)<64)}up(b);e=c[d>>2]|0;if((e|0)<56){g=e;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}}else if((f|0)<56){g=f;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}g=c[b+24>>2]|0;a[b+84>>0]=g>>>24;a[b+85>>0]=g>>>16;a[b+86>>0]=g>>>8;a[b+87>>0]=g;g=c[b+20>>2]|0;a[b+88>>0]=g>>>24;a[b+89>>0]=g>>>16;a[b+90>>0]=g>>>8;a[b+91>>0]=g;up(b);return}function up(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=Ga;Ga=Ga+320|0;e=b;f=0;do{g=f<<2;c[e+(f<<2)>>2]=(d[(g|2)+(a+28)>>0]|0)<<8|((d[(g|1)+(a+28)>>0]|0)<<16|(d[a+28+g>>0]|0)<<24)|(d[(g|3)+(a+28)>>0]|0);f=f+1|0}while((f|0)!=16);f=16;do{g=c[e+(f+-8<<2)>>2]^c[e+(f+-3<<2)>>2]^c[e+(f+-14<<2)>>2]^c[e+(f+-16<<2)>>2];c[e+(f<<2)>>2]=g<<1|g>>>31;f=f+1|0}while((f|0)!=80);f=c[a>>2]|0;g=a+4|0;h=c[g>>2]|0;i=a+8|0;j=c[i>>2]|0;k=a+12|0;l=c[k>>2]|0;m=a+16|0;n=c[m>>2]|0;o=l;p=j;q=h;r=f;s=n;t=0;while(1){u=(r<<5|r>>>27)+1518500249+s+(o&~q|p&q)+(c[e+(t<<2)>>2]|0)|0;v=q<<30|q>>>2;t=t+1|0;if((t|0)==20)break;else{w=r;x=p;p=v;r=u;s=o;q=w;o=x}}q=p;p=v;v=r;r=u;u=o;o=20;while(1){y=(r<<5|r>>>27)+1859775393+(p^v^q)+u+(c[e+(o<<2)>>2]|0)|0;z=v<<30|v>>>2;o=o+1|0;if((o|0)==40)break;else{s=r;t=p;p=z;r=y;u=q;v=s;q=t}}v=p;p=z;z=r;r=y;y=q;q=40;while(1){A=(r<<5|r>>>27)+-1894007588+y+((v|p)&z|v&p)+(c[e+(q<<2)>>2]|0)|0;B=z<<30|z>>>2;q=q+1|0;if((q|0)==60)break;else{u=r;o=p;p=B;r=A;y=v;z=u;v=o}}z=p;p=B;B=r;r=A;A=v;v=60;while(1){C=(r<<5|r>>>27)+-899497514+(p^B^z)+A+(c[e+(v<<2)>>2]|0)|0;D=B<<30|B>>>2;v=v+1|0;if((v|0)==80)break;else{y=r;q=p;p=D;r=C;A=z;B=y;z=q}}c[a>>2]=C+f;c[g>>2]=r+h;c[i>>2]=D+j;c[k>>2]=p+l;c[m>>2]=z+n;c[a+92>>2]=0;Ga=b;return}function vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=Ga;Ga=Ga+128|0;g=f;h=f+24|0;i=h+20|0;c[i>>2]=0;j=h+24|0;c[j>>2]=0;k=h+92|0;c[k>>2]=0;c[h>>2]=1732584193;l=h+4|0;c[l>>2]=-271733879;m=h+8|0;c[m>>2]=-1732584194;n=h+12|0;c[n>>2]=271733878;o=h+16|0;c[o>>2]=-1009589776;p=h+96|0;c[p>>2]=0;q=h+100|0;c[q>>2]=0;a:do if(d){r=b;s=d;t=0;u=0;while(1){v=s+-1|0;w=a[r>>0]|0;c[k>>2]=t+1;a[h+28+t>>0]=w;w=u+8|0;c[i>>2]=w;if((w|0)==0?(w=(c[j>>2]|0)+1|0,c[j>>2]=w,(w|0)==0):0)c[q>>2]=1;if((c[k>>2]|0)==64)up(h);x=(c[q>>2]|0)==0;if(!v)break;if(!x){y=0;break a}r=r+1|0;s=v;t=c[k>>2]|0;u=c[i>>2]|0}if(x)if(!(c[p>>2]|0))z=13;else y=1;else y=0}else z=13;while(0);if((z|0)==13){tp(h);c[p>>2]=1;y=1}p=c[l>>2]|0;l=c[m>>2]|0;m=c[n>>2]|0;n=c[o>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=p;c[g+8>>2]=l;c[g+12>>2]=m;c[g+16>>2]=n;as(e,60229,g)|0;Ga=f;return y|0}function wp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=b+f|0;i=e+g|0;j=i+-12|0;if(!g){if((f|0)!=1){k=-1;return k|0}k=((a[b>>0]|0)!=0)<<31>>31;return k|0}f=i+-8|0;g=h+-8|0;l=h+-6|0;m=i+-5|0;n=b;o=e;while(1){p=o;q=n+1|0;r=d[n>>0]|0;s=r>>>4;if((s|0)==15)if(q>>>0<h>>>0){t=15;u=q;while(1){v=u+1|0;w=a[u>>0]|0;x=t+(w&255)|0;if(w<<24>>24==-1&v>>>0<h>>>0){t=x;u=v}else{y=x;z=v;break}}}else{y=15;z=q}else{y=s;z=q}A=o+y|0;B=z+y|0;if(A>>>0>j>>>0|B>>>0>g>>>0){C=10;break}u=o+8|0;t=(A>>>0>u>>>0?A:u)+-1+(0-p)&-8;v=o;x=z;while(1){w=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[v>>0]=w;a[v+1>>0]=w>>8;a[v+2>>0]=w>>16;a[v+3>>0]=w>>24;w=v+4|0;D=x+4|0;E=d[D>>0]|d[D+1>>0]<<8|d[D+2>>0]<<16|d[D+3>>0]<<24;a[w>>0]=E;a[w+1>>0]=E>>8;a[w+2>>0]=E>>16;a[w+3>>0]=E>>24;v=v+8|0;if(v>>>0>=A>>>0)break;else x=x+8|0}x=z+8+t+(A-(u+t))|0;v=d[x>>0]|d[x+1>>0]<<8;p=A+(0-(v&65535))|0;q=x+2|0;if(p>>>0<e>>>0){F=q;break}x=r&15;a:do if((x|0)==15){s=15;E=q;while(1){if(E>>>0>=l>>>0){G=s;H=E;break a}w=E+1|0;D=a[E>>0]|0;I=s+(D&255)|0;if(D<<24>>24==-1){s=I;E=w}else{G=I;H=w;break}}}else{G=x;H=q}while(0);if((v&65535)<4){a[A>>0]=a[p>>0]|0;a[A+1>>0]=a[p+1>>0]|0;a[A+2>>0]=a[p+2>>0]|0;a[A+3>>0]=a[p+3>>0]|0;q=A+4|0;x=p+4|0;r=q;t=x+(0-(c[28288+(r-x<<2)>>2]|0))|0;x=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;a[q>>0]=x;a[q+1>>0]=x>>8;a[q+2>>0]=x>>16;a[q+3>>0]=x>>24;J=t;K=q;L=r}else{r=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[A>>0]=r;a[A+1>>0]=r>>8;a[A+2>>0]=r>>16;a[A+3>>0]=r>>24;r=A+4|0;J=p+4|0;K=r;L=r}r=A+4+G|0;if(r>>>0>f>>>0){if(r>>>0>m>>>0){F=H;break}q=A+12|0;t=(f>>>0>q>>>0?f:q)+-1+(0-L)&-8;x=J;u=K;while(1){E=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[u>>0]=E;a[u+1>>0]=E>>8;a[u+2>>0]=E>>16;a[u+3>>0]=E>>24;E=u+4|0;s=x+4|0;w=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;a[E>>0]=w;a[E+1>>0]=w>>8;a[E+2>>0]=w>>16;a[E+3>>0]=w>>24;u=u+8|0;if(u>>>0>=f>>>0)break;else x=x+8|0}x=q+t|0;if(x>>>0<r>>>0){u=J+8+t|0;p=x;while(1){a[p>>0]=a[u>>0]|0;p=p+1|0;if((p|0)==(r|0))break;else u=u+1|0}}}else{u=J;p=K;while(1){t=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;a[p>>0]=t;a[p+1>>0]=t>>8;a[p+2>>0]=t>>16;a[p+3>>0]=t>>24;t=p+4|0;q=u+4|0;x=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;a[t>>0]=x;a[t+1>>0]=x>>8;a[t+2>>0]=x>>16;a[t+3>>0]=x>>24;p=p+8|0;if(p>>>0>=r>>>0)break;else u=u+8|0}}n=H;o=r}if((C|0)==10)if(A>>>0>i>>>0|(B|0)!=(h|0))F=z;else{Du(o|0,z|0,y|0)|0;k=A-e|0;return k|0}k=b+-1-F|0;return k|0}function xp(a,b,d){a=a|0;b=b|0;d=d|0;if(!d)return;if(c[515689]|c[515687]|0){Eu(b|0,0,d|0)|0;return}if((c[515702]|0)==(c[515700]|0)?(c[515703]|0)==(c[515701]|0):0){yp(0,b,d);return}if((d|0)<=0)return;Eu(b|0,0,d|0)|0;return}function yp(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;if(ka(24)|0){Eu(d|0,0,e|0)|0;return}a=c[515688]|0;c[515688]=a+1;if((a|0)>2){Eu(d|0,0,e|0)|0;return}c[694804]=1;a=(e|0)/2|0;f=(c[515701]|0)==2?(e|0)/4|0:a;g=(c[515700]|0)==44100?(f|0)/2|0:f;f=(c[8689]|0)==-1;h=Iq()|0;if(!f){f=(h-(c[8689]|0)|0)>500;c[8689]=Iq()|0;if(f){if((g|0)<=0)return;Eu(d|0,0,g<<1|0)|0;return}}else c[8689]=h;c[516553]=0;zp(2591824,g);zp(2603536,g);zp(2615248,g);zp(2626960,g);zp(2638672,g);zp(2650384,g);zp(2662096,g);zp(2673808,g);zp(2685520,g);zp(2697232,g);zp(2708944,g);zp(2720656,g);zp(2732368,g);zp(2744080,g);zp(2755792,g);zp(2767504,g);if(c[516553]|0)c[515695]=(c[515695]|0)+1;if(c[515989]|0){if(c[650012]|0)Eu(2638672,0,e|0)|0;if(c[652940]|0)Eu(2650384,0,e|0)|0;if(c[655868]|0)Eu(2662096,0,e|0)|0;if(c[658796]|0)Eu(2673808,0,e|0)|0}e=(g|0)>0;if(e){h=0;do{f=h;h=h+1|0;i=0;do{j=2591824+(f*11712|0)+(i<<1)|0;k=(b[2591824+(h*11712|0)+(i<<1)>>1]|0)+(b[j>>1]|0)|0;if((k|0)<=24575)if((k|0)<-24575)l=((k+24576|0)/5|0)+-24576|0;else l=k;else l=((k+-24576|0)/5|0)+24576|0;b[j>>1]=l;i=i+1|0}while((i|0)!=(g|0))}while(h>>>0<16);h=0;do{l=2591824+(h<<1)|0;i=(b[2615248+(h<<1)>>1]|0)+(b[l>>1]|0)|0;if((i|0)<=24575)if((i|0)<-24575)m=((i+24576|0)/5|0)+-24576|0;else m=i;else m=((i+-24576|0)/5|0)+24576|0;b[l>>1]=m;h=h+1|0}while((h|0)!=(g|0));h=0;do{m=2615248+(h<<1)|0;l=(b[2638672+(h<<1)>>1]|0)+(b[m>>1]|0)|0;if((l|0)<=24575)if((l|0)<-24575)n=((l+24576|0)/5|0)+-24576|0;else n=l;else n=((l+-24576|0)/5|0)+24576|0;b[m>>1]=n;h=h+1|0}while((h|0)!=(g|0));h=0;do{n=2638672+(h<<1)|0;m=(b[2662096+(h<<1)>>1]|0)+(b[n>>1]|0)|0;if((m|0)<=24575)if((m|0)<-24575)o=((m+24576|0)/5|0)+-24576|0;else o=m;else o=((m+-24576|0)/5|0)+24576|0;b[n>>1]=o;h=h+1|0}while((h|0)!=(g|0));h=0;do{o=2662096+(h<<1)|0;n=(b[2685520+(h<<1)>>1]|0)+(b[o>>1]|0)|0;if((n|0)<=24575)if((n|0)<-24575)p=((n+24576|0)/5|0)+-24576|0;else p=n;else p=((n+-24576|0)/5|0)+24576|0;b[o>>1]=p;h=h+1|0}while((h|0)!=(g|0));h=0;do{p=2685520+(h<<1)|0;o=(b[2708944+(h<<1)>>1]|0)+(b[p>>1]|0)|0;if((o|0)<=24575)if((o|0)<-24575)q=((o+24576|0)/5|0)+-24576|0;else q=o;else q=((o+-24576|0)/5|0)+24576|0;b[p>>1]=q;h=h+1|0}while((h|0)!=(g|0));h=0;do{q=2708944+(h<<1)|0;p=(b[2732368+(h<<1)>>1]|0)+(b[q>>1]|0)|0;if((p|0)<=24575)if((p|0)<-24575)r=((p+24576|0)/5|0)+-24576|0;else r=p;else r=((p+-24576|0)/5|0)+24576|0;b[q>>1]=r;h=h+1|0}while((h|0)!=(g|0));h=0;do{r=2732368+(h<<1)|0;q=(b[2755792+(h<<1)>>1]|0)+(b[r>>1]|0)|0;if((q|0)<=24575)if((q|0)<-24575)s=((q+24576|0)/5|0)+-24576|0;else s=q;else s=((q+-24576|0)/5|0)+24576|0;b[r>>1]=s;h=h+1|0}while((h|0)!=(g|0));h=0;do{s=2755792+(h<<1)|0;r=(b[2779216+(h<<1)>>1]|0)+(b[s>>1]|0)|0;if((r|0)<=24575)if((r|0)<-24575)t=((r+24576|0)/5|0)+-24576|0;else t=r;else t=((r+-24576|0)/5|0)+24576|0;b[s>>1]=t;h=h+1|0}while((h|0)!=(g|0));h=0;do{t=2591824+(h<<1)|0;s=(b[2638672+(h<<1)>>1]|0)+(b[t>>1]|0)|0;if((s|0)<=24575)if((s|0)<-24575)u=((s+24576|0)/5|0)+-24576|0;else u=s;else u=((s+-24576|0)/5|0)+24576|0;b[t>>1]=u;h=h+1|0}while((h|0)!=(g|0));h=0;do{u=2638672+(h<<1)|0;t=(b[2685520+(h<<1)>>1]|0)+(b[u>>1]|0)|0;if((t|0)<=24575)if((t|0)<-24575)v=((t+24576|0)/5|0)+-24576|0;else v=t;else v=((t+-24576|0)/5|0)+24576|0;b[u>>1]=v;h=h+1|0}while((h|0)!=(g|0));h=0;do{v=2685520+(h<<1)|0;u=(b[2732368+(h<<1)>>1]|0)+(b[v>>1]|0)|0;if((u|0)<=24575)if((u|0)<-24575)w=((u+24576|0)/5|0)+-24576|0;else w=u;else w=((u+-24576|0)/5|0)+24576|0;b[v>>1]=w;h=h+1|0}while((h|0)!=(g|0));h=0;do{w=2732368+(h<<1)|0;v=(b[2779216+(h<<1)>>1]|0)+(b[w>>1]|0)|0;if((v|0)<=24575)if((v|0)<-24575)x=((v+24576|0)/5|0)+-24576|0;else x=v;else x=((v+-24576|0)/5|0)+24576|0;b[w>>1]=x;h=h+1|0}while((h|0)!=(g|0));h=0;do{x=2591824+(h<<1)|0;w=(b[2685520+(h<<1)>>1]|0)+(b[x>>1]|0)|0;if((w|0)<=24575)if((w|0)<-24575)y=((w+24576|0)/5|0)+-24576|0;else y=w;else y=((w+-24576|0)/5|0)+24576|0;b[x>>1]=y;h=h+1|0}while((h|0)!=(g|0));h=0;do{y=2685520+(h<<1)|0;x=(b[2779216+(h<<1)>>1]|0)+(b[y>>1]|0)|0;if((x|0)<=24575)if((x|0)<-24575)z=((x+24576|0)/5|0)+-24576|0;else z=x;else z=((x+-24576|0)/5|0)+24576|0;b[y>>1]=z;h=h+1|0}while((h|0)!=(g|0))}h=c[515970]|0;if((h|0)!=256&e){z=0;do{y=2591824+(z<<1)|0;b[y>>1]=(B(h,b[y>>1]|0)|0)>>>8;z=z+1|0}while((z|0)!=(g|0))}if(!((c[647955]|0)==0|(c[516554]|0)==0)?(z=c[516552]|0,z|0):0){h=(B(c[515971]|0,z)|0)>>16;if(0)Ar(2066216,1478320,g);if(e){z=0;do{y=1478320+(z<<1)|0;b[y>>1]=(B(h,b[y>>1]|0)|0)>>>8;z=z+1|0}while((z|0)!=(g|0));z=0;do{h=2591824+(z<<1)|0;y=(b[1478320+(z<<1)>>1]|0)+(b[h>>1]|0)|0;if((y|0)<=24575)if((y|0)<-24575)A=((y+24576|0)/5|0)+-24576|0;else A=y;else A=((y+-24576|0)/5|0)+24576|0;b[h>>1]=A;z=z+1|0}while((z|0)!=(g|0))}}z=c[515700]|0;A=c[515701]|0;if((z|0)==22050&(A|0)==1){if(e){h=0;do{b[d+(h<<1)>>1]=b[2591824+(h<<1)>>1]|0;h=h+1|0}while((h|0)!=(g|0));if((c[515694]|0)!=0&e){h=0;do{An(b[d+(h<<1)>>1]|0,0);h=h+1|0}while((h|0)!=(g|0))}}}else if((z|0)==44100&(A|0)==2?(A=g<<2,e):0){e=0;do{b[d+(e<<1)>>1]=b[2591824+(e>>>2<<1)>>1]|0;e=e+1|0}while((e|0)<(A|0))}A=c[694805]|0;if(A|0)Pa[A&7](d,a);c[694804]=0;return}function zp(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;lp(a,0,8192);if(1<<c[a+8236>>2]&c[732871]){Ap(a,((d|0)/2|0)+1|0);if((d|0)>0){e=d;do{f=e;e=e+-1|0;b[a+(e<<1)>>1]=b[a+(((e|0)/2|0)<<1)>>1]|0}while((f|0)>1)}}else Ap(a,d);e=a+8208|0;f=c[e>>2]|0;if(!((f|0)!=0&(d|0)>0))return;g=c[f>>2]|0;h=a+8216|0;i=f+28|0;j=f+20|0;f=~d;k=~g;l=0;m=c[h>>2]|0;while(1){n=d-l|0;o=g-m|0;p=(n|0)<(o|0)?n:o;if((p|0)<1)break;o=c[j>>2]|0;n=l+f|0;q=m+k|0;r=(n|0)>(q|0)?n:q;q=l+-1|0;n=0;s=l;t=m;while(1){b[a+(s<<1)>>1]=b[o+(t<<1)>>1]|0;n=n+1|0;if((n|0)>=(p|0))break;else{s=s+1|0;t=t+1|0}}t=m+-1-r|0;l=q-r|0;c[h>>2]=t;s=(c[i>>2]|0)==0|(t|0)<(g|0);c[h>>2]=s?t:0;if((l|0)>=(d|0)){u=14;break}else m=s?t:0}if((u|0)==14)return;if((g|0)>(m|0))return;c[a+11544>>2]=0;c[e>>2]=0;c[a+8232>>2]=0;e=a+8220|0;c[e>>2]=0;c[e+4>>2]=0;return}function Ap(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((d|0)<=0)return;f=a+11540|0;g=a+8240|0;h=a+8604|0;i=a+8236|0;j=a+11536|0;k=a;l=d;d=b[f>>1]|0;while(1){m=d<<16>>16;if(d<<16>>16<183){n=183-m|0;o=(n|0)<(l|0)?n:l;Du(k|0,a+8240+(m<<1)|0,o<<1|0)|0;b[f>>1]=o+(e[f>>1]|0);m=l-o|0;if((m|0)>0){p=k+(o<<1)|0;q=m}else{r=19;break}}else{p=k;q=l}m=b[h>>1]|0;if(!(1<<c[i>>2]&c[732872]))Bp(a,g);else{Du(a+8606+(((c[j>>2]|0)%8|0)*366|0)|0,g|0,366)|0;c[j>>2]=((c[j>>2]|0)+1|0)%8|0;Bp(a,g);o=((c[j>>2]|0)+4|0)%8|0;n=0;do{s=a+8240+(n<<1)|0;b[s>>1]=((b[a+8606+(o*366|0)+(n<<1)>>1]<<1)+((b[s>>1]|0)*3|0)|0)/4|0;n=n+1|0}while((n|0)!=183)}n=1<<c[i>>2];if(n&c[732873]|0){o=0;do{s=a+8240+(o<<1)|0;t=b[s>>1]|0;u=t<<16>>16;if(t<<16>>16>-1)v=u&-4096;else v=0-((0-(u<<16)|0)>>>16&61440)|0;b[s>>1]=v;o=o+1|0}while((o|0)!=183)}if(c[732874]&n|0){o=(((m<<16>>16)*7|0)+(b[g>>1]|0)|0)/8|0;b[g>>1]=o;s=1;u=o;do{o=a+8240+(s<<1)|0;u=(((u<<16>>16)*7|0)+(b[o>>1]|0)|0)/8|0;b[o>>1]=u;s=s+1|0}while((s|0)!=183)}b[f>>1]=0;if((q|0)>0){k=p;l=q;d=0}else{r=19;break}}if((r|0)==19)return}function Bp(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=Ga;Ga=Ga+80|0;f=e;Eu(d|0,0,366)|0;g=a+8224|0;h=c[g>>2]|0;i=(h|0)!=0;if(i){j=c[h+8>>2]|0;k=(j|0)>1?j:1;j=a+8228|0;l=c[j>>2]|0;m=(l|0)/(k|0)|0;n=l-(B(m,k)|0)|0;l=a+11552|0;o=f;p=l;q=o+72|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));if(!n){c[a+11628>>2]=c[a+11604>>2];c[a+11624>>2]=c[a+11600>>2];c[a+11632>>2]=c[a+11596>>2]}Dp(a,l);Cp(l,d,183);o=1486512;q=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(q|0));Cp(f,1486512,64);f=0;do{o=d+(f<<1)|0;q=B(f,b[o>>1]|0)|0;b[o>>1]=((B(64-f|0,b[1486512+(f<<1)>>1]|0)|0)+q|0)/64|0;f=f+1|0}while((f|0)!=64);f=a+11704|0;r=k;s=f;t=j;u=c[f>>2]|0;v=m}else{m=a+8228|0;f=c[m>>2]|0;Eu(d|0,0,366)|0;j=a+11552|0;k=a+11580|0;if(c[a+11560>>2]|0?c[k>>2]|0:0){Cp(j,d,64);j=0;do{q=d+(j<<1)|0;b[q>>1]=(B(64-j|0,b[q>>1]|0)|0)/64|0;j=j+1|0}while((j|0)!=64)}c[k>>2]=0;k=a+11704|0;c[k>>2]=0;r=1;s=k;t=m;u=0;v=f}f=(c[t>>2]|0)+1|0;c[t>>2]=f;m=a+11708|0;k=(c[m>>2]|0)+-1|0;c[m>>2]=k;c[s>>2]=u+1;if((i?c[a+8232>>2]|0:0)?(i=c[h+12>>2]|0,u=c[h+16>>2]|0,!((i|0)>=(u|0)|(f|0)<(B(u,r)|0))):0)c[t>>2]=B(i,r)|0;a:do if(c[g>>2]|0?(c[a+11544>>2]|0)==0:0){if(!k){c[g>>2]=0;break}if((c[h+16>>2]|0)<=(c[h+12>>2]|0)){do if((v|0)<32){r=0;i=v;while(1){r=(c[h+20+(i*20|0)+8>>2]|0)>0?1:r;if((i|0)>=31)break;else i=i+1|0}if((v|0)<31)if((r|0)==0?(c[h+20+(v*20|0)+12>>2]|0)!=1:0)break;else break a;else if(!r)break;else break a}while(0);c[g>>2]=0}}while(0);v=a+8220|0;h=c[v>>2]|0;if(!h){Ga=e;return}i=a+11544|0;if(!((k|0)==0&(c[i>>2]|0)!=0)){Ga=e;return}k=a+11548|0;u=c[k>>2]|0;if(u>>>0>=64){Ga=e;return}c[516553]=1;f=c[h+43276+(u<<2)>>2]|0;do if(!(f&4)){b:do if(f&2){if((u|0)<=0){c[515696]=u;w=0;break}if(!(f&1)){s=u;while(1){j=s+-1|0;c[k>>2]=j;if((s|0)<=1){x=j;y=41;break b}if(!(c[h+43276+(j<<2)>>2]&1))s=j;else{x=j;y=41;break}}}else{x=u;y=41}}else{s=u+1|0;c[k>>2]=s;x=s;y=41}while(0);if((y|0)==41){c[515696]=x;if(x>>>0>63)break;else w=x}s=h+42252+(w<<4)|0;if((((c[s>>2]|0)>63?(c[h+42252+(w<<4)+4>>2]|0)>63:0)?(c[h+42252+(w<<4)+8>>2]|0)>63:0)?(c[h+42252+(w<<4)+12>>2]|0)>63:0){c[i>>2]=0;c[a+8208>>2]=0;c[a+8232>>2]=0;r=v;c[r>>2]=0;c[r+4>>2]=0;Ga=e;return}r=c[h+42252+(w<<4)+(c[a+8236>>2]<<2)>>2]|0;if((r|0)>63)z=0;else z=h+12+(((r|0)>0?r:0)*660|0)|0;c[g>>2]=z;c[t>>2]=0;b[a+11540>>1]=183;c[m>>2]=Ep(h,s)|0;Ga=e;return}else{c[k>>2]=-1;c[515696]=-1}while(0);c[i>>2]=0;c[a+8208>>2]=0;c[a+8232>>2]=0;a=v;c[a>>2]=0;c[a+4>>2]=0;Ga=e;return}function Cp(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;f=c[a+28>>2]|0;g=a+4|0;if(!f){c[g>>2]=0;Eu(d|0,0,e<<1|0)|0;return}h=c[g>>2]|0;i=c[a+8>>2]|0;j=(f*3|0)/2|0;f=c[a>>2]|0;k=(e|0)>0;if((f|0)==0&k){l=h;m=0;while(1){b[d+(m<<1)>>1]=(B((((l&32768|0)==0?(l*3|0)+-49152|0:(49152-l|0)*3|0)|0)/4|0,j)|0)/2048|0;n=l+i&65535;m=m+1|0;if((m|0)==(e|0)){o=n;break}else l=n}}else o=h;if((f|0)==1&k){h=0;l=o;while(1){m=(l|0)>57343;b[d+(h<<1)>>1]=(B((((m?65535-l|0:l)*24572|0)/((m?8192:57344)|0)|0)+-12286|0,j)|0)/2048|0;m=l+i&65535;h=h+1|0;if((h|0)==(e|0)){p=m;break}else l=m}}else p=o;if((f|0)==2&k){o=0;l=p;while(1){b[d+(o<<1)>>1]=(B((l+-32768|0)/4|0,j)|0)/2048|0;h=l+i&65535;o=o+1|0;if((o|0)==(e|0)){q=h;break}else l=h}}else q=p;if((f|0)==3&k){p=0;l=q;while(1){b[d+(p<<1)>>1]=(B((l&32768|0)==0?-6143:6143,j)|0)/2048|0;o=l+i&65535;p=p+1|0;if((p|0)==(e|0)){r=o;break}else l=o}}else r=q;if((f|0)==4&k){q=0;l=r;while(1){b[d+(q<<1)>>1]=(B((l|0)>45055?6143:-6143,j)|0)/2048|0;p=l+i&65535;q=q+1|0;if((q|0)==(e|0)){s=p;break}else l=p}}else s=r;if((f|0)==5&k){r=s;l=0;while(1){q=(r&16384|0)!=0;if(!(r&32768))t=q?32768-r|0:r;else t=((q?65536-r|0:r+-32768|0)<<1|0)/3|0;b[d+(l<<1)>>1]=(B(t+-8192|0,j)|0)/2048|0;q=r+i&65535;l=l+1|0;if((l|0)==(e|0)){u=q;break}else r=q}}else u=s;if((f|0)==6){if((i|0)>78)v=(i<<3)+1120|0;else v=(B(79-i|0,-60)|0)+1752|0;s=(v|0)>0?v:0;if(k){v=a+24|0;r=(i+500|0)/3|0;l=s>>>1;t=a+20|0;q=a+40|0;p=a+36|0;o=u;h=0;do{m=c[v>>2]&1^1;c[v>>2]=m;if(m|0){m=(io(s)|0)-l|0;c[t>>2]=m+(c[t>>2]|0)}if(((B(o+101|0,o+317|0)|0)&8191|0)<(r|0)){m=(io(12286)|0)+-6143|0;n=(B(m,c[q>>2]|0)|0)/1792|0;m=n+(c[t>>2]|0)|0;c[t>>2]=m;w=m}else w=c[t>>2]|0;m=c[p>>2]|0;n=(2048/(((m|0)<48?64:m+16|0)|0)|0)+48|0;m=(w|0)<6143?w:6143;c[t>>2]=(m|0)>-6143?m:-6143;b[d+(h<<1)>>1]=(B(B(w>>6,j)|0,(n|0)>64?n:64)|0)/2048|0;o=o+i&65535;h=h+1|0}while((h|0)!=(e|0));x=o;y=c[a>>2]|0;z=37}else A=u}else{x=u;y=f;z=37}if((z|0)==37)if((y|0)==7){y=a+12|0;a=c[y>>2]|0;if(k){k=B(i,e)|0;z=a;f=x;u=0;while(1){o=(z*127|0)/128|0;h=o>>>2&16383;b[d+(u<<1)>>1]=(B((((f&32768|0)==0?f:65535-f|0)>>1)+-16384+((o&32768|0)==0?h:h^16383)|0,j)|0)/2048|0;f=f+i&65535;u=u+1|0;if((u|0)==(e|0))break;else z=z+i|0}C=a+k|0;D=f}else{C=a;D=x}c[y>>2]=C;A=D}else A=x;c[g>>2]=A;return}function Dp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;e=c[b+8224>>2]|0;if(e|0?(f=c[e+8>>2]|0,g=(f|0)>1?f:1,h=b+8228|0,i=c[h>>2]|0,j=(i|0)/(g|0)|0,k=i-(B(j,g)|0)|0,j>>>0<=31):0){l=(f|0)<9;f=e+20+(j*20|0)|0;m=c[e+20+(j*20|0)+4>>2]|0;c[d>>2]=m;n=c[e+20+(j*20|0)+8>>2]|0;o=n<<8;p=d+28|0;c[p>>2]=o;q=c[f>>2]|0;r=q<<16;s=d+32|0;c[s>>2]=r;c[d+48>>2]=q;c[d+52>>2]=m;c[d+44>>2]=n;n=e+20+(j*20|0)+12|0;t=c[n>>2]|0;switch(t|0){case 1:{if((j|0)>0){u=c[b+11624>>2]|0;v=c[b+11632>>2]<<8}else{u=24;v=o}w=g-k|0;x=((B(w<<16,u)|0)+(B(r,k)|0)|0)/(g|0)|0;c[s>>2]=x;u=((B(v,w)|0)+(B(o,k)|0)|0)/(g|0)|0;c[p>>2]=u;y=x;z=u;A=0;break}case 4:{u=(B(o,k)|0)/(g|0)|0;c[p>>2]=u;y=r;z=u;A=1;break}case 5:{u=(B(o,g-k|0)|0)/(g|0)|0;c[p>>2]=u;y=r;z=u;A=0;break}case 6:{u=c[e+20+(((((i|0)/((l?2:4)|0)|0|0)%4|0)+(j&28)|0)*20|0)>>2]<<16;c[s>>2]=u;y=u;z=o;A=0;break}case 7:{u=c[e+20+(((((i|0)/((l?4:8)|0)|0|0)%4|0)+(j&28)|0)*20|0)>>2]<<16;c[s>>2]=u;y=u;z=o;A=0;break}default:{y=r;z=o;A=0}}c[d+36>>2]=q;c[d+40>>2]=z;z=d+56|0;c[z>>2]=0;o=e+20+(j*20|0)+16|0;if(!(c[o>>2]|0)){c[b+11704>>2]=0;C=y}else{do if(!k){y=(t|0)!=1&((j|0)==0?1:(q|0)!=(c[b+11624>>2]|0));e=(t|0)==3;if(!(y&(e^1)|(A|e&(y^1)))?(m|0)==(c[b+11628>>2]|0):0)break;c[b+11704>>2]=0}while(0);Fp(b,f,d);C=c[s>>2]|0}s=C&65535;f=C>>16;m=((f+48|0)/12|0)+-4|0;if((C|0)>-1)D=f;else D=12-((0-f|0)%12|0)|0;f=(D|0)%12|0;D=B(c[28320+(f<<2)>>2]|0,65536-s|0)|0;A=((B(c[28320+(f+1<<2)>>2]|0,s)|0)+D|0)/22050|0;if((C|0)<2359296){C=A;D=m;while(1){s=D+1|0;f=(C|0)/2|0;if((D|0)<2){C=f;D=s}else{E=s;F=f;break}}}else{E=m;F=A}if((E|0)>3){A=F;m=E;while(1){E=A<<1;if((m|0)>4){A=E;m=m+-1|0}else{G=E;break}}}else G=F;F=(G|0)<32768?G:32768;G=(F|0)>8?F:8;F=d+8|0;c[F>>2]=G;m=c[n>>2]|0;n=c[z>>2]|0;z=(n|0)==2;a:do if((m|0)==2)if(z)switch((c[h>>2]|0)>>>1&7){case 1:{c[F>>2]=(G*130|0)>>>7;break a;break}case 2:{c[F>>2]=(G*132|0)>>>7;break a;break}case 3:{c[F>>2]=(G*130|0)>>>7;break a;break}case 5:{c[F>>2]=(G*126|0)>>>7;break a;break}case 6:{c[F>>2]=(G*124|0)>>>7;break a;break}case 7:{c[F>>2]=(G*126|0)>>>7;break a;break}default:break a}else H=37;else if(z)H=37;else{I=G;H=44}while(0);b:do if((H|0)==37)switch((c[h>>2]|0)>>>1&7){case 1:{z=(G*129|0)>>>7;c[F>>2]=z;I=z;H=44;break b;break}case 2:{z=(G*130|0)>>>7;c[F>>2]=z;I=z;H=44;break b;break}case 3:{z=(G*129|0)>>>7;c[F>>2]=z;I=z;H=44;break b;break}case 5:{z=(G*127|0)>>>7;c[F>>2]=z;I=z;H=44;break b;break}case 6:{z=(G*126|0)>>>7;c[F>>2]=z;I=z;H=44;break b;break}case 7:{z=(G*127|0)>>>7;c[F>>2]=z;I=z;H=44;break b;break}default:{I=G;H=44;break b}}while(0);if((H|0)==44){if((m|0)==3&(c[o>>2]|0)==0){o=(B(I,g-k|0)|0)/(g|0)|0;c[F>>2]=o;J=o}else J=I;if((n|0)==3)c[F>>2]=(B(c[d+60>>2]|0,J)|0)/256|0}if(c[b+11544>>2]|0){J=(B(c[516552]>>8,c[p>>2]|0)|0)/256|0;c[p>>2]=(B(J,c[515971]|0)|0)/256|0}J=d+64|0;c[J>>2]=0;p=d+68|0;c[p>>2]=0;F=c[b+8236>>2]|0;b=1<<F;if(!(b&c[732875]))K=0;else{n=a[2933964+(F+24404)>>0]&15;c[J>>2]=n;K=n}if(c[732876]&b|0)c[J>>2]=K+(a[2933964+(F+24408)>>0]<<4&255);if(!(c[732877]&b))L=0;else{K=a[2933964+(F+24404)>>0]<<1&30;c[p>>2]=K;L=K}if(!(c[732878]&b))return;c[p>>2]=L+(a[2933964+(F+24408)>>0]<<3&120);return}c[d+28>>2]=0;c[d>>2]=0;c[d+8>>2]=0;return}function Ep(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=c[b>>2]|0;e=d>>>0<64;if(e?(c[a+12+(d*660|0)+16>>2]|0)<=(c[a+12+(d*660|0)+12>>2]|0):0)f=d;else g=4;do if((g|0)==4){h=c[b+4>>2]|0;i=h>>>0<64;if(i?(c[a+12+(h*660|0)+16>>2]|0)<=(c[a+12+(h*660|0)+12>>2]|0):0){f=h;break}j=c[b+8>>2]|0;k=j>>>0<64;if(k?(c[a+12+(j*660|0)+16>>2]|0)<=(c[a+12+(j*660|0)+12>>2]|0):0){f=j;break}l=c[b+12>>2]|0;m=l>>>0<64;if(m?(c[a+12+(l*660|0)+16>>2]|0)<=(c[a+12+(l*660|0)+12>>2]|0):0){f=l;break}if(e){n=c[a+12+(d*660|0)+8>>2]|0;o=((n|0)>1?n:1)<<5}else o=0;if(i){i=c[a+12+(h*660|0)+8>>2]|0;h=((i|0)>1?i:1)<<5;p=(o|0)>(h|0)?o:h}else p=o;if(k){k=c[a+12+(j*660|0)+8>>2]|0;j=((k|0)>1?k:1)<<5;q=(p|0)>(j|0)?p:j}else q=p;if(!m){r=q;return r|0}m=c[a+12+(l*660|0)+8>>2]|0;l=((m|0)>1?m:1)<<5;r=(q|0)>(l|0)?q:l;return r|0}while(0);q=c[a+12+(f*660|0)+8>>2]|0;r=(q|0)<1?32:q<<5;return r|0}function Fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[a+8220>>2]|0;if(!e)return;f=c[b+4>>2]|0;b=(f|0)<7?f:7;f=(b|0)>0?b:0;b=c[e+12+(f*660|0)+8>>2]|0;g=(b|0)>1?b:1;h=(b|0)<9;b=c[e+12+(f*660|0)+16>>2]|0;i=c[e+12+(f*660|0)+12>>2]|0;j=a+11704|0;k=c[j>>2]|0;if((b|0)<=(i|0)|(k|0)<(B(g,b)|0))l=k;else{k=B(i,g)|0;c[j>>2]=k;l=k}k=(l|0)/(g|0)|0;j=l-(B(k,g)|0)|0;if((k|0)>31){c[d+28>>2]=0;c[d>>2]=0;return}i=(k|0)>0;b=i?k:0;m=e+12+(f*660|0)+20+(b*20|0)|0;n=c[m>>2]|0;o=n<<16;p=e+12+(f*660|0)+20+(b*20|0)+8|0;q=c[p>>2]|0;r=q<<8;if((j|0)==(g+-1|0)){c[a+11644>>2]=n;c[a+11652>>2]=q;c[a+11648>>2]=c[e+12+(f*660|0)+20+(b*20|0)+4>>2]}q=c[e+12+(f*660|0)+20+(b*20|0)+12>>2]|0;switch(q|0){case 1:{if(i){s=c[a+11644>>2]<<16;t=c[a+11652>>2]<<8}else{s=1572864;t=r}a=g-j|0;u=((B(s,a)|0)+(B(j<<16,c[m>>2]|0)|0)|0)/(g|0)|0;v=((B(t,a)|0)+(B(r,j)|0)|0)/(g|0)|0;break}case 3:{c[d+60>>2]=(g-j<<8|0)/(g|0)|0;u=o;v=r;break}case 4:{u=o;v=(B(r,j)|0)/(g|0)|0;break}case 5:{u=o;v=(B(r,g-j|0)|0)/(g|0)|0;break}case 6:{u=c[e+12+(f*660|0)+20+(((((l|0)/((h?2:4)|0)|0|0)%4|0)+(k&28)|0)*20|0)>>2]<<16;v=r;break}case 7:{u=c[e+12+(f*660|0)+20+(((((l|0)/((h?4:8)|0)|0|0)%4|0)+(k&28)|0)*20|0)>>2]<<16;v=r;break}default:{u=o;v=r}}c[d>>2]=c[e+12+(f*660|0)+20+(b*20|0)+4>>2];b=d+32|0;c[b>>2]=u+-1572864+(c[b>>2]|0);b=d+36|0;c[b>>2]=(c[m>>2]|0)+-24+(c[b>>2]|0);b=c[p>>2]|0;c[d+40>>2]=(v*7|0)/(((b|0)>1?b:1)|0)|0;b=d+28|0;c[b>>2]=(B(c[b>>2]|0,v)|0)/1792|0;c[d+56>>2]=q;return}function Gp(){Cq();return}function Hp(){Dq();return}function Ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ga;Ga=Ga+16|0;e=d;lp(1478320,0,8192);c[516554]=0;lp(2591824,0,187392);c[e>>2]=c[515982];as(1465904,60286,e)|0;vm(1465904);if(c[516006]|0){f=0;Ga=d;return f|0}e=Aq(a,b)|0;if(e|0){f=e;Ga=d;return f|0}c[515700]=a;c[515701]=b;f=0;Ga=d;return f|0}function Jp(){return Bq()|0}function Kp(a){a=a|0;c[694805]=a;return}function Lp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=mp(40)|0;if(!d){e=0;return e|0}c[d>>2]=a;c[d+8>>2]=22050;c[d+4>>2]=b;c[d+12>>2]=1;c[d+28>>2]=0;c[d+32>>2]=256;f=mp(B((b|0)/8|0,a)|0)|0;c[d+16>>2]=f;c[d+20>>2]=f;c[d+36>>2]=-1;c[515541]=(c[515541]|0)+1;e=d;return e|0}function Mp(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Cq();if(0){Cq();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2591824+(d*11712|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2591824+(d*11712|0)+11544>>2]=0;c[e>>2]=0;c[2591824+(d*11712|0)+8232>>2]=0;e=2591824+(d*11712|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}Dq()}op(c[a+16>>2]|0);op(a);c[515541]=(c[515541]|0)+-1;Dq();return}function Np(a){a=a|0;var b=0,d=0,e=0;if(!((a|0)!=0&0!=0))return;Cq();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2591824+(d*11712|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2591824+(d*11712|0)+11544>>2]=0;c[e>>2]=0;c[2591824+(d*11712|0)+8232>>2]=0;e=2591824+(d*11712|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}Dq();return}function Op(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;Cq();g=(d|0)==0?-1:d;do if(!a){if((f|0)!=-1){c[2591824+(f*11712|0)+11544>>2]=0;c[2591824+(f*11712|0)+8208>>2]=0;c[2591824+(f*11712|0)+8232>>2]=0;d=2591824+(f*11712|0)+8220|0;c[d>>2]=0;c[d+4>>2]=0;break}d=(c[515989]|0)==0?16:4;h=0;do{c[2591824+(h*11712|0)+11544>>2]=0;c[2591824+(h*11712|0)+8208>>2]=0;c[2591824+(h*11712|0)+8232>>2]=0;i=2591824+(h*11712|0)+8220|0;c[i>>2]=0;c[i+4>>2]=0;h=h+1|0}while(h>>>0<d>>>0)}else{d=(f|0)==-1;do if(!(c[515989]|0))if(d)if(!((c[673432]|0)==0&(c[673436]|0)==0&(c[674266]|0)==0))if(!((c[676360]|0)==0&(c[676364]|0)==0&(c[677194]|0)==0))if(!((c[679288]|0)==0&(c[679292]|0)==0&(c[680122]|0)==0))if(!((c[682216]|0)==0&(c[682220]|0)==0&(c[683050]|0)==0))if(!((c[685144]|0)==0&(c[685148]|0)==0&(c[685978]|0)==0))if(!((c[688072]|0)==0&(c[688076]|0)==0&(c[688906]|0)==0))if(!((c[691e3]|0)==0&(c[691004]|0)==0&(c[691834]|0)==0))if((c[693928]|0)==0&(c[693932]|0)==0&(c[694762]|0)==0)j=15;else{h=c[673436]|0;if((h|0)!=0&(c[674266]|0)==0){k=c[h+8>>2]|0;l=8}else{k=256;l=-1}h=c[676364]|0;if((h|0)!=0&(c[677194]|0)==0){i=c[h+8>>2]|0;h=(l|0)==-1|(i|0)<(k|0);m=h?i:k;n=h?9:l}else{m=k;n=l}h=c[679292]|0;if((h|0)!=0&(c[680122]|0)==0){i=c[h+8>>2]|0;h=(n|0)==-1|(i|0)<(m|0);o=h?i:m;p=h?10:n}else{o=m;p=n}h=c[682220]|0;if((h|0)!=0&(c[683050]|0)==0){i=c[h+8>>2]|0;h=(p|0)==-1|(i|0)<(o|0);q=h?i:o;r=h?11:p}else{q=o;r=p}h=c[685148]|0;if((h|0)!=0&(c[685978]|0)==0){i=c[h+8>>2]|0;h=(r|0)==-1|(i|0)<(q|0);s=h?i:q;t=h?12:r}else{s=q;t=r}h=c[688076]|0;if((h|0)!=0&(c[688906]|0)==0){i=c[h+8>>2]|0;h=(t|0)==-1|(i|0)<(s|0);u=h?i:s;v=h?13:t}else{u=s;v=t}h=c[691004]|0;if((h|0)!=0&(c[691834]|0)==0){i=c[h+8>>2]|0;h=(v|0)==-1|(i|0)<(u|0);w=h?i:u;x=h?14:v}else{w=u;x=v}h=c[693932]|0;if(!((h|0)!=0&(c[694762]|0)==0)){y=x;z=25;break}if((x|0)!=-1?(c[h+8>>2]|0)>=(w|0):0){j=x;break}j=15}else j=14;else j=13;else j=12;else j=11;else j=10;else j=9;else j=8;else{y=f;z=25}else if(d){h=(c[650008]|0)==0;if(!(h&(c[650012]|0)==0&(c[650842]|0)==0&(c[661720]|0)==0&(c[661724]|0)==0&(c[662554]|0)==0)){i=(c[652936]|0)==0;if(!(i&(c[652940]|0)==0&(c[653770]|0)==0&(c[664648]|0)==0&(c[664652]|0)==0&(c[665482]|0)==0)){A=(c[655864]|0)==0;if(!(A&(c[655868]|0)==0&(c[656698]|0)==0&(c[667576]|0)==0&(c[667580]|0)==0&(c[668410]|0)==0)){C=(c[658792]|0)==0;if(!(C&(c[658796]|0)==0&(c[659626]|0)==0&(c[670504]|0)==0&(c[670508]|0)==0&(c[671338]|0)==0)){D=c[732870]|0;if(!(h&(c[650012]|0)==0&(c[650842]|0)==0&(c[661720]|0)==0&(c[661724]|0)==0&(D&1|0)==0))if(!(i&(c[652940]|0)==0&(c[653770]|0)==0&(c[664648]|0)==0&(c[664652]|0)==0&(D&2|0)==0))if(!(A&(c[655868]|0)==0&(c[656698]|0)==0&(c[667576]|0)==0&(c[667580]|0)==0&(D&4|0)==0))if(!(C&(c[658796]|0)==0&(c[659626]|0)==0&(c[670504]|0)==0&(c[670508]|0)==0&(D&8|0)==0))if(!((c[650842]|D&1|0)==0&(h&(c[650012]|0)==0)))if(!((c[653770]|D&2|0)==0&(i&(c[652940]|0)==0)))if(!((c[656698]|D&4|0)==0&(A&(c[655868]|0)==0)))if((c[659626]|D&8|0)==0&(C&(c[658796]|0)==0))j=3;else{if((D&1|0)!=0?!((c[661720]|0)==0&(c[661724]|0)==0&(c[662554]|0)==0):0){E=256;F=-1}else{C=c[650012]|0;if(!C){E=256;F=-1}else{E=c[C+8>>2]|0;F=0}}if((D&2|0)!=0?!((c[664648]|0)==0&(c[664652]|0)==0&(c[665482]|0)==0):0){G=E;H=F}else z=51;do if((z|0)==51){C=c[652940]|0;if(!C){G=E;H=F;break}A=(F|0)!=-1;i=c[C+8>>2]|0;C=(i|0)>(E|0);G=A&C?E:i;H=(A&C^1)&1}while(0);if((D&4|0)!=0?!((c[667576]|0)==0&(c[667580]|0)==0&(c[668410]|0)==0):0){I=G;J=H}else z=55;do if((z|0)==55){C=c[655868]|0;if(!C){I=G;J=H;break}A=c[C+8>>2]|0;C=(H|0)!=-1&(A|0)>(G|0);I=C?G:A;J=C?H:2}while(0);if(D&8|0?!((c[670504]|0)==0&(c[670508]|0)==0&(c[671338]|0)==0):0){y=J;z=25;break}C=c[658796]|0;if(!C){y=J;z=25;break}if((J|0)!=-1?(c[C+8>>2]|0)>(I|0):0){j=J;break}j=3}else j=2;else j=1;else j=0;else j=3;else j=2;else j=1;else j=0}else j=3}else j=2}else j=1}else j=0}else{y=f;z=25}while(0);if((z|0)==25)if(y>>>0>15)break;else j=y;d=c[a+8>>2]|0;C=(d|0)>1?d:1;c[2591824+(j*11712|0)+8224>>2]=a;c[2591824+(j*11712|0)+8236>>2]=j&3;c[2591824+(j*11712|0)+8228>>2]=B(C,b)|0;c[2591824+(j*11712|0)+11708>>2]=B(C,g)|0;c[2591824+(j*11712|0)+8220>>2]=e;c[2591824+(j*11712|0)+11544>>2]=0;c[2591824+(j*11712|0)+8232>>2]=1;Dq();K=j;return K|0}while(0);Dq();K=-1;return K|0}function Pp(a){a=a|0;var b=0;Cq();if(!a){if(!(c[650842]|0)){c[650842]=0;c[650008]=0;c[650014]=0;b=2600044;c[b>>2]=0;c[b+4>>2]=0}if(!(c[653770]|0)){c[653770]=0;c[652936]=0;c[652942]=0;b=2611756;c[b>>2]=0;c[b+4>>2]=0}if(!(c[656698]|0)){c[656698]=0;c[655864]=0;c[655870]=0;b=2623468;c[b>>2]=0;c[b+4>>2]=0}if(!(c[659626]|0)){c[659626]=0;c[658792]=0;c[658798]=0;b=2635180;c[b>>2]=0;c[b+4>>2]=0}if(!(c[662554]|0)){c[662554]=0;c[661720]=0;c[661726]=0;b=2646892;c[b>>2]=0;c[b+4>>2]=0}if(!(c[665482]|0)){c[665482]=0;c[664648]=0;c[664654]=0;b=2658604;c[b>>2]=0;c[b+4>>2]=0}if(!(c[668410]|0)){c[668410]=0;c[667576]=0;c[667582]=0;b=2670316;c[b>>2]=0;c[b+4>>2]=0}if(!(c[671338]|0)){c[671338]=0;c[670504]=0;c[670510]=0;b=2682028;c[b>>2]=0;c[b+4>>2]=0}if(!(c[674266]|0)){c[674266]=0;c[673432]=0;c[673438]=0;b=2693740;c[b>>2]=0;c[b+4>>2]=0}if(!(c[677194]|0)){c[677194]=0;c[676360]=0;c[676366]=0;b=2705452;c[b>>2]=0;c[b+4>>2]=0}if(!(c[680122]|0)){c[680122]=0;c[679288]=0;c[679294]=0;b=2717164;c[b>>2]=0;c[b+4>>2]=0}if(!(c[683050]|0)){c[683050]=0;c[682216]=0;c[682222]=0;b=2728876;c[b>>2]=0;c[b+4>>2]=0}if(!(c[685978]|0)){c[685978]=0;c[685144]=0;c[685150]=0;b=2740588;c[b>>2]=0;c[b+4>>2]=0}if(!(c[688906]|0)){c[688906]=0;c[688072]=0;c[688078]=0;b=2752300;c[b>>2]=0;c[b+4>>2]=0}if(!(c[691834]|0)){c[691834]=0;c[691e3]=0;c[691006]=0;b=2764012;c[b>>2]=0;c[b+4>>2]=0}if(c[694762]|0){Dq();return}c[694762]=0;c[693928]=0;c[693934]=0;b=2775724;c[b>>2]=0;c[b+4>>2]=0;Dq();return}else{if((c[650012]|0)==(a|0)){c[650842]=0;c[650008]=0;c[650014]=0;b=2600044;c[b>>2]=0;c[b+4>>2]=0}if((c[652940]|0)==(a|0)){c[653770]=0;c[652936]=0;c[652942]=0;b=2611756;c[b>>2]=0;c[b+4>>2]=0}if((c[655868]|0)==(a|0)){c[656698]=0;c[655864]=0;c[655870]=0;b=2623468;c[b>>2]=0;c[b+4>>2]=0}if((c[658796]|0)==(a|0)){c[659626]=0;c[658792]=0;c[658798]=0;b=2635180;c[b>>2]=0;c[b+4>>2]=0}if((c[661724]|0)==(a|0)){c[662554]=0;c[661720]=0;c[661726]=0;b=2646892;c[b>>2]=0;c[b+4>>2]=0}if((c[664652]|0)==(a|0)){c[665482]=0;c[664648]=0;c[664654]=0;b=2658604;c[b>>2]=0;c[b+4>>2]=0}if((c[667580]|0)==(a|0)){c[668410]=0;c[667576]=0;c[667582]=0;b=2670316;c[b>>2]=0;c[b+4>>2]=0}if((c[670508]|0)==(a|0)){c[671338]=0;c[670504]=0;c[670510]=0;b=2682028;c[b>>2]=0;c[b+4>>2]=0}if((c[673436]|0)==(a|0)){c[674266]=0;c[673432]=0;c[673438]=0;b=2693740;c[b>>2]=0;c[b+4>>2]=0}if((c[676364]|0)==(a|0)){c[677194]=0;c[676360]=0;c[676366]=0;b=2705452;c[b>>2]=0;c[b+4>>2]=0}if((c[679292]|0)==(a|0)){c[680122]=0;c[679288]=0;c[679294]=0;b=2717164;c[b>>2]=0;c[b+4>>2]=0}if((c[682220]|0)==(a|0)){c[683050]=0;c[682216]=0;c[682222]=0;b=2728876;c[b>>2]=0;c[b+4>>2]=0}if((c[685148]|0)==(a|0)){c[685978]=0;c[685144]=0;c[685150]=0;b=2740588;c[b>>2]=0;c[b+4>>2]=0}if((c[688076]|0)==(a|0)){c[688906]=0;c[688072]=0;c[688078]=0;b=2752300;c[b>>2]=0;c[b+4>>2]=0}if((c[691004]|0)==(a|0)){c[691834]=0;c[691e3]=0;c[691006]=0;b=2764012;c[b>>2]=0;c[b+4>>2]=0}if((c[693932]|0)!=(a|0)){Dq();return}c[694762]=0;c[693928]=0;c[693934]=0;a=2775724;c[a>>2]=0;c[a+4>>2]=0;Dq();return}}function Qp(a){a=a|0;Pp(a);Op(a,0,(c[a+16>>2]|0)>(c[a+12>>2]|0)?-1:32,0,-1)|0;return}function Rp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;Cq();b=(c[650842]|0)==0;do if(!a)if(b|(c[650011]|0)==0)if((c[653770]|0)==0|(c[652939]|0)==0)if((c[656698]|0)==0|(c[655867]|0)==0)if((c[659626]|0)==0|(c[658795]|0)==0)if((c[662554]|0)==0|(c[661723]|0)==0)if((c[665482]|0)==0|(c[664651]|0)==0)if((c[668410]|0)==0|(c[667579]|0)==0)if((c[671338]|0)==0|(c[670507]|0)==0)if((c[674266]|0)==0|(c[673435]|0)==0)if((c[677194]|0)==0|(c[676363]|0)==0)if((c[680122]|0)==0|(c[679291]|0)==0)if((c[683050]|0)==0|(c[682219]|0)==0)if((c[685978]|0)==0|(c[685147]|0)==0)if((c[688906]|0)==0|(c[688075]|0)==0)if((c[691834]|0)==0|(c[691003]|0)==0)if((c[694762]|0)==0|(c[693931]|0)==0)d=8;else{e=15;d=6}else{e=14;d=6}else{e=13;d=6}else{e=12;d=6}else{e=11;d=6}else{e=10;d=6}else{e=9;d=6}else{e=8;d=6}else{e=7;d=6}else{e=6;d=6}else{e=5;d=6}else{e=4;d=6}else{e=3;d=6}else{e=2;d=6}else{e=1;d=6}else{e=0;d=6}else{if(!b?(f=c[650011]|0,(f|0)!=0&(f|0)==(a|0)):0){e=0;d=6;break}if(c[653770]|0?(f=c[652939]|0,(f|0)!=0&(f|0)==(a|0)):0){e=1;d=6;break}if(c[656698]|0?(f=c[655867]|0,(f|0)!=0&(f|0)==(a|0)):0){e=2;d=6;break}if(c[659626]|0?(f=c[658795]|0,(f|0)!=0&(f|0)==(a|0)):0){e=3;d=6;break}if(c[662554]|0?(f=c[661723]|0,(f|0)!=0&(f|0)==(a|0)):0){e=4;d=6;break}if(c[665482]|0?(f=c[664651]|0,(f|0)!=0&(f|0)==(a|0)):0){e=5;d=6;break}if(c[668410]|0?(f=c[667579]|0,(f|0)!=0&(f|0)==(a|0)):0){e=6;d=6;break}if(c[671338]|0?(f=c[670507]|0,(f|0)!=0&(f|0)==(a|0)):0){e=7;d=6;break}if(c[674266]|0?(f=c[673435]|0,(f|0)!=0&(f|0)==(a|0)):0){e=8;d=6;break}if(c[677194]|0?(f=c[676363]|0,(f|0)!=0&(f|0)==(a|0)):0){e=9;d=6;break}if(c[680122]|0?(f=c[679291]|0,(f|0)!=0&(f|0)==(a|0)):0){e=10;d=6;break}if(c[683050]|0?(f=c[682219]|0,(f|0)!=0&(f|0)==(a|0)):0){e=11;d=6;break}if(c[685978]|0?(f=c[685147]|0,(f|0)!=0&(f|0)==(a|0)):0){e=12;d=6;break}if(c[688906]|0?(f=c[688075]|0,(f|0)!=0&(f|0)==(a|0)):0){e=13;d=6;break}if(c[691834]|0?(f=c[691003]|0,(f|0)!=0&(f|0)==(a|0)):0){e=14;d=6;break}if((c[694762]|0)!=0?(f=c[693931]|0,(f|0)!=0&(f|0)==(a|0)):0){e=15;d=6}else d=8}while(0);if((d|0)==6){Dq();g=c[2591824+(e*11712|0)+11548>>2]|0;return g|0}else if((d|0)==8){Dq();g=-1;return g|0}return 0}function Sp(a){a=a|0;var b=0,d=0,e=0;Cq();if((c[650012]|0)!=(a|0))if((c[652940]|0)!=(a|0))if((c[655868]|0)!=(a|0))if((c[658796]|0)!=(a|0))if((c[661724]|0)!=(a|0))if((c[664652]|0)!=(a|0))if((c[667580]|0)!=(a|0))if((c[670508]|0)!=(a|0))if((c[673436]|0)!=(a|0))if((c[676364]|0)!=(a|0))if((c[679292]|0)!=(a|0))if((c[682220]|0)!=(a|0))if((c[685148]|0)!=(a|0))if((c[688076]|0)!=(a|0))if((c[691004]|0)!=(a|0))if((c[693932]|0)==(a|0))b=15;else{Dq();d=-1;return d|0}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;Dq();e=c[a+8>>2]|0;d=(c[2591824+(b*11712|0)+8228>>2]|0)/(((e|0)>1?e:1)|0)|0;return d|0}function Tp(a){a=a|0;var b=0;Cq();b=c[2591824+(a*11712|0)+8224>>2]|0;Dq();return b|0}function Up(a){a=a|0;if(a>>>0>15)return;Cq();c[2591824+(a*11712|0)+8232>>2]=0;Dq();return}function Vp(a){a=a|0;var b=0,d=0;Cq();b=(c[650842]|0)==0;if(!a){if(!b){c[650842]=0;c[650008]=0;c[650014]=0;d=2600044;c[d>>2]=0;c[d+4>>2]=0}if(c[653770]|0){c[653770]=0;c[652936]=0;c[652942]=0;d=2611756;c[d>>2]=0;c[d+4>>2]=0}if(c[656698]|0){c[656698]=0;c[655864]=0;c[655870]=0;d=2623468;c[d>>2]=0;c[d+4>>2]=0}if(c[659626]|0){c[659626]=0;c[658792]=0;c[658798]=0;d=2635180;c[d>>2]=0;c[d+4>>2]=0}if(c[662554]|0){c[662554]=0;c[661720]=0;c[661726]=0;d=2646892;c[d>>2]=0;c[d+4>>2]=0}if(c[665482]|0){c[665482]=0;c[664648]=0;c[664654]=0;d=2658604;c[d>>2]=0;c[d+4>>2]=0}if(c[668410]|0){c[668410]=0;c[667576]=0;c[667582]=0;d=2670316;c[d>>2]=0;c[d+4>>2]=0}if(c[671338]|0){c[671338]=0;c[670504]=0;c[670510]=0;d=2682028;c[d>>2]=0;c[d+4>>2]=0}if(c[674266]|0){c[674266]=0;c[673432]=0;c[673438]=0;d=2693740;c[d>>2]=0;c[d+4>>2]=0}if(c[677194]|0){c[677194]=0;c[676360]=0;c[676366]=0;d=2705452;c[d>>2]=0;c[d+4>>2]=0}if(c[680122]|0){c[680122]=0;c[679288]=0;c[679294]=0;d=2717164;c[d>>2]=0;c[d+4>>2]=0}if(c[683050]|0){c[683050]=0;c[682216]=0;c[682222]=0;d=2728876;c[d>>2]=0;c[d+4>>2]=0}if(c[685978]|0){c[685978]=0;c[685144]=0;c[685150]=0;d=2740588;c[d>>2]=0;c[d+4>>2]=0}if(c[688906]|0){c[688906]=0;c[688072]=0;c[688078]=0;d=2752300;c[d>>2]=0;c[d+4>>2]=0}if(c[691834]|0){c[691834]=0;c[691e3]=0;c[691006]=0;d=2764012;c[d>>2]=0;c[d+4>>2]=0}if(!(c[694762]|0)){Dq();return}c[694762]=0;c[693928]=0;c[693934]=0;d=2775724;c[d>>2]=0;c[d+4>>2]=0;Dq();return}if(!b?(b=c[650011]|0,(b|0)!=0&(b|0)==(a|0)):0){c[650842]=0;c[650008]=0;c[650014]=0;b=2600044;c[b>>2]=0;c[b+4>>2]=0}if(c[653770]|0?(b=c[652939]|0,(b|0)!=0&(b|0)==(a|0)):0){c[653770]=0;c[652936]=0;c[652942]=0;b=2611756;c[b>>2]=0;c[b+4>>2]=0}if(c[656698]|0?(b=c[655867]|0,(b|0)!=0&(b|0)==(a|0)):0){c[656698]=0;c[655864]=0;c[655870]=0;b=2623468;c[b>>2]=0;c[b+4>>2]=0}if(c[659626]|0?(b=c[658795]|0,(b|0)!=0&(b|0)==(a|0)):0){c[659626]=0;c[658792]=0;c[658798]=0;b=2635180;c[b>>2]=0;c[b+4>>2]=0}if(c[662554]|0?(b=c[661723]|0,(b|0)!=0&(b|0)==(a|0)):0){c[662554]=0;c[661720]=0;c[661726]=0;b=2646892;c[b>>2]=0;c[b+4>>2]=0}if(c[665482]|0?(b=c[664651]|0,(b|0)!=0&(b|0)==(a|0)):0){c[665482]=0;c[664648]=0;c[664654]=0;b=2658604;c[b>>2]=0;c[b+4>>2]=0}if(c[668410]|0?(b=c[667579]|0,(b|0)!=0&(b|0)==(a|0)):0){c[668410]=0;c[667576]=0;c[667582]=0;b=2670316;c[b>>2]=0;c[b+4>>2]=0}if(c[671338]|0?(b=c[670507]|0,(b|0)!=0&(b|0)==(a|0)):0){c[671338]=0;c[670504]=0;c[670510]=0;b=2682028;c[b>>2]=0;c[b+4>>2]=0}if(c[674266]|0?(b=c[673435]|0,(b|0)!=0&(b|0)==(a|0)):0){c[674266]=0;c[673432]=0;c[673438]=0;b=2693740;c[b>>2]=0;c[b+4>>2]=0}if(c[677194]|0?(b=c[676363]|0,(b|0)!=0&(b|0)==(a|0)):0){c[677194]=0;c[676360]=0;c[676366]=0;b=2705452;c[b>>2]=0;c[b+4>>2]=0}if(c[680122]|0?(b=c[679291]|0,(b|0)!=0&(b|0)==(a|0)):0){c[680122]=0;c[679288]=0;c[679294]=0;b=2717164;c[b>>2]=0;c[b+4>>2]=0}if(c[683050]|0?(b=c[682219]|0,(b|0)!=0&(b|0)==(a|0)):0){c[683050]=0;c[682216]=0;c[682222]=0;b=2728876;c[b>>2]=0;c[b+4>>2]=0}if(c[685978]|0?(b=c[685147]|0,(b|0)!=0&(b|0)==(a|0)):0){c[685978]=0;c[685144]=0;c[685150]=0;b=2740588;c[b>>2]=0;c[b+4>>2]=0}if(c[688906]|0?(b=c[688075]|0,(b|0)!=0&(b|0)==(a|0)):0){c[688906]=0;c[688072]=0;c[688078]=0;b=2752300;c[b>>2]=0;c[b+4>>2]=0}if(c[691834]|0?(b=c[691003]|0,(b|0)!=0&(b|0)==(a|0)):0){c[691834]=0;c[691e3]=0;c[691006]=0;b=2764012;c[b>>2]=0;c[b+4>>2]=0}if(!(c[694762]|0)){Dq();return}b=c[693931]|0;if(!((b|0)!=0&(b|0)==(a|0))){Dq();return}c[694762]=0;c[693928]=0;c[693934]=0;a=2775724;c[a>>2]=0;c[a+4>>2]=0;Dq();return}function Wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;Cq();Vp(a);if(!((a|0)!=0&b>>>0<64)){Dq();return}e=a+42252+(b<<4)|0;if(!(Ep(a,e)|0)){Dq();return}c[515695]=0;c[515696]=b;f=c[e>>2]|0;g=(f|0)<63?f:63;f=Op(a+12+(((g|0)>0?g:0)*660|0)|0,0,32,a,4)|0;if((f|0)!=-1){if((c[e>>2]|0)>63)c[2591824+(f*11712|0)+8224>>2]=0;c[2591824+(f*11712|0)+11544>>2]=1;c[2591824+(f*11712|0)+8220>>2]=a;c[2591824+(f*11712|0)+11548>>2]=b;c[2591824+(f*11712|0)+8236>>2]=0;c[2591824+(f*11712|0)+11708>>2]=Ep(a,e)|0}f=a+42252+(b<<4)+4|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=Op(a+12+(((h|0)>0?h:0)*660|0)|0,0,32,a,5)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2591824+(g*11712|0)+8224>>2]=0;c[2591824+(g*11712|0)+11544>>2]=1;c[2591824+(g*11712|0)+8220>>2]=a;c[2591824+(g*11712|0)+11548>>2]=b;c[2591824+(g*11712|0)+8236>>2]=1;c[2591824+(g*11712|0)+11708>>2]=Ep(a,e)|0}g=a+42252+(b<<4)+8|0;f=c[g>>2]|0;h=(f|0)<63?f:63;f=Op(a+12+(((h|0)>0?h:0)*660|0)|0,0,32,a,6)|0;if((f|0)!=-1){if((c[g>>2]|0)>63)c[2591824+(f*11712|0)+8224>>2]=0;c[2591824+(f*11712|0)+11544>>2]=1;c[2591824+(f*11712|0)+8220>>2]=a;c[2591824+(f*11712|0)+11548>>2]=b;c[2591824+(f*11712|0)+8236>>2]=2;c[2591824+(f*11712|0)+11708>>2]=Ep(a,e)|0}f=a+42252+(b<<4)+12|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=Op(a+12+(((h|0)>0?h:0)*660|0)|0,0,32,a,7)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2591824+(g*11712|0)+8224>>2]=0;c[2591824+(g*11712|0)+11544>>2]=1;c[2591824+(g*11712|0)+8220>>2]=a;c[2591824+(g*11712|0)+11548>>2]=b;c[2591824+(g*11712|0)+8236>>2]=3;c[2591824+(g*11712|0)+11708>>2]=Ep(a,e)|0}c[516549]=d;c[516548]=Iq()|0;c[516550]=0;c[516551]=65536;Xp();Dq();return}function Xp(){var a=0,b=0,d=0,e=0;a=c[516552]|0;b=c[516551]|0;if((a|0)==(b|0)){if(a|0)return;c[647955]=0;Vp(0);return}if(!(c[516549]|0)){c[516552]=b;if(b|0)return;c[647955]=0;Vp(0);return}b=Iq()|0;a=b-(c[516548]|0)|0;b=c[516549]|0;if((b|0)>(a|0)){d=B(c[516550]|0,b-a|0)|0;e=((B(c[516551]|0,a)|0)+d|0)/(b|0)|0;b=(e|0)<65536?e:65536;c[516552]=(b|0)>0?b:0;return}b=c[516551]|0;c[516552]=b;if(b|0)return;c[647955]=0;Vp(0);return}function Yp(a){a=a|0;return c[a+16>>2]|0}function Zp(a){a=a|0;return}function _p(a,b){a=a|0;b=b|0;if(!a)return;c[a+8>>2]=b;return}function $p(a){a=a|0;if(!0)return;c[515970]=a;return}function aq(a,b){a=a|0;b=b|0;c[516550]=c[516552];c[516551]=0;c[516548]=Iq()|0;c[516549]=b;Xp();return}function bq(a){a=a|0;c[515971]=a;return}function cq(){var a=0;if((Rp(0)|0)!=-1){a=1;return a|0}if(0==0|(c[516554]|0)==0){a=0;return a|0}if(!(c[516552]|c[516551])){a=0;return a|0}a=(c[647955]|0)!=0&1;return a|0}function dq(){var a=0;c[650842]=0;c[650008]=0;c[650014]=0;a=2600044;c[a>>2]=0;c[a+4>>2]=0;c[653770]=0;c[652936]=0;c[652942]=0;a=2611756;c[a>>2]=0;c[a+4>>2]=0;c[656698]=0;c[655864]=0;c[655870]=0;a=2623468;c[a>>2]=0;c[a+4>>2]=0;c[659626]=0;c[658792]=0;c[658798]=0;a=2635180;c[a>>2]=0;c[a+4>>2]=0;c[662554]=0;c[661720]=0;c[661726]=0;a=2646892;c[a>>2]=0;c[a+4>>2]=0;c[665482]=0;c[664648]=0;c[664654]=0;a=2658604;c[a>>2]=0;c[a+4>>2]=0;c[668410]=0;c[667576]=0;c[667582]=0;a=2670316;c[a>>2]=0;c[a+4>>2]=0;c[671338]=0;c[670504]=0;c[670510]=0;a=2682028;c[a>>2]=0;c[a+4>>2]=0;c[674266]=0;c[673432]=0;c[673438]=0;a=2693740;c[a>>2]=0;c[a+4>>2]=0;c[677194]=0;c[676360]=0;c[676366]=0;a=2705452;c[a>>2]=0;c[a+4>>2]=0;c[680122]=0;c[679288]=0;c[679294]=0;a=2717164;c[a>>2]=0;c[a+4>>2]=0;c[683050]=0;c[682216]=0;c[682222]=0;a=2728876;c[a>>2]=0;c[a+4>>2]=0;c[685978]=0;c[685144]=0;c[685150]=0;a=2740588;c[a>>2]=0;c[a+4>>2]=0;c[688906]=0;c[688072]=0;c[688078]=0;a=2752300;c[a>>2]=0;c[a+4>>2]=0;c[691834]=0;c[691e3]=0;c[691006]=0;a=2764012;c[a>>2]=0;c[a+4>>2]=0;c[694762]=0;c[693928]=0;c[693934]=0;a=2775724;c[a>>2]=0;c[a+4>>2]=0;return}function eq(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[650012]|0)==0|(c[650842]|0)==0)a=0;else{b=c[650013]|0;a=(b|0)>0?b:0}if((c[652940]|0)==0|(c[653770]|0)==0)d=a;else{b=c[652941]|0;d=(a|0)>(b|0)?a:b}if((c[655868]|0)==0|(c[656698]|0)==0)e=d;else{b=c[655869]|0;e=(d|0)>(b|0)?d:b}if((c[658796]|0)==0|(c[659626]|0)==0)f=e;else{b=c[658797]|0;f=(e|0)>(b|0)?e:b}if((c[661724]|0)==0|(c[662554]|0)==0)g=f;else{b=c[661725]|0;g=(f|0)>(b|0)?f:b}if((c[664652]|0)==0|(c[665482]|0)==0)h=g;else{b=c[664653]|0;h=(g|0)>(b|0)?g:b}if((c[667580]|0)==0|(c[668410]|0)==0)i=h;else{b=c[667581]|0;i=(h|0)>(b|0)?h:b}if((c[670508]|0)==0|(c[671338]|0)==0)j=i;else{b=c[670509]|0;j=(i|0)>(b|0)?i:b}if((c[673436]|0)==0|(c[674266]|0)==0)k=j;else{b=c[673437]|0;k=(j|0)>(b|0)?j:b}if((c[676364]|0)==0|(c[677194]|0)==0)l=k;else{b=c[676365]|0;l=(k|0)>(b|0)?k:b}if((c[679292]|0)==0|(c[680122]|0)==0)m=l;else{b=c[679293]|0;m=(l|0)>(b|0)?l:b}if((c[682220]|0)==0|(c[683050]|0)==0)n=m;else{b=c[682221]|0;n=(m|0)>(b|0)?m:b}if((c[685148]|0)==0|(c[685978]|0)==0)o=n;else{b=c[685149]|0;o=(n|0)>(b|0)?n:b}if((c[688076]|0)==0|(c[688906]|0)==0)p=o;else{b=c[688077]|0;p=(o|0)>(b|0)?o:b}if((c[691004]|0)==0|(c[691834]|0)==0)q=p;else{b=c[691005]|0;q=(p|0)>(b|0)?p:b}if((c[693932]|0)==0|(c[694762]|0)==0){r=q;return r|0}b=c[693933]|0;r=(q|0)>(b|0)?q:b;return r|0}function fq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=Ga;Ga=Ga+48|0;g=f+32|0;h=f+24|0;i=f+16|0;j=f;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;as(1465904,60323,j)|0;vm(1465904);if((a|0)==0|(b|0)==0){c[i>>2]=0;c[i+4>>2]=0;as(1465904,60352,i)|0;vm(1465904);k=0;l=0}else{k=a;l=b}if((c[515693]|0)==1){b=c[515967]|0;a=c[515968]|0;if((b|0)<32|(a|0)<32){c[515967]=640;c[515968]=540;m=640;n=540}else{m=b;n=a}c[h>>2]=m;c[h+4>>2]=n;as(1465904,60390,h)|0;vm(1465904);o=m;p=n}else{c[515967]=k;c[515968]=l;o=k;p=l}if(!(e&256)){if(e&4|0)c[8690]=0;if(e&8|0)c[8690]=1}else if(c[515969]|0)c[8690]=0;n=((l|0)==0|(k|0)==0)&((p|0)==0|(o|0)==0);m=n?216:p;p=n?384:o;o=n?384:k;k=n?216:l;l=c[694823]|0;do if(!l)q=20;else{if(((c[l>>2]|0)==(o|0)?(c[l+4>>2]|0)==(k|0):0)?(c[l+8>>2]|0)==(d|0):0)break;Lm(l)|0;c[694823]=0;q=20}while(0);if((q|0)==20)c[694823]=Km(o,k,d)|0;if((c[516006]|c[516007]|0)==0?(q=Gq(p,m,o,k,d,e)|0,q|0):0){r=q;Ga=f;return r|0}c[694806]=p;c[694807]=m;c[694808]=d;c[694813]=0;c[694815]=0;c[694814]=p;c[694816]=m;c[g>>2]=0;c[g+4>>2]=0;as(1465904,60411,g)|0;vm(1465904);vm(60433);r=0;Ga=f;return r|0}function gq(a){a=a|0;var b=0;b=c[694819]|0;if((b|0)==(a|0))return;Du(b|0,a|0,768)|0;return}function hq(){var b=0,d=0,e=0;if(c[694821]|0){b=0;return b|0}c[694821]=1;c[694819]=Cm()|0;c[694820]=Cm()|0;d=0;do{e=d&255;a[(c[694819]|0)+(d*3|0)>>0]=e;a[(c[694819]|0)+(d*3|0)+1>>0]=e;a[(c[694819]|0)+(d*3|0)+2>>0]=e;d=d+1|0}while((d|0)!=256);if(c[516006]|0){b=0;return b|0}b=Eq()|0;return b|0}function iq(){var a=0,b=0;if(!(c[694821]|0)){a=0;return a|0}c[694821]=0;b=c[694823]|0;if(b|0)Lm(b)|0;b=c[516528]|0;if(b|0)Lm(b)|0;c[516528]=0;c[694823]=0;Dm(c[694819]|0);Dm(c[694820]|0);if(c[516006]|0){a=0;return a|0}a=Fq()|0;return a|0}function jq(){return (c[8690]|0)==0|0}function kq(){var a=0;if(c[516007]|c[516006]|0)return;c[8690]=(c[8690]|0)==0&1;a=c[694823]|0;Gq(c[515967]|0,c[515968]|0,c[a>>2]|0,c[a+4>>2]|0,c[694808]|0,0)|0;return}function lq(){c[694822]=Iq()|0;return}function mq(){var a=0,b=0;a=Iq()|0;b=a-(c[694822]|0)|0;c[694822]=Iq()|0;a=(b|0)<1e3?b:1e3;c[8691]=(1e3/(((a|0)>1?a:1)>>>0)|0)<<16;return}function nq(){var a=0;a=c[694823]|0;if(!a)return;vo(a,2779224,0,0,0,0,c[694806]|0,c[694807]|0);return}function oq(){return c[8691]>>16|0}function pq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;rm(e,b)|0;g=e+548|0;if((a[d>>0]|0)==42){rm(g,d+1|0)|0;h=Ms(g)|0}else{a[g>>0]=0;h=0}c[e+804>>2]=h;c[e+812>>2]=Zs(b)|0;c[e+808>>2]=f;return qq(e)|0}function qq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=Ga;Ga=Ga+608|0;d=b+512|0;e=b+520|0;f=b;g=a+812|0;h=c[g>>2]|0;if(!h){i=1;Ga=b;return i|0}j=at(h)|0;h=a+808|0;if(!j){i=1;Ga=b;return i|0}k=a+256|0;l=a+520|0;m=e+56|0;n=e+36|0;o=a+516|0;p=e+12|0;q=a+512|0;r=a+804|0;s=j;while(1){j=s+11|0;rm(k,j)|0;c[d>>2]=a;c[d+4>>2]=j;as(f,60455,d)|0;lp(e,0,1);_s(f,e)|0;c[l>>2]=c[m>>2];c[o>>2]=c[n>>2];t=c[p>>2]|0;c[q>>2]=t;u=Ms(j)|0;if((u|0)>=(c[r>>2]|0)?c[h>>2]&t|0:0){i=0;v=7;break}s=at(c[g>>2]|0)|0;if(!s){i=1;v=7;break}}if((v|0)==7){Ga=b;return i|0}return 0}function rq(a){a=a|0;var b=0;if(!a)return 0;b=c[a+812>>2]|0;if(!b)return 0;$s(b)|0;return 0}function sq(a){a=a|0;var b=0,c=0;b=Fn(a,67514)|0;if(!b){c=0;return c|0}Gn(b);c=1;return c|0}function tq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ga;Ga=Ga+96|0;e=d+64|0;f=d+88|0;g=d;Da(f|0)|0;if(!b)h=xa(f|0)|0;else h=za(f|0)|0;Ca(g|0,64,60437,h|0)|0;h=a+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[e>>2]=h;c[e+4>>2]=a+8;c[e+8>>2]=a+12;c[e+12>>2]=a+16;c[e+16>>2]=a+20;c[e+20>>2]=a+24;At(g,60461,e)|0;Ga=d;return}function uq(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;xp(0,1486640,a<<1);if((c|0)<=0)return 1519408;d=a<<4;e=a+-1|0;a=0;do{f=(B(d,a)|0)/(c|0)|0;g=f&15;h=(f|0)/16|0;f=h+1|0;i=B(16-g|0,b[1486640+(h<<1)>>1]|0)|0;b[1519408+(a<<1)>>1]=((B(g,b[1486640+(((f|0)<(e|0)?f:e)<<1)>>1]|0)|0)+i|0)/16|0;a=a+1|0}while((a|0)!=(c|0));return 1519408}function vq(){if((O(65535)|0)<0)wq(62113);else{ka(25)|0;ka(26)|0;ka(27)|0;return 0}return 0}function wq(a){a=a|0;var b=0,d=0,e=0;b=Ga;Ga=Ga+16|0;d=b+8|0;e=b;xq();c[e>>2]=a;cu(63009,e)|0;wt(c[8693]|0)|0;c[d>>2]=a;as(1465904,63009,d)|0;vm(1465904);wm()|0;wa(0)}function xq(){var b=0,d=0,e=0;b=Ga;Ga=Ga+16|0;d=b;e=J()|0;if(!(a[e>>0]|0)){Ga=b;return}c[d>>2]=e;cu(63032,d)|0;wt(c[8693]|0)|0;I();Ga=b;return}function yq(){return 0}function zq(b){b=b|0;var d=0,e=0;a[1552176]=63;a[1552177]=0;if(b>>>0>511)return 1552176;Vs(1552176,c[28384+(b<<2)>>2]|0)|0;if(!(Ms(1552176)|0))return 1552176;b=0;do{d=1552176+b|0;e=a[d>>0]|0;if((e+-97&255)<26)a[d>>0]=(e&255)+224;b=b+1|0}while(b>>>0<(Ms(1552176)|0)>>>0);return 1552176}function Aq(a,b){a=a|0;b=b|0;la(28,c[515982]|0)|0;c[515702]=a;c[515703]=b;c[515700]=a;c[515701]=b;$p(c[515970]|0);bq(c[515971]|0);return 0}function Bq(){return 0}function Cq(){P();c[694824]=(c[694824]|0)+1;return}function Dq(){c[694824]=(c[694824]|0)+-1;T();return}function Eq(){return 0}function Fq(){return 0}function Gq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=uo()|0;c[694826]=S(B(g,d)|0,B(g,e)|0,32,0)|0;return 0}function Hq(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(f|e|g|h|0)return;if((c[a+8>>2]|0)==8){h=c[694827]|0;do if(!h){l=a;m=8}else{g=c[h>>2]|0;if((g|0)==(c[a>>2]|0)?(e=c[h+4>>2]|0,(e|0)==(c[a+4>>2]|0)):0){n=h;o=g;p=e;q=g;break}Lm(h)|0;l=a;m=8}while(0);if((m|0)==8){m=a+4|0;h=Km(c[l>>2]|0,c[m>>2]|0,32)|0;c[694827]=h;n=h;o=c[h>>2]|0;p=c[m>>2]|0;q=c[l>>2]|0}l=c[n+12>>2]|0;m=c[694819]|0;h=0;do{c[1552432+(h<<2)>>2]=(d[m+(h*3|0)>>0]|0)<<16|(d[m+(h*3|0)+1>>0]|0)<<8|(d[m+(h*3|0)+2>>0]|0)|-16777216;h=h+1|0}while((h|0)!=256);h=o<<2;o=0;do{m=1552432+(o<<2)|0;g=c[m>>2]|0;c[m>>2]=g<<16&16711680|g&-16711936|g>>>16&255;o=o+1|0}while((o|0)!=256);if((p|0)<1|(q|0)==0)r=n;else{o=c[a+16>>2]|0;g=l;l=0;while(1){m=c[o+(l<<2)>>2]|0;e=g;f=q;while(1){c[e>>2]=c[1552432+((d[m>>0]|0)<<2)>>2];f=f+-1|0;if(!f)break;else{m=m+1|0;e=e+4|0}}l=l+1|0;if((l|0)==(p|0)){r=n;break}else g=g+h|0}}}else r=a;Q(c[694826]|0)|0;a=c[694826]|0;if((j|0)>0?(h=r+16|0,r=i<<2,g=a+20|0,Du(c[g>>2]|0,c[c[h>>2]>>2]|0,r|0)|0,(j|0)!=1):0){n=1;do{p=(c[g>>2]|0)+((B(n,i)|0)<<2)|0;Du(p|0,c[(c[h>>2]|0)+(n<<2)>>2]|0,r|0)|0;n=n+1|0}while((n|0)!=(j|0))}U(a|0);return}function Iq(){return M()|0}function Jq(){return}function Kq(){return}function Lq(){return 0}function Mq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(b|0)c[b>>2]=0;if(d|0)c[d>>2]=0;if(!e)return;c[e>>2]=0;return}function Nq(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ga;Ga=Ga+64|0;d=b+48|0;e=b;f=0;do{g=1474736+f|0;h=a[g>>0]|0;a[1475760+f>>0]=h;if(h<<24>>24==3)a[g>>0]=1;f=f+1|0}while((f|0)!=512);f=0;do{if(!(a[1474736+f>>0]|0))a[1475248+f>>0]=0;f=f+1|0}while((f|0)!=512);f=K()|0;a[1474960]=f&64;a[1474964]=f&128;a[1474962]=0;a[1474966]=0;a[1474961]=f&1;a[1474965]=f&2;if(R(e|0)|0){f=e+12|0;do{g=c[e>>2]|0;do if((g&-2|0)==768){h=c[f>>2]|0;i=(h|0)==1104?80:h;h=(i|0)==1103?79:i;i=(h|0)==1106?82:h;h=(i|0)==1105?81:i;i=(h|0)==1099?75:h;h=(i|0)==1102?78:i;i=(h|0)==1248?224:h;if((g|0)!=768){if((i|0)>=512)break;a[1474736+i>>0]=0;a[1475760]=0;break}if((((fn(80)|0)==0?(fn(79)|0)==0:0)?(fn(82)|0)==0:0)?(fn(81)|0)==0:0)j=0;else j=-1;if((i|0)<512){a[1474736+i>>0]=3;a[1475760+i>>0]=0;a[1475248+i>>0]=0}i=c[516530]|0;if((j|0)!=0&(i|0)<32){c[1474608+(i<<2)>>2]=j;c[516530]=i+1}}while(0)}while((R(e|0)|0)!=0)}e=(ka(29)|0)!=0;if(e&(c[516530]|0)<32)do{e=ka(30)|0;j=(e|0)<-1;if(j){c[d>>2]=e;cu(64857,d)|0}f=c[516530]|0;c[1474608+(f<<2)>>2]=j?-1:e;c[516530]=f+1;f=(ka(29)|0)!=0}while(f&(c[516530]|0)<32);d=ka(31)|0;c[515681]=(c[515681]|0)+d;c[515683]=(c[515683]|0)+d;d=ka(32)|0;c[515682]=(c[515682]|0)+d;c[515684]=(c[515684]|0)+d;Oq();if((c[515687]|0)==0?(ka(33)|0)!=0:0){if(c[516530]|0){Ga=b;return 0}}else{c[516530]=0;Eu(1474736,0,512)|0;Eu(1475760,0,512)|0;Eu(1475248,0,512)|0;c[515681]=0;c[515682]=0;c[515683]=0;c[515684]=0}d=0;while(1){if((fn(d)|0)==3)break;if(d>>>0<511)d=d+1|0;else{k=38;break}}if((k|0)==38){Ga=b;return 0}c[368652]=-1;c[516530]=(c[516530]|0)+1;Ga=b;return 0}function Oq(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=Ga;Ga=Ga+16|0;b=a+8|0;d=a+4|0;e=a;Pq(b,d,e);if(!(c[8692]|0)){f=(c[e>>2]|0)>0;g=c[b>>2]|0;h=c[d>>2]|0}else{c[e>>2]=1;c[d>>2]=1;c[b>>2]=1;c[8692]=0;f=1;g=1;h=1}if((f&(h|g|0)>-1?(g|0)<(c[694806]|0):0)?(h|0)<(c[694807]|0):0)ka(34)|0;if(c[515687]|0){Ga=a;return}if(!(ka(33)|0)){Ga=a;return}ka(35)|0;Ga=a;return}function Pq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ga;Ga=Ga+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;if(ka(36)|0){if(a|0)c[a>>2]=ka(37)|0;if(b|0)c[b>>2]=ka(38)|0;if(!d){Ga=e;return}c[d>>2]=ka(39)|0;Ga=e;return}j=(L(f|0,g|0)|0)&255;N(0,h|0,i|0);k=c[h>>2]|0;h=c[i>>2]|0;if((k|0)==0|(h|0)==0){Ga=e;return}i=c[694806]|0;l=c[694807]|0;if(!(+(k|0)/+(h|0)>=+(i|0)/+(l|0))){m=(h-((B(l,k)|0)/(i|0)|0)|0)/2|0;n=(c[g>>2]|0)-m|0;c[g>>2]=n;m=(B(c[694806]|0,c[f>>2]|0)|0)/(k|0)|0;c[f>>2]=m;o=B(c[694806]|0,n)|0;p=k;q=m}else{m=(k-((B(i,h)|0)/(l|0)|0)|0)/2|0;i=(B((c[f>>2]|0)-m|0,l)|0)/(h|0)|0;c[f>>2]=i;o=B(c[g>>2]|0,l)|0;p=h;q=i}i=(o|0)/(p|0)|0;c[g>>2]=i;if(a|0)c[a>>2]=q;if(b|0)c[b>>2]=i;if(!d){Ga=e;return}c[d>>2]=j<<1&4|j&1|j>>>1&2;Ga=e;return}function Qq(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;c[e>>2]=a;as(b,65918,e)|0;Ga=d;return}function Rq(a,b){a=a|0;b=b|0;Vs(b,a)|0;return}function Sq(a,b){a=a|0;b=b|0;Vs(b,a)|0;return}function Tq(b){b=b|0;var c=0,d=0;if(!(ka(22)|0)){Zt(66018)|0;return 0}ka(40)|0;c=Ms(b)|0;if((c|0)>0){d=0;do{la(41,a[b+d>>0]|0)|0;d=d+1|0}while((d|0)!=(c|0))}ka(42)|0;return 0}function Uq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;if(a|0){c[f>>2]=d;c[f+4>>2]=a;cu(66223,f)|0}wt(c[8693]|0)|0;f=br(a,67694)|0;if(f|0){xn(b,1,d,f)|0;Gn(f)}f=c[a+1024>>2]|0;if(!f){op(a);Ga=e;return}Oa[f&7](a);op(a);Ga=e;return}function Vq(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;if(a|0){c[d>>2]=a;cu(66267,d)|0}wt(c[8693]|0)|0;d=c[a+1028>>2]|0;if(!d){op(a);Ga=b;return}Oa[d&7](a);op(a);Ga=b;return}function Wq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ga;Ga=Ga+16|0;g=f;h=kp(1032)|0;Vs(h,b)|0;c[h+1024>>2]=d;c[h+1028>>2]=e;c[g>>2]=a;c[g+4>>2]=h;cu(66293,g)|0;wt(c[8693]|0)|0;pa(a|0,h|0,2,4);Ga=f;return 0}function Xq(){var a=0;if(c[515687]|0){a=0;return a|0}a=ka(33)|0;return a|0}function Yq(a){a=a|0;var b=0;b=c[694828]|0;if(b|0)op(b);b=kp((Ms(a)|0)+1|0)|0;c[694828]=b;Vs(b,a)|0;ka(43)|0;return 0}function Zq(b){b=b|0;var c=0,d=0,e=0;ka(44)|0;c=Ms(b)|0;if((c|0)<=0){d=ka(46)|0;return d|0}e=0;do{la(45,a[b+e>>0]|0)|0;e=e+1|0}while((e|0)!=(c|0));d=ka(46)|0;return d|0}function _q(){if(c[694825]|0)return;c[694825]=1;ka(47)|0;return}function $q(){var b=0,d=0,e=0;if(!(ka(48)|0)){b=c[694828]|0;if(!b){d=mp(2)|0;a[d>>0]=0;e=d;return e|0}else{d=kp((Ms(b)|0)+1|0)|0;Vs(d,c[694828]|0)|0;e=d;return e|0}}a[1553456]=0;if(!(ka(49)|0)){ka(50)|0;a[1553456]=0;d=0;do{b=ka(51)|0;a[1553456+d>>0]=b;d=d+1|0;a[1553456+d>>0]=0}while((b|0)!=0&d>>>0<65536)}else a[1553456]=0;d=mp((Ms(1553456)|0)+1|0)|0;Vs(d,1553456)|0;e=d;return e|0}function ar(a){a=a|0;return 0}function br(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ga;Ga=Ga+1296|0;f=e+1280|0;g=e+1024|0;h=e+512|0;i=e;Mn(b,0,h,i);c[f>>2]=h;c[f+4>>2]=i;as(g,67368,f)|0;f=c[694829]|0;a:do if((f|0)>0){i=0;while(1){h=c[1619008+(i<<2)>>2]|0;i=i+1|0;if(!(Cs(g,h+24|0)|0)){j=h;break a}if((i|0)>=(f|0)){j=0;break}}}else j=0;while(0);switch(a[d>>0]|0){case 114:{if(!j){k=0;Ga=e;return k|0}c[j+20>>2]=0;k=j;Ga=e;return k|0}case 119:{if(!j){d=pp(0)|0;c[d+4>>2]=1;rm(d+24|0,g)|0;g=c[694829]|0;c[1619008+(g<<2)>>2]=d;c[694829]=g+1;k=d;Ga=e;return k|0}else{c[j+16>>2]=0;c[j+20>>2]=0;k=j;Ga=e;return k|0}break}default:{k=0;Ga=e;return k|0}}return 0}function cr(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[694829]|0;if((b|0)<=0){d=0;return d|0}e=0;while(1){if((c[1619008+(e<<2)>>2]|0)==(a|0)){d=1;f=5;break}e=e+1|0;if((e|0)>=(b|0)){d=0;f=5;break}}if((f|0)==5)return d|0;return 0}function dr(){var a=0,b=0,d=0;a=mp(46744)|0;Eu(a|0,0,46744)|0;c[a>>2]=kp(65538)|0;c[a+4>>2]=Km(128,128,8)|0;c[a+8>>2]=Km(128,64,8)|0;b=a+12|0;d=0;do{c[b+(d*660|0)+8>>2]=(d|0)==0?1:16;d=d+1|0}while((d|0)!=64);d=a+42252|0;b=0;do{c[d+(b<<4)>>2]=65;c[d+(b<<4)+4>>2]=66;c[d+(b<<4)+8>>2]=67;c[d+(b<<4)+12>>2]=68;b=b+1|0}while((b|0)!=64);c[a+44584>>2]=sr()|0;c[a+44588>>2]=sr()|0;c[a+44592>>2]=sr()|0;c[a+44596>>2]=sr()|0;Eu(a+44600|0,-1,2144)|0;return a|0}function er(a){a=a|0;if(!a)return;Lm(c[a+4>>2]|0)|0;Lm(c[a+8>>2]|0)|0;Vp(a);Pp(a+12|0);Pp(a+672|0);Pp(a+1332|0);Pp(a+1992|0);Pp(a+2652|0);Pp(a+3312|0);Pp(a+3972|0);Pp(a+4632|0);Pp(a+5292|0);Pp(a+5952|0);Pp(a+6612|0);Pp(a+7272|0);Pp(a+7932|0);Pp(a+8592|0);Pp(a+9252|0);Pp(a+9912|0);Pp(a+10572|0);Pp(a+11232|0);Pp(a+11892|0);Pp(a+12552|0);Pp(a+13212|0);Pp(a+13872|0);Pp(a+14532|0);Pp(a+15192|0);Pp(a+15852|0);Pp(a+16512|0);Pp(a+17172|0);Pp(a+17832|0);Pp(a+18492|0);Pp(a+19152|0);Pp(a+19812|0);Pp(a+20472|0);Pp(a+21132|0);Pp(a+21792|0);Pp(a+22452|0);Pp(a+23112|0);Pp(a+23772|0);Pp(a+24432|0);Pp(a+25092|0);Pp(a+25752|0);Pp(a+26412|0);Pp(a+27072|0);Pp(a+27732|0);Pp(a+28392|0);Pp(a+29052|0);Pp(a+29712|0);Pp(a+30372|0);Pp(a+31032|0);Pp(a+31692|0);Pp(a+32352|0);Pp(a+33012|0);Pp(a+33672|0);Pp(a+34332|0);Pp(a+34992|0);Pp(a+35652|0);Pp(a+36312|0);Pp(a+36972|0);Pp(a+37632|0);Pp(a+38292|0);Pp(a+38952|0);Pp(a+39612|0);Pp(a+40272|0);Pp(a+40932|0);Pp(a+41592|0);op(c[a>>2]|0);tr(c[a+44584>>2]|0);tr(c[a+44588>>2]|0);tr(c[a+44592>>2]|0);tr(c[a+44596>>2]|0);op(a);if((c[733490]|0)!=(a|0))return;c[733490]=0;return}function fr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;d=Ga;Ga=Ga+80|0;e=d+48|0;f=d+40|0;g=d+24|0;h=d+8|0;i=d;j=d+64|0;c[731062]=0;k=kp(196609)|0;l=kp(196609)|0;a[k>>0]=0;m=Hn(k,196608,b)|0;a:while(1){switch(a[m>>0]|0){case 0:{break a;break}case 112:case 10:{n=4;break a;break}default:{}}m=m+1|0}if((n|0)==4?(_r(m,67373,16)|0)==0:0){Hn(k,196608,b)|0;c[j>>2]=0;c[i>>2]=j;At(k,67390,i)|0;if((c[j>>2]|0)>29){op(k);op(l);c[731062]=1;o=0;Ga=d;return o|0}m=dr()|0;c[m+44576>>2]=c[j>>2];p=0;do{Eu(m+12+(p*660|0)|0,0,660)|0;c[m+12+(p*660|0)+8>>2]=(p|0)==0?1:16;p=p+1|0}while((p|0)!=64);p=m+4|0;Fm(c[p>>2]|0);q=m+8|0;Fm(c[q>>2]|0);Eu(m+43548|0,0,1024)|0;a[c[m>>2]>>0]=0;b:do if(!(Dn(b)|0)){r=k+3|0;s=m+44572|0;t=0;u=0;v=0;w=0;x=0;y=0;z=0;c:while(1){Eu(k|0,0,196609)|0;Hn(k,196608,b)|0;if((Dn(b)|0)!=0?(a[k>>0]|0)==0:0){A=-1;B=u;C=v;D=w;E=x;F=y;G=z}else n=14;do if((n|0)==14){n=0;if(_r(k,67401,7)|0)if(_r(k,67409,7)|0)if(_r(k,67417,7)|0)if(_r(k,67425,7)|0)if(_r(k,67433,7)|0)if(_r(k,67441,9)|0)if(_r(k,67451,9)|0)if(!(_r(k,67461,15)|0)){A=7;B=u;C=v;D=w;E=x;F=y;G=z}else{if((t|0)==1){mr(k,l)|0;H=c[m>>2]|0;I=Ms(H)|0;if(((Ms(l)|0)+I|0)>>>0>=65536)break c;Ws(H,l)|0;if(!(Dn(b)|0)){H=c[m>>2]|0;I=H+(Ms(H)|0)|0;a[I>>0]=10;a[I+1>>0]=0}a[(c[m>>2]|0)+65536>>0]=0;A=1;B=u;C=v;D=w;E=x;F=y;G=z;break}if((z|0)<128&(t|0)==2){I=0;do{H=a[k+I>>0]|0;J=H+-48|0;a[(c[(c[(c[p>>2]|0)+16>>2]|0)+(z<<2)>>2]|0)+I>>0]=J>>>0<10?J:(H+-97|0)>>>0<6?H+169|0:0;I=I+1|0}while((I|0)!=128);K=z+1|0}else K=z;if((u|0)<2&(t|0)==10){I=u<<7;H=(c[j>>2]|0)>2;J=0;do{if(H){L=J<<1;M=a[k+L>>0]|0;N=M+-48|0;O=a[k+(L|1)>>0]|0;L=O+-48|0;P=((N>>>0<10?N:(M+-97|0)>>>0<6?M+268435369|0:0)<<4)+(L>>>0<10?L:(O+-97|0)>>>0<6?O+-87|0:0)|0}else{O=a[k+J>>0]|0;L=O+-48|0;P=L>>>0<10?L:(O+-97|0)>>>0<6?O+-87|0:0}c[m+43548+(J+I<<2)>>2]=P;J=J+1|0}while((J|0)!=128);Q=u+1|0}else Q=u;if((x|0)<64&(t|0)==3){J=0;do{I=J<<1;H=a[k+I>>0]|0;O=H+-48|0;L=a[k+(I|1)>>0]|0;I=L+-48|0;a[(c[(c[(c[q>>2]|0)+16>>2]|0)+(x<<2)>>2]|0)+J>>0]=((O>>>0<10?O:(H+-97|0)>>>0<6?H+9|0:0)<<4)+(I>>>0<10?I:(L+-97|0)>>>0<6?L+169|0:0);J=J+1|0}while((J|0)!=128);R=x+1|0}else R=x;if((w|0)<64&(t|0)==4){c[i>>2]=0;c[h>>2]=i;c[h+4>>2]=m+12+(w*660|0)+8;c[h+8>>2]=m+12+(w*660|0)+12;c[h+12>>2]=m+12+(w*660|0)+16;At(k,67477,h)|0;J=c[i>>2]|0;c[m+12+(w*660|0)+4>>2]=J&1;c[m+12+(w*660|0)>>2]=J&254;J=0;do{L=m+12+(w*660|0)+20+(J*20|0)|0;I=m+12+(w*660|0)+20+(J*20|0)+4|0;H=m+12+(w*660|0)+20+(J*20|0)+8|0;O=m+12+(w*660|0)+20+(J*20|0)+12|0;c[g>>2]=L;c[g+4>>2]=I;c[g+8>>2]=H;c[g+12>>2]=O;At(k+((J*5|0)+8)|0,67494,g)|0;M=c[O>>2]|0;if(M&8|0)c[m+12+(w*660|0)+20+(J*20|0)+16>>2]=128;N=c[I>>2]|0;if(N&8|0)c[m+12+(w*660|0)+20+(J*20|0)+16>>2]=128;c[O>>2]=M&7;c[I>>2]=N&7;c[H>>2]=c[H>>2]&7;c[L>>2]=c[L>>2]&63;J=J+1|0}while((J|0)!=32);S=w+1|0}else S=w;if((v|0)<64&(t|0)==5){if((c[j>>2]|0)>2){c[f>>2]=m+43276+(v<<2);At(k,67508,f)|0;T=r}else T=k;J=m+42252+(v<<4)|0;L=m+42252+(v<<4)+4|0;H=m+42252+(v<<4)+8|0;N=m+42252+(v<<4)+12|0;c[e>>2]=J;c[e+4>>2]=L;c[e+8>>2]=H;c[e+12>>2]=N;At(T,67477,e)|0;do if((c[j>>2]|0)<4){if(!(c[J>>2]|0))c[J>>2]=65;if(!(c[L>>2]|0))c[L>>2]=65;if(!(c[H>>2]|0))c[H>>2]=65;if(c[N>>2]|0)break;c[N>>2]=65}while(0);A=5;B=Q;C=v+1|0;D=S;E=R;F=y;G=K;break}if((y|0)<128&(t|0)==6){if(!(c[s>>2]|0))c[s>>2]=Km(128,128,8)|0;N=0;do{H=a[k+N>>0]|0;L=H+-48|0;do if(L>>>0>=10)if((H+-97|0)>>>0<22){U=H+-87|0;break}else{U=(H+-65|0)>>>0<22?H+-55|0:0;break}else U=L;while(0);a[(c[(c[(c[s>>2]|0)+16>>2]|0)+(y<<2)>>2]|0)+N>>0]=(U|0)>15?U+112|0:U;N=N+1|0}while((N|0)!=128);V=y+1|0}else V=y;if((t|0)!=7){A=t;B=Q;C=v;D=S;E=R;F=V;G=K;break}N=0;do{L=N<<1;H=a[k+L>>0]|0;J=H+-48|0;I=a[k+(L|1)>>0]|0;L=I+-48|0;a[m+44600+N>>0]=((J>>>0<10?J:(H+-97|0)>>>0<6?H+9|0:0)<<4)+(L>>>0<10?L:(I+-97|0)>>>0<6?I+169|0:0);N=N+1|0}while((N|0)!=2144);A=0;B=Q;C=v;D=S;E=R;F=V;G=K}else{A=6;B=u;C=v;D=w;E=x;F=y;G=z}else{A=5;B=u;C=v;D=w;E=x;F=y;G=z}else{A=4;B=u;C=v;D=w;E=x;F=y;G=z}else{A=3;B=u;C=v;D=w;E=x;F=y;G=z}else{A=10;B=u;C=v;D=w;E=x;F=y;G=z}else{A=2;B=u;C=v;D=w;E=x;F=y;G=z}else{A=1;B=u;C=v;D=w;E=x;F=y;G=z}}while(0);if((A|0)!=-1&(Dn(b)|0)==0){t=A;u=B;v=C;w=D;x=E;y=F;z=G}else break b}op(k);op(l);c[731062]=2;o=0;Ga=d;return o|0}while(0);G=c[m>>2]|0;if(a[G>>0]|0)a[G+((Ms(G)|0)+-1)>>0]=0;op(k);op(l);o=m;Ga=d;return o|0}op(k);op(l);o=0;Ga=d;return o|0}function gr(a){a=a|0;var b=0,c=0;b=Fn(a,67514)|0;if(!b){c=0;return c|0}a=fr(b)|0;Gn(b);c=a;return c|0}function hr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=Ga;Ga=Ga+256|0;g=f;Eu(g|0,0,256)|0;Rn(e,67516,0)|0;Rn(e,67559,29)|0;Rn(e,67571,0)|0;h=mp(196614)|0;rr(c[b>>2]|0,h)|0;xn(h,1,Ms(h)|0,e)|0;op(h);Rn(e,67580,0)|0;h=b+4|0;i=c[(c[h>>2]|0)+16>>2]|0;j=-1;k=0;while(1){l=c[i+(k<<2)>>2]|0;m=0;n=j;do{n=(a[l+m>>0]|0)==0?n:k;m=m+1|0}while((m|0)!=128);k=k+1|0;if((k|0)==128)break;else j=n}if((n|0)>-1){Rn(e,67582,0)|0;j=0;while(1){k=0;do{i=a[(c[(c[(c[h>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+k>>0]|0;Sn(e,67591,((i&255)<15?i:15)&255,0,0,0)|0;k=k+1|0}while((k|0)!=128);Rn(e,67580,0)|0;if((j|0)==(n|0))break;else j=j+1|0}}j=b+44572|0;n=c[j>>2]|0;if((n|0?(c[n>>2]|0)==128:0)?(c[n+4>>2]|0)==128:0){h=c[n+12>>2]|0;n=0;k=0;do{n=(a[h+k>>0]|0)==0?n:1;k=k+1|0}while((k|0)!=16384);if(n|0){Rn(e,67594,0)|0;n=0;do{k=(c[j>>2]|0)+16|0;h=0;do{i=a[(c[(c[k>>2]|0)+(n<<2)>>2]|0)+h>>0]|0;m=i&15;l=i<<24>>24<0?m|16:m;a[g+h>>0]=(l>>>0<10?48:87)+l;h=h+1|0}while((h|0)!=128);xn(g,1,128,e)|0;Rn(e,67580,0)|0;n=n+1|0}while((n|0)!=128);Rn(e,67580,0)|0}}n=0;g=0;do{n=(c[b+43548+(g<<2)>>2]|0)==0?n:1;g=g+1|0}while((g|0)!=256);if(n|0){Rn(e,67605,0)|0;n=0;do{Sn(e,67614,c[b+43548+(n<<2)>>2]&255,0,0,0)|0;n=n+1|0}while((n|0)!=128);Rn(e,67580,0)|0;n=0;do{Sn(e,67614,c[b+43548+(n+128<<2)>>2]&255,0,0,0)|0;n=n+1|0}while((n|0)!=128);Rn(e,67580,0)|0}n=b+8|0;g=c[(c[n>>2]|0)+16>>2]|0;j=-1;h=0;while(1){k=c[g+(h<<2)>>2]|0;o=j;l=0;do{o=(a[k+l>>0]|0)==0?o:h;l=l+1|0}while((l|0)!=128);h=h+1|0;if((h|0)==32)break;else j=o}if((o|0)>-1){Rn(e,67619,0)|0;j=0;while(1){h=0;do{Sn(e,67614,d[(c[(c[(c[n>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+h>>0]|0,0,0,0)|0;h=h+1|0}while((h|0)!=128);Rn(e,67580,0)|0;if((j|0)==(o|0))break;else j=j+1|0}}j=-1;o=0;while(1){n=(c[b+12+(o*660|0)+4>>2]|0)==0?j:o;h=c[b+12+(o*660|0)+8>>2]|0;p=(c[b+12+(o*660|0)+16>>2]|c[b+12+(o*660|0)+12>>2]|0)==0?((o|0)==0?((h|0)==1?n:o):(h|0)==16?n:o):o;n=0;do{p=(c[b+12+(o*660|0)+20+(n*20|0)+4>>2]|c[b+12+(o*660|0)+20+(n*20|0)>>2]|c[b+12+(o*660|0)+20+(n*20|0)+16>>2]|c[b+12+(o*660|0)+20+(n*20|0)+8>>2]|c[b+12+(o*660|0)+20+(n*20|0)+12>>2]|0)==0?p:o;n=n+1|0}while((n|0)!=32);o=o+1|0;if((o|0)==64)break;else j=p}if((p|0)>-1){Rn(e,67628,0)|0;j=0;while(1){o=c[b+12+(j*660|0)+8>>2]|0;n=(o|0)<255?o:255;o=c[b+12+(j*660|0)+12>>2]|0;h=(o|0)<255?o:255;o=c[b+12+(j*660|0)+16>>2]|0;g=(o|0)<255?o:255;Sn(e,67477,c[b+12+(j*660|0)>>2]&254|(c[b+12+(j*660|0)+4>>2]|0)!=0,(n|0)>0?n:0,(h|0)>0?h:0,(g|0)>0?g:0)|0;g=0;do{h=c[b+12+(j*660|0)+20+(g*20|0)>>2]|0;n=(h|0)<63?h:63;h=c[b+12+(j*660|0)+20+(g*20|0)+4>>2]|0;o=(h|0)<7?h:7;h=c[b+12+(j*660|0)+20+(g*20|0)+8>>2]|0;l=(h|0)<7?h:7;h=c[b+12+(j*660|0)+20+(g*20|0)+12>>2]|0;k=(h|0)<7?h:7;Sn(e,67637,(n|0)>0?n:0,((o|0)>0?o:0)+((c[b+12+(j*660|0)+20+(g*20|0)+16>>2]|0)==0?0:8)|0,(l|0)>0?l:0,(k|0)>0?k:0)|0;g=g+1|0}while((g|0)!=32);Rn(e,67580,0)|0;if((j|0)==(p|0))break;else j=j+1|0}}j=-1;p=0;do{j=(c[b+42252+(p<<4)+8>>2]|0)==67&((c[b+42252+(p<<4)+4>>2]|0)==66&((c[b+43276+(p<<2)>>2]|0)==0?(c[b+42252+(p<<4)>>2]|0)==65:0))?j:p;p=p+1|0}while((p|0)!=64);if((j|0)>-1){Rn(e,67648,0)|0;p=0;while(1){Sn(e,67508,c[b+43276+(p<<2)>>2]|0,0,0,0)|0;Sn(e,67659,c[b+42252+(p<<4)>>2]|0,c[b+42252+(p<<4)+4>>2]|0,c[b+42252+(p<<4)+8>>2]|0,c[b+42252+(p<<4)+12>>2]|0)|0;if((p|0)==(j|0))break;else p=p+1|0}Rn(e,67580,0)|0}p=0;j=0;do{j=(a[b+44600+p>>0]|0)==-1?j:1;p=p+1|0}while((p|0)!=2144);if(!j){Ga=f;return 0}Rn(e,67677,0)|0;j=0;do{Sn(e,67614,d[b+44600+j>>0]|0,0,0,0)|0;j=j+1|0}while((j|0)!=2144);Rn(e,67580,0)|0;Ga=f;return 0}function ir(a,b){a=a|0;b=b|0;var c=0,d=0;c=Fn(b,67694)|0;if(!c){d=1;return d|0}hr(a,c)|0;Gn(c);d=0;return d|0}function jr(a,b){a=a|0;b=b|0;var d=0,e=0;d=kp(370)|0;if(!a){e=pp(b+1|0)|0;c[d+4>>2]=e;c[d>>2]=c[e+12>>2]}else c[d>>2]=a;c[d+8>>2]=b;b=sr()|0;c[d+364>>2]=b;c[b+16>>2]=24;kr(d);return d|0}function kr(a){a=a|0;var b=0,d=0;b=pp(2048)|0;d=c[a>>2]|0;xn(d,1,(Ms(d)|0)+1|0,b)|0;wn(c[a+336>>2]|0,b);wn(c[a+344>>2]|0,b);wn(c[a+348>>2]|0,b);wn(c[a+320>>2]|0,b);wn(c[a+324>>2]|0,b);wn(c[a+352>>2]|0,b);d=c[a+364>>2]|0;vr(b,d,(Ms(c[a>>2]|0)|0)+1|0)|0;return}function lr(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b|0)rp(b);tr(c[a+364>>2]|0);op(a);return}function mr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=Ms(b)|0;if(!d)f=mp(e+1|0)|0;else f=d;a[f>>0]=0;if((e|0)<=0)return f|0;d=f;g=0;while(1){h=(a[b+g>>0]|0)+256|0;i=(h|0)%256|0;do if((i|0)>127){j=b+(g+1)|0;k=b+(g+2)|0;l=b+(g+3)|0;m=b+(g+4)|0;n=b+(g+5)|0;o=b+(g+6)|0;p=0;while(1){q=a[30432+(p*7|0)>>0]|0;if(q<<24>>24!=0&(i|0)==(q&255|0)){r=a[30432+(p*7|0)+1>>0]|0;if(r<<24>>24?(((a[j>>0]|0)+256|0)%256|0|0)==(r&255|0):0){s=a[30432+(p*7|0)+2>>0]|0;if(s<<24>>24?(((a[k>>0]|0)+256|0)%256|0|0)==(s&255|0):0){t=a[30432+(p*7|0)+3>>0]|0;if(t<<24>>24?(((a[l>>0]|0)+256|0)%256|0|0)==(t&255|0):0){u=a[30432+(p*7|0)+4>>0]|0;if(u<<24>>24?(((a[m>>0]|0)+256|0)%256|0|0)==(u&255|0):0){v=a[30432+(p*7|0)+5>>0]|0;if(v<<24>>24?(((a[n>>0]|0)+256|0)%256|0|0)==(v&255|0):0){w=a[30432+(p*7|0)+6>>0]|0;if(w<<24>>24?(((a[o>>0]|0)+256|0)%256|0|0)==(w&255|0):0){x=7;y=11;break}else{z=6;A=w}}else{z=5;A=v}}else{z=4;A=u}}else{z=3;A=t}}else{z=2;A=s}}else{z=1;A=r}}else{z=0;A=q}if(!(A<<24>>24)){x=z;y=11;break}q=p+1|0;if(q>>>0<70)p=q;else break}if((y|0)==11){y=0;if(p>>>0>=26)if(p>>>0<42)B=246;else B=p>>>0<44?212:21;else B=128;a[d>>0]=p+B;o=d+1|0;a[o>>0]=0;C=o;D=g+-1+x|0;break}if((i|0)==227){o=d;n=g;m=0;l=-1;while(1){k=b+(n+1)|0;j=c[30992+(m<<2)>>2]|0;if((((a[k>>0]|0)+256|0)%256|0|0)==(j>>>8&255|0)?(q=n+2|0,r=o+1|0,(((a[b+q>>0]|0)+256|0)%256|0|0)==(j&255|0)):0){a[o>>0]=m+154;a[r>>0]=0;E=r;F=q;G=m;H=b+(n+3)|0}else{E=o;F=n;G=l;H=k}k=c[31200+(m<<2)>>2]|0;if((((a[H>>0]|0)+256|0)%256|0|0)==(k>>>8&255|0)?(q=F+2|0,r=E+1|0,(((a[b+q>>0]|0)+256|0)%256|0|0)==(k&255|0)):0){a[E>>0]=m+204;a[r>>0]=0;I=r;J=q;K=m}else{I=E;J=F;K=G}m=m+1|0;if((m|0)==50)break;else{o=I;n=J;l=K}}if((K|0)<0){L=I;M=J;N=K;O=(a[b+J>>0]|0)+256|0;y=26}else{C=I;D=J}}else{L=d;M=g;N=-1;O=h;y=26}}else{L=d;M=g;N=-1;O=h;y=26}while(0);do if((y|0)==26){y=0;if((((O|0)%256|0|0)==226?(((a[b+(M+1)>>0]|0)+256|0)%256|0|0)==151:0)?(h=M+2|0,(((a[b+h>>0]|0)+256|0)%256|0|0)==139):0){a[L>>0]=127;i=L+1|0;a[i>>0]=0;C=i;D=h;break}h=1;i=L;l=M;n=N;while(1){a:do if((h|0)<4){o=c[30928+(h<<2)>>2]|0;if((o>>>8&255|0)==(((a[b+l>>0]|0)+256|0)%256|0|0)?(m=l+1|0,(o&255|0)==(((a[b+m>>0]|0)+256|0)%256|0|0)):0){a[i>>0]=h;o=i+1|0;a[o>>0]=0;P=1e3;Q=o;R=m;S=h}else{P=h;Q=i;R=l;S=n}}else{switch(h|0){case 9:case 10:case 13:{P=h;Q=i;R=l;S=n;break a;break}default:{}}m=c[30928+(h<<2)>>2]|0;if(((m>>>16&255|0)==(((a[b+l>>0]|0)+256|0)%256|0|0)?(m>>>8&255|0)==(((a[b+(l+1)>>0]|0)+256|0)%256|0|0):0)?(o=l+2|0,(m&255|0)==(((a[b+o>>0]|0)+256|0)%256|0|0)):0){a[i>>0]=h;m=i+1|0;a[m>>0]=0;P=1e3;Q=m;R=o;S=h}else{P=h;Q=i;R=l;S=n}}while(0);if((P|0)<15){h=P+1|0;i=Q;l=R;n=S}else break}if((S|0)<0?(n=a[b+R>>0]|0,n<<24>>24!=13):0){a[Q>>0]=n;n=Q+1|0;a[n>>0]=0;C=n;D=R}else{C=Q;D=R}}while(0);g=D+1|0;if((g|0)>=(e|0))break;else d=C}return f|0}function nr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=c[b+292>>2]|0;if(!e)return;f=c[b+336>>2]|0;a:do if(!f){g=0;h=0;i=b+308|0;j=b+312|0}else{k=c[b>>2]|0;l=b+308|0;m=b+312|0;n=b+316|0;o=k;p=0;q=0;r=k;while(1){k=a[r>>0]|0;if(!(k<<24>>24)){g=0;h=0;i=l;j=m;break a}do if(!(k<<24>>24<0?1:(((k<<24>>24)+256|0)%256|0|0)>127))if(k<<24>>24==9){s=c[n>>2]|0;t=(s|0)>4?s:4;u=p;v=q-((q|0)%(t|0)|0)+t|0;break}else{w=c[l>>2]|0;x=11;break}else{w=c[l>>2]<<1;x=11}while(0);if((x|0)==11){x=0;if(k<<24>>24==10){u=(c[m>>2]|0)+p|0;v=0}else{u=p;v=w+q|0}}r=r+1|0;if((r-o|0)==(f|0)){g=u;h=v;i=l;j=m;break}else{p=u;q=v}}}while(0);v=(c[j>>2]|0)-(c[e+16>>2]|0)+g|0;j=b+324|0;u=c[j>>2]|0;f=(u|0)<(g|0)?u:g;u=(d|0)==0?((v|0)>(f|0)?v:f):g-d|0;c[j>>2]=(u|0)>0?u:0;u=(c[i>>2]|0)-(c[e+12>>2]|0)+h|0;e=b+320|0;b=c[e>>2]|0;i=(b|0)<(h|0)?b:h;h=(u|0)>(i|0)?u:i;c[e>>2]=(h|0)>0?h:0;return}function or(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=Ms(b)|0;if(!d)g=mp((f*7|0)+1|0)|0;else g=d;a[g>>0]=0;if((f|0)<=0)return g|0;d=(e|0)==0;e=g;h=0;while(1){i=a[b+h>>0]|0;j=((i<<24>>24)+256|0)%256|0;a:do if((j+-1|0)>>>0>=3){b:do if((j|0)<16){switch(j|0){case 13:case 10:case 9:{break b;break}default:{}}k=c[30928+(j<<2)>>2]|0;a[e>>0]=k>>>16;a[e+1>>0]=k>>>8;a[e+2>>0]=k;l=e+3|0;break a}else{if((j|0)==127){a[e>>0]=-30;a[e+1>>0]=-105;a[e+2>>0]=-117;l=e+3|0;break a}k=j+-128|0;if(k>>>0>=26){m=j+-154|0;if(m>>>0<50){a[e>>0]=-29;n=c[30992+(m<<2)>>2]|0;a[e+1>>0]=n>>>8;a[e+2>>0]=n;l=e+3|0;break a}n=j+-204|0;if(n>>>0>=50)break;a[e>>0]=-29;m=c[31200+(n<<2)>>2]|0;a[e+1>>0]=m>>>8;a[e+2>>0]=m;l=e+3|0;break a}m=a[30432+(k*7|0)>>0]|0;if(!(m<<24>>24))o=e;else{a[e>>0]=m;o=e+1|0}m=a[30432+(k*7|0)+1>>0]|0;if(!(m<<24>>24))p=o;else{a[o>>0]=m;p=o+1|0}m=a[30432+(k*7|0)+2>>0]|0;if(!(m<<24>>24))q=p;else{a[p>>0]=m;q=p+1|0}m=a[30432+(k*7|0)+3>>0]|0;if(!(m<<24>>24))r=q;else{a[q>>0]=m;r=q+1|0}m=a[30432+(k*7|0)+4>>0]|0;if(!(m<<24>>24))s=r;else{a[r>>0]=m;s=r+1|0}m=a[30432+(k*7|0)+5>>0]|0;if(!(m<<24>>24))t=s;else{a[s>>0]=m;t=s+1|0}m=a[30432+(k*7|0)+6>>0]|0;if(!(m<<24>>24)){l=t;break a}a[t>>0]=m;l=t+1|0;break a}while(0);if((j&-16|0)==16){m=j+10|0;k=a[30432+(m*7|0)>>0]|0;if(!(k<<24>>24))u=e;else{a[e>>0]=k;u=e+1|0}k=a[30432+(m*7|0)+1>>0]|0;if(!(k<<24>>24))v=u;else{a[u>>0]=k;v=u+1|0}k=a[30432+(m*7|0)+2>>0]|0;if(!(k<<24>>24))w=v;else{a[v>>0]=k;w=v+1|0}k=a[30432+(m*7|0)+3>>0]|0;if(!(k<<24>>24))x=w;else{a[w>>0]=k;x=w+1|0}k=a[30432+(m*7|0)+4>>0]|0;if(!(k<<24>>24))y=x;else{a[x>>0]=k;y=x+1|0}k=a[30432+(m*7|0)+5>>0]|0;if(!(k<<24>>24))z=y;else{a[y>>0]=k;z=y+1|0}k=a[30432+(m*7|0)+6>>0]|0;if(!(k<<24>>24)){l=z;break}a[z>>0]=k;l=z+1|0;break}if((j|0)>253){k=j+-212|0;m=a[30432+(k*7|0)>>0]|0;if(!(m<<24>>24))A=e;else{a[e>>0]=m;A=e+1|0}m=a[30432+(k*7|0)+1>>0]|0;if(!(m<<24>>24))B=A;else{a[A>>0]=m;B=A+1|0}m=a[30432+(k*7|0)+2>>0]|0;if(!(m<<24>>24))C=B;else{a[B>>0]=m;C=B+1|0}m=a[30432+(k*7|0)+3>>0]|0;if(!(m<<24>>24))D=C;else{a[C>>0]=m;D=C+1|0}m=a[30432+(k*7|0)+4>>0]|0;if(!(m<<24>>24))E=D;else{a[D>>0]=m;E=D+1|0}m=a[30432+(k*7|0)+5>>0]|0;if(!(m<<24>>24))F=E;else{a[E>>0]=m;F=E+1|0}m=a[30432+(k*7|0)+6>>0]|0;if(!(m<<24>>24)){l=F;break}a[F>>0]=m;l=F+1|0;break}if(!(d&(j+-65|0)>>>0<26)){a[e>>0]=i;l=e+1|0;break}m=j+-21|0;k=a[30432+(m*7|0)>>0]|0;if(!(k<<24>>24))G=e;else{a[e>>0]=k;G=e+1|0}k=a[30432+(m*7|0)+1>>0]|0;if(!(k<<24>>24))H=G;else{a[G>>0]=k;H=G+1|0}k=a[30432+(m*7|0)+2>>0]|0;if(!(k<<24>>24))I=H;else{a[H>>0]=k;I=H+1|0}k=a[30432+(m*7|0)+3>>0]|0;if(!(k<<24>>24))J=I;else{a[I>>0]=k;J=I+1|0}k=a[30432+(m*7|0)+4>>0]|0;if(!(k<<24>>24))K=J;else{a[J>>0]=k;K=J+1|0}k=a[30432+(m*7|0)+5>>0]|0;if(!(k<<24>>24))L=K;else{a[K>>0]=k;L=K+1|0}k=a[30432+(m*7|0)+6>>0]|0;if(!(k<<24>>24))l=L;else{a[L>>0]=k;l=L+1|0}}else{k=c[30928+(j<<2)>>2]|0;a[e>>0]=k>>>8;a[e+1>>0]=k;l=e+2|0}while(0);a[l>>0]=0;h=h+1|0;if((h|0)==(f|0))break;else e=l}return g|0}function pr(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0){e=0;return e|0}f=c;c=b;b=0;g=d;while(1){f=f+-1|0;d=b+(g<<24>>24==10&1)|0;c=c+1|0;g=a[c>>0]|0;if((f|0)==0|g<<24>>24==0){e=d;break}else b=d}return e|0}function qr(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0){e=b;f=e;g=b;h=f-g|0;return h|0}i=0;j=b;k=d;while(1){i=i+(k<<24>>24==10&1)|0;d=j+1|0;k=a[d>>0]|0;if((i|0)==(c|0)|k<<24>>24==0){e=d;break}else j=d}f=e;g=b;h=f-g|0;return h|0}function rr(a,b){a=a|0;b=b|0;return or(a,b,1)|0}function sr(){var a=0;a=kp(20)|0;c[a>>2]=pp(0)|0;c[a+4>>2]=pp(0)|0;c[a+8>>2]=pp(0)|0;c[a+12>>2]=pp(0)|0;return a|0}function tr(a){a=a|0;if(!a)return;rp(c[a>>2]|0);rp(c[a+4>>2]|0);rp(c[a+8>>2]|0);rp(c[a+12>>2]|0);return}function ur(a){a=a|0;if(!a)return;sp(c[a>>2]|0);sp(c[a+4>>2]|0);sp(c[a+8>>2]|0);sp(c[a+12>>2]|0);return}function vr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+8|0;f=c[e>>2]|0;g=c[f+16>>2]|0;if(!g){rp(f);c[e>>2]=a;h=0;return h|0}if((c[a+16>>2]|0)==(g|0)?(Zr(c[a+12>>2]|0,c[f+12>>2]|0,((d|0)<1?g:0)+d|0)|0)==0:0){rp(a);h=0;return h|0}d=wr(a,f,c[b+16>>2]|0)|0;f=c[b+4>>2]|0;g=d+16|0;xn(c[d+12>>2]|0,1,c[g>>2]|0,f)|0;wn(c[g>>2]|0,f);rp(d);sp(c[b>>2]|0);rp(c[e>>2]|0);c[e>>2]=a;h=1;return h|0}function wr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=pp(0)|0;h=(c[b+16>>2]|0)-f|0;i=e+16|0;j=(c[i>>2]|0)-f|0;k=(h|0)<(j|0)?h:j;if((k|0)<0)return g|0;a:do if(k){l=c[b+12>>2]|0;m=c[e+12>>2]|0;n=0;while(1){if((a[l+n>>0]|0)!=(a[m+n>>0]|0)){o=n;break}p=n+1|0;if((p|0)<(k|0))n=p;else{o=p;break}}if((k|0)>0){n=c[b+12>>2]|0;m=h+-1|0;l=c[e+12>>2]|0;p=j+-1|0;q=0;r=0;while(1){if((a[n+(m+q)>>0]|0)!=(a[l+(p+q)>>0]|0)){s=r;t=q;u=o;break a}v=r+1|0;w=~r;if((v|0)<(k-v|0)){q=w;r=v}else{s=v;t=w;u=o;break}}}else{s=0;t=0;u=o}}else{s=0;t=0;u=0}while(0);yn(j,g);yn(u,g);yn(s,g);s=j-u+t|0;t=(s+7|0)/8|0;j=(s|0)>0;if(j){o=b+12|0;b=e+12|0;k=0;do{r=k<<3;do if((r|0)<(s|0)){q=r+u|0;if((q|0)<(h|0)?(a[(c[o>>2]|0)+q>>0]|0)==(a[(c[b>>2]|0)+q>>0]|0):0){x=0;break}x=1}else x=0;while(0);q=r|1;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){y=x;break}y=x|2}else y=x;while(0);q=r|2;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){z=y;break}z=y|4}else z=y;while(0);q=r|3;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){A=z;break}A=z|8}else A=z;while(0);q=r|4;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){B=A;break}B=A|16}else B=A;while(0);q=r|5;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){C=B;break}C=B|32}else C=B;while(0);q=r|6;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){D=C;break}D=C|64}else D=C;while(0);q=r|7;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){E=D;break}E=D|-128}else E=D;while(0);zn(E,g);k=k+1|0}while((k|0)<(t|0));if(j){j=g+12|0;t=e+12|0;k=0;do{E=k+u|0;if(!((E|0)<(h|0)?!(1<<(k&7)&d[(c[j>>2]|0)+((k>>>3)+12)>>0]|0):0))zn(a[(c[t>>2]|0)+E>>0]|0,g);k=k+1|0}while((k|0)!=(s|0));F=t}else G=18}else G=18;if((G|0)==18)F=e+12|0;e=g+20|0;c[e>>2]=c[g+16>>2];xn((c[F>>2]|0)+((c[i>>2]|0)-f)|0,1,f,g)|0;wn(f,g);c[e>>2]=0;return g|0}function xr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0,D=0,E=0,F=0;e=d+64|0;f=c[e>>2]|0;g=d+68|0;h=c[g>>2]|0;i=c[b+525580>>2]|0;a:do if(!i)j=f;else{k=c[d+28>>2]|0;if((k|0)<=-1?(c[d+32>>2]|0)==0:0){j=f;break}switch(k|0){case 0:{switch((i|0)%3|0|0){case 1:{j=(c[d+32>>2]>>4)+f|0;break a;break}case 2:{j=(c[d+32>>2]&15)+f|0;break a;break}default:{j=f;break a}}break}case 1:{c[g>>2]=(c[d+32>>2]<<4)+h;j=f;break a;break}case 2:{c[g>>2]=h-(c[d+32>>2]<<4);j=f;break a;break}case 3:{k=c[d+76>>2]|0;if((f|0)<(k|0)){l=(c[d+32>>2]<<4)+h|0;c[g>>2]=l;if((l|0)<0){m=255-l+((l|0)>-256?l:-256)|0;n=f+-1-(m>>>8)|0;o=l+256+(m&-256)|0;c[e>>2]=n;c[g>>2]=o;p=o;q=n}else{p=l;q=f}if((p|0)>255){l=~p;n=p+256+((l|0)>-512?l:-512)|0;l=(n>>>8)+1+q|0;c[e>>2]=l;c[g>>2]=p+-256-(n&-256);r=l}else r=q;if((r|0)<(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a}if((f|0)<=(k|0)?(h|0)==0|(f|0)!=(k|0):0){j=f;break a}l=h-(c[d+32>>2]<<4)|0;c[g>>2]=l;if((l|0)<0){n=255-l+((l|0)>-256?l:-256)|0;o=f+-1-(n>>>8)|0;m=l+256+(n&-256)|0;c[e>>2]=o;c[g>>2]=m;s=m;t=o}else{s=l;t=f}if((s|0)>255){l=~s;o=s+256+((l|0)>-512?l:-512)|0;l=(o>>>8)+1+t|0;c[e>>2]=l;c[g>>2]=s+-256-(o&-256);u=l}else u=t;if((u|0)>(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a;break}case 4:{k=c[d+32>>2]>>4;if(!k){j=f;break a}l=B(c[b+525588>>2]|0,k)|0;k=c[(c[b>>2]|0)+48>>2]|0;c[d+60>>2]=65536/((B(l,k)|0)/(k+-1|0)|0|0)|0;j=f;break a;break}case 10:{k=d+8|0;l=(c[k>>2]|0)-(c[d+32>>2]|0)|0;o=(l|0)<63?l:63;c[k>>2]=(o|0)>0?o:0;j=f;break a;break}default:{j=f;break a}}}while(0);f=c[d+4>>2]|0;if(!f)return;g=c[b>>2]|0;if((f|0)>(c[g+64>>2]|0))return;b=c[g+68>>2]|0;if((c[d+28>>2]|0)==4){g=c[d+32>>2]|0;e=d+56|0;u=(g>>4<<5)+(c[e>>2]|0)|0;c[e>>2]=u&2047;e=u+512&2047;v=(B(512-(e>>>0<1024?e:2048-e|0)|0,g&15)|0)/16|0}else v=0;g=(c[b+(f*332|0)+100>>2]|0)+j|0;j=h-((c[b+(f*332|0)+88>>2]|0)/2|0)+v|0;if((j|0)<0){v=255-j+((j|0)>-256?j:-256)|0;w=g+-1-(v>>>8)|0;x=j+256+(v&-256)|0}else{w=g;x=j}if((x|0)>255){j=~x;g=x+256+((j|0)>-512?j:-512)|0;y=w+1+(g>>>8)|0;z=x+-256-(g&-256)|0}else{y=w;z=x}if((y|0)<0)A=1;else{x=(y>>>0)/12|0;C=+(c[31408+((y-(x*12|0)<<3)+((z|0)/32|0)<<2)>>2]<<4|0)*64.0/+(1<<x|0);A=C!=0.0?~~(916317184.0/C/44742.0*65536.0*256.0+.5):3749769}c[d+52>>2]=A;A=c[b+(f*332|0)+128>>2]|0;if(A|0?a[b+(f*332|0)+116>>0]&1:0){x=d+20|0;z=c[x>>2]|0;y=A+-1|0;if((z|0)<(y|0)?(w=z+1|0,(c[d+24>>2]|0)>=(c[b+(f*332|0)+132+(w<<2)>>2]|0)):0){c[x>>2]=w;D=w}else D=z;z=(D|0)<(y|0)?D:y;y=(z|0)>0?z:0;c[x>>2]=y;x=y+1|0;if((x|0)<(A|0)){A=c[b+(f*332|0)+132+(y<<2)>>2]|0;z=(c[b+(f*332|0)+132+(x<<2)>>2]|0)-A|0;D=d+24|0;w=c[D>>2]|0;g=w-A|0;A=B(z-g|0,c[b+(f*332|0)+180+(y<<2)>>2]|0)|0;j=d+16|0;c[j>>2]=A;c[j>>2]=((B(c[b+(f*332|0)+180+(x<<2)>>2]|0,g)|0)+A|0)/(z|0)|0;E=D;F=w}else{c[d+16>>2]=c[b+(f*332|0)+180+(y<<2)>>2];y=d+24|0;E=y;F=c[y>>2]|0}c[E>>2]=F+1;return}c[d+16>>2]=64;return}function yr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=e+28|0;g=c[f>>2]|0;h=e+36|0;c[h>>2]=g;i=e+32|0;j=c[i>>2]|0;k=e+40|0;c[k>>2]=j;l=c[b>>2]|0;m=c[l+60>>2]|0;n=d[(c[b+525572>>2]|0)+(l+72)>>0]|0;o=c[e>>2]|0;p=c[b+525576>>2]|0;q=m+(n*2596|0)+36+(o*320|0)+(p*5|0)|0;r=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+1>>0]|0;s=e+4|0;do if(!(r<<24>>24)){t=c[s>>2]|0;if(!t){u=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;if((a[u>>0]|0)==11){v=u;w=11;x=c[l+68>>2]|0;y=0;z=1;A=7;break}else return}else{B=t;A=6}}else{t=r&255;c[s>>2]=t;B=t;A=6}while(0);if((A|0)==6){s=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;r=a[s>>0]|0;t=c[l+68>>2]|0;if(!(r<<24>>24)){C=s;D=t;E=B;F=0;G=g}else{v=s;w=r;x=t;y=B;z=0;A=7}}if((A|0)==7){A=w&255;c[f>>2]=A;C=v;D=x;E=y;F=z;G=A}A=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+4|0;z=a[A>>0]|0;if(z<<24>>24)c[i>>2]=z&255;if((a[C>>0]|0)==0?(a[A>>0]|0)==0:0){c[i>>2]=0;c[f>>2]=0;H=0}else H=G;G=a[q>>0]|0;do if(G<<24>>24){q=G&255;if((G&255)>96){c[e+8>>2]=0;break}if((H|0)==3){c[e+76>>2]=q;c[e+20>>2]=0;c[e+24>>2]=0;break}c[e+64>>2]=q;if(!F){c[e+68>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+8>>2]=c[D+(E*332|0)+84>>2];c[e+20>>2]=0;c[e+24>>2]=0;c[e+56>>2]=0}}while(0);E=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+2>>0]|0;if(E<<24>>24)c[e+8>>2]=(E&255)+-16;if((g|0)!=11)return;c[b+525592>>2]=j;c[f>>2]=0;c[k>>2]=0;c[h>>2]=0;return}function zr(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=d+8|0;h=B(c[d+16>>2]|0,c[g>>2]|0)|0;i=(e|0)==0?d+80|0:e;if((h|0?(e=c[d+4>>2]|0,e|0):0)?(j=c[a>>2]|0,(e|0)<=(c[j+64>>2]|0)):0){k=c[j+68>>2]|0;j=c[k+(e*332|0)+72>>2]|0;l=c[k+(e*332|0)+328>>2]|0;if(l|0){Ra[l&0](a,d,i,f,h);return}if((f|0)<=0)return;a=k+(e*332|0)+104|0;l=d+52|0;m=d+48|0;n=d+44|0;d=k+(e*332|0)+80|0;o=k+(e*332|0)+68|0;p=k+(e*332|0)+92|0;q=k+(e*332|0)+76|0;e=h;h=0;k=i;while(1){if((c[a>>2]|0)==8){r=io(32e3)|0;s=r;t=c[m>>2]|0;u=c[n>>2]|0}else{r=c[n>>2]|0;v=c[m>>2]|0;w=v>>16;x=B(256-w|0,b[j+(r<<1)>>1]|0)|0;s=x+(B(w,b[j+(r+1<<1)>>1]|0)|0)>>8;t=v;u=r}b[k>>1]=(B(s,e)|0)>>>12;k=k+2|0;r=t+(c[l>>2]|0)|0;v=u+(r>>24)|0;c[n>>2]=v;c[m>>2]=r&16777215;r=c[d>>2]|0;if(((r|0)!=0?(c[p>>2]&3|0)!=0:0)?(v|0)>=((c[q>>2]|0)+r|0):0){w=v-r|0;c[n>>2]=w;y=w}else y=v;if((y|0)<(c[o>>2]|0))z=e;else{c[g>>2]=0;z=0}h=h+1|0;if((h|0)==(f|0))break;else e=z}return}lp(i,0,f<<1);return}
function Ar(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=c[a>>2]|0;Iq()|0;if((f|0)<=0)return;h=a+525596|0;i=a+525588|0;j=a+525572|0;k=g+32|0;l=g+40|0;g=a+525592|0;m=a+525580|0;n=a+525576|0;o=a+525600|0;p=a+525584|0;q=e;e=f;f=c[h>>2]|0;a:while(1){r=c[i>>2]|0;if((r|0)>(f|0)){s=r-f|0;r=(s|0)<(e|0)?s:e;do if((r|0)!=0?(s=r+f|0,(r|0)>0):0){t=c[(c[a>>2]|0)+40>>2]|0;if((t|0)<=0){u=f+1|0;Eu(q|0,0,((s|0)>(u|0)?s:u)-f<<1|0)|0;v=c[h>>2]|0;break}u=f;w=q;while(1){x=0;y=0;do{y=y+(b[a+4+(x*32848|0)+80+(u<<1)>>1]|0)|0;x=x+1|0}while((x|0)!=(t|0));x=(y|0)/3|0;z=(x|0)<32767?x:32767;b[w>>1]=(z|0)>-32767?z:-32767;u=u+1|0;if((u|0)>=(s|0)){v=f;break}else w=w+2|0}}else v=f;while(0);c[h>>2]=v+r;w=e-r|0;if((w|0)>0){A=q+(r<<1)|0;C=w}else{D=44;break}}else{A=q;C=e}w=c[l>>2]|0;b:do if((c[j>>2]|0)<(c[k>>2]|0))E=w;else{c:do if((w|0)>0){s=0;while(1){F=a+4+(s*32848|0)+28|0;if((c[F>>2]|0)==11)break;u=s+1|0;if((u|0)<(w|0))s=u;else break c}y=c[a+4+(s*32848|0)+32>>2]|0;c[j>>2]=y;c[j>>2]=((y|0)<0?1:(y|0)>=(c[k>>2]|0))?0:y;c[F>>2]=0;c[a+4+(s*32848|0)+40>>2]=0;c[a+4+(s*32848|0)+36>>2]=0;c[m>>2]=0;c[n>>2]=0;E=c[l>>2]|0;break b}while(0);if(!(c[o>>2]|0)){D=21;break a}c[j>>2]=0;E=w}while(0);if((E|0)>0){w=0;do{r=a+262788+(w*32848|0)|0;y=a+4+(w*32848|0)|0;u=r+80|0;do{c[r>>2]=c[y>>2];r=r+4|0;y=y+4|0}while((r|0)<(u|0));w=w+1|0;y=c[l>>2]|0}while((w|0)<(y|0));G=y}else G=E;c[g>>2]=-1;if(!(c[m>>2]|0)){if((G|0)>0){w=0;do{yr(a,a+4+(w*32848|0)|0);w=w+1|0;H=c[l>>2]|0}while((w|0)<(H|0));w=c[g>>2]|0;if((w|0)!=-1){c[j>>2]=w;c[m>>2]=0;c[n>>2]=0;if((H|0)>0){w=0;do{yr(a,a+4+(w*32848|0)|0);w=w+1|0;y=c[l>>2]|0}while((w|0)<(y|0));I=y;D=33}}else{I=H;D=33}}}else{I=G;D=33}if((D|0)==33?(D=0,(I|0)>0):0){w=0;do{y=a+4+(w*32848|0)|0;xr(a,y);zr(a,y,0,c[i>>2]|0);zr(a,a+262788+(w*32848|0)|0,0,128);y=0;do{r=B(128-y|0,b[a+262788+(w*32848|0)+80+(y<<1)>>1]|0)|0;u=a+4+(w*32848|0)+80+(y<<1)|0;b[u>>1]=((B(y,b[u>>1]|0)|0)+r|0)>>>7;y=y+1|0}while((y|0)!=128);w=w+1|0}while((w|0)<(c[l>>2]|0))}c[h>>2]=0;w=(c[m>>2]|0)+1|0;c[m>>2]=w;if((w|0)<(c[p>>2]|0))J=c[n>>2]|0;else{c[m>>2]=0;w=(c[n>>2]|0)+1|0;c[n>>2]=w;J=w}w=c[a>>2]|0;y=c[j>>2]|0;if((J|0)>=(c[(c[w+60>>2]|0)+((d[w+72+y>>0]|0)*2596|0)+32>>2]|0)){c[n>>2]=0;c[j>>2]=y+1}if((C|0)>0){q=A;e=C;f=0}else{D=44;break}}if((D|0)==21){c[a+525604>>2]=0;return}else if((D|0)==44)return}function Br(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0;b=Ga;Ga=Ga+16|0;d=b;do if(a>>>0<245){e=a>>>0<11?16:a+11&-8;f=e>>>3;g=c[750351]|0;h=g>>>f;if(h&3|0){i=(h&1^1)+f|0;j=3001444+(i<<1<<2)|0;k=j+8|0;l=c[k>>2]|0;m=l+8|0;n=c[m>>2]|0;if((n|0)==(j|0))c[750351]=g&~(1<<i);else{c[n+12>>2]=j;c[k>>2]=n}n=i<<3;c[l+4>>2]=n|3;i=l+n+4|0;c[i>>2]=c[i>>2]|1;o=m;Ga=b;return o|0}m=c[750353]|0;if(e>>>0>m>>>0){if(h|0){i=2<<f;n=h<<f&(i|0-i);i=(n&0-n)+-1|0;n=i>>>12&16;f=i>>>n;i=f>>>5&8;h=f>>>i;f=h>>>2&4;l=h>>>f;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|f|h|l)+(k>>>l)|0;l=3001444+(j<<1<<2)|0;k=l+8|0;h=c[k>>2]|0;f=h+8|0;n=c[f>>2]|0;if((n|0)==(l|0)){i=g&~(1<<j);c[750351]=i;p=i}else{c[n+12>>2]=l;c[k>>2]=n;p=g}n=j<<3;j=n-e|0;c[h+4>>2]=e|3;k=h+e|0;c[k+4>>2]=j|1;c[h+n>>2]=j;if(m|0){n=c[750356]|0;h=m>>>3;l=3001444+(h<<1<<2)|0;i=1<<h;if(!(p&i)){c[750351]=p|i;q=l;r=l+8|0}else{i=l+8|0;q=c[i>>2]|0;r=i}c[r>>2]=n;c[q+12>>2]=n;c[n+8>>2]=q;c[n+12>>2]=l}c[750353]=j;c[750356]=k;o=f;Ga=b;return o|0}f=c[750352]|0;if(f){k=(f&0-f)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=c[3001708+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=s;h=s;n=(c[s+4>>2]&-8)-e|0;while(1){s=c[i+16>>2]|0;if(!s){l=c[i+20>>2]|0;if(!l)break;else t=l}else t=s;s=(c[t+4>>2]&-8)-e|0;l=s>>>0<n>>>0;i=t;h=l?t:h;n=l?s:n}i=h+e|0;if(i>>>0>h>>>0){s=c[h+24>>2]|0;l=c[h+12>>2]|0;do if((l|0)==(h|0)){j=h+20|0;k=c[j>>2]|0;if(!k){u=h+16|0;v=c[u>>2]|0;if(!v){w=0;break}else{x=v;y=u}}else{x=k;y=j}j=x;k=y;while(1){u=j+20|0;v=c[u>>2]|0;if(!v){z=j+16|0;A=c[z>>2]|0;if(!A)break;else{B=A;C=z}}else{B=v;C=u}j=B;k=C}c[k>>2]=0;w=j}else{u=c[h+8>>2]|0;c[u+12>>2]=l;c[l+8>>2]=u;w=l}while(0);do if(s|0){l=c[h+28>>2]|0;u=3001708+(l<<2)|0;if((h|0)==(c[u>>2]|0)){c[u>>2]=w;if(!w){c[750352]=f&~(1<<l);break}}else{l=s+16|0;c[((c[l>>2]|0)==(h|0)?l:s+20|0)>>2]=w;if(!w)break}c[w+24>>2]=s;l=c[h+16>>2]|0;if(l|0){c[w+16>>2]=l;c[l+24>>2]=w}l=c[h+20>>2]|0;if(l|0){c[w+20>>2]=l;c[l+24>>2]=w}}while(0);if(n>>>0<16){s=n+e|0;c[h+4>>2]=s|3;f=h+s+4|0;c[f>>2]=c[f>>2]|1}else{c[h+4>>2]=e|3;c[i+4>>2]=n|1;c[i+n>>2]=n;if(m|0){f=c[750356]|0;s=m>>>3;l=3001444+(s<<1<<2)|0;u=1<<s;if(!(u&g)){c[750351]=u|g;D=l;E=l+8|0}else{u=l+8|0;D=c[u>>2]|0;E=u}c[E>>2]=f;c[D+12>>2]=f;c[f+8>>2]=D;c[f+12>>2]=l}c[750353]=n;c[750356]=i}o=h+8|0;Ga=b;return o|0}else F=e}else F=e}else F=e}else if(a>>>0<=4294967231){l=a+11|0;f=l&-8;u=c[750352]|0;if(u){s=0-f|0;v=l>>>8;if(v)if(f>>>0>16777215)G=31;else{l=(v+1048320|0)>>>16&8;z=v<<l;v=(z+520192|0)>>>16&4;A=z<<v;z=(A+245760|0)>>>16&2;H=14-(v|l|z)+(A<<z>>>15)|0;G=f>>>(H+7|0)&1|H<<1}else G=0;H=c[3001708+(G<<2)>>2]|0;a:do if(!H){I=0;J=0;K=s;L=61}else{z=0;A=s;l=H;v=f<<((G|0)==31?0:25-(G>>>1)|0);M=0;while(1){N=(c[l+4>>2]&-8)-f|0;if(N>>>0<A>>>0)if(!N){O=l;P=0;Q=l;L=65;break a}else{R=l;S=N}else{R=z;S=A}N=c[l+20>>2]|0;l=c[l+16+(v>>>31<<2)>>2]|0;T=(N|0)==0|(N|0)==(l|0)?M:N;if(!l){I=T;J=R;K=S;L=61;break}else{z=R;A=S;v=v<<1;M=T}}}while(0);if((L|0)==61){if((I|0)==0&(J|0)==0){H=2<<G;s=(H|0-H)&u;if(!s){F=f;break}H=(s&0-s)+-1|0;s=H>>>12&16;e=H>>>s;H=e>>>5&8;h=e>>>H;e=h>>>2&4;i=h>>>e;h=i>>>1&2;n=i>>>h;i=n>>>1&1;U=0;V=c[3001708+((H|s|e|h|i)+(n>>>i)<<2)>>2]|0}else{U=J;V=I}if(!V){W=U;X=K}else{O=U;P=K;Q=V;L=65}}if((L|0)==65){i=O;n=P;h=Q;while(1){e=(c[h+4>>2]&-8)-f|0;s=e>>>0<n>>>0;H=s?e:n;e=s?h:i;s=c[h+16>>2]|0;if(!s)Y=c[h+20>>2]|0;else Y=s;if(!Y){W=e;X=H;break}else{i=e;n=H;h=Y}}}if(((W|0)!=0?X>>>0<((c[750353]|0)-f|0)>>>0:0)?(h=W+f|0,h>>>0>W>>>0):0){n=c[W+24>>2]|0;i=c[W+12>>2]|0;do if((i|0)==(W|0)){H=W+20|0;e=c[H>>2]|0;if(!e){s=W+16|0;g=c[s>>2]|0;if(!g){Z=0;break}else{_=g;$=s}}else{_=e;$=H}H=_;e=$;while(1){s=H+20|0;g=c[s>>2]|0;if(!g){m=H+16|0;M=c[m>>2]|0;if(!M)break;else{aa=M;ba=m}}else{aa=g;ba=s}H=aa;e=ba}c[e>>2]=0;Z=H}else{s=c[W+8>>2]|0;c[s+12>>2]=i;c[i+8>>2]=s;Z=i}while(0);do if(n){i=c[W+28>>2]|0;s=3001708+(i<<2)|0;if((W|0)==(c[s>>2]|0)){c[s>>2]=Z;if(!Z){s=u&~(1<<i);c[750352]=s;ca=s;break}}else{s=n+16|0;c[((c[s>>2]|0)==(W|0)?s:n+20|0)>>2]=Z;if(!Z){ca=u;break}}c[Z+24>>2]=n;s=c[W+16>>2]|0;if(s|0){c[Z+16>>2]=s;c[s+24>>2]=Z}s=c[W+20>>2]|0;if(s){c[Z+20>>2]=s;c[s+24>>2]=Z;ca=u}else ca=u}else ca=u;while(0);b:do if(X>>>0<16){u=X+f|0;c[W+4>>2]=u|3;n=W+u+4|0;c[n>>2]=c[n>>2]|1}else{c[W+4>>2]=f|3;c[h+4>>2]=X|1;c[h+X>>2]=X;n=X>>>3;if(X>>>0<256){u=3001444+(n<<1<<2)|0;s=c[750351]|0;i=1<<n;if(!(s&i)){c[750351]=s|i;da=u;ea=u+8|0}else{i=u+8|0;da=c[i>>2]|0;ea=i}c[ea>>2]=h;c[da+12>>2]=h;c[h+8>>2]=da;c[h+12>>2]=u;break}u=X>>>8;if(u)if(X>>>0>16777215)fa=31;else{i=(u+1048320|0)>>>16&8;s=u<<i;u=(s+520192|0)>>>16&4;n=s<<u;s=(n+245760|0)>>>16&2;g=14-(u|i|s)+(n<<s>>>15)|0;fa=X>>>(g+7|0)&1|g<<1}else fa=0;g=3001708+(fa<<2)|0;c[h+28>>2]=fa;s=h+16|0;c[s+4>>2]=0;c[s>>2]=0;s=1<<fa;if(!(ca&s)){c[750352]=ca|s;c[g>>2]=h;c[h+24>>2]=g;c[h+12>>2]=h;c[h+8>>2]=h;break}s=c[g>>2]|0;c:do if((c[s+4>>2]&-8|0)==(X|0))ga=s;else{g=X<<((fa|0)==31?0:25-(fa>>>1)|0);n=s;while(1){ha=n+16+(g>>>31<<2)|0;i=c[ha>>2]|0;if(!i)break;if((c[i+4>>2]&-8|0)==(X|0)){ga=i;break c}else{g=g<<1;n=i}}c[ha>>2]=h;c[h+24>>2]=n;c[h+12>>2]=h;c[h+8>>2]=h;break b}while(0);s=ga+8|0;H=c[s>>2]|0;c[H+12>>2]=h;c[s>>2]=h;c[h+8>>2]=H;c[h+12>>2]=ga;c[h+24>>2]=0}while(0);o=W+8|0;Ga=b;return o|0}else F=f}else F=f}else F=-1;while(0);W=c[750353]|0;if(W>>>0>=F>>>0){ga=W-F|0;ha=c[750356]|0;if(ga>>>0>15){X=ha+F|0;c[750356]=X;c[750353]=ga;c[X+4>>2]=ga|1;c[ha+W>>2]=ga;c[ha+4>>2]=F|3}else{c[750353]=0;c[750356]=0;c[ha+4>>2]=W|3;ga=ha+W+4|0;c[ga>>2]=c[ga>>2]|1}o=ha+8|0;Ga=b;return o|0}ha=c[750354]|0;if(ha>>>0>F>>>0){ga=ha-F|0;c[750354]=ga;W=c[750357]|0;X=W+F|0;c[750357]=X;c[X+4>>2]=ga|1;c[W+4>>2]=F|3;o=W+8|0;Ga=b;return o|0}if(!(c[750469]|0)){c[750471]=4096;c[750470]=4096;c[750472]=-1;c[750473]=-1;c[750474]=0;c[750462]=0;c[750469]=d&-16^1431655768;ia=4096}else ia=c[750471]|0;d=F+48|0;W=F+47|0;ga=ia+W|0;X=0-ia|0;ia=ga&X;if(ia>>>0<=F>>>0){o=0;Ga=b;return o|0}fa=c[750461]|0;if(fa|0?(ca=c[750459]|0,da=ca+ia|0,da>>>0<=ca>>>0|da>>>0>fa>>>0):0){o=0;Ga=b;return o|0}d:do if(!(c[750462]&4)){fa=c[750357]|0;e:do if(fa){da=3001852;while(1){ca=c[da>>2]|0;if(ca>>>0<=fa>>>0?(ca+(c[da+4>>2]|0)|0)>>>0>fa>>>0:0)break;ca=c[da+8>>2]|0;if(!ca){L=128;break e}else da=ca}ca=ga-ha&X;if(ca>>>0<2147483647){ea=Fu(ca|0)|0;if((ea|0)==((c[da>>2]|0)+(c[da+4>>2]|0)|0))if((ea|0)==(-1|0))ja=ca;else{ka=ca;la=ea;L=145;break d}else{ma=ea;na=ca;L=136}}else ja=0}else L=128;while(0);do if((L|0)==128){fa=Fu(0)|0;if((fa|0)!=(-1|0)?(f=fa,ca=c[750470]|0,ea=ca+-1|0,Z=((ea&f|0)==0?0:(ea+f&0-ca)-f|0)+ia|0,f=c[750459]|0,ca=Z+f|0,Z>>>0>F>>>0&Z>>>0<2147483647):0){ea=c[750461]|0;if(ea|0?ca>>>0<=f>>>0|ca>>>0>ea>>>0:0){ja=0;break}ea=Fu(Z|0)|0;if((ea|0)==(fa|0)){ka=Z;la=fa;L=145;break d}else{ma=ea;na=Z;L=136}}else ja=0}while(0);do if((L|0)==136){Z=0-na|0;if(!(d>>>0>na>>>0&(na>>>0<2147483647&(ma|0)!=(-1|0))))if((ma|0)==(-1|0)){ja=0;break}else{ka=na;la=ma;L=145;break d}ea=c[750471]|0;fa=W-na+ea&0-ea;if(fa>>>0>=2147483647){ka=na;la=ma;L=145;break d}if((Fu(fa|0)|0)==(-1|0)){Fu(Z|0)|0;ja=0;break}else{ka=fa+na|0;la=ma;L=145;break d}}while(0);c[750462]=c[750462]|4;oa=ja;L=143}else{oa=0;L=143}while(0);if(((L|0)==143?ia>>>0<2147483647:0)?(ja=Fu(ia|0)|0,ia=Fu(0)|0,ma=ia-ja|0,na=ma>>>0>(F+40|0)>>>0,!((ja|0)==(-1|0)|na^1|ja>>>0<ia>>>0&((ja|0)!=(-1|0)&(ia|0)!=(-1|0))^1)):0){ka=na?ma:oa;la=ja;L=145}if((L|0)==145){ja=(c[750459]|0)+ka|0;c[750459]=ja;if(ja>>>0>(c[750460]|0)>>>0)c[750460]=ja;ja=c[750357]|0;f:do if(ja){oa=3001852;while(1){pa=c[oa>>2]|0;qa=c[oa+4>>2]|0;if((la|0)==(pa+qa|0)){L=154;break}ma=c[oa+8>>2]|0;if(!ma)break;else oa=ma}if(((L|0)==154?(ma=oa+4|0,(c[oa+12>>2]&8|0)==0):0)?la>>>0>ja>>>0&pa>>>0<=ja>>>0:0){c[ma>>2]=qa+ka;ma=(c[750354]|0)+ka|0;na=ja+8|0;ia=(na&7|0)==0?0:0-na&7;na=ja+ia|0;W=ma-ia|0;c[750357]=na;c[750354]=W;c[na+4>>2]=W|1;c[ja+ma+4>>2]=40;c[750358]=c[750473];break}if(la>>>0<(c[750355]|0)>>>0)c[750355]=la;ma=la+ka|0;W=3001852;while(1){if((c[W>>2]|0)==(ma|0)){L=162;break}na=c[W+8>>2]|0;if(!na)break;else W=na}if((L|0)==162?(c[W+12>>2]&8|0)==0:0){c[W>>2]=la;oa=W+4|0;c[oa>>2]=(c[oa>>2]|0)+ka;oa=la+8|0;na=la+((oa&7|0)==0?0:0-oa&7)|0;oa=ma+8|0;ia=ma+((oa&7|0)==0?0:0-oa&7)|0;oa=na+F|0;d=ia-na-F|0;c[na+4>>2]=F|3;g:do if((ja|0)==(ia|0)){X=(c[750354]|0)+d|0;c[750354]=X;c[750357]=oa;c[oa+4>>2]=X|1}else{if((c[750356]|0)==(ia|0)){X=(c[750353]|0)+d|0;c[750353]=X;c[750356]=oa;c[oa+4>>2]=X|1;c[oa+X>>2]=X;break}X=c[ia+4>>2]|0;if((X&3|0)==1){ha=X&-8;ga=X>>>3;h:do if(X>>>0<256){fa=c[ia+8>>2]|0;Z=c[ia+12>>2]|0;if((Z|0)==(fa|0)){c[750351]=c[750351]&~(1<<ga);break}else{c[fa+12>>2]=Z;c[Z+8>>2]=fa;break}}else{fa=c[ia+24>>2]|0;Z=c[ia+12>>2]|0;do if((Z|0)==(ia|0)){ea=ia+16|0;ca=ea+4|0;f=c[ca>>2]|0;if(!f){ba=c[ea>>2]|0;if(!ba){ra=0;break}else{sa=ba;ta=ea}}else{sa=f;ta=ca}ca=sa;f=ta;while(1){ea=ca+20|0;ba=c[ea>>2]|0;if(!ba){aa=ca+16|0;$=c[aa>>2]|0;if(!$)break;else{ua=$;va=aa}}else{ua=ba;va=ea}ca=ua;f=va}c[f>>2]=0;ra=ca}else{ea=c[ia+8>>2]|0;c[ea+12>>2]=Z;c[Z+8>>2]=ea;ra=Z}while(0);if(!fa)break;Z=c[ia+28>>2]|0;n=3001708+(Z<<2)|0;do if((c[n>>2]|0)!=(ia|0)){ea=fa+16|0;c[((c[ea>>2]|0)==(ia|0)?ea:fa+20|0)>>2]=ra;if(!ra)break h}else{c[n>>2]=ra;if(ra|0)break;c[750352]=c[750352]&~(1<<Z);break h}while(0);c[ra+24>>2]=fa;Z=ia+16|0;n=c[Z>>2]|0;if(n|0){c[ra+16>>2]=n;c[n+24>>2]=ra}n=c[Z+4>>2]|0;if(!n)break;c[ra+20>>2]=n;c[n+24>>2]=ra}while(0);wa=ia+ha|0;xa=ha+d|0}else{wa=ia;xa=d}ga=wa+4|0;c[ga>>2]=c[ga>>2]&-2;c[oa+4>>2]=xa|1;c[oa+xa>>2]=xa;ga=xa>>>3;if(xa>>>0<256){X=3001444+(ga<<1<<2)|0;da=c[750351]|0;n=1<<ga;if(!(da&n)){c[750351]=da|n;ya=X;za=X+8|0}else{n=X+8|0;ya=c[n>>2]|0;za=n}c[za>>2]=oa;c[ya+12>>2]=oa;c[oa+8>>2]=ya;c[oa+12>>2]=X;break}X=xa>>>8;do if(!X)Aa=0;else{if(xa>>>0>16777215){Aa=31;break}n=(X+1048320|0)>>>16&8;da=X<<n;ga=(da+520192|0)>>>16&4;Z=da<<ga;da=(Z+245760|0)>>>16&2;ea=14-(ga|n|da)+(Z<<da>>>15)|0;Aa=xa>>>(ea+7|0)&1|ea<<1}while(0);X=3001708+(Aa<<2)|0;c[oa+28>>2]=Aa;ha=oa+16|0;c[ha+4>>2]=0;c[ha>>2]=0;ha=c[750352]|0;ea=1<<Aa;if(!(ha&ea)){c[750352]=ha|ea;c[X>>2]=oa;c[oa+24>>2]=X;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break}ea=c[X>>2]|0;i:do if((c[ea+4>>2]&-8|0)==(xa|0))Ba=ea;else{X=xa<<((Aa|0)==31?0:25-(Aa>>>1)|0);ha=ea;while(1){Ca=ha+16+(X>>>31<<2)|0;da=c[Ca>>2]|0;if(!da)break;if((c[da+4>>2]&-8|0)==(xa|0)){Ba=da;break i}else{X=X<<1;ha=da}}c[Ca>>2]=oa;c[oa+24>>2]=ha;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break g}while(0);ea=Ba+8|0;X=c[ea>>2]|0;c[X+12>>2]=oa;c[ea>>2]=oa;c[oa+8>>2]=X;c[oa+12>>2]=Ba;c[oa+24>>2]=0}while(0);o=na+8|0;Ga=b;return o|0}oa=3001852;while(1){d=c[oa>>2]|0;if(d>>>0<=ja>>>0?(Da=d+(c[oa+4>>2]|0)|0,Da>>>0>ja>>>0):0)break;oa=c[oa+8>>2]|0}oa=Da+-47|0;na=oa+8|0;d=oa+((na&7|0)==0?0:0-na&7)|0;na=ja+16|0;oa=d>>>0<na>>>0?ja:d;d=oa+8|0;ia=ka+-40|0;ma=la+8|0;W=(ma&7|0)==0?0:0-ma&7;ma=la+W|0;X=ia-W|0;c[750357]=ma;c[750354]=X;c[ma+4>>2]=X|1;c[la+ia+4>>2]=40;c[750358]=c[750473];ia=oa+4|0;c[ia>>2]=27;c[d>>2]=c[750463];c[d+4>>2]=c[750464];c[d+8>>2]=c[750465];c[d+12>>2]=c[750466];c[750463]=la;c[750464]=ka;c[750466]=0;c[750465]=d;d=oa+24|0;do{X=d;d=d+4|0;c[d>>2]=7}while((X+8|0)>>>0<Da>>>0);if((oa|0)!=(ja|0)){d=oa-ja|0;c[ia>>2]=c[ia>>2]&-2;c[ja+4>>2]=d|1;c[oa>>2]=d;X=d>>>3;if(d>>>0<256){ma=3001444+(X<<1<<2)|0;W=c[750351]|0;ea=1<<X;if(!(W&ea)){c[750351]=W|ea;Ea=ma;Fa=ma+8|0}else{ea=ma+8|0;Ea=c[ea>>2]|0;Fa=ea}c[Fa>>2]=ja;c[Ea+12>>2]=ja;c[ja+8>>2]=Ea;c[ja+12>>2]=ma;break}ma=d>>>8;if(ma)if(d>>>0>16777215)Ha=31;else{ea=(ma+1048320|0)>>>16&8;W=ma<<ea;ma=(W+520192|0)>>>16&4;X=W<<ma;W=(X+245760|0)>>>16&2;fa=14-(ma|ea|W)+(X<<W>>>15)|0;Ha=d>>>(fa+7|0)&1|fa<<1}else Ha=0;fa=3001708+(Ha<<2)|0;c[ja+28>>2]=Ha;c[ja+20>>2]=0;c[na>>2]=0;W=c[750352]|0;X=1<<Ha;if(!(W&X)){c[750352]=W|X;c[fa>>2]=ja;c[ja+24>>2]=fa;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}X=c[fa>>2]|0;j:do if((c[X+4>>2]&-8|0)==(d|0))Ia=X;else{fa=d<<((Ha|0)==31?0:25-(Ha>>>1)|0);W=X;while(1){Ja=W+16+(fa>>>31<<2)|0;ea=c[Ja>>2]|0;if(!ea)break;if((c[ea+4>>2]&-8|0)==(d|0)){Ia=ea;break j}else{fa=fa<<1;W=ea}}c[Ja>>2]=ja;c[ja+24>>2]=W;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break f}while(0);d=Ia+8|0;X=c[d>>2]|0;c[X+12>>2]=ja;c[d>>2]=ja;c[ja+8>>2]=X;c[ja+12>>2]=Ia;c[ja+24>>2]=0}}else{X=c[750355]|0;if((X|0)==0|la>>>0<X>>>0)c[750355]=la;c[750463]=la;c[750464]=ka;c[750466]=0;c[750360]=c[750469];c[750359]=-1;c[750364]=3001444;c[750363]=3001444;c[750366]=3001452;c[750365]=3001452;c[750368]=3001460;c[750367]=3001460;c[750370]=3001468;c[750369]=3001468;c[750372]=3001476;c[750371]=3001476;c[750374]=3001484;c[750373]=3001484;c[750376]=3001492;c[750375]=3001492;c[750378]=3001500;c[750377]=3001500;c[750380]=3001508;c[750379]=3001508;c[750382]=3001516;c[750381]=3001516;c[750384]=3001524;c[750383]=3001524;c[750386]=3001532;c[750385]=3001532;c[750388]=3001540;c[750387]=3001540;c[750390]=3001548;c[750389]=3001548;c[750392]=3001556;c[750391]=3001556;c[750394]=3001564;c[750393]=3001564;c[750396]=3001572;c[750395]=3001572;c[750398]=3001580;c[750397]=3001580;c[750400]=3001588;c[750399]=3001588;c[750402]=3001596;c[750401]=3001596;c[750404]=3001604;c[750403]=3001604;c[750406]=3001612;c[750405]=3001612;c[750408]=3001620;c[750407]=3001620;c[750410]=3001628;c[750409]=3001628;c[750412]=3001636;c[750411]=3001636;c[750414]=3001644;c[750413]=3001644;c[750416]=3001652;c[750415]=3001652;c[750418]=3001660;c[750417]=3001660;c[750420]=3001668;c[750419]=3001668;c[750422]=3001676;c[750421]=3001676;c[750424]=3001684;c[750423]=3001684;c[750426]=3001692;c[750425]=3001692;X=ka+-40|0;d=la+8|0;na=(d&7|0)==0?0:0-d&7;d=la+na|0;oa=X-na|0;c[750357]=d;c[750354]=oa;c[d+4>>2]=oa|1;c[la+X+4>>2]=40;c[750358]=c[750473]}while(0);la=c[750354]|0;if(la>>>0>F>>>0){ka=la-F|0;c[750354]=ka;la=c[750357]|0;ja=la+F|0;c[750357]=ja;c[ja+4>>2]=ka|1;c[la+4>>2]=F|3;o=la+8|0;Ga=b;return o|0}}c[(Lr()|0)>>2]=12;o=0;Ga=b;return o|0}function Cr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;if(!a)return;b=a+-8|0;d=c[750355]|0;e=c[a+-4>>2]|0;a=e&-8;f=b+a|0;do if(!(e&1)){g=c[b>>2]|0;if(!(e&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0<d>>>0)return;if((c[750356]|0)==(h|0)){j=f+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}c[750353]=i;c[j>>2]=k&-2;c[h+4>>2]=i|1;c[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=c[h+8>>2]|0;j=c[h+12>>2]|0;if((j|0)==(g|0)){c[750351]=c[750351]&~(1<<k);l=h;m=i;n=h;break}else{c[g+12>>2]=j;c[j+8>>2]=g;l=h;m=i;n=h;break}}g=c[h+24>>2]|0;j=c[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=c[o>>2]|0;if(!p){q=c[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}o=s;p=t;while(1){k=o+20|0;q=c[k>>2]|0;if(!q){u=o+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=k}o=w;p=x}c[p>>2]=0;r=o}else{k=c[h+8>>2]|0;c[k+12>>2]=j;c[j+8>>2]=k;r=j}while(0);if(g){j=c[h+28>>2]|0;k=3001708+(j<<2)|0;if((c[k>>2]|0)==(h|0)){c[k>>2]=r;if(!r){c[750352]=c[750352]&~(1<<j);l=h;m=i;n=h;break}}else{j=g+16|0;c[((c[j>>2]|0)==(h|0)?j:g+20|0)>>2]=r;if(!r){l=h;m=i;n=h;break}}c[r+24>>2]=g;j=h+16|0;k=c[j>>2]|0;if(k|0){c[r+16>>2]=k;c[k+24>>2]=r}k=c[j+4>>2]|0;if(k){c[r+20>>2]=k;c[k+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=f>>>0)return;b=f+4|0;a=c[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((c[750357]|0)==(f|0)){r=(c[750354]|0)+m|0;c[750354]=r;c[750357]=l;c[l+4>>2]=r|1;if((l|0)!=(c[750356]|0))return;c[750356]=0;c[750353]=0;return}if((c[750356]|0)==(f|0)){r=(c[750353]|0)+m|0;c[750353]=r;c[750356]=n;c[l+4>>2]=r|1;c[n+r>>2]=r;return}r=(a&-8)+m|0;x=a>>>3;do if(a>>>0<256){w=c[f+8>>2]|0;t=c[f+12>>2]|0;if((t|0)==(w|0)){c[750351]=c[750351]&~(1<<x);break}else{c[w+12>>2]=t;c[t+8>>2]=w;break}}else{w=c[f+24>>2]|0;t=c[f+12>>2]|0;do if((t|0)==(f|0)){s=f+16|0;d=s+4|0;e=c[d>>2]|0;if(!e){k=c[s>>2]|0;if(!k){y=0;break}else{z=k;A=s}}else{z=e;A=d}d=z;e=A;while(1){s=d+20|0;k=c[s>>2]|0;if(!k){j=d+16|0;q=c[j>>2]|0;if(!q)break;else{B=q;C=j}}else{B=k;C=s}d=B;e=C}c[e>>2]=0;y=d}else{o=c[f+8>>2]|0;c[o+12>>2]=t;c[t+8>>2]=o;y=t}while(0);if(w|0){t=c[f+28>>2]|0;h=3001708+(t<<2)|0;if((c[h>>2]|0)==(f|0)){c[h>>2]=y;if(!y){c[750352]=c[750352]&~(1<<t);break}}else{t=w+16|0;c[((c[t>>2]|0)==(f|0)?t:w+20|0)>>2]=y;if(!y)break}c[y+24>>2]=w;t=f+16|0;h=c[t>>2]|0;if(h|0){c[y+16>>2]=h;c[h+24>>2]=y}h=c[t+4>>2]|0;if(h|0){c[y+20>>2]=h;c[h+24>>2]=y}}}while(0);c[l+4>>2]=r|1;c[n+r>>2]=r;if((l|0)==(c[750356]|0)){c[750353]=r;return}else D=r}else{c[b>>2]=a&-2;c[l+4>>2]=m|1;c[n+m>>2]=m;D=m}m=D>>>3;if(D>>>0<256){n=3001444+(m<<1<<2)|0;a=c[750351]|0;b=1<<m;if(!(a&b)){c[750351]=a|b;E=n;F=n+8|0}else{b=n+8|0;E=c[b>>2]|0;F=b}c[F>>2]=l;c[E+12>>2]=l;c[l+8>>2]=E;c[l+12>>2]=n;return}n=D>>>8;if(n)if(D>>>0>16777215)G=31;else{E=(n+1048320|0)>>>16&8;F=n<<E;n=(F+520192|0)>>>16&4;b=F<<n;F=(b+245760|0)>>>16&2;a=14-(n|E|F)+(b<<F>>>15)|0;G=D>>>(a+7|0)&1|a<<1}else G=0;a=3001708+(G<<2)|0;c[l+28>>2]=G;c[l+20>>2]=0;c[l+16>>2]=0;F=c[750352]|0;b=1<<G;a:do if(!(F&b)){c[750352]=F|b;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l}else{E=c[a>>2]|0;b:do if((c[E+4>>2]&-8|0)==(D|0))H=E;else{n=D<<((G|0)==31?0:25-(G>>>1)|0);m=E;while(1){I=m+16+(n>>>31<<2)|0;r=c[I>>2]|0;if(!r)break;if((c[r+4>>2]&-8|0)==(D|0)){H=r;break b}else{n=n<<1;m=r}}c[I>>2]=l;c[l+24>>2]=m;c[l+12>>2]=l;c[l+8>>2]=l;break a}while(0);E=H+8|0;w=c[E>>2]|0;c[w+12>>2]=l;c[E>>2]=l;c[l+8>>2]=w;c[l+12>>2]=H;c[l+24>>2]=0}while(0);l=(c[750359]|0)+-1|0;c[750359]=l;if(l|0)return;l=3001860;while(1){H=c[l>>2]|0;if(!H)break;else l=H+8|0}c[750359]=-1;return}function Dr(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=Br(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Eu(d|0,0,e|0)|0;return d|0}function Er(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=Br(b)|0;return d|0}if(b>>>0>4294967231){c[(Lr()|0)>>2]=12;d=0;return d|0}e=Fr(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=Br(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;Du(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;Cr(a);d=e;return d|0}function Fr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;if(!(e&3)){if(b>>>0<256){h=0;return h|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[750471]<<1>>>0:0){h=a;return h|0}h=0;return h|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){h=a;return h|0}j=a+b|0;c[d>>2]=e&1|b|2;c[j+4>>2]=i|3;k=g+4|0;c[k>>2]=c[k>>2]|1;Gr(j,i);h=a;return h|0}if((c[750357]|0)==(g|0)){i=(c[750354]|0)+f|0;j=i-b|0;k=a+b|0;if(i>>>0<=b>>>0){h=0;return h|0}c[d>>2]=e&1|b|2;c[k+4>>2]=j|1;c[750357]=k;c[750354]=j;h=a;return h|0}if((c[750356]|0)==(g|0)){j=(c[750353]|0)+f|0;if(j>>>0<b>>>0){h=0;return h|0}k=j-b|0;if(k>>>0>15){i=a+b|0;l=a+j|0;c[d>>2]=e&1|b|2;c[i+4>>2]=k|1;c[l>>2]=k;m=l+4|0;c[m>>2]=c[m>>2]&-2;n=i;o=k}else{c[d>>2]=e&1|j|2;k=a+j+4|0;c[k>>2]=c[k>>2]|1;n=0;o=0}c[750353]=o;c[750356]=n;h=a;return h|0}n=c[g+4>>2]|0;if(n&2|0){h=0;return h|0}o=(n&-8)+f|0;if(o>>>0<b>>>0){h=0;return h|0}f=o-b|0;k=n>>>3;do if(n>>>0<256){j=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(j|0)){c[750351]=c[750351]&~(1<<k);break}else{c[j+12>>2]=i;c[i+8>>2]=j;break}}else{j=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){m=g+16|0;l=m+4|0;p=c[l>>2]|0;if(!p){q=c[m>>2]|0;if(!q){r=0;break}else{s=q;t=m}}else{s=p;t=l}l=s;p=t;while(1){m=l+20|0;q=c[m>>2]|0;if(!q){u=l+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=m}l=w;p=x}c[p>>2]=0;r=l}else{m=c[g+8>>2]|0;c[m+12>>2]=i;c[i+8>>2]=m;r=i}while(0);if(j|0){i=c[g+28>>2]|0;m=3001708+(i<<2)|0;if((c[m>>2]|0)==(g|0)){c[m>>2]=r;if(!r){c[750352]=c[750352]&~(1<<i);break}}else{i=j+16|0;c[((c[i>>2]|0)==(g|0)?i:j+20|0)>>2]=r;if(!r)break}c[r+24>>2]=j;i=g+16|0;m=c[i>>2]|0;if(m|0){c[r+16>>2]=m;c[m+24>>2]=r}m=c[i+4>>2]|0;if(m|0){c[r+20>>2]=m;c[m+24>>2]=r}}}while(0);if(f>>>0<16){c[d>>2]=e&1|o|2;r=a+o+4|0;c[r>>2]=c[r>>2]|1;h=a;return h|0}else{r=a+b|0;c[d>>2]=e&1|b|2;c[r+4>>2]=f|3;b=a+o+4|0;c[b>>2]=c[b>>2]|1;Gr(r,f);h=a;return h|0}return 0}function Gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;if((c[750356]|0)==(g|0)){i=d+4|0;j=c[i>>2]|0;if((j&3|0)!=3){k=g;l=h;break}c[750353]=h;c[i>>2]=j&-2;c[g+4>>2]=h|1;c[d>>2]=h;return}j=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(f|0)){c[750351]=c[750351]&~(1<<j);k=g;l=h;break}else{c[f+12>>2]=i;c[i+8>>2]=f;k=g;l=h;break}}f=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){j=g+16|0;m=j+4|0;n=c[m>>2]|0;if(!n){o=c[j>>2]|0;if(!o){p=0;break}else{q=o;r=j}}else{q=n;r=m}m=q;n=r;while(1){j=m+20|0;o=c[j>>2]|0;if(!o){s=m+16|0;t=c[s>>2]|0;if(!t)break;else{u=t;v=s}}else{u=o;v=j}m=u;n=v}c[n>>2]=0;p=m}else{j=c[g+8>>2]|0;c[j+12>>2]=i;c[i+8>>2]=j;p=i}while(0);if(f){i=c[g+28>>2]|0;j=3001708+(i<<2)|0;if((c[j>>2]|0)==(g|0)){c[j>>2]=p;if(!p){c[750352]=c[750352]&~(1<<i);k=g;l=h;break}}else{i=f+16|0;c[((c[i>>2]|0)==(g|0)?i:f+20|0)>>2]=p;if(!p){k=g;l=h;break}}c[p+24>>2]=f;i=g+16|0;j=c[i>>2]|0;if(j|0){c[p+16>>2]=j;c[j+24>>2]=p}j=c[i+4>>2]|0;if(j){c[p+20>>2]=j;c[j+24>>2]=p;k=g;l=h}else{k=g;l=h}}else{k=g;l=h}}else{k=a;l=b}while(0);b=d+4|0;a=c[b>>2]|0;if(!(a&2)){if((c[750357]|0)==(d|0)){p=(c[750354]|0)+l|0;c[750354]=p;c[750357]=k;c[k+4>>2]=p|1;if((k|0)!=(c[750356]|0))return;c[750356]=0;c[750353]=0;return}if((c[750356]|0)==(d|0)){p=(c[750353]|0)+l|0;c[750353]=p;c[750356]=k;c[k+4>>2]=p|1;c[k+p>>2]=p;return}p=(a&-8)+l|0;v=a>>>3;do if(a>>>0<256){u=c[d+8>>2]|0;r=c[d+12>>2]|0;if((r|0)==(u|0)){c[750351]=c[750351]&~(1<<v);break}else{c[u+12>>2]=r;c[r+8>>2]=u;break}}else{u=c[d+24>>2]|0;r=c[d+12>>2]|0;do if((r|0)==(d|0)){q=d+16|0;e=q+4|0;j=c[e>>2]|0;if(!j){i=c[q>>2]|0;if(!i){w=0;break}else{x=i;y=q}}else{x=j;y=e}e=x;j=y;while(1){q=e+20|0;i=c[q>>2]|0;if(!i){o=e+16|0;s=c[o>>2]|0;if(!s)break;else{z=s;A=o}}else{z=i;A=q}e=z;j=A}c[j>>2]=0;w=e}else{m=c[d+8>>2]|0;c[m+12>>2]=r;c[r+8>>2]=m;w=r}while(0);if(u|0){r=c[d+28>>2]|0;h=3001708+(r<<2)|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=w;if(!w){c[750352]=c[750352]&~(1<<r);break}}else{r=u+16|0;c[((c[r>>2]|0)==(d|0)?r:u+20|0)>>2]=w;if(!w)break}c[w+24>>2]=u;r=d+16|0;h=c[r>>2]|0;if(h|0){c[w+16>>2]=h;c[h+24>>2]=w}h=c[r+4>>2]|0;if(h|0){c[w+20>>2]=h;c[h+24>>2]=w}}}while(0);c[k+4>>2]=p|1;c[k+p>>2]=p;if((k|0)==(c[750356]|0)){c[750353]=p;return}else B=p}else{c[b>>2]=a&-2;c[k+4>>2]=l|1;c[k+l>>2]=l;B=l}l=B>>>3;if(B>>>0<256){a=3001444+(l<<1<<2)|0;b=c[750351]|0;p=1<<l;if(!(b&p)){c[750351]=b|p;C=a;D=a+8|0}else{p=a+8|0;C=c[p>>2]|0;D=p}c[D>>2]=k;c[C+12>>2]=k;c[k+8>>2]=C;c[k+12>>2]=a;return}a=B>>>8;if(a)if(B>>>0>16777215)E=31;else{C=(a+1048320|0)>>>16&8;D=a<<C;a=(D+520192|0)>>>16&4;p=D<<a;D=(p+245760|0)>>>16&2;b=14-(a|C|D)+(p<<D>>>15)|0;E=B>>>(b+7|0)&1|b<<1}else E=0;b=3001708+(E<<2)|0;c[k+28>>2]=E;c[k+20>>2]=0;c[k+16>>2]=0;D=c[750352]|0;p=1<<E;if(!(D&p)){c[750352]=D|p;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;return}p=c[b>>2]|0;a:do if((c[p+4>>2]&-8|0)==(B|0))F=p;else{b=B<<((E|0)==31?0:25-(E>>>1)|0);D=p;while(1){G=D+16+(b>>>31<<2)|0;C=c[G>>2]|0;if(!C)break;if((c[C+4>>2]&-8|0)==(B|0)){F=C;break a}else{b=b<<1;D=C}}c[G>>2]=k;c[k+24>>2]=D;c[k+12>>2]=k;c[k+8>>2]=k;return}while(0);G=F+8|0;B=c[G>>2]|0;c[B+12>>2]=k;c[G>>2]=k;c[k+8>>2]=B;c[k+12>>2]=F;c[k+24>>2]=0;return}function Hr(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;c[d>>2]=Mr(c[a+60>>2]|0)|0;a=Kr(ea(6,d|0)|0)|0;Ga=b;return a|0}function Ir(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ga;Ga=Ga+32|0;g=f+16|0;h=f;c[h>>2]=d;i=h+4|0;j=b+48|0;k=c[j>>2]|0;c[i>>2]=e-((k|0)!=0&1);l=b+44|0;c[h+8>>2]=c[l>>2];c[h+12>>2]=k;c[g>>2]=c[b+60>>2];c[g+4>>2]=h;c[g+8>>2]=2;h=Kr(Z(145,g|0)|0)|0;if((h|0)>=1){g=c[i>>2]|0;if(h>>>0>g>>>0){i=c[l>>2]|0;l=b+4|0;c[l>>2]=i;k=i;c[b+8>>2]=k+(h-g);if(!(c[j>>2]|0))m=e;else{c[l>>2]=k+1;a[d+(e+-1)>>0]=a[k>>0]|0;m=e}}else m=h}else{c[b>>2]=c[b>>2]|h&48^16;m=h}Ga=f;return m|0}function Jr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ga;Ga=Ga+32|0;f=e;g=e+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;if((Kr(Y(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;Ga=e;return h|0}function Kr(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(Lr()|0)>>2]=0-a;b=-1}else b=a;return b|0}function Lr(){return 3001900}function Mr(a){a=a|0;return a|0}function Nr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ga;Ga=Ga+32|0;g=f;c[b+36>>2]=5;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21523,c[g+8>>2]=f+16,da(54,g|0)|0):0)a[b+75>>0]=-1;g=Or(b,d,e)|0;Ga=f;return g|0}function Or(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ga;Ga=Ga+48|0;f=e+32|0;g=e+16|0;h=e;i=a+28|0;j=c[i>>2]|0;c[h>>2]=j;k=a+20|0;l=(c[k>>2]|0)-j|0;c[h+4>>2]=l;c[h+8>>2]=b;c[h+12>>2]=d;b=l+d|0;l=a+60|0;c[g>>2]=c[l>>2];c[g+4>>2]=h;c[g+8>>2]=2;j=Kr(_(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=c[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;c[r>>2]=(c[r>>2]|0)+t;p=r+4|0;c[p>>2]=(c[p>>2]|0)-t;c[f>>2]=c[l>>2];c[f+4>>2]=r;c[f+8>>2]=s;o=Kr(_(146,f|0)|0)|0;if((m|0)==(o|0)){u=3;break a}else{g=s;n=r}}c[a+16>>2]=0;c[i>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)v=0;else v=d-(c[n+4>>2]|0)|0}else u=3;while(0);if((u|0)==3){u=c[a+44>>2]|0;c[a+16>>2]=u+(c[a+48>>2]|0);a=u;c[i>>2]=a;c[k>>2]=a;v=d}Ga=e;return v|0}function Pr(a,b){a=+a;b=b|0;return +(+Qr(a,b))}function Qr(a,b){a=+a;b=b|0;var d=0.0,e=0,f=0,i=0.0,j=0;if((b|0)<=1023)if((b|0)<-1022){d=a*2.2250738585072014e-308;e=(b|0)<-2044;f=b+2044|0;i=e?d*2.2250738585072014e-308:d;j=e?((f|0)>-1022?f:-1022):b+1022|0}else{i=a;j=b}else{d=a*8988465674311579538646525.0e283;f=(b|0)>2046;e=b+-2046|0;i=f?d*8988465674311579538646525.0e283:d;j=f?((e|0)<1023?e:1023):b+-1023|0}b=yu(j+1023|0,0,52)|0;j=G()|0;c[h>>2]=b;c[h+4>>2]=j;return +(i*+g[h>>3])}function Rr(a,b){a=+a;b=b|0;var d=0,e=0,f=0,i=0.0,j=0.0,k=0,l=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=xu(d|0,e|0,52)|0;G()|0;switch(f&2047){case 0:{if(a!=0.0){i=+Rr(a*18446744073709551616.0,b);j=i;k=(c[b>>2]|0)+-64|0}else{j=a;k=0}c[b>>2]=k;l=j;break}case 2047:{l=a;break}default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;l=+g[h>>3]}}return +l}function Sr(a,b){a=+a;b=+b;return +(+Tr(a,b))}function Tr(a,b){a=+a;b=+b;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h+4>>2]&-2147483648|e&2147483647;c[h>>2]=d;c[h+4>>2]=f;return +(+g[h>>3])}function Ur(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h>>2]|0;i=c[h+4>>2]|0;j=xu(d|0,e|0,52)|0;G()|0;k=j&2047;j=xu(f|0,i|0,52)|0;G()|0;l=j&2047;j=e&-2147483648;m=yu(f|0,i|0,1)|0;n=G()|0;a:do if(!((m|0)==0&(n|0)==0)?(o=Vr(b)|0,p=(G()|0)&2147483647,!((k|0)==2047|(p>>>0>2146435072|(p|0)==2146435072&o>>>0>0))):0){o=yu(d|0,e|0,1)|0;p=G()|0;if(!(p>>>0>n>>>0|(p|0)==(n|0)&o>>>0>m>>>0))return +((o|0)==(m|0)&(p|0)==(n|0)?a*0.0:a);if(!k){p=yu(d|0,e|0,12)|0;o=G()|0;if((o|0)>-1|(o|0)==-1&p>>>0>4294967295){q=0;r=p;p=o;while(1){o=q+-1|0;r=yu(r|0,p|0,1)|0;p=G()|0;if(!((p|0)>-1|(p|0)==-1&r>>>0>4294967295)){s=o;break}else q=o}}else s=0;q=yu(d|0,e|0,1-s|0)|0;t=s;u=q;v=G()|0}else{t=k;u=d;v=e&1048575|1048576}if(!l){q=yu(f|0,i|0,12)|0;r=G()|0;if((r|0)>-1|(r|0)==-1&q>>>0>4294967295){p=0;o=q;q=r;while(1){r=p+-1|0;o=yu(o|0,q|0,1)|0;q=G()|0;if(!((q|0)>-1|(q|0)==-1&o>>>0>4294967295)){w=r;break}else p=r}}else w=0;p=yu(f|0,i|0,1-w|0)|0;x=w;y=p;z=G()|0}else{x=l;y=f;z=i&1048575|1048576}p=pu(u|0,v|0,y|0,z|0)|0;o=G()|0;q=(o|0)>-1|(o|0)==-1&p>>>0>4294967295;b:do if((t|0)>(x|0)){r=t;A=o;B=q;C=u;D=v;E=p;while(1){if(B)if((E|0)==0&(A|0)==0)break;else{F=E;H=A}else{F=C;H=D}I=yu(F|0,H|0,1)|0;J=G()|0;K=r+-1|0;L=pu(I|0,J|0,y|0,z|0)|0;M=G()|0;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(x|0)){r=K;A=M;B=N;C=I;D=J;E=L}else{O=K;P=N;Q=L;R=M;S=I;T=J;break b}}U=a*0.0;break a}else{O=t;P=q;Q=p;R=o;S=u;T=v}while(0);if(P)if((Q|0)==0&(R|0)==0){U=a*0.0;break}else{V=R;W=Q}else{V=T;W=S}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){o=O;p=W;q=V;while(1){E=yu(p|0,q|0,1)|0;D=G()|0;C=o+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){o=C;p=E;q=D}else{X=C;Y=E;Z=D;break}}}else{X=O;Y=W;Z=V}if((X|0)>0){q=ou(Y|0,Z|0,0,-1048576)|0;p=G()|0;o=yu(X|0,0,52)|0;_=p|(G()|0);$=q|o}else{o=xu(Y|0,Z|0,1-X|0)|0;_=G()|0;$=o}c[h>>2]=$;c[h+4>>2]=_|j;U=+g[h>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function Vr(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;F(c[h+4>>2]|0);return b|0}function Wr(a,b){a=+a;b=+b;return +(+Ur(a,b))}function Xr(a,b){a=+a;b=b|0;return +(+Qr(a,b))}function Yr(a,b){a=+a;b=b|0;return +(+Rr(a,b))}function Zr(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=b;g=d;h=c;while(1){i=a[f>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function _r(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=c;i=0}else{j=b;k=e;l=c;m=g;while(1){k=k+-1|0;n=a[l>>0]|0;if(!(m<<24>>24==n<<24>>24&((k|0)!=0&n<<24>>24!=0))){h=l;i=m;break a}j=j+1|0;n=l+1|0;m=a[j>>0]|0;if(!(m<<24>>24)){h=n;i=0;break}else l=n}}while(0);f=(i&255)-(d[h>>0]|0)|0}return f|0}function $r(a){a=a|0;return (a+-48|0)>>>0<10|0}function as(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=d;d=bs(a,b,f)|0;Ga=e;return d|0}function bs(a,b,c){a=a|0;b=b|0;c=c|0;return cs(a,2147483647,b,c)|0}function cs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Ga;Ga=Ga+128|0;h=g+124|0;i=g;j=i;k=34904;l=j+124|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((d+-1|0)>>>0>2147483646)if(!d){m=h;n=1;o=4}else{c[(Lr()|0)>>2]=75;p=-1}else{m=b;n=d;o=4}if((o|0)==4){o=-2-m|0;d=n>>>0>o>>>0?o:n;c[i+48>>2]=d;n=i+20|0;c[n>>2]=m;c[i+44>>2]=m;o=m+d|0;m=i+16|0;c[m>>2]=o;c[i+28>>2]=o;o=ds(i,e,f)|0;if(!d)p=o;else{d=c[n>>2]|0;a[d+(((d|0)==(c[m>>2]|0))<<31>>31)>>0]=0;p=o}}Ga=g;return p|0}function ds(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=Ga;Ga=Ga+224|0;g=f+208|0;h=f+160|0;i=f+80|0;j=f;k=h;l=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));c[g>>2]=c[e>>2];if((es(0,d,g,i,h)|0)<0)m=-1;else{if((c[b+76>>2]|0)>-1)n=fs(b)|0;else n=0;e=c[b>>2]|0;k=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){l=b+44|0;o=c[l>>2]|0;c[l>>2]=j;p=b+28|0;c[p>>2]=j;q=b+20|0;c[q>>2]=j;c[e>>2]=80;r=b+16|0;c[r>>2]=j+80;j=es(b,d,g,i,h)|0;if(!o)s=j;else{La[c[b+36>>2]&7](b,0,0)|0;t=(c[q>>2]|0)==0?-1:j;c[l>>2]=o;c[e>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=0;s=t}}else s=es(b,d,g,i,h)|0;h=c[b>>2]|0;c[b>>2]=h|k;if(n|0)gs(b);m=(h&32|0)==0?s:-1}Ga=f;return m|0}function es(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;j=Ga;Ga=Ga+64|0;k=j+56|0;l=j+40|0;m=j;n=j+48|0;o=j+60|0;c[k>>2]=e;e=(d|0)!=0;p=m+40|0;q=p;r=m+39|0;m=n+4|0;s=0;t=0;u=0;a:while(1){v=s;w=t;while(1){do if((w|0)>-1)if((v|0)>(2147483647-w|0)){c[(Lr()|0)>>2]=75;x=-1;break}else{x=v+w|0;break}else x=w;while(0);y=c[k>>2]|0;z=a[y>>0]|0;if(!(z<<24>>24)){A=94;break a}B=z;z=y;b:while(1){switch(B<<24>>24){case 37:{A=10;break b;break}case 0:{C=z;break b;break}default:{}}D=z+1|0;c[k>>2]=D;B=a[D>>0]|0;z=D}c:do if((A|0)==10){A=0;B=z;D=z;while(1){if((a[D+1>>0]|0)!=37){C=B;break c}E=B+1|0;D=D+2|0;c[k>>2]=D;if((a[D>>0]|0)!=37){C=E;break}else B=E}}while(0);v=C-y|0;if(e)hs(d,y,v);if(!v)break;else w=x}w=($r(a[(c[k>>2]|0)+1>>0]|0)|0)==0;v=c[k>>2]|0;if(!w?(a[v+2>>0]|0)==36:0){F=(a[v+1>>0]|0)+-48|0;H=1;I=3}else{F=-1;H=u;I=1}w=v+I|0;c[k>>2]=w;v=a[w>>0]|0;z=(v<<24>>24)+-32|0;if(z>>>0>31|(1<<z&75913|0)==0){J=0;K=v;L=w}else{v=0;B=z;z=w;while(1){w=1<<B|v;D=z+1|0;c[k>>2]=D;E=a[D>>0]|0;B=(E<<24>>24)+-32|0;if(B>>>0>31|(1<<B&75913|0)==0){J=w;K=E;L=D;break}else{v=w;z=D}}}if(K<<24>>24==42){if(($r(a[L+1>>0]|0)|0)!=0?(z=c[k>>2]|0,(a[z+2>>0]|0)==36):0){v=z+1|0;c[i+((a[v>>0]|0)+-48<<2)>>2]=10;M=c[h+((a[v>>0]|0)+-48<<3)>>2]|0;N=1;O=z+3|0}else{if(H|0){P=-1;break}if(e){z=(c[f>>2]|0)+(4-1)&~(4-1);v=c[z>>2]|0;c[f>>2]=z+4;Q=v}else Q=0;M=Q;N=0;O=(c[k>>2]|0)+1|0}c[k>>2]=O;v=(M|0)<0;R=v?0-M|0:M;S=v?J|8192:J;T=N;U=O}else{v=is(k)|0;if((v|0)<0){P=-1;break}R=v;S=J;T=H;U=c[k>>2]|0}do if((a[U>>0]|0)==46){v=U+1|0;if((a[v>>0]|0)!=42){c[k>>2]=v;v=is(k)|0;V=v;W=c[k>>2]|0;break}if($r(a[U+2>>0]|0)|0?(v=c[k>>2]|0,(a[v+3>>0]|0)==36):0){z=v+2|0;c[i+((a[z>>0]|0)+-48<<2)>>2]=10;B=c[h+((a[z>>0]|0)+-48<<3)>>2]|0;z=v+4|0;c[k>>2]=z;V=B;W=z;break}if(T|0){P=-1;break a}if(e){z=(c[f>>2]|0)+(4-1)&~(4-1);B=c[z>>2]|0;c[f>>2]=z+4;X=B}else X=0;B=(c[k>>2]|0)+2|0;c[k>>2]=B;V=X;W=B}else{V=-1;W=U}while(0);B=0;z=W;while(1){if(((a[z>>0]|0)+-65|0)>>>0>57){P=-1;break a}v=z;z=z+1|0;c[k>>2]=z;Y=a[(a[v>>0]|0)+-65+(32e3+(B*58|0))>>0]|0;Z=Y&255;if((Z+-1|0)>>>0>=8)break;else B=Z}if(!(Y<<24>>24)){P=-1;break}v=(F|0)>-1;do if(Y<<24>>24==19)if(v){P=-1;break a}else A=54;else{if(v){c[i+(F<<2)>>2]=Z;D=h+(F<<3)|0;w=c[D+4>>2]|0;E=l;c[E>>2]=c[D>>2];c[E+4>>2]=w;A=54;break}if(!e){P=0;break a}js(l,Z,f);_=c[k>>2]|0;A=55}while(0);if((A|0)==54){A=0;if(e){_=z;A=55}else $=0}d:do if((A|0)==55){A=0;v=a[_+-1>>0]|0;w=(B|0)!=0&(v&15|0)==3?v&-33:v;v=S&-65537;E=(S&8192|0)==0?S:v;e:do switch(w|0){case 110:{switch((B&255)<<24>>24){case 0:{c[c[l>>2]>>2]=x;$=0;break d;break}case 1:{c[c[l>>2]>>2]=x;$=0;break d;break}case 2:{D=c[l>>2]|0;c[D>>2]=x;c[D+4>>2]=((x|0)<0)<<31>>31;$=0;break d;break}case 3:{b[c[l>>2]>>1]=x;$=0;break d;break}case 4:{a[c[l>>2]>>0]=x;$=0;break d;break}case 6:{c[c[l>>2]>>2]=x;$=0;break d;break}case 7:{D=c[l>>2]|0;c[D>>2]=x;c[D+4>>2]=((x|0)<0)<<31>>31;$=0;break d;break}default:{$=0;break d}}break}case 112:{aa=120;ba=V>>>0>8?V:8;ca=E|8;A=67;break}case 88:case 120:{aa=w;ba=V;ca=E;A=67;break}case 111:{D=l;da=c[D>>2]|0;ea=c[D+4>>2]|0;D=ls(da,ea,p)|0;fa=q-D|0;ga=D;ha=0;ia=67697;ja=(E&8|0)==0|(V|0)>(fa|0)?V:fa+1|0;ka=E;la=da;ma=ea;A=73;break}case 105:case 100:{ea=l;da=c[ea>>2]|0;fa=c[ea+4>>2]|0;if((fa|0)<0){ea=pu(0,0,da|0,fa|0)|0;D=G()|0;na=l;c[na>>2]=ea;c[na+4>>2]=D;oa=1;pa=67697;qa=ea;ra=D;A=72;break e}else{oa=(E&2049|0)!=0&1;pa=(E&2048|0)==0?((E&1|0)==0?67697:67699):67698;qa=da;ra=fa;A=72;break e}break}case 117:{fa=l;oa=0;pa=67697;qa=c[fa>>2]|0;ra=c[fa+4>>2]|0;A=72;break}case 99:{a[r>>0]=c[l>>2];sa=r;ta=0;ua=67697;va=1;wa=v;xa=q;break}case 109:{ya=ns(c[(Lr()|0)>>2]|0)|0;A=77;break}case 115:{fa=c[l>>2]|0;ya=(fa|0)==0?67707:fa;A=77;break}case 67:{c[n>>2]=c[l>>2];c[m>>2]=0;c[l>>2]=n;za=-1;A=81;break}case 83:{if(!V){ps(d,32,R,0,E);Aa=0;A=91}else{za=V;A=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{$=rs(d,+g[l>>3],R,V,E,w)|0;break d;break}default:{sa=y;ta=0;ua=67697;va=V;wa=E;xa=q}}while(0);f:do if((A|0)==67){A=0;w=l;fa=c[w>>2]|0;da=c[w+4>>2]|0;w=ks(fa,da,p,aa&32)|0;D=(ca&8|0)==0|(fa|0)==0&(da|0)==0;ga=w;ha=D?0:2;ia=D?67697:67697+(aa>>>4)|0;ja=ba;ka=ca;la=fa;ma=da;A=73}else if((A|0)==72){A=0;ga=ms(qa,ra,p)|0;ha=oa;ia=pa;ja=V;ka=E;la=qa;ma=ra;A=73}else if((A|0)==77){A=0;da=os(ya,0,V)|0;fa=(da|0)==0;sa=ya;ta=0;ua=67697;va=fa?V:da-ya|0;wa=v;xa=fa?ya+V|0:da}else if((A|0)==81){A=0;da=c[l>>2]|0;fa=0;while(1){D=c[da>>2]|0;if(!D){Ba=fa;break}w=qs(o,D)|0;Ca=(w|0)<0;if(Ca|w>>>0>(za-fa|0)>>>0){A=85;break}D=w+fa|0;if(za>>>0>D>>>0){da=da+4|0;fa=D}else{Ba=D;break}}if((A|0)==85){A=0;if(Ca){P=-1;break a}else Ba=fa}ps(d,32,R,Ba,E);if(!Ba){Aa=0;A=91}else{da=c[l>>2]|0;D=0;while(1){w=c[da>>2]|0;if(!w){Aa=Ba;A=91;break f}ea=qs(o,w)|0;D=ea+D|0;if((D|0)>(Ba|0)){Aa=Ba;A=91;break f}hs(d,o,ea);if(D>>>0>=Ba>>>0){Aa=Ba;A=91;break}else da=da+4|0}}}while(0);if((A|0)==73){A=0;v=(la|0)!=0|(ma|0)!=0;da=(ja|0)!=0|v;D=q-ga+((v^1)&1)|0;sa=da?ga:p;ta=ha;ua=ia;va=da?((ja|0)>(D|0)?ja:D):0;wa=(ja|0)>-1?ka&-65537:ka;xa=q}else if((A|0)==91){A=0;ps(d,32,R,Aa,E^8192);$=(R|0)>(Aa|0)?R:Aa;break}D=xa-sa|0;da=(va|0)<(D|0)?D:va;v=da+ta|0;fa=(R|0)<(v|0)?v:R;ps(d,32,fa,v,wa);hs(d,ua,ta);ps(d,48,fa,v,wa^65536);ps(d,48,da,D,0);hs(d,sa,D);ps(d,32,fa,v,wa^8192);$=fa}while(0);s=$;t=x;u=T}g:do if((A|0)==94)if(!d)if(!u)P=0;else{T=1;while(1){t=c[i+(T<<2)>>2]|0;if(!t)break;js(h+(T<<3)|0,t,f);t=T+1|0;if(t>>>0<10)T=t;else{P=1;break g}}t=T;while(1){if(c[i+(t<<2)>>2]|0){P=-1;break g}t=t+1|0;if(t>>>0>=10){P=1;break}}}else P=x;while(0);Ga=j;return P|0}function fs(a){a=a|0;return 1}function gs(a){a=a|0;return}function hs(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Ds(b,d,a)|0;return}function is(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!($r(a[c[b>>2]>>0]|0)|0))d=0;else{e=0;while(1){f=c[b>>2]|0;g=(e*10|0)+-48+(a[f>>0]|0)|0;h=f+1|0;c[b>>2]=h;if(!($r(a[h>>0]|0)|0)){d=g;break}else e=g}}return d|0}function js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;h=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=h;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+g[i>>3];c[d>>2]=i+8;g[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+g[i>>3];c[d>>2]=i+8;g[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function ks(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0;if((b|0)==0&(c|0)==0)g=e;else{h=e;e=c;c=b;while(1){b=h+-1|0;a[b>>0]=d[32464+(c&15)>>0]|0|f;c=xu(c|0,e|0,4)|0;e=G()|0;if((c|0)==0&(e|0)==0){g=b;break}else h=b}}return g|0}function ls(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if((b|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=b;while(1){b=f+-1|0;a[b>>0]=c&7|48;c=xu(c|0,d|0,3)|0;d=G()|0;if((c|0)==0&(d|0)==0){e=b;break}else f=b}}return e|0}function ms(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=d;f=b;g=c;do{c=f;f=vu(f|0,g|0,10,0)|0;h=g;g=G()|0;i=uu(f|0,g|0,10,0)|0;j=pu(c|0,h|0,i|0,G()|0)|0;G()|0;e=e+-1|0;a[e>>0]=j&255|48}while(h>>>0>9|(h|0)==9&c>>>0>4294967295);k=f;l=e}else{k=b;l=d}if(!k)m=l;else{d=k;k=l;while(1){l=d;d=(d>>>0)/10|0;b=k+-1|0;a[b>>0]=l-(d*10|0)|48;if(l>>>0<10){m=b;break}else k=b}}return m|0}function ns(a){a=a|0;return xs(a,c[(ws()|0)+188>>2]|0)|0}function os(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=b;j=e;while(1){if((a[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=b;r=e;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else m=16;b:do if((m|0)==6){r=d&255;if((a[k>>0]|0)==r<<24>>24)if(!l){m=16;break}else{t=k;break}q=B(f,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){e=c[s>>2]^q;if((e&-2139062144^-2139062144)&e+-16843009|0){u=g;v=s;break c}e=s+4|0;b=g+-4|0;if(b>>>0>3){s=e;g=b}else{w=e;x=b;m=11;break}}}else{w=k;x=l;m=11}while(0);if((m|0)==11)if(!x){m=16;break}else{u=x;v=w}q=v;g=u;while(1){if((a[q>>0]|0)==r<<24>>24){t=q;break b}g=g+-1|0;if(!g){m=16;break}else q=q+1|0}}while(0);if((m|0)==16)t=0;return t|0}function ps(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ga;Ga=Ga+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Eu(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{hs(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;hs(a,g,h)}Ga=f;return}function qs(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=ts(a,b,0)|0;return c|0}function rs(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0.0,F=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0;j=Ga;Ga=Ga+560|0;k=j+32|0;l=j+536|0;m=j;n=m;o=j+540|0;c[l>>2]=0;p=o+12|0;q=ss(e)|0;r=G()|0;if((r|0)<0){s=-e;t=ss(s)|0;u=s;v=1;w=67714;x=G()|0;y=t}else{u=e;v=(h&2049|0)!=0&1;w=(h&2048|0)==0?((h&1|0)==0?67715:67720):67717;x=r;y=q}do if(0==0&(x&2146435072|0)==2146435072){q=(i&32|0)!=0;y=v+3|0;ps(b,32,f,y,h&-65537);hs(b,w,v);hs(b,u!=u|0.0!=0.0?(q?67763:67741):q?67733:67737,3);ps(b,32,f,y,h^8192);z=y}else{e=+Yr(u,l)*2.0;y=e!=0.0;if(y)c[l>>2]=(c[l>>2]|0)+-1;q=i|32;if((q|0)==97){r=i&32;t=(r|0)==0?w:w+9|0;A=v|2;C=12-g|0;do if(!(g>>>0>11|(C|0)==0)){s=8.0;D=C;do{D=D+-1|0;s=s*16.0}while((D|0)!=0);if((a[t>>0]|0)==45){E=-(s+(-e-s));break}else{E=e+s-s;break}}else E=e;while(0);C=c[l>>2]|0;D=(C|0)<0?0-C|0:C;F=ms(D,((D|0)<0)<<31>>31,p)|0;if((F|0)==(p|0)){D=o+11|0;a[D>>0]=48;H=D}else H=F;a[H+-1>>0]=(C>>31&2)+43;C=H+-2|0;a[C>>0]=i+15;F=(g|0)<1;D=(h&8|0)==0;I=m;J=E;while(1){K=~~J;L=I+1|0;a[I>>0]=r|d[32464+K>>0];J=(J-+(K|0))*16.0;if((L-n|0)==1?!(D&(F&J==0.0)):0){a[L>>0]=46;M=I+2|0}else M=L;if(!(J!=0.0))break;else I=M}I=M;if((g|0)!=0?(-2-n+I|0)<(g|0):0){F=p;D=C;N=g+2+F-D|0;O=F;P=D}else{D=p;F=C;N=D-n-F+I|0;O=D;P=F}F=N+A|0;ps(b,32,f,F,h);hs(b,t,A);ps(b,48,f,F,h^65536);D=I-n|0;hs(b,m,D);I=O-P|0;ps(b,48,N-(D+I)|0,0,0);hs(b,C,I);ps(b,32,f,F,h^8192);z=F;break}F=(g|0)<0?6:g;if(y){I=(c[l>>2]|0)+-28|0;c[l>>2]=I;Q=e*268435456.0;R=I}else{Q=e;R=c[l>>2]|0}I=(R|0)<0?k:k+288|0;D=I;J=Q;do{r=~~J>>>0;c[D>>2]=r;D=D+4|0;J=(J-+(r>>>0))*1.0e9}while(J!=0.0);y=I;if((R|0)>0){C=I;A=D;t=R;while(1){r=(t|0)<29?t:29;L=A+-4|0;if(L>>>0>=C>>>0){K=L;L=0;do{S=yu(c[K>>2]|0,0,r|0)|0;T=ou(S|0,G()|0,L|0,0)|0;S=G()|0;L=vu(T|0,S|0,1e9,0)|0;U=uu(L|0,G()|0,1e9,0)|0;V=pu(T|0,S|0,U|0,G()|0)|0;G()|0;c[K>>2]=V;K=K+-4|0}while(K>>>0>=C>>>0);if(L){K=C+-4|0;c[K>>2]=L;W=K}else W=C}else W=C;a:do if(A>>>0>W>>>0){K=A;while(1){V=K+-4|0;if(c[V>>2]|0){X=K;break a}if(V>>>0>W>>>0)K=V;else{X=V;break}}}else X=A;while(0);L=(c[l>>2]|0)-r|0;c[l>>2]=L;if((L|0)>0){C=W;A=X;t=L}else{Y=W;Z=X;_=L;break}}}else{Y=I;Z=D;_=R}if((_|0)<0){t=((F+25|0)/9|0)+1|0;A=(q|0)==102;C=Y;L=Z;K=_;while(1){V=0-K|0;U=(V|0)<9?V:9;if(C>>>0<L>>>0){V=(1<<U)+-1|0;S=1e9>>>U;T=0;$=C;do{aa=c[$>>2]|0;c[$>>2]=(aa>>>U)+T;T=B(aa&V,S)|0;$=$+4|0}while($>>>0<L>>>0);$=(c[C>>2]|0)==0?C+4|0:C;if(!T){ba=L;ca=$}else{c[L>>2]=T;ba=L+4|0;ca=$}}else{ba=L;ca=(c[C>>2]|0)==0?C+4|0:C}$=A?I:ca;S=(ba-$>>2|0)>(t|0)?$+(t<<2)|0:ba;K=(c[l>>2]|0)+U|0;c[l>>2]=K;if((K|0)>=0){da=ca;ea=S;break}else{C=ca;L=S}}}else{da=Y;ea=Z}if(da>>>0<ea>>>0){L=(y-da>>2)*9|0;C=c[da>>2]|0;if(C>>>0<10)fa=L;else{K=L;L=10;while(1){L=L*10|0;t=K+1|0;if(C>>>0<L>>>0){fa=t;break}else K=t}}}else fa=0;K=(q|0)==103;L=(F|0)!=0;C=F-((q|0)==102?0:fa)+((L&K)<<31>>31)|0;if((C|0)<(((ea-y>>2)*9|0)+-9|0)){t=C+9216|0;C=(t|0)/9|0;A=I+4+(C+-1024<<2)|0;D=t-(C*9|0)|0;if((D|0)<8){C=D;D=10;while(1){t=D*10|0;if((C|0)<7){C=C+1|0;D=t}else{ga=t;break}}}else ga=10;D=c[A>>2]|0;C=(D>>>0)/(ga>>>0)|0;q=D-(B(C,ga)|0)|0;t=(A+4|0)==(ea|0);if(!(t&(q|0)==0)){s=(C&1|0)==0?9007199254740992.0:9007199254740994.0;C=ga>>>1;J=q>>>0<C>>>0?.5:t&(q|0)==(C|0)?1.0:1.5;if(!v){ha=J;ia=s}else{C=(a[w>>0]|0)==45;ha=C?-J:J;ia=C?-s:s}C=D-q|0;c[A>>2]=C;if(ia+ha!=ia){q=C+ga|0;c[A>>2]=q;if(q>>>0>999999999){q=A;C=da;while(1){D=q+-4|0;c[q>>2]=0;if(D>>>0<C>>>0){t=C+-4|0;c[t>>2]=0;ja=t}else ja=C;t=(c[D>>2]|0)+1|0;c[D>>2]=t;if(t>>>0>999999999){q=D;C=ja}else{ka=D;la=ja;break}}}else{ka=A;la=da}C=(y-la>>2)*9|0;q=c[la>>2]|0;if(q>>>0<10){ma=ka;na=C;oa=la}else{D=C;C=10;while(1){C=C*10|0;t=D+1|0;if(q>>>0<C>>>0){ma=ka;na=t;oa=la;break}else D=t}}}else{ma=A;na=fa;oa=da}}else{ma=A;na=fa;oa=da}D=ma+4|0;pa=na;qa=ea>>>0>D>>>0?D:ea;ra=oa}else{pa=fa;qa=ea;ra=da}D=0-pa|0;b:do if(qa>>>0>ra>>>0){C=qa;while(1){q=C+-4|0;if(c[q>>2]|0){sa=C;ta=1;break b}if(q>>>0>ra>>>0)C=q;else{sa=q;ta=0;break}}}else{sa=qa;ta=0}while(0);do if(K){A=F+((L^1)&1)|0;if((A|0)>(pa|0)&(pa|0)>-5){ua=i+-1|0;va=A+-1-pa|0}else{ua=i+-2|0;va=A+-1|0}if(!(h&8)){if(ta?(A=c[sa+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){C=0;U=10;while(1){U=U*10|0;T=C+1|0;if((A>>>0)%(U>>>0)|0|0){wa=T;break}else C=T}}else wa=0;else wa=9;C=((sa-y>>2)*9|0)+-9|0;if((ua|32|0)==102){U=C-wa|0;A=(U|0)>0?U:0;xa=ua;ya=(va|0)<(A|0)?va:A;break}else{A=C+pa-wa|0;C=(A|0)>0?A:0;xa=ua;ya=(va|0)<(C|0)?va:C;break}}else{xa=ua;ya=va}}else{xa=i;ya=F}while(0);F=(ya|0)!=0;y=F?1:h>>>3&1;L=(xa|32|0)==102;if(L){za=0;Aa=(pa|0)>0?pa:0}else{K=(pa|0)<0?D:pa;C=ms(K,((K|0)<0)<<31>>31,p)|0;K=p;if((K-C|0)<2){A=C;while(1){U=A+-1|0;a[U>>0]=48;if((K-U|0)<2)A=U;else{Ba=U;break}}}else Ba=C;a[Ba+-1>>0]=(pa>>31&2)+43;A=Ba+-2|0;a[A>>0]=xa;za=A;Aa=K-A|0}A=v+1+ya+y+Aa|0;ps(b,32,f,A,h);hs(b,w,v);ps(b,48,f,A,h^65536);if(L){D=ra>>>0>I>>>0?I:ra;U=m+9|0;T=U;q=m+8|0;t=D;do{S=ms(c[t>>2]|0,0,U)|0;if((t|0)==(D|0))if((S|0)==(U|0)){a[q>>0]=48;Ca=q}else Ca=S;else if(S>>>0>m>>>0){Eu(m|0,48,S-n|0)|0;$=S;while(1){V=$+-1|0;if(V>>>0>m>>>0)$=V;else{Ca=V;break}}}else Ca=S;hs(b,Ca,T-Ca|0);t=t+4|0}while(t>>>0<=I>>>0);if(!((h&8|0)==0&(F^1)))hs(b,67771,1);if(t>>>0<sa>>>0&(ya|0)>0){I=ya;T=t;while(1){q=ms(c[T>>2]|0,0,U)|0;if(q>>>0>m>>>0){Eu(m|0,48,q-n|0)|0;D=q;while(1){L=D+-1|0;if(L>>>0>m>>>0)D=L;else{Da=L;break}}}else Da=q;hs(b,Da,(I|0)<9?I:9);T=T+4|0;D=I+-9|0;if(!(T>>>0<sa>>>0&(I|0)>9)){Ea=D;break}else I=D}}else Ea=ya;ps(b,48,Ea+9|0,9,0)}else{I=ta?sa:ra+4|0;if(ra>>>0<I>>>0&(ya|0)>-1){T=m+9|0;U=(h&8|0)==0;t=T;F=0-n|0;D=m+8|0;S=ya;L=ra;while(1){y=ms(c[L>>2]|0,0,T)|0;if((y|0)==(T|0)){a[D>>0]=48;Fa=D}else Fa=y;do if((L|0)==(ra|0)){y=Fa+1|0;hs(b,Fa,1);if(U&(S|0)<1){Ha=y;break}hs(b,67771,1);Ha=y}else{if(Fa>>>0<=m>>>0){Ha=Fa;break}Eu(m|0,48,Fa+F|0)|0;y=Fa;while(1){K=y+-1|0;if(K>>>0>m>>>0)y=K;else{Ha=K;break}}}while(0);q=t-Ha|0;hs(b,Ha,(S|0)>(q|0)?q:S);y=S-q|0;L=L+4|0;if(!(L>>>0<I>>>0&(y|0)>-1)){Ia=y;break}else S=y}}else Ia=ya;ps(b,48,Ia+18|0,18,0);hs(b,za,p-za|0)}ps(b,32,f,A,h^8192);z=A}while(0);Ga=j;return ((z|0)<(f|0)?f:z)|0}function ss(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;F(c[h+4>>2]|0);return b|0}function ts(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(!(c[c[(us()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;f=1;break}else{c[(Lr()|0)>>2]=84;f=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(Lr()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function us(){return vs()|0}function vs(){return 35028}function ws(){return vs()|0}function xs(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((d[32480+f>>0]|0)==(b|0)){g=4;break}h=f+1|0;if((h|0)==87){i=87;g=5;break}else f=h}if((g|0)==4)if(!f)j=32576;else{i=f;g=5}if((g|0)==5){g=32576;f=i;while(1){i=g;do{b=i;i=i+1|0}while((a[b>>0]|0)!=0);f=f+-1|0;if(!f){j=i;break}else g=i}}return ys(j,c[e+20>>2]|0)|0}function ys(a,b){a=a|0;b=b|0;return zs(a,b)|0}function zs(a,b){a=a|0;b=b|0;var d=0;if(!b)d=0;else d=As(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((d|0)==0?a:d)|0}function As(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=(c[b>>2]|0)+1794895138|0;g=Bs(c[b+8>>2]|0,f)|0;h=Bs(c[b+12>>2]|0,f)|0;i=Bs(c[b+16>>2]|0,f)|0;a:do if((g>>>0<d>>>2>>>0?(j=d-(g<<2)|0,h>>>0<j>>>0&i>>>0<j>>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Bs(c[b+(q<<2)>>2]|0,f)|0;s=Bs(c[b+(q+1<<2)>>2]|0,f)|0;if(!(s>>>0<d>>>0&r>>>0<(d-s|0)>>>0)){t=0;break a}if(a[b+(s+r)>>0]|0){t=0;break a}r=Cs(e,b+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}l=s?l:o;m=s?n:m-n|0}m=p+k|0;l=Bs(c[b+(m<<2)>>2]|0,f)|0;j=Bs(c[b+(m+1<<2)>>2]|0,f)|0;if(j>>>0<d>>>0&l>>>0<(d-j|0)>>>0)t=(a[b+(j+l)>>0]|0)==0?b+j|0:0;else t=0}else t=0;while(0);return t|0}function Bs(a,b){a=a|0;b=b|0;var c=0;c=zu(a|0)|0;return ((b|0)==0?a:c)|0}function Cs(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=b;do{c=c+1|0;d=d+1|0;b=a[c>>0]|0;e=a[d>>0]|0}while(!(b<<24>>24==0?1:b<<24>>24!=e<<24>>24));f=e;g=b}return (g&255)-(f&255)|0}function Ds(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Es(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=La[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){l=0;m=b;n=d;o=k}else{f=d;while(1){p=f+-1|0;if((a[b+p>>0]|0)==10)break;if(!p){l=0;m=b;n=d;o=k;break b}else f=p}p=La[c[e+36>>2]&7](e,b,f)|0;if(p>>>0<f>>>0){j=p;break a}l=f;m=b+f|0;n=d-f|0;o=c[g>>2]|0}while(0);Du(o|0,m|0,n|0)|0;c[g>>2]=(c[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function Es(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function Fs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;Du(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Gs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Hs(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;a:do if(e>>>0>36){c[(Lr()|0)>>2]=22;i=0;j=0}else{k=b+4|0;l=b+100|0;do{m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;n=d[m>>0]|0}else n=Is(b)|0}while((Js(n)|0)!=0);b:do switch(n|0){case 43:case 45:{m=((n|0)==45)<<31>>31;o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;p=m;q=d[o>>0]|0;break b}else{p=m;q=Is(b)|0;break b}break}default:{p=0;q=n}}while(0);m=(e|0)==0;do if((e|16|0)==16&(q|0)==48){o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;r=d[o>>0]|0}else r=Is(b)|0;if((r|32|0)!=120)if(m){s=r;t=8;u=47;break}else{v=r;w=e;u=32;break}o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;x=d[o>>0]|0}else x=Is(b)|0;if((d[34385+x>>0]|0)>15){o=(c[l>>2]|0)==0;if(!o)c[k>>2]=(c[k>>2]|0)+-1;if(!f){Gs(b,0);i=0;j=0;break a}if(o){i=0;j=0;break a}c[k>>2]=(c[k>>2]|0)+-1;i=0;j=0;break a}else{s=x;t=16;u=47}}else{o=m?10:e;if(o>>>0>(d[34385+q>>0]|0)>>>0){v=q;w=o;u=32}else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;Gs(b,0);c[(Lr()|0)>>2]=22;i=0;j=0;break a}}while(0);c:do if((u|0)==32)if((w|0)==10){m=v+-48|0;if(m>>>0<10){o=0;y=m;do{o=(o*10|0)+y|0;m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;z=d[m>>0]|0}else z=Is(b)|0;y=z+-48|0}while(y>>>0<10&o>>>0<429496729);if(y>>>0<10){m=z;A=o;C=0;D=y;while(1){E=uu(A|0,C|0,10,0)|0;H=G()|0;I=((D|0)<0)<<31>>31;J=~I;if(H>>>0>J>>>0|(H|0)==(J|0)&E>>>0>~D>>>0){K=10;L=m;M=A;N=C;u=76;break c}A=ou(E|0,H|0,D|0,I|0)|0;C=G()|0;I=c[k>>2]|0;if(I>>>0<(c[l>>2]|0)>>>0){c[k>>2]=I+1;O=d[I>>0]|0}else O=Is(b)|0;D=O+-48|0;if(!(D>>>0<10&(C>>>0<429496729|(C|0)==429496729&A>>>0<2576980378)))break;else m=O}if(D>>>0>9){P=p;Q=C;R=A}else{K=10;L=O;M=A;N=C;u=76}}else{P=p;Q=0;R=o}}else{P=p;Q=0;R=0}}else{s=v;t=w;u=47}while(0);d:do if((u|0)==47){if(!(t+-1&t)){m=a[67745+((t*23|0)>>>5&7)>>0]|0;y=a[34385+s>>0]|0;I=y&255;if(t>>>0>I>>>0){H=0;E=I;do{H=E|H<<m;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;S=d[J>>0]|0}else S=Is(b)|0;T=a[34385+S>>0]|0;E=T&255}while(H>>>0<134217728&t>>>0>E>>>0);U=S;V=E;W=0;X=H;Y=T}else{U=s;V=I;W=0;X=0;Y=y}o=xu(-1,-1,m|0)|0;C=G()|0;if(t>>>0<=V>>>0|(C>>>0<W>>>0|(C|0)==(W|0)&o>>>0<X>>>0)){K=t;L=U;M=X;N=W;u=76;break}A=X;D=W;J=Y;while(1){Z=yu(A|0,D|0,m|0)|0;_=G()|0;$=Z|J&255;Z=c[k>>2]|0;if(Z>>>0<(c[l>>2]|0)>>>0){c[k>>2]=Z+1;aa=d[Z>>0]|0}else aa=Is(b)|0;J=a[34385+aa>>0]|0;if(t>>>0<=(J&255)>>>0|(_>>>0>C>>>0|(_|0)==(C|0)&$>>>0>o>>>0)){K=t;L=aa;M=$;N=_;u=76;break d}else{A=$;D=_}}}D=a[34385+s>>0]|0;A=D&255;if(t>>>0>A>>>0){o=0;C=A;do{o=C+(B(o,t)|0)|0;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;ba=d[J>>0]|0}else ba=Is(b)|0;ca=a[34385+ba>>0]|0;C=ca&255}while(o>>>0<119304647&t>>>0>C>>>0);da=ba;ea=C;fa=ca;ga=o;ha=0}else{da=s;ea=A;fa=D;ga=0;ha=0}if(t>>>0>ea>>>0){J=vu(-1,-1,t|0,0)|0;m=G()|0;y=da;I=ha;H=ga;E=fa;while(1){if(I>>>0>m>>>0|(I|0)==(m|0)&H>>>0>J>>>0){K=t;L=y;M=H;N=I;u=76;break d}_=uu(H|0,I|0,t|0,0)|0;$=G()|0;Z=E&255;if($>>>0>4294967295|($|0)==-1&_>>>0>~Z>>>0){K=t;L=y;M=H;N=I;u=76;break d}ia=ou(_|0,$|0,Z|0,0)|0;Z=G()|0;$=c[k>>2]|0;if($>>>0<(c[l>>2]|0)>>>0){c[k>>2]=$+1;ja=d[$>>0]|0}else ja=Is(b)|0;E=a[34385+ja>>0]|0;if(t>>>0<=(E&255)>>>0){K=t;L=ja;M=ia;N=Z;u=76;break}else{y=ja;I=Z;H=ia}}}else{K=t;L=da;M=ga;N=ha;u=76}}while(0);if((u|0)==76)if(K>>>0>(d[34385+L>>0]|0)>>>0){do{H=c[k>>2]|0;if(H>>>0<(c[l>>2]|0)>>>0){c[k>>2]=H+1;ka=d[H>>0]|0}else ka=Is(b)|0}while(K>>>0>(d[34385+ka>>0]|0)>>>0);c[(Lr()|0)>>2]=34;P=(g&1|0)==0&0==0?p:0;Q=h;R=g}else{P=p;Q=N;R=M}if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;if(!(Q>>>0<h>>>0|(Q|0)==(h|0)&R>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(P|0)!=0)){c[(Lr()|0)>>2]=34;H=ou(g|0,h|0,-1,-1)|0;i=G()|0;j=H;break}if(Q>>>0>h>>>0|(Q|0)==(h|0)&R>>>0>g>>>0){c[(Lr()|0)>>2]=34;i=h;j=g;break}}H=((P|0)<0)<<31>>31;I=pu(R^P|0,Q^H|0,P|0,H|0)|0;i=G()|0;j=I}while(0);F(i|0);return j|0}function Is(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=b+104|0;f=c[e>>2]|0;if((f|0)!=0?(c[b+108>>2]|0)>=(f|0):0)g=4;else{f=Ks(b)|0;if((f|0)>=0){h=c[e>>2]|0;e=c[b+8>>2]|0;if(h){i=c[b+4>>2]|0;j=h-(c[b+108>>2]|0)|0;h=e;if((e-i|0)<(j|0)){k=h;g=9}else{c[b+100>>2]=i+(j+-1);l=h}}else{k=e;g=9}if((g|0)==9){c[b+100>>2]=e;l=k}k=b+4|0;if(!l)m=c[k>>2]|0;else{e=c[k>>2]|0;k=b+108|0;c[k>>2]=l+1-e+(c[k>>2]|0);m=e}e=m+-1|0;if((f|0)==(d[e>>0]|0|0))n=f;else{a[e>>0]=f;n=f}}else g=4}if((g|0)==4){c[b+100>>2]=0;n=-1}return n|0}function Js(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ks(a){a=a|0;var b=0,e=0,f=0;b=Ga;Ga=Ga+16|0;e=b;if((Ls(a)|0)==0?(La[c[a+32>>2]&7](a,e,1)|0)==1:0)f=d[e>>0]|0;else f=-1;Ga=b;return f|0}function Ls(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+28|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)La[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[d>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(!(e&4)){d=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=d;c[b+4>>2]=d;f=e<<27>>31}else{c[b>>2]=e|32;f=-1}return f|0}function Ms(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b;a:do if(!(d&3)){e=b;f=5}else{g=b;h=d;while(1){if(!(a[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){e=j;f=5;break}else g=j}}while(0);if((f|0)==5){f=e;while(1){k=c[f>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))f=f+4|0;else break}if(!((k&255)<<24>>24))l=f;else{k=f;while(1){f=k+1|0;if(!(a[f>>0]|0)){l=f;break}else k=f}}i=l}return i-d|0}function Ns(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=Ga;Ga=Ga+208|0;g=f;h=f+192|0;i=B(d,b)|0;b=h;c[b>>2]=1;c[b+4>>2]=0;a:do if(i|0){b=0-d|0;c[g+4>>2]=d;c[g>>2]=d;j=2;k=d;l=d;while(1){m=k+d+l|0;c[g+(j<<2)>>2]=m;if(m>>>0<i>>>0){n=l;j=j+1|0;l=m;k=n}else break}k=a+i+b|0;if(k>>>0>a>>>0){l=k;j=1;n=a;m=1;while(1){do if((m&3|0)!=3){o=j+-1|0;if((c[g+(o<<2)>>2]|0)>>>0<(l-n|0)>>>0)Os(n,d,e,j,g);else Qs(n,d,e,h,j,0,g);if((j|0)==1){Rs(h,1);p=0;break}else{Rs(h,o);p=1;break}}else{Os(n,d,e,j,g);Ps(h,2);p=j+2|0}while(0);o=c[h>>2]|1;c[h>>2]=o;q=n+d|0;if(q>>>0<k>>>0){j=p;n=q;m=o}else{r=p;s=q;t=o;break}}}else{r=1;s=a;t=1}Qs(s,d,e,h,r,0,g);m=h+4|0;n=s;j=r;k=t;while(1){if((j|0)==1&(k|0)==1)if(!(c[m>>2]|0))break a;else u=19;else if((j|0)<2)u=19;else{Rs(h,2);l=j+-2|0;c[h>>2]=c[h>>2]^7;Ps(h,1);Qs(n+(0-(c[g+(l<<2)>>2]|0))+b|0,d,e,h,j+-1|0,1,g);Rs(h,1);o=c[h>>2]|1;c[h>>2]=o;q=n+b|0;Qs(q,d,e,h,l,1,g);v=q;w=l;x=o}if((u|0)==19){u=0;o=Ss(h)|0;Ps(h,o);v=n+b|0;w=o+j|0;x=c[h>>2]|0}n=v;j=w;k=x}}while(0);Ga=f;return}function Os(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=Ga;Ga=Ga+240|0;h=g;c[h>>2]=a;a:do if((e|0)>1){i=0-b|0;j=a;k=e;l=1;m=a;while(1){n=j+i|0;o=k+-2|0;p=n+(0-(c[f+(o<<2)>>2]|0))|0;if((Ka[d&3](m,p)|0)>-1?(Ka[d&3](m,n)|0)>-1:0){q=l;break a}r=h+(l<<2)|0;if((Ka[d&3](p,n)|0)>-1){c[r>>2]=p;s=p;t=k+-1|0}else{c[r>>2]=n;s=n;t=o}o=l+1|0;if((t|0)<=1){q=o;break a}j=s;k=t;l=o;m=c[h>>2]|0}}else q=1;while(0);Us(b,h,q);Ga=g;return}function Ps(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[d>>2]|0;c[a>>2]=e;c[d>>2]=0;f=b+-32|0;g=0;h=e}else{f=b;g=c[d>>2]|0;h=c[a>>2]|0}c[a>>2]=g<<32-f|h>>>f;c[d>>2]=g>>>f;return}function Qs(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=Ga;Ga=Ga+240|0;j=i+232|0;k=i;l=c[e>>2]|0;c[j>>2]=l;m=c[e+4>>2]|0;e=j+4|0;c[e>>2]=m;c[k>>2]=a;a:do if((l|0)!=1|(m|0)!=0?(n=0-b|0,o=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ka[d&3](o,a)|0)>=1):0){p=1;q=f;r=(g|0)==0;s=a;t=o;while(1){if(r&(q|0)>1){o=s+n|0;u=c[h+(q+-2<<2)>>2]|0;if((Ka[d&3](o,t)|0)>-1){v=p;w=q;x=s;y=10;break a}if((Ka[d&3](o+(0-u)|0,t)|0)>-1){v=p;w=q;x=s;y=10;break a}}u=p+1|0;c[k+(p<<2)>>2]=t;o=Ss(j)|0;Ps(j,o);z=o+q|0;if(!((c[j>>2]|0)!=1|(c[e>>2]|0)!=0)){v=u;w=z;x=t;y=10;break a}o=t+(0-(c[h+(z<<2)>>2]|0))|0;if((Ka[d&3](o,c[k>>2]|0)|0)<1){A=t;B=u;C=z;D=0;y=9;break}else{E=t;p=u;q=z;r=1;t=o;s=E}}}else{A=a;B=1;C=f;D=g;y=9}while(0);if((y|0)==9?(D|0)==0:0){v=B;w=C;x=A;y=10}if((y|0)==10){Us(b,k,v);Os(x,b,d,w,h)}Ga=i;return}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[d>>2]=e;c[a>>2]=0;f=b+-32|0;g=0;h=e}else{f=b;g=c[a>>2]|0;h=c[d>>2]|0}c[d>>2]=g>>>(32-f|0)|h<<f;c[a>>2]=g<<f;return}function Ss(a){a=a|0;var b=0,d=0;b=Ts((c[a>>2]|0)+-1|0)|0;if(!b){d=Ts(c[a+4>>2]|0)|0;return ((d|0)==0?0:d+32|0)|0}else return b|0;return 0}function Ts(a){a=a|0;var b=0,c=0,d=0;if(a)if(!(a&1)){b=a;a=0;while(1){c=a+1|0;if(!(b&2)){b=b>>>1;a=c}else{d=c;break}}}else d=0;else d=32;return d|0}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ga;Ga=Ga+256|0;f=e;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=f,a|0):0){h=a;i=f;while(1){j=h>>>0<256?h:256;Du(i|0,c[b>>2]|0,j|0)|0;k=0;do{l=b+(k<<2)|0;k=k+1|0;Du(c[l>>2]|0,c[b+(k<<2)>>2]|0,j|0)|0;c[l>>2]=(c[l>>2]|0)+j}while((k|0)!=(d|0));k=h-j|0;if(!k)break a;h=k;i=c[g>>2]|0}}while(0);Ga=e;return}function Vs(a,b){a=a|0;b=b|0;Xs(a,b)|0;return a|0}function Ws(a,b){a=a|0;b=b|0;Vs(a+(Ms(a)|0)|0,b)|0;return a|0}function Xs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d;a:do if(!((e^b)&3)){if(!(e&3)){f=d;g=b}else{h=d;i=b;while(1){j=a[h>>0]|0;a[i>>0]=j;if(!(j<<24>>24)){k=i;break a}j=h+1|0;l=i+1|0;if(!(j&3)){f=j;g=l;break}else{h=j;i=l}}}i=c[f>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=g;l=f;j=i;while(1){i=l+4|0;m=h+4|0;c[h>>2]=j;j=c[i>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){n=i;o=m;break}else{h=m;l=i}}}else{n=f;o=g}p=n;q=o;r=10}else{p=d;q=b;r=10}while(0);if((r|0)==10){r=a[p>>0]|0;a[q>>0]=r;if(!(r<<24>>24))k=q;else{r=q;q=p;while(1){q=q+1|0;p=r+1|0;b=a[q>>0]|0;a[p>>0]=b;if(!(b<<24>>24)){k=p;break}else r=p}}}return k|0}function Ys(b,c){b=b|0;c=c|0;var d=0;d=dt(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function Zs(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ga;Ga=Ga+16|0;d=b+8|0;e=ct(a,589824,b)|0;do if((e|0)>=0){a=Dr(1,2072)|0;if(!a){c[d>>2]=e;ea(6,d|0)|0;f=0;break}else{c[a>>2]=e;f=a;break}}else f=0;while(0);Ga=b;return f|0}function _s(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=Kr($(195,e|0)|0)|0;Ga=d;return b|0}function $s(a){a=a|0;var b=0;b=bt(c[a>>2]|0)|0;Cr(a);return b|0}function at(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ga;Ga=Ga+16|0;d=b;f=a+8|0;g=c[f>>2]|0;h=a+12|0;a:do if((g|0)<(c[h>>2]|0)){i=a+24+g|0;j=g;k=7}else{l=a+24|0;c[d>>2]=c[a>>2];c[d+4>>2]=l;c[d+8>>2]=2048;m=aa(220,d|0)|0;if((m|0)>=1){c[h>>2]=m;c[f>>2]=0;i=l;j=0;k=7;break}switch(m|0){case 0:case -2:{n=0;break a;break}default:{}}c[(Lr()|0)>>2]=0-m;n=0}while(0);if((k|0)==7){c[f>>2]=j+(e[i+8>>1]|0);c[a+4>>2]=c[i+4>>2];n=i}Ga=b;return n|0}function bt(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;c[d>>2]=Mr(a)|0;a=ea(6,d|0)|0;d=Kr((a|0)==-4?0:a)|0;Ga=b;return d|0}function ct(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ga;Ga=Ga+48|0;f=e+32|0;g=e+16|0;h=e;if(!(b&4194368))i=0;else{c[h>>2]=d;d=(c[h>>2]|0)+(4-1)&~(4-1);j=c[d>>2]|0;c[h>>2]=d+4;i=j}c[g>>2]=a;c[g+4>>2]=b|32768;c[g+8>>2]=i;i=ca(5,g|0)|0;if(!((b&524288|0)==0|(i|0)<0)){c[f>>2]=i;c[f+4>>2]=2;c[f+8>>2]=1;ba(221,f|0)|0}f=Kr(i)|0;Ga=e;return f|0}function dt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&255;a:do if(!e)f=b+(Ms(b)|0)|0;else{if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=B(e,16843009)|0;h=c[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=g;k=h;while(1){l=k^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=j;break b}l=j+4|0;k=c[l>>2]|0;if((k&-2139062144^-2139062144)&k+-16843009|0){m=l;break}else j=l}}else m=g;while(0);i=d&255;h=m;while(1){j=a[h>>0]|0;if(j<<24>>24==0?1:j<<24>>24==i<<24>>24){f=h;break}else h=h+1|0}}while(0);return f|0}function et(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;e=Ga;Ga=Ga+128|0;f=e;g=f;h=g+124|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=f+4|0;c[g>>2]=a;h=f+8|0;c[h>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;Gs(f,0);i=+ft(f,d,1);d=(c[g>>2]|0)-(c[h>>2]|0)+(c[f+108>>2]|0)|0;if(b|0)c[b>>2]=(d|0)==0?a:a+d|0;Ga=e;return +i}function ft(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;switch(e|0){case 0:{g=-149;h=24;i=4;break}case 1:{g=-1074;h=53;i=4;break}case 2:{g=-1074;h=53;i=4;break}default:j=0.0}a:do if((i|0)==4){e=b+4|0;k=b+100|0;do{l=c[e>>2]|0;if(l>>>0<(c[k>>2]|0)>>>0){c[e>>2]=l+1;m=d[l>>0]|0}else m=Is(b)|0}while((Js(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=c[e>>2]|0;if(n>>>0<(c[k>>2]|0)>>>0){c[e>>2]=n+1;o=d[n>>0]|0;p=l;break b}else{o=Is(b)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=0;n=o;while(1){if((n|32|0)!=(a[67754+l>>0]|0)){q=n;t=l;break}do if(l>>>0<7){u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;v=d[u>>0]|0;break}else{v=Is(b)|0;break}}else v=n;while(0);l=l+1|0;if(l>>>0>=8){q=v;t=8;break}else n=v}c:do switch(t&2147483647|0){case 8:break;case 3:{i=23;break}default:{n=(f|0)!=0;if(n&t>>>0>3)if((t|0)==8)break c;else{i=23;break c}d:do if(!t){l=0;u=q;while(1){if((u|32|0)!=(a[67763+l>>0]|0)){w=l;x=u;break d}do if(l>>>0<2){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;z=d[y>>0]|0;break}else{z=Is(b)|0;break}}else z=u;while(0);l=l+1|0;if(l>>>0>=3){w=3;x=z;break}else u=z}}else{w=t;x=q}while(0);switch(w|0){case 3:{u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;A=d[u>>0]|0}else A=Is(b)|0;if((A|0)!=40){if(!(c[k>>2]|0)){j=r;break a}c[e>>2]=(c[e>>2]|0)+-1;j=r;break a}u=1;while(1){l=c[e>>2]|0;if(l>>>0<(c[k>>2]|0)>>>0){c[e>>2]=l+1;B=d[l>>0]|0}else B=Is(b)|0;if(!((B+-48|0)>>>0<10|(B+-65|0)>>>0<26)?!((B|0)==95|(B+-97|0)>>>0<26):0)break;u=u+1|0}if((B|0)==41){j=r;break a}l=(c[k>>2]|0)==0;if(!l)c[e>>2]=(c[e>>2]|0)+-1;if(!n){c[(Lr()|0)>>2]=22;Gs(b,0);j=0.0;break a}if(!u){j=r;break a}y=u;while(1){y=y+-1|0;if(!l)c[e>>2]=(c[e>>2]|0)+-1;if(!y){j=r;break a}}break}case 0:{if((x|0)==48){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;C=d[y>>0]|0}else C=Is(b)|0;if((C|32|0)==120){j=+gt(b,h,g,p,f);break a}if(!(c[k>>2]|0))D=48;else{c[e>>2]=(c[e>>2]|0)+-1;D=48}}else D=x;j=+ht(b,D,h,g,p,f);break a;break}default:{if(c[k>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;c[(Lr()|0)>>2]=22;Gs(b,0);j=0.0;break a}}}}while(0);if((i|0)==23){y=(c[k>>2]|0)==0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if((f|0)!=0&t>>>0>3){l=t;do{if(!y)c[e>>2]=(c[e>>2]|0)+-1;l=l+-1|0}while(l>>>0>3)}}j=+(p|0)*s}while(0);return +j}function gt(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0.0;h=a+4|0;i=c[h>>2]|0;j=a+100|0;if(i>>>0<(c[j>>2]|0)>>>0){c[h>>2]=i+1;k=d[i>>0]|0}else k=Is(a)|0;i=k;k=0;a:while(1){switch(i|0){case 46:{l=10;break a;break}case 48:break;default:{m=0;n=i;o=k;p=0;q=0;break a}}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;s=d[r>>0]|0}else s=Is(a)|0;i=s;k=1}if((l|0)==10){s=c[h>>2]|0;if(s>>>0<(c[j>>2]|0)>>>0){c[h>>2]=s+1;t=d[s>>0]|0}else t=Is(a)|0;if((t|0)==48){s=0;i=0;while(1){r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;u=d[r>>0]|0}else u=Is(a)|0;r=ou(s|0,i|0,-1,-1)|0;v=G()|0;if((u|0)==48){s=r;i=v}else{m=1;n=u;o=1;p=r;q=v;break}}}else{m=1;n=t;o=k;p=0;q=0}}k=0;w=1.0;x=0.0;t=0;u=m;m=n;n=o;o=0;i=0;s=p;p=q;while(1){q=m+-48|0;v=m|32;if(q>>>0>=10){r=(m|0)==46;if(!(r|(v+-97|0)>>>0<6)){y=m;break}if(r)if(!u){z=1;A=k;B=w;C=x;D=t;E=n;F=i;H=o;I=i;J=o}else{y=46;break}else l=24}else l=24;if((l|0)==24){l=0;r=(m|0)>57?v+-87|0:q;do if(!((o|0)<0|(o|0)==0&i>>>0<8))if((o|0)<0|(o|0)==0&i>>>0<14){K=w*.0625;L=k;M=K;N=x+K*+(r|0);O=t;break}else{q=(k|0)!=0|(r|0)==0;L=q?k:1;M=w;N=q?x:x+w*.5;O=t;break}else{L=k;M=w;N=x;O=r+(t<<4)|0}while(0);r=ou(i|0,o|0,1,0)|0;z=u;A=L;B=M;C=N;D=O;E=1;F=s;H=p;I=r;J=G()|0}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;P=d[r>>0]|0}else P=Is(a)|0;k=A;w=B;x=C;t=D;u=z;m=P;n=E;o=J;i=I;s=F;p=H}do if(!n){H=(c[j>>2]|0)==0;if(!H)c[h>>2]=(c[h>>2]|0)+-1;if(g){if(!H?(c[h>>2]=(c[h>>2]|0)+-1,!((u|0)==0|H)):0)c[h>>2]=(c[h>>2]|0)+-1}else Gs(a,0);Q=+(f|0)*0.0}else{H=(u|0)==0;F=H?i:s;I=H?o:p;if((o|0)<0|(o|0)==0&i>>>0<8){H=t;J=i;E=o;while(1){P=H<<4;m=J;J=ou(J|0,E|0,1,0)|0;z=E;E=G()|0;if(!((z|0)<0|(z|0)==0&m>>>0<7)){R=P;break}else H=P}}else R=t;if((y|32|0)==112){H=it(a,g)|0;E=G()|0;if((H|0)==0&(E|0)==-2147483648){if(!g){Gs(a,0);Q=0.0;break}if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}}else{S=H;T=E}}else if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}E=yu(F|0,I|0,2)|0;H=ou(E|0,G()|0,-32,-1)|0;E=ou(H|0,G()|0,S|0,T|0)|0;H=G()|0;if(!R){Q=+(f|0)*0.0;break}J=0-e|0;P=((J|0)<0)<<31>>31;if((H|0)>(P|0)|(H|0)==(P|0)&E>>>0>J>>>0){c[(Lr()|0)>>2]=34;Q=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}J=e+-106|0;P=((J|0)<0)<<31>>31;if((H|0)<(P|0)|(H|0)==(P|0)&E>>>0<J>>>0){c[(Lr()|0)>>2]=34;Q=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((R|0)>-1){C=x;J=R;P=E;m=H;while(1){z=!(C>=.5);D=J<<1|(z^1)&1;B=C+(z?C:C+-1.0);z=ou(P|0,m|0,-1,-1)|0;A=G()|0;if((D|0)>-1){C=B;J=D;P=z;m=A}else{U=B;V=D;W=z;X=A;break}}}else{U=x;V=R;W=E;X=H}m=((b|0)<0)<<31>>31;P=pu(32,0,e|0,((e|0)<0)<<31>>31|0)|0;J=ou(P|0,G()|0,W|0,X|0)|0;P=G()|0;if((P|0)<(m|0)|(P|0)==(m|0)&J>>>0<b>>>0)if((J|0)>0){Y=J;l=65}else{Z=0;_=84;l=67}else{Y=b;l=65}if((l|0)==65)if((Y|0)<53){Z=Y;_=84-Y|0;l=67}else{$=0.0;aa=Y;ba=+(f|0)}if((l|0)==67){C=+(f|0);$=+Sr(+Qr(1.0,_),C);aa=Z;ba=C}J=(V&1|0)==0&(U!=0.0&(aa|0)<32);C=(J?0.0:U)*ba+($+ba*+((V+(J&1)|0)>>>0))-$;if(!(C!=0.0))c[(Lr()|0)>>2]=34;Q=+Xr(C,W)}while(0);return +Q}function ht(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0.0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0.0,fb=0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0;i=Ga;Ga=Ga+512|0;j=i;k=f+e|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=7;break a;break}case 48:break;default:{q=0;r=o;s=b;t=0;v=0;break a}}w=c[m>>2]|0;if(w>>>0<(c[n>>2]|0)>>>0){c[m>>2]=w+1;x=d[w>>0]|0}else x=Is(a)|0;o=x;b=1}if((p|0)==7){x=c[m>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[m>>2]=x+1;y=d[x>>0]|0}else y=Is(a)|0;if((y|0)==48){x=0;o=0;while(1){w=ou(x|0,o|0,-1,-1)|0;z=G()|0;A=c[m>>2]|0;if(A>>>0<(c[n>>2]|0)>>>0){c[m>>2]=A+1;C=d[A>>0]|0}else C=Is(a)|0;if((C|0)==48){x=w;o=z}else{q=1;r=C;s=1;t=w;v=z;break}}}else{q=1;r=y;s=b;t=0;v=0}}c[j>>2]=0;b=r+-48|0;y=(r|0)==46;b:do if(y|b>>>0<10){C=j+496|0;o=0;x=0;z=0;w=q;A=s;D=r;E=y;F=b;H=t;I=v;J=0;K=0;c:while(1){do if(E)if(!w){L=o;M=x;N=1;O=z;P=A;Q=J;R=K;S=J;T=K}else break c;else{U=ou(J|0,K|0,1,0)|0;V=G()|0;W=(D|0)!=48;if((x|0)>=125){if(!W){L=o;M=x;N=w;O=z;P=A;Q=H;R=I;S=U;T=V;break}c[C>>2]=c[C>>2]|1;L=o;M=x;N=w;O=z;P=A;Q=H;R=I;S=U;T=V;break}X=j+(x<<2)|0;if(!o)Y=F;else Y=D+-48+((c[X>>2]|0)*10|0)|0;c[X>>2]=Y;X=o+1|0;Z=(X|0)==9;L=Z?0:X;M=x+(Z&1)|0;N=w;O=W?U:z;P=1;Q=H;R=I;S=U;T=V}while(0);V=c[m>>2]|0;if(V>>>0<(c[n>>2]|0)>>>0){c[m>>2]=V+1;_=d[V>>0]|0}else _=Is(a)|0;F=_+-48|0;E=(_|0)==46;if(!(E|F>>>0<10)){$=L;aa=M;ba=O;ca=N;da=_;ea=P;fa=Q;ga=S;ha=R;ia=T;p=31;break b}else{o=L;x=M;z=O;w=N;A=P;D=_;H=Q;I=R;J=S;K=T}}ja=o;ka=x;la=z;ma=J;na=K;oa=H;pa=I;qa=(A|0)!=0;p=39}else{$=0;aa=0;ba=0;ca=q;da=r;ea=s;fa=t;ga=0;ha=v;ia=0;p=31}while(0);do if((p|0)==31){v=(ca|0)==0;t=v?ga:fa;s=v?ia:ha;v=(ea|0)!=0;if(!(v&(da|32|0)==101))if((da|0)>-1){ja=$;ka=aa;la=ba;ma=ga;na=ia;oa=t;pa=s;qa=v;p=39;break}else{ra=$;sa=aa;ta=ba;ua=ga;va=ia;wa=v;xa=t;ya=s;p=41;break}v=it(a,h)|0;r=G()|0;if((v|0)==0&(r|0)==-2147483648){if(!h){Gs(a,0);za=0.0;break}if(!(c[n>>2]|0)){Aa=0;Ba=0}else{c[m>>2]=(c[m>>2]|0)+-1;Aa=0;Ba=0}}else{Aa=v;Ba=r}r=ou(Aa|0,Ba|0,t|0,s|0)|0;Ca=$;Da=aa;Ea=ba;Fa=r;Ha=ga;Ia=G()|0;Ja=ia;p=43}while(0);if((p|0)==39)if(c[n>>2]|0){c[m>>2]=(c[m>>2]|0)+-1;if(qa){Ca=ja;Da=ka;Ea=la;Fa=oa;Ha=ma;Ia=pa;Ja=na;p=43}else p=42}else{ra=ja;sa=ka;ta=la;ua=ma;va=na;wa=qa;xa=oa;ya=pa;p=41}if((p|0)==41)if(wa){Ca=ra;Da=sa;Ea=ta;Fa=xa;Ha=ua;Ia=ya;Ja=va;p=43}else p=42;do if((p|0)==42){c[(Lr()|0)>>2]=22;Gs(a,0);za=0.0}else if((p|0)==43){va=c[j>>2]|0;if(!va){za=+(g|0)*0.0;break}if(((Ja|0)<0|(Ja|0)==0&Ha>>>0<10)&((Fa|0)==(Ha|0)&(Ia|0)==(Ja|0))?(e|0)>30|(va>>>e|0)==0:0){za=+(g|0)*+(va>>>0);break}va=(f|0)/-2|0;ya=((va|0)<0)<<31>>31;if((Ia|0)>(ya|0)|(Ia|0)==(ya|0)&Fa>>>0>va>>>0){c[(Lr()|0)>>2]=34;za=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}va=f+-106|0;ya=((va|0)<0)<<31>>31;if((Ia|0)<(ya|0)|(Ia|0)==(ya|0)&Fa>>>0<va>>>0){c[(Lr()|0)>>2]=34;za=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Ca)Ka=Da;else{if((Ca|0)<9){va=j+(Da<<2)|0;ya=Ca;ua=c[va>>2]|0;while(1){ua=ua*10|0;if((ya|0)>=8)break;else ya=ya+1|0}c[va>>2]=ua}Ka=Da+1|0}if((Ea|0)<9?(Ea|0)<=(Fa|0)&(Fa|0)<18:0){if((Fa|0)==9){za=+(g|0)*+((c[j>>2]|0)>>>0);break}if((Fa|0)<9){za=+(g|0)*+((c[j>>2]|0)>>>0)/+(c[34656+(8-Fa<<2)>>2]|0);break}ya=e+27+(B(Fa,-3)|0)|0;A=c[j>>2]|0;if((ya|0)>30|(A>>>ya|0)==0){za=+(g|0)*+(A>>>0)*+(c[34656+(Fa+-10<<2)>>2]|0);break}}A=(Fa|0)%9|0;if(!A){La=Ka;Ma=0;Na=Fa}else{ya=(Fa|0)>-1?A:A+9|0;A=c[34656+(8-ya<<2)>>2]|0;if(Ka){I=1e9/(A|0)|0;H=0;K=0;J=Fa;z=0;do{x=j+(z<<2)|0;o=c[x>>2]|0;xa=(o>>>0)/(A>>>0)|0;ta=o-(B(xa,A)|0)|0;o=xa+H|0;c[x>>2]=o;H=B(I,ta)|0;ta=(z|0)==(K|0)&(o|0)==0;J=ta?J+-9|0:J;K=ta?K+1&127:K;z=z+1|0}while((z|0)!=(Ka|0));if(!H){Oa=K;Pa=Ka;Qa=J}else{c[j+(Ka<<2)>>2]=H;Oa=K;Pa=Ka+1|0;Qa=J}}else{Oa=0;Pa=0;Qa=Fa}La=Pa;Ma=Oa;Na=9-ya+Qa|0}z=0;I=La;A=Ma;ua=Na;d:while(1){va=(ua|0)<18;ta=(ua|0)==18;o=j+(A<<2)|0;Ra=z;Sa=I;while(1){if(!va){if(!ta){Ta=ua;break d}if((c[o>>2]|0)>>>0>=9007199){Ta=18;break d}}x=0;Ua=Sa;xa=Sa+127|0;while(1){sa=xa&127;ra=j+(sa<<2)|0;wa=yu(c[ra>>2]|0,0,29)|0;pa=ou(wa|0,G()|0,x|0,0)|0;wa=G()|0;if(wa>>>0>0|(wa|0)==0&pa>>>0>1e9){oa=vu(pa|0,wa|0,1e9,0)|0;qa=uu(oa|0,G()|0,1e9,0)|0;na=pu(pa|0,wa|0,qa|0,G()|0)|0;G()|0;Va=oa;Wa=na}else{Va=0;Wa=pa}c[ra>>2]=Wa;ra=(sa|0)==(A|0);Xa=(sa|0)!=(Ua+127&127|0)|ra?Ua:(Wa|0)==0?sa:Ua;if(ra)break;else{x=Va;Ua=Xa;xa=sa+-1|0}}Ya=Ra+-29|0;if(!Va){Ra=Ya;Sa=Ua}else break}o=A+127&127;ta=Xa+127&127;va=j+((Xa+126&127)<<2)|0;if((o|0)==(Xa|0)){c[va>>2]=c[va>>2]|c[j+(ta<<2)>>2];Za=ta}else Za=Ua;c[j+(o<<2)>>2]=Va;z=Ya;I=Za;A=o;ua=ua+9|0}ua=Ra;I=A;z=Ta;ya=Sa;e:while(1){J=ya+1&127;K=j+((ya+127&127)<<2)|0;H=ua;o=I;ta=z;while(1){va=(ta|0)==18;xa=(ta|0)>27?9:1;_a=H;$a=o;while(1){x=0;while(1){sa=x+$a&127;if((sa|0)==(ya|0)){p=92;break}ra=c[j+(sa<<2)>>2]|0;sa=c[35272+(x<<2)>>2]|0;if(ra>>>0<sa>>>0){p=92;break}if(ra>>>0>sa>>>0)break;if((x+1|0)>>>0<2)x=1;else{p=92;break}}if((p|0)==92?(p=0,va):0)break e;ab=xa+_a|0;if(($a|0)==(ya|0)){_a=ab;$a=ya}else break}va=(1<<xa)+-1|0;x=1e9>>>xa;bb=0;cb=$a;db=ta;sa=$a;do{ra=j+(sa<<2)|0;pa=c[ra>>2]|0;na=(pa>>>xa)+bb|0;c[ra>>2]=na;bb=B(pa&va,x)|0;pa=(sa|0)==(cb|0)&(na|0)==0;db=pa?db+-9|0:db;cb=pa?cb+1&127:cb;sa=sa+1&127}while((sa|0)!=(ya|0));if(bb|0){if((J|0)!=(cb|0))break;c[K>>2]=c[K>>2]|1}H=ab;o=cb;ta=db}c[j+(ya<<2)>>2]=bb;ua=ab;I=cb;z=db;ya=J}eb=0.0;z=ya;I=0;while(1){ua=I+$a&127;A=z+1&127;if((ua|0)==(z|0)){c[j+(A+-1<<2)>>2]=0;fb=A}else fb=z;eb=eb*1.0e9+ +((c[j+(ua<<2)>>2]|0)>>>0);I=I+1|0;if((I|0)==2)break;else z=fb}gb=+(g|0);hb=eb*gb;z=_a+53|0;I=z-f|0;ya=(I|0)<(e|0);ua=ya?((I|0)>0?I:0):e;if((ua|0)<53){ib=+Sr(+Qr(1.0,105-ua|0),hb);jb=+Wr(hb,+Qr(1.0,53-ua|0));kb=ib;lb=jb;mb=ib+(hb-jb)}else{kb=0.0;lb=0.0;mb=hb}A=$a+2&127;if((A|0)!=(fb|0)){ta=c[j+(A<<2)>>2]|0;do if(ta>>>0>=5e8){if((ta|0)!=5e8){nb=gb*.75+lb;break}if(($a+3&127|0)==(fb|0)){nb=gb*.5+lb;break}else{nb=gb*.75+lb;break}}else{if((ta|0)==0?($a+3&127|0)==(fb|0):0){nb=lb;break}nb=gb*.25+lb}while(0);if((53-ua|0)>1?!(+Wr(nb,1.0)!=0.0):0)ob=nb+1.0;else ob=nb}else ob=lb;gb=mb+ob-kb;do if((z&2147483647|0)>(-2-k|0)){ta=!(+u(+gb)>=9007199254740992.0);A=_a+((ta^1)&1)|0;eb=ta?gb:gb*.5;if((A+50|0)<=(l|0)?!(ob!=0.0&(ya&((ua|0)!=(I|0)|ta))):0){pb=eb;qb=A;break}c[(Lr()|0)>>2]=34;pb=eb;qb=A}else{pb=gb;qb=_a}while(0);za=+Xr(pb,qb)}while(0);Ga=i;return +za}function it(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a+4|0;f=c[e>>2]|0;g=a+100|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;h=d[f>>0]|0}else h=Is(a)|0;switch(h|0){case 43:case 45:{f=(h|0)==45&1;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;j=d[i>>0]|0}else j=Is(a)|0;i=j+-48|0;if((b|0)!=0&i>>>0>9)if(!(c[g>>2]|0)){k=0;l=-2147483648}else{c[e>>2]=(c[e>>2]|0)+-1;m=14}else{n=f;o=j;p=i;m=12}break}default:{n=0;o=h;p=h+-48|0;m=12}}if((m|0)==12)if(p>>>0>9)m=14;else{p=0;h=o;while(1){p=h+-48+(p*10|0)|0;o=c[e>>2]|0;if(o>>>0<(c[g>>2]|0)>>>0){c[e>>2]=o+1;q=d[o>>0]|0}else q=Is(a)|0;r=q+-48|0;if(!(r>>>0<10&(p|0)<214748364))break;else h=q}h=((p|0)<0)<<31>>31;if(r>>>0<10){r=q;q=p;o=h;while(1){i=uu(q|0,o|0,10,0)|0;j=G()|0;f=ou(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;q=ou(f|0,G()|0,i|0,j|0)|0;o=G()|0;j=c[e>>2]|0;if(j>>>0<(c[g>>2]|0)>>>0){c[e>>2]=j+1;s=d[j>>0]|0}else s=Is(a)|0;t=s+-48|0;if(!(t>>>0<10&((o|0)<21474836|(o|0)==21474836&q>>>0<2061584302)))break;else r=s}if(t>>>0<10){do{t=c[e>>2]|0;if(t>>>0<(c[g>>2]|0)>>>0){c[e>>2]=t+1;u=d[t>>0]|0}else u=Is(a)|0}while((u+-48|0)>>>0<10);v=q;w=o}else{v=q;w=o}}else{v=p;w=h}if(c[g>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;h=(n|0)==0;n=pu(0,0,v|0,w|0)|0;p=G()|0;k=h?v:n;l=h?w:p}if((m|0)==14)if(!(c[g>>2]|0)){k=0;l=-2147483648}else{c[e>>2]=(c[e>>2]|0)+-1;k=0;l=-2147483648}F(l|0);return k|0}function jt(a,b){a=a|0;b=b|0;return +(+et(a,b,1))}function kt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ga;Ga=Ga+32|0;f=e;g=a[d>>0]|0;a:do if(g<<24>>24!=0?(a[d+1>>0]|0)!=0:0){Eu(f|0,0,32)|0;h=a[d>>0]|0;if(h<<24>>24){i=d;j=h;do{h=j&255;k=f+(h>>>5<<2)|0;c[k>>2]=c[k>>2]|1<<(h&31);i=i+1|0;j=a[i>>0]|0}while(j<<24>>24!=0)}j=a[b>>0]|0;if(!(j<<24>>24))l=b;else{i=b;h=j;while(1){j=h&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0){l=i;break a}j=i+1|0;h=a[j>>0]|0;if(!(h<<24>>24)){l=j;break}else i=j}}}else m=3;while(0);if((m|0)==3)l=dt(b,g<<24>>24)|0;Ga=e;return l-b|0}function lt(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Ga;Ga=Ga+16|0;i=h;j=(g|0)==0?3001968:g;g=c[j>>2]|0;a:do if(!e)if(!g)k=0;else l=19;else{m=(b|0)==0?i:b;if(!f)k=-2;else{if(!g){n=a[e>>0]|0;if(n<<24>>24>-1){c[m>>2]=n&255;k=n<<24>>24!=0&1;break}n=(c[c[(mt()|0)+188>>2]>>2]|0)==0;o=a[e>>0]|0;if(n){c[m>>2]=o<<24>>24&57343;k=1;break}n=(o&255)+-194|0;if(n>>>0>50){l=19;break}o=c[31792+(n<<2)>>2]|0;n=f+-1|0;if(!n)p=o;else{q=e+1|0;r=o;s=n;l=11}}else{q=e;r=g;s=f;l=11}b:do if((l|0)==11){n=d[q>>0]|0;o=n>>>3;if((o+-16|o+(r>>26))>>>0>7){l=19;break a}o=n+-128|r<<6;n=s+-1|0;if((o|0)<0){t=q;u=o;v=n;while(1){t=t+1|0;if(!v){p=u;break b}w=a[t>>0]|0;if((w&-64)<<24>>24!=-128){l=19;break a}x=(w&255)+-128|u<<6;w=v+-1|0;if((x|0)>=0){y=w;z=x;break}else{u=x;v=w}}}else{y=n;z=o}c[j>>2]=0;c[m>>2]=z;k=f-y|0;break a}while(0);c[j>>2]=p;k=-2}}while(0);if((l|0)==19){c[j>>2]=0;c[(Lr()|0)>>2]=84;k=-1}Ga=h;return k|0}function mt(){return vs()|0}function nt(a){a=a|0;var b=0;if(!a)b=1;else b=(c[a>>2]|0)==0&1;return b|0}function ot(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ga;Ga=Ga+48|0;f=e+32|0;g=e+16|0;h=e;if(Ys(67767,a[d>>0]|0)|0){i=pt(d)|0;c[h>>2]=b;c[h+4>>2]=i|32768;c[h+8>>2]=438;b=Kr(ca(5,h|0)|0)|0;if((b|0)>=0){if(i&524288|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ba(221,g|0)|0}g=qt(b,d)|0;if(!g){c[f>>2]=b;ea(6,f|0)|0;j=0}else j=g}else j=0}else{c[(Lr()|0)>>2]=22;j=0}Ga=e;return j|0}function pt(b){b=b|0;var c=0,d=0,e=0,f=0;c=(Ys(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(Ys(b,120)|0)==0;f=c?e:e|128;e=(Ys(b,101)|0)==0;b=e?f:f|524288;f=d<<24>>24==114?b:b|64;b=d<<24>>24==119?f|512:f;return (d<<24>>24==97?b|1024:b)|0}function qt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ga;Ga=Ga+64|0;f=e+40|0;g=e+24|0;h=e+16|0;i=e;j=e+56|0;if(Ys(67767,a[d>>0]|0)|0){k=Br(1156)|0;if(!k)l=0;else{Eu(k|0,0,124)|0;if(!(Ys(d,43)|0))c[k>>2]=(a[d>>0]|0)==114?8:4;if(Ys(d,101)|0){c[i>>2]=b;c[i+4>>2]=2;c[i+8>>2]=1;ba(221,i|0)|0}if((a[d>>0]|0)==97){c[h>>2]=b;c[h+4>>2]=3;d=ba(221,h|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;ba(221,g|0)|0}g=c[k>>2]|128;c[k>>2]=g;m=g}else m=c[k>>2]|0;c[k+60>>2]=b;c[k+44>>2]=k+132;c[k+48>>2]=1024;g=k+75|0;a[g>>0]=-1;if((m&8|0)==0?(c[f>>2]=b,c[f+4>>2]=21523,c[f+8>>2]=j,(da(54,f|0)|0)==0):0)a[g>>0]=10;c[k+32>>2]=6;c[k+36>>2]=5;c[k+40>>2]=2;c[k+12>>2]=1;if(!(c[750477]|0))c[k+76>>2]=-1;rt(k)|0;l=k}}else{c[(Lr()|0)>>2]=22;l=0}Ga=e;return l|0}function rt(a){a=a|0;var b=0,d=0;b=st()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;tt();return a|0}function st(){W(3001972);return 3001980}function tt(){fa(3001972);return}function ut(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>-1)b=fs(a)|0;else b=0;vt(a);d=(c[a>>2]&1|0)!=0;if(!d){e=st()|0;f=c[a+52>>2]|0;g=a+56|0;if(f|0)c[f+56>>2]=c[g>>2];h=c[g>>2]|0;if(h|0)c[h+52>>2]=f;if((c[e>>2]|0)==(a|0))c[e>>2]=h;tt()}h=wt(a)|0;e=Ja[c[a+12>>2]&255](a)|0|h;h=c[a+92>>2]|0;if(h|0)Cr(h);if(d){if(b|0)gs(a)}else Cr(a);return e|0}function vt(a){a=a|0;var b=0,d=0,e=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;d=a+112|0;if(b|0)c[b+112>>2]=c[d>>2];a=c[d>>2]|0;if(!a)e=(yt()|0)+232|0;else e=a+116|0;c[e>>2]=b}return}function wt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=xt(a)|0;break}d=(fs(a)|0)==0;e=xt(a)|0;if(d)b=e;else{gs(a);b=e}}else{if(!(c[8725]|0))f=0;else f=wt(c[8725]|0)|0;e=c[(st()|0)>>2]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=fs(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=xt(d)|0|e;else i=e;if(h|0)gs(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}tt();b=g}while(0);return b|0}function xt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(La[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0<i>>>0)La[c[a+40>>2]&7](a,g-i|0,1)|0;c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function yt(){return vs()|0}function zt(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(fs(a)|0)==0;d=(c[a>>2]|0)>>>4&1;if(b)e=d;else{gs(a);e=d}}else e=(c[a>>2]|0)>>>4&1;return e|0}function At(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=d;d=Bt(a,b,f)|0;Ga=e;return d|0}function Bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ga;Ga=Ga+128|0;f=e;g=f;h=g+124|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[f+32>>2]=7;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;a=Dt(f,b,d)|0;Ga=e;return a|0}function Ct(a,b,c){a=a|0;b=b|0;c=c|0;return Gt(a,b,c)|0}function Dt(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0;j=Ga;Ga=Ga+288|0;k=j+264|0;l=j;m=j+260|0;n=j+272|0;if((c[e+76>>2]|0)>-1)o=fs(e)|0;else o=0;p=a[h>>0]|0;a:do if(p<<24>>24){q=e+4|0;r=e+100|0;s=e+108|0;t=e+8|0;u=l+10|0;v=l+33|0;w=l+46|0;x=l+94|0;y=k+4|0;z=h;A=0;B=0;C=0;D=p;E=0;b:while(1){c:do if(!(Js(D&255)|0)){F=(a[z>>0]|0)==37;d:do if(F){H=z+1|0;I=a[H>>0]|0;e:do switch(I<<24>>24){case 37:{break d;break}case 42:{J=0;K=z+2|0;break}default:{if($r(I&255)|0?(a[z+2>>0]|0)==36:0){J=Et(i,(d[H>>0]|0)+-48|0)|0;K=z+3|0;break e}L=(c[i>>2]|0)+(4-1)&~(4-1);M=c[L>>2]|0;c[i>>2]=L+4;J=M;K=H}}while(0);if(!($r(d[K>>0]|0)|0)){N=0;O=K}else{H=0;I=K;while(1){M=(H*10|0)+-48+(d[I>>0]|0)|0;L=I+1|0;if(!($r(d[L>>0]|0)|0)){N=M;O=L;break}else{H=M;I=L}}}I=a[O>>0]|0;H=O+1|0;if(I<<24>>24==109){P=(J|0)!=0&1;Q=0;R=H;S=O+2|0;T=a[H>>0]|0;U=0}else{P=0;Q=C;R=O;S=H;T=I;U=E}switch(T<<24>>24){case 104:{I=(a[S>>0]|0)==104;V=I?-2:-1;W=I?R+2|0:S;break}case 108:{I=(a[S>>0]|0)==108;V=I?3:1;W=I?R+2|0:S;break}case 106:{V=3;W=S;break}case 116:case 122:{V=1;W=S;break}case 76:{V=2;W=S;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{V=0;W=R;break}default:{X=Q;Y=U;Z=143;break b}}I=d[W>>0]|0;H=(I&47|0)==3;L=H?I|32:I;I=H?1:V;H=L&255;switch(H<<24>>24){case 99:{_=(N|0)>1?N:1;$=A;break}case 91:{_=N;$=A;break}case 110:{Ft(J,I,A,((A|0)<0)<<31>>31);aa=W;ba=B;ca=A;da=Q;ea=U;break c;break}default:{Gs(e,0);do{M=c[q>>2]|0;if(M>>>0<(c[r>>2]|0)>>>0){c[q>>2]=M+1;fa=d[M>>0]|0}else fa=Is(e)|0}while((Js(fa)|0)!=0);if(!(c[r>>2]|0))ga=c[q>>2]|0;else{M=(c[q>>2]|0)+-1|0;c[q>>2]=M;ga=M}_=N;$=(c[s>>2]|0)+A+ga-(c[t>>2]|0)|0}}Gs(e,_);M=c[q>>2]|0;ha=c[r>>2]|0;if(M>>>0<ha>>>0){c[q>>2]=M+1;ia=ha}else{if((Is(e)|0)<0){X=Q;Y=U;Z=143;break b}ia=c[r>>2]|0}if(ia|0)c[q>>2]=(c[q>>2]|0)+-1;f:do switch(H<<24>>24){case 91:case 99:case 115:{ha=(L|0)==99;g:do if((L|16|0)==115){Eu(l|0,-1,257)|0;a[l>>0]=0;if((L|0)==115){a[v>>0]=0;b[u>>1]=0;b[u+2>>1]=0;a[u+4>>0]=0;ja=W}else ja=W}else{M=W+1|0;ka=(a[M>>0]|0)==94;la=ka&1;ma=ka?W+2|0:M;Eu(l|0,la|0,257)|0;a[l>>0]=0;switch(a[ma>>0]|0){case 45:{M=(la^1)&255;a[w>>0]=M;na=ma+1|0;oa=M;break}case 93:{M=(la^1)&255;a[x>>0]=M;na=ma+1|0;oa=M;break}default:{na=ma;oa=(la^1)&255}}la=na;while(1){ma=a[la>>0]|0;h:do switch(ma<<24>>24){case 0:{X=Q;Y=U;Z=143;break b;break}case 93:{ja=la;break g;break}case 45:{M=la+1|0;ka=a[M>>0]|0;switch(ka<<24>>24){case 93:case 0:{pa=la;qa=45;break h;break}default:{}}ra=a[la+-1>>0]|0;if((ra&255)<(ka&255)){sa=ra&255;do{sa=sa+1|0;a[l+sa>>0]=oa;ra=a[M>>0]|0}while(sa>>>0<(ra&255)>>>0);pa=M;qa=ra}else{pa=M;qa=ka}break}default:{pa=la;qa=ma}}while(0);a[l+((qa&255)+1)>>0]=oa;la=pa+1|0}}while(0);la=ha?_+1|0:31;ma=(I|0)==1;sa=(P|0)!=0;i:do if(ma){if(sa){ra=Br(la<<2)|0;if(!ra){X=0;Y=0;Z=143;break b}else ta=ra}else ta=J;c[k>>2]=0;c[y>>2]=0;ra=la;ua=0;va=ta;j:while(1){wa=(va|0)==0;xa=ua;while(1){k:while(1){ya=c[q>>2]|0;if(ya>>>0<(c[r>>2]|0)>>>0){c[q>>2]=ya+1;za=d[ya>>0]|0}else za=Is(e)|0;if(!(a[l+(za+1)>>0]|0))break j;a[n>>0]=za;switch(lt(m,n,1,k)|0){case -1:{X=0;Y=va;Z=143;break b;break}case -2:break;default:break k}}if(wa)Aa=xa;else{c[va+(xa<<2)>>2]=c[m>>2];Aa=xa+1|0}if(sa&(Aa|0)==(ra|0))break;else xa=Aa}ra=ra<<1|1;wa=Er(va,ra<<2)|0;if(!wa){X=0;Y=va;Z=143;break b}else{ua=Aa;va=wa}}if(!(nt(k)|0)){X=0;Y=va;Z=143;break b}else{Ba=xa;Ca=0;Da=va;Ea=va}}else{if(sa){ua=Br(la)|0;if(!ua){X=0;Y=0;Z=143;break b}ra=la;wa=0;ka=ua;while(1){ua=wa;do{M=c[q>>2]|0;if(M>>>0<(c[r>>2]|0)>>>0){c[q>>2]=M+1;Fa=d[M>>0]|0}else Fa=Is(e)|0;if(!(a[l+(Fa+1)>>0]|0)){Ba=ua;Ca=ka;Da=0;Ea=0;break i}M=ua;ua=ua+1|0;a[ka+M>>0]=Fa}while((ua|0)!=(ra|0));ra=ra<<1|1;M=Er(ka,ra)|0;if(!M){X=ka;Y=0;Z=143;break b}else{wa=ua;ka=M}}}if(!J)while(1){ka=c[q>>2]|0;if(ka>>>0<(c[r>>2]|0)>>>0){c[q>>2]=ka+1;Ha=d[ka>>0]|0}else Ha=Is(e)|0;if(!(a[l+(Ha+1)>>0]|0)){Ba=0;Ca=0;Da=0;Ea=0;break i}}ka=0;while(1){wa=c[q>>2]|0;if(wa>>>0<(c[r>>2]|0)>>>0){c[q>>2]=wa+1;Ia=d[wa>>0]|0}else Ia=Is(e)|0;if(!(a[l+(Ia+1)>>0]|0)){Ba=ka;Ca=J;Da=0;Ea=0;break i}a[J+ka>>0]=Ia;ka=ka+1|0}}while(0);if(!(c[r>>2]|0))Ja=c[q>>2]|0;else{la=(c[q>>2]|0)+-1|0;c[q>>2]=la;Ja=la}la=Ja-(c[t>>2]|0)+(c[s>>2]|0)|0;if(!la){Ka=Ca;La=P;Ma=B;Na=Ea;break b}if(!((la|0)==(_|0)|ha^1)){Ka=Ca;La=P;Ma=B;Na=Ea;break b}do if(sa)if(ma){c[J>>2]=Da;break}else{c[J>>2]=Ca;break}while(0);if(ha){Oa=ja;Pa=Ca;Qa=Ea}else{if(Da|0)c[Da+(Ba<<2)>>2]=0;if(!Ca){Oa=ja;Pa=0;Qa=Ea;break f}a[Ca+Ba>>0]=0;Oa=ja;Pa=Ca;Qa=Ea}break}case 120:case 88:case 112:{Ra=16;Z=131;break}case 111:{Ra=8;Z=131;break}case 117:case 100:{Ra=10;Z=131;break}case 105:{Ra=0;Z=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{Sa=+ft(e,I,0);if((c[s>>2]|0)==((c[t>>2]|0)-(c[q>>2]|0)|0)){Ka=Q;La=P;Ma=B;Na=U;break b}if(!J){Oa=W;Pa=Q;Qa=U}else switch(I|0){case 0:{f[J>>2]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}case 1:{g[J>>3]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}case 2:{g[J>>3]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}default:{Oa=W;Pa=Q;Qa=U;break f}}break}default:{Oa=W;Pa=Q;Qa=U}}while(0);do if((Z|0)==131){Z=0;H=Hs(e,Ra,0,-1,-1)|0;ma=G()|0;if((c[s>>2]|0)==((c[t>>2]|0)-(c[q>>2]|0)|0)){Ka=Q;La=P;Ma=B;Na=U;break b}if((J|0)!=0&(L|0)==112){c[J>>2]=H;Oa=W;Pa=Q;Qa=U;break}else{Ft(J,I,H,ma);Oa=W;Pa=Q;Qa=U;break}}while(0);aa=Oa;ba=B+((J|0)!=0&1)|0;ca=(c[s>>2]|0)+$+(c[q>>2]|0)-(c[t>>2]|0)|0;da=Pa;ea=Qa;break c}while(0);I=z+(F&1)|0;Gs(e,0);L=c[q>>2]|0;if(L>>>0<(c[r>>2]|0)>>>0){c[q>>2]=L+1;Ta=d[L>>0]|0}else Ta=Is(e)|0;if((Ta|0)!=(d[I>>0]|0)){Z=23;break b}aa=I;ba=B;ca=A+1|0;da=C;ea=E}else{I=z;while(1){L=I+1|0;if(!(Js(d[L>>0]|0)|0))break;else I=L}Gs(e,0);do{F=c[q>>2]|0;if(F>>>0<(c[r>>2]|0)>>>0){c[q>>2]=F+1;Ua=d[F>>0]|0}else Ua=Is(e)|0}while((Js(Ua)|0)!=0);if(!(c[r>>2]|0))Va=c[q>>2]|0;else{F=(c[q>>2]|0)+-1|0;c[q>>2]=F;Va=F}aa=I;ba=B;ca=(c[s>>2]|0)+A+Va-(c[t>>2]|0)|0;da=C;ea=E}while(0);z=aa+1|0;D=a[z>>0]|0;if(!(D<<24>>24)){Wa=ba;break a}else{A=ca;B=ba;C=da;E=ea}}if((Z|0)==23){if(c[r>>2]|0)c[q>>2]=(c[q>>2]|0)+-1;if((B|0)!=0|(Ta|0)>-1){Wa=B;break}else{Xa=0;Ya=C;Za=E;Z=144}}else if((Z|0)==143)if(!B){Xa=P;Ya=X;Za=Y;Z=144}else{Ka=X;La=P;Ma=B;Na=Y}if((Z|0)==144){Ka=Ya;La=Xa;Ma=-1;Na=Za}if(!La)Wa=Ma;else{Cr(Ka);Cr(Na);Wa=Ma}}else Wa=0;while(0);if(o|0)gs(e);Ga=j;return Wa|0}function Et(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ga;Ga=Ga+16|0;e=d;c[e>>2]=c[a>>2];a=b;while(1){b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;if(a>>>0>1)a=a+-1|0;else break}Ga=d;return f|0}function Ft(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a;break}case -1:{b[d>>1]=f;break a;break}case 0:{c[d>>2]=f;break a;break}case 1:{c[d>>2]=f;break a;break}case 3:{h=d;c[h>>2]=f;c[h+4>>2]=g;break a;break}default:break a}while(0);return}function Gt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+84|0;f=c[e>>2]|0;g=d+256|0;h=os(f,0,g)|0;i=(h|0)==0?g:h-f|0;h=i>>>0<d>>>0?i:d;Du(b|0,f|0,h|0)|0;c[a+4>>2]=f+h;b=f+i|0;c[a+8>>2]=b;c[e>>2]=b;return h|0}function Ht(a,b,c){a=a|0;b=b|0;c=c|0;return Jt(a,b,c)|0}function It(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=d;d=ds(a,b,f)|0;Ga=e;return d|0}function Jt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+76>>2]|0)>-1){e=(fs(a)|0)==0;f=Kt(a,b,d)|0;if(e)g=f;else{gs(a);g=f}}else g=Kt(a,b,d)|0;return g|0}function Kt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==1)e=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;else e=b;b=a+20|0;f=a+28|0;if((c[b>>2]|0)>>>0>(c[f>>2]|0)>>>0?(La[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)g=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[b>>2]=0;if((La[c[a+40>>2]&7](a,e,d)|0)<0)g=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;g=0}}return g|0}function Lt(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=a[c>>0]|0;do if(d<<24>>24){e=Ys(b,d<<24>>24)|0;if(e)if(a[c+1>>0]|0)if(a[e+1>>0]|0){if(!(a[c+2>>0]|0)){f=Mt(e,c)|0;break}if(a[e+2>>0]|0){if(!(a[c+3>>0]|0)){f=Nt(e,c)|0;break}if(a[e+3>>0]|0)if(!(a[c+4>>0]|0)){f=Ot(e,c)|0;break}else{f=Pt(e,c)|0;break}else f=0}else f=0}else f=0;else f=e;else f=0}else f=b;while(0);return f|0}function Mt(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;f=a[c>>0]|0;a:do if(!(f<<24>>24))g=0;else{h=(d[b>>0]|0)<<8|f&255;i=c;while(1){j=h&65535;if((j|0)==(e|0))break;k=i+1|0;l=a[k>>0]|0;if(!(l<<24>>24)){g=0;break a}else{h=j<<8|l&255;i=k}}g=i+-1|0}while(0);return g|0}function Nt(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;c=b+2|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(f&255)<<8;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=(c|f&255)<<8;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-2|0)|0}function Ot(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|f&255;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=c<<8|f&255;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-3|0)|0}function Pt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Ga;Ga=Ga+1056|0;g=f+1024|0;h=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;i=a[e>>0]|0;a:do if(i<<24>>24){j=0;k=i;do{if(!(a[b+j>>0]|0)){l=0;break a}m=k&255;n=g+(m>>>5<<2)|0;c[n>>2]=c[n>>2]|1<<(m&31);j=j+1|0;c[h+(m<<2)>>2]=j;k=a[e+j>>0]|0}while(k<<24>>24!=0);k=j>>>0>1;if(k){m=1;n=1;o=0;p=-1;q=1;while(1){r=a[e+(n+p)>>0]|0;s=a[e+q>>0]|0;do if(r<<24>>24==s<<24>>24)if((n|0)==(m|0)){t=m;u=1;v=m+o|0;w=p;break}else{t=m;u=n+1|0;v=o;w=p;break}else if((r&255)>(s&255)){t=q-p|0;u=1;v=q;w=p;break}else{t=1;u=1;v=o+1|0;w=o;break}while(0);q=u+v|0;if(q>>>0>=j>>>0)break;else{m=t;n=u;o=v;p=w}}if(k){p=1;o=1;n=0;m=-1;q=1;while(1){s=a[e+(o+m)>>0]|0;r=a[e+q>>0]|0;do if(s<<24>>24==r<<24>>24)if((o|0)==(p|0)){x=p;y=1;z=p+n|0;A=m;break}else{x=p;y=o+1|0;z=n;A=m;break}else if((s&255)<(r&255)){x=q-m|0;y=1;z=q;A=m;break}else{x=1;y=1;z=n+1|0;A=n;break}while(0);q=y+z|0;if(q>>>0>=j>>>0){B=t;C=w;D=j;E=x;F=A;G=25;break}else{p=x;o=y;n=z;m=A}}}else{B=t;C=w;D=j;E=1;F=-1;G=25}}else{B=1;C=-1;D=j;E=1;F=-1;G=25}}else{B=1;C=-1;D=0;E=1;F=-1;G=25}while(0);b:do if((G|0)==25){w=(F+1|0)>>>0>(C+1|0)>>>0;t=w?E:B;A=w?F:C;w=A+1|0;if(!(Zr(e,e+t|0,w)|0)){z=D-t|0;H=z;I=t;J=z}else{z=D-A+-1|0;t=(A>>>0>z>>>0?A:z)+1|0;H=0;I=t;J=D-t|0}t=D|63;z=D+-1|0;y=(H|0)!=0;x=b;v=0;u=b;while(1){i=x;do if((u-i|0)>>>0<D>>>0){m=os(u,0,t)|0;if(m)if((m-i|0)>>>0<D>>>0){l=0;break b}else{K=m;break}else{K=u+t|0;break}}else K=u;while(0);i=d[x+z>>0]|0;c:do if(!(1<<(i&31)&c[g+(i>>>5<<2)>>2])){L=0;M=D}else{m=D-(c[h+(i<<2)>>2]|0)|0;if(m|0){L=0;M=y&(v|0)!=0&m>>>0<I>>>0?J:m;break}m=w>>>0>v>>>0;n=m?w:v;o=a[e+n>>0]|0;d:do if(o<<24>>24){p=n;q=o;while(1){if(q<<24>>24!=(a[x+p>>0]|0))break;k=p+1|0;q=a[e+k>>0]|0;if(!(q<<24>>24))break d;else p=k}L=0;M=p-A|0;break c}while(0);if(!m){l=x;break b}o=w;while(1){o=o+-1|0;if((a[e+o>>0]|0)!=(a[x+o>>0]|0)){L=H;M=I;break c}if(o>>>0<=v>>>0){l=x;break b}}}while(0);x=x+M|0;v=L;u=K}}while(0);Ga=f;return l|0}function Qt(a,b){a=a|0;b=b|0;var c=0;c=Ms(a)|0;return ((Rt(a,1,c,b)|0)!=(c|0))<<31>>31|0}function Rt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=B(d,b)|0;g=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){d=(fs(e)|0)==0;h=Ds(a,f,e)|0;if(d)i=h;else{gs(e);i=h}}else i=Ds(a,f,e)|0;if((i|0)==(f|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function St(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ga;Ga=Ga+16|0;g=f;h=e&255;a[g>>0]=h;i=b+16|0;j=c[i>>2]|0;if(!j)if(!(Es(b)|0)){k=c[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=b+20|0;i=c[j>>2]|0;if(i>>>0<k>>>0?(n=e&255,(n|0)!=(a[b+75>>0]|0)):0){c[j>>2]=i+1;a[i>>0]=h;m=n;break}if((La[c[b+36>>2]&7](b,g,1)|0)==1)m=d[g>>0]|0;else m=-1}while(0);Ga=f;return m|0}function Tt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=d;a:do if(!((f^b)&3)){g=(e|0)!=0;if(g&(f&3|0)!=0){h=e;i=d;j=b;while(1){k=a[i>>0]|0;a[j>>0]=k;if(!(k<<24>>24)){l=j;m=h;break a}k=h+-1|0;n=i+1|0;o=j+1|0;p=(k|0)!=0;if(p&(n&3|0)!=0){h=k;i=n;j=o}else{q=k;r=n;s=o;t=p;break}}}else{q=e;r=d;s=b;t=g}if(t)if(!(a[r>>0]|0)){l=s;m=q}else{b:do if(q>>>0>3){j=s;i=r;h=q;while(1){p=c[i>>2]|0;if((p&-2139062144^-2139062144)&p+-16843009|0){u=i;v=j;w=h;break b}c[j>>2]=p;p=h+-4|0;o=i+4|0;n=j+4|0;if(p>>>0>3){j=n;i=o;h=p}else{u=o;v=n;w=p;break}}}else{u=r;v=s;w=q}while(0);x=u;y=v;z=w;A=13}else{l=s;m=0}}else{x=d;y=b;z=e;A=13}while(0);c:do if((A|0)==13)if(!z){l=y;m=0}else{e=x;b=y;d=z;while(1){s=a[e>>0]|0;a[b>>0]=s;if(!(s<<24>>24)){l=b;m=d;break c}d=d+-1|0;s=b+1|0;if(!d){l=s;m=0;break}else{e=e+1|0;b=s}}}while(0);Eu(l|0,0,m|0)|0;return l|0}function Ut(a,b,c){a=a|0;b=b|0;c=c|0;Tt(a,b,c)|0;return a|0}function Vt(b,c){b=b|0;c=c|0;var d=0;d=b+(kt(b,c)|0)|0;return ((a[d>>0]|0)==0?0:d)|0}function Wt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(fs(d)|0)!=0:0){e=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=e;i=f}else i=St(d,b)|0;gs(d);j=i}else k=3;do if((k|0)==3){i=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(e=d+20|0,h=c[e>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=h+1;a[h>>0]=i;j=f;break}j=St(d,b)|0}while(0);return j|0}function Xt(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(fs(a)|0)==0;d=Yt(a)|0;if(b)e=d;else{gs(a);e=d}}else e=Yt(a)|0;return e|0}function Yt(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;d=La[c[a+40>>2]&7](a,0,b)|0;if((d|0)<0)e=d;else e=d-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return e|0}function Zt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[8693]|0;if((c[d+76>>2]|0)>-1)e=fs(d)|0;else e=0;do if((Qt(b,d)|0)<0)f=-1;else{if((a[d+75>>0]|0)!=10?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=10;f=0;break}f=(St(d,10)|0)>>31}while(0);if(e|0)gs(d);return f|0}function _t(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>=0?(fs(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;f=d[e>>0]|0}else f=Ks(a)|0;gs(a);g=f}else h=3;do if((h|0)==3){f=a+4|0;e=c[f>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[f>>2]=e+1;g=d[e>>0]|0;break}else{g=Ks(a)|0;break}}while(0);return g|0}function $t(a){a=a|0;return Xt(a)|0}function au(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=B(e,d)|0;h=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)i=fs(f)|0;else i=0;e=f+74|0;j=a[e>>0]|0;a[e>>0]=j+255|j;j=f+4|0;e=c[j>>2]|0;k=(c[f+8>>2]|0)-e|0;if((k|0)>0){l=k>>>0<g>>>0?k:g;Du(b|0,e|0,l|0)|0;c[j>>2]=(c[j>>2]|0)+l;m=g-l|0;n=b+l|0}else{m=g;n=b}a:do if(!m)o=13;else{b=f+32|0;l=n;j=m;while(1){if(Ls(f)|0)break;e=La[c[b>>2]&7](f,l,j)|0;if((e+1|0)>>>0<2)break;k=j-e|0;if(!k){o=13;break a}else{l=l+e|0;j=k}}if(i|0)gs(f);p=((g-j|0)>>>0)/(d>>>0)|0}while(0);if((o|0)==13)if(!i)p=h;else{gs(f);p=h}return p|0}function bu(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(fs(a)|0)==0;Kt(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)gs(a)}else{Kt(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function cu(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;c[e>>2]=b;b=ds(c[8693]|0,a,e)|0;Ga=d;return b|0}function du(a,b,c){a=a|0;b=b|0;c=c|0;return Cs(a,b)|0}function eu(a,b){a=a|0;b=b|0;fu()|0;return du(a,b,0)|0}function fu(){return vs()|0}function gu(a){a=a|0;var b=0;if(!(hu(a)|0))b=($r(a)|0)!=0&1;else b=1;return b|0}function hu(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function iu(){return 35280}function ju(){V(3002e3);return}function ku(){return 3001984}function lu(){return 3001992}function mu(){return 3001996}function nu(){return 3002e3}function ou(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (F(b+d+(e>>>0<a>>>0|0)>>>0|0),e|0)|0}function pu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (F(e|0),a-c>>>0|0)|0}function qu(a){a=a|0;return (a?31-(D(a^a-1)|0)|0:32)|0}function ru(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (F(n|0),o)|0}else{if(!m){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (F(n|0),o)|0}}m=(l|0)==0;do if(j){if(!m){p=(D(l|0)|0)-(D(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (F(n|0),o)|0}r=j-1|0;if(r&j|0){s=(D(j|0)|0)+33-(D(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (F(n|0),o)|0}else{r=qu(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (F(n|0),o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (F(n|0),o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (F(n|0),o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((qu(l|0)|0)>>>0);return (F(n|0),o)|0}r=(D(l|0)|0)-(D(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (F(n|0),o)|0}while(0);if(!t){B=x;C=w;E=v;H=u;I=0;J=0}else{b=d|0|0;d=k|e&0;e=ou(b|0,d|0,-1,-1)|0;k=G()|0;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;pu(e|0,k|0,g|0,a|0)|0;i=G()|0;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=pu(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=G()|0;u=u-1|0}while((u|0)!=0);B=h;C=x;E=w;H=v;I=0;J=t}t=C;C=0;if(f|0){c[f>>2]=H;c[f+4>>2]=E}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|I;o=(t<<1|0>>>31)&-2|J;return (F(n|0),o)|0}function su(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=pu(e^a|0,f^b|0,e|0,f|0)|0;b=G()|0;a=g^e;e=h^f;return pu((ru(i,b,pu(g^c|0,h^d|0,g|0,h|0)|0,G()|0,0)|0)^a|0,(G()|0)^e|0,a|0,e|0)|0}function tu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=B(d,c)|0;f=a>>>16;a=(e>>>16)+(B(d,f)|0)|0;d=b>>>16;b=B(d,c)|0;return (F((a>>>16)+(B(d,f)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|e&65535|0)|0}function uu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=tu(e,a)|0;f=G()|0;return (F((B(b,a)|0)+(B(d,e)|0)+f|f&0|0),c|0|0)|0}function vu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ru(a,b,c,d,0)|0}function wu(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}F(((b|0)<0?-1:0)|0);return b>>c-32|0}function xu(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}F(0);return b>>>c-32|0}function yu(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}F(a<<c-32|0);return 0}function zu(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Au(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;l=l+1|0;c[a>>2]=l;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=l;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;F(e|0);return d|0}f=f+1|0}e=e*2|0;d=Er(d|0,8*(e+1|0)|0)|0;d=Au(a|0,b|0,d|0,e|0)|0;F(e|0);return d|0}function Bu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){f=c[b+(e<<3)>>2]|0;if(!f)break;if((f|0)==(a|0))return c[b+((e<<3)+4)>>2]|0;e=e+1|0}return 0}function Cu(a,b){a=a|0;b=b|0;if(!j){j=a;k=b}}function Du(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){sa(b|0,d|0,e|0)|0;return b|0}f=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}h=g&-4|0;e=h-64|0;while((b|0)<=(e|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(h|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{h=g-4|0;while((b|0)<(h|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return f|0}function Eu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=f&-4|0;h=d|d<<8|d<<16|d<<24;i=g-64|0;while((b|0)<=(i|0)){c[b>>2]=h;c[b+4>>2]=h;c[b+8>>2]=h;c[b+12>>2]=h;c[b+16>>2]=h;c[b+20>>2]=h;c[b+24>>2]=h;c[b+28>>2]=h;c[b+32>>2]=h;c[b+36>>2]=h;c[b+40>>2]=h;c[b+44>>2]=h;c[b+48>>2]=h;c[b+52>>2]=h;c[b+56>>2]=h;c[b+60>>2]=h;b=b+64|0}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Fu(a){a=a|0;var b=0,d=0;b=c[i>>2]|0;d=b+a|0;if((a|0)>0&(d|0)<(b|0)|(d|0)<0){Fa(d|0)|0;X(12);return -1}if((d|0)>(qa()|0)){if(!(ta(d|0)|0)){X(12);return -1}}else c[i>>2]=d;return b|0}function Gu(a,b){a=a|0;b=b|0;return Ja[a&255](b|0)|0}function Hu(a,b,c){a=a|0;b=b|0;c=c|0;return Ka[a&3](b|0,c|0)|0}function Iu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return La[a&7](b|0,c|0,d|0)|0}function Ju(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ma[a&1](b|0,c|0,d|0,e|0)|0}function Ku(a){a=a|0;Na[a&1]()}function Lu(a,b){a=a|0;b=b|0;Oa[a&7](b|0)}function Mu(a,b,c){a=a|0;b=b|0;c=c|0;Pa[a&7](b|0,c|0)}function Nu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qa[a&3](b|0,c|0,d|0)}function Ou(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ra[a&0](b|0,c|0,d|0,e|0,f|0)}function Pu(a){a=a|0;E(0);return 0}function Qu(a,b){a=a|0;b=b|0;E(1);return 0}function Ru(a,b,c){a=a|0;b=b|0;c=c|0;E(2);return 0}function Su(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(3);return 0}function Tu(){E(4)}function Uu(a){a=a|0;E(5)}function Vu(a,b){a=a|0;b=b|0;E(6)}function Wu(a,b,c){a=a|0;b=b|0;c=c|0;E(7)}function Xu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;E(8)}
function Bo(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Ga;Ga=Ga+2048|0;e=d+1024|0;f=d;g=Fn(b,67514)|0;if(!g){h=0;Ga=d;return h|0}b=mp(24)|0;lp(b,0,24);a:do if(!(Dn(g)|0)){i=b+12|0;j=b+4|0;while(1){a[e>>0]=0;Hn(e,1023,g)|0;k=a[e>>0]|0;b:do switch(k<<24>>24){case 0:case 47:break;default:{l=e;m=k;while(1){n=m<<24>>24;switch(m<<24>>24){case 47:case 0:{break b;break}default:{}}if(m<<24>>24==95|((n+-48|0)>>>0<10|((n&-33)+-65|0)>>>0<26))break;n=l+1|0;l=n;m=a[n>>0]|0}if(m<<24>>24){a[f>>0]=0;n=0;o=l;p=m;while(1){a[f+n>>0]=p;n=n+1|0;a[f+n>>0]=0;q=o+1|0;p=a[q>>0]|0;r=p<<24>>24;if(!(p<<24>>24==95|((r+-48|0)>>>0<10|((r&-33)+-65|0)>>>0<26)))break;else o=q}if(a[f>>0]|0){yo(b,f);p=a[q>>0]|0;if(p<<24>>24==58)s=(a[o+2>>0]|0)==58;else s=0;n=q;m=p;c:while(1){switch(m<<24>>24){case 58:case 32:break;default:break c}p=n+1|0;n=p;m=a[p>>0]|0}o=m<<24>>24==0;if(!s){if(o)break b;c[i>>2]=np(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;p=mp((Ms(n)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=p;rm(c[(c[i>>2]|0)+(l<<2)>>2]|0,n)|0;c[j>>2]=(c[j>>2]|0)+1;break b}if(!o){o=n;while(1){a[f>>0]=0;l=o;while(1){t=a[l>>0]|0;if(t<<24>>24==32)l=l+1|0;else break}p=0;r=l;u=t;d:while(1){switch(u<<24>>24){case 32:case 0:{break d;break}default:{}}a[f+p>>0]=u;v=p+1|0;a[f+v>>0]=0;w=r+1|0;p=v;r=w;u=a[w>>0]|0}if(!(a[f>>0]|0))x=u;else{c[i>>2]=np(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;p=mp((Ms(f)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=p;rm(c[(c[i>>2]|0)+(l<<2)>>2]|0,f)|0;c[j>>2]=(c[j>>2]|0)+1;x=a[r>>0]|0}if(!(x<<24>>24))break;else o=r}}}}}}while(0);if(Dn(g)|0)break a}}while(0);Gn(g);c[515541]=(c[515541]|0)+1;h=b;Ga=d;return h|0}function Co(a){a=a|0;var b=0;b=kp(11032)|0;c[b>>2]=a<<2;c[515541]=(c[515541]|0)+1;return b|0}function Do(a){a=a|0;if(!a)return;Eo(a);op(a);c[515541]=(c[515541]|0)+-1;return}function Eo(a){a=a|0;var b=0;b=a+11016|0;Np(c[b>>2]|0);Mp(c[b>>2]|0);c[b>>2]=0;b=a+344|0;op(c[b>>2]|0);c[b>>2]=0;b=a+688|0;op(c[b>>2]|0);c[b>>2]=0;b=a+1032|0;op(c[b>>2]|0);c[b>>2]=0;b=a+1376|0;op(c[b>>2]|0);c[b>>2]=0;b=a+1720|0;op(c[b>>2]|0);c[b>>2]=0;b=a+2064|0;op(c[b>>2]|0);c[b>>2]=0;b=a+2408|0;op(c[b>>2]|0);c[b>>2]=0;b=a+2752|0;op(c[b>>2]|0);c[b>>2]=0;b=a+3096|0;op(c[b>>2]|0);c[b>>2]=0;b=a+3440|0;op(c[b>>2]|0);c[b>>2]=0;b=a+3784|0;op(c[b>>2]|0);c[b>>2]=0;b=a+4128|0;op(c[b>>2]|0);c[b>>2]=0;b=a+4472|0;op(c[b>>2]|0);c[b>>2]=0;b=a+4816|0;op(c[b>>2]|0);c[b>>2]=0;b=a+5160|0;op(c[b>>2]|0);c[b>>2]=0;b=a+5504|0;op(c[b>>2]|0);c[b>>2]=0;b=a+5848|0;op(c[b>>2]|0);c[b>>2]=0;b=a+6192|0;op(c[b>>2]|0);c[b>>2]=0;b=a+6536|0;op(c[b>>2]|0);c[b>>2]=0;b=a+6880|0;op(c[b>>2]|0);c[b>>2]=0;b=a+7224|0;op(c[b>>2]|0);c[b>>2]=0;b=a+7568|0;op(c[b>>2]|0);c[b>>2]=0;b=a+7912|0;op(c[b>>2]|0);c[b>>2]=0;b=a+8256|0;op(c[b>>2]|0);c[b>>2]=0;b=a+8600|0;op(c[b>>2]|0);c[b>>2]=0;b=a+8944|0;op(c[b>>2]|0);c[b>>2]=0;b=a+9288|0;op(c[b>>2]|0);c[b>>2]=0;b=a+9632|0;op(c[b>>2]|0);c[b>>2]=0;b=a+9976|0;op(c[b>>2]|0);c[b>>2]=0;b=a+10320|0;op(c[b>>2]|0);c[b>>2]=0;b=a+10664|0;op(c[b>>2]|0);c[b>>2]=0;b=a+11008|0;op(c[b>>2]|0);c[b>>2]=0;return}function Fo(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0;h=Ga;Ga=Ga+144|0;i=h+88|0;j=h+44|0;k=h;l=f<<3;m=e+g|0;g=f+-2|0;e=f+-4|0;n=i+8|0;o=i+4|0;p=i+12|0;q=i+20|0;r=i+16|0;s=i+24|0;t=i+32|0;u=i+28|0;v=j+8|0;w=j+4|0;x=j+12|0;y=j+20|0;z=j+16|0;A=j+24|0;B=j+32|0;C=j+28|0;D=i+40|0;E=b+4|0;F=b+8|0;G=j+40|0;H=k+8|0;I=k+4|0;J=k+12|0;K=k+20|0;L=k+16|0;M=k+24|0;N=k+32|0;O=k+28|0;P=k+40|0;Q=k+36|0;R=i+36|0;S=j+36|0;T=0;U=0;a:while(1){V=U+2|0;if(V>>>0>=l>>>0){W=52;X=125;break}Y=d[m+(U>>>3)>>0]|0;Z=U&7;_=U+1|0;$=U+3|0;aa=((d[m+(V>>>3)>>0]|0)>>>(V&7)<<1|(d[m+(_>>>3)>>0]|0)>>>(_&7)&1)&255;switch(aa&3){case 3:{W=20;X=125;break a;break}case 0:{if(!($&7))ba=$;else{_=$;while(1){V=_+1|0;if(!(V&7)){ba=V;break}else _=V}}_=ba>>>3;if(_>>>0>=e>>>0){W=52;X=125;break a}V=(d[m+(_+1)>>0]|0)<<8|(d[m+_>>0]|0);ca=_+4|0;if((((d[m+(_+3)>>0]|0)<<8|(d[m+(_+2)>>0]|0))+V|0)!=65535){W=21;X=125;break a}_=V+T|0;if(_>>>0>=(c[E>>2]|0)>>>0){if((c[F>>2]|0)>>>0<_>>>0){da=_<<1;ea=np(c[b>>2]|0,da)|0;if(!ea){W=9915;X=125;break a}c[F>>2]=da;c[b>>2]=ea}c[E>>2]=_}ea=V+ca|0;if(ea>>>0>f>>>0){W=23;X=125;break a}if(!V){fa=ca;ga=T}else{da=0;ha=ca;ca=T;while(1){a[(c[b>>2]|0)+ca>>0]=a[m+ha>>0]|0;da=da+1|0;if((da|0)==(V|0)){fa=ea;ga=_;break}else{ha=ha+1|0;ca=ca+1|0}}}ia=fa<<3;ja=ga;break}default:{ca=i;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));ca=j;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));switch(aa&3){case 1:{Go(i);Ho(j);ka=0;la=$;break}case 2:{ca=k;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));aa=$>>>3;b:do if(aa>>>0<g>>>0){_=U+4|0;ea=U+5|0;V=U+6|0;da=U+7|0;ma=(d[m+(_>>>3)>>0]|0)>>>(_&7)<<1&2|(d[m+aa>>0]|0)>>>($&7)&1|(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<2&4|(d[m+(V>>>3)>>0]|0)>>>(V&7)<<3&8|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<4&16;da=U+8|0;V=ma+257|0;ea=U+9|0;_=U+10|0;na=U+11|0;oa=U+12|0;pa=(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<1&2|(d[m+(da>>>3)>>0]|0)>>>(da&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(na>>>3)>>0]|0)>>>(na&7)<<3&8|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)<<4&16;oa=U+13|0;na=U+14|0;_=U+15|0;da=U+16|0;ea=U+17|0;qa=((d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<3&8)+4|0;da=np(0,152)|0;do if(!da){ra=9911;sa=ea;ta=0}else{_=0;oa=ea;while(1){if(_>>>0<qa>>>0){na=oa+1|0;ua=oa+2|0;va=oa+3|0;wa=(d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1|(d[m+(ua>>>3)>>0]|0)>>>(ua&7)<<2&4}else{va=oa;wa=0}c[da+(c[27568+(_<<2)>>2]<<2)>>2]=wa;_=_+1|0;if((_|0)==19)break;else oa=va}if((c[N>>2]|0)>>>0<76){oa=np(c[M>>2]|0,152)|0;if(!oa){ra=9903;sa=va;ta=da;break}c[N>>2]=152;c[M>>2]=oa;c[O>>2]=19;xa=oa}else{c[O>>2]=19;xa=c[M>>2]|0}c[xa>>2]=c[da>>2];c[xa+4>>2]=c[da+4>>2];c[xa+8>>2]=c[da+8>>2];c[xa+12>>2]=c[da+12>>2];c[xa+16>>2]=c[da+16>>2];c[xa+20>>2]=c[da+20>>2];c[xa+24>>2]=c[da+24>>2];c[xa+28>>2]=c[da+28>>2];c[xa+32>>2]=c[da+32>>2];c[xa+36>>2]=c[da+36>>2];c[xa+40>>2]=c[da+40>>2];c[xa+44>>2]=c[da+44>>2];c[xa+48>>2]=c[da+48>>2];c[xa+52>>2]=c[da+52>>2];c[xa+56>>2]=c[da+56>>2];c[xa+60>>2]=c[da+60>>2];c[xa+64>>2]=c[da+64>>2];c[xa+68>>2]=c[da+68>>2];c[xa+72>>2]=c[da+72>>2];c[P>>2]=19;c[Q>>2]=7;oa=Io(k)|0;op(da);if(oa|0){ya=oa;za=va;break b}oa=np(0,2304)|0;if(!oa){Aa=0;Ba=0;Ca=0}else{Eu(oa|0,0,1152)|0;Aa=oa;Ba=288;Ca=oa}oa=np(0,256)|0;c:do if(oa){ca=oa;ha=ca+128|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));if(Aa){_=ma+258+pa|0;do if(_){ua=c[k>>2]|0;na=c[P>>2]|0;Da=-258-ma|0;Ea=0;Fa=0;Ha=va;d:while(1){if(Ha>>>0>l>>>0){Ia=Ha;X=59;break}Ja=0;Ka=Ha;while(1){La=c[ua+(((d[m+(Ka>>>3)>>0]|0)>>>(Ka&7)&1|Ja<<1)<<2)>>2]|0;Ma=Ka+1|0;if(La>>>0<na>>>0)break;Ja=La-na|0;if(Ka>>>0>=l>>>0|Ja>>>0>=na>>>0){Ia=Ma;X=59;break d}else Ka=Ma}e:do if(La>>>0<16){c[(Ea>>>0<V>>>0?Aa+(Ea<<2)|0:oa+(Ea-V<<2)|0)>>2]=La;Na=Fa;Oa=Ma;Pa=Ea+1|0}else switch(La|0){case 16:{Ja=Ma>>>3;if(Ja>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ta=Ka+2|0;Ua=Ka+3|0;Va=((d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<1&2|(d[m+Ja>>0]|0)>>>(Ma&7)&1)+3|0;Ja=Ea+-1|0;Ta=c[(Ja>>>0<V>>>0?Aa+(Ja<<2)|0:oa+(Da+Ea<<2)|0)>>2]|0;Ja=0;Wa=Ea;while(1){if(Wa>>>0>=_>>>0){Na=13;Oa=Ua;Pa=Wa;break e}c[(Wa>>>0<V>>>0?Aa+(Wa<<2)|0:oa+(Wa-V<<2)|0)>>2]=Ta;Xa=Wa+1|0;Ja=Ja+1|0;if(Ja>>>0>=Va>>>0){Na=Fa;Oa=Ua;Pa=Xa;break}else Wa=Xa}break}case 17:{Wa=Ma>>>3;if(Wa>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ua=Ka+2|0;Va=Ka+3|0;Ja=Ka+4|0;Ta=((d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<1&2|(d[m+Wa>>0]|0)>>>(Ma&7)&1|(d[m+(Va>>>3)>>0]|0)>>>(Va&7)<<2&4)+3|0;Va=0;Wa=Ea;while(1){if(Wa>>>0>=_>>>0){Na=14;Oa=Ja;Pa=Wa;break e}c[(Wa>>>0<V>>>0?Aa+(Wa<<2)|0:oa+(Wa-V<<2)|0)>>2]=0;Ua=Wa+1|0;Va=Va+1|0;if(Va>>>0>=Ta>>>0){Na=Fa;Oa=Ja;Pa=Ua;break}else Wa=Ua}break}case 18:{Wa=Ma>>>3;if(Wa>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ja=Ka+2|0;Ta=Ka+3|0;Va=Ka+4|0;Ua=Ka+5|0;Xa=Ka+6|0;Ya=Ka+7|0;Za=Ka+8|0;_a=((d[m+(Ja>>>3)>>0]|0)>>>(Ja&7)<<1&2|(d[m+Wa>>0]|0)>>>(Ma&7)&1|(d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<2&4|(d[m+(Va>>>3)>>0]|0)>>>(Va&7)<<3&8|(d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<4&16|(d[m+(Xa>>>3)>>0]|0)>>>(Xa&7)<<5&32|(d[m+(Ya>>>3)>>0]|0)>>>(Ya&7)<<6&64)+11|0;if(!_a){Na=Fa;Oa=Za;Pa=Ea;break e}Ya=0;Xa=Ea;while(1){if(Xa>>>0>=_>>>0){Na=15;Oa=Za;Pa=Xa;break e}c[(Xa>>>0<V>>>0?Aa+(Xa<<2)|0:oa+(Xa-V<<2)|0)>>2]=0;Ua=Xa+1|0;Ya=Ya+1|0;if(Ya>>>0>=_a>>>0){Na=Fa;Oa=Za;Pa=Ua;break}else Xa=Ua}break}default:{Qa=Ma;Ra=16;Sa=oa;break c}}while(0);if(Pa>>>0<_>>>0){Ea=Pa;Fa=Na;Ha=Oa}else{X=61;break}}if((X|0)==59){X=0;Qa=Ia;Ra=Ia>>>0>l>>>0?10:11;Sa=oa;break c}else if((X|0)==61){X=0;if(!Na){$a=Oa;break}else{Qa=Oa;Ra=Na;Sa=oa;break c}}}else $a=va;while(0);if(c[Aa+1024>>2]|0){if(Ba<<2>>>0>(c[t>>2]|0)>>>0){_=Ba<<3;Ha=np(c[s>>2]|0,_)|0;if(!Ha){Qa=$a;Ra=9903;Sa=oa;break}c[t>>2]=_;c[s>>2]=Ha}c[u>>2]=Ba;if(Ba|0){Ha=c[s>>2]|0;_=0;do{c[Ha+(_<<2)>>2]=c[Aa+(_<<2)>>2];_=_+1|0}while((_|0)!=(Ba|0))}c[D>>2]=Ba;c[R>>2]=15;_=Io(i)|0;if(!_){if((c[B>>2]|0)>>>0<128){Ha=np(c[A>>2]|0,256)|0;if(!Ha){Qa=$a;Ra=9903;Sa=oa;break}c[B>>2]=256;c[A>>2]=Ha;c[C>>2]=32;ab=Ha}else{c[C>>2]=32;ab=c[A>>2]|0}c[ab>>2]=c[oa>>2];c[ab+4>>2]=c[oa+4>>2];c[ab+8>>2]=c[oa+8>>2];c[ab+12>>2]=c[oa+12>>2];c[ab+16>>2]=c[oa+16>>2];c[ab+20>>2]=c[oa+20>>2];c[ab+24>>2]=c[oa+24>>2];c[ab+28>>2]=c[oa+28>>2];c[ab+32>>2]=c[oa+32>>2];c[ab+36>>2]=c[oa+36>>2];c[ab+40>>2]=c[oa+40>>2];c[ab+44>>2]=c[oa+44>>2];c[ab+48>>2]=c[oa+48>>2];c[ab+52>>2]=c[oa+52>>2];c[ab+56>>2]=c[oa+56>>2];c[ab+60>>2]=c[oa+60>>2];c[ab+64>>2]=c[oa+64>>2];c[ab+68>>2]=c[oa+68>>2];c[ab+72>>2]=c[oa+72>>2];c[ab+76>>2]=c[oa+76>>2];c[ab+80>>2]=c[oa+80>>2];c[ab+84>>2]=c[oa+84>>2];c[ab+88>>2]=c[oa+88>>2];c[ab+92>>2]=c[oa+92>>2];c[ab+96>>2]=c[oa+96>>2];c[ab+100>>2]=c[oa+100>>2];c[ab+104>>2]=c[oa+104>>2];c[ab+108>>2]=c[oa+108>>2];c[ab+112>>2]=c[oa+112>>2];c[ab+116>>2]=c[oa+116>>2];c[ab+120>>2]=c[oa+120>>2];c[ab+124>>2]=c[oa+124>>2];c[G>>2]=32;c[S>>2]=15;Qa=$a;Ra=Io(j)|0;Sa=oa}else{Qa=$a;Ra=_;Sa=oa}}else{Qa=$a;Ra=64;Sa=oa}}else{Qa=va;Ra=9912;Sa=oa}}else{Qa=va;Ra=9912;Sa=0}while(0);op(Ca);op(Sa);ya=Ra;za=Qa;break b}while(0);op(ta);ya=ra;za=sa}else{ya=49;za=$}while(0);c[H>>2]=0;c[I>>2]=0;op(c[k>>2]|0);c[k>>2]=0;c[K>>2]=0;c[L>>2]=0;op(c[J>>2]|0);c[J>>2]=0;c[N>>2]=0;c[O>>2]=0;op(c[M>>2]|0);ka=ya;la=za;break}default:{ka=0;la=$}}f:do if(la>>>0<=l>>>0){ca=c[i>>2]|0;ha=c[D>>2]|0;aa=c[j>>2]|0;V=c[G>>2]|0;ma=T;pa=la;g:while(1){da=0;qa=pa;while(1){bb=c[ca+(((d[m+(qa>>>3)>>0]|0)>>>(qa&7)&1|da<<1)<<2)>>2]|0;cb=qa+1|0;if(bb>>>0<ha>>>0)break;da=bb-ha|0;if(cb>>>0>l>>>0|da>>>0>=ha>>>0){db=cb;eb=ma;X=115;break f}else qa=cb}if(bb>>>0>=256){if(!((bb|0)!=256&bb>>>0<286)){X=114;break}qa=bb+-257|0;if(cb>>>3>>>0>=f>>>0){fb=cb;gb=51;X=118;break}da=c[27648+(qa<<2)>>2]|0;ea=c[27776+(qa<<2)>>2]|0;if((bb+-265|0)>>>0>19){hb=0;ib=cb}else{qa=0;oa=0;_=cb;while(1){qa=(((d[m+(_>>>3)>>0]|0)>>>(_&7)&1)<<oa)+qa|0;oa=oa+1|0;if((oa|0)==(da|0))break;else _=_+1|0}hb=qa;ib=cb+da|0}_=hb+ea|0;if(ib>>>0>l>>>0){jb=ib;X=100;break}oa=0;Ha=ib;while(1){kb=c[aa+(((d[m+(Ha>>>3)>>0]|0)>>>(Ha&7)&1|oa<<1)<<2)>>2]|0;lb=Ha+1|0;if(kb>>>0<V>>>0)break;oa=kb-V|0;if(Ha>>>0>=l>>>0|oa>>>0>=V>>>0){jb=lb;X=100;break g}else Ha=lb}if(kb>>>0>29){jb=lb;X=100;break}if(lb>>>3>>>0>=f>>>0){fb=lb;gb=51;X=118;break}Ha=c[27904+(kb<<2)>>2]|0;oa=c[28032+(kb<<2)>>2]|0;if(kb>>>0<4){mb=0;nb=lb}else{da=0;qa=0;Fa=lb;while(1){da=(((d[m+(Fa>>>3)>>0]|0)>>>(Fa&7)&1)<<qa)+da|0;qa=qa+1|0;if((qa|0)==(Ha|0))break;else Fa=Fa+1|0}mb=da;nb=lb+Ha|0}Fa=ma-oa-mb|0;qa=_+ma|0;if(qa>>>0>=(c[E>>2]|0)>>>0){Ea=qa<<1;if((c[F>>2]|0)>>>0<Ea>>>0){Da=qa<<2;qa=np(c[b>>2]|0,Da)|0;if(!qa){fb=nb;gb=9914;X=118;break}c[F>>2]=Da;c[b>>2]=qa}c[E>>2]=Ea}if(!_){ob=nb;pb=ma}else{Ea=ma+hb|0;qa=Fa;Da=0;na=ma;while(1){ua=c[b>>2]|0;a[ua+na>>0]=a[ua+qa>>0]|0;ua=qa+1|0;Da=Da+1|0;if((Da|0)==(_|0))break;else{qa=ua>>>0<ma>>>0?ua:Fa;na=na+1|0}}ob=nb;pb=Ea+ea|0}}else{if(ma>>>0>=(c[E>>2]|0)>>>0){na=(ma<<1)+2|0;if((c[F>>2]|0)>>>0<na>>>0){Fa=na<<1;qa=np(c[b>>2]|0,Fa)|0;if(!qa){fb=cb;gb=9913;X=118;break}c[F>>2]=Fa;c[b>>2]=qa}c[E>>2]=na}a[(c[b>>2]|0)+ma>>0]=bb;ob=cb;pb=ma+1|0}if(ob>>>0>l>>>0){db=ob;eb=pb;X=115;break f}else{ma=pb;pa=ob}}if((X|0)==100){X=0;qb=jb;rb=(bb|0)==-1?(jb>>>0>l>>>0?10:11):18;sb=ma;tb=ca;break}else if((X|0)==114){X=0;if((bb|0)==256){qb=cb;rb=ka;sb=ma;tb=ca;break}else{db=cb;eb=ma;X=115;break}}else if((X|0)==118){X=0;qb=fb;rb=gb;sb=ma;tb=ca;break}}else{db=la;eb=T;X=115}while(0);if((X|0)==115){X=0;qb=db;rb=db>>>0>l>>>0?10:11;sb=eb;tb=c[i>>2]|0}c[n>>2]=0;c[o>>2]=0;op(tb);c[i>>2]=0;c[q>>2]=0;c[r>>2]=0;op(c[p>>2]|0);c[p>>2]=0;c[t>>2]=0;c[u>>2]=0;op(c[s>>2]|0);c[v>>2]=0;c[w>>2]=0;op(c[j>>2]|0);c[j>>2]=0;c[y>>2]=0;c[z>>2]=0;op(c[x>>2]|0);c[x>>2]=0;c[B>>2]=0;c[C>>2]=0;op(c[A>>2]|0);if(!rb){ia=qb;ja=sb}else{W=rb;X=125;break a}}}if(!(1<<Z&Y)){T=ja;U=ia}else{X=121;break}}if((X|0)==121){if((c[F>>2]|0)>>>0>=ja>>>0){c[E>>2]=ja;W=0;Ga=h;return W|0}ia=ja<<1;U=np(c[b>>2]|0,ia)|0;if(!U){W=9916;Ga=h;return W|0}c[F>>2]=ia;c[b>>2]=U;c[E>>2]=ja;W=0;Ga=h;return W|0}else if((X|0)==125){Ga=h;return W|0}return 0}function Go(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=np(0,2304)|0;if(!b){d=0;op(d);return}e=0;do{c[b+(e<<2)>>2]=8;e=e+1|0}while((e|0)!=144);e=144;do{c[b+(e<<2)>>2]=9;e=e+1|0}while((e|0)!=256);c[b+1024>>2]=7;c[b+1028>>2]=7;c[b+1032>>2]=7;c[b+1036>>2]=7;c[b+1040>>2]=7;c[b+1044>>2]=7;c[b+1048>>2]=7;c[b+1052>>2]=7;c[b+1056>>2]=7;c[b+1060>>2]=7;c[b+1064>>2]=7;c[b+1068>>2]=7;c[b+1072>>2]=7;c[b+1076>>2]=7;c[b+1080>>2]=7;c[b+1084>>2]=7;c[b+1088>>2]=7;c[b+1092>>2]=7;c[b+1096>>2]=7;c[b+1100>>2]=7;c[b+1104>>2]=7;c[b+1108>>2]=7;c[b+1112>>2]=7;c[b+1116>>2]=7;c[b+1120>>2]=8;c[b+1124>>2]=8;c[b+1128>>2]=8;c[b+1132>>2]=8;c[b+1136>>2]=8;c[b+1140>>2]=8;c[b+1144>>2]=8;c[b+1148>>2]=8;e=a+24|0;f=a+32|0;do if((c[f>>2]|0)>>>0<1152){g=np(c[e>>2]|0,2304)|0;if(!g){d=b;op(d);return}else{c[f>>2]=2304;c[e>>2]=g;c[a+28>>2]=288;h=g;break}}else{c[a+28>>2]=288;h=c[e>>2]|0}while(0);e=0;do{c[h+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}while((e|0)!=288);c[a+40>>2]=288;c[a+36>>2]=15;Io(a)|0;d=b;op(d);return}function Ho(a){a=a|0;var b=0,d=0;b=np(0,256)|0;if(!b){d=0;op(d);return}c[b>>2]=5;c[b+4>>2]=5;c[b+8>>2]=5;c[b+12>>2]=5;c[b+16>>2]=5;c[b+20>>2]=5;c[b+24>>2]=5;c[b+28>>2]=5;c[b+32>>2]=5;c[b+36>>2]=5;c[b+40>>2]=5;c[b+44>>2]=5;c[b+48>>2]=5;c[b+52>>2]=5;c[b+56>>2]=5;c[b+60>>2]=5;c[b+64>>2]=5;c[b+68>>2]=5;c[b+72>>2]=5;c[b+76>>2]=5;c[b+80>>2]=5;c[b+84>>2]=5;c[b+88>>2]=5;c[b+92>>2]=5;c[b+96>>2]=5;c[b+100>>2]=5;c[b+104>>2]=5;c[b+108>>2]=5;c[b+112>>2]=5;c[b+116>>2]=5;c[b+120>>2]=5;c[b+124>>2]=5;Jo(a,b,32,15)|0;d=b;op(d);return}function Io(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;b=a+12|0;d=a+40|0;e=c[d>>2]|0;f=a+20|0;if(e<<2>>>0>(c[f>>2]|0)>>>0){g=e<<3;h=np(c[b>>2]|0,g)|0;if(!h)i=0;else{c[f>>2]=g;c[b>>2]=h;j=4}}else j=4;do if((j|0)==4){c[a+16>>2]=e;h=a+36|0;g=(c[h>>2]|0)+1|0;f=g<<2;if(!f){k=0;l=0}else{m=np(0,g<<3)|0;if(!m){i=0;break}k=m;l=m}if(g|0)Eu(l|0,0,f|0)|0;f=(c[h>>2]|0)+1|0;g=f<<2;if(!g){n=0;o=0}else{m=np(0,f<<3)|0;if(!m){i=l;break}n=m;o=m}if(f|0)Eu(o|0,0,g|0)|0;if(!(c[d>>2]|0))p=0;else{g=c[a+24>>2]|0;f=0;do{m=k+(c[g+(f<<2)>>2]<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0;m=c[d>>2]|0}while(f>>>0<m>>>0);p=m}if(!(c[h>>2]|0))q=p;else{f=1;g=c[n>>2]|0;do{g=(c[k+(f+-1<<2)>>2]|0)+g<<1;c[n+(f<<2)>>2]=g;f=f+1|0}while(f>>>0<=(c[h>>2]|0)>>>0);q=c[d>>2]|0}if(q|0){h=c[a+24>>2]|0;f=0;g=q;while(1){m=c[h+(f<<2)>>2]|0;if(!m)r=g;else{s=n+(m<<2)|0;m=c[s>>2]|0;c[s>>2]=m+1;c[(c[b>>2]|0)+(f<<2)>>2]=m;r=c[d>>2]|0}f=f+1|0;if(f>>>0>=r>>>0)break;else g=r}}op(l);op(o);g=c[d>>2]|0;f=g<<1;h=a+8|0;do if(g<<3>>>0>(c[h>>2]|0)>>>0){m=g<<4;s=np(c[a>>2]|0,m)|0;if(!s){t=9901;return t|0}else{c[h>>2]=m;c[a>>2]=s;c[a+4>>2]=f;u=c[d>>2]|0;break}}else{c[a+4>>2]=f;u=g}while(0);if(!(u&2147483647))v=u;else{g=c[a>>2]|0;f=0;do{c[g+(f<<2)>>2]=32767;f=f+1|0;h=c[d>>2]|0}while(f>>>0<h<<1>>>0);v=h}if(!v){t=0;return t|0}f=c[a+24>>2]|0;g=a+12|0;h=0;s=0;m=0;w=v;a:while(1){x=f+(m<<2)|0;y=c[x>>2]|0;b:do if(!y){z=h;A=s;B=w}else{if(h>>>0>(w+-2|0)>>>0){t=55;j=52;break a}C=(c[g>>2]|0)+(m<<2)|0;D=c[a>>2]|0;E=0;F=h;G=s;H=y;I=w;while(1){J=D+(((c[C>>2]|0)>>>(H+~E|0)&1|F<<1)<<2)|0;K=c[J>>2]|0;do if((K|0)==32767){L=E+1|0;if((L|0)==(H|0)){c[J>>2]=m;M=0;N=G;O=H;break}else{P=G+1|0;c[J>>2]=P+I;M=P;N=P;O=L;break}}else{M=K-I|0;N=G;O=E+1|0}while(0);H=c[x>>2]|0;I=c[d>>2]|0;if(H>>>0<=O>>>0){z=M;A=N;B=I;break b}if(M>>>0>(I+-2|0)>>>0){t=55;j=52;break a}else{E=O;F=M;G=N}}}while(0);m=m+1|0;if(m>>>0>=B>>>0){j=46;break}else{h=z;s=A;w=B}}if((j|0)==46){if(!(B&2147483647)){t=0;return t|0}w=c[a>>2]|0;s=0;h=B;while(1){m=w+(s<<2)|0;if((c[m>>2]|0)==32767){c[m>>2]=0;Q=c[d>>2]|0}else Q=h;s=s+1|0;if(s>>>0>=Q<<1>>>0){t=0;break}else h=Q}return t|0}else if((j|0)==52)return t|0}while(0);op(i);op(0);t=9902;return t|0}function Jo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+24|0;g=a+32|0;do if(d<<2>>>0>(c[g>>2]|0)>>>0){h=d<<3;i=np(c[f>>2]|0,h)|0;if(!i){j=9903;return j|0}else{c[g>>2]=h;c[f>>2]=i;break}}while(0);c[a+28>>2]=d;if(d|0){g=c[f>>2]|0;f=0;do{c[g+(f<<2)>>2]=c[b+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}c[a+40>>2]=d;c[a+36>>2]=e;j=Io(a)|0;return j|0}function Ko(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0;h=Ga;Ga=Ga+192|0;i=h+136|0;j=h+92|0;k=h+48|0;l=h+4|0;m=h;switch(c[g>>2]|0){case 0:{n=f>>>16;o=b+4|0;p=b+8|0;q=0;r=0;while(1){s=(q|0)==(n|0);t=s&1;u=c[o>>2]|0;v=u+1|0;if((c[p>>2]|0)>>>0<v>>>0){w=v<<1;x=np(c[b>>2]|0,w)|0;if(x|0){c[p>>2]=w;c[b>>2]=x;y=x;z=7}}else{y=c[b>>2]|0;z=7}if((z|0)==7){z=0;c[o>>2]=v;a[y+u>>0]=t}t=f-r|0;u=t>>>0<65535?t:65535;t=u^65535;v=u&255;x=c[o>>2]|0;w=x+1|0;if((c[p>>2]|0)>>>0<w>>>0){A=w<<1;B=np(c[b>>2]|0,A)|0;if(B|0){c[p>>2]=A;c[b>>2]=B;C=B;z=12}}else{C=c[b>>2]|0;z=12}if((z|0)==12){z=0;c[o>>2]=w;a[C+x>>0]=v}v=u>>>8&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0<x>>>0){w=x<<1;B=np(c[b>>2]|0,w)|0;if(B|0){c[p>>2]=w;c[b>>2]=B;D=B;z=17}}else{D=c[b>>2]|0;z=17}if((z|0)==17){z=0;c[o>>2]=x;a[D+u>>0]=v}v=t&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0<x>>>0){B=x<<1;w=np(c[b>>2]|0,B)|0;if(w|0){c[p>>2]=B;c[b>>2]=w;E=w;z=22}}else{E=c[b>>2]|0;z=22}if((z|0)==22){z=0;c[o>>2]=x;a[E+u>>0]=v}v=t>>>8&255;t=c[o>>2]|0;u=t+1|0;if((c[p>>2]|0)>>>0<u>>>0){x=u<<1;w=np(c[b>>2]|0,x)|0;if(w|0){c[p>>2]=x;c[b>>2]=w;F=w;z=27}}else{F=c[b>>2]|0;z=27}if((z|0)==27){z=0;c[o>>2]=u;a[F+t>>0]=v}if(r>>>0<f>>>0){v=0;t=r;while(1){u=t+1|0;w=a[e+t>>0]|0;x=c[o>>2]|0;B=x+1|0;if((c[p>>2]|0)>>>0<B>>>0){A=B<<1;G=np(c[b>>2]|0,A)|0;if(G|0){c[p>>2]=A;c[b>>2]=G;H=G;z=34}}else{H=c[b>>2]|0;z=34}if((z|0)==34){z=0;c[o>>2]=B;a[H+x>>0]=w}v=v+1|0;if(!(v>>>0<65535&u>>>0<f>>>0)){I=u;break}else t=u}}else I=r;if(s){J=0;break}else{q=q+1|0;r=I}}Ga=h;return J|0}case 1:{c[k>>2]=0;K=i;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));Go(i);Ho(j);I=b+4|0;r=c[I>>2]|0;q=r+1|0;H=b+8|0;if((c[H>>2]|0)>>>0<q>>>0){o=q<<1;p=np(c[b>>2]|0,o)|0;if(!p)M=b;else{c[H>>2]=o;c[b>>2]=p;N=b;O=p;z=41}}else{N=b;O=c[b>>2]|0;z=41}if((z|0)==41){c[I>>2]=q;a[O+r>>0]=0;M=N}N=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|1;N=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|2;N=(c[g+4>>2]|0)==0;c[k>>2]=3;do if(N)if(!f)z=60;else{r=c[i+12>>2]|0;O=c[i+24>>2]|0;q=0;p=3;while(1){o=d[e+q>>0]|0;F=c[r+(o<<2)>>2]|0;E=c[O+(o<<2)>>2]|0;if(!E)P=p;else{o=E+-1|0;D=0;C=p;while(1){y=F>>>(o-D|0)&1;n=C&7;do if(!n){t=c[I>>2]|0;v=t+1|0;if((c[H>>2]|0)>>>0<v>>>0){u=v<<1;w=np(c[M>>2]|0,u)|0;if(!w)break;c[H>>2]=u;c[M>>2]=w;Q=w}else Q=c[M>>2]|0;c[I>>2]=v;a[Q+t>>0]=0}while(0);t=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[t>>0]=y<<n|(d[t>>0]|0);D=D+1|0;if((D|0)==(E|0))break;else C=C+1|0}P=E+p|0}q=q+1|0;if((q|0)==(f|0))break;else p=P}c[k>>2]=P;z=60}else{c[l>>2]=0;p=l+8|0;c[p>>2]=0;q=l+4|0;c[q>>2]=0;O=Lo(l,e,f,c[g+8>>2]|0)|0;if(!O){Mo(k,b,l,i,j);c[p>>2]=0;c[q>>2]=0;op(c[l>>2]|0);z=60;break}else{c[p>>2]=0;c[q>>2]=0;op(c[l>>2]|0);R=O;S=c[i+12>>2]|0;T=c[i+24>>2]|0;break}}while(0);if((z|0)==60){P=c[i+12>>2]|0;Q=c[P+1024>>2]|0;N=c[i+24>>2]|0;O=c[N+1024>>2]|0;if(!O){R=0;S=P;T=N}else{q=O+-1|0;p=c[k>>2]|0;r=0;s=p;while(1){C=Q>>>(q-r|0)&1;D=s&7;do if(!D){o=c[I>>2]|0;F=o+1|0;if((c[H>>2]|0)>>>0<F>>>0){t=F<<1;v=np(c[M>>2]|0,t)|0;if(!v)break;c[H>>2]=t;c[M>>2]=v;U=v}else U=c[M>>2]|0;c[I>>2]=F;a[U+o>>0]=0}while(0);o=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[o>>0]=C<<D|(d[o>>0]|0);r=r+1|0;if((r|0)==(O|0))break;else s=s+1|0}c[k>>2]=p+O;R=0;S=P;T=N}}c[i+8>>2]=0;c[i+4>>2]=0;op(c[i>>2]|0);op(S);op(T);c[j+8>>2]=0;c[j+4>>2]=0;op(c[j>>2]|0);c[j>>2]=0;T=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;op(c[T>>2]|0);c[T>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;op(c[j+24>>2]|0);J=R;Ga=h;return J|0}case 2:{c[m>>2]=0;c[i>>2]=0;R=i+8|0;c[R>>2]=0;T=i+4|0;c[T>>2]=0;K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=k;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=l;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));do if(!(c[g+4>>2]|0)){if(!(f&1073741823))V=0;else{S=f<<3;N=np(0,S)|0;if(!N){W=9923;X=0;Y=0;Z=0;_=0;$=0;aa=0;break}c[R>>2]=S;c[i>>2]=N;V=N}c[T>>2]=f;if(!f)z=79;else{N=0;do{c[V+(N<<2)>>2]=d[e+N>>0];N=N+1|0}while((N|0)!=(f|0));z=79}}else{N=Lo(i,e,f,c[g+8>>2]|0)|0;if(!N)z=79;else{W=N;X=0;Y=0;Z=0;_=0;$=0;aa=0}}while(0);a:do if((z|0)==79){g=np(0,2288)|0;if(g){Eu(g|0,0,1144)|0;f=np(0,240)|0;if(f){K=f;L=K+120|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));e=c[T>>2]|0;if(e|0){V=c[i>>2]|0;N=0;do{D=c[V+(N<<2)>>2]|0;C=g+(D<<2)|0;c[C>>2]=(c[C>>2]|0)+1;if(D>>>0>256){D=f+(c[V+(N+2<<2)>>2]<<2)|0;c[D>>2]=(c[D>>2]|0)+1;ba=N+3|0}else ba=N;N=ba+1|0}while(N>>>0<e>>>0)}c[g+1024>>2]=1;e=No(j,g,286,15)|0;if(!e){N=No(k,f,30,15)|0;if(!N){V=c[m>>2]&7;D=b+4|0;do if(!V){C=c[D>>2]|0;S=C+1|0;P=b+8|0;if((c[P>>2]|0)>>>0<S>>>0){O=S<<1;p=np(c[b>>2]|0,O)|0;if(!p){ca=0;break}c[P>>2]=O;c[b>>2]=p;da=p}else da=c[b>>2]|0;c[D>>2]=S;a[da+C>>0]=0;ca=c[m>>2]&7}else ca=V;while(0);V=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[V>>0]=1<<ca|(d[V>>0]|0);V=(c[m>>2]|0)+1|0;c[m>>2]=V;do if(!(V&7)){C=c[D>>2]|0;S=C+1|0;p=b+8|0;if((c[p>>2]|0)>>>0<S>>>0){O=S<<1;P=np(c[b>>2]|0,O)|0;if(!P){ea=V;break}c[p>>2]=O;c[b>>2]=P;fa=P}else fa=c[b>>2]|0;c[D>>2]=S;a[fa+C>>0]=0;ea=c[m>>2]|0}else ea=V;while(0);V=c[b>>2]|0;C=c[D>>2]|0;S=ea+1|0;c[m>>2]=S;P=S&7;do if(!P){S=C+1|0;O=b+8|0;if((c[O>>2]|0)>>>0<S>>>0){p=S<<1;s=np(V,p)|0;if(!s){ga=0;break}c[O>>2]=p;c[b>>2]=s;ha=s}else ha=V;c[D>>2]=S;a[ha+C>>0]=0;ga=c[m>>2]&7}else ga=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=1<<ga|(d[P>>0]|0);c[m>>2]=(c[m>>2]|0)+1;P=c[j+40>>2]|0;C=P>>>0<286?P:286;P=c[k+40>>2]|0;V=P>>>0<30?P:30;if(!C){ia=0;ja=0;ka=0;la=0;ma=0}else{P=c[j+24>>2]|0;S=0;s=0;p=0;O=0;r=0;I=0;M=0;while(1){U=c[P+(S<<2)>>2]|0;H=p+1|0;if(H<<2>>>0>O>>>0){q=H<<3;Q=np(M,q)|0;if(!Q){na=s;oa=p;pa=O;qa=I;ra=r;sa=M}else{ta=Q;ua=q;va=Q;wa=Q;xa=Q;z=110}}else{ta=s;ua=O;va=I;wa=r;xa=M;z=110}if((z|0)==110){z=0;c[ta+(p<<2)>>2]=U;na=ta;oa=H;pa=ua;qa=va;ra=wa;sa=xa}S=S+1|0;if(S>>>0>=C>>>0){ia=ra;ja=qa;ka=na;la=oa;ma=pa;break}else{s=na;p=oa;O=pa;r=ra;I=qa;M=sa}}}if(!V){ya=ja;za=ka;Aa=la}else{M=c[k+24>>2]|0;I=0;r=ka;O=la;p=ma;s=ja;S=ia;while(1){P=c[M+(I<<2)>>2]|0;H=O+1|0;if(H<<2>>>0>p>>>0){U=H<<3;Q=np(S,U)|0;if(!Q){Ba=r;Ca=O;Da=p;Ea=s;Fa=S}else{Ha=Q;Ia=U;Ja=Q;Ka=Q;z=117}}else{Ha=r;Ia=p;Ja=s;Ka=S;z=117}if((z|0)==117){z=0;c[Ha+(O<<2)>>2]=P;Ba=Ha;Ca=H;Da=Ia;Ea=Ja;Fa=Ka}I=I+1|0;if(I>>>0>=V>>>0){ya=Ea;za=Ba;Aa=Ca;break}else{r=Ba;O=Ca;p=Da;s=Ea;S=Fa}}}if(!Aa){La=0;Ma=0;Na=0}else{S=0;s=0;p=0;O=0;r=0;I=0;M=0;H=0;P=0;Q=0;U=0;q=0;o=0;F=0;v=0;while(1){t=S+1|0;w=c[za+(S<<2)>>2]|0;do if(t>>>0<Aa>>>0){u=S+2|0;x=0;B=t;while(1){if((c[za+(B<<2)>>2]|0)!=(w|0)){Oa=x;break}G=x+1|0;B=u+x|0;if(B>>>0>=Aa>>>0){Oa=G;break}else x=G}if((w|0)==0&Oa>>>0>1){x=Oa+1|0;do if(x>>>0<11){B=p+1|0;u=B<<2;do if(u>>>0>O>>>0){n=B<<3;y=np(q,n)|0;if(!y){Pa=B;Qa=u;Ra=s;Sa=p;Ta=O;Ua=U;Va=v;Wa=Q;Xa=P;Ya=H;Za=M;_a=F;$a=I;ab=o;bb=q;cb=r;break}db=y;eb=n;fb=y;gb=y;hb=y;ib=y;jb=y;kb=y;lb=y;mb=y;nb=y;ob=y;pb=y;z=130}else{db=s;eb=O;fb=U;gb=v;hb=Q;ib=P;jb=H;kb=M;lb=F;mb=I;nb=o;ob=r;pb=q;z=130}while(0);if((z|0)==130){z=0;c[db+(p<<2)>>2]=17;u=p+2|0;Pa=u;Qa=u<<2;Ra=db;Sa=B;Ta=eb;Ua=fb;Va=gb;Wa=hb;Xa=ib;Ya=jb;Za=kb;_a=lb;$a=mb;ab=nb;bb=pb;cb=ob}u=Oa+-2|0;if(Qa>>>0>Ta>>>0){y=Pa<<3;n=np(cb,y)|0;if(!n){qb=x;rb=Ra;sb=Sa;tb=Ta;ub=Ua;vb=Va;wb=Wa;xb=Xa;yb=Ya;zb=Za;Ab=_a;Bb=$a;Cb=ab;Db=cb;Eb=bb;break}Fb=n;Gb=y;Hb=n;Ib=n;Jb=n;Kb=n;Lb=n;Mb=n;Nb=n;Ob=n;Pb=n;Qb=n;Rb=n}else{Fb=Ra;Gb=Ta;Hb=Ua;Ib=Va;Jb=Wa;Kb=Xa;Lb=Ya;Mb=Za;Nb=_a;Ob=$a;Pb=ab;Qb=cb;Rb=bb}c[Fb+(Sa<<2)>>2]=u;qb=x;rb=Fb;sb=Pa;tb=Gb;ub=Hb;vb=Ib;wb=Jb;xb=Kb;yb=Lb;zb=Mb;Ab=Nb;Bb=Ob;Cb=Pb;Db=Qb;Eb=Rb}else{u=x>>>0<138?x:138;n=p+1|0;y=n<<2;do if(y>>>0>O>>>0){G=n<<3;A=np(o,G)|0;if(!A){Sb=n;Tb=y;Ub=s;Vb=p;Wb=O;Xb=U;Yb=v;Zb=Q;_b=P;$b=H;ac=M;bc=F;cc=o;dc=r;ec=q;fc=I;break}gc=A;hc=G;ic=A;jc=A;kc=A;lc=A;mc=A;nc=A;oc=A;pc=A;qc=A;rc=A;sc=A;z=138}else{gc=s;hc=O;ic=U;jc=v;kc=Q;lc=P;mc=H;nc=M;oc=F;pc=I;qc=o;rc=r;sc=q;z=138}while(0);if((z|0)==138){z=0;c[gc+(p<<2)>>2]=18;y=p+2|0;Sb=y;Tb=y<<2;Ub=gc;Vb=n;Wb=hc;Xb=ic;Yb=jc;Zb=kc;_b=lc;$b=mc;ac=nc;bc=oc;cc=qc;dc=rc;ec=sc;fc=pc}y=u+-11|0;if(Tb>>>0>Wb>>>0){B=Sb<<3;A=np(fc,B)|0;if(!A){qb=u;rb=Ub;sb=Vb;tb=Wb;ub=Xb;vb=Yb;wb=Zb;xb=_b;yb=$b;zb=ac;Ab=bc;Bb=fc;Cb=cc;Db=dc;Eb=ec;break}tc=A;uc=B;vc=A;wc=A;xc=A;yc=A;zc=A;Ac=A;Bc=A;Cc=A;Dc=A;Ec=A;Fc=A}else{tc=Ub;uc=Wb;vc=Xb;wc=Yb;xc=Zb;yc=_b;zc=$b;Ac=ac;Bc=bc;Cc=fc;Dc=cc;Ec=dc;Fc=ec}c[tc+(Vb<<2)>>2]=y;qb=u;rb=tc;sb=Sb;tb=uc;ub=vc;vb=wc;wb=xc;xb=yc;yb=zc;zb=Ac;Ab=Bc;Bb=Cc;Cb=Dc;Db=Ec;Eb=Fc}while(0);Gc=S+-1+qb|0;Hc=rb;Ic=sb;Jc=tb;Kc=ub;Lc=vb;Mc=wb;Nc=xb;Oc=yb;Pc=zb;Qc=Ab;Rc=Bb;Sc=Cb;Tc=Db;Uc=Eb;break}if(Oa>>>0>2){x=(Oa>>>0)/6|0;y=Oa-(x*6|0)|0;A=p+1|0;do if(A<<2>>>0>O>>>0){B=A<<3;G=np(F,B)|0;if(!G){Vc=s;Wc=p;Xc=O;Yc=U;Zc=v;_c=Q;$c=P;ad=H;bd=M;cd=F;dd=I;ed=o;fd=r;gd=q;break}hd=G;id=B;jd=G;kd=G;ld=G;md=G;nd=G;od=G;pd=G;qd=G;rd=G;sd=G;td=G;z=148}else{hd=s;id=O;jd=U;kd=v;ld=Q;md=P;nd=H;od=M;pd=F;qd=I;rd=o;sd=r;td=q;z=148}while(0);if((z|0)==148){z=0;c[hd+(p<<2)>>2]=w;Vc=hd;Wc=A;Xc=id;Yc=jd;Zc=kd;_c=ld;$c=md;ad=nd;bd=od;cd=pd;dd=qd;ed=rd;fd=sd;gd=td}if(Oa>>>0>5){G=0;B=Vc;ud=Wc;vd=Xc;wd=gd;xd=fd;yd=ed;zd=dd;Ad=cd;Bd=ad;Cd=$c;Dd=_c;Ed=Zc;Fd=Yc;Gd=bd;while(1){Hd=ud+1|0;Id=Hd<<2;do if(Id>>>0>vd>>>0){Jd=Hd<<3;Kd=np(Gd,Jd)|0;if(!Kd){Ld=Hd;Md=Id;Nd=B;Od=ud;Pd=vd;Qd=Fd;Rd=Ed;Sd=Dd;Td=Cd;Ud=Gd;Vd=Ad;Wd=zd;Xd=yd;Yd=xd;Zd=wd;_d=Bd;break}$d=Kd;ae=Jd;be=Kd;ce=Kd;de=Kd;ee=Kd;fe=Kd;ge=Kd;he=Kd;ie=Kd;je=Kd;ke=Kd;le=Kd;z=154}else{$d=B;ae=vd;be=Fd;ce=Ed;de=Dd;ee=Cd;fe=Bd;ge=Gd;he=Ad;ie=zd;je=yd;ke=xd;le=wd;z=154}while(0);if((z|0)==154){z=0;c[$d+(ud<<2)>>2]=16;Id=ud+2|0;Ld=Id;Md=Id<<2;Nd=$d;Od=Hd;Pd=ae;Qd=be;Rd=ce;Sd=de;Td=ee;Ud=ge;Vd=he;Wd=ie;Xd=je;Yd=ke;Zd=le;_d=fe}do if(Md>>>0>Pd>>>0){Id=Ld<<3;u=np(_d,Id)|0;if(!u){me=Nd;ne=Od;oe=Pd;pe=Qd;qe=Rd;re=Sd;se=Td;te=_d;ue=Ud;ve=Vd;we=Wd;xe=Xd;ye=Yd;ze=Zd;break}Ae=u;Be=Id;Ce=u;De=u;Ee=u;Fe=u;Ge=u;He=u;Ie=u;Je=u;Ke=u;Le=u;Me=u;z=158}else{Ae=Nd;Be=Pd;Ce=Qd;De=Rd;Ee=Sd;Fe=Td;Ge=_d;He=Ud;Ie=Vd;Je=Wd;Ke=Xd;Le=Yd;Me=Zd;z=158}while(0);if((z|0)==158){z=0;c[Ae+(Od<<2)>>2]=3;me=Ae;ne=Ld;oe=Be;pe=Ce;qe=De;re=Ee;se=Fe;te=Ge;ue=He;ve=Ie;we=Je;xe=Ke;ye=Le;ze=Me}G=G+1|0;if(G>>>0>=x>>>0){Ne=ze;Oe=ye;Pe=xe;Qe=we;Re=ve;Se=ue;Te=te;Ue=se;Ve=re;We=qe;Xe=pe;Ye=me;Ze=ne;_e=oe;break}else{B=me;ud=ne;vd=oe;wd=ze;xd=ye;yd=xe;zd=we;Ad=ve;Bd=te;Cd=se;Dd=re;Ed=qe;Fd=pe;Gd=ue}}}else{Ne=gd;Oe=fd;Pe=ed;Qe=dd;Re=cd;Se=bd;Te=ad;Ue=$c;Ve=_c;We=Zc;Xe=Yc;Ye=Vc;Ze=Wc;_e=Xc}do if(y>>>0>2){Gd=Ze+1|0;Fd=Gd<<2;do if(Fd>>>0>_e>>>0){Ed=Gd<<3;Dd=np(Ue,Ed)|0;if(!Dd){$e=Gd;af=Fd;bf=Ye;cf=Ze;df=_e;ef=Xe;ff=We;gf=Ue;hf=Te;jf=Se;kf=Re;lf=Qe;mf=Pe;nf=Oe;of=Ne;pf=Ve;break}qf=Dd;rf=Ed;sf=Dd;tf=Dd;uf=Dd;vf=Dd;wf=Dd;xf=Dd;yf=Dd;zf=Dd;Af=Dd;Bf=Dd;Cf=Dd;z=164}else{qf=Ye;rf=_e;sf=Xe;tf=We;uf=Ve;vf=Ue;wf=Te;xf=Se;yf=Re;zf=Qe;Af=Pe;Bf=Oe;Cf=Ne;z=164}while(0);if((z|0)==164){z=0;c[qf+(Ze<<2)>>2]=16;Fd=Ze+2|0;$e=Fd;af=Fd<<2;bf=qf;cf=Gd;df=rf;ef=sf;ff=tf;gf=vf;hf=wf;jf=xf;kf=yf;lf=zf;mf=Af;nf=Bf;of=Cf;pf=uf}Fd=y+-3|0;if(af>>>0>df>>>0){Dd=$e<<3;Ed=np(pf,Dd)|0;if(!Ed){Df=Oa;Ef=bf;Ff=cf;Gf=df;Hf=ef;If=ff;Jf=pf;Kf=gf;Lf=hf;Mf=jf;Nf=kf;Of=lf;Pf=mf;Qf=nf;Rf=of;break}Sf=Ed;Tf=Dd;Uf=Ed;Vf=Ed;Wf=Ed;Xf=Ed;Yf=Ed;Zf=Ed;_f=Ed;$f=Ed;ag=Ed;bg=Ed;cg=Ed}else{Sf=bf;Tf=df;Uf=ef;Vf=ff;Wf=pf;Xf=gf;Yf=hf;Zf=jf;_f=kf;$f=lf;ag=mf;bg=nf;cg=of}c[Sf+(cf<<2)>>2]=Fd;Df=Oa;Ef=Sf;Ff=$e;Gf=Tf;Hf=Uf;If=Vf;Jf=Wf;Kf=Xf;Lf=Yf;Mf=Zf;Nf=_f;Of=$f;Pf=ag;Qf=bg;Rf=cg}else{Df=Oa-y|0;Ef=Ye;Ff=Ze;Gf=_e;Hf=Xe;If=We;Jf=Ve;Kf=Ue;Lf=Te;Mf=Se;Nf=Re;Of=Qe;Pf=Pe;Qf=Oe;Rf=Ne}while(0);Gc=Df+S|0;Hc=Ef;Ic=Ff;Jc=Gf;Kc=Hf;Lc=If;Mc=Jf;Nc=Kf;Oc=Lf;Pc=Mf;Qc=Nf;Rc=Of;Sc=Pf;Tc=Qf;Uc=Rf}else z=171}else z=171;while(0);do if((z|0)==171){z=0;t=p+1|0;if(t<<2>>>0>O>>>0){E=t<<3;y=np(v,E)|0;if(!y){Gc=S;Hc=s;Ic=p;Jc=O;Kc=U;Lc=v;Mc=Q;Nc=P;Oc=H;Pc=M;Qc=F;Rc=I;Sc=o;Tc=r;Uc=q;break}dg=y;eg=E;fg=y;gg=y;hg=y;ig=y;jg=y;kg=y;lg=y;mg=y;ng=y;og=y;pg=y}else{dg=s;eg=O;fg=U;gg=v;hg=Q;ig=P;jg=H;kg=M;lg=F;mg=I;ng=o;og=r;pg=q}c[dg+(p<<2)>>2]=w;Gc=S;Hc=dg;Ic=t;Jc=eg;Kc=fg;Lc=gg;Mc=hg;Nc=ig;Oc=jg;Pc=kg;Qc=lg;Rc=mg;Sc=ng;Tc=og;Uc=pg}while(0);S=Gc+1|0;if(S>>>0>=Aa>>>0){La=Kc;Ma=Hc;Na=Ic;break}else{s=Hc;p=Ic;O=Jc;r=Tc;I=Rc;M=Pc;H=Oc;P=Nc;Q=Mc;U=Kc;q=Uc;o=Sc;F=Qc;v=Lc}}}v=np(0,152)|0;if(v){K=v;L=K+76|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));F=(Na|0)==0;if(!F){o=0;do{q=Ma+(o<<2)|0;U=v+(c[q>>2]<<2)|0;c[U>>2]=(c[U>>2]|0)+1;o=o+1+((c[q>>2]|0)>>>0>15&1)|0}while(o>>>0<Na>>>0)}o=No(l,v,19,7)|0;if(!o){q=np(0,152)|0;if(!q){W=9927;X=g;Y=f;Z=v;_=La;$=ya;aa=0}else{U=c[l+24>>2]|0;c[q>>2]=c[U+64>>2];c[q+4>>2]=c[U+68>>2];c[q+8>>2]=c[U+72>>2];c[q+12>>2]=c[U>>2];c[q+16>>2]=c[U+32>>2];c[q+20>>2]=c[U+28>>2];c[q+24>>2]=c[U+36>>2];c[q+28>>2]=c[U+24>>2];c[q+32>>2]=c[U+40>>2];c[q+36>>2]=c[U+20>>2];c[q+40>>2]=c[U+44>>2];c[q+44>>2]=c[U+16>>2];c[q+48>>2]=c[U+48>>2];c[q+52>>2]=c[U+12>>2];c[q+56>>2]=c[U+52>>2];c[q+60>>2]=c[U+8>>2];c[q+64>>2]=c[U+56>>2];c[q+68>>2]=c[U+4>>2];Q=c[U+60>>2]|0;c[q+72>>2]=Q;if(!Q){Q=q;P=152;H=q;M=18;I=q;while(1){if(M<<2>>>0>P>>>0){r=M<<3;O=np(I,r)|0;if(!O){W=9928;X=g;Y=f;Z=v;_=La;$=ya;aa=H;break a}qg=O;rg=r;sg=O;tg=O}else{qg=Q;rg=P;sg=H;tg=I}O=M+-1|0;if(M>>>0>4?(c[qg+(O<<2)>>2]|0)==0:0){Q=qg;P=rg;H=sg;M=O;I=tg}else{ug=sg;vg=qg;wg=M;break}}}else{ug=q;vg=q;wg=19}M=C+-257|0;I=V+-1|0;H=b+8|0;P=M&1;Q=c[m>>2]&7;do if(!Q){O=c[D>>2]|0;r=O+1|0;if((c[H>>2]|0)>>>0<r>>>0){p=r<<1;s=np(c[b>>2]|0,p)|0;if(!s){xg=0;break}c[H>>2]=p;c[b>>2]=s;yg=s}else yg=c[b>>2]|0;c[D>>2]=r;a[yg+O>>0]=0;xg=c[m>>2]&7}else xg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<xg|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=M>>>1&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=np(c[b>>2]|0,O)|0;if(!r){zg=0;break}c[H>>2]=O;c[b>>2]=r;Ag=r}else Ag=c[b>>2]|0;c[D>>2]=q;a[Ag+Q>>0]=0;zg=c[m>>2]&7}else zg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<zg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=M>>>2&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0<q>>>0){r=q<<1;O=np(c[b>>2]|0,r)|0;if(!O){Bg=0;break}c[H>>2]=r;c[b>>2]=O;Cg=O}else Cg=c[b>>2]|0;c[D>>2]=q;a[Cg+C>>0]=0;Bg=c[m>>2]&7}else Bg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Bg|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=M>>>3&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=np(c[b>>2]|0,O)|0;if(!r){Dg=0;break}c[H>>2]=O;c[b>>2]=r;Eg=r}else Eg=c[b>>2]|0;c[D>>2]=q;a[Eg+Q>>0]=0;Dg=c[m>>2]&7}else Dg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Dg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=M>>>4&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0<q>>>0){r=q<<1;O=np(c[b>>2]|0,r)|0;if(!O){Fg=0;break}c[H>>2]=r;c[b>>2]=O;Gg=O}else Gg=c[b>>2]|0;c[D>>2]=q;a[Gg+C>>0]=0;Fg=c[m>>2]&7}else Fg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Fg|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;M=wg+-4|0;V=I&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=np(c[b>>2]|0,O)|0;if(!r){Hg=0;break}c[H>>2]=O;c[b>>2]=r;Ig=r}else Ig=c[b>>2]|0;c[D>>2]=q;a[Ig+Q>>0]=0;Hg=c[m>>2]&7}else Hg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Hg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=I>>>1&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0<q>>>0){r=q<<1;O=np(c[b>>2]|0,r)|0;if(!O){Jg=0;break}c[H>>2]=r;c[b>>2]=O;Kg=O}else Kg=c[b>>2]|0;c[D>>2]=q;a[Kg+C>>0]=0;Jg=c[m>>2]&7}else Jg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Jg|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=I>>>2&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=np(c[b>>2]|0,O)|0;if(!r){Lg=0;break}c[H>>2]=O;c[b>>2]=r;Mg=r}else Mg=c[b>>2]|0;c[D>>2]=q;a[Mg+Q>>0]=0;Lg=c[m>>2]&7}else Lg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Lg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=I>>>3&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0<q>>>0){r=q<<1;O=np(c[b>>2]|0,r)|0;if(!O){Ng=0;break}c[H>>2]=r;c[b>>2]=O;Og=O}else Og=c[b>>2]|0;c[D>>2]=q;a[Og+C>>0]=0;Ng=c[m>>2]&7}else Ng=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Ng|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=I>>>4&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0<q>>>0){O=q<<1;r=np(c[b>>2]|0,O)|0;if(!r){Pg=0;break}c[H>>2]=O;c[b>>2]=r;Qg=r}else Qg=c[b>>2]|0;c[D>>2]=q;a[Qg+Q>>0]=0;Pg=c[m>>2]&7}else Pg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Pg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;I=M&1;P=C&7;do if(!P){C=c[D>>2]|0;Q=C+1|0;if((c[H>>2]|0)>>>0<Q>>>0){q=Q<<1;r=np(c[b>>2]|0,q)|0;if(!r){Rg=0;break}c[H>>2]=q;c[b>>2]=r;Sg=r}else Sg=c[b>>2]|0;c[D>>2]=Q;a[Sg+C>>0]=0;Rg=c[m>>2]&7}else Rg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=I<<Rg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=M>>>1&1;C=P&7;do if(!C){P=c[D>>2]|0;Q=P+1|0;if((c[H>>2]|0)>>>0<Q>>>0){r=Q<<1;q=np(c[b>>2]|0,r)|0;if(!q){Tg=0;break}c[H>>2]=r;c[b>>2]=q;Ug=q}else Ug=c[b>>2]|0;c[D>>2]=Q;a[Ug+P>>0]=0;Tg=c[m>>2]&7}else Tg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Tg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;I=M>>>2&1;P=C&7;do if(!P){C=c[D>>2]|0;Q=C+1|0;if((c[H>>2]|0)>>>0<Q>>>0){q=Q<<1;r=np(c[b>>2]|0,q)|0;if(!r){Vg=0;break}c[H>>2]=q;c[b>>2]=r;Wg=r}else Wg=c[b>>2]|0;c[D>>2]=Q;a[Wg+C>>0]=0;Vg=c[m>>2]&7}else Vg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=I<<Vg|(d[P>>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=M>>>3&1;C=P&7;do if(!C){P=c[D>>2]|0;Q=P+1|0;if((c[H>>2]|0)>>>0<Q>>>0){r=Q<<1;q=np(c[b>>2]|0,r)|0;if(!q){Xg=0;break}c[H>>2]=r;c[b>>2]=q;Yg=q}else Yg=c[b>>2]|0;c[D>>2]=Q;a[Yg+P>>0]=0;Xg=c[m>>2]&7}else Xg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<<Xg|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;if(!wg)Zg=C;else{M=0;I=C;while(1){C=c[vg+(M<<2)>>2]|0;P=C&1;Q=I&7;do if(!Q){q=c[D>>2]|0;r=q+1|0;if((c[H>>2]|0)>>>0<r>>>0){O=r<<1;s=np(c[b>>2]|0,O)|0;if(!s){_g=0;break}c[H>>2]=O;c[b>>2]=s;$g=s}else $g=c[b>>2]|0;c[D>>2]=r;a[$g+q>>0]=0;_g=c[m>>2]&7}else _g=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<_g|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;q=C>>>1&1;r=Q&7;do if(!r){Q=c[D>>2]|0;s=Q+1|0;if((c[H>>2]|0)>>>0<s>>>0){O=s<<1;p=np(c[b>>2]|0,O)|0;if(!p){ah=0;break}c[H>>2]=O;c[b>>2]=p;bh=p}else bh=c[b>>2]|0;c[D>>2]=s;a[bh+Q>>0]=0;ah=c[m>>2]&7}else ah=r;while(0);r=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[r>>0]=q<<ah|(d[r>>0]|0);r=(c[m>>2]|0)+1|0;c[m>>2]=r;P=C>>>2&1;Q=r&7;do if(!Q){r=c[D>>2]|0;s=r+1|0;if((c[H>>2]|0)>>>0<s>>>0){p=s<<1;O=np(c[b>>2]|0,p)|0;if(!O){ch=0;break}c[H>>2]=p;c[b>>2]=O;dh=O}else dh=c[b>>2]|0;c[D>>2]=s;a[dh+r>>0]=0;ch=c[m>>2]&7}else ch=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<ch|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;M=M+1|0;if((M|0)==(wg|0)){Zg=Q;break}else I=Q}}b:do if(!F){I=c[l+12>>2]|0;M=0;V=Zg;while(1){Q=Ma+(M<<2)|0;C=c[Q>>2]|0;q=c[I+(C<<2)>>2]|0;r=c[U+(C<<2)>>2]|0;if(!r){eh=V;fh=C}else{C=r+-1|0;s=0;O=V;do{p=q>>>(C-s|0)&1;S=O&7;do if(!S){w=c[D>>2]|0;t=w+1|0;if((c[H>>2]|0)>>>0<t>>>0){y=t<<1;E=np(c[b>>2]|0,y)|0;if(!E){gh=0;break}c[H>>2]=y;c[b>>2]=E;hh=E}else hh=c[b>>2]|0;c[D>>2]=t;a[hh+w>>0]=0;gh=c[m>>2]&7}else gh=S;while(0);S=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[S>>0]=p<<gh|(d[S>>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;s=s+1|0}while((s|0)!=(r|0));eh=O;fh=c[Q>>2]|0}switch(fh|0){case 16:{r=M+1|0;s=c[Ma+(r<<2)>>2]|0;C=s&1;q=eh&7;do if(!q){S=c[D>>2]|0;Gd=S+1|0;if((c[H>>2]|0)>>>0<Gd>>>0){w=Gd<<1;t=np(c[b>>2]|0,w)|0;if(!t){ih=0;break}c[H>>2]=w;c[b>>2]=t;jh=t}else jh=c[b>>2]|0;c[D>>2]=Gd;a[jh+S>>0]=0;ih=c[m>>2]&7}else ih=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<<ih|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;Q=s>>>1&1;O=q&7;do if(!O){q=c[D>>2]|0;S=q+1|0;if((c[H>>2]|0)>>>0<S>>>0){Gd=S<<1;t=np(c[b>>2]|0,Gd)|0;if(!t){kh=0;break}c[H>>2]=Gd;c[b>>2]=t;lh=t}else lh=c[b>>2]|0;c[D>>2]=S;a[lh+q>>0]=0;kh=c[m>>2]&7}else kh=O;while(0);O=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[O>>0]=Q<<kh|(d[O>>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;mh=r;nh=O;break}case 17:{O=M+1|0;s=c[Ma+(O<<2)>>2]|0;C=s&1;q=eh&7;do if(!q){S=c[D>>2]|0;t=S+1|0;if((c[H>>2]|0)>>>0<t>>>0){Gd=t<<1;w=np(c[b>>2]|0,Gd)|0;if(!w){oh=0;break}c[H>>2]=Gd;c[b>>2]=w;ph=w}else ph=c[b>>2]|0;c[D>>2]=t;a[ph+S>>0]=0;oh=c[m>>2]&7}else oh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<<oh|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;r=s>>>1&1;Q=q&7;do if(!Q){q=c[D>>2]|0;S=q+1|0;if((c[H>>2]|0)>>>0<S>>>0){t=S<<1;w=np(c[b>>2]|0,t)|0;if(!w){qh=0;break}c[H>>2]=t;c[b>>2]=w;rh=w}else rh=c[b>>2]|0;c[D>>2]=S;a[rh+q>>0]=0;qh=c[m>>2]&7}else qh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<qh|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;C=s>>>2&1;q=Q&7;do if(!q){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0<S>>>0){w=S<<1;t=np(c[b>>2]|0,w)|0;if(!t){sh=0;break}c[H>>2]=w;c[b>>2]=t;th=t}else th=c[b>>2]|0;c[D>>2]=S;a[th+Q>>0]=0;sh=c[m>>2]&7}else sh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<<sh|(d[q>>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;mh=O;nh=q;break}case 18:{q=M+1|0;s=c[Ma+(q<<2)>>2]|0;r=s&1;Q=eh&7;do if(!Q){S=c[D>>2]|0;t=S+1|0;if((c[H>>2]|0)>>>0<t>>>0){w=t<<1;Gd=np(c[b>>2]|0,w)|0;if(!Gd){uh=0;break}c[H>>2]=w;c[b>>2]=Gd;vh=Gd}else vh=c[b>>2]|0;c[D>>2]=t;a[vh+S>>0]=0;uh=c[m>>2]&7}else uh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<uh|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>1&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0<S>>>0){t=S<<1;Gd=np(c[b>>2]|0,t)|0;if(!Gd){wh=0;break}c[H>>2]=t;c[b>>2]=Gd;xh=Gd}else xh=c[b>>2]|0;c[D>>2]=S;a[xh+Q>>0]=0;wh=c[m>>2]&7}else wh=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<<wh|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>2&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0<S>>>0){Gd=S<<1;t=np(c[b>>2]|0,Gd)|0;if(!t){yh=0;break}c[H>>2]=Gd;c[b>>2]=t;zh=t}else zh=c[b>>2]|0;c[D>>2]=S;a[zh+C>>0]=0;yh=c[m>>2]&7}else yh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<yh|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>3&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0<S>>>0){t=S<<1;Gd=np(c[b>>2]|0,t)|0;if(!Gd){Ah=0;break}c[H>>2]=t;c[b>>2]=Gd;Bh=Gd}else Bh=c[b>>2]|0;c[D>>2]=S;a[Bh+Q>>0]=0;Ah=c[m>>2]&7}else Ah=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<<Ah|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>4&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0<S>>>0){Gd=S<<1;t=np(c[b>>2]|0,Gd)|0;if(!t){Ch=0;break}c[H>>2]=Gd;c[b>>2]=t;Dh=t}else Dh=c[b>>2]|0;c[D>>2]=S;a[Dh+C>>0]=0;Ch=c[m>>2]&7}else Ch=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<Ch|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>5&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0<S>>>0){t=S<<1;Gd=np(c[b>>2]|0,t)|0;if(!Gd){Eh=0;break}c[H>>2]=t;c[b>>2]=Gd;Fh=Gd}else Fh=c[b>>2]|0;c[D>>2]=S;a[Fh+Q>>0]=0;Eh=c[m>>2]&7}else Eh=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<<Eh|(d[C>>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>6&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0<S>>>0){Gd=S<<1;t=np(c[b>>2]|0,Gd)|0;if(!t){Gh=0;break}c[H>>2]=Gd;c[b>>2]=t;Hh=t}else Hh=c[b>>2]|0;c[D>>2]=S;a[Hh+C>>0]=0;Gh=c[m>>2]&7}else Gh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<<Gh|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;mh=q;nh=Q;break}default:{mh=M;nh=eh}}M=mh+1|0;if(M>>>0>=Na>>>0)break b;else V=nh}}while(0);Mo(m,b,i,j,k);U=c[(c[j+24>>2]|0)+1024>>2]|0;if(!U){W=64;X=g;Y=f;Z=v;_=La;$=ya;aa=ug;break}F=c[(c[j+12>>2]|0)+1024>>2]|0;V=U+-1|0;M=0;I=c[m>>2]|0;do{P=F>>>(V-M|0)&1;Q=I&7;do if(!Q){s=c[D>>2]|0;O=s+1|0;if((c[H>>2]|0)>>>0<O>>>0){C=O<<1;S=np(c[b>>2]|0,C)|0;if(!S){Ih=0;break}c[H>>2]=C;c[b>>2]=S;Jh=S}else Jh=c[b>>2]|0;c[D>>2]=O;a[Jh+s>>0]=0;Ih=c[m>>2]&7}else Ih=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<Ih|(d[Q>>0]|0);I=(c[m>>2]|0)+1|0;c[m>>2]=I;M=M+1|0}while((M|0)!=(U|0));W=0;X=g;Y=f;Z=v;_=La;$=ya;aa=ug}}else{W=o;X=g;Y=f;Z=v;_=La;$=ya;aa=0}}else{W=9926;X=g;Y=f;Z=0;_=La;$=ya;aa=0}}else{W=N;X=g;Y=f;Z=0;_=0;$=0;aa=0}}else{W=e;X=g;Y=f;Z=0;_=0;$=0;aa=0}}else{W=9925;X=g;Y=0;Z=0;_=0;$=0;aa=0}}else{W=9924;X=0;Y=0;Z=0;_=0;$=0;aa=0}}while(0);c[R>>2]=0;c[T>>2]=0;op(c[i>>2]|0);c[j+8>>2]=0;c[j+4>>2]=0;op(c[j>>2]|0);c[j>>2]=0;i=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;op(c[i>>2]|0);c[i>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;op(c[j+24>>2]|0);c[k+8>>2]=0;c[k+4>>2]=0;op(c[k>>2]|0);c[k>>2]=0;j=k+12|0;c[k+20>>2]=0;c[k+16>>2]=0;op(c[j>>2]|0);c[j>>2]=0;c[k+32>>2]=0;c[k+28>>2]=0;op(c[k+24>>2]|0);c[l+8>>2]=0;c[l+4>>2]=0;op(c[l>>2]|0);c[l>>2]=0;k=l+12|0;c[l+20>>2]=0;c[l+16>>2]=0;op(c[k>>2]|0);c[k>>2]=0;c[l+32>>2]=0;c[l+28>>2]=0;op(c[l+24>>2]|0);op(X);op(Y);op(Z);op(_);op($);op(aa);J=W;Ga=h;return J|0}default:{J=61;Ga=h;return J|0}}return 0}function Lo(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0;h=np(0,1572864)|0;if(!h){i=9917;return i|0}Eu(h|0,0,786432)|0;j=np(0,524288)|0;if(!j){k=0;l=9918;m=0}else{Eu(j|0,0,262144)|0;k=j;l=0;m=j}j=np(0,524288)|0;a:do if(j){Eu(j|0,0,262144)|0;if(!l)if(!f){n=0;o=j;p=0}else{q=b+4|0;r=b+8|0;s=0;t=0;u=0;v=0;w=0;x=0;y=0;z=0;while(1){A=s>>>0<g>>>0?s:g;B=f-s|0;C=(s+6|0)>>>0<f>>>0?6:B;if(!C)D=0;else{E=0;F=0;do{E=d[e+(F+s)>>0]<<(F<<1)^E;F=F+1|0}while(F>>>0<C>>>0);D=E&65535}C=B>>>0<258?B:258;b:do if(!C)G=0;else{F=0;while(1){if(a[e+(F+s)>>0]|0){G=F;break b}F=F+1|0;if(F>>>0>=C>>>0){G=C;break}}}while(0);C=h+(D*12|0)|0;E=C+4|0;F=c[E>>2]|0;H=F+1|0;I=C+8|0;if(H<<2>>>0>(c[I>>2]|0)>>>0){J=H<<3;K=np(c[C>>2]|0,J)|0;if(!K){n=9920;o=j;p=y;break a}c[I>>2]=J;c[C>>2]=K;L=K}else L=c[C>>2]|0;c[E>>2]=H;c[L+(F<<2)>>2]=s;F=(D|0)==0;if(F){H=v+1|0;if(H<<2>>>0>w>>>0){E=H<<3;K=np(z,E)|0;if(!K){n=9920;o=j;p=y;break a}M=C;N=c[C>>2]|0;O=K;P=E;Q=K;R=K;S=K}else{M=C;N=L;O=u;P=w;Q=y;R=x;S=z}c[O+(v<<2)>>2]=G;T=M;U=O;V=H;W=P;X=Q;Y=R;Z=S;_=N}else{T=C;U=u;V=v;W=w;X=y;Y=x;Z=z;_=L}C=k+(D<<2)|0;H=c[C>>2]|0;K=s-A|0;if((c[_+(H<<2)>>2]|0)>>>0<K>>>0){E=c[T>>2]|0;J=H;while(1){I=J+1|0;c[C>>2]=I;if((c[E+(I<<2)>>2]|0)>>>0<K>>>0)J=I;else{$=E;aa=I;break}}}else{$=_;aa=H}E=j+(D<<2)|0;J=c[E>>2]|0;if((c[$+(J<<2)>>2]|0)>>>0<s>>>0){K=J;do{K=K+1|0;c[E>>2]=K}while((c[$+(K<<2)>>2]|0)>>>0<s>>>0);ba=K;ca=c[C>>2]|0}else{ba=J;ca=aa}E=s+258|0;H=E>>>0>f>>>0?f:E;E=e+H|0;A=ba+-1|0;c:do if(A>>>0>=ca>>>0&(ba|0)!=0){I=e+s|0;da=I;d:do if(F){ea=0;fa=0;ga=A;while(1){ha=c[$+(ga<<2)>>2]|0;ia=s-ha|0;ja=c[U+(ga<<2)>>2]|0;ka=ja>>>0>G>>>0?G:ja;ja=ka>>>0>B>>>0?B:ka;ka=I+ja|0;e:do if((ka|0)==(E|0))la=E;else{ma=e+ha+ja|0;na=ka;while(1){if((a[ma>>0]|0)!=(a[na>>0]|0)){la=na;break e}na=na+1|0;if((na|0)==(E|0)){la=E;break}else ma=ma+1|0}}while(0);ka=la-da|0;if(ka>>>0>ea>>>0)if((ka|0)==258){oa=258;pa=ia;break d}else{qa=ka;ra=ia}else{qa=ea;ra=fa}ga=ga+-1|0;if(!(ga>>>0>=ca>>>0&ga>>>0<ba>>>0)){sa=qa;ta=ra;ua=53;break}else{ea=qa;fa=ra}}}else{fa=(s|0)==(H|0);ea=0;ga=0;ka=A;while(1){ja=c[$+(ka<<2)>>2]|0;ha=s-ja|0;if(fa)va=da;else{ma=e+ja|0;ja=I;while(1){if((a[ma>>0]|0)!=(a[ja>>0]|0)){wa=ja;break}ja=ja+1|0;if((ja|0)==(E|0)){wa=E;break}else ma=ma+1|0}va=wa}ma=va-da|0;if(ma>>>0>ea>>>0)if((ma|0)==258){oa=258;pa=ha;break d}else{xa=ma;ya=ha}else{xa=ea;ya=ga}ka=ka+-1|0;if(!(ka>>>0>=ca>>>0&ka>>>0<ba>>>0)){sa=xa;ta=ya;ua=53;break}else{ea=xa;ga=ya}}}while(0);if((ua|0)==53){ua=0;if(sa>>>0<3){ua=54;break}else{oa=sa;pa=ta}}da=28;I=1;while(1){ga=(I+da|0)>>>1;if((c[27776+(ga<<2)>>2]|0)>>>0>oa>>>0){ea=ga+-1|0;ka=c[27776+(ea<<2)>>2]|0;if(ka>>>0>oa>>>0){za=ea;Aa=I}else{Ba=ea;Ca=ka;break}}else{za=da;Aa=ga+1|0}if(Aa>>>0>za>>>0){Ba=28;Ca=258;break}else{da=za;I=Aa}}I=oa-Ca|0;da=29;ga=1;while(1){ka=(ga+da|0)>>>1;if((c[28032+(ka<<2)>>2]|0)>>>0>pa>>>0){ea=ka+-1|0;fa=c[28032+(ea<<2)>>2]|0;if(fa>>>0>pa>>>0){Da=ea;Ea=ga}else{Fa=ea;Ga=fa;break}}else{Da=da;Ea=ka+1|0}if(Ea>>>0>Da>>>0){Fa=29;Ga=24577;break}else{da=Da;ga=Ea}}ga=pa-Ga|0;da=Ba+257|0;ka=c[q>>2]|0;fa=ka+1|0;ea=c[r>>2]|0;do if(fa<<2>>>0>ea>>>0){ma=fa<<3;ja=np(c[b>>2]|0,ma)|0;if(!ja){Ha=c[q>>2]|0;Ia=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Ja=ja;Ka=ma;ua=74;break}}else{Ja=c[b>>2]|0;Ka=ea;ua=74}while(0);if((ua|0)==74){ua=0;c[q>>2]=fa;c[Ja+(ka<<2)>>2]=da;Ha=fa;Ia=Ka}ea=Ha+1|0;do if(ea<<2>>>0>Ia>>>0){ma=ea<<3;ja=np(c[b>>2]|0,ma)|0;if(!ja){La=c[q>>2]|0;Ma=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Na=ja;Oa=ma;ua=80;break}}else{Na=c[b>>2]|0;Oa=Ia;ua=80}while(0);if((ua|0)==80){ua=0;c[q>>2]=ea;c[Na+(Ha<<2)>>2]=I;La=ea;Ma=Oa}fa=La+1|0;do if(fa<<2>>>0>Ma>>>0){da=fa<<3;ka=np(c[b>>2]|0,da)|0;if(!ka){Pa=c[q>>2]|0;Qa=c[r>>2]|0;break}else{c[r>>2]=da;c[b>>2]=ka;Ra=ka;Sa=da;ua=86;break}}else{Ra=c[b>>2]|0;Sa=Ma;ua=86}while(0);if((ua|0)==86){ua=0;c[q>>2]=fa;c[Ra+(La<<2)>>2]=Fa;Pa=fa;Qa=Sa}ea=Pa+1|0;do if(ea<<2>>>0>Qa>>>0){I=ea<<3;da=np(c[b>>2]|0,I)|0;if(!da)break;c[r>>2]=I;c[b>>2]=da;Ta=da;ua=91}else{Ta=c[b>>2]|0;ua=91}while(0);if((ua|0)==91){ua=0;c[q>>2]=ea;c[Ta+(Pa<<2)>>2]=ga}fa=oa+-1|0;if(!fa){Ua=s;Va=t;Wa=U;Xa=V;Ya=W;Za=X;_a=Y;$a=Z;break}da=0;I=s;ka=U;ma=V;ja=W;ia=Y;na=Z;ab=X;while(1){bb=I+1|0;do if(bb>>>0<f>>>0){cb=(I+7|0)>>>0<f>>>0?6:f-bb|0;if(!cb){db=0;break}eb=0;fb=0;do{eb=d[e+(fb+bb)>>0]<<(fb<<1)^eb;fb=fb+1|0}while(fb>>>0<cb>>>0);db=eb&65535}else db=0;while(0);cb=h+(db*12|0)|0;fb=cb+4|0;ha=c[fb>>2]|0;gb=ha+1|0;hb=cb+8|0;if(gb<<2>>>0>(c[hb>>2]|0)>>>0){ib=gb<<3;jb=np(c[cb>>2]|0,ib)|0;if(!jb){Ua=bb;Va=9922;Wa=ka;Xa=ma;Ya=ja;Za=ab;_a=ia;$a=na;break c}c[hb>>2]=ib;c[cb>>2]=jb;kb=jb}else kb=c[cb>>2]|0;c[fb>>2]=gb;c[kb+(ha<<2)>>2]=bb;if(!db){ha=f-bb|0;gb=ha>>>0<258?ha:258;f:do if(!gb)lb=0;else{ha=0;while(1){if(a[e+(ha+bb)>>0]|0){lb=ha;break f}ha=ha+1|0;if(ha>>>0>=gb>>>0){lb=gb;break}}}while(0);gb=ma+1|0;if(gb<<2>>>0>ja>>>0){ha=gb<<3;eb=np(ia,ha)|0;if(!eb){Ua=bb;Va=9922;Wa=ka;Xa=ma;Ya=ja;Za=ab;_a=ia;$a=na;break c}mb=eb;nb=ha;ob=eb;pb=eb;qb=eb}else{mb=ka;nb=ja;ob=ab;pb=ia;qb=na}c[mb+(ma<<2)>>2]=lb;rb=mb;sb=gb;tb=nb;ub=ob;vb=pb;wb=qb}else{rb=ka;sb=ma;tb=ja;ub=ab;vb=ia;wb=na}da=da+1|0;if(da>>>0>=fa>>>0){Ua=bb;Va=t;Wa=rb;Xa=sb;Ya=tb;Za=ub;_a=vb;$a=wb;break}else{I=bb;ka=rb;ma=sb;ja=tb;ia=vb;na=wb;ab=ub}}}else ua=54;while(0);if((ua|0)==54){ua=0;E=d[e+s>>0]|0;A=c[q>>2]|0;H=A+1|0;if(H<<2>>>0>(c[r>>2]|0)>>>0){B=H<<3;F=np(c[b>>2]|0,B)|0;if(!F){n=9921;o=j;p=X;break a}c[r>>2]=B;c[b>>2]=F;xb=F}else xb=c[b>>2]|0;c[q>>2]=H;c[xb+(A<<2)>>2]=E;Ua=s;Va=t;Wa=U;Xa=V;Ya=W;Za=X;_a=Y;$a=Z}s=Ua+1|0;if(s>>>0>=f>>>0){n=Va;o=j;p=Za;break}else{t=Va;u=Wa;v=Xa;w=Ya;x=_a;y=Za;z=$a}}}else{n=l;o=j;p=0}}else{n=9919;o=0;p=0}while(0);j=0;do{l=h+(j*12|0)|0;c[l+8>>2]=0;c[l+4>>2]=0;op(c[l>>2]|0);c[l>>2]=0;j=j+1|0}while((j|0)!=65536);op(h);op(m);op(o);op(p);i=n;return i|0}function Mo(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=f+4|0;if(!(c[i>>2]|0))return;j=g+12|0;k=g+24|0;g=e+4|0;l=e+8|0;m=h+12|0;n=h+24|0;h=0;do{o=c[(c[f>>2]|0)+(h<<2)>>2]|0;p=c[(c[j>>2]|0)+(o<<2)>>2]|0;q=c[(c[k>>2]|0)+(o<<2)>>2]|0;if(q|0){r=q+-1|0;s=0;t=c[b>>2]|0;do{u=p>>>(r-s|0)&1;do if(!(t&7)){v=c[g>>2]|0;w=v+1|0;if((c[l>>2]|0)>>>0<w>>>0){x=w<<1;y=np(c[e>>2]|0,x)|0;if(!y)break;c[l>>2]=x;c[e>>2]=y;z=y}else z=c[e>>2]|0;c[g>>2]=w;a[z+v>>0]=0}while(0);v=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[v>>0]=u<<(c[b>>2]&7)|(d[v>>0]|0);t=(c[b>>2]|0)+1|0;c[b>>2]=t;s=s+1|0}while((s|0)!=(q|0))}if(o>>>0>256){q=c[27648+(o+-257<<2)>>2]|0;s=c[f>>2]|0;t=c[s+(h+1<<2)>>2]|0;r=c[s+(h+2<<2)>>2]|0;p=c[27904+(r<<2)>>2]|0;v=h+3|0;w=c[s+(v<<2)>>2]|0;if((o+-265|0)>>>0<=19){s=0;y=c[b>>2]|0;do{x=t>>>s&1;do if(!(y&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0<B>>>0){C=B<<1;D=np(c[e>>2]|0,C)|0;if(!D)break;c[l>>2]=C;c[e>>2]=D;E=D}else E=c[e>>2]|0;c[g>>2]=B;a[E+A>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=x<<(c[b>>2]&7)|(d[u>>0]|0);y=(c[b>>2]|0)+1|0;c[b>>2]=y;s=s+1|0}while((s|0)!=(q|0))}q=c[(c[m>>2]|0)+(r<<2)>>2]|0;s=c[(c[n>>2]|0)+(r<<2)>>2]|0;if(s|0){y=s+-1|0;t=0;o=c[b>>2]|0;do{u=q>>>(y-t|0)&1;do if(!(o&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0<B>>>0){D=B<<1;C=np(c[e>>2]|0,D)|0;if(!C)break;c[l>>2]=D;c[e>>2]=C;F=C}else F=c[e>>2]|0;c[g>>2]=B;a[F+A>>0]=0}while(0);x=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[x>>0]=u<<(c[b>>2]&7)|(d[x>>0]|0);o=(c[b>>2]|0)+1|0;c[b>>2]=o;t=t+1|0}while((t|0)!=(s|0))}if(r>>>0<4)G=v;else{s=0;t=c[b>>2]|0;do{o=w>>>s&1;do if(!(t&7)){y=c[g>>2]|0;q=y+1|0;if((c[l>>2]|0)>>>0<q>>>0){x=q<<1;A=np(c[e>>2]|0,x)|0;if(!A)break;c[l>>2]=x;c[e>>2]=A;H=A}else H=c[e>>2]|0;c[g>>2]=q;a[H+y>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=o<<(c[b>>2]&7)|(d[u>>0]|0);t=(c[b>>2]|0)+1|0;c[b>>2]=t;s=s+1|0}while((s|0)!=(p|0));G=v}}else G=h;h=G+1|0}while(h>>>0<(c[i>>2]|0)>>>0);return}function No(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=Ga;Ga=Ga+16|0;h=g;c[a+36>>2]=e;i=(d|0)==0;if(i){j=80;Ga=g;return j|0}k=0;l=0;m=0;do{n=c[b+(m<<2)>>2]|0;l=n+l|0;k=k+((n|0)!=0&1)|0;m=m+1|0}while((m|0)!=(d|0));if(i){j=80;Ga=g;return j|0}i=a+40|0;c[i>>2]=d;m=a+24|0;n=a+32|0;o=a+28|0;c[o>>2]=0;p=d<<2;do if(p>>>0>(c[n>>2]|0)>>>0){q=d<<3;r=np(c[m>>2]|0,q)|0;if(!r){j=9905;Ga=g;return j|0}else{c[n>>2]=q;c[m>>2]=r;break}}while(0);c[o>>2]=d;Eu(c[m>>2]|0,0,p|0)|0;switch(k|0){case 0:{c[c[m>>2]>>2]=1;j=Io(a)|0;Ga=g;return j|0}case 1:{p=0;do{if(c[b+(p<<2)>>2]|0)c[(c[m>>2]|0)+(p<<2)>>2]=1;p=p+1|0}while((p|0)!=(d|0));j=Io(a)|0;Ga=g;return j|0}default:{c[h>>2]=0;d=h+8|0;c[d>>2]=0;p=h+4|0;c[p>>2]=0;o=h+12|0;c[o>>2]=16;n=Oo(h,b,c[i>>2]|0,l)|0;do if(!n){if(e){r=1;q=0;s=0;t=0;do{u=t;t=c[p>>2]|0;c[p>>2]=u;v=q;q=c[d>>2]|0;c[d>>2]=v;w=s;s=c[h>>2]|0;c[h>>2]=w;x=w;if(u|0){w=c[o>>2]|0;y=0;do{z=x+(B(w,y)|0)|0;c[z+8>>2]=0;c[z+4>>2]=0;op(c[z>>2]|0);c[z>>2]=0;y=y+1|0}while(y>>>0<u>>>0)}c[p>>2]=0;if(t>>>0>1){u=c[o>>2]|0;y=s;w=0;z=0;A=v;C=x;D=1;while(1){E=z+1|0;F=B(u,E)|0;if(F>>>0>A>>>0){G=F<<1;F=np(C,G)|0;if(!F){H=9907;I=C;J=A;K=z;break}else{L=G;M=F}}else{L=A;M=C}F=M+(B(u,z)|0)|0;c[F>>2]=0;G=F+8|0;c[G>>2]=0;N=F+4|0;c[N>>2]=0;O=y+(w<<4)|0;P=F+12|0;c[P>>2]=c[O+12>>2];Q=O+4|0;R=c[Q>>2]|0;if(R&1073741823){S=R<<3;T=np(0,S)|0;if(T|0){c[G>>2]=S;c[F>>2]=T;U=T;V=28}}else{U=0;V=28}if((V|0)==28?(V=0,c[N>>2]=R,R=c[Q>>2]|0,R|0):0){Q=c[O>>2]|0;O=0;do{c[U+(O<<2)>>2]=c[Q+(O<<2)>>2];O=O+1|0}while((O|0)!=(R|0))}R=y+(D<<4)|0;O=R+4|0;if(c[O>>2]|0){Q=0;do{T=c[(c[R>>2]|0)+(Q<<2)>>2]|0;S=c[N>>2]|0;W=S+1|0;do if(W<<2>>>0>(c[G>>2]|0)>>>0){X=W<<3;Y=np(c[F>>2]|0,X)|0;if(!Y)break;c[G>>2]=X;c[F>>2]=Y;Z=Y;V=37}else{Z=c[F>>2]|0;V=37}while(0);if((V|0)==37){V=0;c[N>>2]=W;c[Z+(S<<2)>>2]=T}Q=Q+1|0}while(Q>>>0<(c[O>>2]|0)>>>0)}f[P>>2]=+f[R+12>>2]+ +f[P>>2];w=w+2|0;D=w|1;if(D>>>0>=t>>>0){H=0;I=M;J=L;K=E;break}else{z=E;A=L;C=M}}c[p>>2]=K;c[d>>2]=J;c[h>>2]=I;_=H}else _=0;if(r>>>0<e>>>0)$=Oo(h,b,c[i>>2]|0,l)|0;else $=_;r=r+1|0}while(r>>>0<=e>>>0&($|0)==0);if(!$){aa=s;ba=t}else{ca=$;da=s;ea=t;V=60;break}}else{aa=0;ba=0}r=k+-1|0;q=c[p>>2]|0;if(q>>>0>r>>>0){C=c[h>>2]|0;A=c[o>>2]|0;z=r;do{D=C+(B(A,z)|0)|0;c[D+8>>2]=0;c[D+4>>2]=0;op(c[D>>2]|0);c[D>>2]=0;z=z+1|0}while(z>>>0<q>>>0);fa=A}else fa=c[o>>2]|0;A=B(fa,r)|0;if(A>>>0>(c[d>>2]|0)>>>0){z=A<<1;A=np(c[h>>2]|0,z)|0;if(!A)ga=q;else{c[d>>2]=z;c[h>>2]=A;V=52}}else V=52;if((V|0)==52){c[p>>2]=r;ga=r}if(!ga)ha=0;else{A=c[h>>2]|0;z=0;do{C=A+(B(fa,z)|0)|0;t=c[C+4>>2]|0;if(t|0){s=c[m>>2]|0;D=c[C>>2]|0;C=0;do{w=s+(c[D+(C<<2)>>2]<<2)|0;c[w>>2]=(c[w>>2]|0)+1;C=C+1|0}while(C>>>0<t>>>0)}z=z+1|0}while(z>>>0<ga>>>0);ha=ga}ia=Io(a)|0;ja=aa;ka=ba;la=ha;ma=ga}else{ca=n;da=0;ea=0;V=60}while(0);if((V|0)==60){V=c[p>>2]|0;ia=ca;ja=da;ka=ea;la=V;ma=V}V=c[h>>2]|0;if(la|0){la=c[o>>2]|0;o=0;do{ea=V+(B(la,o)|0)|0;c[ea+8>>2]=0;c[ea+4>>2]=0;op(c[ea>>2]|0);c[ea>>2]=0;o=o+1|0}while(o>>>0<ma>>>0)}ma=p;c[ma>>2]=0;c[ma+4>>2]=0;op(V);c[h>>2]=0;h=ja;if(ka|0){ja=0;do{V=h+(ja<<4)|0;c[V+8>>2]=0;c[V+4>>2]=0;op(c[V>>2]|0);c[V>>2]=0;ja=ja+1|0}while((ja|0)!=(ka|0))}op(h);j=ia;Ga=g;return j|0}}return 0}function Oo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;g=a+4|0;a:do if(d|0){h=a+12|0;i=a+8|0;j=+(e>>>0);k=0;while(1){l=b+(k<<2)|0;m=c[l>>2]|0;if(m|0){n=c[g>>2]|0;o=n+1|0;p=c[h>>2]|0;q=B(p,o)|0;if(q>>>0>(c[i>>2]|0)>>>0){r=q<<1;q=np(c[a>>2]|0,r)|0;if(!q)break;c[i>>2]=r;c[a>>2]=q;s=q;t=c[h>>2]|0;u=c[l>>2]|0}else{s=c[a>>2]|0;t=p;u=m}c[g>>2]=o;o=s+(B(t,n)|0)|0;c[o>>2]=0;n=o+8|0;c[n>>2]=0;m=o+4|0;c[m>>2]=0;f[o+12>>2]=+(u>>>0)/j;p=np(0,8)|0;if(p|0){c[n>>2]=8;c[o>>2]=p;c[m>>2]=1;c[p>>2]=k}}k=k+1|0;if(k>>>0>=d>>>0)break a}c[i>>2]=0;c[g>>2]=0;op(c[a>>2]|0);c[a>>2]=0;v=9904;return v|0}while(0);d=c[g>>2]|0;if(!d){v=0;return v|0}g=c[a>>2]|0;if((d|0)==1){v=0;return v|0}a=d;do{u=a*10|0;t=(u+-117|0)>>>0<13|(u+-130|0)>>>0<13?11:(u>>>0)/13|0;a=(t|0)==0?1:t;t=d-a|0;if(!t)w=0;else{u=0;s=0;while(1){b=u+a|0;e=g+(b<<4)+12|0;j=+f[e>>2];k=g+(u<<4)+12|0;x=+f[k>>2];if(j<x){f[e>>2]=x;f[k>>2]=j;k=g+(u<<4)|0;e=g+(b<<4)|0;h=g+(u<<4)+4|0;p=c[h>>2]|0;m=g+(b<<4)+4|0;c[h>>2]=c[m>>2];c[m>>2]=p;p=g+(u<<4)+8|0;m=c[p>>2]|0;h=g+(b<<4)+8|0;c[p>>2]=c[h>>2];c[h>>2]=m;m=c[k>>2]|0;c[k>>2]=c[e>>2];c[e>>2]=m;y=1}else y=s;u=u+1|0;if(u>>>0>=t>>>0){w=y;break}else s=y}}}while(a>>>0>1|w<<24>>24!=0);v=0;return v|0}function Po(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d>>>24&255;f=b+4|0;g=c[f>>2]|0;h=g+1|0;i=b+8|0;if((c[i>>2]|0)>>>0<h>>>0){j=h<<1;k=np(c[b>>2]|0,j)|0;if(k|0){c[i>>2]=j;c[b>>2]=k;l=k;m=5}}else{l=c[b>>2]|0;m=5}if((m|0)==5){c[f>>2]=h;a[l+g>>0]=e}e=d>>>16&255;g=c[f>>2]|0;l=g+1|0;if((c[i>>2]|0)>>>0<l>>>0){h=l<<1;k=np(c[b>>2]|0,h)|0;if(k|0){c[i>>2]=h;c[b>>2]=k;n=k;m=10}}else{n=c[b>>2]|0;m=10}if((m|0)==10){c[f>>2]=l;a[n+g>>0]=e}e=d>>>8&255;g=c[f>>2]|0;n=g+1|0;if((c[i>>2]|0)>>>0<n>>>0){l=n<<1;k=np(c[b>>2]|0,l)|0;if(k|0){c[i>>2]=l;c[b>>2]=k;o=k;m=15}}else{o=c[b>>2]|0;m=15}if((m|0)==15){c[f>>2]=n;a[o+g>>0]=e}e=d&255;d=c[f>>2]|0;g=d+1|0;do if((c[i>>2]|0)>>>0<g>>>0){o=g<<1;n=np(c[b>>2]|0,o)|0;if(!n)return;else{c[i>>2]=o;c[b>>2]=n;p=n;break}}else p=c[b>>2]|0;while(0);c[f>>2]=g;a[p+d>>0]=e;return}function Qo(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Ga;Ga=Ga+16|0;j=i;if(g>>>0<2){k=53;Ga=i;return k|0}l=a[f>>0]|0;m=l&255;n=d[f+1>>0]|0;if(((m<<8|n)>>>0)%31|0|0){k=24;Ga=i;return k|0}if(l<<24>>24<0|(m&15|0)!=8){k=25;Ga=i;return k|0}if(n&32|0){k=26;Ga=i;return k|0}n=c[e>>2]|0;c[j>>2]=c[b>>2];m=j+4|0;c[m>>2]=n;c[j+8>>2]=n;n=Fo(j,f,g,2)|0;l=c[j>>2]|0;c[b>>2]=l;b=c[m>>2]|0;c[e>>2]=b;e=l;if(n|0){k=n;Ga=i;return k|0}if(!(c[h>>2]|0)){h=f+(g+-4)|0;g=(d[h+1>>0]|0)<<16|(d[h>>0]|0)<<24|(d[h+2>>0]|0)<<8|(d[h+3>>0]|0);if(!b){o=0;p=1}else{h=0;f=1;n=b;b=e;while(1){e=n>>>0<5550?n:5550;n=n-e|0;if(!e){q=h;r=f;s=b}else{l=e;m=f;j=b;t=h;while(1){m=m+(d[j>>0]|0)|0;t=m+t|0;l=l+-1|0;if(!l)break;else j=j+1|0}q=t;r=m;s=b+e|0}f=(r>>>0)%65521|0;h=(q>>>0)%65521|0;if(!n)break;else b=s}o=h<<16;p=f}if((o|p|0)!=(g|0)){k=58;Ga=i;return k|0}}k=0;Ga=i;return k|0}function Ro(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;i=Ga;Ga=Ga+32|0;j=i+12|0;k=i;l=c[b>>2]|0;m=c[e>>2]|0;c[k>>2]=l;n=k+4|0;c[n>>2]=m;o=k+8|0;c[o>>2]=m;p=m+1|0;if((m|0)!=-1){q=p<<1;r=np(l,q)|0;if(!r){s=p;t=m;u=l;v=m}else{c[o>>2]=q;c[k>>2]=r;w=r;x=q;y=4}}else{w=l;x=-1;y=4}if((y|0)==4){c[n>>2]=p;a[w+m>>0]=120;s=m+2|0;t=x;u=w;v=p}if(t>>>0<s>>>0){t=s<<1;p=np(u,t)|0;if(p|0){c[o>>2]=t;c[k>>2]=p;z=p;y=8}}else{z=u;y=8}if((y|0)==8){c[n>>2]=s;a[z+v>>0]=1}c[j>>2]=0;v=j+8|0;c[v>>2]=0;z=j+4|0;c[z>>2]=0;s=Ko(j,f,g,h)|0;if(s|0){A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Ga=i;return s|0}if(!g){C=0;D=1}else{h=0;u=1;p=g;g=f;while(1){f=p>>>0<5550?p:5550;p=p-f|0;if(!f){E=h;F=u;G=g}else{t=f;w=u;x=g;m=h;while(1){w=w+(d[x>>0]|0)|0;m=w+m|0;t=t+-1|0;if(!t)break;else x=x+1|0}E=m;F=w;G=g+f|0}u=(F>>>0)%65521|0;h=(E>>>0)%65521|0;if(!p)break;else g=G}C=h<<16;D=u}u=C|D;if(c[z>>2]|0){D=0;C=c[k>>2]|0;h=c[n>>2]|0;G=c[o>>2]|0;while(1){g=a[(c[j>>2]|0)+D>>0]|0;p=h+1|0;if(G>>>0<p>>>0){E=p<<1;F=np(C,E)|0;if(!F){H=C;I=h;J=G}else{K=F;L=E;y=22}}else{K=C;L=G;y=22}if((y|0)==22){y=0;a[K+h>>0]=g;H=K;I=p;J=L}D=D+1|0;if(D>>>0>=(c[z>>2]|0)>>>0)break;else{C=H;h=I;G=J}}c[n>>2]=I;c[o>>2]=J;c[k>>2]=H}c[v>>2]=0;c[z>>2]=0;op(c[j>>2]|0);c[j>>2]=0;Po(k,u);A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Ga=i;return s|0}function So(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;if(!(c[516544]|0)){e=0;do{f=e>>>1;g=(e&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;c[1477296+(e<<2)>>2]=(g&1|0)==0?f:f^-306674912;e=e+1|0}while((e|0)!=256);c[516544]=1}if(!b){i=0;return i|0}e=-1;f=0;do{e=c[1477296+((e&255^(d[a+f>>0]|0))<<2)>>2]^e>>>8;f=f+1|0}while((f|0)!=(b|0));i=~e;return i|0}function To(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=c[d>>2]|0;i=e+12|0;j=i+h|0;if(j>>>0<i>>>0|j>>>0<h>>>0){k=77;return k|0}i=np(c[b>>2]|0,j)|0;if(!i){k=9930;return k|0}c[b>>2]=i;c[d>>2]=j;j=i+h|0;h=e>>>24&255;a[j>>0]=h;i=e>>>16&255;d=j+1|0;a[d>>0]=i;b=e>>>8&255;l=j+2|0;a[l>>0]=b;m=j+3|0;a[m>>0]=e;n=j+4|0;a[n>>0]=a[f>>0]|0;a[j+5>>0]=a[f+1>>0]|0;a[j+6>>0]=a[f+2>>0]|0;a[j+7>>0]=a[f+3>>0]|0;if(!e){o=h;p=i;q=b;r=0}else{b=0;do{a[j+(b+8)>>0]=a[g+b>>0]|0;b=b+1|0}while((b|0)!=(e|0));o=a[j>>0]|0;p=a[d>>0]|0;q=a[l>>0]|0;r=a[m>>0]|0}m=(p&255)<<16|(o&255)<<24|(q&255)<<8|r&255;r=So(n,m+4|0)|0;n=j+8+m|0;a[n>>0]=r>>>24;a[n+1>>0]=r>>>16;a[n+2>>0]=r>>>8;a[n+3>>0]=r;k=0;return k|0}function Uo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;g=np(c[f>>2]|0,(c[b>>2]<<2)+4|0)|0;h=b+8|0;i=np(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((g|0)!=0&(i|0)!=0)){op(g);op(i);j=9933;return j|0}k=c[b>>2]|0;c[b>>2]=k+1;c[f>>2]=g;c[h>>2]=i;i=g+(k<<2)|0;c[i>>2]=0;k=np(0,1)|0;if(k|0){a[k>>0]=0;c[i>>2]=k}k=(c[f>>2]|0)+((c[b>>2]|0)+-1<<2)|0;f=Ms(d)|0;i=np(c[k>>2]|0,f+1|0)|0;if((i|0?(a[i+f>>0]=0,c[k>>2]=i,f|0):0)?(a[i>>0]=a[d>>0]|0,(f|0)!=1):0){i=1;do{a[(c[k>>2]|0)+i>>0]=a[d+i>>0]|0;i=i+1|0}while((i|0)!=(f|0))}f=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[f>>2]=0;i=np(0,1)|0;if(i|0){a[i>>0]=0;c[f>>2]=i}i=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=Ms(e)|0;h=np(c[i>>2]|0,b+1|0)|0;if(!h){j=0;return j|0}a[h+b>>0]=0;c[i>>2]=h;if(!b){j=0;return j|0}a[h>>0]=a[e>>0]|0;if((b|0)==1){j=0;return j|0}h=1;do{a[(c[i>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(b|0));j=0;return j|0}function Vo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+4|0;d=c[b>>2]|0;e=a+8|0;f=a+12|0;g=a+16|0;if(!(c[a>>2]|0)){h=d;op(h);i=c[e>>2]|0;op(i);j=c[f>>2]|0;op(j);k=c[g>>2]|0;op(k);return}l=0;m=d;while(1){d=m+(l<<2)|0;op(c[d>>2]|0);c[d>>2]=0;d=(c[e>>2]|0)+(l<<2)|0;op(c[d>>2]|0);c[d>>2]=0;d=(c[f>>2]|0)+(l<<2)|0;op(c[d>>2]|0);c[d>>2]=0;d=(c[g>>2]|0)+(l<<2)|0;op(c[d>>2]|0);c[d>>2]=0;l=l+1|0;d=c[b>>2]|0;if(l>>>0>=(c[a>>2]|0)>>>0){h=d;break}else m=d}op(h);i=c[e>>2]|0;op(i);j=c[f>>2]|0;op(j);k=c[g>>2]|0;op(k);return}function Wo(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=b+4|0;i=np(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;j=b+8|0;k=np(c[j>>2]|0,(c[b>>2]<<2)+4|0)|0;l=b+12|0;m=np(c[l>>2]|0,(c[b>>2]<<2)+4|0)|0;n=b+16|0;o=np(c[n>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((i|0)!=0&(k|0)!=0&(m|0)!=0&(o|0)!=0)){op(i);op(k);op(m);op(o);p=9934;return p|0}q=c[b>>2]|0;c[b>>2]=q+1;c[h>>2]=i;c[j>>2]=k;c[l>>2]=m;c[n>>2]=o;o=i+(q<<2)|0;c[o>>2]=0;q=np(0,1)|0;if(q|0){a[q>>0]=0;c[o>>2]=q}q=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;h=Ms(d)|0;o=np(c[q>>2]|0,h+1|0)|0;if((o|0?(a[o+h>>0]=0,c[q>>2]=o,h|0):0)?(a[o>>0]=a[d>>0]|0,(h|0)!=1):0){o=1;do{a[(c[q>>2]|0)+o>>0]=a[d+o>>0]|0;o=o+1|0}while((o|0)!=(h|0))}h=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[h>>2]=0;o=np(0,1)|0;if(o|0){a[o>>0]=0;c[h>>2]=o}o=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;j=Ms(e)|0;h=np(c[o>>2]|0,j+1|0)|0;if((h|0?(a[h+j>>0]=0,c[o>>2]=h,j|0):0)?(a[h>>0]=a[e>>0]|0,(j|0)!=1):0){h=1;do{a[(c[o>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(j|0))}j=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[j>>2]=0;h=np(0,1)|0;if(h|0){a[h>>0]=0;c[j>>2]=h}h=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;l=Ms(f)|0;j=np(c[h>>2]|0,l+1|0)|0;if((j|0?(a[j+l>>0]=0,c[h>>2]=j,l|0):0)?(a[j>>0]=a[f>>0]|0,(l|0)!=1):0){j=1;do{a[(c[h>>2]|0)+j>>0]=a[f+j>>0]|0;j=j+1|0}while((j|0)!=(l|0))}l=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[l>>2]=0;j=np(0,1)|0;if(j|0){a[j>>0]=0;c[l>>2]=j}j=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=Ms(g)|0;n=np(c[j>>2]|0,b+1|0)|0;if(!n){p=0;return p|0}a[n+b>>0]=0;c[j>>2]=n;if(!b){p=0;return p|0}a[n>>0]=a[g>>0]|0;if((b|0)==1){p=0;return p|0}n=1;do{a[(c[j>>2]|0)+n>>0]=a[g+n>>0]|0;n=n+1|0}while((n|0)!=(b|0));p=0;return p|0}function Xo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a+28>>2]|0;if(b|0)op(b);c[a+32>>2]=0;b=a+68|0;d=a+72|0;e=c[d>>2]|0;f=a+76|0;if(!(c[b>>2]|0))g=e;else{h=0;i=e;while(1){e=i+(h<<2)|0;op(c[e>>2]|0);c[e>>2]=0;e=(c[f>>2]|0)+(h<<2)|0;op(c[e>>2]|0);c[e>>2]=0;h=h+1|0;e=c[d>>2]|0;if(h>>>0>=(c[b>>2]|0)>>>0){g=e;break}else i=e}}op(g);op(c[f>>2]|0);Vo(a+80|0);op(c[a+132>>2]|0);op(c[a+136>>2]|0);op(c[a+140>>2]|0);return}function Yo(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;j=B(i,h)|0;h=c[f>>2]|0;i=c[f+4>>2]|0;switch(h|0){case 3:case 0:{k=1;break}case 2:{k=3;break}case 4:{k=2;break}case 6:{k=4;break}default:k=0}f=(B(k,i)|0)>>>3;k=h>>>2&1;l=c[g>>2]|0;if((l|0)==(h|0)?(c[g+4>>2]|0)==(i|0):0){switch(h|0){case 3:case 0:{m=1;break}case 2:{m=3;break}case 4:{m=2;break}case 6:{m=4;break}default:m=0}n=((B(B(i,j)|0,m)|0)+7|0)>>>3;if(!n){o=0;return o|0}m=0;do{a[b+m>>0]=a[e+m>>0]|0;m=m+1|0}while((m|0)!=(n|0));o=0;return o|0}switch(h|0){case 6:case 2:break;default:{if(!((h|4|0)==4&(i|0)==8)){o=59;return o|0}if((l|4|0)!=4){o=62;return o|0}h=g+4|0;n=c[h>>2]|0;switch(n|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}m=g+16|0;p=g+20|0;if(!k){q=0;do{a[b+(B(q,f)|0)>>0]=a[e+q>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}q=0;do{r=B(q,f)|0;s=b+(r+1)|0;a[s>>0]=-1;t=e+q|0;a[b+r>>0]=a[t>>0]|0;if(c[m>>2]|0?(c[p>>2]|0)==(d[t>>0]|0|0):0)a[s>>0]=0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){q=0;do{a[b+(B(q,f)|0)>>0]=a[e+(q<<1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}else{q=0;do{p=q<<1;m=B(q,f)|0;a[b+m>>0]=a[e+p>>0]|0;a[b+(m+1)>>0]=a[e+(p|1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}q=g+16|0;p=g+20|0;if(!k){m=0;do{a[b+(B(m,f)|0)>>0]=a[e+(m<<1)>>0]|0;m=m+1|0}while((m|0)!=(j|0));o=0;return o|0}m=0;while(1){s=B(m,f)|0;t=b+(s+1)|0;a[t>>0]=-1;a[b+s>>0]=a[e+(m<<1)>>0]|0;if(c[q>>2]|0){s=m+1|0;if(((d[e+m>>0]|0)<<8|(d[e+s>>0]|0)|0)==(c[p>>2]|0)){a[t>>0]=0;u=s}else u=s}else u=m+1|0;if((u|0)==(j|0)){o=0;break}else m=u}return o|0}case 4:{if(!j){o=0;return o|0}if(!k){u=0;do{a[b+(B(u,f)|0)>>0]=a[e+(u<<2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}else{u=0;do{m=u<<2;p=B(u,f)|0;a[b+p>>0]=a[e+m>>0]|0;a[b+(p+1)>>0]=a[e+(m|2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}default:{if(l|0){o=31;return o|0}if(!j){o=0;return o|0}u=g+16|0;m=g+20|0;if(!k){p=0;q=0;s=n;while(1){if(!s){v=0;w=q}else{t=0;r=s+-1|0;x=q;while(1){y=x+1|0;z=(((d[e+(x>>>3)>>0]|0)>>>(x&7^7)&1)<<r)+t|0;r=r+-1|0;if(r>>>0>=s>>>0){v=z;w=y;break}else{t=z;x=y}}}a[b+(B(p,f)|0)>>0]=((v*255|0)>>>0)/(((1<<s)+-1|0)>>>0)|0;x=p+1|0;if((x|0)==(j|0)){o=0;break}p=x;q=w;s=c[h>>2]|0}return o|0}s=0;w=0;q=n;while(1){if(!q){A=0;C=w}else{n=0;p=q+-1|0;v=w;while(1){x=v+1|0;t=(((d[e+(v>>>3)>>0]|0)>>>(v&7^7)&1)<<p)+n|0;p=p+-1|0;if(p>>>0>=q>>>0){A=t;C=x;break}else{n=t;v=x}}}v=B(s,f)|0;n=b+(v+1)|0;a[n>>0]=-1;if((A|0)!=0&(c[u>>2]|0)!=0?(p=(1<<c[h>>2])+-1|0,!((p|0)==0?1:(p|0)!=(c[m>>2]|0))):0)a[n>>0]=0;a[b+v>>0]=((A*255|0)>>>0)/(((1<<c[h>>2])+-1|0)>>>0)|0;v=s+1|0;if((v|0)==(j|0)){o=0;break}s=v;w=C;q=c[h>>2]|0}return o|0}}}}if((i|0)!=8){o=59;return o|0}i=g+4|0;h=c[i>>2]|0;switch(h|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}q=g+16|0;C=g+20|0;if(!k){w=0;do{s=e+w|0;A=B(w,f)|0;a[b+A>>0]=a[s>>0]|0;a[b+(A+1)>>0]=a[s>>0]|0;a[b+(A+2)>>0]=a[s>>0]|0;w=w+1|0}while((w|0)!=(j|0));o=0;return o|0}w=0;do{s=B(w,f)|0;A=b+(s+3)|0;a[A>>0]=-1;m=e+w|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;if(c[q>>2]|0?(c[C>>2]|0)==(d[m>>0]|0|0):0)a[A>>0]=0;w=w+1|0}while((w|0)!=(j|0));o=0;return o|0}case 2:{if(!j){o=0;return o|0}w=(k|0)!=0;C=g+16|0;q=g+20|0;A=g+24|0;m=g+28|0;s=0;do{u=B(s,f)|0;if(w)a[b+(u+3)>>0]=-1;v=s*3|0;n=e+v|0;a[b+u>>0]=a[n>>0]|0;p=e+(v+1)|0;a[b+(u+1)>>0]=a[p>>0]|0;x=e+(v+2)|0;a[b+(u+2)>>0]=a[x>>0]|0;if((((w?(c[C>>2]|0)==1:0)?(c[q>>2]|0)==(d[n>>0]|0|0):0)?(c[A>>2]|0)==(d[p>>0]|0|0):0)?(c[m>>2]|0)==(d[x>>0]|0|0):0)a[b+(u+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 3:{if(!j){o=0;return o|0}s=g+12|0;m=(f|0)!=0;A=g+8|0;q=(f|0)==1;if(!k){C=0;while(1){w=e+C|0;u=a[w>>0]|0;if((c[s>>2]|0)>>>0<=(u&255)>>>0){o=46;D=179;break}if(m?(x=B(C,f)|0,a[b+x>>0]=a[(c[A>>2]|0)+((u&255)<<2)>>0]|0,!q):0){u=1;do{a[b+(u+x)>>0]=a[(c[A>>2]|0)+(((d[w>>0]|0)<<2)+u)>>0]|0;u=u+1|0}while((u|0)!=(f|0))}C=C+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}else{C=0;while(1){u=B(C,f)|0;a[b+(u+3)>>0]=-1;w=e+C|0;x=a[w>>0]|0;if((c[s>>2]|0)>>>0<=(x&255)>>>0){o=46;D=179;break}if(m?(a[b+u>>0]=a[(c[A>>2]|0)+((x&255)<<2)>>0]|0,!q):0){x=1;do{a[b+(x+u)>>0]=a[(c[A>>2]|0)+(((d[w>>0]|0)<<2)+x)>>0]|0;x=x+1|0}while((x|0)!=(f|0))}C=C+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}break}case 4:{if(!j){o=0;return o|0}if(!k){C=0;do{A=e+(C<<1)|0;q=B(C,f)|0;a[b+q>>0]=a[A>>0]|0;a[b+(q+1)>>0]=a[A>>0]|0;a[b+(q+2)>>0]=a[A>>0]|0;C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}else{C=0;do{A=C<<1;q=e+A|0;m=B(C,f)|0;a[b+m>>0]=a[q>>0]|0;a[b+(m+1)>>0]=a[q>>0]|0;a[b+(m+2)>>0]=a[q>>0]|0;a[b+(m+3)>>0]=a[e+(A|1)>>0]|0;C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}C=0;do{A=C<<2;m=B(C,f)|0;q=0;do{a[b+(q+m)>>0]=a[e+(q+A)>>0]|0;q=q+1|0}while((q|0)!=(f|0));C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}C=g+16|0;q=g+20|0;if(!k){A=0;do{m=e+(A<<1)|0;s=B(A,f)|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;A=A+1|0}while((A|0)!=(j|0));o=0;return o|0}A=0;while(1){m=B(A,f)|0;s=b+(m+3)|0;a[s>>0]=-1;x=e+(A<<1)|0;a[b+m>>0]=a[x>>0]|0;a[b+(m+1)>>0]=a[x>>0]|0;a[b+(m+2)>>0]=a[x>>0]|0;if(c[C>>2]|0){x=A+1|0;if(((d[e+A>>0]|0)<<8|(d[e+x>>0]|0)|0)==(c[q>>2]|0)){a[s>>0]=0;E=x}else E=x}else E=A+1|0;if((E|0)==(j|0)){o=0;break}else A=E}return o|0}case 2:{if(!j){o=0;return o|0}E=(k|0)!=0;A=g+16|0;q=g+20|0;C=g+24|0;x=g+28|0;s=0;do{m=B(s,f)|0;if(E)a[b+(m+3)>>0]=-1;w=s*6|0;u=e+w|0;a[b+m>>0]=a[u>>0]|0;p=e+(w+2)|0;a[b+(m+1)>>0]=a[p>>0]|0;n=e+(w+4)|0;a[b+(m+2)>>0]=a[n>>0]|0;if((((E?c[A>>2]|0:0)?((d[u>>0]|0)<<8|(d[e+(w|1)>>0]|0)|0)==(c[q>>2]|0):0)?((d[p>>0]|0)<<8|(d[e+(w+3)>>0]|0)|0)==(c[C>>2]|0):0)?((d[n>>0]|0)<<8|(d[e+(w+5)>>0]|0)|0)==(c[x>>2]|0):0)a[b+(m+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){s=0;do{x=e+(s<<2)|0;C=B(s,f)|0;a[b+C>>0]=a[x>>0]|0;a[b+(C+1)>>0]=a[x>>0]|0;a[b+(C+2)>>0]=a[x>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}else{s=0;do{x=s<<2;C=e+x|0;q=B(s,f)|0;a[b+q>>0]=a[C>>0]|0;a[b+(q+1)>>0]=a[C>>0]|0;a[b+(q+2)>>0]=a[C>>0]|0;a[b+(q+3)>>0]=a[e+(x|2)>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}s=0;do{x=s<<3;q=B(s,f)|0;C=0;do{a[b+(C+q)>>0]=a[e+((C<<1)+x)>>0]|0;C=C+1|0}while((C|0)!=(f|0));s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}default:switch(l|0){case 0:{if(!j){o=0;return o|0}l=(k|0)==0;s=g+16|0;C=g+20|0;x=0;q=0;A=h;while(1){if(!A){F=0;G=x}else{E=0;m=A+-1|0;w=x;while(1){n=w+1|0;p=(((d[e+(w>>>3)>>0]|0)>>>(w&7^7)&1)<<m)+E|0;m=m+-1|0;if(m>>>0>=A>>>0){F=p;G=n;break}else{E=p;w=n}}}w=B(q,f)|0;if((!l?(E=b+(w+3)|0,a[E>>0]=-1,(F|0)!=0&(c[s>>2]|0)!=0):0)?(m=(1<<c[i>>2])+-1|0,!((m|0)==0?1:(m|0)!=(c[C>>2]|0))):0)a[E>>0]=0;E=(((F*255|0)>>>0)/(((1<<c[i>>2])+-1|0)>>>0)|0)&255;a[b+w>>0]=E;a[b+(w+1)>>0]=E;a[b+(w+2)>>0]=E;E=q+1|0;if((E|0)==(j|0)){o=0;break}x=G;q=E;A=c[i>>2]|0}return o|0}case 3:{if(!j){o=0;return o|0}A=(k|0)==0;k=g+12|0;q=(f|0)==0;G=g+8|0;g=0;x=0;F=h;while(1){if(!F){H=0;I=x}else{h=0;C=F+-1|0;s=x;while(1){l=s+1|0;E=(((d[e+(s>>>3)>>0]|0)>>>(s&7^7)&1)<<C)+h|0;C=C+-1|0;if(C>>>0>=F>>>0){H=E;I=l;break}else{h=E;s=l}}}if(!A)a[b+((B(g,f)|0)+3)>>0]=-1;if(H>>>0>=(c[k>>2]|0)>>>0){o=47;D=179;break}if(!q){s=H<<2;h=B(g,f)|0;C=0;do{a[b+(C+h)>>0]=a[(c[G>>2]|0)+(C+s)>>0]|0;C=C+1|0}while((C|0)!=(f|0))}C=g+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}g=C;x=I;F=c[i>>2]|0}if((D|0)==179)return o|0;break}default:{o=0;return o|0}}}return 0}function Zo(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if((e|0)==0|(f|0)==0){c[b+208>>2]=48;return}if(f>>>0<29){c[b+208>>2]=27;return}f=b+52|0;Xo(f);g=b+56|0;c[g>>2]=0;c[f>>2]=0;h=b+88|0;i=b+72|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[i>>2]=6;h=b+76|0;c[h>>2]=8;c[b+80>>2]=0;c[b+84>>2]=0;j=b+68|0;c[j>>2]=0;k=b+60|0;c[k>>2]=0;l=b+64|0;c[l>>2]=0;m=b+104|0;c[b+168>>2]=0;n=b+184|0;o=m;p=o+48|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));a[m+48>>0]=0;m=b+208|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;if((((((((a[e>>0]|0)==-119?(a[e+1>>0]|0)==80:0)?(a[e+2>>0]|0)==78:0)?(a[e+3>>0]|0)==71:0)?(a[e+4>>0]|0)==13:0)?(a[e+5>>0]|0)==10:0)?(a[e+6>>0]|0)==26:0)?(a[e+7>>0]|0)==10:0){n=e+12|0;if((((a[n>>0]|0)==73?(a[e+13>>0]|0)==72:0)?(a[e+14>>0]|0)==68:0)?(a[e+15>>0]|0)==82:0){c[f>>2]=d[e+17>>0]<<16|d[e+16>>0]<<24|d[e+18>>0]<<8|d[e+19>>0];c[g>>2]=d[e+21>>0]<<16|d[e+20>>0]<<24|d[e+22>>0]<<8|d[e+23>>0];c[h>>2]=d[e+24>>0];c[i>>2]=d[e+25>>0];g=d[e+26>>0]|0;c[k>>2]=g;c[l>>2]=d[e+27>>0];c[j>>2]=d[e+28>>0];do if(!(c[b+4>>2]|0)){f=d[e+30>>0]<<16|d[e+29>>0]<<24|d[e+31>>0]<<8|d[e+32>>0];if((f|0)==(So(n,17)|0)){q=c[k>>2]|0;break}c[m>>2]=57;return}else q=g;while(0);if(q|0){c[m>>2]=32;return}if(c[l>>2]|0){c[m>>2]=33;return}if((c[j>>2]|0)>>>0>1){c[m>>2]=34;return}j=c[h>>2]|0;switch(c[i>>2]|0){case 0:{switch(j|0){case 1:case 2:case 4:case 8:case 16:{r=35;break}default:s=37}break}case 2:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 3:{switch(j|0){case 1:case 2:case 4:case 8:{r=35;break}default:s=37}break}case 4:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 6:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}default:s=31}if((r|0)==35)s=0;c[m>>2]=s;return}c[m>>2]=29;return}c[m>>2]=28;return}function _o(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;i=Ga;Ga=Ga+336|0;j=i+288|0;k=i+256|0;l=i+224|0;m=i+192|0;n=i+160|0;o=i+128|0;p=i+96|0;q=i+64|0;r=i+32|0;s=i;t=i+316|0;c[e>>2]=0;c[f>>2]=0;Zo(b,g,h);u=b+208|0;if(c[u>>2]|0){Ga=i;return}v=g;w=b+4|0;x=b+80|0;y=b+84|0;z=b+72|0;A=b+88|0;C=b+100|0;D=b+96|0;E=b+92|0;F=b+12|0;G=b+104|0;H=b+116|0;I=b+112|0;J=b+108|0;K=j+8|0;L=j+4|0;M=b+16|0;N=j+8|0;O=j+4|0;P=b+152|0;Q=b+156|0;R=b+160|0;S=b+161|0;T=b+162|0;U=b+163|0;V=b+164|0;W=b+168|0;X=b+172|0;Y=b+176|0;Z=b+180|0;_=b+120|0;$=b+132|0;a:do if(h>>>0<45){aa=0;ba=4}else{ca=g+33|0;da=0;ea=1;fa=0;ga=0;ha=0;ia=45;b:while(1){ja=ca+1|0;ka=ca+2|0;la=ca+3|0;ma=d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0];if((ma|0)<0){ba=6;break}if((ma+ia|0)>>>0>h>>>0){ba=9;break}if((ca+ma+12|0)>>>0<g>>>0){ba=9;break}na=ca+8|0;oa=ca+4|0;pa=a[oa>>0]|0;c:do switch(pa<<24>>24){case 73:{switch(a[ca+5>>0]|0){case 68:break;case 69:{if((a[ca+6>>0]|0)!=78){ba=187;break b}if((a[ca+7>>0]|0)==68){qa=1;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}else{ba=187;break b}break}default:{ba=187;break b}}if((a[ca+6>>0]|0)!=65){ba=187;break b}if((a[ca+7>>0]|0)!=84){ba=187;break b}wa=ma+ha|0;if(ga>>>0<wa>>>0){xa=wa<<1;ya=np(fa,xa)|0;if(!ya){ba=19;break b}else{za=ya;Aa=xa}}else{za=fa;Aa=ga}if(!ma){qa=0;ra=da;sa=3;ta=za;ua=Aa;va=wa}else{xa=0;do{a[za+(xa+ha)>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(ma|0));qa=0;ra=da;sa=3;ta=za;ua=Aa;va=wa}break}case 80:{if((a[ca+5>>0]|0)!=76){ba=187;break b}if((a[ca+6>>0]|0)!=84){ba=187;break b}if((a[ca+7>>0]|0)!=69){ba=187;break b}wa=c[x>>2]|0;if(wa|0)op(wa);wa=(ma>>>0)/3|0;c[y>>2]=wa;xa=mp(wa<<2)|0;c[x>>2]=xa;wa=c[y>>2]|0;if(!xa)if(!wa){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha;break c}else{ba=29;break b}if(wa>>>0>256){ba=31;break b}if(!wa){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha}else{wa=0;ya=0;Ba=xa;while(1){xa=ya<<2;a[Ba+xa>>0]=a[na+wa>>0]|0;a[(c[x>>2]|0)+(xa|1)>>0]=a[na+(wa+1)>>0]|0;a[(c[x>>2]|0)+(xa|2)>>0]=a[na+(wa+2)>>0]|0;a[(c[x>>2]|0)+(xa|3)>>0]=-1;xa=ya+1|0;if(xa>>>0>=(c[y>>2]|0)>>>0){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha;break c}wa=wa+3|0;ya=xa;Ba=c[x>>2]|0}}break}case 116:{switch(a[ca+5>>0]|0){case 82:{if((a[ca+6>>0]|0)!=78){ba=188;break c}if((a[ca+7>>0]|0)!=83){ba=188;break c}switch(c[z>>2]|0){case 3:{if(ma>>>0>(c[y>>2]|0)>>>0){ba=41;break b}if(!ma){qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}Ba=0;do{a[(c[x>>2]|0)+(Ba<<2|3)>>0]=a[na+Ba>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(ma|0));qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break}case 0:{if((ma|0)!=2){ba=46;break b}c[A>>2]=1;Ba=d[na>>0]<<8|d[ca+9>>0];c[C>>2]=Ba;c[D>>2]=Ba;c[E>>2]=Ba;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 2:{if((ma|0)!=6){ba=49;break b}c[A>>2]=1;c[E>>2]=d[na>>0]<<8|d[ca+9>>0];c[D>>2]=d[ca+10>>0]<<8|d[ca+11>>0];c[C>>2]=d[ca+12>>0]<<8|d[ca+13>>0];qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{ba=51;break b}}break}case 69:{if((a[ca+6>>0]|0)!=88){ba=188;break c}if((a[ca+7>>0]|0)!=116){ba=188;break c}if(!(c[F>>2]|0)){qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}if(!(c[u>>2]|0)){d:do if(!ma){Ca=0;ba=72}else{Ba=0;while(1){ya=Ba+1|0;if(!(a[na+Ba>>0]|0)){Da=Ba;Ea=ya;break d}if(ya>>>0<ma>>>0)Ba=ya;else{Ca=ya;ba=72;break}}}while(0);if((ba|0)==72){ba=0;Da=Ca;Ea=Ca+1|0}do if(ma>>>0>Ea>>>0){Ba=mp(Ea)|0;if(Ba){a[Ba+Da>>0]=0;if(Da|0){ya=0;do{a[Ba+ya>>0]=a[na+ya>>0]|0;ya=ya+1|0}while((ya|0)!=(Da|0))}if(ma>>>0<Ea>>>0){Fa=0;Ha=Ba;Ia=75}else{ya=ma-Ea|0;wa=mp(ya+1|0)|0;if(!wa){Fa=0;Ha=Ba;Ia=9939;break}a[wa+ya>>0]=0;if(ya|0){xa=0;do{a[wa+xa>>0]=a[na+(xa+Ea)>>0]|0;xa=xa+1|0}while((xa|0)!=(ya|0))}Fa=wa;Ha=Ba;Ia=Uo(_,Ba,wa)|0}}else{Fa=0;Ha=0;Ia=9938}}else{Fa=0;Ha=0;Ia=75}while(0);c[u>>2]=Ia;Ja=Fa;Ka=Ha}else{Ja=0;Ka=0}op(Ka);op(Ja);qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 73:{if((a[ca+6>>0]|0)!=77){ba=188;break c}if((a[ca+7>>0]|0)!=69){ba=188;break c}if((ma|0)!=7){ba=178;break b}a[P>>0]=1;c[Q>>2]=d[na>>0]<<8|d[ca+9>>0];a[R>>0]=a[ca+10>>0]|0;a[S>>0]=a[ca+11>>0]|0;a[T>>0]=a[ca+12>>0]|0;a[U>>0]=a[ca+13>>0]|0;a[V>>0]=a[ca+14>>0]|0;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{ba=188;break c}}break}case 98:{if(((a[ca+5>>0]|0)==75?(a[ca+6>>0]|0)==71:0)?(a[ca+7>>0]|0)==68:0)switch(c[z>>2]|0){case 3:{if((ma|0)!=1){ba=57;break b}c[G>>2]=1;ya=d[na>>0]|0;c[H>>2]=ya;c[I>>2]=ya;c[J>>2]=ya;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 4:case 0:{if((ma|0)!=2){ba=60;break b}c[G>>2]=1;ya=d[na>>0]<<8|d[ca+9>>0];c[H>>2]=ya;c[I>>2]=ya;c[J>>2]=ya;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 6:case 2:{if((ma|0)!=6){ba=63;break b}c[G>>2]=1;c[J>>2]=d[na>>0]<<8|d[ca+9>>0];c[I>>2]=d[ca+10>>0]<<8|d[ca+11>>0];c[H>>2]=d[ca+12>>0]<<8|d[ca+13>>0];qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}}else ba=188;break}case 122:{if(((a[ca+5>>0]|0)==84?(a[ca+6>>0]|0)==88:0)?(a[ca+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[K>>2]=0;c[L>>2]=0;do if(!(c[u>>2]|0)){e:do if(!ma)La=0;else{ya=0;while(1){if(!(a[na+ya>>0]|0)){La=ya;break e}xa=ya+1|0;if(xa>>>0<ma>>>0)ya=xa;else{La=xa;break}}}while(0);wa=La+2|0;if(ma>>>0<=wa>>>0){c[u>>2]=75;Ma=0;Na=0;break}Ba=La+1|0;ya=mp(Ba)|0;if(!ya){c[u>>2]=9940;Ma=0;Na=0;break}a[ya+La>>0]=0;if(La|0){xa=0;do{a[ya+xa>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(La|0))}if(a[na+Ba>>0]|0){c[u>>2]=72;Ma=ya;Na=0;break}if(ma>>>0<wa>>>0){c[u>>2]=75;Ma=ya;Na=0;break}xa=Qo(j,L,na+wa|0,ma-wa|0,b)|0;c[u>>2]=xa;if(xa|0){Ma=ya;Na=c[j>>2]|0;break}xa=c[L>>2]|0;Oa=xa+1|0;do if((c[K>>2]|0)>>>0<Oa>>>0){Pa=Oa<<1;Qa=c[j>>2]|0;Ra=np(Qa,Pa)|0;if(!Ra){Sa=Qa;break}c[K>>2]=Pa;c[j>>2]=Ra;Ta=Ra;ba=113}else{Ta=c[j>>2]|0;ba=113}while(0);if((ba|0)==113){ba=0;c[L>>2]=Oa;a[Ta+xa>>0]=0;Sa=Ta}c[u>>2]=Uo(_,ya,Sa)|0;Ma=ya;Na=Sa}else{Ma=0;Na=0}while(0);op(Ma);op(Na);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}case 105:{if(((a[ca+5>>0]|0)==84?(a[ca+6>>0]|0)==88:0)?(a[ca+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[N>>2]=0;c[O>>2]=0;f:do if(!(c[u>>2]|0)){if(ma>>>0<5){c[u>>2]=76;Va=0;Wa=0;Xa=0;Ya=0;break}wa=0;while(1){if(!(a[na+wa>>0]|0)){Za=wa;break}Ba=wa+1|0;if(Ba>>>0<ma>>>0)wa=Ba;else{Za=Ba;break}}wa=Za+2|0;if(wa>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=0;Xa=0;Ya=0;break}ya=Za+1|0;xa=mp(ya)|0;if(!xa){c[u>>2]=9941;Va=0;Wa=0;Xa=0;Ya=0;break}a[xa+Za>>0]=0;if(Za|0){Oa=0;do{a[xa+Oa>>0]=a[na+Oa>>0]|0;Oa=Oa+1|0}while((Oa|0)!=(Za|0))}Oa=a[na+ya>>0]|0;if(a[na+wa>>0]|0){c[u>>2]=72;Va=0;Wa=0;Xa=xa;Ya=0;break}Ba=Za+3|0;g:do if(Ba>>>0<ma>>>0){Ra=0;Pa=Ba;while(1){if(!(a[na+Pa>>0]|0)){_a=Ra;break g}Qa=Ra+1|0;Pa=Pa+1|0;if(Pa>>>0>=ma>>>0){_a=Qa;break}else Ra=Qa}}else _a=0;while(0);wa=_a+1|0;ya=wa+Ba|0;if(ya>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=0;Xa=xa;Ya=0;break}Ra=mp(wa)|0;if(!Ra){c[u>>2]=9942;Va=0;Wa=0;Xa=xa;Ya=0;break}a[Ra+_a>>0]=0;if(_a|0){wa=0;do{a[Ra+wa>>0]=a[na+(wa+Ba)>>0]|0;wa=wa+1|0}while((wa|0)!=(_a|0))}wa=0;Ba=ya;while(1){if(!(a[na+Ba>>0]|0)){$a=wa;break}Pa=wa+1|0;Ba=Ba+1|0;if(Ba>>>0>=ma>>>0){$a=Pa;break}else wa=Pa}wa=$a+1|0;Ba=wa+ya|0;if(ma>>>0<=Ba>>>0){c[u>>2]=75;Va=0;Wa=Ra;Xa=xa;Ya=0;break}Pa=mp(wa)|0;if(!Pa){c[u>>2]=9943;Va=0;Wa=Ra;Xa=xa;Ya=0;break}a[Pa+$a>>0]=0;if($a|0){wa=0;do{a[Pa+wa>>0]=a[na+(wa+ya)>>0]|0;wa=wa+1|0}while((wa|0)!=($a|0))}if(ma>>>0<Ba>>>0){c[u>>2]=75;Va=Pa;Wa=Ra;Xa=xa;Ya=0;break}wa=ma-Ba|0;h:do if(!(Oa<<24>>24)){ya=wa+1|0;do if(ya){Qa=ya<<1;ab=np(0,Qa)|0;if(ab){c[N>>2]=Qa;c[j>>2]=ab;c[O>>2]=ya;a[ab+wa>>0]=0;if(!wa){bb=ab;break h}else{cb=ab;break}}else{c[u>>2]=9944;Va=Pa;Wa=Ra;Xa=xa;Ya=0;break f}}else{c[O>>2]=0;a[0+wa>>0]=0;cb=0}while(0);ya=0;do{a[cb+ya>>0]=a[na+(ya+Ba)>>0]|0;ya=ya+1|0}while((ya|0)!=(wa|0));bb=cb}else{ya=Qo(j,O,na+Ba|0,wa,b)|0;c[u>>2]=ya;if(ya|0){Va=Pa;Wa=Ra;Xa=xa;Ya=c[j>>2]|0;break f}ya=c[O>>2]|0;ab=ya+1|0;if((c[N>>2]|0)>>>0<ab>>>0){Qa=ab<<1;db=c[j>>2]|0;eb=np(db,Qa)|0;if(!eb){bb=db;break}c[N>>2]=Qa;c[j>>2]=eb;fb=eb}else fb=c[j>>2]|0;c[O>>2]=ab;a[fb+ya>>0]=0;bb=fb}while(0);c[u>>2]=Wo($,xa,Ra,Pa,bb)|0;Va=Pa;Wa=Ra;Xa=xa;Ya=bb}else{Va=0;Wa=0;Xa=0;Ya=0}while(0);op(Xa);op(Wa);op(Va);op(Ya);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}case 112:{if(((a[ca+5>>0]|0)==72?(a[ca+6>>0]|0)==89:0)?(a[ca+7>>0]|0)==115:0){if((ma|0)!=9){ba=184;break b}c[W>>2]=1;c[X>>2]=d[ca+9>>0]<<16|d[na>>0]<<24|d[ca+10>>0]<<8|d[ca+11>>0];c[Y>>2]=d[ca+13>>0]<<16|d[ca+12>>0]<<24|d[ca+14>>0]<<8|d[ca+15>>0];a[Z>>0]=a[ca+16>>0]|0;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}default:if(!(pa&32)){ba=187;break b}else ba=188}while(0);if((ba|0)==188){ba=0;if(!(c[M>>2]|0)){qa=0;ra=1;sa=ea;ta=fa;ua=ga;va=ha}else{pa=ea+-1|0;na=b+184+(pa<<2)|0;wa=b+196+(pa<<2)|0;pa=ma+12|0;Ba=c[wa>>2]|0;Oa=Ba+pa|0;if(Oa>>>0<pa>>>0|Oa>>>0<Ba>>>0){gb=77;ba=193;break}ya=np(c[na>>2]|0,Oa)|0;if(!ya){gb=9929;ba=193;break}c[na>>2]=ya;c[wa>>2]=Oa;Oa=ya+Ba|0;Ba=0;do{a[Oa+Ba>>0]=a[ca+Ba>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(pa|0));c[u>>2]=0;qa=0;ra=1;sa=ea;ta=fa;ua=ga;va=ha}}if((c[w>>2]|ra|0)==0?(pa=d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0],Ba=ca+(pa+8)|0,Oa=d[Ba+1>>0]<<16|d[Ba>>0]<<24|d[Ba+2>>0]<<8|d[Ba+3>>0],(Oa|0)!=(So(oa,pa+4|0)|0)):0){ba=197;break}if(qa<<24>>24){ba=200;break}ca=ca+((d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0])+12)|0;ia=ca-v+12|0;if(ca>>>0<g>>>0|ia>>>0>h>>>0){aa=ta;ba=4;break a}else{da=ra;ea=sa;fa=ta;ga=ua;ha=va}}switch(ba|0){case 6:{c[u>>2]=63;Ua=fa;break a;break}case 9:{c[u>>2]=35;Ua=fa;break a;break}case 19:{c[u>>2]=9936;Ua=fa;break a;break}case 29:{c[y>>2]=0;c[u>>2]=9937;Ua=fa;break a;break}case 31:{c[u>>2]=38;Ua=fa;break a;break}case 41:{c[u>>2]=39;Ua=fa;break a;break}case 46:{c[u>>2]=40;Ua=fa;break a;break}case 49:{c[u>>2]=41;Ua=fa;break a;break}case 51:{c[u>>2]=42;Ua=fa;break a;break}case 57:{c[u>>2]=43;Ua=fa;break a;break}case 60:{c[u>>2]=44;Ua=fa;break a;break}case 63:{c[u>>2]=45;Ua=fa;break a;break}case 178:{c[u>>2]=73;Ua=fa;break a;break}case 184:{c[u>>2]=74;Ua=fa;break a;break}case 187:{c[u>>2]=69;Ua=fa;break a;break}case 193:{c[u>>2]=gb;Ua=fa;break a;break}case 197:{c[u>>2]=57;Ua=ta;break a;break}case 200:{if(c[u>>2]|0){Ua=ta;break a}c[t>>2]=0;ha=t+8|0;c[ha>>2]=0;ga=t+4|0;c[ga>>2]=0;ea=b+52|0;da=c[ea>>2]|0;ia=b+56|0;ca=c[ia>>2]|0;pa=b+76|0;Oa=c[pa>>2]|0;switch(c[z>>2]|0){case 3:case 0:{hb=1;break}case 2:{hb=3;break}case 4:{hb=2;break}case 6:{hb=4;break}default:hb=0}Ba=((B((B(B(Oa,ca)|0,hb)|0)+7|0,da)|0)>>>3)+ca|0;do if(Ba){ca=Ba<<1;da=np(0,ca)|0;if(da){c[ha>>2]=ca;c[t>>2]=da;da=c[u>>2]|0;c[ga>>2]=Ba;if(!da){ba=211;break}else break}else{c[u>>2]=9945;break}}else{c[ga>>2]=0;ba=211}while(0);if((ba|0)==211?(Ba=Qo(t,ga,ta,va,b)|0,c[u>>2]=Ba,(Ba|0)==0):0){Ba=c[ia>>2]|0;fa=c[ea>>2]|0;da=c[z>>2]|0;ca=c[pa>>2]|0;switch(da|0){case 3:case 0:{ib=1;break}case 2:{ib=3;break}case 4:{ib=2;break}case 6:{ib=4;break}default:ib=0}Oa=((B(B(B(fa,Ba)|0,ca)|0,ib)|0)+7|0)>>>3;if(Oa){Ba=np(0,Oa<<1)|0;if(Ba){Eu(Ba|0,0,Oa|0)|0;fa=Ba;if(!(c[u>>2]|0)){jb=fa;kb=c[z>>2]|0;lb=c[pa>>2]|0;ba=221}else{mb=fa;nb=Oa}}else{ob=9946;pb=0;qb=0;ba=286}}else{jb=0;kb=da;lb=ca;ba=221}i:do if((ba|0)==221){ca=jb;da=c[t>>2]|0;switch(kb|0){case 3:case 0:{rb=1;break}case 2:{rb=3;break}case 4:{rb=2;break}case 6:{rb=4;break}default:rb=0}fa=B(rb,lb)|0;Ba=c[ea>>2]|0;ma=c[ia>>2]|0;if(!fa){ob=31;pb=jb;qb=Oa;ba=286}else{do if(!(c[b+68>>2]|0)){if(fa>>>0>=8){sb=$o(ca,da,Ba,ma,fa)|0;break}ya=B(Ba,fa)|0;wa=ya+7&-8;if((ya|0)==(wa|0)){sb=$o(ca,da,Ba,ma,fa)|0;break}na=$o(da,da,Ba,ma,fa)|0;if(na|0){ob=na;pb=jb;qb=Oa;ba=286;break i}if((ma|0)==0|(ya|0)==0)sb=0;else{na=0;ab=0;eb=0;while(1){Qa=0;db=ab;tb=na;while(1){ub=1<<(tb&7^7);if(!(1<<(db&7^7)&d[da+(db>>>3)>>0])){vb=ca+(tb>>>3)|0;wb=vb;xb=(ub^255)&d[vb>>0]}else{vb=ca+(tb>>>3)|0;wb=vb;xb=ub|d[vb>>0]}a[wb>>0]=xb;Qa=Qa+1|0;if((Qa|0)==(ya|0))break;else{db=db+1|0;tb=tb+1|0}}eb=eb+1|0;if((eb|0)==(ma|0)){sb=0;break}else{na=na+ya|0;ab=ab+wa|0}}}}else{ap(o,p,q,r,s,Ba,ma,fa);j:do if(fa>>>0>=8){wa=$o(da+(c[r>>2]|0)|0,da+(c[q>>2]|0)|0,c[o>>2]|0,c[p>>2]|0,fa)|0;if(!wa){ab=$o(da+(c[r+4>>2]|0)|0,da+(c[q+4>>2]|0)|0,c[o+4>>2]|0,c[p+4>>2]|0,fa)|0;if(!ab){ya=$o(da+(c[r+8>>2]|0)|0,da+(c[q+8>>2]|0)|0,c[o+8>>2]|0,c[p+8>>2]|0,fa)|0;if(!ya){na=$o(da+(c[r+12>>2]|0)|0,da+(c[q+12>>2]|0)|0,c[o+12>>2]|0,c[p+12>>2]|0,fa)|0;if(!na){eb=$o(da+(c[r+16>>2]|0)|0,da+(c[q+16>>2]|0)|0,c[o+16>>2]|0,c[p+16>>2]|0,fa)|0;if(!eb){tb=$o(da+(c[r+20>>2]|0)|0,da+(c[q+20>>2]|0)|0,c[o+20>>2]|0,c[p+20>>2]|0,fa)|0;if(tb|0){yb=0;zb=tb;Ab=tb;break}tb=$o(da+(c[r+24>>2]|0)|0,da+(c[q+24>>2]|0)|0,c[o+24>>2]|0,c[p+24>>2]|0,fa)|0;if(!tb)ba=255;else{yb=0;zb=tb;Ab=tb}}else{yb=0;zb=eb;Ab=eb}}else{yb=0;zb=na;Ab=na}}else{yb=0;zb=ya;Ab=ya}}else{yb=0;zb=ab;Ab=ab}}else{yb=0;zb=wa;Ab=wa}}else{wa=0;while(1){ab=da+(c[r+(wa<<2)>>2]|0)|0;ya=c[o+(wa<<2)>>2]|0;na=c[p+(wa<<2)>>2]|0;eb=$o(ab,da+(c[q+(wa<<2)>>2]|0)|0,ya,na,fa)|0;if(eb|0){yb=0;zb=eb;Ab=eb;break j}eb=da+(c[s+(wa<<2)>>2]|0)|0;tb=B(ya,fa)|0;ya=tb+7&-8;if(!((na|0)==0|(tb|0)==0)){db=0;Qa=0;xa=0;while(1){Ra=0;Pa=Qa;vb=db;while(1){ub=1<<(vb&7^7);if(!(1<<(Pa&7^7)&d[ab+(Pa>>>3)>>0])){Bb=eb+(vb>>>3)|0;Cb=Bb;Db=(ub^255)&d[Bb>>0]}else{Bb=eb+(vb>>>3)|0;Cb=Bb;Db=ub|d[Bb>>0]}a[Cb>>0]=Db;Ra=Ra+1|0;if((Ra|0)==(tb|0))break;else{Pa=Pa+1|0;vb=vb+1|0}}xa=xa+1|0;if((xa|0)==(na|0))break;else{db=db+tb|0;Qa=Qa+ya|0}}}wa=wa+1|0;if(wa>>>0>=7){ba=255;break}}}while(0);if((ba|0)==255){ap(j,k,l,m,n,Ba,ma,fa);if(fa>>>0>7){wa=fa>>>3;if(wa|0){ya=0;do{Qa=c[k+(ya<<2)>>2]|0;do if(Qa|0){tb=c[j+(ya<<2)>>2]|0;if(!tb)break;db=c[n+(ya<<2)>>2]|0;na=c[28256+(ya<<2)>>2]|0;xa=c[28224+(ya<<2)>>2]|0;eb=c[28192+(ya<<2)>>2]|0;ab=c[28160+(ya<<2)>>2]|0;vb=0;do{Pa=(B((B(vb,xa)|0)+na|0,Ba)|0)+eb|0;Ra=B(vb,tb)|0;Bb=0;do{ub=(B(Bb+Ra|0,wa)|0)+db|0;Eb=B(Pa+(B(Bb,ab)|0)|0,wa)|0;Fb=0;do{a[ca+(Fb+Eb)>>0]=a[da+(ub+Fb)>>0]|0;Fb=Fb+1|0}while((Fb|0)!=(wa|0));Bb=Bb+1|0}while((Bb|0)!=(tb|0));vb=vb+1|0}while((vb|0)!=(Qa|0))}while(0);ya=ya+1|0}while((ya|0)!=7)}}else{ya=0;do{wa=c[j+(ya<<2)>>2]|0;Qa=c[k+(ya<<2)>>2]|0;if(!((wa|0)==0|(Qa|0)==0)){vb=c[28256+(ya<<2)>>2]|0;tb=c[28224+(ya<<2)>>2]|0;ab=c[28192+(ya<<2)>>2]|0;db=c[28160+(ya<<2)>>2]|0;eb=c[n+(ya<<2)>>2]<<3;na=0;do{xa=B(na,wa)|0;Bb=(B((B(na,tb)|0)+vb|0,Ba)|0)+ab|0;Pa=0;do{Ra=B(Bb+(B(Pa,db)|0)|0,fa)|0;Fb=0;ub=(B(Pa+xa|0,fa)|0)+eb|0;while(1){Eb=(d[da+(ub>>>3)>>0]|0)>>>(ub&7^7)&1;if(Eb|0){Gb=ca+(Ra>>>3)|0;a[Gb>>0]=Eb<<(Ra&7^7)|d[Gb>>0]}Fb=Fb+1|0;if((Fb|0)==(fa|0))break;else{Ra=Ra+1|0;ub=ub+1|0}}Pa=Pa+1|0}while((Pa|0)!=(wa|0));na=na+1|0}while((na|0)!=(Qa|0))}ya=ya+1|0}while((ya|0)!=7)}yb=1;zb=0;Ab=0}if(yb)sb=Ab;else{ob=zb;pb=jb;qb=Oa;ba=286;break i}}while(0);ob=sb;pb=jb;qb=Oa;ba=286}}while(0);if((ba|0)==286){c[u>>2]=ob;mb=pb;nb=qb}c[e>>2]=mb;c[f>>2]=nb}c[ha>>2]=0;c[ga>>2]=0;op(c[t>>2]|0);Ua=ta;break a;break}}}while(0);if((ba|0)==4){c[u>>2]=30;Ua=aa}op(Ua);if(c[u>>2]|0){Ga=i;return}Ua=b+20|0;aa=b+72|0;if(!(c[b+8>>2]|0)){ba=b+28|0;ta=c[ba>>2]|0;if(ta|0)op(ta);c[Ua>>2]=c[aa>>2];c[Ua+4>>2]=c[aa+4>>2];c[Ua+8>>2]=c[aa+8>>2];c[Ua+12>>2]=c[aa+12>>2];c[Ua+16>>2]=c[aa+16>>2];c[Ua+20>>2]=c[aa+20>>2];c[Ua+24>>2]=c[aa+24>>2];c[Ua+28>>2]=c[aa+28>>2];ta=mp(c[y>>2]<<2)|0;c[ba>>2]=ta;t=c[y>>2]|0;if(!ta){Hb=(t|0)==0?0:9935;c[u>>2]=Hb;Ga=i;return}if(!(t&1073741823)){Hb=0;c[u>>2]=Hb;Ga=i;return}a[ta>>0]=a[c[x>>2]>>0]|0;if(!(c[y>>2]&1073741823)){Hb=0;c[u>>2]=Hb;Ga=i;return}ta=1;do{a[(c[ba>>2]|0)+ta>>0]=a[(c[x>>2]|0)+ta>>0]|0;ta=ta+1|0}while(ta>>>0<c[y>>2]<<2>>>0);Hb=0;c[u>>2]=Hb;Ga=i;return}Hb=c[Ua>>2]|0;if((Hb|0)==(c[aa>>2]|0)?(c[b+24>>2]|0)==(c[b+76>>2]|0):0){Ga=i;return}y=c[e>>2]|0;switch(Hb|0){case 6:case 2:break;default:if((c[b+24>>2]|0)!=8){c[u>>2]=56;Ga=i;return}}ta=b+52|0;x=c[ta>>2]|0;ba=b+56|0;t=c[ba>>2]|0;nb=c[b+24>>2]|0;switch(Hb|0){case 3:case 0:{Ib=1;break}case 2:{Ib=3;break}case 4:{Ib=2;break}case 6:{Ib=4;break}default:Ib=0}Hb=((B(B(B(t,x)|0,nb)|0,Ib)|0)+7|0)>>>3;c[f>>2]=Hb;Ib=mp(Hb)|0;c[e>>2]=Ib;if(!Ib){c[u>>2]=9947;c[f>>2]=0}else c[u>>2]=Yo(Ib,y,Ua,aa,c[ta>>2]|0,c[ba>>2]|0)|0;op(y);Ga=i;return}function $o(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0;h=(g+7|0)>>>3;i=((B(g,e)|0)+7|0)>>>3;if(!f){j=0;return j|0}e=i+1|0;g=(i|0)==0;k=(h|0)==0;l=(i|0)!=0;m=(h|0)!=0;n=h>>>0<i>>>0;o=0;p=0;a:while(1){q=B(o,i)|0;r=B(o,e)|0;s=p;p=b+q|0;q=c+(r+1)|0;b:do switch(a[c+r>>0]|0){case 0:{if(!g){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}break}case 1:{if(!k){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(n){t=h;do{a[p+t>>0]=(d[p+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 2:{if(!s){if(!l)break b;t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}else{if(!l)break b;t=0;do{a[p+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 3:{if(!s){if(m){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=((d[p+(t-h)>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[p+t>>0]=((d[s+t>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=(((d[s+t>>0]|0)+(d[p+(t-h)>>0]|0)|0)>>>1)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 4:{if(!s){if(m){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=(d[p+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[p+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{u=t-h|0;v=a[p+u>>0]|0;w=a[s+t>>0]|0;x=a[s+u>>0]|0;u=w&255;y=x&255;z=u-y|0;A=(z|0)>-1?z:0-z|0;z=v&255;C=z-y|0;D=(C|0)>-1?C:0-C|0;C=u+z+(B(y,-2)|0)|0;y=(C|0)>-1?C:0-C|0;a[p+t>>0]=(((A|0)>(D|0)|(A|0)>(y|0)?((D|0)>(y|0)?x:w):v)&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}default:{j=36;E=47;break a}}while(0);o=o+1|0;if(o>>>0>=f>>>0){j=0;E=47;break}}if((E|0)==47)return j|0;return 0}function ap(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;c[a>>2]=(g+7|0)>>>3;j=(h+7|0)>>>3;c[b>>2]=j;k=(c[a>>2]|0)==0?0:j;c[b>>2]=k;if(!k)c[a>>2]=0;k=a+4|0;c[k>>2]=(g+3|0)>>>3;l=b+4|0;c[l>>2]=j;m=(c[k>>2]|0)==0?0:j;c[l>>2]=m;if(!m)c[k>>2]=0;m=a+8|0;c[m>>2]=(g+3|0)>>>2;j=(h+3|0)>>>3;n=b+8|0;c[n>>2]=j;o=(c[m>>2]|0)==0?0:j;c[n>>2]=o;if(!o)c[m>>2]=0;o=a+12|0;c[o>>2]=(g+1|0)>>>2;j=(h+3|0)>>>2;p=b+12|0;c[p>>2]=j;q=(c[o>>2]|0)==0?0:j;c[p>>2]=q;if(!q)c[o>>2]=0;q=a+16|0;c[q>>2]=(g+1|0)>>>1;j=(h+1|0)>>>2;r=b+16|0;c[r>>2]=j;s=(c[q>>2]|0)==0?0:j;c[r>>2]=s;if(!s)c[q>>2]=0;s=a+20|0;c[s>>2]=g>>>1;j=(h+1|0)>>>1;t=b+20|0;c[t>>2]=j;u=(c[s>>2]|0)==0?0:j;c[t>>2]=u;if(!u)c[s>>2]=0;u=a+24|0;c[u>>2]=g;g=h>>>1;h=b+24|0;c[h>>2]=g;j=(c[u>>2]|0)==0?0:g;c[h>>2]=j;if(!j)c[u>>2]=0;c[f>>2]=0;c[e>>2]=0;c[d>>2]=0;j=c[a>>2]|0;a=c[b>>2]|0;if(!j){v=0;w=0;x=0}else{b=B(j,i)|0;j=(b+7|0)>>>3;v=j;w=b;x=B(a,j+1|0)|0}j=d+4|0;c[j>>2]=x;x=e+4|0;c[x>>2]=(B(a,v)|0)+(c[e>>2]|0);v=f+4|0;c[v>>2]=(((B(w,a)|0)+7|0)>>>3)+(c[f>>2]|0);a=c[k>>2]|0;k=c[l>>2]|0;if(!a){y=0;z=0;A=0}else{l=B(a,i)|0;a=(l+7|0)>>>3;y=l;z=a;A=B(k,a+1|0)|0}a=d+8|0;c[a>>2]=A+(c[j>>2]|0);j=e+8|0;c[j>>2]=(B(k,z)|0)+(c[x>>2]|0);x=f+8|0;c[x>>2]=(((B(y,k)|0)+7|0)>>>3)+(c[v>>2]|0);v=c[m>>2]|0;m=c[n>>2]|0;if(!v){C=0;D=0;E=0}else{n=B(v,i)|0;v=(n+7|0)>>>3;C=n;D=v;E=B(m,v+1|0)|0}v=d+12|0;c[v>>2]=E+(c[a>>2]|0);a=e+12|0;c[a>>2]=(B(m,D)|0)+(c[j>>2]|0);j=f+12|0;c[j>>2]=(((B(C,m)|0)+7|0)>>>3)+(c[x>>2]|0);x=c[o>>2]|0;o=c[p>>2]|0;if(!x){F=0;G=0;H=0}else{p=B(x,i)|0;x=(p+7|0)>>>3;F=p;G=x;H=B(o,x+1|0)|0}x=d+16|0;c[x>>2]=H+(c[v>>2]|0);v=e+16|0;c[v>>2]=(B(o,G)|0)+(c[a>>2]|0);a=f+16|0;c[a>>2]=(((B(F,o)|0)+7|0)>>>3)+(c[j>>2]|0);j=c[q>>2]|0;q=c[r>>2]|0;if(!j){I=0;J=0;K=0}else{r=B(j,i)|0;j=(r+7|0)>>>3;I=j;J=r;K=B(q,j+1|0)|0}j=d+20|0;c[j>>2]=K+(c[x>>2]|0);x=e+20|0;c[x>>2]=(B(q,I)|0)+(c[v>>2]|0);v=f+20|0;c[v>>2]=(((B(J,q)|0)+7|0)>>>3)+(c[a>>2]|0);a=c[s>>2]|0;s=c[t>>2]|0;if(!a){L=0;M=0;N=0}else{t=B(a,i)|0;a=(t+7|0)>>>3;L=t;M=a;N=B(s,a+1|0)|0}a=d+24|0;c[a>>2]=N+(c[j>>2]|0);j=e+24|0;c[j>>2]=(B(s,M)|0)+(c[x>>2]|0);x=f+24|0;c[x>>2]=(((B(L,s)|0)+7|0)>>>3)+(c[v>>2]|0);v=c[a>>2]|0;a=c[u>>2]|0;u=c[h>>2]|0;if(!a){O=0;P=0;Q=0;R=Q+v|0;S=d+28|0;c[S>>2]=R;T=c[j>>2]|0;U=B(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[x>>2]|0;Y=B(O,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}h=B(a,i)|0;i=(h+7|0)>>>3;O=h;P=i;Q=B(u,i+1|0)|0;R=Q+v|0;S=d+28|0;c[S>>2]=R;T=c[j>>2]|0;U=B(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[x>>2]|0;Y=B(O,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}function bp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;i=Ga;Ga=Ga+224|0;j=i+212|0;k=i;if(!f){l=100;Ga=i;return l|0}m=c[f>>2]|0;if(!m){n=c[f+8>>2]|0;Ht(n,0,2)|0;o=$t(n)|0;if(o>>>0>268435456){l=333;Ga=i;return l|0}bu(n);p=mp(o)|0;au(p,1,o,n)|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;n=k+20|0;q=k+24|0;r=k+28|0;s=k+32|0;t=k+56|0;u=k+52|0;v=k+88|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;v=k+104|0;c[k+168>>2]=0;w=k+184|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;x=v;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[v+48>>0]=0;v=k+208|0;c[v>>2]=1;c[n>>2]=g;c[q>>2]=h;_o(k,b,j,p,o);o=c[v>>2]|0;c[d>>2]=c[u>>2];c[e>>2]=c[t>>2];t=c[r>>2]|0;if(t|0)op(t);c[s>>2]=0;Xo(k+52|0);op(p);z=o;A=c[f>>2]|0}else{z=0;A=m}if((A|0)!=1){l=z;Ga=i;return l|0}c[f+20>>2]=0;z=c[f+12>>2]|0;A=c[f+16>>2]|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;f=k+20|0;m=k+24|0;o=k+28|0;p=k+32|0;s=k+56|0;t=k+52|0;r=k+88|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;r=k+104|0;c[k+168>>2]=0;u=k+184|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;x=r;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[r+48>>0]=0;r=k+208|0;c[r>>2]=1;c[f>>2]=g;c[m>>2]=h;_o(k,b,j,z,A);A=c[r>>2]|0;c[d>>2]=c[t>>2];c[e>>2]=c[s>>2];s=c[o>>2]|0;if(s|0)op(s);c[p>>2]=0;Xo(k+52|0);l=A;Ga=i;return l|0}function cp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bp(a,b,c,d,6,8)|0}
// EMSCRIPTEN_END_FUNCS
var Ja=[Pu,Hr,Ya,Za,Df,Hf,Bh,Ef,Gf,Ch,Dh,Eh,Fh,Gh,Hh,Kf,Cf,Jf,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Uh,Vh,Wh,Zf,Yf,_f,$f,Yh,Zh,_h,$h,ai,bi,ci,di,ei,fi,gi,hi,ii,ji,ki,li,mi,ni,oi,pi,qi,ri,si,ti,ui,vi,wi,xi,yi,zi,Ai,Bi,Ci,Di,Ei,Fi,Gi,Hi,Ii,Ji,Ki,Li,Mi,Ni,Oi,Pi,Qi,Ri,Si,Ti,Ui,Vi,Wi,Xi,Yi,Zi,_i,$i,aj,bj,cj,dj,ej,fj,gj,hj,ij,jj,kj,lj,mj,nj,oj,pj,qj,rj,sj,tj,uj,vj,wj,xj,yj,Xf,zj,Aj,Bj,xf,wf,yf,zf,Af,Bf,If,Sf,Cj,Uf,bg,ag,Vf,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu,Pu];var Ka=[Qu,sf,Gl,Qu];var La=[Ru,Nr,Jr,Fs,nf,Or,Ir,Ct];var Ma=[Su,ck];var Na=[Tu,zm];var Oa=[Uu,ab,Al,Bl,Vq,Uu,Uu,Uu];var Pa=[Vu,fm,Md,Qd,tf,ec,Of,Pf];var Qa=[Wu,_a,Uq,Wu];var Ra=[Xu];return{___divdi3:su,___emscripten_environ_constructor:ju,___errno_location:Lr,___muldi3:uu,___udivdi3:vu,__get_daylight:lu,__get_environ:nu,__get_timezone:mu,__get_tzname:ku,_bitshift64Ashr:wu,_bitshift64Lshr:xu,_bitshift64Shl:yu,_codo_mixer_callback:xp,_free:Cr,_i64Add:ou,_i64Subtract:pu,_llvm_bswap_i32:zu,_main:Db,_malloc:Br,_memcpy:Du,_memset:Eu,_mix_0:uq,_realloc:Er,_saveSetjmp:Au,_sbrk:Fu,_setThrew:Cu,_testSetjmp:Bu,dynCall_ii:Gu,dynCall_iii:Hu,dynCall_iiii:Iu,dynCall_iiiii:Ju,dynCall_v:Ku,dynCall_vi:Lu,dynCall_vii:Mu,dynCall_viii:Nu,dynCall_viiiii:Ou,establishStackSpace:Va,stackAlloc:Sa,stackRestore:Ua,stackSave:Ta}})
// EMSCRIPTEN_END_ASM
(asmGlobalArg, asmLibraryArg, buffer);
var ___divdi3 = Module["___divdi3"] = asm["___divdi3"];
var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = asm["___emscripten_environ_constructor"];
var ___errno_location = Module["___errno_location"] = asm["___errno_location"];
var ___muldi3 = Module["___muldi3"] = asm["___muldi3"];
var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"];
var __get_daylight = Module["__get_daylight"] = asm["__get_daylight"];
var __get_environ = Module["__get_environ"] = asm["__get_environ"];
var __get_timezone = Module["__get_timezone"] = asm["__get_timezone"];
var __get_tzname = Module["__get_tzname"] = asm["__get_tzname"];
var _bitshift64Ashr = Module["_bitshift64Ashr"] = asm["_bitshift64Ashr"];
var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];
var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];
var _codo_mixer_callback = Module["_codo_mixer_callback"] = asm["_codo_mixer_callback"];
var _free = Module["_free"] = asm["_free"];
var _i64Add = Module["_i64Add"] = asm["_i64Add"];
var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"];
var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"];
var _main = Module["_main"] = asm["_main"];
var _malloc = Module["_malloc"] = asm["_malloc"];
var _memcpy = Module["_memcpy"] = asm["_memcpy"];
var _memset = Module["_memset"] = asm["_memset"];
var _mix_0 = Module["_mix_0"] = asm["_mix_0"];
var _realloc = Module["_realloc"] = asm["_realloc"];
var _saveSetjmp = Module["_saveSetjmp"] = asm["_saveSetjmp"];
var _sbrk = Module["_sbrk"] = asm["_sbrk"];
var _setThrew = Module["_setThrew"] = asm["_setThrew"];
var _testSetjmp = Module["_testSetjmp"] = asm["_testSetjmp"];
var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"];
var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"];
var stackRestore = Module["stackRestore"] = asm["stackRestore"];
var stackSave = Module["stackSave"] = asm["stackSave"];
var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"];
var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"];
var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];
var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"];
var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"];
var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"];
var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"];
var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"];
var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"];
Module["asm"] = asm;
Module["ccall"] = ccall;
Module["getValue"] = getValue;
Module["getMemory"] = getMemory;
Module["addRunDependency"] = addRunDependency;
Module["removeRunDependency"] = removeRunDependency;
Module["FS_createFolder"] = FS.createFolder;
Module["FS_createPath"] = FS.createPath;
Module["FS_createDataFile"] = FS.createDataFile;
Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
Module["FS_createLazyFile"] = FS.createLazyFile;
Module["FS_createLink"] = FS.createLink;
Module["FS_createDevice"] = FS.createDevice;
Module["FS_unlink"] = FS.unlink;
if (memoryInitializer) {
if (!isDataURI(memoryInitializer)) {
memoryInitializer = locateFile(memoryInitializer);
}
if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) {
var data = Module["readBinary"](memoryInitializer);
HEAPU8.set(data, GLOBAL_BASE);
} else {
addRunDependency("memory initializer");
var applyMemoryInitializer = function(data) {
if (data.byteLength) data = new Uint8Array(data);
HEAPU8.set(data, GLOBAL_BASE);
if (Module["memoryInitializerRequest"]) delete Module["memoryInitializerRequest"].response;
removeRunDependency("memory initializer");
};
var doBrowserLoad = function() {
Module["readAsync"](memoryInitializer, applyMemoryInitializer, function() {
throw "could not load memory initializer " + memoryInitializer;
});
};
var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer);
if (memoryInitializerBytes) {
applyMemoryInitializer(memoryInitializerBytes.buffer);
} else if (Module["memoryInitializerRequest"]) {
var useRequest = function() {
var request = Module["memoryInitializerRequest"];
var response = request.response;
if (request.status !== 200 && request.status !== 0) {
var data = tryParseAsDataURI(Module["memoryInitializerRequestURL"]);
if (data) {
response = data.buffer;
} else {
console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: " + request.status + ", retrying " + memoryInitializer);
doBrowserLoad();
return;
}
}
applyMemoryInitializer(response);
};
if (Module["memoryInitializerRequest"].response) {
setTimeout(useRequest, 0);
} else {
Module["memoryInitializerRequest"].addEventListener("load", useRequest);
}
} else {
doBrowserLoad();
}
}
}
function ExitStatus(status) {
this.name = "ExitStatus";
this.message = "Program terminated with exit(" + status + ")";
this.status = status;
}
ExitStatus.prototype = new Error();
ExitStatus.prototype.constructor = ExitStatus;
var calledMain = false;
dependenciesFulfilled = function runCaller() {
if (!Module["calledRun"]) run();
if (!Module["calledRun"]) dependenciesFulfilled = runCaller;
};
Module["callMain"] = function callMain(args) {
args = args || [];
ensureInitRuntime();
var argc = args.length + 1;
var argv = stackAlloc((argc + 1) * 4);
HEAP32[argv >> 2] = allocateUTF8OnStack(Module["thisProgram"]);
for (var i = 1; i < argc; i++) {
HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]);
}
HEAP32[(argv >> 2) + argc] = 0;
try {
var ret = Module["_main"](argc, argv, 0);
exit(ret, true);
} catch (e) {
if (e instanceof ExitStatus) {
return;
} else if (e == "SimulateInfiniteLoop") {
Module["noExitRuntime"] = true;
return;
} else {
var toLog = e;
if (e && typeof e === "object" && e.stack) {
toLog = [ e, e.stack ];
}
err("exception thrown: " + toLog);
Module["quit"](1, e);
}
} finally {
calledMain = true;
}
};
function run(args) {
args = args || Module["arguments"];
if (runDependencies > 0) {
return;
}
preRun();
if (runDependencies > 0) return;
if (Module["calledRun"]) return;
function doRun() {
if (Module["calledRun"]) return;
Module["calledRun"] = true;
if (ABORT) return;
ensureInitRuntime();
preMain();
if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"]();
if (Module["_main"] && shouldRunNow) Module["callMain"](args);
postRun();
}
if (Module["setStatus"]) {
Module["setStatus"]("Running...");
setTimeout(function() {
setTimeout(function() {
Module["setStatus"]("");
}, 1);
doRun();
}, 1);
} else {
doRun();
}
}
Module["run"] = run;
function exit(status, implicit) {
if (implicit && Module["noExitRuntime"] && status === 0) {
return;
}
if (Module["noExitRuntime"]) {} else {
ABORT = true;
EXITSTATUS = status;
exitRuntime();
if (Module["onExit"]) Module["onExit"](status);
}
Module["quit"](status, new ExitStatus(status));
}
function abort(what) {
if (Module["onAbort"]) {
Module["onAbort"](what);
}
if (what !== undefined) {
out(what);
err(what);
what = JSON.stringify(what);
} else {
what = "";
}
ABORT = true;
EXITSTATUS = 1;
throw "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
}
Module["abort"] = abort;
if (Module["preInit"]) {
if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ];
while (Module["preInit"].length > 0) {
Module["preInit"].pop()();
}
}
var shouldRunNow = true;
if (Module["noInitialRun"]) {
shouldRunNow = false;
}
Module["noExitRuntime"] = true;
run();