x_ite 4.2.17 → 4.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (903) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  2. package/.vscode/launch.json +15 -0
  3. package/.vscode/settings.json +12 -0
  4. package/.vscode/tasks.json +25 -0
  5. package/Makefile +27 -10
  6. package/README.md +13 -145
  7. package/build/bin/dist.pl +65 -8
  8. package/build/bin/version-number.pl +25 -0
  9. package/build/bin/version.pl +54 -14
  10. package/build/components/annotation.build.js +15 -0
  11. package/build/components/cad-geometry.build.js +15 -0
  12. package/build/components/cube-map-texturing.build.js +15 -0
  13. package/build/components/dis.build.js +15 -0
  14. package/build/components/event-utilities.build.js +15 -0
  15. package/build/components/geometry2d.build.js +15 -0
  16. package/build/components/geospatial.build.js +15 -0
  17. package/build/components/h-anim.build.js +15 -0
  18. package/build/components/key-device-sensor.build.js +15 -0
  19. package/build/components/layout.build.js +15 -0
  20. package/build/components/nurbs.build.js +15 -0
  21. package/build/components/particle-systems.build.js +15 -0
  22. package/build/components/picking.build.js +15 -0
  23. package/build/components/projective-texture-mapping.build.js +15 -0
  24. package/build/components/rigid-body-physics.build.js +15 -0
  25. package/build/components/scripting.build.js +15 -0
  26. package/build/components/texturing-3d.build.js +15 -0
  27. package/build/components/volume-rendering.build.js +15 -0
  28. package/build/components/x_ite.build.js +15 -0
  29. package/build/parts/default.end.frag.js +3 -0
  30. package/build/parts/default.start.frag.js +15 -0
  31. package/build/parts/x_ite.end.frag.js +25 -0
  32. package/build/parts/x_ite.start.frag.js +16 -0
  33. package/build/x_ite.build.js +5 -2
  34. package/dist/{components/texturing-3d.js → assets/components/annotation.js} +341 -263
  35. package/dist/assets/components/annotation.min.js +1 -0
  36. package/dist/{components → assets/components}/cad-geometry.js +180 -76
  37. package/dist/assets/components/cad-geometry.min.js +1 -0
  38. package/dist/assets/components/cube-map-texturing.js +1222 -0
  39. package/dist/assets/components/cube-map-texturing.min.js +1 -0
  40. package/dist/assets/components/dis.js +918 -0
  41. package/dist/assets/components/dis.min.js +1 -0
  42. package/dist/assets/components/event-utilities.js +1124 -0
  43. package/dist/assets/components/event-utilities.min.js +1 -0
  44. package/dist/assets/components/geometry2d.js +2200 -0
  45. package/dist/assets/components/geometry2d.min.js +1 -0
  46. package/dist/{components → assets/components}/geospatial.js +364 -269
  47. package/dist/assets/components/geospatial.min.js +2 -0
  48. package/dist/{components → assets/components}/h-anim.js +224 -62
  49. package/dist/assets/components/h-anim.min.js +1 -0
  50. package/dist/assets/components/key-device-sensor.js +860 -0
  51. package/dist/assets/components/key-device-sensor.min.js +1 -0
  52. package/dist/assets/components/layout.js +2018 -0
  53. package/dist/assets/components/layout.min.js +1 -0
  54. package/dist/{components → assets/components}/nurbs.js +632 -348
  55. package/dist/assets/components/nurbs.min.js +2 -0
  56. package/dist/{components → assets/components}/particle-systems.js +514 -476
  57. package/dist/assets/components/particle-systems.min.js +2 -0
  58. package/dist/assets/components/picking.js +2491 -0
  59. package/dist/assets/components/picking.min.js +1 -0
  60. package/dist/assets/components/projective-texture-mapping.js +823 -0
  61. package/dist/assets/components/projective-texture-mapping.min.js +1 -0
  62. package/dist/assets/components/rigid-body-physics.js +4579 -0
  63. package/dist/assets/components/rigid-body-physics.min.js +59 -0
  64. package/dist/assets/components/scripting.js +816 -0
  65. package/dist/assets/components/scripting.min.js +1 -0
  66. package/dist/assets/components/texturing-3d.js +10064 -0
  67. package/dist/assets/components/texturing-3d.min.js +48 -0
  68. package/dist/assets/components/volume-rendering.js +3976 -0
  69. package/dist/assets/components/volume-rendering.min.js +3 -0
  70. package/dist/assets/components/x_ite.js +295 -0
  71. package/dist/assets/components/x_ite.min.js +1 -0
  72. package/{fonts → dist/assets/fonts}/DroidSerif-Bold.ttf +0 -0
  73. package/{fonts → dist/assets/fonts}/DroidSerif-BoldItalic.ttf +0 -0
  74. package/{fonts → dist/assets/fonts}/DroidSerif-Italic.ttf +0 -0
  75. package/{fonts → dist/assets/fonts}/DroidSerif-Regular.ttf +0 -0
  76. package/{fonts → dist/assets/fonts}/Ubuntu-B.ttf +0 -0
  77. package/{fonts → dist/assets/fonts}/Ubuntu-BI.ttf +0 -0
  78. package/{fonts → dist/assets/fonts}/Ubuntu-R.ttf +0 -0
  79. package/{fonts → dist/assets/fonts}/Ubuntu-RI.ttf +0 -0
  80. package/{fonts → dist/assets/fonts}/UbuntuMono-B.ttf +0 -0
  81. package/{fonts → dist/assets/fonts}/UbuntuMono-BI.ttf +0 -0
  82. package/{fonts → dist/assets/fonts}/UbuntuMono-R.ttf +0 -0
  83. package/{fonts → dist/assets/fonts}/UbuntuMono-RI.ttf +0 -0
  84. package/dist/assets/hatching/0.png +0 -0
  85. package/dist/assets/hatching/1.png +0 -0
  86. package/dist/assets/hatching/10.png +0 -0
  87. package/dist/assets/hatching/11.png +0 -0
  88. package/dist/assets/hatching/12.png +0 -0
  89. package/dist/assets/hatching/13.png +0 -0
  90. package/dist/assets/hatching/14.png +0 -0
  91. package/dist/assets/hatching/15.png +0 -0
  92. package/dist/assets/hatching/16.png +0 -0
  93. package/dist/assets/hatching/17.png +0 -0
  94. package/dist/assets/hatching/18.png +0 -0
  95. package/dist/assets/hatching/19.png +0 -0
  96. package/dist/assets/hatching/2.png +0 -0
  97. package/dist/assets/hatching/3.png +0 -0
  98. package/dist/assets/hatching/4.png +0 -0
  99. package/dist/assets/hatching/5.png +0 -0
  100. package/dist/assets/hatching/6.png +0 -0
  101. package/dist/assets/hatching/7.png +0 -0
  102. package/dist/assets/hatching/8.png +0 -0
  103. package/dist/assets/hatching/9.png +0 -0
  104. package/dist/{images → assets/images}/ExamineViewer.png +0 -0
  105. package/dist/{images → assets/images}/FlyViewer.png +0 -0
  106. package/dist/{images → assets/images}/NoneViewer.png +0 -0
  107. package/dist/{images → assets/images}/PlaneViewer.png +0 -0
  108. package/dist/{images → assets/images}/PrimitiveQuality.png +0 -0
  109. package/dist/{images → assets/images}/TextureQuality.png +0 -0
  110. package/dist/{images → assets/images}/Time.png +0 -0
  111. package/dist/{images → assets/images}/Viewpoint.png +0 -0
  112. package/dist/{images → assets/images}/WalkViewer.png +0 -0
  113. package/dist/assets/images/go-next.png +0 -0
  114. package/dist/{images → assets/images}/gtk-fullscreen.png +0 -0
  115. package/dist/{images → assets/images}/gtk-leave-fullscreen.png +0 -0
  116. package/dist/{images → assets/images}/gtk-zoom-fit.png +0 -0
  117. package/dist/{images → assets/images}/gtk-zoom-in.png +0 -0
  118. package/dist/{images → assets/images}/help-about.png +0 -0
  119. package/dist/{images → assets/images}/icon.bw.png +0 -0
  120. package/dist/{images → assets/images}/icon.png +0 -0
  121. package/dist/assets/images/logo.128.png +0 -0
  122. package/dist/{images → assets/images}/logo.bw.png +0 -0
  123. package/dist/{images → assets/images}/logo.png +0 -0
  124. package/dist/assets/linetype/0.png +0 -0
  125. package/dist/assets/linetype/1.png +0 -0
  126. package/dist/assets/linetype/10.png +0 -0
  127. package/dist/assets/linetype/11.png +0 -0
  128. package/dist/assets/linetype/12.png +0 -0
  129. package/dist/assets/linetype/13.png +0 -0
  130. package/dist/assets/linetype/14.png +0 -0
  131. package/dist/assets/linetype/15.png +0 -0
  132. package/dist/assets/linetype/16.png +0 -0
  133. package/dist/assets/linetype/2.png +0 -0
  134. package/dist/assets/linetype/3.png +0 -0
  135. package/dist/assets/linetype/4.png +0 -0
  136. package/dist/assets/linetype/5.png +0 -0
  137. package/dist/assets/linetype/6.png +0 -0
  138. package/dist/assets/linetype/7.png +0 -0
  139. package/dist/assets/linetype/8.png +0 -0
  140. package/dist/assets/linetype/9.png +0 -0
  141. package/dist/assets/shaders/webgl1/Background.fs +23 -0
  142. package/dist/assets/shaders/webgl1/Background.vs +16 -0
  143. package/dist/assets/shaders/webgl1/Depth.fs +60 -0
  144. package/dist/assets/shaders/webgl1/Depth.vs +13 -0
  145. package/dist/assets/shaders/webgl1/Fallback.fs +28 -0
  146. package/dist/assets/shaders/webgl1/Fallback.vs +24 -0
  147. package/dist/assets/shaders/webgl1/FallbackUnlit.fs +15 -0
  148. package/dist/assets/shaders/webgl1/FallbackUnlit.vs +18 -0
  149. package/dist/assets/shaders/webgl1/Gouraud.fs +529 -0
  150. package/dist/assets/shaders/webgl1/Gouraud.vs +107 -0
  151. package/dist/assets/shaders/webgl1/Phong.fs +837 -0
  152. package/dist/assets/shaders/webgl1/Phong.vs +52 -0
  153. package/dist/assets/shaders/webgl1/PointSet.fs +541 -0
  154. package/dist/assets/shaders/webgl1/PointSet.vs +48 -0
  155. package/dist/assets/shaders/webgl1/Unlit.fs +538 -0
  156. package/dist/assets/shaders/webgl1/Unlit.vs +52 -0
  157. package/dist/assets/shaders/webgl1/Wireframe.fs +93 -0
  158. package/dist/assets/shaders/webgl1/Wireframe.vs +47 -0
  159. package/dist/assets/shaders/webgl2/Background.fs +25 -0
  160. package/dist/assets/shaders/webgl2/Background.vs +17 -0
  161. package/dist/assets/shaders/webgl2/Depth.fs +62 -0
  162. package/dist/assets/shaders/webgl2/Depth.vs +14 -0
  163. package/dist/assets/shaders/webgl2/Gouraud.fs +684 -0
  164. package/dist/assets/shaders/webgl2/Gouraud.vs +108 -0
  165. package/dist/assets/shaders/webgl2/Phong.fs +1013 -0
  166. package/dist/assets/shaders/webgl2/Phong.vs +53 -0
  167. package/dist/assets/shaders/webgl2/PointSet.fs +696 -0
  168. package/dist/assets/shaders/webgl2/PointSet.vs +49 -0
  169. package/dist/assets/shaders/webgl2/Unlit.fs +693 -0
  170. package/dist/assets/shaders/webgl2/Unlit.vs +53 -0
  171. package/dist/assets/shaders/webgl2/Wireframe.fs +102 -0
  172. package/dist/assets/shaders/webgl2/Wireframe.vs +48 -0
  173. package/dist/example.html +8 -7
  174. package/dist/x_ite.css +167 -49
  175. package/dist/x_ite.js +66263 -60020
  176. package/dist/x_ite.min.js +41 -41
  177. package/dist/x_ite.zip +0 -0
  178. package/docs/404.md +5 -0
  179. package/docs/Accessing-the-External-Browser.md +319 -0
  180. package/docs/Browser-Support.md +47 -0
  181. package/docs/Custom-Shaders.md +896 -0
  182. package/docs/Features.md +49 -0
  183. package/docs/Glossary.md +339 -0
  184. package/docs/How-To-Configure-Your-Web-Server.md +56 -0
  185. package/docs/Supported-Nodes.md +370 -0
  186. package/docs/What's-New.md +1295 -0
  187. package/docs/XHTML-DOM-Integration.md +82 -0
  188. package/docs/_config.yml +140 -0
  189. package/docs/_data/navigation.yml +137 -0
  190. package/docs/assets/css/main.scss +100 -0
  191. package/docs/assets/images/logo.png +0 -0
  192. package/docs/google3696ee938394d7b6.html +1 -0
  193. package/docs/index.md +1033 -0
  194. package/docs/reference/Browser-Services.md +361 -0
  195. package/docs/reference/Constants-Services.md +376 -0
  196. package/docs/reference/ECMAScript-Object-and-Function-Definitions.md +128 -0
  197. package/docs/reference/Field-Services-and-Objects.md +1006 -0
  198. package/docs/reference/Prototype-Services.md +121 -0
  199. package/docs/reference/Route-Services.md +49 -0
  200. package/docs/reference/Scene-Services.md +360 -0
  201. package/docs/reference/Script-Node-Authoring-Interface.md +342 -0
  202. package/docs/tutorials/Adding-backgrounds.md +268 -0
  203. package/docs/tutorials/Adding-fog.md +67 -0
  204. package/docs/tutorials/Adding-sound.md +326 -0
  205. package/docs/tutorials/Animating-transforms.md +385 -0
  206. package/docs/tutorials/Basic-Nodes.md +317 -0
  207. package/docs/tutorials/Building-a-X3D-world.md +152 -0
  208. package/docs/tutorials/Building-elevation-grids.md +170 -0
  209. package/docs/tutorials/Building-extruded-shapes.md +145 -0
  210. package/docs/tutorials/Building-primitive-shapes.md +204 -0
  211. package/docs/tutorials/Building-shapes-out-of-points,-lines,-and-faces.md +311 -0
  212. package/docs/tutorials/Controlling-appearance-with-materials.md +186 -0
  213. package/docs/tutorials/Controlling-color-on-coordinate-based-geometry.md +208 -0
  214. package/docs/tutorials/Controlling-detail.md +130 -0
  215. package/docs/tutorials/Controlling-how-textures-are-mapped.md +277 -0
  216. package/docs/tutorials/Controlling-navigation.md +70 -0
  217. package/docs/tutorials/Controlling-shading-on-coordinate-based-geometry.md +180 -0
  218. package/docs/tutorials/Controlling-the-viewpoint.md +49 -0
  219. package/docs/tutorials/Creating-new-node-types.md +313 -0
  220. package/docs/tutorials/Grouping-nodes.md +237 -0
  221. package/docs/tutorials/Hello,-World!.md +204 -0
  222. package/docs/tutorials/Improving-Performance.md +227 -0
  223. package/docs/tutorials/Increasing-Rendering-Speed.md +110 -0
  224. package/docs/tutorials/Introducing-X3D.md +94 -0
  225. package/docs/tutorials/Introducing-animation.md +211 -0
  226. package/docs/tutorials/Introducing-script-use.md +127 -0
  227. package/docs/tutorials/Lighting-your-world.md +139 -0
  228. package/docs/tutorials/Mapping-textures.md +212 -0
  229. package/docs/tutorials/Naming-nodes.md +161 -0
  230. package/docs/tutorials/Providing-information-about-your-world.md +30 -0
  231. package/docs/tutorials/Sensing-the-viewer.md +205 -0
  232. package/docs/tutorials/Sensing-viewer-actions.md +214 -0
  233. package/docs/tutorials/Transforming-Shapes.md +270 -0
  234. package/docs/tutorials/Writing-program-scripts-with-ECMAScript.md +631 -0
  235. package/docs/tutorials/index.md +78 -0
  236. package/meta/logo/logo.png +0 -0
  237. package/meta/logo/logo.svg +216 -217
  238. package/meta/web3d.html +3 -3
  239. package/package.json +43 -28
  240. package/src/assets/components/annotation.js +87 -0
  241. package/src/{components → assets/components}/cad-geometry.js +0 -0
  242. package/src/{x_ite/Components/CubeMapTexturing.js → assets/components/cube-map-texturing.js} +15 -21
  243. package/src/assets/components/dis.js +84 -0
  244. package/src/{x_ite/Components/EventUtilities.js → assets/components/event-utilities.js} +20 -26
  245. package/src/{x_ite/Components/Geometry2D.js → assets/components/geometry2d.js} +22 -25
  246. package/src/{components → assets/components}/geospatial.js +0 -0
  247. package/src/{components → assets/components}/h-anim.js +9 -7
  248. package/src/{x_ite/Components/KeyDeviceSensor.js → assets/components/key-device-sensor.js} +17 -20
  249. package/src/{x_ite/Components/Layout.js → assets/components/layout.js} +20 -23
  250. package/src/{components → assets/components}/nurbs.js +0 -0
  251. package/src/{components → assets/components}/particle-systems.js +1 -1
  252. package/src/assets/components/picking.js +87 -0
  253. package/src/assets/components/projective-texture-mapping.js +75 -0
  254. package/src/{components → assets/components}/rigid-body-physics.js +7 -2
  255. package/src/{x_ite/Components/Scripting.js → assets/components/scripting.js} +13 -19
  256. package/src/{components → assets/components}/texturing-3d.js +12 -13
  257. package/src/assets/components/volume-rendering.js +118 -0
  258. package/src/{x_ite/Components/X_ITE.js → assets/components/x_ite.js} +12 -30
  259. package/src/assets/fonts/DroidSerif-Bold.ttf +0 -0
  260. package/src/assets/fonts/DroidSerif-BoldItalic.ttf +0 -0
  261. package/src/assets/fonts/DroidSerif-Italic.ttf +0 -0
  262. package/src/assets/fonts/DroidSerif-Regular.ttf +0 -0
  263. package/src/assets/fonts/Ubuntu-B.ttf +0 -0
  264. package/src/assets/fonts/Ubuntu-BI.ttf +0 -0
  265. package/src/assets/fonts/Ubuntu-R.ttf +0 -0
  266. package/src/assets/fonts/Ubuntu-RI.ttf +0 -0
  267. package/src/assets/fonts/UbuntuMono-B.ttf +0 -0
  268. package/src/assets/fonts/UbuntuMono-BI.ttf +0 -0
  269. package/src/assets/fonts/UbuntuMono-R.ttf +0 -0
  270. package/src/assets/fonts/UbuntuMono-RI.ttf +0 -0
  271. package/src/assets/hatching/0.png +0 -0
  272. package/src/assets/hatching/1.png +0 -0
  273. package/src/assets/hatching/10.png +0 -0
  274. package/src/assets/hatching/11.png +0 -0
  275. package/src/assets/hatching/12.png +0 -0
  276. package/src/assets/hatching/13.png +0 -0
  277. package/src/assets/hatching/14.png +0 -0
  278. package/src/assets/hatching/15.png +0 -0
  279. package/src/assets/hatching/16.png +0 -0
  280. package/src/assets/hatching/17.png +0 -0
  281. package/src/assets/hatching/18.png +0 -0
  282. package/src/assets/hatching/19.png +0 -0
  283. package/src/assets/hatching/2.png +0 -0
  284. package/src/assets/hatching/3.png +0 -0
  285. package/src/assets/hatching/4.png +0 -0
  286. package/src/assets/hatching/5.png +0 -0
  287. package/src/assets/hatching/6.png +0 -0
  288. package/src/assets/hatching/7.png +0 -0
  289. package/src/assets/hatching/8.png +0 -0
  290. package/src/assets/hatching/9.png +0 -0
  291. package/src/{images → assets/images}/ExamineViewer.png +0 -0
  292. package/src/{images → assets/images}/FlyViewer.png +0 -0
  293. package/src/{images → assets/images}/NoneViewer.png +0 -0
  294. package/src/{images → assets/images}/PlaneViewer.png +0 -0
  295. package/src/{images → assets/images}/PrimitiveQuality.png +0 -0
  296. package/src/{images → assets/images}/TextureQuality.png +0 -0
  297. package/src/{images → assets/images}/Time.png +0 -0
  298. package/src/{images → assets/images}/Viewpoint.png +0 -0
  299. package/src/{images → assets/images}/WalkViewer.png +0 -0
  300. package/src/assets/images/go-next.png +0 -0
  301. package/src/{images → assets/images}/gtk-fullscreen.png +0 -0
  302. package/src/{images → assets/images}/gtk-leave-fullscreen.png +0 -0
  303. package/src/{images → assets/images}/gtk-zoom-fit.png +0 -0
  304. package/src/{images → assets/images}/gtk-zoom-in.png +0 -0
  305. package/src/{images → assets/images}/help-about.png +0 -0
  306. package/src/{images → assets/images}/icon.bw.png +0 -0
  307. package/src/{images → assets/images}/icon.png +0 -0
  308. package/src/assets/images/logo.128.png +0 -0
  309. package/src/{images → assets/images}/logo.bw.png +0 -0
  310. package/src/{images → assets/images}/logo.png +0 -0
  311. package/src/assets/linetype/0.png +0 -0
  312. package/src/assets/linetype/1.png +0 -0
  313. package/src/assets/linetype/10.png +0 -0
  314. package/src/assets/linetype/11.png +0 -0
  315. package/src/assets/linetype/12.png +0 -0
  316. package/src/assets/linetype/13.png +0 -0
  317. package/src/assets/linetype/14.png +0 -0
  318. package/src/assets/linetype/15.png +0 -0
  319. package/src/assets/linetype/16.png +0 -0
  320. package/src/assets/linetype/2.png +0 -0
  321. package/src/assets/linetype/3.png +0 -0
  322. package/src/assets/linetype/4.png +0 -0
  323. package/src/assets/linetype/5.png +0 -0
  324. package/src/assets/linetype/6.png +0 -0
  325. package/src/assets/linetype/7.png +0 -0
  326. package/src/assets/linetype/8.png +0 -0
  327. package/src/assets/linetype/9.png +0 -0
  328. package/src/assets/shaders/Types.glsl +102 -0
  329. package/src/assets/shaders/webgl1/Background.fs +16 -0
  330. package/src/assets/shaders/webgl1/Background.vs +22 -0
  331. package/src/assets/shaders/webgl1/Depth.fs +16 -0
  332. package/src/assets/shaders/webgl1/Depth.vs +20 -0
  333. package/src/assets/shaders/webgl1/Fallback.fs +38 -0
  334. package/src/assets/shaders/webgl1/Fallback.vs +30 -0
  335. package/src/assets/shaders/webgl1/FallbackUnlit.fs +21 -0
  336. package/src/assets/shaders/webgl1/FallbackUnlit.vs +24 -0
  337. package/src/assets/shaders/webgl1/Gouraud.fs +66 -0
  338. package/src/assets/shaders/webgl1/Gouraud.vs +147 -0
  339. package/src/assets/shaders/webgl1/Phong.fs +172 -0
  340. package/src/assets/shaders/webgl1/Phong.vs +67 -0
  341. package/src/assets/shaders/webgl1/PointSet.fs +100 -0
  342. package/src/assets/shaders/webgl1/PointSet.vs +70 -0
  343. package/src/assets/shaders/webgl1/Unlit.fs +86 -0
  344. package/src/assets/shaders/webgl1/Unlit.vs +67 -0
  345. package/src/assets/shaders/webgl1/Wireframe.fs +74 -0
  346. package/src/assets/shaders/webgl1/Wireframe.vs +63 -0
  347. package/src/assets/shaders/webgl1/include/ClipPlanes.glsl +16 -0
  348. package/src/assets/shaders/webgl1/include/Fog.glsl +38 -0
  349. package/src/assets/shaders/webgl1/include/Hatch.glsl +18 -0
  350. package/src/{x_ite/Browser/Shaders/Include/Pack.h → assets/shaders/webgl1/include/Pack.glsl} +0 -1
  351. package/src/assets/shaders/webgl1/include/Perlin.glsl +40 -0
  352. package/src/{x_ite/Browser/Shaders/Include/Shadow.h → assets/shaders/webgl1/include/Shadow.glsl} +33 -33
  353. package/src/assets/shaders/webgl1/include/Texture.glsl +488 -0
  354. package/src/assets/shaders/webgl2/Background.fs +19 -0
  355. package/src/assets/shaders/webgl2/Background.vs +23 -0
  356. package/src/assets/shaders/webgl2/Depth.fs +19 -0
  357. package/src/assets/shaders/webgl2/Depth.vs +21 -0
  358. package/src/assets/shaders/webgl2/Gouraud.fs +64 -0
  359. package/src/assets/shaders/webgl2/Gouraud.vs +148 -0
  360. package/src/assets/shaders/webgl2/Phong.fs +170 -0
  361. package/src/assets/shaders/webgl2/Phong.vs +68 -0
  362. package/src/assets/shaders/webgl2/PointSet.fs +99 -0
  363. package/src/assets/shaders/webgl2/PointSet.vs +71 -0
  364. package/src/assets/shaders/webgl2/Unlit.fs +85 -0
  365. package/src/assets/shaders/webgl2/Unlit.vs +68 -0
  366. package/src/assets/shaders/webgl2/Wireframe.fs +73 -0
  367. package/src/assets/shaders/webgl2/Wireframe.vs +64 -0
  368. package/src/assets/shaders/webgl2/include/ClipPlanes.glsl +16 -0
  369. package/src/assets/shaders/webgl2/include/Fog.glsl +46 -0
  370. package/src/assets/shaders/webgl2/include/Hatch.glsl +18 -0
  371. package/src/assets/shaders/webgl2/include/Pack.glsl +51 -0
  372. package/src/assets/shaders/webgl2/include/Perlin.glsl +40 -0
  373. package/src/assets/shaders/webgl2/include/Shadow.glsl +324 -0
  374. package/src/assets/shaders/webgl2/include/Texture.glsl +623 -0
  375. package/src/bookmarks.js +33 -12
  376. package/src/dummy.js +1 -0
  377. package/src/example.html +8 -7
  378. package/src/examples.js +21 -3
  379. package/src/lib/ammojs/AmmoJS.js +58 -0
  380. package/src/lib/ammojs/Makefile +4 -0
  381. package/src/lib/ammojs/ammo.idl +72 -1
  382. package/src/lib/ammojs/ammo.js +25 -21
  383. package/src/lib/jpeg/jpeg.js +1019 -0
  384. package/src/lib/nurbs/extras/sample.js +137 -80
  385. package/src/locale/de.po +18 -73
  386. package/src/locale/fr.po +18 -74
  387. package/src/spinner.css +18 -6
  388. package/src/standard/Geospatial/Geodetic.js +43 -43
  389. package/src/standard/Geospatial/ReferenceEllipsoids.js +1 -1
  390. package/src/standard/Geospatial/UniversalTransverseMercator.js +42 -42
  391. package/src/standard/Math/Algorithm.js +22 -39
  392. package/src/standard/Math/Algorithms/Bezier.js +147 -0
  393. package/src/standard/Math/Algorithms/MergeSort.js +2 -2
  394. package/src/standard/Math/Algorithms/PartialSort.js +6 -6
  395. package/src/standard/Math/Algorithms/QuickSort.js +8 -6
  396. package/src/standard/Math/Algorithms/SAT.js +4 -8
  397. package/src/standard/Math/Algorithms/eigendecomposition.js +37 -33
  398. package/src/standard/Math/Geometry/Box2.js +84 -56
  399. package/src/standard/Math/Geometry/Box3.js +400 -358
  400. package/src/standard/Math/Geometry/Camera.js +19 -16
  401. package/src/standard/Math/Geometry/Cylinder3.js +13 -13
  402. package/src/standard/Math/Geometry/Line3.js +34 -34
  403. package/src/standard/Math/Geometry/Plane3.js +15 -15
  404. package/src/standard/Math/Geometry/Sphere3.js +122 -105
  405. package/src/standard/Math/Geometry/Spheroid3.js +1 -1
  406. package/src/standard/Math/Geometry/Triangle2.js +5 -5
  407. package/src/standard/Math/Geometry/Triangle3.js +12 -14
  408. package/src/standard/Math/Geometry/ViewVolume.js +303 -106
  409. package/src/standard/Math/Numbers/Color3.js +26 -23
  410. package/src/standard/Math/Numbers/Color4.js +9 -9
  411. package/src/standard/Math/Numbers/Complex.js +13 -17
  412. package/src/standard/Math/Numbers/Matrix2.js +20 -13
  413. package/src/standard/Math/Numbers/Matrix3.js +129 -205
  414. package/src/standard/Math/Numbers/Matrix4.js +136 -257
  415. package/src/standard/Math/Numbers/Quaternion.js +49 -138
  416. package/src/standard/Math/Numbers/Rotation4.js +42 -55
  417. package/src/standard/Math/Numbers/Vector2.js +32 -115
  418. package/src/standard/Math/Numbers/Vector3.js +46 -151
  419. package/src/standard/Math/Numbers/Vector4.js +44 -163
  420. package/src/standard/Math/Utility/BVH.js +21 -20
  421. package/src/standard/Math/Utility/MatrixStack.js +4 -4
  422. package/src/standard/Networking/BinaryTransport.js +8 -8
  423. package/src/standard/Time/MicroTime.js +81 -0
  424. package/src/standard/Utility/DataStorage.js +11 -14
  425. package/src/standard/Utility/MapUtilities.js +69 -0
  426. package/src/standard/Utility/ObjectCache.js +2 -3
  427. package/src/standard/Utility/Shuffle.js +5 -6
  428. package/src/tests.js +84 -5
  429. package/src/x_ite/Base/Events.js +9 -10
  430. package/src/x_ite/Base/X3DChildObject.js +20 -16
  431. package/src/x_ite/Base/X3DEventObject.js +3 -7
  432. package/src/x_ite/Base/X3DObject.js +44 -27
  433. package/src/x_ite/Basic/FieldDefinitionArray.js +11 -4
  434. package/src/x_ite/Basic/X3DBaseNode.js +427 -246
  435. package/src/x_ite/Basic/X3DField.js +48 -69
  436. package/src/x_ite/Basic/X3DFieldDefinition.js +0 -4
  437. package/src/x_ite/Basic/X3DObjectArrayField.js +102 -108
  438. package/src/x_ite/Basic/X3DTypedArrayField.js +194 -163
  439. package/src/x_ite/Bits/TraverseType.js +2 -5
  440. package/src/x_ite/Bits/X3DConstants.js +11 -2
  441. package/src/x_ite/Browser/Core/BrowserOptions.js +89 -68
  442. package/src/x_ite/Browser/Core/BrowserTimings.js +21 -29
  443. package/src/x_ite/Browser/Core/ContextMenu.js +139 -60
  444. package/src/x_ite/Browser/Core/Notification.js +3 -3
  445. package/src/x_ite/Browser/Core/PrimitiveQuality.js +3 -7
  446. package/src/x_ite/Browser/Core/Shading.js +3 -7
  447. package/src/x_ite/Browser/Core/TextureQuality.js +3 -7
  448. package/src/x_ite/Browser/Core/X3DCoreContext.js +398 -58
  449. package/src/x_ite/Browser/Core/X3DCoreContext.js.~1~ +714 -0
  450. package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +17 -28
  451. package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +5 -14
  452. package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +81 -28
  453. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +53 -44
  454. package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +51 -12
  455. package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +8 -9
  456. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +98 -0
  457. package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +14 -206
  458. package/src/x_ite/Browser/Layout/ScreenText.js +226 -254
  459. package/src/x_ite/Browser/Layout/X3DLayoutContext.js +13 -11
  460. package/src/x_ite/Browser/Lighting/X3DLightingContext.js +15 -9
  461. package/src/x_ite/Browser/NURBS/NURBS.js +84 -72
  462. package/src/x_ite/Browser/Navigation/ExamineViewer.js +125 -83
  463. package/src/x_ite/Browser/Navigation/FlyViewer.js +14 -9
  464. package/src/x_ite/Browser/Navigation/LookAtViewer.js +60 -40
  465. package/src/x_ite/Browser/Navigation/NoneViewer.js +12 -1
  466. package/src/x_ite/Browser/Navigation/PlaneViewer.js +39 -20
  467. package/src/x_ite/Browser/Navigation/WalkViewer.js +21 -6
  468. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +110 -85
  469. package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +11 -6
  470. package/src/x_ite/Browser/Navigation/X3DViewer.js +73 -48
  471. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +18 -24
  472. package/src/x_ite/Browser/Networking/urls.js +31 -16
  473. package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +5 -6
  474. package/src/x_ite/Browser/Picking/IntersectionType.js +63 -0
  475. package/src/x_ite/Browser/Picking/MatchCriterion.js +64 -0
  476. package/src/x_ite/Browser/Picking/SortOrder.js +65 -0
  477. package/src/x_ite/Browser/Picking/VolumePicker.js +197 -0
  478. package/src/x_ite/Browser/Picking/X3DPickingContext.js +130 -0
  479. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +26 -20
  480. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +17 -10
  481. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +38 -27
  482. package/src/x_ite/Browser/RigidBodyPhysics/AppliedParametersType.js +70 -0
  483. package/src/x_ite/Browser/Shaders/Shader.js +112 -92
  484. package/src/x_ite/Browser/Shaders/ShaderSource.js +140 -0
  485. package/src/x_ite/Browser/Shaders/ShaderTest.js +92 -77
  486. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +134 -74
  487. package/src/x_ite/Browser/Shape/AlphaMode.js +65 -0
  488. package/src/x_ite/Browser/Shape/LineStipples.xcf +0 -0
  489. package/src/x_ite/Browser/Shape/X3DShapeContext.js +108 -4
  490. package/src/x_ite/Browser/Text/PolygonText.js +153 -170
  491. package/src/x_ite/Browser/Text/TextAlignment.js +3 -7
  492. package/src/x_ite/Browser/Text/X3DTextContext.js +38 -30
  493. package/src/x_ite/Browser/Text/X3DTextGeometry.js +49 -74
  494. package/src/x_ite/Browser/Texturing/MultiTextureFunctionType.js +64 -0
  495. package/src/x_ite/Browser/Texturing/MultiTextureModeType.js +81 -0
  496. package/src/x_ite/Browser/Texturing/MultiTextureSourceType.js +65 -0
  497. package/src/x_ite/Browser/Texturing/TextureCoordinateGeneratorModeType.js +73 -0
  498. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +147 -45
  499. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1126 -0
  500. package/src/x_ite/Browser/Texturing3D/NRRDParser.js +686 -0
  501. package/src/x_ite/Browser/Time/X3DTimeContext.js +20 -17
  502. package/src/x_ite/Browser/VERSION.js +1 -1
  503. package/src/x_ite/Browser/VolumeRendering/VolumeStyle.fs +120 -0
  504. package/src/x_ite/Browser/VolumeRendering/VolumeStyle.vs +28 -0
  505. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +114 -0
  506. package/src/x_ite/Browser/X3DBrowser.js +282 -224
  507. package/src/x_ite/Browser/X3DBrowserContext.js +60 -27
  508. package/src/x_ite/Components/Annotation/AnnotationLayer.js +108 -0
  509. package/src/x_ite/Components/Annotation/AnnotationTarget.js +101 -0
  510. package/src/x_ite/Components/Annotation/GroupAnnotation.js +112 -0
  511. package/src/x_ite/Components/Annotation/IconAnnotation.js +110 -0
  512. package/src/x_ite/Components/Annotation/TextAnnotation.js +102 -0
  513. package/src/x_ite/Components/Annotation/URLAnnotation.js +101 -0
  514. package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +76 -0
  515. package/src/x_ite/Components/CADGeometry/CADAssembly.js +4 -4
  516. package/src/x_ite/Components/CADGeometry/CADFace.js +135 -30
  517. package/src/x_ite/Components/CADGeometry/CADLayer.js +3 -18
  518. package/src/x_ite/Components/CADGeometry/CADPart.js +4 -8
  519. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +18 -10
  520. package/src/x_ite/Components/Core/WorldInfo.js +16 -6
  521. package/src/x_ite/Components/Core/X3DBindableNode.js +4 -33
  522. package/src/x_ite/Components/Core/X3DChildNode.js +14 -1
  523. package/src/x_ite/Components/Core/X3DNode.js +0 -63
  524. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +128 -168
  525. package/src/x_ite/Components/Core.js +6 -9
  526. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +38 -46
  527. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +31 -30
  528. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +42 -57
  529. package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +36 -48
  530. package/src/x_ite/Components/DIS/EspduTransform.js +12 -6
  531. package/src/x_ite/Components/DIS/ReceiverPdu.js +12 -6
  532. package/src/x_ite/Components/DIS/SignalPdu.js +12 -6
  533. package/src/x_ite/Components/DIS/TransmitterPdu.js +12 -6
  534. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +5 -16
  535. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +55 -3
  536. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +3 -5
  537. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +116 -116
  538. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +5 -6
  539. package/src/x_ite/Components/EnvironmentalEffects.js +6 -9
  540. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +116 -117
  541. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +169 -49
  542. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +31 -27
  543. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +12 -5
  544. package/src/x_ite/Components/EnvironmentalSensor.js +6 -9
  545. package/src/x_ite/Components/Followers/ColorChaser.js +1 -3
  546. package/src/x_ite/Components/Followers/ColorDamper.js +1 -3
  547. package/src/x_ite/Components/Followers/CoordinateChaser.js +1 -7
  548. package/src/x_ite/Components/Followers/CoordinateDamper.js +0 -6
  549. package/src/x_ite/Components/Followers/OrientationChaser.js +7 -3
  550. package/src/x_ite/Components/Followers/OrientationDamper.js +7 -3
  551. package/src/x_ite/Components/Followers/PositionChaser.js +1 -3
  552. package/src/x_ite/Components/Followers/PositionChaser2D.js +1 -3
  553. package/src/x_ite/Components/Followers/PositionDamper.js +1 -3
  554. package/src/x_ite/Components/Followers/PositionDamper2D.js +1 -3
  555. package/src/x_ite/Components/Followers/ScalarChaser.js +1 -3
  556. package/src/x_ite/Components/Followers/ScalarDamper.js +1 -3
  557. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +1 -7
  558. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +1 -7
  559. package/src/x_ite/Components/Followers/X3DChaserNode.js +20 -18
  560. package/src/x_ite/Components/Followers/X3DDamperNode.js +5 -7
  561. package/src/x_ite/Components/Followers/X3DFollowerNode.js +5 -7
  562. package/src/x_ite/Components/Followers.js +6 -9
  563. package/src/x_ite/Components/Geometry2D/Arc2D.js +10 -14
  564. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +87 -86
  565. package/src/x_ite/Components/Geometry2D/Circle2D.js +1 -3
  566. package/src/x_ite/Components/Geometry2D/Disk2D.js +43 -58
  567. package/src/x_ite/Components/Geometry2D/Polyline2D.js +4 -8
  568. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +3 -5
  569. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +20 -16
  570. package/src/x_ite/Components/Geometry3D/Cone.js +1 -3
  571. package/src/x_ite/Components/Geometry3D/Cylinder.js +3 -5
  572. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +35 -17
  573. package/src/x_ite/Components/Geometry3D/Extrusion.js +125 -107
  574. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +164 -142
  575. package/src/x_ite/Components/Geometry3D/Sphere.js +3 -5
  576. package/src/x_ite/Components/Geometry3D.js +6 -9
  577. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +7 -7
  578. package/src/x_ite/Components/Geospatial/GeoLOD.js +207 -124
  579. package/src/x_ite/Components/Geospatial/GeoLocation.js +6 -6
  580. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +5 -3
  581. package/src/x_ite/Components/Geospatial/GeoTransform.js +9 -9
  582. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +27 -27
  583. package/src/x_ite/Components/Grouping/Group.js +3 -3
  584. package/src/x_ite/Components/Grouping/StaticGroup.js +49 -56
  585. package/src/x_ite/Components/Grouping/Switch.js +171 -21
  586. package/src/x_ite/Components/Grouping/Transform.js +3 -3
  587. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +68 -15
  588. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +339 -180
  589. package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +51 -25
  590. package/src/x_ite/Components/Grouping/X3DTransformNode.js +2 -4
  591. package/src/x_ite/Components/Grouping.js +6 -9
  592. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimDisplacer.js +4 -4
  593. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimHumanoid.js +24 -14
  594. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimJoint.js +44 -20
  595. package/src/x_ite/Components/HAnim/HAnimMotion.js +113 -0
  596. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimSegment.js +6 -4
  597. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimSite.js +4 -4
  598. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +8 -7
  599. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +4 -3
  600. package/src/x_ite/Components/Interpolation.js +6 -9
  601. package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +1 -3
  602. package/src/x_ite/Components/Layering/Layer.js +12 -2
  603. package/src/x_ite/Components/Layering/LayerSet.js +4 -6
  604. package/src/x_ite/Components/Layering/Viewport.js +8 -8
  605. package/src/x_ite/Components/Layering/X3DLayerNode.js +67 -62
  606. package/src/x_ite/Components/Layering.js +6 -9
  607. package/src/x_ite/Components/Layout/LayoutGroup.js +18 -15
  608. package/src/x_ite/Components/Layout/LayoutLayer.js +10 -5
  609. package/src/x_ite/Components/Layout/ScreenFontStyle.js +12 -14
  610. package/src/x_ite/Components/Layout/ScreenGroup.js +25 -31
  611. package/src/x_ite/Components/Lighting/DirectionalLight.js +27 -22
  612. package/src/x_ite/Components/Lighting/PointLight.js +26 -29
  613. package/src/x_ite/Components/Lighting/SpotLight.js +29 -24
  614. package/src/x_ite/Components/Lighting/X3DLightNode.js +85 -66
  615. package/src/x_ite/Components/Lighting.js +6 -9
  616. package/src/x_ite/Components/NURBS/Contour2D.js +45 -1
  617. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +53 -25
  618. package/src/x_ite/Components/NURBS/NurbsCurve.js +21 -24
  619. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +44 -25
  620. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +19 -21
  621. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +18 -20
  622. package/src/x_ite/Components/NURBS/NurbsSet.js +17 -6
  623. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +2 -2
  624. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +2 -2
  625. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +15 -16
  626. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +38 -1
  627. package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +116 -43
  628. package/src/x_ite/Components/Navigation/Billboard.js +12 -11
  629. package/src/x_ite/Components/Navigation/Collision.js +10 -8
  630. package/src/x_ite/Components/Navigation/LOD.js +207 -59
  631. package/src/x_ite/Components/Navigation/NavigationInfo.js +29 -43
  632. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +99 -18
  633. package/src/x_ite/Components/Navigation/Viewpoint.js +15 -15
  634. package/src/x_ite/Components/Navigation/ViewpointGroup.js +12 -5
  635. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +137 -148
  636. package/src/x_ite/Components/Navigation.js +6 -9
  637. package/src/x_ite/Components/Networking/Anchor.js +22 -24
  638. package/src/x_ite/Components/Networking/Inline.js +63 -44
  639. package/src/x_ite/Components/Networking/X3DUrlObject.js +88 -8
  640. package/src/x_ite/Components/Networking.js +6 -9
  641. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +2 -2
  642. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +215 -199
  643. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +44 -39
  644. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +48 -46
  645. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +121 -117
  646. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +21 -18
  647. package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +20 -22
  648. package/src/x_ite/Components/Picking/LinePickSensor.js +251 -6
  649. package/src/x_ite/Components/Picking/PickableGroup.js +120 -7
  650. package/src/x_ite/Components/Picking/PointPickSensor.js +260 -8
  651. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +174 -4
  652. package/src/x_ite/Components/Picking/VolumePickSensor.js +150 -4
  653. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +377 -4
  654. package/src/x_ite/Components/Picking/X3DPickableObject.js +21 -1
  655. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +26 -11
  656. package/src/x_ite/Components/PointingDeviceSensor.js +6 -9
  657. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +282 -0
  658. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorPerspective.js +227 -0
  659. package/src/x_ite/Components/ProjectiveTextureMapping/X3DTextureProjectorNode.js +217 -0
  660. package/src/x_ite/Components/Rendering/ClipPlane.js +8 -10
  661. package/src/x_ite/Components/Rendering/Color.js +22 -13
  662. package/src/x_ite/Components/Rendering/ColorRGBA.js +28 -16
  663. package/src/x_ite/Components/Rendering/IndexedLineSet.js +52 -33
  664. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +17 -14
  665. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +9 -4
  666. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +17 -17
  667. package/src/x_ite/Components/Rendering/LineSet.js +44 -27
  668. package/src/x_ite/Components/Rendering/Normal.js +20 -4
  669. package/src/x_ite/Components/Rendering/PointSet.js +38 -16
  670. package/src/x_ite/Components/Rendering/TriangleFanSet.js +7 -9
  671. package/src/x_ite/Components/Rendering/TriangleStripSet.js +6 -8
  672. package/src/x_ite/Components/Rendering/X3DColorNode.js +16 -1
  673. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +80 -55
  674. package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +11 -13
  675. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +622 -477
  676. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +159 -90
  677. package/src/x_ite/Components/Rendering.js +6 -9
  678. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +8 -10
  679. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +142 -26
  680. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +312 -128
  681. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +91 -7
  682. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +189 -4
  683. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +82 -4
  684. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +1 -1
  685. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +49 -37
  686. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +45 -39
  687. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +41 -34
  688. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +25 -20
  689. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +8 -10
  690. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +15 -16
  691. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +2 -4
  692. package/src/x_ite/Components/Scripting/Script.js +147 -101
  693. package/src/x_ite/Components/Scripting/X3DScriptNode.js +2 -4
  694. package/src/x_ite/Components/Shaders/ComposedShader.js +17 -19
  695. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +9 -3
  696. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +10 -3
  697. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +10 -3
  698. package/src/x_ite/Components/Shaders/PackagedShader.js +18 -14
  699. package/src/x_ite/Components/Shaders/ShaderPart.js +30 -18
  700. package/src/x_ite/Components/Shaders/ShaderProgram.js +15 -11
  701. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +681 -558
  702. package/src/x_ite/Components/Shaders/X3DShaderNode.js +48 -12
  703. package/src/x_ite/Components/Shaders.js +15 -18
  704. package/src/x_ite/Components/Shape/Appearance.js +153 -77
  705. package/src/x_ite/Components/Shape/FillProperties.js +63 -4
  706. package/src/x_ite/Components/Shape/LineProperties.js +27 -5
  707. package/src/x_ite/Components/Shape/Material.js +48 -62
  708. package/src/x_ite/Components/Shape/PointProperties.js +162 -0
  709. package/src/x_ite/Components/Shape/Shape.js +86 -39
  710. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +53 -59
  711. package/src/x_ite/Components/Shape/UnlitMaterial.js +109 -0
  712. package/src/x_ite/Components/Shape/X3DAppearanceNode.js +9 -6
  713. package/src/x_ite/Components/Shape/X3DMaterialNode.js +16 -3
  714. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +111 -0
  715. package/src/x_ite/Components/Shape/X3DShapeNode.js +41 -17
  716. package/src/x_ite/Components/Shape.js +22 -16
  717. package/src/x_ite/Components/Sound/AudioClip.js +36 -50
  718. package/src/x_ite/Components/Sound/Sound.js +36 -36
  719. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +18 -6
  720. package/src/x_ite/Components/Sound.js +6 -9
  721. package/src/x_ite/Components/Text/FontStyle.js +10 -12
  722. package/src/x_ite/Components/Text/Text.js +6 -6
  723. package/src/x_ite/Components/Text/X3DFontStyleNode.js +56 -87
  724. package/src/x_ite/Components/Text.js +6 -9
  725. package/src/x_ite/Components/Texturing/ImageTexture.js +48 -63
  726. package/src/x_ite/Components/Texturing/MovieTexture.js +42 -56
  727. package/src/x_ite/Components/Texturing/MultiTexture.js +236 -11
  728. package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +73 -6
  729. package/src/x_ite/Components/Texturing/MultiTextureTransform.js +45 -4
  730. package/src/x_ite/Components/Texturing/PixelTexture.js +45 -11
  731. package/src/x_ite/Components/Texturing/TextureCoordinate.js +32 -17
  732. package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +68 -8
  733. package/src/x_ite/Components/Texturing/TextureProperties.js +96 -65
  734. package/src/x_ite/Components/Texturing/TextureTransform.js +55 -47
  735. package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +91 -0
  736. package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +183 -0
  737. package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +77 -0
  738. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +42 -95
  739. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js.~1~ +209 -0
  740. package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +3 -17
  741. package/src/x_ite/Components/Texturing/X3DTextureNode.js +6 -67
  742. package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +4 -11
  743. package/src/x_ite/Components/Texturing.js +31 -25
  744. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +88 -4
  745. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +105 -13
  746. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +124 -4
  747. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +35 -18
  748. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +35 -18
  749. package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +41 -31
  750. package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +18 -11
  751. package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +110 -6
  752. package/src/x_ite/Components/Time/TimeSensor.js +23 -19
  753. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +11 -7
  754. package/src/x_ite/Components/Time.js +6 -9
  755. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +309 -8
  756. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +58 -4
  757. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +217 -6
  758. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +132 -3
  759. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +86 -5
  760. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +309 -11
  761. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +85 -3
  762. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +134 -2
  763. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +222 -9
  764. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +191 -8
  765. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +85 -6
  766. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +95 -5
  767. package/src/x_ite/Components/VolumeRendering/VolumeData.js +153 -8
  768. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +155 -3
  769. package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +62 -0
  770. package/src/x_ite/Components/X_ITE/BlendMode.js +51 -51
  771. package/src/x_ite/Components.js +11 -16
  772. package/src/x_ite/Configuration/ComponentInfo.js +12 -6
  773. package/src/x_ite/Configuration/ComponentInfoArray.js +4 -7
  774. package/src/x_ite/Configuration/ProfileInfo.js +10 -6
  775. package/src/x_ite/Configuration/SupportedComponents.js +66 -40
  776. package/src/x_ite/Configuration/SupportedNodes.js +22 -6
  777. package/src/x_ite/Configuration/SupportedProfiles.js +91 -89
  778. package/src/x_ite/Configuration/UnitInfo.js +12 -2
  779. package/src/x_ite/Configuration/X3DInfoArray.js +37 -18
  780. package/src/x_ite/Execution/BindableList.js +63 -38
  781. package/src/x_ite/Execution/BindableStack.js +63 -71
  782. package/src/x_ite/Execution/ExportedNode.js +25 -2
  783. package/src/x_ite/Execution/ImportedNode.js +122 -39
  784. package/src/x_ite/Execution/Scene.js +22 -14
  785. package/src/x_ite/Execution/World.js +22 -19
  786. package/src/x_ite/Execution/X3DExecutionContext.js +381 -221
  787. package/src/x_ite/Execution/X3DScene.js +213 -53
  788. package/src/x_ite/{Error.js → Fallback.js} +26 -29
  789. package/src/x_ite/Fields/ArrayFields.js +176 -57
  790. package/src/x_ite/Fields/SFBool.js +6 -5
  791. package/src/x_ite/Fields/SFColor.js +24 -21
  792. package/src/x_ite/Fields/SFColorRGBA.js +23 -23
  793. package/src/x_ite/Fields/SFDouble.js +6 -5
  794. package/src/x_ite/Fields/SFFloat.js +7 -6
  795. package/src/x_ite/Fields/SFImage.js +37 -36
  796. package/src/x_ite/Fields/SFInt32.js +5 -4
  797. package/src/x_ite/Fields/SFMatrix3.js +19 -15
  798. package/src/x_ite/Fields/SFMatrix4.js +19 -15
  799. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +10 -2
  800. package/src/x_ite/Fields/SFNode.js +105 -53
  801. package/src/x_ite/Fields/SFNodeCache.js +93 -0
  802. package/src/x_ite/Fields/SFRotation.js +31 -27
  803. package/src/x_ite/Fields/SFString.js +9 -8
  804. package/src/x_ite/Fields/SFTime.js +6 -5
  805. package/src/x_ite/Fields/SFVec2.js +17 -13
  806. package/src/x_ite/Fields/SFVec3.js +21 -17
  807. package/src/x_ite/Fields/SFVec4.js +24 -20
  808. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +8 -4
  809. package/src/x_ite/Fields.js +2 -6
  810. package/src/x_ite/InputOutput/FileLoader.js +174 -190
  811. package/src/x_ite/InputOutput/Generator.js +133 -104
  812. package/src/x_ite/Parser/HTMLSupport.js +3 -596
  813. package/src/x_ite/Parser/JSONParser.js +348 -245
  814. package/src/x_ite/Parser/Parser.js +314 -303
  815. package/src/x_ite/Parser/X3DParser.js +41 -20
  816. package/src/x_ite/Parser/XMLParser.js +178 -60
  817. package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +17 -0
  818. package/src/x_ite/Prototype/ProtoDeclarationArray.js +17 -0
  819. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +104 -44
  820. package/src/x_ite/Prototype/X3DProtoDeclaration.js +111 -42
  821. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +16 -14
  822. package/src/x_ite/Rendering/DependentRenderer.js +7 -9
  823. package/src/x_ite/Rendering/TextureBuffer.js +24 -19
  824. package/src/x_ite/Rendering/X3DRenderObject.js +455 -428
  825. package/src/x_ite/Routing/RouteArray.js +34 -11
  826. package/src/x_ite/Routing/X3DRoute.js +60 -60
  827. package/src/x_ite/Routing/X3DRoutingContext.js +6 -6
  828. package/src/x_ite/X3D.js +30 -37
  829. package/src/x_ite.config.js +40 -5
  830. package/src/x_ite.css +165 -45
  831. package/src/x_ite.html +49 -29
  832. package/src/x_ite.js +86 -25
  833. package/x_ite.min.html +49 -22
  834. package/.bzrignore +0 -3
  835. package/AUTHORS.md +0 -6
  836. package/STYLE_GUIDE.md +0 -51
  837. package/X_ITE.sln +0 -54
  838. package/X_ITE.userprefs +0 -14
  839. package/build/build.mdproj +0 -47
  840. package/build/cad-geometry.build.js +0 -15
  841. package/build/geospatial.build.js +0 -15
  842. package/build/h-anim.build.js +0 -15
  843. package/build/nurbs.build.js +0 -15
  844. package/build/particle-systems.build.js +0 -15
  845. package/build/parts/cad-geometry.end.frag +0 -2
  846. package/build/parts/cad-geometry.start.frag +0 -6
  847. package/build/parts/geospatial.end.frag +0 -2
  848. package/build/parts/geospatial.start.frag +0 -6
  849. package/build/parts/h-anim.end.frag +0 -2
  850. package/build/parts/h-anim.start.frag +0 -6
  851. package/build/parts/nurbs.end.frag +0 -2
  852. package/build/parts/nurbs.start.frag +0 -6
  853. package/build/parts/particle-systems.end.frag +0 -2
  854. package/build/parts/particle-systems.start.frag +0 -6
  855. package/build/parts/rigid-body-physics.end.frag +0 -2
  856. package/build/parts/rigid-body-physics.start.frag +0 -6
  857. package/build/parts/texturing-3d.end.frag +0 -2
  858. package/build/parts/texturing-3d.start.frag +0 -6
  859. package/build/parts/x_ite.end.frag +0 -9
  860. package/build/parts/x_ite.start.frag +0 -6
  861. package/build/rigid-body-physics.build.js +0 -15
  862. package/build/texturing-3d.build.js +0 -15
  863. package/dist/components/README +0 -3
  864. package/dist/components/cad-geometry.min.js +0 -1
  865. package/dist/components/geospatial.min.js +0 -2
  866. package/dist/components/h-anim.min.js +0 -1
  867. package/dist/components/nurbs.min.js +0 -2
  868. package/dist/components/particle-systems.min.js +0 -2
  869. package/dist/components/rigid-body-physics.js +0 -3761
  870. package/dist/components/rigid-body-physics.min.js +0 -56
  871. package/dist/components/texturing-3d.min.js +0 -1
  872. package/dist/dist.mdproj +0 -61
  873. package/dist/images/logo.128.png +0 -0
  874. package/fonts/fonts.mdproj +0 -29
  875. package/meta/meta.mdproj +0 -35
  876. package/src/components/cad-geometry.config.js +0 -56
  877. package/src/components/geospatial.config.js +0 -56
  878. package/src/components/h-anim.config.js +0 -56
  879. package/src/components/nurbs.config.js +0 -61
  880. package/src/components/particle-systems.config.js +0 -56
  881. package/src/components/rigid-body-physics.config.js +0 -61
  882. package/src/components/texturing-3d.config.js +0 -56
  883. package/src/images/logo.128.png +0 -0
  884. package/src/locale/de.mo +0 -0
  885. package/src/locale/fr.mo +0 -0
  886. package/src/src.mdproj +0 -698
  887. package/src/standard/Networking/URI.js +0 -785
  888. package/src/test.x3d +0 -225
  889. package/src/x_ite/Browser/Shaders/Background.fs +0 -31
  890. package/src/x_ite/Browser/Shaders/Background.vs +0 -23
  891. package/src/x_ite/Browser/Shaders/Depth.fs +0 -32
  892. package/src/x_ite/Browser/Shaders/Depth.vs +0 -21
  893. package/src/x_ite/Browser/Shaders/Gouraud.fs +0 -135
  894. package/src/x_ite/Browser/Shaders/Gouraud.vs +0 -145
  895. package/src/x_ite/Browser/Shaders/Phong.fs +0 -269
  896. package/src/x_ite/Browser/Shaders/Phong.vs +0 -47
  897. package/src/x_ite/Browser/Shaders/PointSet.fs +0 -86
  898. package/src/x_ite/Browser/Shaders/Types.h +0 -55
  899. package/src/x_ite/Browser/Shaders/Wireframe.fs +0 -82
  900. package/src/x_ite/Browser/Shaders/Wireframe.vs +0 -61
  901. package/src/x_ite/Components/DIS.js +0 -91
  902. package/src/x_ite/Components/Picking.js +0 -94
  903. package/src/x_ite/Components/VolumeRendering.js +0 -121
@@ -0,0 +1,48 @@
1
+ !function(globalModule,globalRequire){"undefined"==typeof __filename&&(globalModule=void 0,globalRequire=void 0);var module={},exports,process;const define=X3D.define,require=X3D.require;define("x_ite/Components/Texturing3D/X3DTexture3DNode",["x_ite/Components/Texturing/X3DSingleTextureNode","x_ite/Bits/X3DConstants"],function(e,i){"use strict";function r(r){e.call(this,r),this.addType(i.X3DTexture3DNode);const t=this.getBrowser().getContext();this.target=t.TEXTURE_3D,this.width=0,this.height=0,this.depth=0,this.data=null}var t=new Uint8Array([255,255,255,255]);return r.prototype=Object.assign(Object.create(e.prototype),{constructor:r,initialize:function(){e.prototype.initialize.call(this),this.repeatS_.addInterest("updateTextureProperties",this),this.repeatT_.addInterest("updateTextureProperties",this),this.repeatR_.addInterest("updateTextureProperties",this);const i=this.getBrowser().getContext();i.getVersion()<2||(i.bindTexture(i.TEXTURE_3D,this.getTexture()),i.texImage3D(i.TEXTURE_3D,0,i.RGBA,1,1,1,0,i.RGBA,i.UNSIGNED_BYTE,t))},getTarget:function(){return this.target},getWidth:function(){return this.width},getHeight:function(){return this.height},getDepth:function(){return this.depth},getFlipY:function(){return!1},getData:function(){return this.data},clearTexture:function(){var e=this.getBrowser().getContext();this.setTexture(1,1,1,!1,e.RGBA,t),this.data=null},setTexture:function(e,i,r,t,n,f){try{this.width=e,this.height=i,this.depth=r,this.data=f;var a=this.getBrowser().getContext();if(a.getVersion()<2)return;a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),a.pixelStorei(a.UNPACK_ALIGNMENT,1),a.bindTexture(a.TEXTURE_3D,this.getTexture()),a.texImage3D(a.TEXTURE_3D,0,n,e,i,r,0,n,a.UNSIGNED_BYTE,f),this.setTransparent(t),this.updateTextureProperties(),this.addNodeEvent()}catch(e){}},updateTextureProperties:function(){e.prototype.updateTextureProperties.call(this,this.target,this.textureProperties_.getValue(),this.texturePropertiesNode,this.width,this.height,this.repeatS_.getValue(),this.repeatT_.getValue(),this.repeatR_.getValue())},setShaderUniformsToChannel:function(e,i,r,t){e.getVersion()>=2&&(e.activeTexture(e.TEXTURE0+i.getBrowser().getTexture3DUnits()[t]),e.bindTexture(e.TEXTURE_3D,this.getTexture())),e.uniform1i(i.x3d_TextureType[t],3)}}),r}),define("x_ite/Components/Texturing3D/ComposedTexture3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing3D/X3DTexture3DNode","x_ite/Bits/X3DConstants","x_ite/Bits/X3DCast"],function(e,i,r,t,n,f){"use strict";function a(i){t.call(this,i),this.addType(n.ComposedTexture3D),this.addChildObjects("loadState",new e.SFInt32(n.NOT_STARTED_STATE)),this.textureNodes=[]}return a.prototype=Object.assign(Object.create(t.prototype),{constructor:a,fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"description",new e.SFString),new i(n.initializeOnly,"repeatS",new e.SFBool),new i(n.initializeOnly,"repeatT",new e.SFBool),new i(n.initializeOnly,"repeatR",new e.SFBool),new i(n.initializeOnly,"textureProperties",new e.SFNode),new i(n.inputOutput,"texture",new e.MFNode)]),getTypeName:function(){return"ComposedTexture3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"texture"},initialize:function(){t.prototype.initialize.call(this),this.texture_.addInterest("set_texture__",this),this.set_texture__()},checkLoadState:function(){return this.loadState_.getValue()},set_texture__:function(){for(var e=this.textureNodes,i=0,r=e.length;i<r;++i)e[i].removeInterest("update",this);e.length=0;for(var i=0,r=this.texture_.length;i<r;++i){var t=f(n.X3DTexture2DNode,this.texture_[i]);t&&e.push(t)}for(var i=0,r=e.length;i<r;++i)e[i].addInterest("update",this);this.update()},update:function(){for(var e=this.textureNodes,i=0,r=0,t=e.length;r<t;++r)i+=e[r].checkLoadState()===n.COMPLETE_STATE;if(0===e.length||i!==e.length)this.clearTexture(),this.loadState_=n.FAILED_STATE;else{for(var f=this.getBrowser().getContext(),a=e[0],s=a.getWidth(),l=a.getHeight(),o=e.length,u=0,c=s*l*4,d=new Uint8Array(c*o),r=0,h=0;r<o;++r){var b=this.textureNodes[r],k=b.getData();u+=b.getTransparent();for(var w=0;w<c;++w,++h)d[h]=k[w]}this.setTexture(s,l,o,!!u,f.RGBA,d),this.loadState_=n.COMPLETE_STATE}}}),a}),define("x_ite/Browser/Texturing3D/NRRDParser",["pako_inflate"],function(e){"use strict";function i(e){return this.lastIndex=e.lastIndex,e.result=this.exec(e.input),!!e.result&&(e.lastIndex=this.lastIndex,!0)}function r(){this.fieldFunction=new Map([["type",this.getType],["encoding",this.getEncoding],["dimension",this.getDimension],["sizes",this.getSizes],["endian",this.getEndian]])}var t={NRRD:new RegExp("^NRRD(\\d+)\\n","gy"),field:new RegExp("([\\w\\s]+):\\s*(.+?)\\n","gy"),comment:new RegExp("#[^\\n]*\\n","gy"),newLine:new RegExp("\n","gy"),data:new RegExp("([^]*)$","gy")};for(var n in t)t[n].parse=i;return r.prototype={parse:function(e){return this.setInput(e),this.getNRRD()&&(this.getFields(),this.getData()),this.nrrd},setInput:function(e){this.input=e,this.lastIndex=0,this.nrrd={},this.endian="little"},getNRRD:function(){return t.NRRD.parse(this)?(this.nrrd.nrrd=!0,this.nrrd.version=parseInt(this.result[1]),this.endian=this.getEndianess(),!0):(this.nrrd.nrrd=!1,!1)},getFields:function(){for(;t.comment.parse(this););for(;t.field.parse(this);){var e=this.result[1].toLowerCase(),i=this.result[2].trim().toLowerCase(),r=this.fieldFunction.get(e);for(r&&r.call(this,i);t.comment.parse(this););}},getType:function(){var e=new Map([["signed char",["signed char",1]],["int8",["signed char",1]],["int8_t",["signed char",1]],["uchar",["unsigned char",1]],["unsigned char",["unsigned char",1]],["uint8",["unsigned char",1]],["uint8_t",["unsigned char",1]],["short",["signed short",2]],["short int",["signed short",2]],["signed short",["signed short",2]],["signed short int",["signed short",2]],["int16",["signed short",2]],["int16_t",["signed short",2]],["ushort",["unsigned short",2]],["unsigned short",["unsigned short",2]],["unsigned short int",["unsigned short",2]],["uint16",["unsigned short",2]],["uint16_t",["unsigned short",2]],["int",["signed int",4]],["signed int",["signed int",4]],["int32",["signed int",4]],["int32_t",["signed int",4]],["uint",["unsigned int",4]],["unsigned int",["unsigned int",4]],["uint32",["unsigned int",4]],["uint32_t",["unsigned int",4]],["float",["float",4]],["double",["double",8]]]);return function(i){var r=e.get(i);if(void 0===r)throw new Error("Unsupported NRRD type '"+i+"'.");this.byteType=r[0],this.bytes=r[1]}}(),getEncoding:function(){var e=new Map([["ascii","ascii"],["txt","ascii"],["text","ascii"],["raw","raw"],["hex","hex"],["gz","gzip"],["gzip","gzip"]]);return function(i){var r=e.get(i);if(void 0===r)throw new Error("Unsupported NRRD encoding '"+i+"'.");this.encoding=r}}(),getDimension:function(e){var i=e.match(/(\d+)/),r=0;if(i)switch(r=parseInt(i[1])){case 1:case 2:case 3:case 4:return void(this.dimension=r)}throw new Error("Unsupported NRRD dimension '"+r+"', must be 1, 2, 3, or 4.")},getSizes:function(e){for(var i=new RegExp("\\s*(\\d+)","gy"),r=null,t=[];r=i.exec(e);)t.push(parseInt(r[1]));switch(t.length){case 1:return this.nrrd.components=1,this.nrrd.width=t[0],this.nrrd.height=1,void(this.nrrd.depth=1);case 2:return this.nrrd.components=1,this.nrrd.width=t[0],this.nrrd.height=t[1],void(this.nrrd.depth=1);case 3:return this.nrrd.components=1,this.nrrd.width=t[0],this.nrrd.height=t[1],void(this.nrrd.depth=t[2]);case 4:return this.nrrd.components=t[0],this.nrrd.width=t[1],this.nrrd.height=t[2],void(this.nrrd.depth=t[3]);default:throw new Error("Unsupported NRRD sizes.")}},getEndian:function(e){if("little"===e||"big"===e)return void(this.endian=e);throw new Error("Unsupported NRRD endian, must be 'little' or 'big'.")},getData:function(){switch(this.encoding){case"ascii":this.ascii();break;case"raw":this.rawString(this.input);break;case"hex":this.hex();break;case"gzip":this.gzip()}},ascii:function(){var e=this.nrrd.components*this.nrrd.width*this.nrrd.height*this.nrrd.depth,i=new Uint8Array(e);if(this.nrrd.data=i,t.data.parse(this)){var r=this.result[1].trim().split(/\s+/);switch(this.byteType){case"signed char":case"unsigned char":return void r.forEach(function(e,r){i[r]=parseInt(e)});case"signed short":case"unsigned short":return void r.forEach(function(e,r){i[r]=parseInt(e)/256});case"signed int":case"unsigned int":return void r.forEach(function(e,r){i[r]=parseInt(e)/16777216});case"float":return void r.forEach(function(e,r){i[r]=parseFloat(e)/256});case"double":return void r.forEach(function(e,r){i[r]=parseFloat(e)/16777216})}}},rawString:function(e){var i=this.nrrd.components*this.nrrd.width*this.nrrd.height*this.nrrd.depth,r=i*this.bytes,t=new Uint8Array(i);switch(this.nrrd.data=t,this.byteType){case"signed char":case"unsigned char":for(var n=e.length-r,f=0;n<e.length;++n,++f)t[f]=e.charCodeAt(n);return;case"signed short":case"unsigned short":if(this.getEndianess()===this.endian)var a=0,s=1;else var a=1,s=0;for(var n=e.length-r,f=0;n<e.length;n+=2,++f)t[f]=this.short2byte(e.charCodeAt(n+a),e.charCodeAt(n+s));return;case"signed int":case"unsigned int":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3;else var a=3,s=2,l=1,o=0;for(var n=e.length-r,f=0;n<e.length;n+=4,++f)t[f]=this.int2byte(e.charCodeAt(n+a),e.charCodeAt(n+s),e.charCodeAt(n+l),e.charCodeAt(n+o));return;case"float":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3;else var a=3,s=2,l=1,o=0;for(var n=e.length-r,f=0;n<e.length;n+=4,++f)t[f]=this.float2byte(e.charCodeAt(n+a),e.charCodeAt(n+s),e.charCodeAt(n+l),e.charCodeAt(n+o));return;case"double":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3,u=4,c=5,d=6,h=7;else var a=7,s=6,l=5,o=4,u=3,c=2,d=1,h=0;for(var n=e.length-r,f=0;n<e.length;n+=8,++f)t[f]=this.double2byte(e.charCodeAt(n+a),e.charCodeAt(n+s),e.charCodeAt(n+l),e.charCodeAt(n+o),e.charCodeAt(n+u),e.charCodeAt(n+c),e.charCodeAt(n+d),e.charCodeAt(n+h));return}},rawArray:function(e){var i=this.nrrd.components*this.nrrd.width*this.nrrd.height*this.nrrd.depth,r=i*this.bytes,t=new Uint8Array(i);switch(this.nrrd.data=t,this.byteType){case"signed char":case"unsigned char":for(var n=e.length-r,f=0;n<e.length;++n,++f)t[f]=e[n];return;case"signed short":case"unsigned short":if(this.getEndianess()===this.endian)var a=0,s=1;else var a=1,s=0;for(var n=e.length-r,f=0;n<e.length;n+=2,++f)t[f]=this.short2byte(e[n+a],e[n+s]);return;case"signed int":case"unsigned int":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3;else var a=3,s=2,l=1,o=0;for(var n=e.length-r,f=0;n<e.length;n+=4,++f)t[f]=this.int2byte(e[n+a],e[n+s],e[n+l],e[n+o]);return;case"float":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3;else var a=3,s=2,l=1,o=0;for(var n=e.length-r,f=0;n<e.length;n+=4,++f)t[f]=this.float2byte(e[n+a],e[n+s],e[n+l],e[n+o]);return;case"double":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3,u=4,c=5,d=6,h=7;else var a=7,s=6,l=5,o=4,u=3,c=2,d=1,h=0;for(var n=e.length-r,f=0;n<e.length;n+=8,++f)t[f]=this.double2byte(e[n+a],e[n+s],e[n+l],e[n+o],e[n+u],e[n+c],e[n+d],e[n+h]);return}},hex:function(){if(t.data.parse(this)){var e=this.result[1].match(/([0-9a-fA-F]{2})/g);if(e){var i=e.map(function(e){return parseInt(e,16)});return void this.rawArray(i)}}throw new Error("Invalid NRRD data.")},gzip:function(){try{if(!t.newLine.parse(this))throw new Error("Invalid NRRD data.");t.data.parse(this);var i=e.ungzip(this.result[1],{to:"raw"});this.rawArray(i)}catch(e){throw new Error("Invalid NRRD data.")}},getEndianess:function(){var e=new ArrayBuffer(4),i=new Uint32Array(e),r=new Uint8Array(e);if(i[0]=16909060,1==r[0]&&2==r[1]&&3==r[2]&&4==r[3])return"big";if(4==r[0]&&3==r[1]&&2==r[2]&&1==r[3])return"little";throw new Error("NRRD: unkown system endianess,")},short2byte:function(){var e=new Uint8Array(2),i=new Uint16Array(e.buffer);return function(r,t){return e[0]=r,e[1]=t,i[0]/256}}(),int2byte:function(){var e=new Uint8Array(4),i=new Uint32Array(e.buffer);return function(r,t,n,f){return e[0]=r,e[1]=t,e[2]=n,e[3]=f,i[0]/16777216}}(),float2byte:function(){var e=new Uint8Array(4),i=new Float32Array(e.buffer);return function(r,t,n,f){return e[0]=r,e[1]=t,e[2]=n,e[3]=f,i[0]/256}}(),double2byte:function(){var e=new Uint8Array(8),i=new Float64Array(e.buffer);return function(r,t,n,f,a,s,l,o){return e[0]=r,e[1]=t,e[2]=n,e[3]=f,e[4]=a,e[5]=s,e[6]=l,e[7]=o,i[0]/16777216}}()},r}),define("zlib",["zlib/dummy"],function(e){return e}),define("zlib/dummy",function(){}),function(e,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(require("zlib")):"function"==typeof define&&define.amd?define("dicom-parser",["zlib"],i):"object"==typeof exports?exports["dicom-parser"]=i(require("zlib")):e.dicomParser=i(e.zlib)}(this,function(e){return function(e){function i(e){delete installedChunks[e]}function r(e){var i=document.createElement("script");i.charset="utf-8",i.src=w.p+""+e+"."+A+".hot-update.js",document.head.appendChild(i)}function t(e){return e=e||1e4,new Promise(function(i,r){if("undefined"==typeof XMLHttpRequest)return r(new Error("No browser support"));try{var t=new XMLHttpRequest,n=w.p+""+A+".hot-update.json";t.open("GET",n,!0),t.timeout=e,t.send(null)}catch(e){return r(e)}t.onreadystatechange=function(){if(4===t.readyState)if(0===t.status)r(new Error("Manifest request to "+n+" timed out."));else if(404===t.status)i();else if(200!==t.status&&304!==t.status)r(new Error("Manifest request to "+n+" failed."));else{try{var e=JSON.parse(t.responseText)}catch(e){return void r(e)}i(e)}}})}function n(e){var i=B[e];if(!i)return w;var r=function(r){return i.hot.active?(B[r]?B[r].parents.indexOf(e)===-1&&B[r].parents.push(e):(M=[e],_=r),i.children.indexOf(r)===-1&&i.children.push(r)):(console.warn("[HMR] unexpected require("+r+") from disposed module "+e),M=[]),w(r)};for(var t in w)Object.prototype.hasOwnProperty.call(w,t)&&"e"!==t&&"t"!==t&&Object.defineProperty(r,t,function(e){return{configurable:!0,enumerable:!0,get:function(){return w[e]},set:function(i){w[e]=i}}}(t));return r.e=function(e){function i(){R--,"prepare"===x&&(O[e]||u(e),0===R&&0===D&&c())}return"ready"===x&&a("prepare"),R++,w.e(e).then(i,function(e){throw i(),e})},r.t=function(e,i){return 1&i&&(e=r(e)),w.t(e,i&-2)},r}function f(i){var r={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_selfInvalidated:!1,_disposeHandlers:[],_main:_!==i,active:!0,accept:function(e,i){if(void 0===e)r._selfAccepted=!0;else if("function"==typeof e)r._selfAccepted=e;else if("object"==typeof e)for(var t=0;t<e.length;t++)r._acceptedDependencies[e[t]]=i||function(){};else r._acceptedDependencies[e]=i||function(){}},decline:function(e){if(void 0===e)r._selfDeclined=!0;else if("object"==typeof e)for(var i=0;i<e.length;i++)r._declinedDependencies[e[i]]=!0;else r._declinedDependencies[e]=!0},dispose:function(e){r._disposeHandlers.push(e)},addDisposeHandler:function(e){r._disposeHandlers.push(e)},removeDisposeHandler:function(e){var i=r._disposeHandlers.indexOf(e);i>=0&&r._disposeHandlers.splice(i,1)},invalidate:function(){switch(this._selfInvalidated=!0,x){case"idle":v={},v[i]=e[i],a("ready");break;case"ready":k(i);break;case"prepare":case"check":case"dispose":case"apply":(y=y||[]).push(i)}},check:l,apply:d,status:function(e){if(!e)return x;P.push(e)},addStatusHandler:function(e){P.push(e)},removeStatusHandler:function(e){var i=P.indexOf(e);i>=0&&P.splice(i,1)},data:T[i]};return _=void 0,r}function a(e){x=e;for(var i=0;i<P.length;i++)P[i].call(null,e)}function s(e){return+e+""===e?+e:e}function l(e){if("idle"!==x)throw new Error("check() is only allowed in idle status");return E=e,a("check"),t(S).then(function(e){if(!e)return a(b()?"ready":"idle"),null;L={},O={},I=e.c,g=e.h,a("prepare");var i=new Promise(function(e,i){p={resolve:e,reject:i}});v={};return u("dicomParser"),"prepare"===x&&0===R&&0===D&&c(),i})}function o(e,i){if(I[e]&&L[e]){L[e]=!1;for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(v[r]=i[r]);0==--D&&0===R&&c()}}function u(e){I[e]?(L[e]=!0,D++,r(e)):O[e]=!0}function c(){a("ready");var e=p;if(p=null,e)if(E)Promise.resolve().then(function(){return d(E)}).then(function(i){e.resolve(i)},function(i){e.reject(i)});else{var i=[];for(var r in v)Object.prototype.hasOwnProperty.call(v,r)&&i.push(s(r));e.resolve(i)}}function d(e){if("ready"!==x)throw new Error("apply() is only allowed in ready status");return e=e||{},h(e)}function h(r){function t(e,i){for(var r=0;r<i.length;r++){var t=i[r];e.indexOf(t)===-1&&e.push(t)}}b();var n,f,l,o,u,c={},d=[],k={},m=function(){console.warn("[HMR] unexpected require("+E.moduleId+") to disposed module")};for(var p in v)if(Object.prototype.hasOwnProperty.call(v,p)){u=s(p);var E;E=v[p]?function(e){for(var i=[e],r={},n=i.map(function(e){return{chain:[e],id:e}});n.length>0;){var f=n.pop(),a=f.id,s=f.chain;if((o=B[a])&&(!o.hot._selfAccepted||o.hot._selfInvalidated)){if(o.hot._selfDeclined)return{type:"self-declined",chain:s,moduleId:a};if(o.hot._main)return{type:"unaccepted",chain:s,moduleId:a};for(var l=0;l<o.parents.length;l++){var u=o.parents[l],c=B[u];if(c){if(c.hot._declinedDependencies[a])return{type:"declined",chain:s.concat([u]),moduleId:a,parentId:u};i.indexOf(u)===-1&&(c.hot._acceptedDependencies[a]?(r[u]||(r[u]=[]),t(r[u],[a])):(delete r[u],i.push(u),n.push({chain:s.concat([u]),id:u})))}}}}return{type:"accepted",moduleId:e,outdatedModules:i,outdatedDependencies:r}}(u):{type:"disposed",moduleId:p};var S=!1,C=!1,P=!1,x="";switch(E.chain&&(x="\nUpdate propagation: "+E.chain.join(" -> ")),E.type){case"self-declined":r.onDeclined&&r.onDeclined(E),r.ignoreDeclined||(S=new Error("Aborted because of self decline: "+E.moduleId+x));break;case"declined":r.onDeclined&&r.onDeclined(E),r.ignoreDeclined||(S=new Error("Aborted because of declined dependency: "+E.moduleId+" in "+E.parentId+x));break;case"unaccepted":r.onUnaccepted&&r.onUnaccepted(E),r.ignoreUnaccepted||(S=new Error("Aborted because "+u+" is not accepted"+x));break;case"accepted":r.onAccepted&&r.onAccepted(E),C=!0;break;case"disposed":r.onDisposed&&r.onDisposed(E),P=!0;break;default:throw new Error("Unexception type "+E.type)}if(S)return a("abort"),Promise.reject(S);if(C){k[u]=v[u],t(d,E.outdatedModules);for(u in E.outdatedDependencies)Object.prototype.hasOwnProperty.call(E.outdatedDependencies,u)&&(c[u]||(c[u]=[]),t(c[u],E.outdatedDependencies[u]))}P&&(t(d,[E.moduleId]),k[u]=m)}var D=[];for(f=0;f<d.length;f++)u=d[f],B[u]&&B[u].hot._selfAccepted&&k[u]!==m&&!B[u].hot._selfInvalidated&&D.push({module:u,parents:B[u].parents.slice(),errorHandler:B[u].hot._selfAccepted});a("dispose"),Object.keys(I).forEach(function(e){I[e]===!1&&i(e)});for(var R,O=d.slice();O.length>0;)if(u=O.pop(),o=B[u]){var L={},N=o.hot._disposeHandlers;for(l=0;l<N.length;l++)(n=N[l])(L);for(T[u]=L,o.hot.active=!1,delete B[u],delete c[u],l=0;l<o.children.length;l++){var F=B[o.children[l]];F&&(R=F.parents.indexOf(u))>=0&&F.parents.splice(R,1)}}var j,U;for(u in c)if(Object.prototype.hasOwnProperty.call(c,u)&&(o=B[u]))for(U=c[u],l=0;l<U.length;l++)j=U[l],(R=o.children.indexOf(j))>=0&&o.children.splice(R,1);a("apply"),void 0!==g&&(A=g,g=void 0),v=void 0;for(u in k)Object.prototype.hasOwnProperty.call(k,u)&&(e[u]=k[u]);var H=null;for(u in c)if(Object.prototype.hasOwnProperty.call(c,u)&&(o=B[u])){U=c[u];var Y=[];for(f=0;f<U.length;f++)if(j=U[f],n=o.hot._acceptedDependencies[j]){if(Y.indexOf(n)!==-1)continue;Y.push(n)}for(f=0;f<Y.length;f++){n=Y[f];try{n(U)}catch(e){r.onErrored&&r.onErrored({type:"accept-errored",moduleId:u,dependencyId:U[f],error:e}),r.ignoreErrored||H||(H=e)}}}for(f=0;f<D.length;f++){var q=D[f];u=q.module,M=q.parents,_=u;try{w(u)}catch(e){if("function"==typeof q.errorHandler)try{q.errorHandler(e)}catch(i){r.onErrored&&r.onErrored({type:"self-accept-error-handler-errored",moduleId:u,error:i,originalError:e}),r.ignoreErrored||H||(H=i),H||(H=e)}else r.onErrored&&r.onErrored({type:"self-accept-errored",moduleId:u,error:e}),r.ignoreErrored||H||(H=e)}}return H?(a("fail"),Promise.reject(H)):y?h(r).then(function(e){return d.forEach(function(i){e.indexOf(i)<0&&e.push(i)}),e}):(a("idle"),new Promise(function(e){e(d)}))}function b(){if(y)return v||(v={}),y.forEach(k),y=void 0,!0}function k(i){Object.prototype.hasOwnProperty.call(v,i)||(v[i]=e[i])}function w(i){if(B[i])return B[i].exports;var r=B[i]={i:i,l:!1,exports:{},hot:f(i),parents:(C=M,M=[],C),children:[]};return e[i].call(r.exports,r,r.exports,n(i)),r.l=!0,r.exports}var m=this.webpackHotUpdate;this.webpackHotUpdate=function(e,i){o(e,i),m&&m(e,i)};var _,p,v,g,y,E=!0,A="10548f5b41ce6f922e03",S=1e4,T={},M=[],C=[],P=[],x="idle",D=0,R=0,O={},L={},I={},B={};return w.m=e,w.c=B,w.d=function(e,i,r){w.o(e,i)||Object.defineProperty(e,i,{enumerable:!0,get:r})},w.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},w.t=function(e,i){if(1&i&&(e=w(e)),8&i)return e;if(4&i&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(w.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&i&&"string"!=typeof e)for(var t in e)w.d(r,t,function(i){return e[i]}.bind(null,t));return r},w.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return w.d(i,"a",i),i},w.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},w.p="",w.h=function(){return A},n("./index.js")(w.s="./index.js")}({"./alloc.js":function(e,i,r){function t(e,i){if("undefined"!=typeof Buffer&&e instanceof Buffer)return Buffer.alloc(i);if(e instanceof Uint8Array)return new Uint8Array(i);throw"dicomParser.alloc: unknown type for byteArray"}r.r(i),r.d(i,"default",function(){return t})},"./bigEndianByteArrayParser.js":function(e,i,r){r.r(i),i.default={readUint16:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readUint16: position cannot be less than 0";if(i+2>e.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(e[i]<<8)+e[i+1]},readInt16:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if(i+2>e.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=(e[i]<<8)+e[i+1];return 32768&r&&(r=r-65535-1),r},readUint32:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*e[i]+e[i+1])+e[i+2])+e[i+3]},readInt32:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(e[i]<<24)+(e[i+1]<<16)+(e[i+2]<<8)+e[i+3]},readFloat:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[3]=e[i],r[2]=e[i+1],r[1]=e[i+2],r[0]=e[i+3],new Float32Array(r.buffer)[0]},readDouble:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if(i+8>e.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[7]=e[i],r[6]=e[i+1],r[5]=e[i+2],r[4]=e[i+3],r[3]=e[i+4],r[2]=e[i+5],r[1]=e[i+6],r[0]=e[i+7],new Float64Array(r.buffer)[0]}}},"./byteArrayParser.js":function(e,i,r){function t(e,i,r){if(r<0)throw"dicomParser.readFixedString - length cannot be less than 0";if(i+r>e.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var t,n="",f=0;f<r;f++){if(0===(t=e[i+f]))return i+=r,n;n+=String.fromCharCode(t)}return n}r.r(i),r.d(i,"readFixedString",function(){return t})},"./byteStream.js":function(e,i,r){function t(e,i){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")}function n(e,i){for(var r=0;r<i.length;r++){var t=i[r];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}function f(e,i,r){return i&&n(e.prototype,i),r&&n(e,r),e}r.r(i),r.d(i,"default",function(){return l});var a=r("./sharedCopy.js"),s=r("./byteArrayParser.js"),l=function(){function e(i,r,n){if(t(this,e),void 0===i)throw"dicomParser.ByteStream: missing required parameter 'byteArrayParser'";if(void 0===r)throw"dicomParser.ByteStream: missing required parameter 'byteArray'";if(r instanceof Uint8Array==!1&&("undefined"==typeof Buffer||r instanceof Buffer==!1))throw"dicomParser.ByteStream: parameter byteArray is not of type Uint8Array or Buffer";if(n<0)throw"dicomParser.ByteStream: parameter 'position' cannot be less than 0";if(n>=r.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=i,this.byteArray=r,this.position=n?n:0,this.warnings=[]}return f(e,[{key:"seek",value:function(e){if(this.position+e<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=e}},{key:"readByteStream",value:function(i){if(this.position+i>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var r=Object(a.default)(this.byteArray,this.position,i);return this.position+=i,new e(this.byteArrayParser,r)}},{key:"readUint16",value:function(){var e=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,e}},{key:"readUint32",value:function(){var e=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,e}},{key:"readFixedString",value:function(e){var i=Object(s.readFixedString)(this.byteArray,this.position,e);return this.position+=e,i}}]),e}()},"./dataSet.js":function(e,i,r){function t(e,i){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")}function n(e,i){for(var r=0;r<i.length;r++){var t=i[r];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}function f(e,i,r){return i&&n(e.prototype,i),r&&n(e,r),e}function a(e,i){return void 0!==e.parser?e.parser:i}r.r(i),r.d(i,"default",function(){return l});var s=r("./byteArrayParser.js"),l=function(){function e(i,r,n){t(this,e),this.byteArrayParser=i,this.byteArray=r,this.elements=n}return f(e,[{key:"uint16",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readUint16(this.byteArray,r.dataOffset+2*i)}},{key:"int16",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readInt16(this.byteArray,r.dataOffset+2*i)}},{key:"uint32",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readUint32(this.byteArray,r.dataOffset+4*i)}},{key:"int32",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readInt32(this.byteArray,r.dataOffset+4*i)}},{key:"float",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readFloat(this.byteArray,r.dataOffset+4*i)}},{key:"double",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readDouble(this.byteArray,r.dataOffset+8*i)}},{key:"numStringValues",value:function(e){var i=this.elements[e];if(i&&i.length>0){var r=Object(s.readFixedString)(this.byteArray,i.dataOffset,i.length),t=r.match(/\\/g);return null===t?1:t.length+1}}},{key:"string",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){var t=Object(s.readFixedString)(this.byteArray,r.dataOffset,r.length);if(i>=0){return t.split("\\")[i].trim()}return t.trim()}}},{key:"text",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){var t=Object(s.readFixedString)(this.byteArray,r.dataOffset,r.length);if(i>=0){return t.split("\\")[i].replace(/ +$/,"")}return t.replace(/ +$/,"")}}},{key:"floatString",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){i=void 0!==i?i:0;var t=this.string(e,i);if(void 0!==t)return parseFloat(t)}}},{key:"intString",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){i=void 0!==i?i:0;var t=this.string(e,i);if(void 0!==t)return parseInt(t)}}},{key:"attributeTag",value:function(e){var i=this.elements[e];if(i&&4===i.length){var r=a(i,this.byteArrayParser).readUint16,t=this.byteArray,n=i.dataOffset;return"x".concat("00000000".concat((256*r(t,n)*256+r(t,n+2)).toString(16)).substr(-8))}}}]),e}()},"./findAndSetUNElementLength.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;){if(65534===e.readUint16()){if(57565===e.readUint16()){return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(i.tag)),void(i.length=e.position-i.dataOffset)}}}i.length=e.byteArray.length-i.dataOffset,e.seek(e.byteArray.length-e.position)}r.r(i),r.d(i,"default",function(){return t})},"./findEndOfEncapsulatedPixelData.js":function(e,i,r){function t(e,i,r){if(void 0===e)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'element'";if(i.encapsulatedPixelData=!0,i.basicOffsetTable=[],i.fragments=[],"xfffee000"!==Object(n.default)(e))throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var t=e.readUint32(),f=t/4,a=0;a<f;a++){var s=e.readUint32();i.basicOffsetTable.push(s)}for(var l=e.position;e.position<e.byteArray.length;){var o=Object(n.default)(e),u=e.readUint32();if("xfffee0dd"===o)return e.seek(u),void(i.length=e.position-i.dataOffset);if("xfffee000"!==o)return r&&r.push("unexpected tag ".concat(o," while searching for end of pixel data element with undefined length")),u>e.byteArray.length-e.position&&(u=e.byteArray.length-e.position),i.fragments.push({offset:e.position-l-8,position:e.position,length:u}),e.seek(u),void(i.length=e.position-i.dataOffset);i.fragments.push({offset:e.position-l-8,position:e.position,length:u}),e.seek(u)}r&&r.push("pixel data element ".concat(i.tag," missing sequence delimiter tag xfffee0dd"))}r.r(i),r.d(i,"default",function(){return t});var n=r("./readTag.js")},"./findItemDelimitationItem.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;){if(65534===e.readUint16()){if(57357===e.readUint16()){return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(i.tag)),void(i.length=e.position-i.dataOffset)}}}i.length=e.byteArray.length-i.dataOffset,e.seek(e.byteArray.length-e.position)}r.r(i),r.d(i,"default",function(){return t})},"./index.js":function(e,i,r){r.r(i);var t=r("./util/index.js");r.d(i,"isStringVr",function(){return t.isStringVr}),r.d(i,"isPrivateTag",function(){return t.isPrivateTag}),r.d(i,"parsePN",function(){return t.parsePN}),r.d(i,"parseTM",function(){return t.parseTM}),r.d(i,"parseDA",function(){return t.parseDA}),r.d(i,"explicitElementToString",function(){return t.explicitElementToString}),r.d(i,"explicitDataSetToJS",function(){return t.explicitDataSetToJS}),r.d(i,"createJPEGBasicOffsetTable",function(){return t.createJPEGBasicOffsetTable});var n=r("./parseDicomDataSet.js");r.d(i,"parseDicomDataSetExplicit",function(){return n.parseDicomDataSetExplicit}),r.d(i,"parseDicomDataSetImplicit",function(){return n.parseDicomDataSetImplicit});var f=r("./byteArrayParser.js");r.d(i,"readFixedString",function(){return f.readFixedString});var a=r("./alloc.js")
2
+ ;r.d(i,"alloc",function(){return a.default});var s=r("./version.js");r.d(i,"version",function(){return s.default});var l=r("./bigEndianByteArrayParser.js");r.d(i,"bigEndianByteArrayParser",function(){return l.default});var o=r("./byteStream.js");r.d(i,"ByteStream",function(){return o.default});var u=r("./sharedCopy.js");r.d(i,"sharedCopy",function(){return u.default});var c=r("./dataSet.js");r.d(i,"DataSet",function(){return c.default});var d=r("./findAndSetUNElementLength.js");r.d(i,"findAndSetUNElementLength",function(){return d.default});var h=r("./findEndOfEncapsulatedPixelData.js");r.d(i,"findEndOfEncapsulatedElement",function(){return h.default});var b=r("./findItemDelimitationItem.js");r.d(i,"findItemDelimitationItemAndSetElementLength",function(){return b.default});var k=r("./littleEndianByteArrayParser.js");r.d(i,"littleEndianByteArrayParser",function(){return k.default});var w=r("./parseDicom.js");r.d(i,"parseDicom",function(){return w.default});var m=r("./readDicomElementExplicit.js");r.d(i,"readDicomElementExplicit",function(){return m.default});var _=r("./readDicomElementImplicit.js");r.d(i,"readDicomElementImplicit",function(){return _.default});var p=r("./readEncapsulatedImageFrame.js");r.d(i,"readEncapsulatedImageFrame",function(){return p.default});var v=r("./readEncapsulatedPixelData.js");r.d(i,"readEncapsulatedPixelData",function(){return v.default});var g=r("./readEncapsulatedPixelDataFromFragments.js");r.d(i,"readEncapsulatedPixelDataFromFragments",function(){return g.default});var y=r("./readPart10Header.js");r.d(i,"readPart10Header",function(){return y.default});var E=r("./readSequenceElementExplicit.js");r.d(i,"readSequenceItemsExplicit",function(){return E.default});var A=r("./readSequenceElementImplicit.js");r.d(i,"readSequenceItemsImplicit",function(){return A.default});var S=r("./readSequenceItem.js");r.d(i,"readSequenceItem",function(){return S.default});var T=r("./readTag.js");r.d(i,"readTag",function(){return T.default});var M={isStringVr:t.isStringVr,isPrivateTag:t.isPrivateTag,parsePN:t.parsePN,parseTM:t.parseTM,parseDA:t.parseDA,explicitElementToString:t.explicitElementToString,explicitDataSetToJS:t.explicitDataSetToJS,createJPEGBasicOffsetTable:t.createJPEGBasicOffsetTable,parseDicomDataSetExplicit:n.parseDicomDataSetExplicit,parseDicomDataSetImplicit:n.parseDicomDataSetImplicit,readFixedString:f.readFixedString,alloc:a.default,version:s.default,bigEndianByteArrayParser:l.default,ByteStream:o.default,sharedCopy:u.default,DataSet:c.default,findAndSetUNElementLength:d.default,findEndOfEncapsulatedElement:h.default,findItemDelimitationItemAndSetElementLength:b.default,littleEndianByteArrayParser:k.default,parseDicom:w.default,readDicomElementExplicit:m.default,readDicomElementImplicit:_.default,readEncapsulatedImageFrame:p.default,readEncapsulatedPixelData:v.default,readEncapsulatedPixelDataFromFragments:g.default,readPart10Header:y.default,readSequenceItemsExplicit:E.default,readSequenceItemsImplicit:A.default,readSequenceItem:S.default,readTag:T.default};i.default=M},"./littleEndianByteArrayParser.js":function(e,i,r){r.r(i),i.default={readUint16:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if(i+2>e.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return e[i]+256*e[i+1]},readInt16:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if(i+2>e.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=e[i]+(e[i+1]<<8);return 32768&r&&(r=r-65535-1),r},readUint32:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return e[i]+256*e[i+1]+256*e[i+2]*256+256*e[i+3]*256*256},readInt32:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return e[i]+(e[i+1]<<8)+(e[i+2]<<16)+(e[i+3]<<24)},readFloat:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[0]=e[i],r[1]=e[i+1],r[2]=e[i+2],r[3]=e[i+3],new Float32Array(r.buffer)[0]},readDouble:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if(i+8>e.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[0]=e[i],r[1]=e[i+1],r[2]=e[i+2],r[3]=e[i+3],r[4]=e[i+4],r[5]=e[i+5],r[6]=e[i+6],r[7]=e[i+7],new Float64Array(r.buffer)[0]}}},"./parseDicom.js":function(e,i,r){function t(e,i){function t(i){if(void 0===i.elements.x00020010)throw"dicomParser.parseDicom: missing required meta header attribute 0002,0010";var r=i.elements.x00020010;return c.readFixedString(e,r.dataOffset,r.length)}function h(e){return"1.2.840.10008.1.2"!==e}function b(t,s){var o="[object process]"===Object.prototype.toString.call(void 0!==process?process:0);if("1.2.840.10008.1.2.1.99"===t){if(i&&i.inflater){var c=i.inflater(e,s);return new a.default(l.default,c,0)}if(o===!0){var d=r("zlib"),h=Object(u.default)(e,s,e.length-s),b=d.inflateRawSync(h),k=Object(n.default)(e,b.length+s);return e.copy(k,0,0,s),b.copy(k,s),new a.default(l.default,k,0)}if("undefined"!=typeof pako){var w=e.slice(s),m=pako.inflateRaw(w),_=Object(n.default)(e,m.length+s);return _.set(e.slice(0,s),0),_.set(m,s),new a.default(l.default,_,0)}throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax"}return"1.2.840.10008.1.2.2"===t?new a.default(f.default,e,s):new a.default(l.default,e,s)}function k(e,i){for(var r in e.elements)e.elements.hasOwnProperty(r)&&(i.elements[r]=e.elements[r]);return void 0!==e.warnings&&(i.warnings=e.warnings.concat(i.warnings)),i}function w(e){var r=t(e),n=h(r),f=b(r,e.position),a={},l=new s.default(f.byteArrayParser,f.byteArray,a);l.warnings=f.warnings;try{n?d.parseDicomDataSetExplicit(l,f,f.byteArray.length,i):d.parseDicomDataSetImplicit(l,f,f.byteArray.length,i)}catch(e){throw{exception:e,dataSet:l}}return l}if(void 0===e)throw"dicomParser.parseDicom: missing required parameter 'byteArray'";return function(){var r=Object(o.default)(e,i);return k(r,w(r))}()}r.r(i),r.d(i,"default",function(){return t});var n=r("./alloc.js"),f=r("./bigEndianByteArrayParser.js"),a=r("./byteStream.js"),s=r("./dataSet.js"),l=r("./littleEndianByteArrayParser.js"),o=r("./readPart10Header.js"),u=r("./sharedCopy.js"),c=r("./byteArrayParser.js"),d=r("./parseDicomDataSet.js")},"./parseDicomDataSet.js":function(e,i,r){function t(e,i,r){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?i.byteArray.length:r,void 0===i)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(r<i.position||r>i.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var n=e.elements;i.position<r;){var a=Object(f.default)(i,e.warnings,t.untilTag);if(n[a.tag]=a,a.tag===t.untilTag)return}if(i.position>r)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function n(e,i,r){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?e.byteArray.length:r,void 0===i)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(r<i.position||r>i.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var n=e.elements;i.position<r;){var f=Object(a.default)(i,t.untilTag,t.vrCallback);if(n[f.tag]=f,f.tag===t.untilTag)return}}r.r(i),r.d(i,"parseDicomDataSetExplicit",function(){return t}),r.d(i,"parseDicomDataSetImplicit",function(){return n});var f=r("./readDicomElementExplicit.js"),a=r("./readDicomElementImplicit.js")},"./readDicomElementExplicit.js":function(e,i,r){function t(e,i,r){if(void 0===e)throw"dicomParser.readDicomElementExplicit: missing required parameter 'byteStream'";var t={tag:Object(a.default)(e),vr:e.readFixedString(2)};return 2===o(t.vr)?(t.length=e.readUint16(),t.dataOffset=e.position):(e.seek(2),t.length=e.readUint32(),t.dataOffset=e.position),4294967295===t.length&&(t.hadUndefinedLength=!0),t.tag===r?t:"SQ"===t.vr?(Object(l.default)(e,t,i),t):4294967295===t.length?"x7fe00010"===t.tag?(Object(n.default)(e,t,i),t):"UN"===t.vr?(Object(f.default)(e,t),t):(Object(s.default)(e,t),t):(e.seek(t.length),t)}r.r(i),r.d(i,"default",function(){return t});var n=r("./findEndOfEncapsulatedPixelData.js"),f=(r("./findAndSetUNElementLength.js"),r("./readSequenceElementImplicit.js")),a=r("./readTag.js"),s=r("./findItemDelimitationItem.js"),l=r("./readSequenceElementExplicit.js"),o=function(e){return"OB"===e||"OD"===e||"OL"===e||"OW"===e||"SQ"===e||"OF"===e||"UC"===e||"UR"===e||"UT"===e||"UN"===e?4:2}},"./readDicomElementImplicit.js":function(e,i,r){function t(e,i,r){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var t={tag:Object(a.default)(e),length:e.readUint32(),dataOffset:e.position};return 4294967295===t.length&&(t.hadUndefinedLength=!0),t.tag===i?t:l(t,e,r)&&!Object(s.isPrivateTag)(t.tag)?(Object(f.default)(e,t),t):t.hadUndefinedLength?(Object(n.default)(e,t),t):(e.seek(t.length),t)}r.r(i),r.d(i,"default",function(){return t});var n=r("./findItemDelimitationItem.js"),f=r("./readSequenceElementImplicit.js"),a=r("./readTag.js"),s=r("./util/util.js"),l=function(e,i,r){if(void 0!==r)return"SQ"===r(e.tag);if(i.position+4<=i.byteArray.length){var t=Object(a.default)(i);return i.seek(-4),"xfffee000"===t||"xfffee0dd"===t}return i.warnings.push("eof encountered before finding sequence item tag or sequence delimiter tag in peeking to determine VR"),!1}},"./readEncapsulatedImageFrame.js":function(e,i,r){function t(e,i,r,t,s){if(t=t||i.basicOffsetTable,s=s||i.fragments,void 0===e)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'frameIndex'";if(void 0===t)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' does not have basicOffsetTable";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010)";if(i.encapsulatedPixelData!==!0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.hadUndefinedLength!==!0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have undefined length";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have fragments";if(0===t.length)throw"dicomParser.readEncapsulatedImageFrame: basicOffsetTable has zero entries";if(r<0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be >= 0";if(r>=t.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var l=t[r],o=f(s,l);if(void 0===o)throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";var u=a(r,t,s,o);return Object(n.default)(e,i,o,u,s)}r.r(i),r.d(i,"default",function(){return t});var n=r("./readEncapsulatedPixelDataFromFragments.js"),f=function(e,i){for(var r=0;r<e.length;r++)if(e[r].offset===i)return r},a=function(e,i,r,t){if(e===i.length-1)return r.length-t;for(var n=i[e+1],f=t+1;f<r.length;f++)if(r[f].offset===n)return f-t;throw"dicomParser.calculateNumberOfFragmentsForFrame: could not find fragment with offset matching basic offset table"}},"./readEncapsulatedPixelData.js":function(e,i,r){function t(e,i,r){if(a||(a=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),void 0===e)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if(i.encapsulatedPixelData!==!0)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(i.hadUndefinedLength!==!0)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelData: parameter 'frame' must be >= 0";return 0!==i.basicOffsetTable.length?Object(n.default)(e,i,r):Object(f.default)(e,i,0,i.fragments.length)}r.r(i),r.d(i,"default",function(){return t});var n=r("./readEncapsulatedImageFrame.js"),f=r("./readEncapsulatedPixelDataFromFragments.js"),a=!1},"./readEncapsulatedPixelDataFromFragments.js":function(e,i,r){function t(e,i,r,t,o){if(t=t||1,o=o||i.fragments,void 0===e)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'startFragmentIndex'";if(void 0===t)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'numFragments'";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010";if(i.encapsulatedPixelData!==!0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.hadUndefinedLength!==!0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.fragments.length<=0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be >= 0";if(r>=i.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(t<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(r+t>i.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var u=new f.default(e.byteArrayParser,e.byteArray,i.dataOffset),c=Object(a.default)(u);if("xfffee000"!==c.tag)throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";u.seek(c.length);var d=u.position;if(1===t)return Object(s.default)(u.byteArray,d+o[r].offset+8,o[r].length);for(var h=l(o,r,t),b=Object(n.default)(u.byteArray,h),k=0,w=r;w<r+t;w++)for(var m=d+o[w].offset+8,_=0;_<o[w].length;_++)b[k++]=u.byteArray[m++];return b}r.r(i),r.d(i,"default",function(){return t});var n=r("./alloc.js"),f=r("./byteStream.js"),a=r("./readSequenceItem.js"),s=r("./sharedCopy.js"),l=function(e,i,r){for(var t=0,n=i;n<i+r;n++)t+=e[n].length;return t}},"./readPart10Header.js":function(e,i,r){function t(e,i){function r(){if(t.seek(128),"DICM"!==t.readFixedString(4))throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file."}if(void 0===e)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var t=new n.default(a.default,e);return function(){r();for(var e=[],i={};t.position<t.byteArray.length;){var n=t.position,l=Object(s.default)(t,e);if(l.tag>"x0002ffff"){t.position=n;break}l.parser=a.default,i[l.tag]=l}var o=new f.default(t.byteArrayParser,t.byteArray,i);return o.warnings=t.warnings,o.position=t.position,o}()}r.r(i),r.d(i,"default",function(){return t});var n=r("./byteStream.js"),f=r("./dataSet.js"),a=r("./littleEndianByteArrayParser.js"),s=r("./readDicomElementExplicit.js")},"./readSequenceElementExplicit.js":function(e,i,r){function t(e,i){for(var r={};e.position<e.byteArray.length;){var t=Object(o.default)(e,i);if(r[t.tag]=t,"xfffee00d"===t.tag)return new l.default(e.byteArrayParser,e.byteArray,r)}return i.push("eof encountered before finding item delimiter tag while reading sequence item of undefined length"),new l.default(e.byteArrayParser,e.byteArray,r)}function n(e,i){var r=Object(u.default)(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=t(e,i),r.length=e.position-r.dataOffset):(r.dataSet=new l.default(e.byteArrayParser,e.byteArray,{}),d.parseDicomDataSetExplicit(r.dataSet,e,e.position+r.length)),r}function f(e,i,r){for(;e.position+4<=e.byteArray.length;){var t=Object(c.default)(e);if(e.seek(-4),"xfffee0dd"===t)return i.length=e.position-i.dataOffset,e.seek(8),i;var f=n(e,r);i.items.push(f)}r.push("eof encountered before finding sequence delimitation tag while reading sequence of undefined length"),i.length=e.position-i.dataOffset}function a(e,i,r){for(var t=i.dataOffset+i.length;e.position<t;){var f=n(e,r);i.items.push(f)}}function s(e,i,r){if(void 0===e)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'element'";i.items=[],4294967295===i.length?f(e,i,r):a(e,i,r)}r.r(i),r.d(i,"default",function(){return s});var l=r("./dataSet.js"),o=r("./readDicomElementExplicit.js"),u=r("./readSequenceItem.js"),c=r("./readTag.js"),d=r("./parseDicomDataSet.js")},"./readSequenceElementImplicit.js":function(e,i,r){function t(e,i){for(var r={};e.position<e.byteArray.length;){var t=Object(o.default)(e,void 0,i);if(r[t.tag]=t,"xfffee00d"===t.tag)return new l.default(e.byteArrayParser,e.byteArray,r)}return e.warnings.push("eof encountered before finding sequence item delimiter in sequence item of undefined length"),new l.default(e.byteArrayParser,e.byteArray,r)}function n(e,i){var r=Object(u.default)(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=t(e,i),r.length=e.position-r.dataOffset):(r.dataSet=new l.default(e.byteArrayParser,e.byteArray,{}),d.parseDicomDataSetImplicit(r.dataSet,e,e.position+r.length,{vrCallback:i})),r}function f(e,i,r){for(;e.position+4<=e.byteArray.length;){var t=Object(c.default)(e);if(e.seek(-4),"xfffee0dd"===t)return i.length=e.position-i.dataOffset,e.seek(8),i;var f=n(e,r);i.items.push(f)}e.warnings.push("eof encountered before finding sequence delimiter in sequence of undefined length"),i.length=e.byteArray.length-i.dataOffset}function a(e,i,r){for(var t=i.dataOffset+i.length;e.position<t;){var f=n(e,r);i.items.push(f)}}function s(e,i,r){if(void 0===e)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'element'";i.items=[],4294967295===i.length?f(e,i,r):a(e,i,r)}r.r(i),r.d(i,"default",function(){return s});var l=r("./dataSet.js"),o=r("./readDicomElementImplicit.js"),u=r("./readSequenceItem.js"),c=r("./readTag.js"),d=r("./parseDicomDataSet.js")},"./readSequenceItem.js":function(e,i,r){function t(e){if(void 0===e)throw"dicomParser.readSequenceItem: missing required parameter 'byteStream'";var i={tag:Object(n.default)(e),length:e.readUint32(),dataOffset:e.position};if("xfffee000"!==i.tag)throw"dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset ".concat(e.position);return i}r.r(i),r.d(i,"default",function(){return t});var n=r("./readTag.js")},"./readTag.js":function(e,i,r){function t(e){if(void 0===e)throw"dicomParser.readTag: missing required parameter 'byteStream'";var i=256*e.readUint16()*256,r=e.readUint16();return"x".concat("00000000".concat((i+r).toString(16)).substr(-8))}r.r(i),r.d(i,"default",function(){return t})},"./sharedCopy.js":function(e,i,r){function t(e,i,r){if("undefined"!=typeof Buffer&&e instanceof Buffer)return e.slice(i,i+r);if(e instanceof Uint8Array)return new Uint8Array(e.buffer,e.byteOffset+i,r);throw"dicomParser.from: unknown type for byteArray"}r.r(i),r.d(i,"default",function(){return t})},"./util/createJPEGBasicOffsetTable.js":function(e,i,r){function t(e,i){return 255===e.byteArray[i]&&217===e.byteArray[i+1]}function n(e,i,r){var n=i.fragments[r];return!(!t(e,n.position+n.length-2)&&!t(e,n.position+n.length-3))}function f(e,i,r){for(var t=r;t<i.fragments.length;t++)if(n(e,i,t))return t}function a(e,i,r){if(void 0===e)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter dataSet";if(void 0===i)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter pixelDataElement";if("x7fe00010"!==i.tag)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010'";if(i.encapsulatedPixelData!==!0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.hadUndefinedLength!==!0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.fragments.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r&&r.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'fragments' must not be zero length";r=r||i.fragments;for(var t=[],n=0;;){t.push(i.fragments[n].offset);var a=f(e,i,n);if(void 0===a||a===i.fragments.length-1)return t;n=a+1}}r.r(i),r.d(i,"default",function(){return a})},"./util/dataSetToJS.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.explicitDataSetToJS: missing required parameter dataSet";i=i||{omitPrivateAttibutes:!0,maxElementLength:128};var r={};for(var a in e.elements){var s=e.elements[a];if(i.omitPrivateAttibutes!==!0||!f.isPrivateTag(a))if(s.items){for(var l=[],o=0;o<s.items.length;o++)l.push(t(s.items[o].dataSet,i));r[a]=l}else{var u;u=void 0,s.length<i.maxElementLength&&(u=Object(n.default)(e,s)),r[a]=void 0!==u?u:{dataOffset:s.dataOffset,length:s.length}}}return r}r.r(i),r.d(i,"default",function(){return t});var n=r("./util/elementToString.js"),f=r("./util/util.js")},"./util/elementToString.js":function(e,i,r){function t(e,i){function r(i,r){for(var t="",n=0;n<i;n++)0!==n&&(t+="/"),t+=r.call(e,a,n).toString();return t}if(void 0===e||void 0===i)throw"dicomParser.explicitElementToString: missing required parameters";if(void 0===i.vr)throw"dicomParser.explicitElementToString: cannot convert implicit element to string";var t,f=i.vr,a=i.tag;if(n.isStringVr(f)===!0)t=e.string(a);else{if("AT"===f){var s=e.uint32(a);if(void 0===s)return;return s<0&&(s=4294967295+s+1),"x".concat(s.toString(16).toUpperCase())}"US"===f?t=r(i.length/2,e.uint16):"SS"===f?t=r(i.length/2,e.int16):"UL"===f?t=r(i.length/4,e.uint32):"SL"===f?t=r(i.length/4,e.int32):"FD"===f?t=r(i.length/8,e.double):"FL"===f&&(t=r(i.length/4,e.float))}return t}r.r(i),r.d(i,"default",function(){return t});var n=r("./util/util.js")},"./util/index.js":function(e,i,r){r.r(i);var t=r("./util/util.js");r.d(i,"isStringVr",function(){return t.isStringVr}),r.d(i,"isPrivateTag",function(){return t.isPrivateTag}),r.d(i,"parsePN",function(){return t.parsePN});var n=r("./util/parseTM.js");r.d(i,"parseTM",function(){return n.default});var f=r("./util/parseDA.js");r.d(i,"parseDA",function(){return f.default});var a=r("./util/elementToString.js");r.d(i,"explicitElementToString",function(){return a.default});var s=r("./util/dataSetToJS.js");r.d(i,"explicitDataSetToJS",function(){return s.default});var l=r("./util/createJPEGBasicOffsetTable.js");r.d(i,"createJPEGBasicOffsetTable",function(){return l.default})},"./util/parseDA.js":function(e,i,r){function t(e,i){switch(e){case 2:return i%4==0&&i%100||i%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}}function n(e,i,r){return!isNaN(r)&&(i>0&&i<=12&&e>0&&e<=t(i,r))}function f(e,i){if(e&&8===e.length){var r=parseInt(e.substring(0,4),10),t=parseInt(e.substring(4,6),10),f=parseInt(e.substring(6,8),10);if(i&&n(f,t,r)!==!0)throw"invalid DA '".concat(e,"'");return{year:r,month:t,day:f}}if(i)throw"invalid DA '".concat(e,"'")}r.r(i),r.d(i,"default",function(){return f})},"./util/parseTM.js":function(e,i,r){function t(e,i){if(e.length>=2){var r=parseInt(e.substring(0,2),10),t=e.length>=4?parseInt(e.substring(2,4),10):void 0,n=e.length>=6?parseInt(e.substring(4,6),10):void 0,f=e.length>=8?e.substring(7,13):void 0,a=f?parseInt(f,10)*Math.pow(10,6-f.length):void 0;if(i&&(isNaN(r)||void 0!==t&&isNaN(t)||void 0!==n&&isNaN(n)||void 0!==a&&isNaN(a)||r<0||r>23||t&&(t<0||t>59)||n&&(n<0||n>59)||a&&(a<0||a>999999)))throw"invalid TM '".concat(e,"'");return{hours:r,minutes:t,seconds:n,fractionalSeconds:a}}if(i)throw"invalid TM '".concat(e,"'")}r.r(i),r.d(i,"default",function(){return t})},"./util/util.js":function(e,i,r){r.r(i),r.d(i,"isStringVr",function(){return n}),r.d(i,"isPrivateTag",function(){return f}),r.d(i,"parsePN",function(){return a});var t={AE:!0,AS:!0,AT:!1,CS:!0,DA:!0,DS:!0,DT:!0,FL:!1,FD:!1,IS:!0,LO:!0,LT:!0,OB:!1,OD:!1,OF:!1,OW:!1,PN:!0,SH:!0,SL:!1,SQ:!1,SS:!1,ST:!0,TM:!0,UI:!0,UL:!1,UN:void 0,UR:!0,US:!1,UT:!0},n=function(e){return t[e]},f=function(e){return parseInt(e[4],10)%2==1},a=function(e){if(void 0!==e){var i=e.split("^");return{familyName:i[0],givenName:i[1],middleName:i[2],prefix:i[3],suffix:i[4]}}}},"./version.js":function(e,i,r){r.r(i),i.default="1.8.5"},zlib:function(i,r){i.exports=e}})}),define("dicom-parser/dist/dicomParser",function(){});var ColorSpace={Unkown:0,Grayscale:1,AdobeRGB:2,RGB:3,CYMK:4},JpegImage=function(){"use strict";function e(){}function i(e,i){for(var r,t,n=0,f=[],a=16;a>0&&!e[a-1];)a--;f.push({children:[],index:0});var s,l=f[0];for(r=0;r<a;r++){for(t=0;t<e[r];t++){for(l=f.pop(),l.children[l.index]=i[n];l.index>0;)l=f.pop();for(l.index++,f.push(l);f.length<=r;)f.push(s={children:[],index:0}),l.children[l.index]=s.children,l=s;n++}r+1<a&&(f.push(s={children:[],index:0}),l.children[l.index]=s.children,l=s)}return f[0].children}function r(e,i,r){return 64*((e.blocksPerLine+1)*i+r)}function t(e,i,t,n,f,a,l,o,u){function c(){if(D>0)return D--,x>>D&1;if(255==(x=e[i++])){var r=e[i++];if(r)throw"unexpected marker: "+(x<<8|r).toString(16)}return D=7,x>>>7}function d(e){for(var i,r=e;null!==(i=c());){if("number"==typeof(r=r[i]))return r;if("object"!=typeof r)throw"invalid huffman sequence"}return null}function h(e){for(var i=0;e>0;){var r=c();if(null===r)return;i=i<<1|r,e--}return i}function b(e){var i=h(e);return i>=1<<e-1?i:i+(-1<<e)+1}function k(e,i){var r=d(e.huffmanTableDC),t=0===r?0:b(r);e.blockData[i]=e.pred+=t;for(var n=1;n<64;){var f=d(e.huffmanTableAC),a=15&f,l=f>>4;if(0!==a){n+=l;var o=s[n];e.blockData[i+o]=b(a),n++}else{if(l<15)break;n+=16}}}function w(e,i){var r=d(e.huffmanTableDC),t=0===r?0:b(r)<<u;e.blockData[i]=e.pred+=t}function m(e,i){e.blockData[i]|=c()<<u}function _(e,i){if(R>0)return void R--;for(var r=a,t=l;r<=t;){var n=d(e.huffmanTableAC),f=15&n,o=n>>4;if(0!==f){r+=o;var c=s[r];e.blockData[i+c]=b(f)*(1<<u),r++}else{if(o<15){R=h(o)+(1<<o)-1;break}r+=16}}}function p(e,i){for(var r=a,t=l,n=0;r<=t;){var f=s[r];switch(O){case 0:var o=d(e.huffmanTableAC),k=15&o;if(n=o>>4,0===k)n<15?(R=h(n)+(1<<n),O=4):(n=16,O=1);else{if(1!==k)throw"invalid ACn encoding";v=b(k),O=n?2:3}continue;case 1:case 2:e.blockData[i+f]?e.blockData[i+f]+=c()<<u:0===--n&&(O=2==O?3:0);break;case 3:e.blockData[i+f]?e.blockData[i+f]+=c()<<u:(e.blockData[i+f]=v<<u,O=0);break;case 4:e.blockData[i+f]&&(e.blockData[i+f]+=c()<<u)}r++}4===O&&0===--R&&(O=0)}var v,g,y,E,A,S,T,M=(t.precision,t.samplesPerLine,t.scanLines,t.mcusPerLine),C=t.progressive,P=(t.maxH,t.maxV,i),x=0,D=0,R=0,O=0,L=n.length;T=C?0===a?0===o?w:m:0===o?_:p:k;var I,B,N=0;B=1==L?n[0].blocksPerLine*n[0].blocksPerColumn:M*t.mcusPerColumn,f||(f=B);for(var F,j;N<B;){for(y=0;y<L;y++)n[y].pred=0;if(R=0,1==L)for(g=n[0],S=0;S<f;S++)!function(e,i,t){i(e,r(e,t/e.blocksPerLine|0,t%e.blocksPerLine))}(g,T,N),N++;else for(S=0;S<f;S++){for(y=0;y<L;y++)for(g=n[y],F=g.h,j=g.v,E=0;E<j;E++)for(A=0;A<F;A++)!function(e,i,t,n,f){var a=t/M|0,s=t%M;i(e,r(e,a*e.v+n,s*e.h+f))}(g,T,N,E,A);N++}if(D=0,(I=e[i]<<8|e[i+1])<=65280)throw"marker was not found";if(!(I>=65488&&I<=65495))break;i+=2}return i-P}function n(e,i,r){var t,n,f,a,s,w,m,_,p,v,g=e.quantizationTable;for(v=0;v<64;v++)r[v]=e.blockData[i+v]*g[v];for(v=0;v<8;++v){var y=8*v;0!==r[1+y]||0!==r[2+y]||0!==r[3+y]||0!==r[4+y]||0!==r[5+y]||0!==r[6+y]||0!==r[7+y]?(t=b*r[0+y]+128>>8,n=b*r[4+y]+128>>8,f=r[2+y],a=r[6+y],s=k*(r[1+y]-r[7+y])+128>>8,_=k*(r[1+y]+r[7+y])+128>>8,w=r[3+y]<<4,m=r[5+y]<<4,p=t-n+1>>1,t=t+n+1>>1,n=p,p=f*h+a*d+128>>8,f=f*d-a*h+128>>8,a=p,p=s-m+1>>1,s=s+m+1>>1,m=p,p=_+w+1>>1,w=_-w+1>>1,_=p,p=t-a+1>>1,t=t+a+1>>1,a=p,p=n-f+1>>1,n=n+f+1>>1,f=p,p=s*c+_*u+2048>>12,s=s*u-_*c+2048>>12,_=p,p=w*o+m*l+2048>>12,w=w*l-m*o+2048>>12,m=p,r[0+y]=t+_,r[7+y]=t-_,r[1+y]=n+m,r[6+y]=n-m,r[2+y]=f+w,r[5+y]=f-w,r[3+y]=a+s,r[4+y]=a-s):(p=b*r[0+y]+512>>10,r[0+y]=p,r[1+y]=p,r[2+y]=p,r[3+y]=p,r[4+y]=p,r[5+y]=p,r[6+y]=p,r[7+y]=p)}for(v=0;v<8;++v){var E=v;0!==r[8+E]||0!==r[16+E]||0!==r[24+E]||0!==r[32+E]||0!==r[40+E]||0!==r[48+E]||0!==r[56+E]?(t=b*r[0+E]+2048>>12,n=b*r[32+E]+2048>>12,f=r[16+E],a=r[48+E],s=k*(r[8+E]-r[56+E])+2048>>12,_=k*(r[8+E]+r[56+E])+2048>>12,w=r[24+E],m=r[40+E],p=t-n+1>>1,t=t+n+1>>1,n=p,p=f*h+a*d+2048>>12,f=f*d-a*h+2048>>12,a=p,p=s-m+1>>1,s=s+m+1>>1,m=p,p=_+w+1>>1,w=_-w+1>>1,_=p,p=t-a+1>>1,t=t+a+1>>1,a=p,p=n-f+1>>1,n=n+f+1>>1,f=p,p=s*c+_*u+2048>>12,s=s*u-_*c+2048>>12,_=p,p=w*o+m*l+2048>>12,w=w*l-m*o+2048>>12,m=p,r[0+E]=t+_,r[56+E]=t-_,r[8+E]=n+m,r[48+E]=n-m,r[16+E]=f+w,r[40+E]=f-w,r[24+E]=a+s,r[32+E]=a-s):(p=b*r[v+0]+8192>>14,r[0+E]=p,r[8+E]=p,r[16+E]=p,r[24+E]=p,r[32+E]=p,r[40+E]=p,r[48+E]=p,r[56+E]=p)}for(v=0;v<64;++v){var A=i+v,S=r[v];S=S<=-2056/e.bitConversion?0:S>=2024/e.bitConversion?255/e.bitConversion:S+2056/e.bitConversion>>4,e.blockData[A]=S}}function f(e,i){for(var t=i.blocksPerLine,f=i.blocksPerColumn,a=new Int32Array(64),s=0;s<f;s++)for(var l=0;l<t;l++){var o=r(i,s,l);n(i,o,a)}return i.blockData}function a(e){return e<=0?0:e>=255?255:0|e}
3
+ var s=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),l=4017,o=799,u=3406,c=2276,d=1567,h=3784,b=5793,k=2896;return e.prototype={load:function(e){var i=function(e){this.parse(e),this.onload&&this.onload()}.bind(this);if(e.indexOf("data:")>-1){for(var r=e.indexOf("base64,")+7,t=atob(e.substring(r)),n=new Uint8Array(t.length),f=t.length-1;f>=0;f--)n[f]=t.charCodeAt(f);i(t)}else{var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){i(new Uint8Array(a.response))}.bind(this),a.send(null)}},parse:function(e){function r(){var i=e[l]<<8|e[l+1];return l+=2,i}var n,a,l=0,o=(e.length,null),u=null,c=[],d=[],h=[],b=r();if(65496!=b)throw"SOI not found";for(b=r();65497!=b;){var k,w,m;switch(b){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var _=function(){var i=r(),t=e.subarray(l,l+i-2);return l+=t.length,t}();65504===b&&74===_[0]&&70===_[1]&&73===_[2]&&70===_[3]&&0===_[4]&&(o={version:{major:_[5],minor:_[6]},densityUnits:_[7],xDensity:_[8]<<8|_[9],yDensity:_[10]<<8|_[11],thumbWidth:_[12],thumbHeight:_[13],thumbData:_.subarray(14,14+3*_[12]*_[13])}),65518===b&&65===_[0]&&100===_[1]&&111===_[2]&&98===_[3]&&101===_[4]&&0===_[5]&&(u={version:_[6],flags0:_[7]<<8|_[8],flags1:_[9]<<8|_[10],transformCode:_[11]});break;case 65499:for(var p=r(),v=p+l-2;l<v;){var g=e[l++],y=new Int32Array(64);if(g>>4==0)for(w=0;w<64;w++){var E=s[w];y[E]=e[l++]}else{if(g>>4!=1)throw"DQT: invalid table spec";for(w=0;w<64;w++){y[s[w]]=r()}}c[15&g]=y}break;case 65472:case 65473:case 65474:if(n)throw"Only single frame JPEGs supported";r(),n={},n.extended=65473===b,n.progressive=65474===b,n.precision=e[l++],n.scanLines=r(),n.samplesPerLine=r(),n.components=[],n.componentIds={};var A,S=e[l++],T=0,M=0;for(k=0;k<S;k++){A=e[l];var C=e[l+1]>>4,P=15&e[l+1];T<C&&(T=C),M<P&&(M=P);var x=e[l+2];m=n.components.push({h:C,v:P,quantizationTable:c[x],quantizationTableId:x,bitConversion:255/((1<<n.precision)-1)}),n.componentIds[A]=m-1,l+=3}n.maxH=T,n.maxV=M,function(e){for(var i=Math.ceil(e.samplesPerLine/8/e.maxH),r=Math.ceil(e.scanLines/8/e.maxV),t=0;t<e.components.length;t++){B=e.components[t];var n=Math.ceil(Math.ceil(e.samplesPerLine/8)*B.h/e.maxH),f=Math.ceil(Math.ceil(e.scanLines/8)*B.v/e.maxV),a=i*B.h,s=r*B.v,l=64*s*(a+1);B.blockData=new Int16Array(l),B.blocksPerLine=n,B.blocksPerColumn=f}e.mcusPerLine=i,e.mcusPerColumn=r}(n);break;case 65476:var D=r();for(k=2;k<D;){var R=e[l++],O=new Uint8Array(16),L=0;for(w=0;w<16;w++,l++)L+=O[w]=e[l];var I=new Uint8Array(L);for(w=0;w<L;w++,l++)I[w]=e[l];k+=17+L,(R>>4==0?h:d)[15&R]=i(O,I)}break;case 65501:r(),a=r();break;case 65498:var B,N=(r(),e[l++]),F=[];for(k=0;k<N;k++){var j=n.componentIds[e[l++]];B=n.components[j];var U=e[l++];B.huffmanTableDC=h[U>>4],B.huffmanTableAC=d[15&U],F.push(B)}var H=e[l++],Y=e[l++],q=e[l++];l+=t(e,l,n,F,a,H,Y,q>>4,15&q);break;case 65535:255!==e[l]&&l--;break;default:if(255==e[l-3]&&e[l-2]>=192&&e[l-2]<=254){l-=3;break}throw"unknown JPEG marker "+b.toString(16)}b=r()}switch(this.width=n.samplesPerLine,this.height=n.scanLines,this.jfif=o,this.adobe=u,this.components=[],n.components.length){case 1:this.colorspace=ColorSpace.Grayscale;break;case 3:this.adobe?this.colorspace=ColorSpace.AdobeRGB:this.colorspace=ColorSpace.RGB;break;case 4:this.colorspace=ColorSpace.CYMK;break;default:this.colorspace=ColorSpace.Unknown}for(var k=0;k<n.components.length;k++){var B=n.components[k];B.quantizationTable||null===B.quantizationTableId||(B.quantizationTable=c[B.quantizationTableId]),this.components.push({output:f(n,B),scaleX:B.h/n.maxH,scaleY:B.v/n.maxV,blocksPerLine:B.blocksPerLine,blocksPerColumn:B.blocksPerColumn,bitConversion:B.bitConversion})}},getData16:function(e,i){if(1!==this.components.length)throw"Unsupported color mode";var t,n,f,a,s,l,o=this.width/e,u=this.height/i,c=0,d=this.components.length,h=e*i*d,b=new Uint16Array(h),k=new Uint16Array((this.components[0].blocksPerLine<<3)*this.components[0].blocksPerColumn*8);for(l=0;l<d;l++){t=this.components[l];for(var w,m,_=t.blocksPerLine,p=t.blocksPerColumn,v=_<<3,g=0,y=0;y<p;y++)for(var E=y<<3,A=0;A<_;A++){var S=r(t,y,A),c=0,T=A<<3;for(w=0;w<8;w++){var g=(E+w)*v;for(m=0;m<8;m++)k[g+T+m]=t.output[S+c++]}}n=t.scaleX*o,f=t.scaleY*u,c=l;var M,C,P;for(s=0;s<i;s++)for(a=0;a<e;a++)C=0|s*f,M=0|a*n,P=C*v+M,b[c]=k[P],c+=d}return b},getData:function(e,i){var t,n,f,s,l,o,u,c,d,h,b,k,w,m,_,p=this.width/e,v=this.height/i,g=0,y=this.components.length,E=e*i*y,A=new Uint8Array(E),S=new Uint8Array((this.components[0].blocksPerLine<<3)*this.components[0].blocksPerColumn*8);for(o=0;o<y;o++){t=this.components[o];for(var T,M,C=t.blocksPerLine,P=t.blocksPerColumn,x=C<<3,D=0,R=0;R<P;R++)for(var O=R<<3,L=0;L<C;L++){var I=r(t,R,L),g=0,B=L<<3;for(T=0;T<8;T++){var D=(O+T)*x;for(M=0;M<8;M++)S[D+B+M]=t.output[I+g++]*t.bitConversion}}n=t.scaleX*p,f=t.scaleY*v,g=o;var N,F,j;for(l=0;l<i;l++)for(s=0;s<e;s++)F=0|l*f,N=0|s*n,j=F*x+N,A[g]=S[j],g+=y}switch(y){case 1:case 2:break;case 3:if(_=!0,this.adobe&&this.adobe.transformCode?_=!0:void 0!==this.colorTransform&&(_=!!this.colorTransform),_)for(o=0;o<E;o+=y)u=A[o],c=A[o+1],d=A[o+2],k=a(u-179.456+1.402*d),w=a(u+135.459-.344*c-.714*d),m=a(u-226.816+1.772*c),A[o]=k,A[o+1]=w,A[o+2]=m;break;case 4:if(!this.adobe)throw"Unsupported color mode (4 components)";if(_=!1,this.adobe&&this.adobe.transformCode?_=!0:void 0!==this.colorTransform&&(_=!!this.colorTransform),_)for(o=0;o<E;o+=y)u=A[o],c=A[o+1],d=A[o+2],h=a(434.456-u-1.402*d),b=a(119.541-u+.344*c+.714*d),u=a(481.816-u-1.772*c),A[o]=h,A[o+1]=b,A[o+2]=u;break;default:throw"Unsupported color mode"}return A}},e}();define("lib/jpeg/jpeg",function(){}),function(e){if("object"==typeof exports&&void 0!==module)module.exports=e();else if("function"==typeof define&&define.amd)define("jpegLossless/release/current/lossless",[],e);else{var i;i="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,i.jpeg=e()}}(function(){return function(){function e(i,r,t){function n(a,s){if(!r[a]){if(!i[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(f)return f(a,!0);var o=new Error("Cannot find module '"+a+"'");throw o.code="MODULE_NOT_FOUND",o}var u=r[a]={exports:{}};i[a][0].call(u.exports,function(e){var r=i[a][1][e];return n(r?r:e)},u,u.exports,e,i,r,t)}return r[a].exports}for(var f="function"==typeof require&&require,a=0;a<t.length;a++)n(t[a]);return n}return e}()({1:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.ComponentSpec=t.lossless.ComponentSpec||function(){this.hSamp=0,this.quantTableSel=0,this.vSamp=0},void 0!==i&&i.exports&&(i.exports=t.lossless.ComponentSpec)},{}],2:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.DataStream=t.lossless.DataStream||function(e,i,r){this.buffer=void 0===i&&void 0===r?new Uint8Array(e):new Uint8Array(e,i,r),this.index=0},t.lossless.DataStream.prototype.get16=function(){var e=(this.buffer[this.index]<<8)+this.buffer[this.index+1];return this.index+=2,e},t.lossless.DataStream.prototype.get8=function(){var e=this.buffer[this.index];return this.index+=1,e},void 0!==i&&i.exports&&(i.exports=t.lossless.DataStream)},{}],3:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.HuffmanTable=t.lossless.HuffmanTable||(void 0!==e?e("./huffman-table.js"):null),t.lossless.QuantizationTable=t.lossless.QuantizationTable||(void 0!==e?e("./quantization-table.js"):null),t.lossless.ScanHeader=t.lossless.ScanHeader||(void 0!==e?e("./scan-header.js"):null),t.lossless.FrameHeader=t.lossless.FrameHeader||(void 0!==e?e("./frame-header.js"):null),t.lossless.Utils=t.lossless.Utils||(void 0!==e?e("./utils.js"):null),t.lossless.Decoder=t.lossless.Decoder||function(e,i){this.buffer=e,this.frame=new t.lossless.FrameHeader,this.huffTable=new t.lossless.HuffmanTable,this.quantTable=new t.lossless.QuantizationTable,this.scan=new t.lossless.ScanHeader,this.DU=t.lossless.Utils.createArray(10,4,64),this.HuffTab=t.lossless.Utils.createArray(4,2,12800),this.IDCT_Source=[],this.nBlock=[],this.acTab=t.lossless.Utils.createArray(10,1),this.dcTab=t.lossless.Utils.createArray(10,1),this.qTab=t.lossless.Utils.createArray(10,1),this.marker=0,this.markerIndex=0,this.numComp=0,this.restartInterval=0,this.selection=0,this.xDim=0,this.yDim=0,this.xLoc=0,this.yLoc=0,this.numBytes=0,this.outputData=null,this.restarting=!1,this.mask=0,void 0!==i&&(this.numBytes=i)},t.lossless.Decoder.IDCT_P=[0,5,40,16,45,2,7,42,21,56,8,61,18,47,1,4,41,23,58,13,32,24,37,10,63,17,44,3,6,43,20,57,15,34,29,48,53,26,39,9,60,19,46,22,59,12,33,31,50,55,25,36,11,62,14,35,28,49,52,27,38,30,51,54],t.lossless.Decoder.TABLE=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],t.lossless.Decoder.MAX_HUFFMAN_SUBTREE=50,t.lossless.Decoder.MSB=2147483648,t.lossless.Decoder.RESTART_MARKER_BEGIN=65488,t.lossless.Decoder.RESTART_MARKER_END=65495,t.lossless.Decoder.prototype.decompress=function(e,i,r){return this.decode(e,i,r).buffer},t.lossless.Decoder.prototype.decode=function(e,i,r,n){var f,a,s,l,o=0,u=[],c=[],d=[];if(void 0!==e&&(this.buffer=e),void 0!==n&&(this.numBytes=n),this.stream=new t.lossless.DataStream(this.buffer,i,r),this.buffer=null,this.xLoc=0,this.yLoc=0,65496!==(f=this.stream.get16()))throw new Error("Not a JPEG file");for(f=this.stream.get16();f>>4!=4092||65476===f;){switch(f){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,t.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(f>>8!=255)throw new Error("ERROR: format throw new IOException! (decode)")}f=this.stream.get16()}if(f<65472||f>65479)throw new Error("ERROR: could not handle arithmetic code!");this.frame.read(this.stream),f=this.stream.get16();do{for(;65498!==f;){switch(f){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,t.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(f>>8!=255)throw new Error("ERROR: format throw new IOException! (Parser.decode)")}f=this.stream.get16()}switch(this.precision=this.frame.precision,this.components=this.frame.components,this.numBytes||(this.numBytes=parseInt(Math.ceil(this.precision/8))),1==this.numBytes?this.mask=255:this.mask=65535,this.scan.read(this.stream),this.numComp=this.scan.numComp,this.selection=this.scan.selection,1===this.numBytes?3===this.numComp?(this.getter=this.getValueRGB,this.setter=this.setValueRGB,this.output=this.outputRGB):(this.getter=this.getValue8,this.setter=this.setValue8,this.output=this.outputSingle):(this.getter=this.getValue16,this.setter=this.setValue16,this.output=this.outputSingle),this.selection){case 2:this.selector=this.select2;break;case 3:this.selector=this.select3;break;case 4:this.selector=this.select4;break;case 5:this.selector=this.select5;break;case 6:this.selector=this.select6;break;case 7:this.selector=this.select7;break;default:this.selector=this.select1}for(this.scanComps=this.scan.components,this.quantTables=this.quantTable.quantTables,a=0;a<this.numComp;a+=1)s=this.scanComps[a].scanCompSel,this.qTab[a]=this.quantTables[this.components[s].quantTableSel],this.nBlock[a]=this.components[s].vSamp*this.components[s].hSamp,this.dcTab[a]=this.HuffTab[this.scanComps[a].dcTabSel][0],this.acTab[a]=this.HuffTab[this.scanComps[a].acTabSel][1];for(this.xDim=this.frame.dimX,this.yDim=this.frame.dimY,1==this.numBytes?this.outputData=new Uint8Array(new ArrayBuffer(this.xDim*this.yDim*this.numBytes*this.numComp)):this.outputData=new Uint16Array(new ArrayBuffer(this.xDim*this.yDim*this.numBytes*this.numComp)),o+=1;;){for(c[0]=0,d[0]=0,a=0;a<10;a+=1)u[a]=1<<this.precision-1;if(0===this.restartInterval){for(f=this.decodeUnit(u,c,d);0===f&&this.xLoc<this.xDim&&this.yLoc<this.yDim;)this.output(u),f=this.decodeUnit(u,c,d);break}for(l=0;l<this.restartInterval&&(this.restarting=0==l,f=this.decodeUnit(u,c,d),this.output(u),0===f);l+=1);if(0===f&&(0!==this.markerIndex?(f=65280|this.marker,this.markerIndex=0):f=this.stream.get16()),!(f>=t.lossless.Decoder.RESTART_MARKER_BEGIN&&f<=t.lossless.Decoder.RESTART_MARKER_END))break}65500===f&&1===o&&(this.readNumber(),f=this.stream.get16())}while(65497!==f&&this.xLoc<this.xDim&&this.yLoc<this.yDim&&0===o)return this.outputData},t.lossless.Decoder.prototype.decodeUnit=function(e,i,r){return 1==this.numComp?this.decodeSingle(e,i,r):3==this.numComp?this.decodeRGB(e,i,r):-1},t.lossless.Decoder.prototype.select1=function(e){return this.getPreviousX(e)},t.lossless.Decoder.prototype.select2=function(e){return this.getPreviousY(e)},t.lossless.Decoder.prototype.select3=function(e){return this.getPreviousXY(e)},t.lossless.Decoder.prototype.select4=function(e){return this.getPreviousX(e)+this.getPreviousY(e)-this.getPreviousXY(e)},t.lossless.Decoder.prototype.select5=function(e){return this.getPreviousX(e)+(this.getPreviousY(e)-this.getPreviousXY(e)>>1)},t.lossless.Decoder.prototype.select6=function(e){return this.getPreviousY(e)+(this.getPreviousX(e)-this.getPreviousXY(e)>>1)},t.lossless.Decoder.prototype.select7=function(e){return(this.getPreviousX(e)+this.getPreviousY(e))/2},t.lossless.Decoder.prototype.decodeRGB=function(e,i,r){var n,f,a,s,l,o,u,c;for(e[0]=this.selector(0),e[1]=this.selector(1),e[2]=this.selector(2),l=0;l<this.numComp;l+=1)for(s=this.qTab[l],f=this.acTab[l],a=this.dcTab[l],o=0;o<this.nBlock[l];o+=1){for(u=0;u<this.IDCT_Source.length;u+=1)this.IDCT_Source[u]=0;if((n=this.getHuffmanValue(a,i,r))>=65280)return n;for(e[l]=this.IDCT_Source[0]=e[l]+this.getn(r,n,i,r),this.IDCT_Source[0]*=s[0],c=1;c<64;c+=1){if((n=this.getHuffmanValue(f,i,r))>=65280)return n;if(c+=n>>4,0==(15&n)){if(n>>4==0)break}else this.IDCT_Source[t.lossless.Decoder.IDCT_P[c]]=this.getn(r,15&n,i,r)*s[c]}}return 0},t.lossless.Decoder.prototype.decodeSingle=function(e,i,r){var n,f,a,s;for(this.restarting?(this.restarting=!1,e[0]=1<<this.frame.precision-1):e[0]=this.selector(),f=0;f<this.nBlock[0];f+=1){if((n=this.getHuffmanValue(this.dcTab[0],i,r))>=65280)return n;if(a=this.getn(e,n,i,r),(s=a>>8)>=t.lossless.Decoder.RESTART_MARKER_BEGIN&&s<=t.lossless.Decoder.RESTART_MARKER_END)return s;e[0]+=a}return 0},t.lossless.Decoder.prototype.getHuffmanValue=function(e,i,r){var n,f,a;if(a=65535,r[0]<8?(i[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),i[0]|=f):r[0]-=8,0!=((n=e[i[0]>>r[0]])&t.lossless.Decoder.MSB)){if(0!==this.markerIndex)return this.markerIndex=0,65280|this.marker;i[0]&=a>>16-r[0],i[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),i[0]|=f,n=e[256*(255&n)+(i[0]>>r[0])],r[0]+=8}if(r[0]+=8-(n>>8),r[0]<0)throw new Error("index="+r[0]+" temp="+i[0]+" code="+n+" in HuffmanValue()");return r[0]<this.markerIndex?(this.markerIndex=0,65280|this.marker):(i[0]&=a>>16-r[0],255&n)},t.lossless.Decoder.prototype.getn=function(e,i,r,t){var n,f,a,s,l;if(f=1,a=-1,s=65535,0===i)return 0;if(16===i)return e[0]>=0?-32768:32768;if(t[0]-=i,t[0]>=0){if(t[0]<this.markerIndex&&!this.isLastPixel())return this.markerIndex=0,(65280|this.marker)<<8;n=r[0]>>t[0],r[0]&=s>>16-t[0]}else{if(r[0]<<=8,l=this.stream.get8(),255===l&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=l,t[0]+=8,t[0]<0){if(0!==this.markerIndex)return this.markerIndex=0,(65280|this.marker)<<8;r[0]<<=8,l=this.stream.get8(),255===l&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=l,t[0]+=8}if(t[0]<0)throw new Error("index="+t[0]+" in getn()");if(t[0]<this.markerIndex)return this.markerIndex=0,(65280|this.marker)<<8;n=r[0]>>t[0],r[0]&=s>>16-t[0]}return n<f<<i-1&&(n+=1+(a<<i)),n},t.lossless.Decoder.prototype.getPreviousX=function(e){return this.xLoc>0?this.getter(this.yLoc*this.xDim+this.xLoc-1,e):this.yLoc>0?this.getPreviousY(e):1<<this.frame.precision-1},t.lossless.Decoder.prototype.getPreviousXY=function(e){return this.xLoc>0&&this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc-1,e):this.getPreviousY(e)},t.lossless.Decoder.prototype.getPreviousY=function(e){return this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc,e):this.getPreviousX(e)},t.lossless.Decoder.prototype.isLastPixel=function(){return this.xLoc===this.xDim-1&&this.yLoc===this.yDim-1},t.lossless.Decoder.prototype.outputSingle=function(e){this.xLoc<this.xDim&&this.yLoc<this.yDim&&(this.setter(this.yLoc*this.xDim+this.xLoc,this.mask&e[0]),this.xLoc+=1,this.xLoc>=this.xDim&&(this.yLoc+=1,this.xLoc=0))},t.lossless.Decoder.prototype.outputRGB=function(e){var i=this.yLoc*this.xDim+this.xLoc;this.xLoc<this.xDim&&this.yLoc<this.yDim&&(this.setter(i,e[0],0),this.setter(i,e[1],1),this.setter(i,e[2],2),this.xLoc+=1,this.xLoc>=this.xDim&&(this.yLoc+=1,this.xLoc=0))},t.lossless.Decoder.prototype.setValue8=function(e,i){this.outputData[e]=i},t.lossless.Decoder.prototype.getValue8=function(e){return this.outputData[e]},function(){var e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}()?(t.lossless.Decoder.prototype.setValue16=t.lossless.Decoder.prototype.setValue8,t.lossless.Decoder.prototype.getValue16=t.lossless.Decoder.prototype.getValue8):(t.lossless.Decoder.prototype.setValue16=function(e,i){this.outputData[e]=(255&i)<<8|i>>8&255},t.lossless.Decoder.prototype.getValue16=function(e){var i=this.outputData[e];return(255&i)<<8|i>>8&255}),t.lossless.Decoder.prototype.setValueRGB=function(e,i,r){this.outputData[3*e+r]=i},t.lossless.Decoder.prototype.getValueRGB=function(e,i){return this.outputData[3*e+i]},t.lossless.Decoder.prototype.readApp=function(){var e=0,i=this.stream.get16();for(e+=2;e<i;)this.stream.get8(),e+=1;return i},t.lossless.Decoder.prototype.readComment=function(){var e,i="",r=0;for(e=this.stream.get16(),r+=2;r<e;)i+=this.stream.get8(),r+=1;return i},t.lossless.Decoder.prototype.readNumber=function(){if(4!==this.stream.get16())throw new Error("ERROR: Define number format throw new IOException [Ld!=4]");return this.stream.get16()},void 0!==i&&i.exports&&(i.exports=t.lossless.Decoder)},{"./data-stream.js":2,"./frame-header.js":4,"./huffman-table.js":5,"./quantization-table.js":7,"./scan-header.js":9,"./utils.js":10}],4:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.ComponentSpec=t.lossless.ComponentSpec||(void 0!==e?e("./component-spec.js"):null),t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.FrameHeader=t.lossless.FrameHeader||function(){this.components=[],this.dimX=0,this.dimY=0,this.numComp=0,this.precision=0},t.lossless.FrameHeader.prototype.read=function(e){var i,r,n,f,a=0;for(i=e.get16(),a+=2,this.precision=e.get8(),a+=1,this.dimY=e.get16(),a+=2,this.dimX=e.get16(),a+=2,this.numComp=e.get8(),a+=1,r=1;r<=this.numComp;r+=1){if(a>i)throw new Error("ERROR: frame format error");if(n=e.get8(),(a+=1)>=i)throw new Error("ERROR: frame format error [c>=Lf]");f=e.get8(),a+=1,this.components[n]||(this.components[n]=new t.lossless.ComponentSpec),this.components[n].hSamp=f>>4,this.components[n].vSamp=15&f,this.components[n].quantTableSel=e.get8(),a+=1}if(a!==i)throw new Error("ERROR: frame format error [Lf!=count]");return 1},void 0!==i&&i.exports&&(i.exports=t.lossless.FrameHeader)},{"./component-spec.js":1,"./data-stream.js":2}],5:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.Utils=t.lossless.Utils||(void 0!==e?e("./utils.js"):null),t.lossless.HuffmanTable=t.lossless.HuffmanTable||function(){this.l=t.lossless.Utils.createArray(4,2,16),this.th=[],this.v=t.lossless.Utils.createArray(4,2,16,200),this.tc=t.lossless.Utils.createArray(4,2),this.tc[0][0]=0,this.tc[1][0]=0,this.tc[2][0]=0,this.tc[3][0]=0,this.tc[0][1]=0,this.tc[1][1]=0,this.tc[2][1]=0,this.tc[3][1]=0,this.th[0]=0,this.th[1]=0,this.th[2]=0,this.th[3]=0},t.lossless.HuffmanTable.MSB=2147483648,t.lossless.HuffmanTable.prototype.read=function(e,i){var r,t,n,f,a,s,l=0;for(r=e.get16(),l+=2;l<r;){if(t=e.get8(),l+=1,(n=15&t)>3)throw new Error("ERROR: Huffman table ID > 3");if((f=t>>4)>2)throw new Error("ERROR: Huffman table [Table class > 2 ]");for(this.th[n]=1,this.tc[n][f]=1,a=0;a<16;a+=1)this.l[n][f][a]=e.get8(),l+=1;for(a=0;a<16;a+=1)for(s=0;s<this.l[n][f][a];s+=1){if(l>r)throw new Error("ERROR: Huffman table format error [count>Lh]");this.v[n][f][a][s]=e.get8(),l+=1}}if(l!==r)throw new Error("ERROR: Huffman table format error [count!=Lf]");for(a=0;a<4;a+=1)for(s=0;s<2;s+=1)0!==this.tc[a][s]&&this.buildHuffTable(i[a][s],this.l[a][s],this.v[a][s]);return 1},t.lossless.HuffmanTable.prototype.buildHuffTable=function(e,i,r){var n,f,a,s,l,o;for(f=256,a=0,s=0;s<8;s+=1)for(l=0;l<i[s];l+=1)for(o=0;o<f>>s+1;o+=1)e[a]=r[s][l]|s+1<<8,a+=1;for(s=1;a<256;s+=1,a+=1)e[a]=s|t.lossless.HuffmanTable.MSB;for(n=1,a=0,s=8;s<16;s+=1)for(l=0;l<i[s];l+=1){for(o=0;o<f>>s-7;o+=1)e[256*n+a]=r[s][l]|s+1<<8,a+=1;if(a>=256){if(a>256)throw new Error("ERROR: Huffman table error(1)!");a=0,n+=1}}},void 0!==i&&i.exports&&(i.exports=t.lossless.HuffmanTable)},{"./data-stream.js":2,"./utils.js":10}],6:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.ComponentSpec=t.lossless.ComponentSpec||(void 0!==e?e("./component-spec.js"):null),t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.Decoder=t.lossless.Decoder||(void 0!==e?e("./decoder.js"):null),t.lossless.FrameHeader=t.lossless.FrameHeader||(void 0!==e?e("./frame-header.js"):null),t.lossless.HuffmanTable=t.lossless.HuffmanTable||(void 0!==e?e("./huffman-table.js"):null),t.lossless.QuantizationTable=t.lossless.QuantizationTable||(void 0!==e?e("./quantization-table.js"):null),t.lossless.ScanComponent=t.lossless.ScanComponent||(void 0!==e?e("./scan-component.js"):null),t.lossless.ScanHeader=t.lossless.ScanHeader||(void 0!==e?e("./scan-header.js"):null),t.lossless.Utils=t.lossless.Utils||(void 0!==e?e("./utils.js"):null),void 0!==i&&i.exports&&(i.exports=t)},{"./component-spec.js":1,"./data-stream.js":2,"./decoder.js":3,"./frame-header.js":4,"./huffman-table.js":5,"./quantization-table.js":7,"./scan-component.js":8,"./scan-header.js":9,"./utils.js":10}],7:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.Utils=t.lossless.Utils||(void 0!==e?e("./utils.js"):null),t.lossless.QuantizationTable=t.lossless.QuantizationTable||function(){this.precision=[],this.tq=[],this.quantTables=t.lossless.Utils.createArray(4,64),this.tq[0]=0,this.tq[1]=0,this.tq[2]=0,this.tq[3]=0},t.lossless.QuantizationTable.enhanceQuantizationTable=function(e,i){var r;for(r=0;r<8;r+=1)e[i[0+r]]*=90,e[i[32+r]]*=90,e[i[16+r]]*=118,e[i[48+r]]*=49,e[i[40+r]]*=71,e[i[8+r]]*=126,e[i[56+r]]*=25,e[i[24+r]]*=106;for(r=0;r<8;r+=1)e[i[0+8*r]]*=90,e[i[4+8*r]]*=90,e[i[2+8*r]]*=118,e[i[6+8*r]]*=49,e[i[5+8*r]]*=71,e[i[1+8*r]]*=126,e[i[7+8*r]]*=25,e[i[3+8*r]]*=106;for(r=0;r<64;r+=1)e[r]>>=6},t.lossless.QuantizationTable.prototype.read=function(e,i){var r,n,f,a,s=0;for(r=e.get16(),s+=2;s<r;){if(n=e.get8(),s+=1,(f=15&n)>3)throw new Error("ERROR: Quantization table ID > 3");if(this.precision[f]=n>>4,0===this.precision[f])this.precision[f]=8;else{if(1!==this.precision[f])throw new Error("ERROR: Quantization table precision error");this.precision[f]=16}if(this.tq[f]=1,8===this.precision[f]){for(a=0;a<64;a+=1){if(s>r)throw new Error("ERROR: Quantization table format error");this.quantTables[f][a]=e.get8(),s+=1}t.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[f],i)}else{for(a=0;a<64;a+=1){if(s>r)throw new Error("ERROR: Quantization table format error");this.quantTables[f][a]=e.get16(),s+=2}t.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[f],i)}}if(s!==r)throw new Error("ERROR: Quantization table error [count!=Lq]");return 1},void 0!==i&&i.exports&&(i.exports=t.lossless.QuantizationTable)},{"./data-stream.js":2,"./utils.js":10}],8:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.ScanComponent=t.lossless.ScanComponent||function(){this.acTabSel=0,this.dcTabSel=0,this.scanCompSel=0},void 0!==i&&i.exports&&(i.exports=t.lossless.ScanComponent)},{}],9:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.ScanComponent=t.lossless.ScanComponent||(void 0!==e?e("./scan-component.js"):null),t.lossless.ScanHeader=t.lossless.ScanHeader||function(){this.ah=0,this.al=0,this.numComp=0,this.selection=0,this.spectralEnd=0,this.components=[]},t.lossless.ScanHeader.prototype.read=function(e){var i,r,n,f=0;for(i=e.get16(),f+=2,this.numComp=e.get8(),f+=1,r=0;r<this.numComp;r+=1){if(this.components[r]=new t.lossless.ScanComponent,f>i)throw new Error("ERROR: scan header format error");this.components[r].scanCompSel=e.get8(),f+=1,n=e.get8(),f+=1,this.components[r].dcTabSel=n>>4,this.components[r].acTabSel=15&n}if(this.selection=e.get8(),f+=1,this.spectralEnd=e.get8(),f+=1,n=e.get8(),this.ah=n>>4,this.al=15&n,(f+=1)!==i)throw new Error("ERROR: scan header format error [count!=Ns]");return 1},void 0!==i&&i.exports&&(i.exports=t.lossless.ScanHeader)},{"./data-stream.js":2,"./scan-component.js":8}],10:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.Utils=t.lossless.Utils||{},t.lossless.Utils.createArray=function(e){var i=new Array(e||0),r=e;if(arguments.length>1)for(var n=Array.prototype.slice.call(arguments,1);r--;)i[e-1-r]=t.lossless.Utils.createArray.apply(this,n);return i},t.lossless.Utils.makeCRCTable=function(){for(var e,i=[],r=0;r<256;r++){e=r;for(var t=0;t<8;t++)e=1&e?3988292384^e>>>1:e>>>1;i[r]=e}return i},t.lossless.Utils.crc32=function(e){for(var i=new Uint8Array(e.buffer),r=t.lossless.Utils.crcTable||(t.lossless.Utils.crcTable=t.lossless.Utils.makeCRCTable()),n=-1,f=0;f<i.length;f++)n=n>>>8^r[255&(n^i[f])];return(n^-1)>>>0},void 0!==i&&i.exports&&(i.exports=t.lossless.Utils)},{}]},{},[6])(6)}),define("jpegLossless",["jpegLossless/release/current/lossless"],function(e){return e});var CharLS=function(Module){function globalEval(e){eval.call(null,e)}function assert(e,i){e||abort("Assertion failed: "+i)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,i,r,t){switch(r=r||"i8","*"===r.charAt(r.length-1)&&(r="i32"),r){case"i1":HEAP8[e>>0]=i;break;case"i8":HEAP8[e>>0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,i,r){switch(i=i||"i8","*"===i.charAt(i.length-1)&&(i="i32"),i){case"i1":return HEAP8[e>>0];case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":return HEAP32[e>>2];case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+i)}return null}function allocate(e,i,r,t){var n,f;"number"==typeof e?(n=!0,f=e):(n=!1,f=e.length);var a,s="string"==typeof i?i:null;if(a=r==ALLOC_NONE?t:[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][void 0===r?ALLOC_STATIC:r](Math.max(f,s?1:i.length)),n){var l,t=a;for(assert(0==(3&a)),l=a+(f&-4);t<l;t+=4)HEAP32[t>>2]=0;for(l=a+f;t<l;)HEAP8[t++>>0]=0;return a}if("i8"===s)return e.subarray||e.slice?HEAPU8.set(e,a):HEAPU8.set(new Uint8Array(e),a),a;for(var o,u,c,d=0;d<f;){var h=e[d];"function"==typeof h&&(h=Runtime.getFunctionIndex(h)),o=s||i[d],0!==o?("i64"==o&&(o="i32"),setValue(a+d,h,o),c!==o&&(u=Runtime.getNativeTypeSize(o),c=o),d+=u):d++}return a}function getMemory(e){return staticSealed?void 0!==_sbrk&&!_sbrk.called||!runtimeInitialized?Runtime.dynamicAlloc(e):_malloc(e):Runtime.staticAlloc(e)}function Pointer_stringify(e,i){if(0===i||!e)return"";for(var r,t=0,n=0;;){if(r=HEAPU8[e+n>>0],t|=r,0==r&&!i)break;if(n++,i&&n==i)break}i||(i=n);var f="";if(t<128){for(var a;i>0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(i,1024))),f=f?f+a:a,e+=1024,i-=1024;return f}return Module.UTF8ToString(e)}function AsciiToString(e){for(var i="";;){var r=HEAP8[e++>>0];if(!r)return i;i+=String.fromCharCode(r)}}function stringToAscii(e,i){return writeAsciiToMemory(e,i,!1)}function UTF8ArrayToString(e,i){for(var r,t,n,f,a,s,l="";;){if(!(r=e[i++]))return l;if(128&r)if(t=63&e[i++],192!=(224&r))if(n=63&e[i++],224==(240&r)?r=(15&r)<<12|t<<6|n:(f=63&e[i++],240==(248&r)?r=(7&r)<<18|t<<12|n<<6|f:(a=63&e[i++],248==(252&r)?r=(3&r)<<24|t<<18|n<<12|f<<6|a:(s=63&e[i++],r=(1&r)<<30|t<<24|n<<18|f<<12|a<<6|s))),r<65536)l+=String.fromCharCode(r);else{var o=r-65536;l+=String.fromCharCode(55296|o>>10,56320|1023&o)}else l+=String.fromCharCode((31&r)<<6|t);else l+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,r,t){if(!(t>0))return 0;for(var n=r,f=r+t-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=f)break;i[r++]=s}else if(s<=2047){if(r+1>=f)break;i[r++]=192|s>>6,i[r++]=128|63&s}else if(s<=65535){if(r+2>=f)break;i[r++]=224|s>>12,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=2097151){if(r+3>=f)break;i[r++]=240|s>>18,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=67108863){if(r+4>=f)break;i[r++]=248|s>>24,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else{if(r+5>=f)break;i[r++]=252|s>>30,i[r++]=128|s>>24&63,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}}return i[r]=0,r-n}function stringToUTF8(e,i,r){return stringToUTF8Array(e,HEAPU8,i,r)}function lengthBytesUTF8(e){for(var i=0,r=0;r<e.length;++r){var t=e.charCodeAt(r);t>=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++r)),t<=127?++i:i+=t<=2047?2:t<=65535?3:t<=2097151?4:t<=67108863?5:6}return i}function UTF16ToString(e){for(var i=0,r="";;){var t=HEAP16[e+2*i>>1];if(0==t)return r;++i,r+=String.fromCharCode(t)}}function stringToUTF16(e,i,r){if(void 0===r&&(r=2147483647),r<2)return 0;r-=2;for(var t=i,n=r<2*e.length?r/2:e.length,f=0;f<n;++f){var a=e.charCodeAt(f);HEAP16[i>>1]=a,i+=2}return HEAP16[i>>1]=0,i-t}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var i=0,r="";;){var t=HEAP32[e+4*i>>2];if(0==t)return r;if(++i,t>=65536){var n=t-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(t)}}
4
+ function stringToUTF32(e,i,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var t=i,n=t+r-4,f=0;f<e.length;++f){var a=e.charCodeAt(f);if(a>=55296&&a<=57343){a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f)}if(HEAP32[i>>2]=a,(i+=4)+4>n)break}return HEAP32[i>>2]=0,i-t}function lengthBytesUTF32(e){for(var i=0,r=0;r<e.length;++r){var t=e.charCodeAt(r);t>=55296&&t<=57343&&++r,i+=4}return i}function demangle(e){function i(){s++,"K"===e[s]&&s++;for(var i=[];"E"!==e[s];)if("S"!==e[s])if("C"!==e[s]){var r=parseInt(e.substr(s)),t=r.toString().length;if(!r||!t){s--;break}var n=e.substr(s+t,r);i.push(n),o.push(n),s+=t+r}else i.push(i[i.length-1]),s+=2;else{s++;var f=e.indexOf("_",s),a=e.substring(s,f)||0;i.push(o[a]||"?"),s=f+1}return s++,i}function r(t,n,f){n=n||1/0;var a,o="",c=[];if("N"===e[s]){if(a=i().join("::"),0===--n)return t?[a]:a}else{("K"===e[s]||u&&"L"===e[s])&&s++;var d=parseInt(e.substr(s));if(d){var h=d.toString().length;a=e.substr(s+h,d),s+=h+d}}if(u=!1,"I"===e[s]){s++;var b=r(!0);o+=r(!0,1,!0)[0]+" "+a+"<"+b.join(", ")+">"}else o=a;e:for(;s<e.length&&n-- >0;){var k=e[s++];if(k in l)c.push(l[k]);else switch(k){case"P":c.push(r(!0,1,!0)[0]+"*");break;case"R":c.push(r(!0,1,!0)[0]+"&");break;case"L":s++;var w=e.indexOf("E",s),d=w-s;c.push(e.substr(s,d)),s+=d+2;break;case"A":var d=parseInt(e.substr(s));if(s+=d.toString().length,"_"!==e[s])throw"?";s++,c.push(r(!0,1,!0)[0]+" ["+d+"]");break;case"E":break e;default:o+="?"+k;break e}}return f||1!==c.length||"void"!==c[0]||(c=[]),t?(o&&c.push(o+"?"),c):o+function(){return"("+c.join(", ")+")"}()}var t=!!Module.___cxa_demangle;if(t)try{var n=_malloc(e.length);writeStringToMemory(e.substr(1),n);var f=_malloc(4),a=Module.___cxa_demangle(n,0,0,f);if(0===getValue(f,"i32")&&a)return Pointer_stringify(a)}catch(e){}finally{n&&_free(n),f&&_free(f),a&&_free(a)}var s=3,l={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},o=[],u=!0,c=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}c=r()}catch(e){c+="?"}return c.indexOf("?")>=0&&!t&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),c}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,function(e){var i=demangle(e);return e===i?e:e+" ["+i+"]"})}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(i){e=i}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. 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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}function callRuntimeCallbacks(e){for(;e.length>0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[i.arg]):r(void 0===i.arg?null:i.arg)}else i()}}function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,i,r){var t=r>0?r:lengthBytesUTF8(e)+1,n=new Array(t),f=stringToUTF8Array(e,n,0,n.length);return i&&(n.length=f),n}function intArrayToString(e){for(var i=[],r=0;r<e.length;r++){var t=e[r];t>255&&(t&=255),i.push(String.fromCharCode(t))}return i.join("")}function writeStringToMemory(e,i,r){for(var t=intArrayFromString(e,r),n=0;n<t.length;){var f=t[n];HEAP8[i+n>>0]=f,n+=1}}function writeArrayToMemory(e,i){for(var r=0;r<e.length;r++)HEAP8[i++>>0]=e[r]}function writeAsciiToMemory(e,i,r){for(var t=0;t<e.length;++t)HEAP8[i++>>0]=e.charCodeAt(t);r||(HEAP8[i>>0]=0)}function unSign(e,i,r){return e>=0?e:i<=32?2*Math.abs(1<<i-1)+e:Math.pow(2,i)+e}function reSign(e,i,r){if(e<=0)return e;var t=i<=32?Math.abs(1<<i-1):Math.pow(2,i-1);return e>=t&&(i<=32||e>t)&&(e=-2*t+e),e}function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}function _atexit(e,i){__ATEXIT__.unshift({func:e,arg:i})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function ___assert_fail(e,i,r,t){throw ABORT=!0,"Assertion failed: "+Pointer_stringify(e)+", at: "+[i?Pointer_stringify(i):"unknown filename",r,t?Pointer_stringify(t):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___resumeException(e){throw EXCEPTIONS.last||(EXCEPTIONS.last=e),EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(e)),e}function ___cxa_find_matching_catch(){var e=EXCEPTIONS.last;if(!e)return 0|(asm.setTempRet0(0),0);var i=EXCEPTIONS.infos[e],r=i.type;if(!r)return 0|(asm.setTempRet0(0),e);var t=Array.prototype.slice.call(arguments);Module.___cxa_is_pointer_type(r);___cxa_find_matching_catch.buffer||(___cxa_find_matching_catch.buffer=_malloc(4)),HEAP32[___cxa_find_matching_catch.buffer>>2]=e,e=___cxa_find_matching_catch.buffer;for(var n=0;n<t.length;n++)if(t[n]&&Module.___cxa_can_catch(t[n],r,e))return e=HEAP32[e>>2],i.adjusted=e,0|(asm.setTempRet0(t[n]),e);return e=HEAP32[e>>2],0|(asm.setTempRet0(r),e)}function ___cxa_throw(e,i,r){throw EXCEPTIONS.infos[e]={ptr:e,adjusted:e,type:i,destructor:r,refcount:0},EXCEPTIONS.last=e,"uncaught_exception"in __ZSt18uncaught_exceptionv?__ZSt18uncaught_exceptionv.uncaught_exception++:__ZSt18uncaught_exceptionv.uncaught_exception=1,e}function ___gxx_personality_v0(){}function __isLeapYear(e){return e%4==0&&(e%100!=0||e%400==0)}function __arraySum(e,i){for(var r=0,t=0;t<=i;r+=e[t++]);return r}function __addDays(e,i){for(var r=new Date(e.getTime());i>0;){var t=__isLeapYear(r.getFullYear()),n=r.getMonth(),f=(t?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[n];if(!(i>f-r.getDate()))return r.setDate(r.getDate()+i),r;i-=f-r.getDate()+1,r.setDate(1),n<11?r.setMonth(n+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function _strftime(e,i,r,t){function n(e,i,r){for(var t="number"==typeof e?e.toString():e||"";t.length<i;)t=r[0]+t;return t}function f(e,i){return n(e,i,"0")}function a(e,i){function r(e){return e<0?-1:e>0?1:0}var t;return 0===(t=r(e.getFullYear()-i.getFullYear()))&&0===(t=r(e.getMonth()-i.getMonth()))&&(t=r(e.getDate()-i.getDate())),t}function s(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function l(e){var i=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(i.getFullYear(),0,4),t=new Date(i.getFullYear()+1,0,4),n=s(r),f=s(t);return a(n,i)<=0?a(f,i)<=0?i.getFullYear()+1:i.getFullYear():i.getFullYear()-1}var o=HEAP32[t+40>>2],u={tm_sec:HEAP32[t>>2],tm_min:HEAP32[t+4>>2],tm_hour:HEAP32[t+8>>2],tm_mday:HEAP32[t+12>>2],tm_mon:HEAP32[t+16>>2],tm_year:HEAP32[t+20>>2],tm_wday:HEAP32[t+24>>2],tm_yday:HEAP32[t+28>>2],tm_isdst:HEAP32[t+32>>2],tm_gmtoff:HEAP32[t+36>>2],tm_zone:o?Pointer_stringify(o):""},c=Pointer_stringify(r),d={"%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 h in d)c=c.replace(new RegExp(h,"g"),d[h]);var b=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],k=["January","February","March","April","May","June","July","August","September","October","November","December"],w={"%a":function(e){return b[e.tm_wday].substring(0,3)},"%A":function(e){return b[e.tm_wday]},"%b":function(e){return k[e.tm_mon].substring(0,3)},"%B":function(e){return k[e.tm_mon]},"%C":function(e){return f((e.tm_year+1900)/100|0,2)},"%d":function(e){return f(e.tm_mday,2)},"%e":function(e){return n(e.tm_mday,2," ")},"%g":function(e){return l(e).toString().substring(2)},"%G":function(e){return l(e)},"%H":function(e){return f(e.tm_hour,2)},"%I":function(e){return f(e.tm_hour<13?e.tm_hour:e.tm_hour-12,2)},"%j":function(e){return f(e.tm_mday+__arraySum(__isLeapYear(e.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,e.tm_mon-1),3)},"%m":function(e){return f(e.tm_mon+1,2)},"%M":function(e){return f(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>0&&e.tm_hour<13?"AM":"PM"},"%S":function(e){return f(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return new Date(e.tm_year+1900,e.tm_mon+1,e.tm_mday,0,0,0,0).getDay()||7},"%U":function(e){var i=new Date(e.tm_year+1900,0,1),r=0===i.getDay()?i:__addDays(i,7-i.getDay()),t=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(a(r,t)<0){var n=__arraySum(__isLeapYear(t.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,t.getMonth()-1)-31,s=31-r.getDate(),l=s+n+t.getDate();return f(Math.ceil(l/7),2)}return 0===a(r,i)?"01":"00"},"%V":function(e){var i=new Date(e.tm_year+1900,0,4),r=new Date(e.tm_year+1901,0,4),t=s(i),n=s(r),l=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday);if(a(l,t)<0)return"53";if(a(n,l)<=0)return"01";var o;return o=t.getFullYear()<e.tm_year+1900?e.tm_yday+32-t.getDate():e.tm_yday+1-t.getDate(),f(Math.ceil(o/7),2)},"%w":function(e){return new Date(e.tm_year+1900,e.tm_mon+1,e.tm_mday,0,0,0,0).getDay()},"%W":function(e){var i=new Date(e.tm_year,0,1),r=1===i.getDay()?i:__addDays(i,0===i.getDay()?1:7-i.getDay()+1),t=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(a(r,t)<0){var n=__arraySum(__isLeapYear(t.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,t.getMonth()-1)-31,s=31-r.getDate(),l=s+n+t.getDate();return f(Math.ceil(l/7),2)}return 0===a(r,i)?"01":"00"},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var i=e.tm_gmtoff,r=i>=0;return i=Math.abs(i)/60,i=i/60*100+i%60,(r?"+":"-")+String("0000"+i).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var h in w)c.indexOf(h)>=0&&(c=c.replace(new RegExp(h,"g"),w[h](u)));var m=intArrayFromString(c,!1);return m.length>i?0:(writeArrayToMemory(m,e),m.length-1)}function _strftime_l(e,i,r,t){return _strftime(e,i,r,t)}function _abort(){Module.abort()}function _free(){}function ___cxa_free_exception(e){try{return _free(e)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown)return void(___cxa_end_catch.rethrown=!1);asm.setThrew(0);var e=EXCEPTIONS.caught.pop();e&&(EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(e)),EXCEPTIONS.last=0)}function _pthread_once(e,i){_pthread_once.seen||(_pthread_once.seen={}),e in _pthread_once.seen||(Runtime.dynCall("v",i),_pthread_once.seen[e]=1)}function ___lock(){}function ___unlock(){}function _pthread_getspecific(e){return PTHREAD_SPECIFIC[e]||0}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator?navigator.hardwareConcurrency||1:1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}function _pthread_key_create(e,i){return 0==e?ERRNO_CODES.EINVAL:(HEAP32[e>>2]=PTHREAD_SPECIFIC_NEXT_KEY,PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0,PTHREAD_SPECIFIC_NEXT_KEY++,0)}function _emscripten_set_main_loop_timing(e,i){function r(e){e.source===window&&e.data===n&&(e.stopPropagation(),t.shift()())}if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){setTimeout(Browser.mainLoop.runner,i)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var t=[],n="__emcc";window.addEventListener("message",r,!0),window.setImmediate=function(e){t.push(e),window.postMessage(n,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(e,i,r,t,n){Module.noExitRuntime=!0,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=e,Browser.mainLoop.arg=t;var f=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var i=Date.now(),r=Browser.mainLoop.queue.shift();if(r.func(r.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,a=n%1==0?n-1:Math.floor(n);r.counted?Browser.mainLoop.remainingBlockers=a:(a+=.5,Browser.mainLoop.remainingBlockers=(8*n+a)/9)}return console.log('main loop blocker "'+r.name+'" took '+(Date.now()-i)+" ms"),Browser.mainLoop.updateStatus(),void setTimeout(Browser.mainLoop.runner,0)}if(!(f<Browser.mainLoop.currentlyRunningMainloop)){if(Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0,1==Browser.mainLoop.timingMode&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0)return void Browser.mainLoop.scheduler();"timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("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(function(){void 0!==t?Runtime.dynCall("vi",e,[t]):Runtime.dynCall("v",e)}),f<Browser.mainLoop.currentlyRunningMainloop||("object"==typeof SDL&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Browser.mainLoop.scheduler())}}},n||(i&&i>0?_emscripten_set_main_loop_timing(0,1e3/i):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}function _pthread_setspecific(e,i){return e in PTHREAD_SPECIFIC?(PTHREAD_SPECIFIC[e]=i,0):ERRNO_CODES.EINVAL}function _malloc(e){return Runtime.dynamicAlloc(e+8)+8&4294967288}function ___cxa_allocate_exception(e){return _malloc(e)}function ___syscall54(e,i){SYSCALLS.varargs=i;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___cxa_pure_virtual(){throw ABORT=!0,"Pure virtual function called!"}function _pthread_cleanup_push(e,i){__ATEXIT__.push(function(){Runtime.dynCall("vi",e,[i])}),_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(e){return HEAP8[e>>0]?0:(HEAP8[e>>0]=1,1)}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(e){return __ZSt18uncaught_exceptionv.uncaught_exception--,EXCEPTIONS.caught.push(e),EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(e)),e}function _llvm_eh_typeid_for(e){return e}function _emscripten_memcpy_big(e,i,r){return HEAPU8.set(HEAPU8.subarray(i,i+r),e),e}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _pthread_mutex_lock(){}function _sbrk(e){var i=_sbrk;i.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),i.called=!0,assert(Runtime.dynamicAlloc),i.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e){if(!i.alloc(e))return-1>>>0}return r}function ___cxa_guard_abort(){}function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=!0;var e=EXCEPTIONS.caught.pop();throw EXCEPTIONS.last=e,e}function _pthread_mutex_unlock(){}function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _pthread_self(){return 0}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get(),f=SYSCALLS.get(),a=SYSCALLS.get(),s=n;return assert(0===t),FS.llseek(r,s,a),HEAP32[f>>2]=r.position,r.getdents&&0===s&&0===a&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{var r=(SYSCALLS.get(),SYSCALLS.get()),t=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var f=___syscall146.buffer,a=0;a<t;a++){for(var s=HEAP32[r+8*a>>2],l=HEAP32[r+(8*a+4)>>2],o=0;o<l;o++){var u=HEAPU8[s+o];0===u||10===u?(Module.print(UTF8ArrayToString(f,0)),f.length=0):f.push(u)}n+=l}return n}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall145(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get();return SYSCALLS.doReadv(r,t,n)}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function invoke_iiiiiiii(e,i,r,t,n,f,a,s){try{return Module.dynCall_iiiiiiii(e,i,r,t,n,f,a,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiii(e,i,r,t,n,f){try{Module.dynCall_viiiii(e,i,r,t,n,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiid(e,i,r,t,n,f,a){try{return Module.dynCall_iiiiiid(e,i,r,t,n,f,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vi(e,i){try{Module.dynCall_vi(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vii(e,i,r){try{Module.dynCall_vii(e,i,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiii(e,i,r,t,n,f,a){try{return Module.dynCall_iiiiiii(e,i,r,t,n,f,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_ii(e,i){try{return Module.dynCall_ii(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u,c){try{return Module.dynCall_iiiiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u,c)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiii(e,i,r,t){try{return Module.dynCall_iiii(e,i,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u,c,d,h,b,k){try{Module.dynCall_viiiiiiiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u,c,d,h,b,k)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiii(e,i,r,t,n,f,a){try{Module.dynCall_viiiiii(e,i,r,t,n,f,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiii(e,i,r,t,n,f,a,s){try{Module.dynCall_viiiiiii(e,i,r,t,n,f,a,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u){try{Module.dynCall_viiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iii(e,i,r){try{return Module.dynCall_iii(e,i,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiii(e,i,r,t,n,f){try{return Module.dynCall_iiiiii(e,i,r,t,n,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_diii(e,i,r,t){try{return Module.dynCall_diii(e,i,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_i(e){try{return Module.dynCall_i(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiii(e,i,r,t,n){try{return Module.dynCall_iiiii(e,i,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viii(e,i,r,t){try{Module.dynCall_viii(e,i,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_v(e){try{Module.dynCall_v(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiiii(e,i,r,t,n,f,a,s,l){try{return Module.dynCall_iiiiiiiii(e,i,r,t,n,f,a,s,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiid(e,i,r,t,n,f){try{return Module.dynCall_iiiiid(e,i,r,t,n,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiii(e,i,r,t,n){try{Module.dynCall_viiii(e,i,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),i()},1)):i()))}function exit(e,i){if(!i||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",function(){process.exit(e)}),console.log(" "),setTimeout(function(){process.exit(e)},500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}function abort(e){void 0!==e?(Module.print(e),Module.printErr(e),e=JSON.stringify(e)):e="",ABORT=!0,EXITSTATUS=1;var i="abort("+e+") at "+stackTrace()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw abortDecorators&&abortDecorators.forEach(function(r){i=r(i,e)}),i}Module=Module||{};var Module;Module||(Module=(void 0!==CharLS?CharLS:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&"function"==typeof require&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=function(e){process.stdout.write(e+"\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\n")});var nodeFS=require("fs"),nodePath=require("path");Module.read=function(e,i){e=nodePath.normalize(e);var r=nodeFS.readFileSync(e);return r||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),r=nodeFS.readFileSync(e)),r&&!i&&(r=r.toString()),r},Module.readBinary=function(e){var i=Module.read(e,!0);return i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),void 0!==module&&(module.exports=Module),process.on("uncaughtException",function(e){if(!(e instanceof ExitStatus))throw e}),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var i=read(e,"binary");return assert("object"==typeof i),i},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var i=new XMLHttpRequest;return i.open("GET",e,!1),i.send(null),i.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){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("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var i=parseInt(e.substr(1));return assert(i%8==0),i/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,i){return"double"===i||"i64"===i?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},getAlignSize:function(e,i,r){return r||"i64"!=e&&"double"!=e?e?Math.min(i||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(i,8):8},dynCall:function(e,i,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,i),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,i)},functionPointers:[],addFunction:function(e){for(var i=0;i<Runtime.functionPointers.length;i++)if(!Runtime.functionPointers[i])return Runtime.functionPointers[i]=e,2*(1+i);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(e,i){assert(i),Runtime.funcWrappers[i]||(Runtime.funcWrappers[i]={});var r=Runtime.funcWrappers[i];return r[e]||(r[e]=function(){return Runtime.dynCall(i,e,arguments)}),r[e]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var i=STACKTOP;return STACKTOP=STACKTOP+e|0,STACKTOP=STACKTOP+15&-16,i},staticAlloc:function(e){var i=STATICTOP;return STATICTOP=STATICTOP+e|0,STATICTOP=STATICTOP+15&-16,i},dynamicAlloc:function(e){var i=DYNAMICTOP;if(DYNAMICTOP=DYNAMICTOP+e|0,(DYNAMICTOP=DYNAMICTOP+15&-16)>=TOTAL_MEMORY){if(!enlargeMemory())return DYNAMICTOP=i,0}return i},alignMemory:function(e,i){return e=Math.ceil(e/(i?i:16))*(i?i:16)},makeBigInt:function(e,i,r){return r?+(e>>>0)+4294967296*+(i>>>0):+(e>>>0)+4294967296*+(0|i)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9,globalScope=this,cwrap,ccall;!function(){function parseJSFunc(e){var i=e.toString().match(sourceRegex).slice(1);return{arguments:i[0],body:i[1],returnValue:i[2]}}var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var i=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;return null!==e&&void 0!==e&&0!==e&&(i=Runtime.stackAlloc(1+(e.length<<2)),writeStringToMemory(e,i)),i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,i,r,t,n){var f=getCFunc(e),a=[],s=0;if(t)for(var l=0;l<t.length;l++){var o=toC[r[l]];o?(0===s&&(s=Runtime.stackSave()),a[l]=o(t[l])):a[l]=t[l]}var u=f.apply(null,a);if("string"===i&&(u=Pointer_stringify(u)),0!==s){if(n&&n.async)return void EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(s)})
5
+ ;Runtime.stackRestore(s)}return u};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,JSsource={};for(var fun in JSfuncs)JSfuncs.hasOwnProperty(fun)&&(JSsource[fun]=parseJSFunc(JSfuncs[fun]));cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(e){return"number"===e}),numericRet="string"!==returnType;if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(e,i){return"$"+i}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if("number"!==type){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"="+convertCode.returnValue+";"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){funcstr+="ret = "+parseJSFunc(function(){return Pointer_stringify}).returnValue+"(ret);"}return numericArgs||(funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}}(),Module.ccall=ccall,Module.cwrap=cwrap,Module.setValue=setValue,Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=0,Module.ALLOC_STACK=1,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=3,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;for(var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0,TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||4e8,totalMemory=65536;totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK;)totalMemory<16777216?totalMemory*=2:totalMemory+=16777216;totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=void 0,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&Math.imul(4294967295,5)===-5||(Math.imul=function(e,i){var r=e>>>16,t=65535&e,n=i>>>16,f=65535&i;return t*f+(r*f+t*n<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var i=0;i<32;i++)if(e&1<<31-i)return i;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+59744,__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_jpegls_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}}),allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,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,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+35640),allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39844),
6
+ allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,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,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+42396),
7
+ allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,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,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+52636),allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,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,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0),Module._i64Subtract=_i64Subtract;var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(e){if(!e||EXCEPTIONS.infos[e])return e;for(var i in EXCEPTIONS.infos){if(EXCEPTIONS.infos[i].adjusted===e)return i}return e},addRef:function(e){if(e){EXCEPTIONS.infos[e].refcount++}},decRef:function(e){if(e){var i=EXCEPTIONS.infos[e];assert(i.refcount>0),i.refcount--,0===i.refcount&&(i.destructor&&Runtime.dynCall("vi",i.destructor,[e]),delete EXCEPTIONS.infos[e],___cxa_free_exception(e))}},clearRef:function(e){if(e){EXCEPTIONS.infos[e].refcount=0}}};Module._memset=_memset;var _BDtoILow=!0,_emscripten_resume=!0,_emscripten_landingpad=!0,__MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],__MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];Module._free=_free;var PTHREAD_SPECIFIC={},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},_fabs=Math_abs,PTHREAD_SPECIFIC_NEXT_KEY=1,PATH=void 0,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 e=Browser.mainLoop.timingMode,i=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,i),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",i=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;i?i<r?Module.setStatus(e+" ("+(r-i)+"/"+r+")"):Module.setStatus(e):Module.setStatus("")}},runIter:function(e){if(!ABORT){if(Module.preMainLoop){if(Module.preMainLoop()===!1)return}try{e()}catch(e){if(e instanceof ExitStatus)return;throw e&&"object"==typeof e&&e.stack&&Module.printErr("exception thrown: "+[e,e.stack]),e}Module.postMainLoop&&Module.postMainLoop()}}},isFullScreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){function e(){Browser.pointerLock=document.pointerLockElement===t||document.mozPointerLockElement===t||document.webkitPointerLockElement===t||document.msPointerLockElement===t}if(Module.preloadPlugins||(Module.preloadPlugins=[]),!Browser.initted){Browser.initted=!0;try{new Blob,Browser.hasBlobConstructor=!0}catch(e){Browser.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Browser.hasBlobConstructor?null:console.log("warning: no BlobBuilder"),Browser.URLObject="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,Module.noImageDecoding||void 0!==Browser.URLObject||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var i={};i.canHandle=function(e){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},i.handle=function(e,i,r,t){var n=null;if(Browser.hasBlobConstructor)try{n=new Blob([e],{type:Browser.getMimetype(i)}),n.size!==e.length&&(n=new Blob([new Uint8Array(e).buffer],{type:Browser.getMimetype(i)}))}catch(e){Runtime.warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}if(!n){var f=new Browser.BlobBuilder;f.append(new Uint8Array(e).buffer),n=f.getBlob()}var a=Browser.URLObject.createObjectURL(n),s=new Image;s.onload=function(){assert(s.complete,"Image "+i+" could not be decoded");var t=document.createElement("canvas");t.width=s.width,t.height=s.height,t.getContext("2d").drawImage(s,0,0),Module.preloadedImages[i]=t,Browser.URLObject.revokeObjectURL(a),r&&r(e)},s.onerror=function(e){console.log("Image "+a+" could not be decoded"),t&&t()},s.src=a},Module.preloadPlugins.push(i);var r={};r.canHandle=function(e){return!Module.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},r.handle=function(e,i,r,t){function n(t){a||(a=!0,Module.preloadedAudios[i]=t,r&&r(e))}function f(){a||(a=!0,Module.preloadedAudios[i]=new Audio,t&&t())}var a=!1;if(!Browser.hasBlobConstructor)return f();try{var s=new Blob([e],{type:Browser.getMimetype(i)})}catch(e){return f()}var l=Browser.URLObject.createObjectURL(s),o=new Audio;o.addEventListener("canplaythrough",function(){n(o)},!1),o.onerror=function(r){a||(console.log("warning: browser could not fully decode audio "+i+", trying slower base64 approach"),o.src="data:audio/x-"+i.substr(-3)+";base64,"+function(e){for(var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",t=0,n=0,f=0;f<e.length;f++)for(t=t<<8|e[f],n+=8;n>=6;){var a=t>>n-6&63;n-=6,r+=i[a]}return 2==n?(r+=i[(3&t)<<4],r+="=="):4==n&&(r+=i[(15&t)<<2],r+="="),r}(e),n(o))},o.src=l,Browser.safeSetTimeout(function(){n(o)},1e4)},Module.preloadPlugins.push(r);var t=Module.canvas;t&&(t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock||t.msRequestPointerLock||function(){},t.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},t.exitPointerLock=t.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",e,!1),document.addEventListener("mozpointerlockchange",e,!1),document.addEventListener("webkitpointerlockchange",e,!1),document.addEventListener("mspointerlockchange",e,!1),Module.elementPointerLock&&t.addEventListener("click",function(e){!Browser.pointerLock&&t.requestPointerLock&&(t.requestPointerLock(),e.preventDefault())},!1))}},createContext:function(e,i,r,t){if(i&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,f;if(i){var a={antialias:!1,alpha:!1};if(t)for(var s in t)a[s]=t[s];f=GL.createContext(e,a),f&&(n=GL.getContext(f).GLctx),e.style.backgroundColor="black"}else n=e.getContext("2d");return n?(r&&(i||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=n,i&&GL.makeContextCurrent(f),Module.useWebGL=i,Browser.moduleContextCreatedCallbacks.forEach(function(e){e()}),Browser.init()),n):null},destroyContext:function(e,i,r){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,i,r){function t(){Browser.isFullScreen=!1;var e=n.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(n.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},n.cancelFullScreen=n.cancelFullScreen.bind(document),Browser.lockPointer&&n.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):(e.parentNode.insertBefore(n,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen),Browser.updateCanvasDimensions(n)}Browser.lockPointer=e,Browser.resizeCanvas=i,Browser.vrDevice=r,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var n=Module.canvas;Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",t,!1),document.addEventListener("mozfullscreenchange",t,!1),document.addEventListener("webkitfullscreenchange",t,!1),document.addEventListener("MSFullscreenChange",t,!1));var f=document.createElement("div");n.parentNode.insertBefore(f,n),f.appendChild(n),f.requestFullScreen=f.requestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullScreen?function(){f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?f.requestFullScreen({vrDisplay:r}):f.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var i=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=i+1e3/60;else for(;i+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-i,0);setTimeout(e,r)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach(function(e){e()})}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))})},safeSetTimeout:function(e,i){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))},i)},safeSetInterval:function(e,i){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&e()},i)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var i=0;switch(e.type){case"DOMMouseScroll":i=e.detail;break;case"mousewheel":i=e.wheelDelta;break;case"wheel":i=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return i},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var i=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,t=Module.canvas.height,n=void 0!==window.scrollX?window.scrollX:window.pageXOffset,f=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var a=e.touch;if(void 0===a)return;var s=a.pageX-(n+i.left),l=a.pageY-(f+i.top);s*=r/i.width,l*=t/i.height;var o={x:s,y:l};if("touchstart"===e.type)Browser.lastTouches[a.identifier]=o,Browser.touches[a.identifier]=o;else if("touchend"===e.type||"touchmove"===e.type){var u=Browser.touches[a.identifier];u||(u=o),Browser.lastTouches[a.identifier]=u,Browser.touches[a.identifier]=o}return}var c=e.pageX-(n+i.left),d=e.pageY-(f+i.top);c*=r/i.width,d*=t/i.height,Browser.mouseMovementX=c-Browser.mouseX,Browser.mouseMovementY=d-Browser.mouseY,Browser.mouseX=c,Browser.mouseY=d}},xhrLoad:function(e,i,r){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?i(t.response):r()},t.onerror=r,t.send(null)},asyncLoad:function(e,i,r,t){Browser.xhrLoad(e,function(r){assert(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),i(new Uint8Array(r)),t||removeRunDependency("al "+e)},function(i){if(!r)throw'Loading data file "'+e+'" failed.';r()}),t||addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach(function(i){i(e.width,e.height)})},setCanvasSize:function(e,i,r){var t=Module.canvas;Browser.updateCanvasDimensions(t,e,i),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,i,r){i&&r?(e.widthNative=i,e.heightNative=r):(i=e.widthNative,r=e.heightNative);var t=i,n=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(t/n<Module.forcedAspectRatio?t=Math.round(n*Module.forcedAspectRatio):n=Math.round(t/Module.forcedAspectRatio)),(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var f=Math.min(screen.width/t,screen.height/n);t=Math.round(t*f),n=Math.round(n*f)}Browser.resizeCanvas?(e.width!=t&&(e.width=t),e.height!=n&&(e.height=n),
8
+ void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=i&&(e.width=i),e.height!=r&&(e.height=r),void 0!==e.style&&(t!=i||n!=r?(e.style.setProperty("width",t+"px","important"),e.style.setProperty("height",n+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var e=Browser.nextWgetRequestHandle;return Browser.nextWgetRequestHandle++,e}};Module._malloc=_malloc;var SYSCALLS={varargs:0,get:function(e){return SYSCALLS.varargs+=4,HEAP32[SYSCALLS.varargs-4>>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),i=SYSCALLS.get();return assert(e>=0?0===i:i===-1),e},getZero:function(){assert(0===SYSCALLS.get())}};Module._i64Add=_i64Add,Module._bitshift64Lshr=_bitshift64Lshr;var _BDtoIHigh=!0;Module._memcpy=_memcpy;var _emscripten_postinvoke=!0;Module._bitshift64Shl=_bitshift64Shl,Module._memmove=_memmove;var _emscripten_preinvoke=!0,_BItoD=!0,___dso_handle=allocate(1,"i32*",ALLOC_STATIC);Module.requestFullScreen=function(e,i,r){Browser.requestFullScreen(e,i,r)},Module.requestAnimationFrame=function(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function(e,i,r){Browser.setCanvasSize(e,i,r)},Module.pauseMainLoop=function(){Browser.mainLoop.pause()},Module.resumeMainLoop=function(){Browser.mainLoop.resume()},Module.getUserMedia=function(){Browser.getUserMedia()},Module.createContext=function(e,i,r,t){return Browser.createContext(e,i,r,t)},STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX),assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",3);Module.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort:abort,assert:assert,invoke_iiiiiiii:invoke_iiiiiiii,invoke_viiiii:invoke_viiiii,invoke_iiiiiid:invoke_iiiiiid,invoke_vi:invoke_vi,invoke_vii:invoke_vii,invoke_iiiiiii:invoke_iiiiiii,invoke_ii:invoke_ii,invoke_iiiiiiiiiiii:invoke_iiiiiiiiiiii,invoke_iiii:invoke_iiii,invoke_viiiiiiiiiiiiiii:invoke_viiiiiiiiiiiiiii,invoke_viiiiii:invoke_viiiiii,invoke_viiiiiii:invoke_viiiiiii,invoke_viiiiiiiiii:invoke_viiiiiiiiii,invoke_iii:invoke_iii,invoke_iiiiii:invoke_iiiiii,invoke_diii:invoke_diii,invoke_i:invoke_i,invoke_iiiii:invoke_iiiii,invoke_viii:invoke_viii,invoke_v:invoke_v,invoke_iiiiiiiii:invoke_iiiiiiiii,invoke_iiiiid:invoke_iiiiid,invoke_viiii:invoke_viiii,_fabs:_fabs,_strftime:_strftime,_pthread_cond_wait:_pthread_cond_wait,___lock:___lock,_pthread_key_create:_pthread_key_create,_abort:_abort,___cxa_guard_acquire:___cxa_guard_acquire,___setErrNo:___setErrNo,___gxx_personality_v0:___gxx_personality_v0,___assert_fail:___assert_fail,___cxa_free_exception:___cxa_free_exception,___cxa_allocate_exception:___cxa_allocate_exception,___cxa_find_matching_catch:___cxa_find_matching_catch,__isLeapYear:__isLeapYear,___cxa_guard_release:___cxa_guard_release,__addDays:__addDays,_strftime_l:_strftime_l,_emscripten_set_main_loop_timing:_emscripten_set_main_loop_timing,_llvm_eh_typeid_for:_llvm_eh_typeid_for,_sbrk:_sbrk,___cxa_begin_catch:___cxa_begin_catch,_emscripten_memcpy_big:_emscripten_memcpy_big,___cxa_end_catch:___cxa_end_catch,___resumeException:___resumeException,__ZSt18uncaught_exceptionv:__ZSt18uncaught_exceptionv,_sysconf:_sysconf,_pthread_getspecific:_pthread_getspecific,__arraySum:__arraySum,_pthread_self:_pthread_self,_pthread_mutex_unlock:_pthread_mutex_unlock,_pthread_once:_pthread_once,___syscall54:___syscall54,___unlock:___unlock,_pthread_cleanup_pop:_pthread_cleanup_pop,_pthread_cond_broadcast:_pthread_cond_broadcast,_emscripten_set_main_loop:_emscripten_set_main_loop,_pthread_setspecific:_pthread_setspecific,___cxa_atexit:___cxa_atexit,___cxa_throw:___cxa_throw,___cxa_rethrow:___cxa_rethrow,___syscall6:___syscall6,_pthread_cleanup_push:_pthread_cleanup_push,___cxa_pure_virtual:___cxa_pure_virtual,_time:_time,_pthread_mutex_lock:_pthread_mutex_lock,___cxa_guard_abort:___cxa_guard_abort,_atexit:_atexit,___syscall140:___syscall140,___syscall145:___syscall145,___syscall146:___syscall146,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX,tempDoublePtr:tempDoublePtr,ABORT:ABORT,cttz_i8:cttz_i8,___dso_handle:___dso_handle};var asm=function(e,i,r){"use asm";var t=new e.Int8Array(r);var n=new e.Int16Array(r);var f=new e.Int32Array(r);var a=new e.Uint8Array(r);var s=new e.Uint16Array(r);var l=new e.Uint32Array(r);var o=new e.Float32Array(r);var u=new e.Float64Array(r);var c=i.STACKTOP|0;var d=i.STACK_MAX|0;var h=i.tempDoublePtr|0;var b=i.ABORT|0;var k=i.cttz_i8|0;var w=i.___dso_handle|0;var m=0;var _=0;var p=0;var v=0;var g=e.NaN,y=e.Infinity;var E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0;var R=0;var O=0;var L=0;var I=0;var B=0;var N=0;var F=0;var j=0;var U=0;var H=0;var Y=e.Math.floor;var q=e.Math.abs;var z=e.Math.sqrt;var X=e.Math.pow;var G=e.Math.cos;var V=e.Math.sin;var K=e.Math.tan;var W=e.Math.acos;var J=e.Math.asin;var Q=e.Math.atan;var Z=e.Math.atan2;var $=e.Math.exp;var ee=e.Math.log;var ie=e.Math.ceil;var re=e.Math.imul;var te=e.Math.min;var ne=e.Math.clz32;var fe=i.abort;var ae=i.assert;var se=i.invoke_iiiiiiii;var le=i.invoke_viiiii;var oe=i.invoke_iiiiiid;var ue=i.invoke_vi;var ce=i.invoke_vii;var de=i.invoke_iiiiiii;var he=i.invoke_ii;var be=i.invoke_iiiiiiiiiiii;var ke=i.invoke_iiii;var we=i.invoke_viiiiiiiiiiiiiii;var me=i.invoke_viiiiii;var _e=i.invoke_viiiiiii;var pe=i.invoke_viiiiiiiiii;var ve=i.invoke_iii;var ge=i.invoke_iiiiii;var ye=i.invoke_diii;var Ee=i.invoke_i;var Ae=i.invoke_iiiii;var Se=i.invoke_viii;var Te=i.invoke_v;var Me=i.invoke_iiiiiiiii;var Ce=i.invoke_iiiiid;var Pe=i.invoke_viiii;var xe=i._fabs;var De=i._strftime;var Re=i._pthread_cond_wait;var Oe=i.___lock;var Le=i._pthread_key_create;var Ie=i._abort;var Be=i.___cxa_guard_acquire;var Ne=i.___setErrNo;var Fe=i.___gxx_personality_v0;var je=i.___assert_fail;var Ue=i.___cxa_free_exception;var He=i.___cxa_allocate_exception;var Ye=i.___cxa_find_matching_catch;var qe=i.__isLeapYear;var ze=i.___cxa_guard_release;var Xe=i.__addDays;var Ge=i._strftime_l;var Ve=i._emscripten_set_main_loop_timing;var Ke=i._llvm_eh_typeid_for;var We=i._sbrk;var Je=i.___cxa_begin_catch;var Qe=i._emscripten_memcpy_big;var Ze=i.___cxa_end_catch;var $e=i.___resumeException;var ei=i.__ZSt18uncaught_exceptionv;var ii=i._sysconf;var ri=i._pthread_getspecific;var ti=i.__arraySum;var ni=i._pthread_self;var fi=i._pthread_mutex_unlock;var ai=i._pthread_once;var si=i.___syscall54;var li=i.___unlock;var oi=i._pthread_cleanup_pop;var ui=i._pthread_cond_broadcast;var ci=i._emscripten_set_main_loop;var di=i._pthread_setspecific;var hi=i.___cxa_atexit;var bi=i.___cxa_throw;var ki=i.___cxa_rethrow;var wi=i.___syscall6;var mi=i._pthread_cleanup_push;var _i=i.___cxa_pure_virtual;var pi=i._time;var vi=i._pthread_mutex_lock;var gi=i.___cxa_guard_abort;var yi=i._atexit;var Ei=i.___syscall140;var Ai=i.___syscall145;var Si=i.___syscall146;var Ti=0;function Mi(e){e=e|0;var i=0;i=c;c=c+e|0;c=c+15&-16;return i|0}function Ci(){return c|0}function Pi(e){e=e|0;c=e}function xi(e,i){e=e|0;i=i|0;c=e;d=i}function Di(e,i){e=e|0;i=i|0;if(!m){m=e;_=i}}function Ri(e){e=e|0;t[h>>0]=t[e>>0];t[h+1>>0]=t[e+1>>0];t[h+2>>0]=t[e+2>>0];t[h+3>>0]=t[e+3>>0]}function Oi(e){e=e|0;t[h>>0]=t[e>>0];t[h+1>>0]=t[e+1>>0];t[h+2>>0]=t[e+2>>0];t[h+3>>0]=t[e+3>>0];t[h+4>>0]=t[e+4>>0];t[h+5>>0]=t[e+5>>0];t[h+6>>0]=t[e+6>>0];t[h+7>>0]=t[e+7>>0]}function Li(e){e=e|0;R=e}function Ii(){return R|0}function Bi(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0;y=c;c=c+128|0;b=y+44|0;_=y+8|0;u=y+4|0;h=y;k=r+4|0;w=r+8|0;m=0;Pe(35,f[r>>2]|0,f[k>>2]|0,f[w>>2]|0,n|0);d=m;m=0;if(!(d&1)){l=b;s=l+84|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(s|0))n=b+12|0;if((f[n>>2]|0)==0?(o=re(((f[b+8>>2]|0)+7|0)/8|0,f[b>>2]|0)|0,f[n>>2]=o,(f[b+24>>2]|0)!=0):0)f[n>>2]=re(f[b+16>>2]|0,o)|0;m=0;ue(176,_|0);d=m;m=0;if(!(d&1)){n=b+56|0;do if(f[n>>2]|0){m=0;n=he(66,n|0)|0;d=m;m=0;if(!(d&1)){f[u>>2]=n;s=_+28|0;l=f[s>>2]|0;if(l>>>0<(f[_+32>>2]|0)>>>0){f[l>>2]=n;f[s>>2]=l+4;f[u>>2]=0;p=19;break}m=0;ce(57,_+24|0,u|0);d=m;m=0;if(d&1){s=Ye(824,0)|0;n=R;l=f[u>>2]|0;f[u>>2]=0;if(!l)break;fE[f[(f[l>>2]|0)+4>>2]&255](l);break}else{n=f[u>>2]|0;f[u>>2]=0;if(!n){p=19;break}fE[f[(f[n>>2]|0)+4>>2]&255](n);p=19;break}}else p=15}else p=19;while(0)e:do if((p|0)==19){l=b+4|0;o=b+8|0;u=b+16|0;m=0;n=Ae(14,f[b>>2]|0,f[l>>2]|0,f[o>>2]|0,f[u>>2]|0)|0;d=m;m=0;if(!(d&1)){f[h>>2]=n;d=_+28|0;s=f[d>>2]|0;do if(s>>>0>=(f[_+32>>2]|0)>>>0){m=0;ce(57,_+24|0,h|0);s=m;m=0;if(s&1){s=Ye(824,0)|0;n=R;l=f[h>>2]|0;f[h>>2]=0;if(!l)break e;fE[f[(f[l>>2]|0)+4>>2]&255](l);break e}else{n=f[h>>2]|0;f[h>>2]=0;if(!n)break;fE[f[(f[n>>2]|0)+4>>2]&255](n);break}}else{f[s>>2]=n;f[d>>2]=s+4;f[h>>2]=0}while(0)n=f[b+28>>2]|0;if((n|0)!=0?(m=0,ce(58,_|0,n|0),p=m,m=0,p&1):0){p=15;break}i:do if(!(f[b+24>>2]|0)){n=re(f[l>>2]|0,f[b>>2]|0)|0;n=re(n,((f[o>>2]|0)+7|0)/8|0)|0;if((f[u>>2]|0)>0){l=0;while(1){m=0;Se(4,_|0,r|0,b|0);p=m;m=0;if(p&1)break;s=f[k>>2]|0;if(s){f[k>>2]=s+n;f[w>>2]=(f[w>>2]|0)-n}l=l+1|0;if((l|0)>=(f[u>>2]|0))break i}s=Ye(824,0)|0;n=R;p=16;break e}}else{m=0;Se(4,_|0,r|0,b|0);p=m;m=0;if(p&1){p=15;break e}}while(0)m=0;ve(33,_|0,e|0)|0;p=m;m=0;if(!(p&1)){f[i>>2]=f[_+16>>2];if(a)t[a>>0]=0;l=_+24|0;n=f[l>>2]|0;if(n){s=f[d>>2]|0;if((s|0)!=(n|0)){do{a=s+-4|0;f[d>>2]=a;s=f[a>>2]|0;f[a>>2]=0;if(s)fE[f[(f[s>>2]|0)+4>>2]&255](s);s=f[d>>2]|0}while((s|0)!=(n|0))n=f[l>>2]|0}Iv(n)}a=0;c=y;return a|0}else p=15}else p=15}while(0)if((p|0)==15){s=Ye(824,0)|0;n=R;p=16}d=_+24|0;l=f[d>>2]|0;if(l){u=_+28|0;o=f[u>>2]|0;if((o|0)!=(l|0)){do{_=o+-4|0;f[u>>2]=_;o=f[_>>2]|0;f[_>>2]=0;if(o)fE[f[(f[o>>2]|0)+4>>2]&255](o);o=f[u>>2]|0}while((o|0)!=(l|0))l=f[d>>2]|0}Iv(l)}}else p=5}else p=5;if((p|0)==5){s=Ye(824,0)|0;n=R}_=(n|0)==(Ke(824)|0);o=Je(s|0)|0;n=(a|0)==0;if(!_){if(!n)t[a>>0]=0;Ze();a=14;c=y;return a|0}l=o+12|0;do if(!n){n=f[l>>2]|0;m=0;s=Ee(1)|0;_=m;m=0;if(!(_&1))if((n|0)==(s|0)){Xy(a,lE[f[(f[o>>2]|0)+8>>2]&127](o)|0)|0;p=60;break}else{t[a>>0]=0;p=60;break}}else p=60;while(0)if((p|0)==60?(v=f[l>>2]|0,m=0,g=Ee(1)|0,a=m,m=0,!(a&1)):0){a=(v|0)==(g|0)?f[o+8>>2]|0:13;Ze();c=y;return a|0}n=Ye()|0;m=0;Te(3);y=m;m=0;if(y&1){y=Ye(0)|0;Fi(y)}else $e(n|0);return 0}function Ni(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0;u=c;c=c+112|0;a=u+96|0;o=u+84|0;d=u+72|0;h=u+60|0;b=u+48|0;k=u+36|0;w=u+24|0;_=u+12|0;p=u;l=(i|0)==0;if((e|0)==0&l){n=He(16)|0;m=0;Se(5,a|0,48504,52);p=m;m=0;if(!(p&1)){m=0;i=Ee(1)|0;p=m;m=0;if(!(p&1)?(m=0,Pe(36,n|0,1,i|0,a|0),p=m,m=0,!(p&1)):0){m=0;Se(6,n|0,824,96);m=0;e=0}else e=1;i=Ye()|0;Od(a);if(!e){p=i;$e(p|0)}}else i=Ye()|0;Ue(n|0);p=i;$e(p|0)}s=f[t>>2]|0;if((s+-1|0)>>>0>65534){n=He(16)|0;m=0;Se(5,o|0,48557,41);p=m;m=0;if(!(p&1)){m=0;i=Ee(1)|0;p=m;m=0;if(!(p&1)?(m=0,Pe(36,n|0,1,i|0,o|0),p=m,m=0,!(p&1)):0){m=0;Se(6,n|0,824,96);m=0;e=0}else e=1;i=Ye()|0;Od(o);if(!e){p=i;$e(p|0)}}else i=Ye()|0;Ue(n|0);p=i;$e(p|0)}a=f[t+4>>2]|0;if((a+-1|0)>>>0>65534){n=He(16)|0;m=0;Se(5,d|0,48599,42);p=m;m=0;if(!(p&1)){m=0;i=Ee(1)|0;p=m;m=0;if(!(p&1)?(m=0,Pe(36,n|0,1,i|0,d|0),p=m,m=0,!(p&1)):0){m=0;Se(6,n|0,824,96);m=0;e=0}else e=1;i=Ye()|0;Od(d);if(!e){p=i;$e(p|0)}}else i=Ye()|0;Ue(n|0);p=i;$e(p|0)}n=f[t+8>>2]|0;if((n+-2|0)>>>0>14){n=He(16)|0;m=0;Se(5,h|0,48642,46);p=m;m=0;if(!(p&1)){m=0;i=Ee(1)|0;p=m;m=0;if(!(p&1)?(m=0,Pe(36,n|0,1,i|0,h|0),p=m,m=0,!(p&1)):0){m=0;Se(6,n|0,824,96);m=0;e=0}else e=1;i=Ye()|0;Od(h);if(!e){p=i;$e(p|0)}}else i=Ye()|0;Ue(n|0);p=i;$e(p|0)}e=f[t+24>>2]|0;if(e>>>0>=3){n=He(16)|0;m=0;Se(5,b|0,48689,65);p=m;m=0;if(!(p&1)){m=0;i=Ee(1)|0;p=m;m=0;if(!(p&1)?(m=0,Pe(36,n|0,1,i|0,b|0),p=m,m=0,!(p&1)):0){m=0;Se(6,n|0,824,96);m=0;e=0}else e=1;i=Ye()|0;Od(b);if(!e){p=i;$e(p|0)}}else i=Ye()|0;Ue(n|0);p=i;$e(p|0)}i=f[t+16>>2]|0;if((i+-1|0)>>>0>254){n=He(16)|0;m=0;Se(5,k|0,48755,44);p=m;m=0;if(!(p&1)){m=0;i=Ee(1)|0;p=m;m=0;if(!(p&1)?(m=0,Pe(36,n|0,1,i|0,k|0),p=m,m=0,!(p&1)):0){m=0;Se(6,n|0,824,96);m=0;e=0}else e=1;i=Ye()|0;Od(k);if(!e){p=i;$e(p|0)}}else i=Ye()|0;Ue(n|0);p=i;$e(p|0)}if(!l?(k=re(a,s)|0,(re(re(k,(n|0)>8?2:1)|0,i)|0)>>>0>r>>>0):0){n=He(16)|0;m=0;Se(5,w|0,48800,58);p=m;m=0;if(!(p&1)){m=0;i=Ee(1)|0;p=m;m=0;if(!(p&1)?(m=0,Pe(36,n|0,1,i|0,w|0),p=m,m=0,!(p&1)):0){m=0;Se(6,n|0,824,96);m=0;e=0}else e=1;i=Ye()|0;Od(w);if(!e){p=i;$e(p|0)}}else i=Ye()|0;Ue(n|0);p=i;$e(p|0)}switch(i|0){case 4:{if((e|0)!=2){c=u;return}n=He(16)|0;m=0;Se(5,_|0,48859,73);p=m;m=0;if(!(p&1)){m=0;i=Ee(1)|0;p=m;m=0;if(!(p&1)?(m=0,Pe(36,n|0,1,i|0,_|0),p=m,m=0,!(p&1)):0){m=0;Se(6,n|0,824,96);m=0;e=0}else e=1;i=Ye()|0;Od(_);if(!e){p=i;$e(p|0)}}else i=Ye()|0;Ue(n|0);p=i;$e(p|0)}case 3:{c=u;return}default:{if(!e){c=u;return}n=He(16)|0;m=0;Se(5,p|0,48933,73);_=m;m=0;if(!(_&1)){m=0;i=Ee(1)|0;_=m;m=0;if(!(_&1)?(m=0,Pe(36,n|0,1,i|0,p|0),_=m,m=0,!(_&1)):0){m=0;Se(6,n|0,824,96);m=0;e=0}else e=1;i=Ye()|0;Od(p);if(!e){p=i;$e(p|0)}}else i=Ye()|0;Ue(n|0);p=i;$e(p|0)}}}function Fi(e){e=e|0;Je(e|0)|0;Yv()}function ji(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0;h=c;c=c+128|0;s=h+116|0;l=h;m=0;f[s>>2]=f[i>>2];f[s+4>>2]=f[i+4>>2];f[s+8>>2]=f[i+8>>2];ce(59,l|0,s|0);a=m;m=0;if(!(a&1)){if(r){a=l+16|0;i=a+84|0;do{f[a>>2]=f[r>>2];a=a+4|0;r=r+4|0}while((a|0)<(i|0))}m=0;f[s>>2]=f[e>>2];f[s+4>>2]=f[e+4>>2];f[s+8>>2]=f[e+8>>2];ce(60,l|0,s|0);l=m;m=0;if(!(l&1)){if(n)t[n>>0]=0;d=0;c=h;return d|0}}e=Ye(824,0)|0;l=R;l=(l|0)==(Ke(824)|0);e=Je(e|0)|0;i=(n|0)==0;if(!l){if(!i)t[n>>0]=0;Ze();d=14;c=h;return d|0}a=e+12|0;do if(!i){i=f[a>>2]|0;m=0;r=Ee(1)|0;l=m;m=0;if(!(l&1))if((i|0)==(r|0)){Xy(n,lE[f[(f[e>>2]|0)+8>>2]&127](e)|0)|0;d=10;break}else{t[n>>0]=0;d=10;break}}else d=10;while(0)if((d|0)==10?(o=f[a>>2]|0,m=0,u=Ee(1)|0,d=m,m=0,!(d&1)):0){d=(o|0)==(u|0)?f[e+8>>2]|0:13;Ze();c=h;return d|0}i=Ye()|0;m=0;Te(3);h=m;m=0;if(h&1){h=Ye(0)|0;Fi(h)}else $e(i|0);return 0}function Ui(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0;u=c;c=c+128|0;a=u+116|0;n=u;m=0;f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];ce(59,n|0,a|0);a=m;m=0;if((!(a&1)?(m=0,ue(177,n|0),a=m,m=0,!(a&1)):0)?(m=0,ce(61,n|0,1),a=m,m=0,!(a&1)):0){e=n+16|0;n=i+84|0;do{f[i>>2]=f[e>>2];i=i+4|0;e=e+4|0}while((i|0)<(n|0))if(r)t[r>>0]=0;r=0;c=u;return r|0}a=Ye(824,0)|0;i=R;i=(i|0)==(Ke(824)|0);a=Je(a|0)|0;e=(r|0)==0;if(!i){if(!e)t[r>>0]=0;Ze();r=14;c=u;return r|0}i=a+12|0;do if(!e){e=f[i>>2]|0;m=0;n=Ee(1)|0;d=m;m=0;if(!(d&1))if((e|0)==(n|0)){Xy(r,lE[f[(f[a>>2]|0)+8>>2]&127](a)|0)|0;o=13;break}else{t[r>>0]=0;o=13;break}}else o=13;while(0)if((o|0)==13?(s=f[i>>2]|0,m=0,l=Ee(1)|0,d=m,m=0,!(d&1)):0){d=(s|0)==(l|0)?f[a+8>>2]|0:13;Ze();c=u;return d|0}e=Ye()|0;m=0;Te(3);d=m;m=0;if(d&1){d=Ye(0)|0;Fi(d)}else $e(e|0);return 0}function Hi(e,i,r,t,n,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0;h=c;c=c+48|0;o=h+36|0;l=h+24|0;u=h+12|0;d=h;if(!((e|0)!=0&(r|0)!=0&(t|0)!=0&(a|0)!=0)){n=1;c=h;return n|0}f[u>>2]=0;f[u+4>>2]=e;f[u+8>>2]=i;f[d>>2]=0;f[d+4>>2]=t;f[d+8>>2]=n;f[l>>2]=f[u>>2];f[l+4>>2]=f[u+4>>2];f[l+8>>2]=f[u+8>>2];f[o>>2]=f[d>>2];f[o+4>>2]=f[d+4>>2];f[o+8>>2]=f[d+8>>2];n=Bi(l,r,o,a,s)|0;c=h;return n|0}function Yi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;n=c;c=c+32|0;a=n+12|0;s=n;l=s;f[l>>2]=0;f[l+4>>2]=0;f[s+4>>2]=e;f[s+8>>2]=i;f[a>>2]=f[s>>2];f[a+4>>2]=f[s+4>>2];f[a+8>>2]=f[s+8>>2];r=Ui(a,r,t)|0;c=n;return r|0}function qi(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+48|0;l=s+36|0;o=s+24|0;d=s+12|0;u=s;f[d>>2]=0;f[d+4>>2]=e;f[d+8>>2]=i;f[u>>2]=0;f[u+4>>2]=r;f[u+8>>2]=t;f[o>>2]=f[d>>2];f[o+4>>2]=f[d+4>>2];f[o+8>>2]=f[d+8>>2];f[l>>2]=f[u>>2];f[l+4>>2]=f[u+4>>2];f[l+8>>2]=f[u+8>>2];t=ji(o,l,n,a)|0;c=s;return t|0}function zi(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;u=e+4|0;r=f[e>>2]|0;n=((f[u>>2]|0)-r>>2)+1|0;if(n>>>0>1073741823){Rv(e);r=f[e>>2]|0}c=e+8|0;t=(f[c>>2]|0)-r|0;if(t>>2>>>0<536870911){t=t>>1;t=t>>>0<n>>>0?n:t;r=(f[u>>2]|0)-r>>2;if(!t){a=0;s=0}else l=6}else{t=1073741823;r=(f[u>>2]|0)-r>>2;l=6}if((l|0)==6){a=t;s=Lv(t<<2)|0}n=s+(r<<2)|0;t=n;o=s+(a<<2)|0;l=f[i>>2]|0;f[i>>2]=0;f[n>>2]=l;l=s+(r+1<<2)|0;s=f[e>>2]|0;r=f[u>>2]|0;if((r|0)==(s|0)){n=e;a=u}else{do{r=r+-4|0;i=f[r>>2]|0;f[r>>2]=0;f[n+-4>>2]=i;n=t+-4|0;t=n}while((r|0)!=(s|0))r=t;n=e;a=u;t=r;s=f[e>>2]|0;r=f[u>>2]|0}f[n>>2]=t;f[a>>2]=l;f[c>>2]=o;n=s;if((r|0)!=(n|0))do{r=r+-4|0;t=f[r>>2]|0;f[r>>2]=0;if(t)fE[f[(f[t>>2]|0)+4>>2]&255](t)}while((r|0)!=(n|0))if(!s)return;Iv(s);return}function Xi(){if(t[8]|0)return 35648;if(!(Be(8)|0))return 35648;hi(72,35648,w|0)|0;ze(8);return 35648}function Gi(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0;h=c;c=c+32|0;u=h;ov(u,(1<<i)+-1|0,0);s=f[u>>2]|0;d=s+1|0;r=d<<1;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;e:do if(d){if(!((s|0)<-1?(m=0,ue(178,e|0),o=m,m=0,o&1):0))n=4;if((n|0)==4?(m=0,a=he(67,r|0)|0,o=m,m=0,!(o&1)):0){f[l>>2]=a;f[e>>2]=a;f[e+8>>2]=a+r;i=a;while(1){t[i>>0]=0;i=(f[l>>2]|0)+1|0;f[l>>2]=i;r=r+-1|0;if(!r)break e}}r=Ye()|0;i=f[e>>2]|0;if(!i)$e(r|0);if((f[l>>2]|0)!=(i|0))f[l>>2]=i;Iv(i);$e(r|0)}while(0)i=~s;if((s|0)<(i|0)){c=h;return}l=u+12|0;o=u+8|0;s=u+4|0;a=i;do{i=f[l>>2]|0;if((a|0)>(0-i|0)){r=f[o>>2]|0;if((a|0)>(0-r|0)){n=f[s>>2]|0;if((a|0)>(0-n|0))if((a|0)>=0)if((a|0)>0)if((n|0)<=(a|0))if((r|0)>(a|0))i=2;else i=(i|0)>(a|0)?3:4;else i=1;else i=0;else i=-1;else i=-2}else i=-3}else i=-4;t[(f[e>>2]|0)+(a+d)>>0]=i;a=a+1|0}while((a|0)<(d|0))c=h;return}function Vi(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;k=f[r+16>>2]|0;switch(k|0){case 64:case 0:{m=0;e=ve(34,e|0,i|0)|0;i=m;m=0;if(i&1)w=16;else a=e;break}default:{s=(1<<f[i+8>>2])+-1|0;b=f[i+20>>2]|0;h=b<<1;h=((h+s|0)/(h|1|0)|0)+1|0;e=0;while(1)if((1<<e|0)<(h|0))e=e+1|0;else break;a=0;while(1)if((1<<a|0)<(s|0))a=a+1|0;else{o=a;break}s=f[r>>2]|0;m=0;a=he(67,4624)|0;d=m;m=0;if(d&1)w=16;else{l=((o|0)<8?8:o)+o<<1;u=a+4|0;c=i;d=u+84|0;do{f[u>>2]=f[c>>2];u=u+4|0;c=c+4|0}while((u|0)<(d|0))u=a+88|0;d=u+40|0;do{f[u>>2]=0;u=u+4|0}while((u|0)<(d|0))f[a>>2]=35660;f[a+128>>2]=s;f[a+132>>2]=h;f[a+136>>2]=b;f[a+140>>2]=e;f[a+144>>2]=o;f[a+148>>2]=l;f[a+152>>2]=k;e=a+156|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+172>>2]=f[i>>2];f[a+176>>2]=0;f[a+180>>2]=0;f[a+184>>2]=0;e=a+4568|0;s=a+188|0;do{f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;n[s+10>>1]=1;s=s+12|0}while((s|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4580|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4592|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+28>>2]|0))f[a+20>>2]=1}}}if((w|0)==16){w=Ye()|0;$e(w|0)}if(!a)return a|0;m=0;ce(f[(f[a>>2]|0)+12>>2]|0,a|0,r|0);w=m;m=0;if(!(w&1))return a|0;e=Ye()|0;if(!a){w=e;$e(w|0)}fE[f[(f[a>>2]|0)+4>>2]&255](a);w=e;$e(w|0);return 0}function Ki(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;r=(f[i+24>>2]|0)==2;if(r?(f[i+16>>2]|0)!=3:0){i=0;return i|0}h=f[i+20>>2]|0;e=f[i+8>>2]|0;e:do if(!h){if(r){if((e|0)!=8)break;a=Lv(4600)|0;o=a+4|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))o=a+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0))f[a>>2]=35688;e=a+132|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+148>>2]=f[i>>2];f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;e=a+4544|0;r=a+164|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4556|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4568|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+28>>2]|0))f[a+20>>2]=1;i=a;return i|0}switch(e|0){case 8:{a=Lv(4600)|0;o=a+4|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))o=a+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0))f[a>>2]=35716;e=a+132|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+148>>2]=f[i>>2];f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;e=a+4544|0;r=a+164|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4556|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4568|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+28>>2]|0))f[a+20>>2]=1;i=a;return i|0}case 12:{a=Lv(4600)|0;o=a+4|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))o=a+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0))f[a>>2]=35744;e=a+132|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+148>>2]=f[i>>2];f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;e=a+4544|0;r=a+164|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4556|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4568|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+28>>2]|0))f[a+20>>2]=1;i=a;return i|0}case 16:{a=Lv(4600)|0;o=a+4|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))o=a+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0))f[a>>2]=35772;e=a+132|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+148>>2]=f[i>>2];f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;e=a+4544|0;r=a+164|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4556|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4568|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+28>>2]|0))f[a+20>>2]=1;i=a;return i|0}default:break e}}while(0)d=(1<<e)+-1|0;if((e|0)<9){l=h<<1;l=((l+d|0)/(l|1|0)|0)+1|0;if(r){e=0;while(1)if((1<<e|0)<(l|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(d|0))r=r+1|0;else break;a=((r|0)<8?8:r)+r<<1;s=Lv(4624)|0;o=s+4|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))o=s+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0))f[s>>2]=35800;f[s+128>>2]=d;f[s+132>>2]=l;f[s+136>>2]=h;f[s+140>>2]=e;f[s+144>>2]=r;f[s+148>>2]=a;f[s+152>>2]=64;e=s+156|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+172>>2]=f[i>>2];f[s+176>>2]=0;f[s+180>>2]=0;f[s+184>>2]=0;e=s+4568|0;r=s+188|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4580|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4592|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+28>>2]|0))f[s+20>>2]=1;i=s;return i|0}else{e=0;while(1)if((1<<e|0)<(l|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(d|0))r=r+1|0;else break;a=((r|0)<8?8:r)+r<<1;s=Lv(4624)|0;o=s+4|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))o=s+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0))f[s>>2]=35660;f[s+128>>2]=d;f[s+132>>2]=l;f[s+136>>2]=h;f[s+140>>2]=e;f[s+144>>2]=r;f[s+148>>2]=a;f[s+152>>2]=64;e=s+156|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+172>>2]=f[i>>2];f[s+176>>2]=0;f[s+180>>2]=0;f[s+184>>2]=0;e=s+4568|0;r=s+188|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4580|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4592|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+28>>2]|0))f[s+20>>2]=1;i=s;return i|0}}if((e|0)>=17){i=0;return i|0}l=h<<1;l=((l+d|0)/(l|1|0)|0)+1|0;if(r){e=0;while(1)if((1<<e|0)<(l|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(d|0))r=r+1|0;else break;a=((r|0)<8?8:r)+r<<1;s=Lv(4624)|0;o=s+4|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))o=s+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0))f[s>>2]=35828;f[s+128>>2]=d;f[s+132>>2]=l;f[s+136>>2]=h;f[s+140>>2]=e;f[s+144>>2]=r;f[s+148>>2]=a;f[s+152>>2]=64;e=s+156|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+172>>2]=f[i>>2];f[s+176>>2]=0;f[s+180>>2]=0;f[s+184>>2]=0;e=s+4568|0;r=s+188|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4580|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4592|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+28>>2]|0))f[s+20>>2]=1;i=s;return i|0}else{e=0;while(1)if((1<<e|0)<(l|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(d|0))r=r+1|0;else break;a=((r|0)<8?8:r)+r<<1;s=Lv(4624)|0;o=s+4|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))o=s+88|0;c=o+40|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(c|0))f[s>>2]=35856;f[s+128>>2]=d;f[s+132>>2]=l;f[s+136>>2]=h;f[s+140>>2]=e;f[s+144>>2]=r;f[s+148>>2]=a;f[s+152>>2]=64;e=s+156|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+172>>2]=f[i>>2];f[s+176>>2]=0;f[s+180>>2]=0;f[s+184>>2]=0;e=s+4568|0;r=s+188|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4580|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4592|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+28>>2]|0))f[s+20>>2]=1;i=s;return i|0}return 0}function Wi(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;k=f[r+16>>2]|0;switch(k|0){case 64:case 0:{m=0;e=ve(35,e|0,i|0)|0;i=m;m=0;if(i&1)w=16;else a=e;break}default:{s=(1<<f[i+8>>2])+-1|0;b=f[i+20>>2]|0;h=b<<1;h=((h+s|0)/(h|1|0)|0)+1|0;e=0;while(1)if((1<<e|0)<(h|0))e=e+1|0;else break;a=0;while(1)if((1<<a|0)<(s|0))a=a+1|0;else{o=a;break}s=f[r>>2]|0;m=0;a=he(67,4632)|0;d=m;m=0;if(d&1)w=16;else{l=((o|0)<8?8:o)+o<<1;f[a+4>>2]=0;u=a+8|0;c=i;d=u+84|0;do{f[u>>2]=f[c>>2];u=u+4|0;c=c+4|0}while((u|0)<(d|0))f[a+92>>2]=0;f[a+96>>2]=0;f[a+100>>2]=32;f[a+104>>2]=0;f[a+108>>2]=0;t[a+112>>0]=0;d=a+116|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[a>>2]=35884;f[a+136>>2]=s;f[a+140>>2]=h;f[a+144>>2]=b;f[a+148>>2]=e;f[a+152>>2]=o;f[a+156>>2]=l;f[a+160>>2]=k;e=a+164|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+180>>2]=f[i>>2];f[a+184>>2]=0;f[a+188>>2]=0;f[a+192>>2]=0;e=a+4576|0;s=a+196|0;do{f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;n[s+10>>1]=1;s=s+12|0}while((s|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4588|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4600|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+32>>2]|0))f[a+24>>2]=1}}}if((w|0)==16){w=Ye()|0;$e(w|0)}if(!a)return a|0;m=0;ce(f[(f[a>>2]|0)+8>>2]|0,a|0,r|0);w=m;m=0;if(!(w&1))return a|0;e=Ye()|0;if(!a){w=e;$e(w|0)}fE[f[(f[a>>2]|0)+4>>2]&255](a);w=e;$e(w|0);return 0}function Ji(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;r=(f[i+24>>2]|0)==2;if(r?(f[i+16>>2]|0)!=3:0){i=0;return i|0}h=f[i+20>>2]|0;e=f[i+8>>2]|0;e:do if(!h){if(r){if((e|0)!=8)break;a=Lv(4608)|0;f[a+4>>2]=0;o=a+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))f[a+92>>2]=0;f[a+96>>2]=0;f[a+100>>2]=32;f[a+104>>2]=0;f[a+108>>2]=0;t[a+112>>0]=0;e=a+116|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[a>>2]=35912;e=a+140|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+156>>2]=f[i>>2];f[a+160>>2]=0;f[a+164>>2]=0;f[a+168>>2]=0;e=a+4552|0;r=a+172|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4564|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4576|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+32>>2]|0))f[a+24>>2]=1;i=a;return i|0}switch(e|0){case 8:{a=Lv(4608)|0;f[a+4>>2]=0;o=a+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))f[a+92>>2]=0;f[a+96>>2]=0;f[a+100>>2]=32;f[a+104>>2]=0;f[a+108>>2]=0;t[a+112>>0]=0;e=a+116|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[a>>2]=35940;e=a+140|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+156>>2]=f[i>>2];f[a+160>>2]=0;f[a+164>>2]=0;f[a+168>>2]=0;e=a+4552|0;r=a+172|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4564|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4576|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+32>>2]|0))f[a+24>>2]=1;i=a;return i|0}case 12:{a=Lv(4608)|0;f[a+4>>2]=0;o=a+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))f[a+92>>2]=0;f[a+96>>2]=0;f[a+100>>2]=32;f[a+104>>2]=0;f[a+108>>2]=0;t[a+112>>0]=0;e=a+116|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[a>>2]=35968;e=a+140|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+156>>2]=f[i>>2];f[a+160>>2]=0;f[a+164>>2]=0;f[a+168>>2]=0;e=a+4552|0;r=a+172|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4564|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4576|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+32>>2]|0))f[a+24>>2]=1;i=a;return i|0}case 16:{a=Lv(4608)|0;f[a+4>>2]=0;o=a+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))f[a+92>>2]=0;f[a+96>>2]=0;f[a+100>>2]=32;f[a+104>>2]=0;f[a+108>>2]=0;t[a+112>>0]=0;e=a+116|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[a>>2]=35996;e=a+140|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[a+156>>2]=f[i>>2];f[a+160>>2]=0;f[a+164>>2]=0;f[a+168>>2]=0;e=a+4552|0;r=a+172|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=a+4564|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=a+4576|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[a+32>>2]|0))f[a+24>>2]=1;i=a;return i|0}default:break e}}while(0)d=(1<<e)+-1|0;if((e|0)<9){l=h<<1;l=((l+d|0)/(l|1|0)|0)+1|0;if(r){e=0;while(1)if((1<<e|0)<(l|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(d|0))r=r+1|0;else break;a=((r|0)<8?8:r)+r<<1;s=Lv(4632)|0;f[s+4>>2]=0;o=s+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))f[s+92>>2]=0;f[s+96>>2]=0;f[s+100>>2]=32;f[s+104>>2]=0;f[s+108>>2]=0;t[s+112>>0]=0;c=s+116|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[s>>2]=36024;f[s+136>>2]=d;f[s+140>>2]=l;f[s+144>>2]=h;f[s+148>>2]=e;f[s+152>>2]=r;f[s+156>>2]=a;f[s+160>>2]=64;e=s+164|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+180>>2]=f[i>>2];f[s+184>>2]=0;f[s+188>>2]=0;f[s+192>>2]=0;e=s+4576|0;r=s+196|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4588|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4600|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+32>>2]|0))f[s+24>>2]=1;i=s;return i|0}else{e=0;while(1)if((1<<e|0)<(l|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(d|0))r=r+1|0;else break;a=((r|0)<8?8:r)+r<<1;s=Lv(4632)|0;f[s+4>>2]=0;o=s+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))f[s+92>>2]=0;f[s+96>>2]=0;f[s+100>>2]=32;f[s+104>>2]=0;f[s+108>>2]=0;t[s+112>>0]=0;c=s+116|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[s>>2]=35884
9
+ ;f[s+136>>2]=d;f[s+140>>2]=l;f[s+144>>2]=h;f[s+148>>2]=e;f[s+152>>2]=r;f[s+156>>2]=a;f[s+160>>2]=64;e=s+164|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+180>>2]=f[i>>2];f[s+184>>2]=0;f[s+188>>2]=0;f[s+192>>2]=0;e=s+4576|0;r=s+196|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4588|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4600|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+32>>2]|0))f[s+24>>2]=1;i=s;return i|0}}if((e|0)>=17){i=0;return i|0}l=h<<1;l=((l+d|0)/(l|1|0)|0)+1|0;if(r){e=0;while(1)if((1<<e|0)<(l|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(d|0))r=r+1|0;else break;a=((r|0)<8?8:r)+r<<1;s=Lv(4632)|0;f[s+4>>2]=0;o=s+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))f[s+92>>2]=0;f[s+96>>2]=0;f[s+100>>2]=32;f[s+104>>2]=0;f[s+108>>2]=0;t[s+112>>0]=0;c=s+116|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[s>>2]=36052;f[s+136>>2]=d;f[s+140>>2]=l;f[s+144>>2]=h;f[s+148>>2]=e;f[s+152>>2]=r;f[s+156>>2]=a;f[s+160>>2]=64;e=s+164|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+180>>2]=f[i>>2];f[s+184>>2]=0;f[s+188>>2]=0;f[s+192>>2]=0;e=s+4576|0;r=s+196|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4588|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4600|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+32>>2]|0))f[s+24>>2]=1;i=s;return i|0}else{e=0;while(1)if((1<<e|0)<(l|0))e=e+1|0;else break;r=0;while(1)if((1<<r|0)<(d|0))r=r+1|0;else break;a=((r|0)<8?8:r)+r<<1;s=Lv(4632)|0;f[s+4>>2]=0;o=s+8|0;u=i;c=o+84|0;do{f[o>>2]=f[u>>2];o=o+4|0;u=u+4|0}while((o|0)<(c|0))f[s+92>>2]=0;f[s+96>>2]=0;f[s+100>>2]=32;f[s+104>>2]=0;f[s+108>>2]=0;t[s+112>>0]=0;c=s+116|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[s>>2]=36080;f[s+136>>2]=d;f[s+140>>2]=l;f[s+144>>2]=h;f[s+148>>2]=e;f[s+152>>2]=r;f[s+156>>2]=a;f[s+160>>2]=64;e=s+164|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[s+180>>2]=f[i>>2];f[s+184>>2]=0;f[s+188>>2]=0;f[s+192>>2]=0;e=s+4576|0;r=s+196|0;do{f[r>>2]=0;f[r+4>>2]=0;n[r+8>>1]=0;n[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0))f[e>>2]=0;f[e+4>>2]=0;n[e+8>>1]=0;t[e+10>>0]=0;i=s+4588|0;f[i>>2]=0;f[i+4>>2]=0;n[i+8>>1]=0;t[i+10>>0]=0;i=s+4600|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;t[i+28>>0]=0;if(!(f[s+32>>2]|0))f[s+24>>2]=1;i=s;return i|0}return 0}function Qi(){var e=0,i=0,r=0,t=0,n=0,a=0,s=0;e=2832;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=4880)y_(2832,0,2048)|0;e=0;do{s=2832+(e+128<<3)|0;f[s>>2]=0;f[s+4>>2]=1;e=e+1|0}while((e|0)!=128)e=3088;f[e>>2]=1;f[e+4>>2]=3;e=3096;f[e>>2]=1;f[e+4>>2]=3;e=3104;f[e>>2]=1;f[e+4>>2]=3;e=3112;f[e>>2]=1;f[e+4>>2]=3;e=3120;f[e>>2]=1;f[e+4>>2]=3;e=3128;f[e>>2]=1;f[e+4>>2]=3;e=3136;f[e>>2]=1;f[e+4>>2]=3;e=3144;f[e>>2]=1;f[e+4>>2]=3;e=3152;f[e>>2]=1;f[e+4>>2]=3;e=3160;f[e>>2]=1;f[e+4>>2]=3;e=3168;f[e>>2]=1;f[e+4>>2]=3;e=3176;f[e>>2]=1;f[e+4>>2]=3;e=3184;f[e>>2]=1;f[e+4>>2]=3;e=3192;f[e>>2]=1;f[e+4>>2]=3;e=3200;f[e>>2]=1;f[e+4>>2]=3;e=3208;f[e>>2]=1;f[e+4>>2]=3;e=3216;f[e>>2]=1;f[e+4>>2]=3;e=3224;f[e>>2]=1;f[e+4>>2]=3;e=3232;f[e>>2]=1;f[e+4>>2]=3;e=3240;f[e>>2]=1;f[e+4>>2]=3;e=3248;f[e>>2]=1;f[e+4>>2]=3;e=3256;f[e>>2]=1;f[e+4>>2]=3;e=3264;f[e>>2]=1;f[e+4>>2]=3;e=3272;f[e>>2]=1;f[e+4>>2]=3;e=3280;f[e>>2]=1;f[e+4>>2]=3;e=3288;f[e>>2]=1;f[e+4>>2]=3;e=3296;f[e>>2]=1;f[e+4>>2]=3;e=3304;f[e>>2]=1;f[e+4>>2]=3;e=3312;f[e>>2]=1;f[e+4>>2]=3;e=3320;f[e>>2]=1;f[e+4>>2]=3;e=3328;f[e>>2]=1;f[e+4>>2]=3;e=3336;f[e>>2]=1;f[e+4>>2]=3;e=2896;f[e>>2]=2;f[e+4>>2]=5;e=2904;f[e>>2]=2;f[e+4>>2]=5;e=2912;f[e>>2]=2;f[e+4>>2]=5;e=2920;f[e>>2]=2;f[e+4>>2]=5;e=2928;f[e>>2]=2;f[e+4>>2]=5;e=2936;f[e>>2]=2;f[e+4>>2]=5;e=2944;f[e>>2]=2;f[e+4>>2]=5;e=2952;f[e>>2]=2;f[e+4>>2]=5;e=2848;f[e>>2]=3;f[e+4>>2]=7;e=2856;f[e>>2]=3;f[e+4>>2]=7;e=0;do{s=2832+(e+64<<3)|0;f[s>>2]=-1;f[s+4>>2]=2;e=e+1|0}while((e|0)!=64)e=2960;f[e>>2]=-2;f[e+4>>2]=4;e=2968;f[e>>2]=-2;f[e+4>>2]=4;e=2976;f[e>>2]=-2;f[e+4>>2]=4;e=2984;f[e>>2]=-2;f[e+4>>2]=4;e=2992;f[e>>2]=-2;f[e+4>>2]=4;e=3e3;f[e>>2]=-2;f[e+4>>2]=4;e=3008;f[e>>2]=-2;f[e+4>>2]=4;e=3016;f[e>>2]=-2;f[e+4>>2]=4;e=3024;f[e>>2]=-2;f[e+4>>2]=4;e=3032;f[e>>2]=-2;f[e+4>>2]=4;e=3040;f[e>>2]=-2;f[e+4>>2]=4;e=3048;f[e>>2]=-2;f[e+4>>2]=4;e=3056;f[e>>2]=-2;f[e+4>>2]=4;e=3064;f[e>>2]=-2;f[e+4>>2]=4;e=3072;f[e>>2]=-2;f[e+4>>2]=4;e=3080;f[e>>2]=-2;f[e+4>>2]=4;e=2864;f[e>>2]=-3;f[e+4>>2]=6;e=2872;f[e>>2]=-3;f[e+4>>2]=6;e=2880;f[e>>2]=-3;f[e+4>>2]=6;e=2888;f[e>>2]=-3;f[e+4>>2]=6;e=2840;f[e>>2]=-4;f[e+4>>2]=8;e=4880;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=6928)y_(4880,0,2048)|0;r=2;e=0;n=0;a=0;while(1){r=r<<16>>16;i=8-r|0;t=1<<i;if((i|0)!=31){e=(e&1|2)<<i;i=0;do{s=4880+(i+e<<3)|0;f[s>>2]=n;f[s+4>>2]=r;i=i+1|0}while((i|0)<(t|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==7){i=2;n=1;a=-1;s=-1;break}else{r=(e>>1)+2|0;n=i>>16}}while(1){r=i<<16>>16;e=8-r|0;t=1<<e;if((e|0)!=31){e=(n&1|2)<<e;i=0;do{n=4880+(i+e<<3)|0;f[n>>2]=a;f[n+4>>2]=r;i=i+1|0}while((i|0)<(t|0))}e=(s<<16)+-65536|0;n=e>>31^e>>15;i=(n>>1)+2|0;if((i|0)>8){e=6928;break}else{a=e>>16;s=s+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=8976)y_(6928,0,2048)|0;n=3;e=0;t=0;a=0;while(1){i=8-n|0;r=1<<i;if((i|0)!=31){e=(e&3|4)<<i;i=0;do{s=6928+(i+e<<3)|0;f[s>>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==12){n=3;i=1;t=-1;a=-1;break}else{n=(e>>2)+3|0;t=i>>16}}while(1){e=8-n|0;r=1<<e;if((e|0)!=31){e=(i&3|4)<<e;i=0;do{s=6928+(i+e<<3)|0;f[s>>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>2)+3|0;if((n|0)>8){e=8976;break}else{t=e>>16;a=a+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=11024)y_(8976,0,2048)|0;n=4;e=0;t=0;a=0;while(1){i=8-n|0;r=1<<i;if((i|0)!=31){e=(e&7|8)<<i;i=0;do{s=8976+(i+e<<3)|0;f[s>>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==20){n=4;i=1;t=-1;a=-1;break}else{n=(e>>3)+4|0;t=i>>16}}while(1){e=8-n|0;r=1<<e;if((e|0)!=31){e=(i&7|8)<<e;i=0;do{s=8976+(i+e<<3)|0;f[s>>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>3)+4|0;if((n|0)>8){e=11024;break}else{t=e>>16;a=a+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=13072)y_(11024,0,2048)|0;n=5;e=0;t=0;a=0;while(1){i=8-n|0;r=1<<i;if((i|0)!=31){e=(e&15|16)<<i;i=0;do{s=11024+(i+e<<3)|0;f[s>>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==32){n=5;i=1;t=-1;a=-1;break}else{n=(e>>4)+5|0;t=i>>16}}while(1){e=8-n|0;r=1<<e;if((e|0)!=31){e=(i&15|16)<<e;i=0;do{s=11024+(i+e<<3)|0;f[s>>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>4)+5|0;if((n|0)>8){e=13072;break}else{t=e>>16;a=a+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=15120)y_(13072,0,2048)|0;n=6;e=0;t=0;a=0;while(1){i=8-n|0;r=1<<i;if((i|0)!=31){e=(e&31|32)<<i;i=0;do{s=13072+(i+e<<3)|0;f[s>>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==48){n=6;i=1;t=-1;a=-1;break}else{n=(e>>5)+6|0;t=i>>16}}while(1){e=8-n|0;r=1<<e;if((e|0)!=31){e=(i&31|32)<<e;i=0;do{s=13072+(i+e<<3)|0;f[s>>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>5)+6|0;if((n|0)>8){e=15120;break}else{t=e>>16;a=a+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=17168)y_(15120,0,2048)|0;n=7;e=0;t=0;a=0;while(1){i=8-n|0;r=1<<i;if((i|0)!=31){e=(e&63|64)<<i;i=0;do{s=15120+(i+e<<3)|0;f[s>>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==64){n=7;i=1;t=-1;a=-1;break}else{n=(e>>6)+7|0;t=i>>16}}while(1){e=8-n|0;r=1<<e;if((e|0)!=31){e=(i&63|64)<<e;i=0;do{s=15120+(i+e<<3)|0;f[s>>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(a<<16)+-65536|0;i=e>>31^e>>15;n=(i>>6)+7|0;if((n|0)>8){e=17168;break}else{t=e>>16;a=a+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=19216)y_(17168,0,2048)|0;n=8;e=0;t=0;a=0;while(1){i=8-n|0;r=1<<i;if((i|0)!=31){e=(e&127|128)<<i;i=0;do{s=17168+(i+e<<3)|0;f[s>>2]=t;f[s+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+65536|0;e=i>>31^i>>15;a=a+1|0;if((a|0)==64){a=8;t=1;n=-1;s=-1;break}else{n=(e>>7)+8|0;t=i>>16}}while(1){e=8-a|0;r=1<<e;if((e|0)!=31){e=(t&127|128)<<e;i=0;do{t=17168+(i+e<<3)|0;f[t>>2]=n;f[t+4>>2]=a;i=i+1|0}while((i|0)<(r|0))}i=(s<<16)+-65536|0;t=i>>31^i>>15;e=t>>7;if((e|0)>0){e=19216;break}else{a=e+8|0;n=i>>16;s=s+-1|0}}do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=21264)y_(19216,0,2048)|0;e=21264;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=23312)y_(21264,0,2048)|0;e=23312;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=25360)y_(23312,0,2048)|0;e=25360;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=27408)y_(25360,0,2048)|0;e=27408;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=29456)y_(27408,0,2048)|0;e=29456;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=31504)y_(29456,0,2048)|0;e=31504;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=33552)y_(31504,0,2048)|0;e=33552;do{f[e>>2]=0;f[e+4>>2]=0;e=e+8|0}while((e|0)!=35600)y_(33552,0,2048)|0;Gi(35600,8);hi(179,35600,w|0)|0;Gi(35612,10);hi(179,35612,w|0)|0;Gi(35624,12);hi(179,35624,w|0)|0;Gi(35636,16);hi(179,35636,w|0)|0;return}function Zi(e){e=e|0;var i=0;i=f[e>>2]|0;if(!i)return;e=e+4|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;Iv(i);return}function $i(e){e=e|0;var i=0,r=0;f[e>>2]=36080;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function er(e){e=e|0;var i=0,r=0;f[e>>2]=36080;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function ir(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,d=0;o=c;c=c+32|0;d=o;ov(d,f[e+136>>2]|0,f[e+144>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[d+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[d+12>>2]|0:s;r=f[i+16>>2]|0;a=f[d+16>>2]|0;f[e+184>>2]=(u|0)==0?f[d+4>>2]|0:u;f[e+188>>2]=l;f[e+192>>2]=s;Ht(e);s=e+140|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+196+(l*12|0)>>2]=i;f[e+196+(l*12|0)+4>>2]=0;n[e+196+(l*12|0)+8>>1]=0;n[e+196+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365)u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;d=((r|0)==0?a:r)&255;f[e+4576>>2]=u;f[e+4580>>2]=0;t[e+4584>>0]=d;t[e+4585>>0]=1;t[e+4586>>0]=0;f[e+4588>>2]=u;f[e+4592>>2]=1;t[e+4596>>0]=d;t[e+4597>>0]=1;t[e+4598>>0]=0;f[e+4600>>2]=0;c=o;return}function rr(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0;b=c;c=c+16|0;d=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);f[d>>2]=0;f[d+4>>2]=a;u=r+8|0;f[d+8>>2]=f[u>>2];if(a){i=Lv(4624)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0))s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0))f[i>>2]=35856;f[i+128>>2]=f[e+136>>2];f[i+132>>2]=f[e+140>>2];f[i+136>>2]=f[e+144>>2];f[i+140>>2]=f[e+148>>2];f[i+144>>2]=f[e+152>>2];f[i+148>>2]=f[e+156>>2];f[i+152>>2]=f[e+160>>2];s=i+156|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+172>>2]=f[a>>2];f[i+176>>2]=0;f[i+180>>2]=0;f[i+184>>2]=0;s=i+4568|0;a=i+188|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0))l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4580|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4592|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fE[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,d)}d=e+100|0;f[d>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];xt(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(h=i+4e3|0,(a|0)!=(h|0)):0){f[u>>2]=h;a=h}}else{Pt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;xt(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}function tr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){_=e+8|0;v=e+36|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(37,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+16>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(38,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(39,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(40,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+20>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=2;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=2;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function nr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0;f[e>>2]=36460;f[e+4>>2]=r;h=e+8|0;s=f[r>>2]|0;c=r+16|0;n=f[c>>2]|0;l=re(n,s)|0;f[h>>2]=0;b=e+12|0;f[b>>2]=0;f[e+16>>2]=0;do if(l){if(!((l|0)<0?(m=0,ue(178,h|0),s=m,m=0,s&1):0))d=4;if((d|0)==4?(o=l<<1,m=0,u=he(67,o|0)|0,s=m,m=0,!(s&1)):0){f[h>>2]=u;s=u+(l<<1)|0;f[e+16>>2]=s;y_(u|0,0,o|0)|0;f[b>>2]=s;s=f[r>>2]|0;n=f[c>>2]|0;break}l=Ye()|0;a=f[h>>2]|0;n=a;if(a){s=f[b>>2]|0;if((s|0)!=(a|0))f[b>>2]=s+(~((s+-2-n|0)>>>1)<<1);Iv(a)}b=l;$e(b|0)}while(0)l=e+20|0;n=re(s<<1,n)|0;f[l>>2]=0;o=e+24|0;f[o>>2]=0;f[e+28>>2]=0;if(!n){b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(m=0,ue(178,l|0),r=m,m=0,r&1):0))d=13;if((d|0)==13?(m=0,a=he(67,n|0)|0,d=m,m=0,!(d&1)):0){f[o>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[o>>2]|0)+1|0;f[o>>2]=a;n=n+-1|0}while((n|0)!=0)b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}s=Ye()|0;a=f[l>>2]|0;if(a){if((f[o>>2]|0)!=(a|0))f[o>>2]=a;Iv(a)}a=f[h>>2]|0;if(!a){b=s;$e(b|0)}n=f[b>>2]|0;if((n|0)!=(a|0))f[b>>2]=n+(~((n+-2-a|0)>>>1)<<1);Iv(a);b=s;$e(b|0)}function fr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0;f[e>>2]=36436;f[e+4>>2]=r;h=e+8|0;s=f[r>>2]|0;c=r+16|0;n=f[c>>2]|0;l=re(n,s)|0;f[h>>2]=0;b=e+12|0;f[b>>2]=0;f[e+16>>2]=0;do if(l){if(!((l|0)<0?(m=0,ue(178,h|0),s=m,m=0,s&1):0))d=4;if((d|0)==4?(o=l<<1,m=0,u=he(67,o|0)|0,s=m,m=0,!(s&1)):0){f[h>>2]=u;s=u+(l<<1)|0;f[e+16>>2]=s;y_(u|0,0,o|0)|0;f[b>>2]=s;s=f[r>>2]|0;n=f[c>>2]|0;break}l=Ye()|0;a=f[h>>2]|0;n=a;if(a){s=f[b>>2]|0;if((s|0)!=(a|0))f[b>>2]=s+(~((s+-2-n|0)>>>1)<<1);Iv(a)}b=l;$e(b|0)}while(0)l=e+20|0;n=re(s<<1,n)|0;f[l>>2]=0;o=e+24|0;f[o>>2]=0;f[e+28>>2]=0;if(!n){b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(m=0,ue(178,l|0),r=m,m=0,r&1):0))d=13;if((d|0)==13?(m=0,a=he(67,n|0)|0,d=m,m=0,!(d&1)):0){f[o>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[o>>2]|0)+1|0;f[o>>2]=a;n=n+-1|0}while((n|0)!=0)b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}s=Ye()|0;a=f[l>>2]|0;if(a){if((f[o>>2]|0)!=(a|0))f[o>>2]=a;Iv(a)}a=f[h>>2]|0;if(!a){b=s;$e(b|0)}n=f[b>>2]|0;if((n|0)!=(a|0))f[b>>2]=n+(~((n+-2-a|0)>>>1)<<1);Iv(a);b=s;$e(b|0)}function ar(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0;f[e>>2]=36412;f[e+4>>2]=r;h=e+8|0;s=f[r>>2]|0;c=r+16|0;n=f[c>>2]|0;l=re(n,s)|0;f[h>>2]=0;b=e+12|0;f[b>>2]=0;f[e+16>>2]=0;do if(l){if(!((l|0)<0?(m=0,ue(178,h|0),s=m,m=0,s&1):0))d=4;if((d|0)==4?(o=l<<1,m=0,u=he(67,o|0)|0,s=m,m=0,!(s&1)):0){f[h>>2]=u;s=u+(l<<1)|0;f[e+16>>2]=s;y_(u|0,0,o|0)|0;f[b>>2]=s;s=f[r>>2]|0;n=f[c>>2]|0;break}l=Ye()|0;a=f[h>>2]|0;n=a;if(a){s=f[b>>2]|0;if((s|0)!=(a|0))f[b>>2]=s+(~((s+-2-n|0)>>>1)<<1);Iv(a)}b=l;$e(b|0)}while(0)l=e+20|0;n=re(s<<1,n)|0;f[l>>2]=0;o=e+24|0;f[o>>2]=0;f[e+28>>2]=0;if(!n){b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(m=0,ue(178,l|0),r=m,m=0,r&1):0))d=13;if((d|0)==13?(m=0,a=he(67,n|0)|0,d=m,m=0,!(d&1)):0){f[o>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[o>>2]|0)+1|0;f[o>>2]=a;n=n+-1|0}while((n|0)!=0)b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}s=Ye()|0;a=f[l>>2]|0;if(a){if((f[o>>2]|0)!=(a|0))f[o>>2]=a;Iv(a)}a=f[h>>2]|0;if(!a){b=s;$e(b|0)}n=f[b>>2]|0;if((n|0)!=(a|0))f[b>>2]=n+(~((n+-2-a|0)>>>1)<<1);Iv(a);b=s;$e(b|0)}function sr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0;f[e>>2]=36388;f[e+4>>2]=r;h=e+8|0;s=f[r>>2]|0;c=r+16|0;n=f[c>>2]|0;l=re(n,s)|0;f[h>>2]=0;b=e+12|0;f[b>>2]=0;f[e+16>>2]=0;do if(l){if(!((l|0)<0?(m=0,ue(178,h|0),s=m,m=0,s&1):0))d=4;if((d|0)==4?(o=l<<1,m=0,u=he(67,o|0)|0,s=m,m=0,!(s&1)):0){f[h>>2]=u;s=u+(l<<1)|0;f[e+16>>2]=s;y_(u|0,0,o|0)|0;f[b>>2]=s;s=f[r>>2]|0;n=f[c>>2]|0;break}l=Ye()|0;a=f[h>>2]|0;n=a;if(a){s=f[b>>2]|0;if((s|0)!=(a|0))f[b>>2]=s+(~((s+-2-n|0)>>>1)<<1);Iv(a)}b=l;$e(b|0)}while(0)l=e+20|0;n=re(s<<1,n)|0;f[l>>2]=0;o=e+24|0;f[o>>2]=0;f[e+28>>2]=0;if(!n){b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(m=0,ue(178,l|0),r=m,m=0,r&1):0))d=13;if((d|0)==13?(m=0,a=he(67,n|0)|0,d=m,m=0,!(d&1)):0){f[o>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[o>>2]|0)+1|0;f[o>>2]=a;n=n+-1|0}while((n|0)!=0)b=e+36|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];return}s=Ye()|0;a=f[l>>2]|0;if(a){if((f[o>>2]|0)!=(a|0))f[o>>2]=a;Iv(a)}a=f[h>>2]|0;if(!a){b=s;$e(b|0)}n=f[b>>2]|0;if((n|0)!=(a|0))f[b>>2]=n+(~((n+-2-a|0)>>>1)<<1);Iv(a);b=s;$e(b|0)}function lr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0;l=e+32|0;Ld(l,i)|0;s=e+44|0;f[s>>2]=0;o=e+48|0;a=f[o>>2]|0;if(a&8){i=t[l>>0]|0;if(!(i&1)){i=((i&255)>>>1)+(l+1)|0;f[s>>2]=i;r=l+1|0;n=l+1|0}else{i=(f[e+40>>2]|0)+(f[e+36>>2]|0)|0;f[s>>2]=i;n=f[e+40>>2]|0;r=n}f[e+8>>2]=r;f[e+12>>2]=n;f[e+16>>2]=i}if(!(a&16))return;i=t[l>>0]|0;if(!(i&1)){a=(i&255)>>>1;f[s>>2]=l+1+a;i=10;s=a}else{a=f[e+36>>2]|0;f[s>>2]=(f[e+40>>2]|0)+a;i=(f[l>>2]&-2)+-1|0;s=a}Nd(l,i,0);i=t[l>>0]|0;if(!(i&1)){a=l+1|0;n=(i&255)>>>1;r=l+1|0}else{r=f[e+40>>2]|0;a=r;n=f[e+36>>2]|0}i=e+24|0;f[i>>2]=r;f[e+20>>2]=r;f[e+28>>2]=a+n;if(!(f[o>>2]&3))return;f[i>>2]=r+s;return}function or(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;k=c;c=c+32|0;l=k+16|0;b=k+8|0;o=k;m=0;ce(65,b|0,e|0);d=m;m=0;e:do if(d&1){r=Ye(0)|0;n=e;a=e}else{do if(t[b>>0]|0){n=f[(f[e>>2]|0)+-12>>2]|0;f[o>>2]=f[e+(n+24)>>2];u=e+n|0;d=f[e+(n+4)>>2]|0;a=i+r|0;n=e+(n+76)|0;r=f[n>>2]|0;do if((r|0)==-1){m=0;r=he(68,u|0)|0;w=m;m=0;if(w&1)h=13;else{f[l>>2]=r;m=0;r=ve(37,l|0,44220)|0;w=m;m=0;if(!(w&1)?(m=0,s=ve(f[(f[r>>2]|0)+28>>2]|0,r|0,32)|0,w=m,m=0,!(w&1)):0){Lu(l);r=s<<24>>24;f[n>>2]=r;h=9;break}r=Ye(0)|0;Lu(l)}}else h=9;while(0)if((h|0)==9){m=0;f[l>>2]=f[o>>2];r=de(39,l|0,i|0,((d&176|0)==32?a:i)|0,a|0,u|0,r&255|0)|0;w=m;m=0;if(!(w&1)){if(r)break;w=f[(f[e>>2]|0)+-12>>2]|0;m=0;ce(66,e+w|0,f[e+(w+16)>>2]|5|0);w=m;m=0;if(!(w&1))break;else h=13}else h=13}if((h|0)==13)r=Ye(0)|0;nb(b);n=e;a=e;break e}while(0)nb(b);c=k;return e|0}while(0)Je(r|0)|0;m=0;ue(181,n+(f[(f[a>>2]|0)+-12>>2]|0)|0);w=m;m=0;if(!(w&1)){Ze();c=k;return e|0}r=Ye()|0;m=0;Te(3);w=m;m=0;if(w&1){w=Ye(0)|0;Fi(w)}else $e(r|0);return 0}function ur(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;r=f[i+48>>2]|0;if(r&16){r=i+44|0;n=f[r>>2]|0;a=f[i+24>>2]|0;if(n>>>0<a>>>0)f[r>>2]=a;else a=n;n=f[i+20>>2]|0;s=a-n|0;if(s>>>0>4294967279)Dv(e);if(s>>>0<11){t[e>>0]=s<<1;r=e+1|0}else{i=s+16&-16;r=Lv(i)|0;f[e+8>>2]=r;f[e>>2]=i|1;f[e+4>>2]=s}if((n|0)!=(a|0)){i=r;while(1){t[i>>0]=t[n>>0]|0;n=n+1|0;if((n|0)==(a|0))break;else i=i+1|0}r=r+s|0}t[r>>0]=0;return}if(!(r&8)){f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}n=f[i+8>>2]|0;i=f[i+16>>2]|0;s=i-n|0;if(s>>>0>4294967279)Dv(e);if(s>>>0<11){t[e>>0]=s<<1;r=e+1|0}else{a=s+16&-16;r=Lv(a)|0;f[e+8>>2]=r;f[e>>2]=a|1;f[e+4>>2]=s}if((n|0)!=(i|0)){a=r;while(1){t[a>>0]=t[n>>0]|0;n=n+1|0;if((n|0)==(i|0))break;else a=a+1|0}r=r+s|0}t[r>>0]=0;return}function cr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;f[e>>2]=36364;f[e+4>>2]=r;b=e+8|0;l=f[r>>2]|0;d=r+16|0;s=f[d>>2]|0;c=re(s,l)|0;f[b>>2]=0;k=e+12|0;f[k>>2]=0;f[e+16>>2]=0;do if(c){if(!((c|0)<0?(m=0,ue(178,b|0),l=m,m=0,l&1):0))h=4;if((h|0)==4?(o=c<<1,m=0,u=he(67,o|0)|0,l=m,m=0,!(l&1)):0){f[b>>2]=u;l=u+(c<<1)|0;f[e+16>>2]=l;y_(u|0,0,o|0)|0;f[k>>2]=l;l=f[r>>2]|0;s=f[d>>2]|0;break}o=Ye()|0;a=f[b>>2]|0;s=a;if(a){l=f[k>>2]|0;if((l|0)!=(a|0))f[k>>2]=l+(~((l+-2-s|0)>>>1)<<1);Iv(a)}k=o;$e(k|0)}while(0)o=e+20|0;s=re(l<<1,s)|0;f[o>>2]=0;u=e+24|0;f[u>>2]=0;f[e+28>>2]=0;if(!s){k=e+32|0;b=n;b=f[b>>2]|0;n=n+4|0;n=f[n>>2]|0;h=k;f[h>>2]=b;k=k+4|0;f[k>>2]=n;k=e+40|0;f[k>>2]=b;k=e+48|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];return}if(!((s|0)<0?(m=0,ue(178,o|0),d=m,m=0,d&1):0))h=13;if((h|0)==13?(m=0,a=he(67,s|0)|0,h=m,m=0,!(h&1)):0){f[u>>2]=a;f[o>>2]=a;f[e+28>>2]=a+s;do{t[a>>0]=0;a=(f[u>>2]|0)+1|0;f[u>>2]=a;s=s+-1|0}while((s|0)!=0)k=e+32|0;b=n;b=f[b>>2]|0;n=n+4|0;n=f[n>>2]|0;h=k;f[h>>2]=b;k=k+4|0;f[k>>2]=n;k=e+40|0;f[k>>2]=b;k=e+48|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];return}l=Ye()|0;a=f[o>>2]|0;if(a){if((f[u>>2]|0)!=(a|0))f[u>>2]=a;Iv(a)}a=f[b>>2]|0;if(!a){k=l;$e(k|0)}s=f[k>>2]|0;if((s|0)!=(a|0))f[k>>2]=s+(~((s+-2-a|0)>>>1)<<1);Iv(a);k=l;$e(k|0)}function dr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;f[e>>2]=36340;f[e+4>>2]=r;b=e+8|0;l=f[r>>2]|0;d=r+16|0;s=f[d>>2]|0;c=re(s,l)|0;f[b>>2]=0;k=e+12|0;f[k>>2]=0;f[e+16>>2]=0;do if(c){if(!((c|0)<0?(m=0,ue(178,b|0),l=m,m=0,l&1):0))h=4;if((h|0)==4?(o=c<<1,m=0,u=he(67,o|0)|0,l=m,m=0,!(l&1)):0){f[b>>2]=u;l=u+(c<<1)|0;f[e+16>>2]=l;y_(u|0,0,o|0)|0;f[k>>2]=l;l=f[r>>2]|0;s=f[d>>2]|0;break}o=Ye()|0;a=f[b>>2]|0;s=a;if(a){l=f[k>>2]|0;if((l|0)!=(a|0))f[k>>2]=l+(~((l+-2-s|0)>>>1)<<1);Iv(a)}k=o;$e(k|0)}while(0)o=e+20|0;s=re(l<<1,s)|0;f[o>>2]=0;u=e+24|0;f[u>>2]=0;f[e+28>>2]=0;if(!s){k=e+32|0;b=n;b=f[b>>2]|0;n=n+4|0;n=f[n>>2]|0;h=k;f[h>>2]=b;k=k+4|0;f[k>>2]=n;k=e+40|0;f[k>>2]=b;k=e+48|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];return}if(!((s|0)<0?(m=0,ue(178,o|0),d=m,m=0,d&1):0))h=13;if((h|0)==13?(m=0,a=he(67,s|0)|0,h=m,m=0,!(h&1)):0){f[u>>2]=a;f[o>>2]=a;f[e+28>>2]=a+s;do{t[a>>0]=0;a=(f[u>>2]|0)+1|0;f[u>>2]=a;s=s+-1|0}while((s|0)!=0)k=e+32|0;b=n;b=f[b>>2]|0;n=n+4|0;n=f[n>>2]|0;h=k;f[h>>2]=b;k=k+4|0;f[k>>2]=n;k=e+40|0;f[k>>2]=b;k=e+48|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];return}l=Ye()|0;a=f[o>>2]|0;if(a){if((f[u>>2]|0)!=(a|0))f[u>>2]=a;Iv(a)}a=f[b>>2]|0;if(!a){k=l;$e(k|0)}s=f[k>>2]|0;if((s|0)!=(a|0))f[k>>2]=s+(~((s+-2-a|0)>>>1)<<1);Iv(a);k=l;$e(k|0)}function hr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;f[e>>2]=36316;f[e+4>>2]=r;b=e+8|0;l=f[r>>2]|0;d=r+16|0;s=f[d>>2]|0;c=re(s,l)|0;f[b>>2]=0;k=e+12|0;f[k>>2]=0;f[e+16>>2]=0;do if(c){if(!((c|0)<0?(m=0,ue(178,b|0),l=m,m=0,l&1):0))h=4;if((h|0)==4?(o=c<<1,m=0,u=he(67,o|0)|0,l=m,m=0,!(l&1)):0){f[b>>2]=u;l=u+(c<<1)|0;f[e+16>>2]=l;y_(u|0,0,o|0)|0;f[k>>2]=l;l=f[r>>2]|0;s=f[d>>2]|0;break}o=Ye()|0;a=f[b>>2]|0;s=a;if(a){l=f[k>>2]|0;if((l|0)!=(a|0))f[k>>2]=l+(~((l+-2-s|0)>>>1)<<1);Iv(a)}k=o;$e(k|0)}while(0)o=e+20|0;s=re(l<<1,s)|0;f[o>>2]=0;u=e+24|0;f[u>>2]=0;f[e+28>>2]=0;if(!s){k=e+32|0;b=n;b=f[b>>2]|0;n=n+4|0;n=f[n>>2]|0;h=k;f[h>>2]=b;k=k+4|0;f[k>>2]=n;k=e+40|0;f[k>>2]=b;k=e+48|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];return}if(!((s|0)<0?(m=0,ue(178,o|0),d=m,m=0,d&1):0))h=13;if((h|0)==13?(m=0,a=he(67,s|0)|0,h=m,m=0,!(h&1)):0){f[u>>2]=a;f[o>>2]=a;f[e+28>>2]=a+s;do{t[a>>0]=0;a=(f[u>>2]|0)+1|0;f[u>>2]=a;s=s+-1|0}while((s|0)!=0)k=e+32|0;b=n;b=f[b>>2]|0;n=n+4|0;n=f[n>>2]|0;h=k;f[h>>2]=b;k=k+4|0;f[k>>2]=n;k=e+40|0;f[k>>2]=b;k=e+48|0;f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];return}l=Ye()|0;a=f[o>>2]|0;if(a){if((f[u>>2]|0)!=(a|0))f[u>>2]=a;Iv(a)}a=f[b>>2]|0;if(!a){k=l;$e(k|0)}s=f[k>>2]|0;if((s|0)!=(a|0))f[k>>2]=s+(~((s+-2-a|0)>>>1)<<1);Iv(a);k=l;$e(k|0)}function br(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36316;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);return}function kr(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36316;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t){Iv(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);Iv(e);return}function wr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+48|0;if(!(f[a>>2]|0)){o=e+52|0;gr(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;gr(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)vr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uE[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,i|0,3,35648);u=m;m=0;if(u&1){u=Ye()|0;Ue(i|0);$e(u|0)}else bi(i|0,824,96)}function mr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+48>>2]|0;if(!n){n=e+52|0;_r(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{pr(e,n,i,r,t);return}}function _r(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0,k=0;d=e+4|0;o=f[d>>2]|0;do if(!(t[o+32>>0]|0))h=i;else{u=e+8|0;S_(f[u>>2]|0,i|0,a*6|0)|0;o=f[d>>2]|0;c=f[o+16>>2]|0;if((a|0)<=0){h=f[u>>2]|0;break}i=f[u>>2]|0;o=i;u=0;while(1){h=o+4|0;b=n[o>>1]|0;n[o>>1]=n[h>>1]|0;n[h>>1]=b;u=u+1|0;if((u|0)==(a|0))break;else o=o+(c<<1)|0}h=i;o=f[d>>2]|0}while(0)switch(f[o+16>>2]|0){case 3:if((f[o+24>>2]|0)==2){if((a|0)<=0)return;o=e+32|0;i=0;do{b=f[o>>2]|0;d=s[h+(i*6|0)+2>>1]<<b;l=32768-d|0;e=l+(s[h+(i*6|0)+4>>1]<<b)&65535;l=l+(s[h+(i*6|0)>>1]<<b)&65535;n[r+(i*6|0)>>1]=(d+49152+((e+l|0)>>>2)&65535)>>>b;n[r+(i*6|0)+2>>1]=e>>>b;n[r+(i*6|0)+4>>1]=l>>>b;i=i+1|0}while((i|0)!=(a|0))return}else{u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;o=f[e+32>>2]|0;i=0;do{a=s[h+(i*6|0)+2>>1]<<o;b=32768-a|0;e=b+(s[h+(i*6|0)+4>>1]<<o)&65535;b=b+(s[h+(i*6|0)>>1]<<o)&65535;n[r+(i<<1)>>1]=(a+49152+((e+b|0)>>>2)&65535)>>>o;n[r+(i+l<<1)>>1]=e>>>o;n[r+(i+c<<1)>>1]=b>>>o;i=i+1|0}while((i|0)!=(u|0))return}case 4:{if((f[o+24>>2]|0)!=1)return;u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;d=l*3|0;o=f[e+32>>2]|0;i=0;do{b=n[h+(i<<3)+6>>1]|0;k=s[h+(i<<3)+2>>1]<<o;e=32768-k|0;a=e+(s[h+(i<<3)+4>>1]<<o)&65535;e=e+(s[h+(i<<3)>>1]<<o)&65535;n[r+(i<<1)>>1]=(k+49152+((a+e|0)>>>2)&65535)>>>o;n[r+(i+l<<1)>>1]=a>>>o;n[r+(i+c<<1)>>1]=e>>>o;n[r+(i+d<<1)>>1]=b;i=i+1|0}while((i|0)!=(u|0))return}default:return}}function pr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0;b=c;c=c+176|0;k=b+152|0;p=b+16|0;_=b;u=e+4|0;s=f[u>>2]|0;h=n<<1;l=re(h,f[s+16>>2]|0)|0;do if(l){o=e+20|0;while(1){s=uE[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){d=26;break}else l=l-s|0}if((d|0)==26){s=f[u>>2]|0;break}d=p+56|0;u=p+4|0;f[p>>2]=36160;f[d>>2]=36180;m=0;ce(62,p+56|0,u|0);b=m;m=0;if(b&1){p=Ye()|0;nh(d);$e(p|0)}f[p+128>>2]=0;f[p+132>>2]=-1;f[p>>2]=36200;f[p+56>>2]=36220;m=0;ue(180,u|0);b=m;m=0;do if(b&1)s=Ye()|0;else{f[u>>2]=36236;i=p+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[p+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=0;ce(63,u|0,k|0);b=m;m=0;if(b&1){s=Ye()|0;Od(k);Od(i);ch(u);break}Od(k);m=0;s=ke(28,p|0,49029,57)|0;k=m;m=0;if(!(k&1)?(m=0,ve(36,s|0,0)|0,k=m,m=0,!(k&1)):0){o=He(16)|0;m=0;ce(64,_|0,u|0);k=m;m=0;if(!(k&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,o|0,3,35648,_|0);k=m;m=0;if(k&1)l=1;else{m=0;Se(6,o|0,824,96);m=0;l=0}s=Ye()|0;Od(_);if(!l){_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}}else s=Ye()|0;Ue(o|0);_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}_=Ye()|0;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}while(0)p=s;nh(d);$e(p|0)}while(0)l=e+20|0;if((f[s+28>>2]|0)!=536870912){p=f[l>>2]|0;_r(e,p,r,n,a);c=b;return}vr(f[l>>2]|0,re(h,f[s+16>>2]|0)|0);p=f[l>>2]|0;_r(e,p,r,n,a);c=b;return}function vr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0;a=c;c=c+176|0;r=a+152|0;u=a+16|0;l=a;if(!(i&1)){r=(i|0)/4|0;if((i|0)>3){n=0;do{u=e+(n<<2)|0;o=f[u>>2]|0;f[u>>2]=o>>>8&16711935|o<<8&-16711936;n=n+1|0}while((n|0)<(r|0))}if(!(i&3)){c=a;return}l=e+(i+-2)|0;u=e+(i+-1)|0;o=t[l>>0]|0;t[l>>0]=t[u>>0]|0;t[u>>0]=o;c=a;return}o=u+56|0;s=u+4|0;f[u>>2]=36160;f[o>>2]=36180;m=0;ce(62,u+56|0,s|0);a=m;m=0;if(a&1){u=Ye()|0;nh(o);$e(u|0)}f[u+128>>2]=0;f[u+132>>2]=-1;f[u>>2]=36200;f[u+56>>2]=36220;m=0;ue(180,s|0);a=m;m=0;do if(a&1)r=Ye()|0;else{f[s>>2]=36236;a=u+36|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[u+52>>2]=16;f[r>>2]=0
10
+ ;f[r+4>>2]=0;f[r+8>>2]=0;m=0;ce(63,s|0,r|0);e=m;m=0;if(e&1){u=Ye()|0;Od(r);Od(a);ch(s);r=u;break}Od(r);m=0;r=ke(28,u|0,49087,24)|0;e=m;m=0;if((!(e&1)?(m=0,n=ve(36,r|0,i|0)|0,i=m,m=0,!(i&1)):0)?(m=0,ke(28,n|0,49112,20)|0,i=m,m=0,!(i&1)):0){e=He(16)|0;m=0;ce(64,l|0,s|0);i=m;m=0;if(!(i&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,e|0,1,35648,l|0);i=m;m=0;if(i&1)n=1;else{m=0;Se(6,e|0,824,96);m=0;n=0}r=Ye()|0;Od(l);if(!n){l=r;f[u>>2]=36200;f[o>>2]=36220;f[s>>2]=36236;Od(a);ch(s);nh(o);$e(l|0)}}else r=Ye()|0;Ue(e|0);l=r;f[u>>2]=36200;f[o>>2]=36220;f[s>>2]=36236;Od(a);ch(s);nh(o);$e(l|0)}l=Ye()|0;f[u>>2]=36200;f[o>>2]=36220;f[s>>2]=36236;Od(a);ch(s);nh(o);$e(l|0)}while(0)u=r;nh(o);$e(u|0)}function gr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0;h=e+4|0;o=f[h>>2]|0;e:do switch(f[o+16>>2]|0){case 3:{if((f[o+24>>2]|0)==2){if((a|0)<=0)break e;o=e+40|0;e=0;do{l=f[o>>2]|0;c=s[i+(e*6|0)+2>>1]<<l;u=s[i+(e*6|0)+4>>1]<<l;d=(s[i+(e*6|0)>>1]<<l)-(u+c>>2)+16384|0;n[r+(e*6|0)>>1]=(u+32768+d&65535)>>>l;n[r+(e*6|0)+2>>1]=(d&65535)>>>l;n[r+(e*6|0)+4>>1]=(c+32768+d&65535)>>>l;e=e+1|0}while((e|0)!=(a|0))}else{u=(a|0)<(l|0)?a:l;if((u|0)<=0)break e;c=l<<1;o=e+40|0;e=0;do{d=f[o>>2]|0;k=s[i+(e+l<<1)>>1]<<d;w=s[i+(e+c<<1)>>1]<<d;b=(s[i+(e<<1)>>1]<<d)-(w+k>>2)+16384|0;n[r+(e*6|0)>>1]=(w+32768+b&65535)>>>d;n[r+(e*6|0)+2>>1]=(b&65535)>>>d;n[r+(e*6|0)+4>>1]=(k+32768+b&65535)>>>d;e=e+1|0}while((e|0)!=(u|0))}break}case 4:{if((f[o+24>>2]|0)==1?(d=(a|0)<(l|0)?a:l,(d|0)>0):0){c=l<<1;o=e+40|0;e=l*3|0;u=0;do{w=f[o>>2]|0;k=s[i+(u+l<<1)>>1]<<w;_=s[i+(u+c<<1)>>1]<<w;b=(s[i+(u<<1)>>1]<<w)-(_+k>>2)+16384|0;m=n[i+(u+e<<1)>>1]|0;p=T_((b&65535)>>>w&65535|0,0,16)|0;k=(k+32768+b&65535)>>>w|R;m=T_(m&65535|0,0,48)|0;m=p|(_+32768+b&65535)>>>w&65535|m;k=k&65535|R;w=r+(u<<3)|0;b=w;n[b>>1]=m;n[b+2>>1]=m>>>16;w=w+4|0;n[w>>1]=k;n[w+2>>1]=k>>>16;u=u+1|0}while((u|0)!=(d|0))}break}default:{}}while(0)o=f[h>>2]|0;if(!(t[o+32>>0]|0))return;u=f[o+16>>2]|0;if((a|0)<=0)return;o=r;e=0;while(1){p=o+4|0;_=n[o>>1]|0;n[o>>1]=n[p>>1]|0;n[p>>1]=_;e=e+1|0;if((e|0)==(a|0))break;else o=o+(u<<1)|0}return}function yr(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36340;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);return}function Er(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36340;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t){Iv(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);Iv(e);return}function Ar(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+48|0;if(!(f[a>>2]|0)){o=e+52|0;Cr(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;Cr(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)vr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uE[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,i|0,3,35648);u=m;m=0;if(u&1){u=Ye()|0;Ue(i|0);$e(u|0)}else bi(i|0,824,96)}function Sr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+48>>2]|0;if(!n){n=e+52|0;Tr(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{Mr(e,n,i,r,t);return}}function Tr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0,k=0;d=e+4|0;o=f[d>>2]|0;do if(!(t[o+32>>0]|0))h=i;else{u=e+8|0;S_(f[u>>2]|0,i|0,a*6|0)|0;o=f[d>>2]|0;c=f[o+16>>2]|0;if((a|0)<=0){h=f[u>>2]|0;break}i=f[u>>2]|0;o=i;u=0;while(1){h=o+4|0;b=n[o>>1]|0;n[o>>1]=n[h>>1]|0;n[h>>1]=b;u=u+1|0;if((u|0)==(a|0))break;else o=o+(c<<1)|0}h=i;o=f[d>>2]|0}while(0)switch(f[o+16>>2]|0){case 3:if((f[o+24>>2]|0)==2){if((a|0)<=0)return;o=e+32|0;i=0;do{l=f[o>>2]|0;d=s[h+(i*6|0)>>1]<<l;e=s[h+(i*6|0)+2>>1]<<l;b=((s[h+(i*6|0)+4>>1]<<l)+32768-((e+d|0)>>>1)&65535)>>>l&65535;n[r+(i*6|0)>>1]=(d+32768-e&65535)>>>l;n[r+(i*6|0)+2>>1]=(e&65535)>>>l;n[r+(i*6|0)+4>>1]=b;i=i+1|0}while((i|0)!=(a|0))return}else{u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;o=f[e+32>>2]|0;i=0;do{a=s[h+(i*6|0)>>1]<<o;e=s[h+(i*6|0)+2>>1]<<o;b=((s[h+(i*6|0)+4>>1]<<o)+32768-((e+a|0)>>>1)&65535)>>>o&65535;n[r+(i<<1)>>1]=(a+32768-e&65535)>>>o;n[r+(i+l<<1)>>1]=(e&65535)>>>o;n[r+(i+c<<1)>>1]=b;i=i+1|0}while((i|0)!=(u|0))return}case 4:{if((f[o+24>>2]|0)!=1)return;u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;d=l*3|0;o=f[e+32>>2]|0;i=0;do{b=n[h+(i<<3)+6>>1]|0;k=s[h+(i<<3)>>1]<<o;a=s[h+(i<<3)+2>>1]<<o;e=((s[h+(i<<3)+4>>1]<<o)+32768-((a+k|0)>>>1)&65535)>>>o&65535;n[r+(i<<1)>>1]=(k+32768-a&65535)>>>o;n[r+(i+l<<1)>>1]=(a&65535)>>>o;n[r+(i+c<<1)>>1]=e;n[r+(i+d<<1)>>1]=b;i=i+1|0}while((i|0)!=(u|0))return}default:return}}function Mr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0;b=c;c=c+176|0;k=b+152|0;p=b+16|0;_=b;u=e+4|0;s=f[u>>2]|0;h=n<<1;l=re(h,f[s+16>>2]|0)|0;do if(l){o=e+20|0;while(1){s=uE[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){d=26;break}else l=l-s|0}if((d|0)==26){s=f[u>>2]|0;break}d=p+56|0;u=p+4|0;f[p>>2]=36160;f[d>>2]=36180;m=0;ce(62,p+56|0,u|0);b=m;m=0;if(b&1){p=Ye()|0;nh(d);$e(p|0)}f[p+128>>2]=0;f[p+132>>2]=-1;f[p>>2]=36200;f[p+56>>2]=36220;m=0;ue(180,u|0);b=m;m=0;do if(b&1)s=Ye()|0;else{f[u>>2]=36236;i=p+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[p+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=0;ce(63,u|0,k|0);b=m;m=0;if(b&1){s=Ye()|0;Od(k);Od(i);ch(u);break}Od(k);m=0;s=ke(28,p|0,49029,57)|0;k=m;m=0;if(!(k&1)?(m=0,ve(36,s|0,0)|0,k=m,m=0,!(k&1)):0){o=He(16)|0;m=0;ce(64,_|0,u|0);k=m;m=0;if(!(k&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,o|0,3,35648,_|0);k=m;m=0;if(k&1)l=1;else{m=0;Se(6,o|0,824,96);m=0;l=0}s=Ye()|0;Od(_);if(!l){_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}}else s=Ye()|0;Ue(o|0);_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}_=Ye()|0;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}while(0)p=s;nh(d);$e(p|0)}while(0)l=e+20|0;if((f[s+28>>2]|0)!=536870912){p=f[l>>2]|0;Tr(e,p,r,n,a);c=b;return}vr(f[l>>2]|0,re(h,f[s+16>>2]|0)|0);p=f[l>>2]|0;Tr(e,p,r,n,a);c=b;return}function Cr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;h=e+4|0;o=f[h>>2]|0;e:do switch(f[o+16>>2]|0){case 3:{if((f[o+24>>2]|0)==2){if((a|0)<=0)break e;o=e+40|0;e=0;do{d=f[o>>2]|0;c=s[i+(e*6|0)+2>>1]<<d;u=(s[i+(e*6|0)>>1]<<d)+32768+c&65535;c=c&65535;l=((s[i+(e*6|0)+4>>1]<<d)+32768+((u+c|0)>>>1)&65535)>>>d&65535;n[r+(e*6|0)>>1]=u>>>d;n[r+(e*6|0)+2>>1]=c>>>d;n[r+(e*6|0)+4>>1]=l;e=e+1|0}while((e|0)!=(a|0))}else{u=(a|0)<(l|0)?a:l;if((u|0)<=0)break e;c=l<<1;o=e+40|0;e=0;do{b=f[o>>2]|0;k=s[i+(e+l<<1)>>1]<<b;w=(s[i+(e<<1)>>1]<<b)+32768+k&65535;k=k&65535;d=((s[i+(e+c<<1)>>1]<<b)+32768+((w+k|0)>>>1)&65535)>>>b&65535;n[r+(e*6|0)>>1]=w>>>b;n[r+(e*6|0)+2>>1]=k>>>b;n[r+(e*6|0)+4>>1]=d;e=e+1|0}while((e|0)!=(u|0))}break}case 4:{if((f[o+24>>2]|0)==1?(d=(a|0)<(l|0)?a:l,(d|0)>0):0){c=l<<1;o=e+40|0;e=l*3|0;u=0;do{b=f[o>>2]|0;w=s[i+(u+l<<1)>>1]<<b;_=(s[i+(u<<1)>>1]<<b)+32768+w&65535;w=w&65535;k=((s[i+(u+c<<1)>>1]<<b)+32768+((_+w|0)>>>1)&65535)>>>b;m=n[i+(u+e<<1)>>1]|0;w=T_(w>>>b&65535|0,0,16)|0;k=R|k;m=T_(m&65535|0,0,48)|0;m=_>>>b&65535|w|m;k=k&65535|R;w=r+(u<<3)|0;b=w;n[b>>1]=m;n[b+2>>1]=m>>>16;w=w+4|0;n[w>>1]=k;n[w+2>>1]=k>>>16;u=u+1|0}while((u|0)!=(d|0))}break}default:{}}while(0)o=f[h>>2]|0;if(!(t[o+32>>0]|0))return;u=f[o+16>>2]|0;if((a|0)<=0)return;o=r;e=0;while(1){_=o+4|0;m=n[o>>1]|0;n[o>>1]=n[_>>1]|0;n[_>>1]=m;e=e+1|0;if((e|0)==(a|0))break;else o=o+(u<<1)|0}return}function Pr(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36364;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);return}function xr(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36364;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t){Iv(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);Iv(e);return}function Dr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+48|0;if(!(f[a>>2]|0)){o=e+52|0;Ir(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;Ir(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)vr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uE[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,i|0,3,35648);u=m;m=0;if(u&1){u=Ye()|0;Ue(i|0);$e(u|0)}else bi(i|0,824,96)}function Rr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+48>>2]|0;if(!n){n=e+52|0;Or(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{Lr(e,n,i,r,t);return}}function Or(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0;d=e+4|0;o=f[d>>2]|0;do if(!(t[o+32>>0]|0))h=i;else{u=e+8|0;S_(f[u>>2]|0,i|0,a*6|0)|0;o=f[d>>2]|0;c=f[o+16>>2]|0;if((a|0)<=0){h=f[u>>2]|0;break}i=f[u>>2]|0;o=i;u=0;while(1){h=o+4|0;b=n[o>>1]|0;n[o>>1]=n[h>>1]|0;n[h>>1]=b;u=u+1|0;if((u|0)==(a|0))break;else o=o+(c<<1)|0}h=i;o=f[d>>2]|0}while(0)switch(f[o+16>>2]|0){case 3:if((f[o+24>>2]|0)==2){if((a|0)<=0)return;o=e+32|0;i=0;do{l=f[o>>2]|0;e=s[h+(i*6|0)+2>>1]<<l;b=(32768-e+(s[h+(i*6|0)+4>>1]<<l)&65535)>>>l&65535;n[r+(i*6|0)>>1]=((s[h+(i*6|0)>>1]<<l)+32768-e&65535)>>>l;n[r+(i*6|0)+2>>1]=(e&65535)>>>l;n[r+(i*6|0)+4>>1]=b;i=i+1|0}while((i|0)!=(a|0))return}else{u=(l|0)<(a|0)?l:a;if((u|0)<=0)return;c=l<<1;o=f[e+32>>2]|0;i=0;do{e=s[h+(i*6|0)+2>>1]<<o;b=(32768-e+(s[h+(i*6|0)+4>>1]<<o)&65535)>>>o&65535;n[r+(i<<1)>>1]=((s[h+(i*6|0)>>1]<<o)+32768-e&65535)>>>o;n[r+(i+l<<1)>>1]=(e&65535)>>>o;n[r+(i+c<<1)>>1]=b;i=i+1|0}while((i|0)!=(u|0))return}case 4:{if((f[o+24>>2]|0)!=1)return;c=(l|0)<(a|0)?l:a;if((c|0)<=0)return;d=l<<1;u=l*3|0;o=f[e+32>>2]|0;i=0;do{b=n[h+(i<<3)+6>>1]|0;a=s[h+(i<<3)+2>>1]<<o;e=(32768-a+(s[h+(i<<3)+4>>1]<<o)&65535)>>>o&65535;n[r+(i<<1)>>1]=((s[h+(i<<3)>>1]<<o)+32768-a&65535)>>>o;n[r+(i+l<<1)>>1]=(a&65535)>>>o;n[r+(i+d<<1)>>1]=e;n[r+(i+u<<1)>>1]=b;i=i+1|0}while((i|0)!=(c|0))return}default:return}}function Lr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0;b=c;c=c+176|0;k=b+152|0;p=b+16|0;_=b;u=e+4|0;s=f[u>>2]|0;h=n<<1;l=re(h,f[s+16>>2]|0)|0;do if(l){o=e+20|0;while(1){s=uE[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){d=26;break}else l=l-s|0}if((d|0)==26){s=f[u>>2]|0;break}d=p+56|0;u=p+4|0;f[p>>2]=36160;f[d>>2]=36180;m=0;ce(62,p+56|0,u|0);b=m;m=0;if(b&1){p=Ye()|0;nh(d);$e(p|0)}f[p+128>>2]=0;f[p+132>>2]=-1;f[p>>2]=36200;f[p+56>>2]=36220;m=0;ue(180,u|0);b=m;m=0;do if(b&1)s=Ye()|0;else{f[u>>2]=36236;i=p+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[p+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=0;ce(63,u|0,k|0);b=m;m=0;if(b&1){s=Ye()|0;Od(k);Od(i);ch(u);break}Od(k);m=0;s=ke(28,p|0,49029,57)|0;k=m;m=0;if(!(k&1)?(m=0,ve(36,s|0,0)|0,k=m,m=0,!(k&1)):0){o=He(16)|0;m=0;ce(64,_|0,u|0);k=m;m=0;if(!(k&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,o|0,3,35648,_|0);k=m;m=0;if(k&1)l=1;else{m=0;Se(6,o|0,824,96);m=0;l=0}s=Ye()|0;Od(_);if(!l){_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}}else s=Ye()|0;Ue(o|0);_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}_=Ye()|0;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}while(0)p=s;nh(d);$e(p|0)}while(0)l=e+20|0;if((f[s+28>>2]|0)!=536870912){p=f[l>>2]|0;Or(e,p,r,n,a);c=b;return}vr(f[l>>2]|0,re(h,f[s+16>>2]|0)|0);p=f[l>>2]|0;Or(e,p,r,n,a);c=b;return}function Ir(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;h=e+4|0;o=f[h>>2]|0;e:do switch(f[o+16>>2]|0){case 3:{if((f[o+24>>2]|0)==2){if((a|0)<=0)break e;o=e+40|0;e=0;do{d=f[o>>2]|0;c=s[i+(e*6|0)+2>>1]<<d;l=(c+32768+(s[i+(e*6|0)+4>>1]<<d)&65535)>>>d&65535;n[r+(e*6|0)>>1]=((s[i+(e*6|0)>>1]<<d)+32768+c&65535)>>>d;n[r+(e*6|0)+2>>1]=(c&65535)>>>d;n[r+(e*6|0)+4>>1]=l;e=e+1|0}while((e|0)!=(a|0))}else{u=(a|0)<(l|0)?a:l;if((u|0)<=0)break e;c=l<<1;o=e+40|0;e=0;do{b=f[o>>2]|0;k=s[i+(e+l<<1)>>1]<<b;d=(k+32768+(s[i+(e+c<<1)>>1]<<b)&65535)>>>b&65535;n[r+(e*6|0)>>1]=((s[i+(e<<1)>>1]<<b)+32768+k&65535)>>>b;n[r+(e*6|0)+2>>1]=(k&65535)>>>b;n[r+(e*6|0)+4>>1]=d;e=e+1|0}while((e|0)!=(u|0))}break}case 4:{if((f[o+24>>2]|0)==1?(d=(a|0)<(l|0)?a:l,(d|0)>0):0){c=l<<1;o=e+40|0;e=l*3|0;u=0;do{w=f[o>>2]|0;_=s[i+(u+l<<1)>>1]<<w;k=((s[i+(u<<1)>>1]<<w)+32768+_&65535)>>>w;b=(_+32768+(s[i+(u+c<<1)>>1]<<w)&65535)>>>w;m=n[i+(u+e<<1)>>1]|0;w=T_((_&65535)>>>w&65535|0,0,16)|0;b=b|R;m=T_(m&65535|0,0,48)|0;m=w|k&65535|m;b=b&65535|R;k=r+(u<<3)|0;w=k;n[w>>1]=m;n[w+2>>1]=m>>>16;k=k+4|0;n[k>>1]=b;n[k+2>>1]=b>>>16;u=u+1|0}while((u|0)!=(d|0))}break}default:{}}while(0)o=f[h>>2]|0;if(!(t[o+32>>0]|0))return;u=f[o+16>>2]|0;if((a|0)<=0)return;o=r;e=0;while(1){_=o+4|0;m=n[o>>1]|0;n[o>>1]=n[_>>1]|0;n[_>>1]=m;e=e+1|0;if((e|0)==(a|0))break;else o=o+(u<<1)|0}return}function Br(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0;b=c;c=c+16|0;d=b;h=f[e>>2]|0;if(!h){e=0;c=b;return e|0}k=i;o=n-k|0;u=a+12|0;l=f[u>>2]|0;o=(l|0)>(o|0)?l-o|0:0;l=r;a=l-k|0;if((a|0)>0?(uE[f[(f[h>>2]|0)+48>>2]&63](h,i,a)|0)!=(a|0):0){f[e>>2]=0;k=0;c=b;return k|0}do if((o|0)>0){Rd(d,o,s);m=0;a=ke(f[(f[h>>2]|0)+48>>2]|0,h|0,((t[d>>0]&1)==0?d+1|0:f[d+8>>2]|0)|0,o|0)|0;k=m;m=0;if(k&1){k=Ye()|0;Od(d);$e(k|0)}if((a|0)==(o|0)){Od(d);break}f[e>>2]=0;Od(d);k=0;c=b;return k|0}while(0)n=n-l|0;if((n|0)>0?(uE[f[(f[h>>2]|0)+48>>2]&63](h,r,n)|0)!=(n|0):0){f[e>>2]=0;k=0;c=b;return k|0}f[u>>2]=0;k=h;c=b;return k|0}function Nr(e){e=e|0;f[e>>2]=36236;Od(e+32|0);ch(e);return}function Fr(e){e=e|0;f[e>>2]=36236;Od(e+32|0);ch(e);Iv(e);return}function jr(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,d=0;l=i+44|0;o=f[l>>2]|0;c=i+24|0;d=f[c>>2]|0;if(o>>>0<d>>>0){f[l>>2]=d;o=d}u=o;l=s&24;if(!l){i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}if((a|0)==1&(l|0)==24){i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}e:do switch(a|0){case 0:{l=0;a=0;break}case 1:if(!(s&8)){a=d-(f[i+20>>2]|0)|0;l=a;a=((a|0)<0)<<31>>31;break e}else{a=(f[i+12>>2]|0)-(f[i+8>>2]|0)|0;l=a;a=((a|0)<0)<<31>>31;break e}case 2:{l=i+32|0;if(!(t[l>>0]&1))l=l+1|0;else l=f[i+40>>2]|0;a=o-l|0;l=a;a=((a|0)<0)<<31>>31;break}default:{i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}}while(0)a=E_(l|0,a|0,r|0,n|0)|0;r=R;if((r|0)>=0){l=i+32|0;if(!(t[l>>0]&1))l=l+1|0;else l=f[i+40>>2]|0;n=o-l|0;o=((n|0)<0)<<31>>31;if(!((o|0)<(r|0)|(o|0)==(r|0)&n>>>0<a>>>0)){l=s&8;if(!((a|0)==0&(r|0)==0)){if((l|0)!=0?(f[i+12>>2]|0)==0:0){i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}if((s&16|0)!=0&(d|0)==0){i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}}if(l){f[i+12>>2]=(f[i+8>>2]|0)+a;f[i+16>>2]=u}if(s&16)f[c>>2]=(f[i+20>>2]|0)+a;i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=a;f[i+4>>2]=r;return}}i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}function Ur(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=r+8|0;dE[f[(f[i>>2]|0)+16>>2]&15](e,i,f[r>>2]|0,f[r+4>>2]|0,0,t);return}function Hr(e){e=e|0;var i=0,r=0,t=0,n=0;i=e+44|0;r=f[i>>2]|0;t=f[e+24>>2]|0;if(r>>>0<t>>>0){f[i>>2]=t;r=t}if(!(f[e+48>>2]&8)){e=-1;return e|0}n=e+16|0;i=f[n>>2]|0;t=e+12|0;if(i>>>0<r>>>0){t=f[t>>2]|0;f[n>>2]=r;i=r}else t=f[t>>2]|0;if(t>>>0>=i>>>0){e=-1;return e|0}e=a[t>>0]|0;return e|0}function Yr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0;n=e+44|0;r=f[n>>2]|0;a=f[e+24>>2]|0;if(r>>>0<a>>>0){f[n>>2]=a;r=a}o=e+8|0;n=f[o>>2]|0;u=e+12|0;s=f[u>>2]|0;l=n;if(n>>>0>=s>>>0){e=-1;return e|0}if((i|0)==-1){f[o>>2]=n;f[u>>2]=s+-1;f[e+16>>2]=r;e=0;return e|0}if(!(f[e+48>>2]&16)){a=i&255;n=s+-1|0;if(a<<24>>24!=(t[n>>0]|0)){e=-1;return e|0}}else{a=i&255;n=s+-1|0}f[o>>2]=l;f[u>>2]=n;f[e+16>>2]=r;t[n>>0]=a;e=i;return e|0}function qr(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0;p=c;c=c+16|0;h=p;if((i|0)==-1){e=0;c=p;return e|0}b=e+12|0;k=e+8|0;w=(f[b>>2]|0)-(f[k>>2]|0)|0;_=e+24|0;r=f[_>>2]|0;d=e+28|0;n=f[d>>2]|0;do if((r|0)==(n|0)){o=e+48|0;if(!(f[o>>2]&16)){e=-1;c=p;return e|0}u=e+20|0;l=f[u>>2]|0;a=r-l|0;s=e+44|0;l=(f[s>>2]|0)-l|0;n=e+32|0;m=0;ce(67,n|0,0);r=m;m=0;if(!(r&1)){if(!(t[n>>0]&1))r=10;else r=(f[n>>2]&-2)+-1|0;m=0;Se(8,n|0,r|0,0);r=m;m=0;if(!(r&1)){r=t[n>>0]|0;if(!(r&1)){n=n+1|0;r=(r&255)>>>1}else{n=f[e+40>>2]|0;r=f[e+36>>2]|0}v=n+r|0;f[u>>2]=n;f[d>>2]=v;u=n+a|0;f[_>>2]=u;r=n+l|0;f[s>>2]=r;n=v;break}}v=Ye(0)|0;Je(v|0)|0;Ze();v=-1;c=p;return v|0}else{v=e+44|0;o=e+48|0;s=v;u=r;r=f[v>>2]|0}while(0)l=u+1|0;f[h>>2]=l;a=f[(l>>>0<r>>>0?s:h)>>2]|0;f[s>>2]=a;if(f[o>>2]&8){r=e+32|0;if(!(t[r>>0]&1))r=r+1|0;else r=f[e+40>>2]|0;f[k>>2]=r;f[b>>2]=r+w;f[e+16>>2]=a}if((u|0)==(n|0)){v=kE[f[(f[e>>2]|0)+52>>2]&63](e,i&255)|0;c=p;return v|0}else{f[_>>2]=l;t[u>>0]=i;v=i&255;c=p;return v|0}return 0}function zr(e){e=e|0;var i=0,r=0;f[e>>2]=36200;i=e+56|0;f[i>>2]=36220;r=e+4|0;f[r>>2]=36236;Od(e+36|0);ch(r);nh(i);return}function Xr(e){e=e|0;var i=0,r=0;f[e>>2]=36200;i=e+56|0;f[i>>2]=36220;r=e+4|0;f[r>>2]=36236;Od(e+36|0);ch(r);nh(i);Iv(e);return}function Gr(e){e=e|0;var i=0,r=0,t=0,n=0;n=f[(f[e>>2]|0)+-12>>2]|0;i=e+n|0;f[i>>2]=36200;r=e+(n+56)|0;f[r>>2]=36220;t=e+(n+4)|0;f[t>>2]=36236;Od(e+(n+36)|0);ch(t);nh(r);Iv(i);return}function Vr(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36388;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);return}function Kr(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36388;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t){Iv(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);Iv(e);return}function Wr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+36|0;if(!(f[a>>2]|0)){o=e+40|0;$r(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;$r(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)vr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uE[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,i|0,3,35648);u=m;m=0;if(u&1){u=Ye()|0;Ue(i|0);$e(u|0)}else bi(i|0,824,96)}function Jr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;Qr(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{Zr(e,n,i,r,t);return}}function Qr(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0;c=e+4|0;o=f[c>>2]|0;do if(!(t[o+32>>0]|0))d=i;else{e=e+8|0;S_(f[e>>2]|0,i|0,a*6|0)|0;o=f[c>>2]|0;u=f[o+16>>2]|0;if((a|0)<=0){d=f[e>>2]|0;break}e=f[e>>2]|0;o=e;i=0;while(1){d=o+4|0;h=n[o>>1]|0;n[o>>1]=n[d>>1]|0;n[d>>1]=h;i=i+1|0;if((i|0)==(a|0))break;else o=o+(u<<1)|0}d=e;o=f[c>>2]|0}while(0)switch(f[o+16>>2]|0){case 3:{if((f[o+24>>2]|0)==2){if((a|0)>0)o=0;else return;do{c=s[d+(o*6|0)+2>>1]|0;l=32768-c+(s[d+(o*6|0)+4>>1]|0)|0;h=(s[d+(o*6|0)>>1]|0)-c+32768|0;n[r+(o*6|0)>>1]=c+49152+(((l&65535)+(h&65535)|0)>>>2);n[r+(o*6|0)+2>>1]=l;n[r+(o*6|0)+4>>1]=h;o=o+1|0}while((o|0)!=(a|0))return}o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=0;do{c=s[d+(i*6|0)+2>>1]|0;a=32768-c+(s[d+(i*6|0)+4>>1]|0)|0;h=(s[d+(i*6|0)>>1]|0)-c+32768|0;n[r+(i<<1)>>1]=c+49152+(((a&65535)+(h&65535)|0)>>>2);n[r+(i+l<<1)>>1]=a;n[r+(i+e<<1)>>1]=h;i=i+1|0}while((i|0)!=(o|0))return}case 4:{if((f[o+24>>2]|0)!=1)return;o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=l*3|0;u=0;do{h=n[d+(u<<3)+6>>1]|0;b=s[d+(u<<3)+2>>1]|0;c=32768-b+(s[d+(u<<3)+4>>1]|0)|0;a=(s[d+(u<<3)>>1]|0)-b+32768|0;n[r+(u<<1)>>1]=b+49152+(((c&65535)+(a&65535)|0)>>>2);n[r+(u+l<<1)>>1]=c;n[r+(u+e<<1)>>1]=a;n[r+(u+i<<1)>>1]=h;u=u+1|0}while((u|0)!=(o|0))return}default:return}}function Zr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0;b=c;c=c+176|0;k=b+152|0;p=b+16|0;_=b;u=e+4|0;s=f[u>>2]|0;h=n<<1;l=re(h,f[s+16>>2]|0)|0;do if(l){o=e+20|0;while(1){s=uE[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){d=26;break}else l=l-s|0}if((d|0)==26){s=f[u>>2]|0;break}d=p+56|0;u=p+4|0;f[p>>2]=36160;f[d>>2]=36180;m=0;ce(62,p+56|0,u|0);b=m;m=0;if(b&1){p=Ye()|0;nh(d);$e(p|0)}f[p+128>>2]=0;f[p+132>>2]=-1;f[p>>2]=36200;f[p+56>>2]=36220;m=0;ue(180,u|0);b=m;m=0;do if(b&1)s=Ye()|0;else{f[u>>2]=36236;i=p+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[p+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=0;ce(63,u|0,k|0);b=m;m=0;if(b&1){s=Ye()|0;Od(k);Od(i);ch(u);break}Od(k);m=0;s=ke(28,p|0,49029,57)|0;k=m;m=0;if(!(k&1)?(m=0,ve(36,s|0,0)|0,k=m,m=0,!(k&1)):0){o=He(16)|0;m=0;ce(64,_|0,u|0);k=m;m=0;if(!(k&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,o|0,3,35648,_|0);k=m;m=0;if(k&1)l=1;else{m=0;Se(6,o|0,824,96);m=0;l=0}s=Ye()|0;Od(_);if(!l){_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}}else s=Ye()|0;Ue(o|0);_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}_=Ye()|0;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}while(0)p=s;nh(d);$e(p|0)}while(0)l=e+20|0;if((f[s+28>>2]|0)!=536870912){p=f[l>>2]|0;Qr(e,p,r,n,a);c=b;return}vr(f[l>>2]|0,re(h,f[s+16>>2]|0)|0);p=f[l>>2]|0;Qr(e,p,r,n,a);c=b;return}function $r(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;d=e+4|0;e=f[d>>2]|0;e:do switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((a|0)>0)e=0;else break e;while(1){c=s[i+(e*6|0)+2>>1]|0;u=s[i+(e*6|0)+4>>1]|0;l=(s[i+(e*6|0)>>1]|0)-((u+c|0)>>>2)+16384|0;n[r+(e*6|0)>>1]=u+32768+l;n[r+(e*6|0)+2>>1]=l;n[r+(e*6|0)+4>>1]=c+32768+l;e=e+1|0;if((e|0)==(a|0))break e}}e=(a|0)<(l|0)?a:l;if((e|0)>0){o=l<<1;u=0;do{h=s[i+(u+l<<1)>>1]|0;b=s[i+(u+o<<1)>>1]|0;c=(s[i+(u<<1)>>1]|0)-((b+h|0)>>>2)+16384|0;n[r+(u*6|0)>>1]=b+32768+c;n[r+(u*6|0)+2>>1]=c;n[r+(u*6|0)+4>>1]=h+32768+c;u=u+1|0}while((u|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(c=(a|0)<(l|0)?a:l,(c|0)>0):0){e=l<<1;o=l*3|0;u=0;do{h=s[i+(u+l<<1)>>1]|0;k=s[i+(u+e<<1)>>1]|0;b=(s[i+(u<<1)>>1]|0)-((k+h|0)>>>2)+16384|0;w=n[i+(u+o<<1)>>1]|0;m=T_(b&65535|0,0,16)|0;h=h+32768+b|R;w=T_(w&65535|0,0,48)|0;w=m|k+32768+b&65535|w;h=h&65535|R;b=r+(u<<3)|0;k=b;n[k>>1]=w;n[k+2>>1]=w>>>16;b=b+4|0;n[b>>1]=h;n[b+2>>1]=h>>>16;u=u+1|0}while((u|0)!=(c|0))}break}default:{}}while(0)e=f[d>>2]|0;if(!(t[e+32>>0]|0))return;u=f[e+16>>2]|0;if((a|0)<=0)return;e=r;o=0;while(1){m=e+4|0;w=n[e>>1]|0;n[e>>1]=n[m>>1]|0;n[m>>1]=w;o=o+1|0;if((o|0)==(a|0))break;else e=e+(u<<1)|0}return}function et(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36412;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);return}function it(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36412;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t){Iv(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);Iv(e);return}function rt(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+36|0;if(!(f[a>>2]|0)){o=e+40|0;at(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;at(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)vr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uE[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,i|0,3,35648);u=m;m=0;if(u&1){u=Ye()|0;Ue(i|0);$e(u|0)}else bi(i|0,824,96)}function tt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;nt(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{ft(e,n,i,r,t);return}}function nt(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0,k=0;c=e+4|0;o=f[c>>2]|0;do if(!(t[o+32>>0]|0))d=i;else{e=e+8|0;S_(f[e>>2]|0,i|0,a*6|0)|0;o=f[c>>2]|0;u=f[o+16>>2]|0;if((a|0)<=0){d=f[e>>2]|0;break}e=f[e>>2]|0;o=e;i=0;while(1){d=o+4|0;h=n[o>>1]|0;n[o>>1]=n[d>>1]|0;n[d>>1]=h;i=i+1|0;if((i|0)==(a|0))break;else o=o+(u<<1)|0}d=e;o=f[c>>2]|0}while(0)switch(f[o+16>>2]|0){case 3:{if((f[o+24>>2]|0)==2){if((a|0)>0)o=0;else return;do{u=s[d+(o*6|0)>>1]|0;l=n[d+(o*6|0)+2>>1]|0;c=l&65535;h=(s[d+(o*6|0)+4>>1]|0)+32768-((c+u|0)>>>1)&65535;n[r+(o*6|0)>>1]=u+32768-c;n[r+(o*6|0)+2>>1]=l;n[r+(o*6|0)+4>>1]=h;o=o+1|0}while((o|0)!=(a|0))return}o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=0;do{a=n[d+(i*6|0)+2>>1]|0;u=s[d+(i*6|0)>>1]|0;c=a&65535;h=(s[d+(i*6|0)+4>>1]|0)+32768-((c+u|0)>>>1)&65535;n[r+(i<<1)>>1]=u+32768-c;n[r+(i+l<<1)>>1]=a;n[r+(i+e<<1)>>1]=h;i=i+1|0}while((i|0)!=(o|0))return}case 4:{if((f[o+24>>2]|0)!=1)return;o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=l*3|0;u=0;do{c=n[d+(u<<3)+2>>1]|0;h=n[d+(u<<3)+6>>1]|0;k=s[d+(u<<3)>>1]|0;b=c&65535;a=(s[d+(u<<3)+4>>1]|0)+32768-((b+k|0)>>>1)&65535;n[r+(u<<1)>>1]=k+32768-b;n[r+(u+l<<1)>>1]=c;n[r+(u+e<<1)>>1]=a;n[r+(u+i<<1)>>1]=h;u=u+1|0}while((u|0)!=(o|0))return}default:return}}function ft(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0;b=c;c=c+176|0;k=b+152|0;p=b+16|0;_=b;u=e+4|0;s=f[u>>2]|0;h=n<<1;l=re(h,f[s+16>>2]|0)|0;do if(l){o=e+20|0;while(1){s=uE[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){d=26;break}else l=l-s|0}if((d|0)==26){s=f[u>>2]|0;break}d=p+56|0;u=p+4|0;f[p>>2]=36160;f[d>>2]=36180;m=0;ce(62,p+56|0,u|0);b=m;m=0;if(b&1){p=Ye()|0;nh(d);$e(p|0)}f[p+128>>2]=0;f[p+132>>2]=-1;f[p>>2]=36200;f[p+56>>2]=36220;m=0;ue(180,u|0);b=m;m=0;do if(b&1)s=Ye()|0;else{f[u>>2]=36236;i=p+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[p+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=0;ce(63,u|0,k|0);b=m;m=0;if(b&1){s=Ye()|0;Od(k);Od(i);ch(u);break}Od(k);m=0;s=ke(28,p|0,49029,57)|0;k=m;m=0;if(!(k&1)?(m=0,ve(36,s|0,0)|0,k=m,m=0,!(k&1)):0){o=He(16)|0;m=0;ce(64,_|0,u|0);k=m;m=0;if(!(k&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,o|0,3,35648,_|0);k=m;m=0;if(k&1)l=1;else{m=0;Se(6,o|0,824,96);m=0;l=0}s=Ye()|0;Od(_);if(!l){_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}}else s=Ye()|0;Ue(o|0);_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}_=Ye()|0;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}while(0)p=s;nh(d);$e(p|0)}while(0)l=e+20|0;if((f[s+28>>2]|0)!=536870912){p=f[l>>2]|0;nt(e,p,r,n,a);c=b;return}vr(f[l>>2]|0,re(h,f[s+16>>2]|0)|0);p=f[l>>2]|0;nt(e,p,r,n,a);c=b;return}function at(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;d=e+4|0;e=f[d>>2]|0;e:do switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((a|0)>0)e=0;else break e;while(1){c=n[i+(e*6|0)+2>>1]|0;l=c&65535;u=(s[i+(e*6|0)>>1]|0)+32768+l|0;l=(s[i+(e*6|0)+4>>1]|0)+32768+(((u&65535)+l|0)>>>1)&65535;n[r+(e*6|0)>>1]=u;n[r+(e*6|0)+2>>1]=c;n[r+(e*6|0)+4>>1]=l;e=e+1|0;if((e|0)==(a|0))break e}}e=(a|0)<(l|0)?a:l;if((e|0)>0){o=l<<1;u=0;do{h=n[i+(u+l<<1)>>1]|0;c=h&65535;b=(s[i+(u<<1)>>1]|0)+32768+c|0;c=(s[i+(u+o<<1)>>1]|0)+32768+(((b&65535)+c|0)>>>1)&65535;n[r+(u*6|0)>>1]=b;n[r+(u*6|0)+2>>1]=h;n[r+(u*6|0)+4>>1]=c;u=u+1|0}while((u|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(c=(a|0)<(l|0)?a:l,(c|0)>0):0){e=l<<1;o=l*3|0;u=0;do{b=n[i+(u+l<<1)>>1]|0;h=b&65535;k=(s[i+(u<<1)>>1]|0)+32768+h&65535;h=(s[i+(u+e<<1)>>1]|0)+32768+((k+h|0)>>>1)|0;w=n[i+(u+o<<1)>>1]|0;b=T_(b&65535|0,0,16)|0;h=R|h;w=T_(w&65535|0,0,48)|0;w=k|b|w;h=h&65535|R;b=r+(u<<3)|0;k=b;n[k>>1]=w;n[k+2>>1]=w>>>16;b=b+4|0;n[b>>1]=h;n[b+2>>1]=h>>>16;u=u+1|0}while((u|0)!=(c|0))}break}default:{}}while(0)e=f[d>>2]|0;if(!(t[e+32>>0]|0))return;u=f[e+16>>2]|0;if((a|0)<=0)return;e=r;o=0;while(1){w=e+4|0;k=n[e>>1]|0;n[e>>1]=n[w>>1]|0;n[w>>1]=k;o=o+1|0;if((o|0)==(a|0))break;else e=e+(u<<1)|0}return}function st(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36436;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);return}function lt(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36436;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t){Iv(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);Iv(e);return}function ot(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+36|0;if(!(f[a>>2]|0)){o=e+40|0;ht(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;ht(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)vr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uE[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,i|0,3,35648);u=m;m=0;if(u&1){u=Ye()|0;Ue(i|0);$e(u|0)}else bi(i|0,824,96)}function ut(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;ct(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{dt(e,n,i,r,t);return}}function ct(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0;c=e+4|0;o=f[c>>2]|0;do if(!(t[o+32>>0]|0))d=i;else{e=e+8|0;S_(f[e>>2]|0,i|0,a*6|0)|0;o=f[c>>2]|0;u=f[o+16>>2]|0;if((a|0)<=0){d=f[e>>2]|0;break}e=f[e>>2]|0;o=e;i=0;while(1){d=o+4|0;h=n[o>>1]|0;n[o>>1]=n[d>>1]|0;n[d>>1]=h;i=i+1|0;if((i|0)==(a|0))break;else o=o+(u<<1)|0}d=e;o=f[c>>2]|0}while(0)switch(f[o+16>>2]|0){case 3:{if((f[o+24>>2]|0)==2){if((a|0)>0)o=0;else return;do{l=n[d+(o*6|0)+2>>1]|0;c=l&65535;h=32768-c+(s[d+(o*6|0)+4>>1]|0)&65535;n[r+(o*6|0)>>1]=(s[d+(o*6|0)>>1]|0)+32768-c;n[r+(o*6|0)+2>>1]=l;n[r+(o*6|0)+4>>1]=h;o=o+1|0}while((o|0)!=(a|0))return}o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=0;do{a=n[d+(i*6|0)+2>>1]|0;c=a&65535;h=32768-c+(s[d+(i*6|0)+4>>1]|0)&65535;n[r+(i<<1)>>1]=(s[d+(i*6|0)>>1]|0)+32768-c;n[r+(i+l<<1)>>1]=a;n[r+(i+e<<1)>>1]=h;i=i+1|0}while((i|0)!=(o|0))return}case 4:{if((f[o+24>>2]|0)!=1)return;o=(l|0)<(a|0)?l:a;if((o|0)<=0)return;e=l<<1;i=l*3|0;u=0;do{c=n[d+(u<<3)+2>>1]|0;h=n[d+(u<<3)+6>>1]|0;b=c&65535;a=32768-b+(s[d+(u<<3)+4>>1]|0)&65535;n[r+(u<<1)>>1]=(s[d+(u<<3)>>1]|0)+32768-b;n[r+(u+l<<1)>>1]=c;n[r+(u+e<<1)>>1]=a;n[r+(u+i<<1)>>1]=h;u=u+1|0}while((u|0)!=(o|0))return}default:return}}function dt(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0;b=c;c=c+176|0;k=b+152|0;p=b+16|0;_=b;u=e+4|0;s=f[u>>2]|0;h=n<<1;l=re(h,f[s+16>>2]|0)|0;do if(l){o=e+20|0;while(1){s=uE[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){d=26;break}else l=l-s|0}if((d|0)==26){s=f[u>>2]|0;break}d=p+56|0;u=p+4|0;f[p>>2]=36160;f[d>>2]=36180;m=0;ce(62,p+56|0,u|0);b=m;m=0;if(b&1){p=Ye()|0;nh(d);$e(p|0)}f[p+128>>2]=0;f[p+132>>2]=-1;f[p>>2]=36200;f[p+56>>2]=36220;m=0;ue(180,u|0);b=m;m=0;do if(b&1)s=Ye()|0;else{f[u>>2]=36236;i=p+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[p+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=0;ce(63,u|0,k|0);b=m;m=0;if(b&1){s=Ye()|0;Od(k);Od(i);ch(u);break}Od(k);m=0;s=ke(28,p|0,49029,57)|0;k=m;m=0;if(!(k&1)?(m=0,ve(36,s|0,0)|0,k=m,m=0,!(k&1)):0){o=He(16)|0;m=0;ce(64,_|0,u|0);k=m;m=0;if(!(k&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,o|0,3,35648,_|0);k=m;m=0;if(k&1)l=1;else{m=0;Se(6,o|0,824,96);m=0;l=0}s=Ye()|0;Od(_);if(!l){_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}}else s=Ye()|0;Ue(o|0);_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}_=Ye()|0;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}while(0)p=s;nh(d);$e(p|0)}while(0)l=e+20|0;if((f[s+28>>2]|0)!=536870912){p=f[l>>2]|0;ct(e,p,r,n,a);c=b;return}vr(f[l>>2]|0,re(h,f[s+16>>2]|0)|0);p=f[l>>2]|0;ct(e,p,r,n,a);c=b;return}function ht(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;d=e+4|0;e=f[d>>2]|0;e:do switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((a|0)>0)e=0;else break e;while(1){c=n[i+(e*6|0)+2>>1]|0;u=c&65535;l=u+32768+(s[i+(e*6|0)+4>>1]|0)&65535
11
+ ;n[r+(e*6|0)>>1]=(s[i+(e*6|0)>>1]|0)+32768+u;n[r+(e*6|0)+2>>1]=c;n[r+(e*6|0)+4>>1]=l;e=e+1|0;if((e|0)==(a|0))break e}}e=(a|0)<(l|0)?a:l;if((e|0)>0){o=l<<1;u=0;do{h=n[i+(u+l<<1)>>1]|0;b=h&65535;c=b+32768+(s[i+(u+o<<1)>>1]|0)&65535;n[r+(u*6|0)>>1]=(s[i+(u<<1)>>1]|0)+32768+b;n[r+(u*6|0)+2>>1]=h;n[r+(u*6|0)+4>>1]=c;u=u+1|0}while((u|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(c=(a|0)<(l|0)?a:l,(c|0)>0):0){e=l<<1;o=l*3|0;u=0;do{b=n[i+(u+l<<1)>>1]|0;h=b&65535;k=(s[i+(u<<1)>>1]|0)+32768+h|0;h=h+32768+(s[i+(u+e<<1)>>1]|0)|0;w=n[i+(u+o<<1)>>1]|0;b=T_(b&65535|0,0,16)|0;h=R|h;w=T_(w&65535|0,0,48)|0;w=k&65535|b|w;h=h&65535|R;b=r+(u<<3)|0;k=b;n[k>>1]=w;n[k+2>>1]=w>>>16;b=b+4|0;n[b>>1]=h;n[b+2>>1]=h>>>16;u=u+1|0}while((u|0)!=(c|0))}break}default:{}}while(0)e=f[d>>2]|0;if(!(t[e+32>>0]|0))return;u=f[e+16>>2]|0;if((a|0)<=0)return;e=r;o=0;while(1){w=e+4|0;k=n[e>>1]|0;n[e>>1]=n[w>>1]|0;n[w>>1]=k;o=o+1|0;if((o|0)==(a|0))break;else e=e+(u<<1)|0}return}function bt(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36460;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t)return;i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);return}function kt(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=36460;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}t=f[e+8>>2]|0;if(!t){Iv(e);return}i=e+12|0;r=f[i>>2]|0;if((r|0)!=(t|0))f[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);Iv(t);Iv(e);return}function wt(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;a=e+36|0;if(!(f[a>>2]|0)){o=e+40|0;vt(e,i,f[o>>2]|0,r,n);f[o>>2]=(f[o>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}u=e+4|0;s=r<<1;l=re(s,f[(f[u>>2]|0)+16>>2]|0)|0;o=e+20|0;vt(e,i,f[o>>2]|0,r,n);i=f[u>>2]|0;if((f[i+28>>2]|0)==536870912)vr(f[o>>2]|0,re(s,f[i+16>>2]|0)|0);u=f[a>>2]|0;if((uE[f[(f[u>>2]|0)+48>>2]&63](u,f[o>>2]|0,l)|0)==(l|0))return;i=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,i|0,3,35648);u=m;m=0;if(u&1){u=Ye()|0;Ue(i|0);$e(u|0)}else bi(i|0,824,96)}function mt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;_t(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{pt(e,n,i,r,t);return}}function _t(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,d=0;u=e+4|0;l=f[u>>2]|0;do if(!(t[l+32>>0]|0))c=i;else{e=e+8|0;S_(f[e>>2]|0,i|0,a*6|0)|0;l=f[u>>2]|0;o=f[l+16>>2]|0;if((a|0)<=0){c=f[e>>2]|0;break}e=f[e>>2]|0;l=e;i=0;while(1){c=l+4|0;d=n[l>>1]|0;n[l>>1]=n[c>>1]|0;n[c>>1]=d;i=i+1|0;if((i|0)==(a|0))break;else l=l+(o<<1)|0}c=e;l=f[u>>2]|0}while(0)switch(f[l+16>>2]|0){case 3:{if((f[l+24>>2]|0)==2){if((a|0)>0)l=0;else return;do{s=n[c+(l*6|0)+2>>1]|0;d=n[c+(l*6|0)+4>>1]|0;n[r+(l*6|0)>>1]=n[c+(l*6|0)>>1]|0;n[r+(l*6|0)+2>>1]=s;n[r+(l*6|0)+4>>1]=d;l=l+1|0}while((l|0)!=(a|0))return}l=(s|0)<(a|0)?s:a;if((l|0)<=0)return;e=s<<1;i=0;do{a=n[c+(i*6|0)+2>>1]|0;d=n[c+(i*6|0)+4>>1]|0;n[r+(i<<1)>>1]=n[c+(i*6|0)>>1]|0;n[r+(i+s<<1)>>1]=a;n[r+(i+e<<1)>>1]=d;i=i+1|0}while((i|0)!=(l|0))return}case 4:{if((f[l+24>>2]|0)!=1)return;l=(s|0)<(a|0)?s:a;if((l|0)<=0)return;e=s<<1;i=s*3|0;o=0;do{u=n[c+(o<<3)+2>>1]|0;a=n[c+(o<<3)+4>>1]|0;d=n[c+(o<<3)+6>>1]|0;n[r+(o<<1)>>1]=n[c+(o<<3)>>1]|0;n[r+(o+s<<1)>>1]=u;n[r+(o+e<<1)>>1]=a;n[r+(o+i<<1)>>1]=d;o=o+1|0}while((o|0)!=(l|0))return}default:return}}function pt(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0;b=c;c=c+176|0;k=b+152|0;p=b+16|0;_=b;u=e+4|0;s=f[u>>2]|0;h=n<<1;l=re(h,f[s+16>>2]|0)|0;do if(l){o=e+20|0;while(1){s=uE[f[(f[i>>2]|0)+32>>2]&63](i,f[o>>2]|0,l)|0;if(!s)break;if((l|0)==(s|0)){d=26;break}else l=l-s|0}if((d|0)==26){s=f[u>>2]|0;break}d=p+56|0;u=p+4|0;f[p>>2]=36160;f[d>>2]=36180;m=0;ce(62,p+56|0,u|0);b=m;m=0;if(b&1){p=Ye()|0;nh(d);$e(p|0)}f[p+128>>2]=0;f[p+132>>2]=-1;f[p>>2]=36200;f[p+56>>2]=36220;m=0;ue(180,u|0);b=m;m=0;do if(b&1)s=Ye()|0;else{f[u>>2]=36236;i=p+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[p+52>>2]=16;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;m=0;ce(63,u|0,k|0);b=m;m=0;if(b&1){s=Ye()|0;Od(k);Od(i);ch(u);break}Od(k);m=0;s=ke(28,p|0,49029,57)|0;k=m;m=0;if(!(k&1)?(m=0,ve(36,s|0,0)|0,k=m,m=0,!(k&1)):0){o=He(16)|0;m=0;ce(64,_|0,u|0);k=m;m=0;if(!(k&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,o|0,3,35648,_|0);k=m;m=0;if(k&1)l=1;else{m=0;Se(6,o|0,824,96);m=0;l=0}s=Ye()|0;Od(_);if(!l){_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}}else s=Ye()|0;Ue(o|0);_=s;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}_=Ye()|0;f[p>>2]=36200;f[d>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(d);$e(_|0)}while(0)p=s;nh(d);$e(p|0)}while(0)l=e+20|0;if((f[s+28>>2]|0)!=536870912){p=f[l>>2]|0;_t(e,p,r,n,a);c=b;return}vr(f[l>>2]|0,re(h,f[s+16>>2]|0)|0);p=f[l>>2]|0;_t(e,p,r,n,a);c=b;return}function vt(e,i,r,a,l){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;d=e+4|0;e=f[d>>2]|0;e:do switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((a|0)>0)e=0;else break e;while(1){c=n[i+(e*6|0)+2>>1]|0;l=n[i+(e*6|0)+4>>1]|0;n[r+(e*6|0)>>1]=n[i+(e*6|0)>>1]|0;n[r+(e*6|0)+2>>1]=c;n[r+(e*6|0)+4>>1]=l;e=e+1|0;if((e|0)==(a|0))break e}}e=(a|0)<(l|0)?a:l;if((e|0)>0){o=l<<1;u=0;do{h=n[i+(u+l<<1)>>1]|0;c=n[i+(u+o<<1)>>1]|0;n[r+(u*6|0)>>1]=n[i+(u<<1)>>1]|0;n[r+(u*6|0)+2>>1]=h;n[r+(u*6|0)+4>>1]=c;u=u+1|0}while((u|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(c=(a|0)<(l|0)?a:l,(c|0)>0):0){e=l<<1;o=l*3|0;u=0;do{h=n[i+(u<<1)>>1]|0;w=n[i+(u+o<<1)>>1]|0;b=s[i+(u+e<<1)>>1]|0;k=T_(s[i+(u+l<<1)>>1]|0,0,16)|0;b=R|b;w=T_(w&65535|0,0,48)|0;w=k|h&65535|w;b=b&65535|R;h=r+(u<<3)|0;k=h;n[k>>1]=w;n[k+2>>1]=w>>>16;h=h+4|0;n[h>>1]=b;n[h+2>>1]=b>>>16;u=u+1|0}while((u|0)!=(c|0))}break}default:{}}while(0)e=f[d>>2]|0;if(!(t[e+32>>0]|0))return;u=f[e+16>>2]|0;if((a|0)<=0)return;e=r;o=0;while(1){w=e+4|0;k=n[e>>1]|0;n[e>>1]=n[w>>1]|0;n[w>>1]=k;o=o+1|0;if((o|0)==(a|0))break;else e=e+(u<<1)|0}return}function gt(e){e=e|0;return}function yt(e){e=e|0;Iv(e);return}function Et(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;r=re(f[e+8>>2]|0,r)|0;e=f[e+4>>2]|0;if((uE[f[(f[e>>2]|0)+48>>2]&63](e,i,r)|0)==(r|0))return;n=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,n|0,3,35648);e=m;m=0;if(e&1){e=Ye()|0;Ue(n|0);$e(e|0)}else bi(n|0,824,96)}function At(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0;h=c;c=c+16|0;d=h;u=e+8|0;a=f[u>>2]|0;n=re(a,r)|0;do if(n){l=e+4|0;s=n;while(1){a=f[l>>2]|0;a=uE[f[(f[a>>2]|0)+32>>2]&63](a,i,s)|0;if(!a)break;n=s-a|0;if((s|0)==(a|0)){o=11;break}else s=n}if((o|0)==11){a=f[u>>2]|0;s=n;break}n=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,n|0,3,35648);e=m;m=0;if(e&1){e=Ye()|0;Ue(n|0);$e(e|0)}else bi(n|0,824,96)}else s=0;while(0)if((a|0)==2){vr(i,r<<1);a=f[u>>2]|0}n=f[e+12>>2]|0;if((n|0)<=(re(a,r)|0)){c=h;return}e=f[e+4>>2]|0;dE[f[(f[e>>2]|0)+16>>2]&15](d,e,n-s|0,0,1,24);c=h;return}function St(e){e=e|0;Iv(e);return}function Tt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=e+4|0;S_(f[t>>2]|0,i|0,re(f[e+8>>2]|0,r)|0)|0;f[t>>2]=(f[t>>2]|0)+(f[e+12>>2]|0);return}function Mt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=e+4|0;S_(i|0,f[t>>2]|0,re(f[e+8>>2]|0,r)|0)|0;f[t>>2]=(f[t>>2]|0)+(f[e+12>>2]|0);return}function Ct(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0;f[e+112>>2]=0;f[e+108>>2]=0;c=f[i>>2]|0;a=c;do if(c){l=e+92|0;c=e+96|0;o=f[c>>2]|0;u=f[l>>2]|0;r=u;n=o-r|0;if(n>>>0>=4e4)if(n>>>0>4e4?(s=u+4e4|0,(o|0)!=(s|0)):0){f[c>>2]=s;s=r}else s=r;else{Pt(l,4e4-n|0);s=f[l>>2]|0;a=f[i>>2]|0}r=e+116|0;f[r>>2]=s;o=e+124|0;f[o>>2]=s;u=e+104|0;f[u>>2]=a;n=a;if(a){if((f[n+12>>2]|0)==(f[n+16>>2]|0)){i=(lE[f[(f[a>>2]|0)+36>>2]&127](n)|0)==-1;n=f[o>>2]|0;if(i)break;a=f[r>>2]|0}else{n=s;a=s}l=n-a|0;if(l>>>0<=64){s=e+92|0;if((n|0)==(a|0))n=a;else{n=a;a=0;do{t[(f[s>>2]|0)+a>>0]=t[n+a>>0]|0;a=a+1|0;n=f[r>>2]|0}while(a>>>0<l>>>0)a=f[o>>2]|0}s=f[s>>2]|0;i=s;d=i-n|0;f[r>>2]=s;n=a+d|0;f[o>>2]=n;s=e+120|0;f[s>>2]=(f[s>>2]|0)+d;u=f[u>>2]|0;n=uE[f[(f[u>>2]|0)+32>>2]&63](u,n,(f[c>>2]|0)-(i+l)|0)|0;n=(f[o>>2]|0)+n|0;f[o>>2]=n}}else n=s}else{f[e+104>>2]=0;n=f[i+4>>2]|0;r=e+116|0;f[r>>2]=n;n=n+(f[i+8>>2]|0)|0;f[e+124>>2]=n}while(0)r=f[r>>2]|0;if(r>>>0>=n>>>0){c=r;d=e+120|0;f[d>>2]=c;Ut(e);return}while(1){if((t[r>>0]|0)==-1){n=20;break}r=r+1|0;if(r>>>0>=n>>>0){n=20;break}}if((n|0)==20){d=e+120|0;f[d>>2]=r;Ut(e);return}}function Pt(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;u=e+8|0;a=f[u>>2]|0;c=e+4|0;r=f[c>>2]|0;n=r;if((a-n|0)>>>0>=i>>>0){do{t[r>>0]=0;r=(f[c>>2]|0)+1|0;f[c>>2]=r;i=i+-1|0}while((i|0)!=0)return}r=f[e>>2]|0;s=n-r+i|0;if((s|0)<0){Rv(e);a=f[u>>2]|0;r=f[e>>2]|0}n=a-r|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0<s>>>0?s:n;r=(f[c>>2]|0)-r|0;if(!n){a=0;l=0;s=r}else o=8}else{n=2147483647;r=(f[c>>2]|0)-r|0;o=8}if((o|0)==8){a=n;l=Lv(n)|0;s=r}r=l+s|0;a=l+a|0;n=r;do{t[n>>0]=0;n=r+1|0;r=n;i=i+-1|0}while((i|0)!=0)i=f[e>>2]|0;n=(f[c>>2]|0)-i|0;o=l+(s-n)|0;S_(o|0,i|0,n|0)|0;f[e>>2]=o;f[c>>2]=r;f[u>>2]=a;if(!i)return;Iv(i);return}function xt(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0;g=c;c=c+32|0;E=g+12|0;v=g;w=e+180|0;_=(f[w>>2]|0)+4|0;if((f[e+32>>2]|0)==1)p=f[e+24>>2]|0;else p=1;i=re(p<<1,_)|0;f[E>>2]=0;A=E+4|0;f[A>>2]=0;f[E+8>>2]=0;do if(i){if(!((i|0)<0?(m=0,ue(178,E|0),y=m,m=0,y&1):0))l=6;if((l|0)==6?(r=i<<1,m=0,t=he(67,r|0)|0,y=m,m=0,!(y&1)):0){f[E>>2]=t;y=t+(i<<1)|0;f[E+8>>2]=y;y_(t|0,0,r|0)|0;f[A>>2]=y;break}t=Ye()|0;i=f[E>>2]|0;if(!i)$e(t|0);r=f[A>>2]|0;if((r|0)!=(i|0))f[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);$e(t|0)}while(0)f[v>>2]=0;y=v+4|0;f[y>>2]=0;f[v+8>>2]=0;do if(!p)l=18;else{if(!(p>>>0>1073741823?(m=0,ue(178,v|0),k=m,m=0,k&1):0))l=16;if((l|0)==16?(a=p<<2,m=0,s=he(67,a|0)|0,k=m,m=0,!(k&1)):0){f[v>>2]=s;l=s+(p<<2)|0;f[v+8>>2]=l;y_(s|0,0,a|0)|0;f[y>>2]=l;l=18;break}t=Ye()|0;i=f[v>>2]|0;r=i;if(i){a=f[y>>2]|0;if((a|0)!=(i|0))f[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}while(0)if((l|0)==18){s=e+12|0;e:do if((f[s>>2]|0)>0){l=e+4604|0;o=(re(p,_)|0)+1|0;u=e+4608|0;d=e+92|0;h=(p|0)>0;b=e+4600|0;k=0;i:while(1){r=f[E>>2]|0;i=r+2|0;f[l>>2]=i;r=r+(o<<1)|0;f[u>>2]=r;if(!(k&1))i=r;else{f[l>>2]=r;f[u>>2]=i}a=f[d>>2]|0;m=0;Pe(f[(f[a>>2]|0)+12>>2]|0,a|0,i|0,f[w>>2]|0,_|0);a=m;m=0;if(a&1){l=28;break}if(h){i=f[l>>2]|0;r=f[u>>2]|0;t=f[v>>2]|0;a=0;do{f[b>>2]=f[t+(a<<2)>>2];t=f[w>>2]|0;n[i+(t<<1)>>1]=n[i+(t+-1<<1)>>1]|0;n[r+-2>>1]=n[i>>1]|0;m=0;ce(68,e|0,0);t=m;m=0;if(t&1){l=27;break i}t=f[v>>2]|0;f[t+(a<<2)>>2]=f[b>>2];i=(f[l>>2]|0)+(_<<1)|0;f[l>>2]=i;r=(f[u>>2]|0)+(_<<1)|0;f[u>>2]=r;a=a+1|0}while((a|0)<(p|0))}k=k+1|0;if((k|0)>=(f[s>>2]|0)){l=40;break e}}if((l|0)==27){t=Ye()|0;break}else if((l|0)==28){t=Ye()|0;break}}else l=40;while(0)do if((l|0)==40){m=0;ue(182,e|0);e=m;m=0;if(e&1){t=Ye()|0;break}i=f[v>>2]|0;r=i;if(i){t=f[y>>2]|0;if((t|0)!=(i|0))f[y>>2]=t+(~((t+-4-r|0)>>>2)<<2);Iv(i)}i=f[E>>2]|0;if(!i){c=g;return}r=f[A>>2]|0;if((r|0)!=(i|0))f[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);c=g;return}while(0)i=f[v>>2]|0;r=i;if(i){a=f[y>>2]|0;if((a|0)!=(i|0))f[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}i=f[E>>2]|0;if(!i)$e(t|0);r=f[A>>2]|0;if((r|0)!=(i|0))f[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);$e(t|0)}function Dt(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;k=e+4604|0;i=f[k>>2]|0;_=e+180|0;if((f[_>>2]|0)<=0)return;w=e+4608|0;m=e+4612|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){h=f[w>>2]|0;d=s[h+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=f[m>>2]|0;u=i-o|0;l=o-d|0;c=((((t[c+(r-i)>>0]|0)*9|0)+(t[c+u>>0]|0)|0)*9|0)+(t[c+l>>0]|0)|0;if(!c){a=(Bt(e,b,0)|0)+b|0;r=f[k>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-d>>31;if((o^l|0)<0)l=i;else l=d+((o^u|0)<0?0:u)|0;h=It(e,c,s[h+(b<<1)>>1]|0,l,0)|0;n[(f[w>>2]|0)+(b<<1)>>1]=h}if((a|0)>=(f[_>>2]|0))break;l=f[k>>2]|0;o=i;i=r;b=a}return}function Rt(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0;a=e+104|0;if((f[a>>2]|0)>>>0<4)Ot(e);s=e+100|0;l=e+112|0;o=e+96|0;u=e+108|0;c=e+116|0;i=f[s>>2]|0;n=0;do{r=t[l>>0]|0;if((i|0)>31)break;i=f[o>>2]|0;if(!(r<<24>>24)){t[f[u>>2]>>0]=i>>>24;f[o>>2]=f[o>>2]<<8;i=(f[s>>2]|0)+8|0}else{t[f[u>>2]>>0]=i>>>25;f[o>>2]=f[o>>2]<<7;i=(f[s>>2]|0)+7|0}f[s>>2]=i;d=f[u>>2]|0;r=(t[d>>0]|0)==-1&1;t[l>>0]=r;f[u>>2]=d+1;f[a>>2]=(f[a>>2]|0)+-1;f[c>>2]=(f[c>>2]|0)+1;n=n+1|0}while((n|0)<4)if(!(r<<24>>24))Lt(e,0,(i|0)%8|0);else Lt(e,0,(i+-1|0)%8|0);if((f[a>>2]|0)>>>0<4)Ot(e);i=f[s>>2]|0;r=0;do{if((i|0)>31)break;i=f[o>>2]|0;if(!(t[l>>0]|0)){t[f[u>>2]>>0]=i>>>24;f[o>>2]=f[o>>2]<<8;i=(f[s>>2]|0)+8|0}else{t[f[u>>2]>>0]=i>>>25;f[o>>2]=f[o>>2]<<7;i=(f[s>>2]|0)+7|0}f[s>>2]=i;d=f[u>>2]|0;t[l>>0]=(t[d>>0]|0)==-1&1;f[u>>2]=d+1;f[a>>2]=(f[a>>2]|0)+-1;f[c>>2]=(f[c>>2]|0)+1;r=r+1|0}while((r|0)<4)if(!(f[e+132>>2]|0))return;Ot(e);return}function Ot(e){e=e|0;var i=0,r=0,n=0,a=0,s=0;i=f[e+132>>2]|0;if(!i){i=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,i|0,4,35648);e=m;m=0;if(!(e&1))bi(i|0,824,96);e=Ye()|0;Ue(i|0);$e(e|0)}r=e+108|0;n=e+120|0;s=f[n>>2]|0;a=(f[r>>2]|0)-s|0;if((uE[f[(f[i>>2]|0)+48>>2]&63](i,s,a)|0)==(a|0)){s=f[n>>2]|0;f[r>>2]=s;f[e+104>>2]=(f[e+124>>2]|0)-s;return}i=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,i|0,4,35648);s=m;m=0;if(!(s&1))bi(i|0,824,96);s=Ye()|0;Ue(i|0);$e(s|0)}function Lt(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;c=e+100|0;r=(f[c>>2]|0)-r|0;f[c>>2]=r;if((r|0)>-1){d=e+96|0;f[d>>2]=f[d>>2]|i<<r;return}d=e+96|0;f[d>>2]=f[d>>2]|i>>0-r;u=e+104|0;if((f[u>>2]|0)>>>0<4){Ot(e);r=f[c>>2]|0}s=e+112|0;l=e+108|0;o=e+116|0;n=0;while(1){if((r|0)>31)break;r=f[d>>2]|0;if(!(t[s>>0]|0)){t[f[l>>2]>>0]=r>>>24;f[d>>2]=f[d>>2]<<8;r=(f[c>>2]|0)+8|0}else{t[f[l>>2]>>0]=r>>>25;f[d>>2]=f[d>>2]<<7;r=(f[c>>2]|0)+7|0}f[c>>2]=r;h=f[l>>2]|0;t[s>>0]=(t[h>>0]|0)==-1&1;f[l>>2]=h+1;f[u>>2]=(f[u>>2]|0)+-1;f[o>>2]=(f[o>>2]|0)+1;n=n+1|0;if((n|0)>=4){a=11;break}}e:do if((a|0)==11)if((r|0)<0){f[d>>2]=f[d>>2]|i>>0-r;if((f[u>>2]|0)>>>0<4){Ot(e);r=f[c>>2]|0;n=0}else n=0;do{if((r|0)>31)break e;r=f[d>>2]|0;if(!(t[s>>0]|0)){t[f[l>>2]>>0]=r>>>24;f[d>>2]=f[d>>2]<<8;r=(f[c>>2]|0)+8|0}else{t[f[l>>2]>>0]=r>>>25;f[d>>2]=f[d>>2]<<7;r=(f[c>>2]|0)+7|0}f[c>>2]=r;h=f[l>>2]|0;t[s>>0]=(t[h>>0]|0)==-1&1;f[l>>2]=h+1;f[u>>2]=(f[u>>2]|0)+-1;f[o>>2]=(f[o>>2]|0)+1;n=n+1|0}while((n|0)<4)}while(0)f[d>>2]=f[d>>2]|i<<r;return}function It(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;m=i>>31;s=(m^i)-m|0;k=e+196+(s*12|0)+10|0;l=n[k>>1]|0;b=e+196+(s*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){i=5;while(1)if((l<<i|0)<(a|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;d=e+196+(s*12|0)+8|0;a=(n[d>>1]^m)-m+t|0;w=e+136|0;t=f[w>>2]|0;if((a&t|0)==(a|0))c=a;else c=t&~(a>>31);a=(r-c^m)-m|0;u=e+144|0;t=f[u>>2]|0;if((a|0)>0)a=(a+t|0)/(t<<1|1|0)|0;else a=(a-t|0)/(t<<1|1|0)|0;h=e+140|0;o=f[h>>2]|0;r=((a|0)<0?o:0)+a|0;o=r-((r|0)<((o+1|0)/2|0|0)?0:o)|0;s=e+196+(s*12|0)+4|0;if(!(t|i))a=(f[s>>2]<<1)+-1+l>>31;else a=0;t=a^o;jt(e,i,t>>30^t<<1,f[e+156>>2]|0);t=f[e+160>>2]|0;i=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;a=(f[s>>2]|0)+(re(f[u>>2]<<1|1,o)|0)|0;r=n[k>>1]|0;if((r|0)==(t|0)){i=i>>1;a=a>>1;r=t>>1}f[b>>2]=i;t=r+1|0;n[k>>1]=t;i=t+a|0;if((i|0)>=1){if((a|0)>0){a=a-t|0;k=n[d>>1]|0;n[d>>1]=(k<<16>>16<127&1)+(k&65535);a=(a|0)>0?0:a}}else{a=n[d>>1]|0;n[d>>1]=(a&65535)-(a<<16>>16>-128&1);a=(i|0)>(~r|0)?i:0-r|0}f[s>>2]=a;t=f[u>>2]|0;r=t<<1|1;i=(re(r,(o^m)-m|0)|0)+c|0;if((i|0)>=(0-t|0)){a=f[w>>2]|0;if((a+t|0)<(i|0))i=i-(re(f[h>>2]|0,r)|0)|0}else{i=(re(f[h>>2]|0,r)|0)+i|0;a=f[w>>2]|0}if((i&a|0)==(i|0)){m=i;m=m&65535;return m|0}m=a&~(i>>31);m=m&65535;return m|0}function Bt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,l=0,o=0,u=0,c=0,d=0,h=0;c=(f[e+180>>2]|0)-i|0;d=f[e+4608>>2]|0;h=f[e+4604>>2]|0;a=n[d+(i+-1<<1)>>1]|0;u=a&65535;r=f[e+144>>2]|0;l=0;while(1){t=d+(l+i<<1)|0;o=(s[t>>1]|0)-u|0;if((((o|0)>-1?o:0-o|0)|0)>(r|0))break;n[t>>1]=a;l=l+1|0;if((l|0)==(c|0)){l=c;break}}a=(l|0)==(c|0);o=e+4600|0;t=f[36476+(f[o>>2]<<2)>>2]|0;if((1<<t|0)>(l|0))r=l;else{r=l;do{Lt(e,1,1);t=f[o>>2]|0;r=r-(1<<f[36476+(t<<2)>>2])|0;t=(t|0)>30?31:t+1|0;f[o>>2]=t;t=f[36476+(t<<2)>>2]|0}while((r|0)>=(1<<t|0))}if(!a){Lt(e,r,t+1|0);c=l+i|0;i=d+(c<<1)|0;n[i>>1]=Nt(e,s[i>>1]|0,u,s[h+(c<<1)>>1]|0)|0;e=f[o>>2]|0;f[o>>2]=(e|0)<1?0:e+-1|0;e=l+1|0;return e|0}if(!r){e=c;return e|0}Lt(e,1,1);e=c;return e|0}function Nt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;l=r-t|0;o=e+136|0;s=e+144|0;n=f[s>>2]|0;if((((l|0)>-1?l:0-l|0)|0)>(n|0)){a=t-r>>31|1;i=re(a,i-t|0)|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=f[l>>2]|0;r=((i|0)<0?n:0)+i|0;n=r-((r|0)<((n+1|0)/2|0|0)?0:n)|0;Ft(e,e+4576|0,n);n=re(n,a)|0;a=f[s>>2]|0;s=a<<1|1;n=(re(n,s)|0)+t|0;if((n|0)>=(0-a|0)){i=f[o>>2]|0;if((i+a|0)<(n|0))n=n-(re(f[l>>2]|0,s)|0)|0}else{n=(re(f[l>>2]|0,s)|0)+n|0;i=f[o>>2]|0}if((n&i|0)==(n|0)){o=n;o=o&65535;return o|0}o=i&~(n>>31);o=o&65535;return o|0}else{i=i-r|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=f[l>>2]|0;a=((i|0)<0?n:0)+i|0;n=a-((a|0)<((n+1|0)/2|0|0)?0:n)|0;Ft(e,e+4588|0,n);a=f[s>>2]|0;s=a<<1|1;n=(re(s,n)|0)+r|0;if((n|0)>=(0-a|0)){i=f[o>>2]|0;if((i+a|0)<(n|0))n=n-(re(f[l>>2]|0,s)|0)|0}else{n=(re(f[l>>2]|0,s)|0)+n|0;i=f[o>>2]|0}if((n&i|0)==(n|0)){o=n;o=o&65535;return o|0}o=i&~(n>>31);o=o&65535;return o|0}return 0}function Ft(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;h=i+9|0;o=a[h>>0]|0;d=i+4|0;c=f[d>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0))s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0<o>>>0:0)n=1;else u=5;do if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}while(0)n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;jt(e,s,n,(f[e+156>>2]|0)+-1-(f[36476+(f[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[d>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[h>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[h>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}function jt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0;n=r>>i;a=e+148|0;s=t-(f[a>>2]|0)|0;if((n|0)<(s+-1|0)){if((n|0)>30){t=(n|0)/2|0;Lt(e,0,t);n=n-t|0}Lt(e,1,n+1|0);Lt(e,(1<<i)+-1&r,i);return}if((s|0)>31){Lt(e,0,31);Lt(e,1,t+-31-(f[a>>2]|0)|0)}else Lt(e,1,s);i=f[a>>2]|0;Lt(e,(1<<i)+-1&r+-1,i);return}function Ut(e){e=e|0;var i=0,r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;u=e+116|0;i=f[u>>2]|0;c=e+120|0;if(i>>>0<((f[c>>2]|0)+-3|0)>>>0){c=e+112|0;o=f[c>>2]|0;e=e+108|0;f[e>>2]=(a[i+1>>0]<<16|a[i>>0]<<24|a[i+2>>0]<<8|a[i+3>>0])>>>o|f[e>>2];e=32-o>>3;f[u>>2]=i+e;f[c>>2]=(e<<3)+o;return}o=e+104|0;r=f[o>>2]|0;do if(r){if((f[r+12>>2]|0)==(f[r+16>>2]|0)){if((lE[f[(f[r>>2]|0)+36>>2]&127](r)|0)==-1)break;i=f[u>>2]|0}s=e+124|0;r=f[s>>2]|0;l=r-i|0;if(l>>>0<=64){n=e+92|0;if((r|0)==(i|0))r=i;else{r=0;do{t[(f[n>>2]|0)+r>>0]=t[i+r>>0]|0;r=r+1|0;i=f[u>>2]|0}while(r>>>0<l>>>0)r=i;i=f[s>>2]|0}h=f[n>>2]|0;n=h;d=n-r|0;f[u>>2]=h;r=i+d|0;f[s>>2]=r;f[c>>2]=(f[c>>2]|0)+d;o=f[o>>2]|0;o=uE[f[(f[o>>2]|0)+32>>2]&63](o,r,(f[e+96>>2]|0)-(n+l)|0)|0;f[s>>2]=(f[s>>2]|0)+o}}while(0)o=e+112|0;l=e+108|0;e=f[e+124>>2]|0;s=e+-1|0;i=f[u>>2]|0;while(1){if(i>>>0>=e>>>0){r=14;break}n=t[i>>0]|0;r=n&255;n=n<<24>>24==-1;if(n){if((i|0)==(s|0)){r=25;break}i=i+1|0;if((t[i>>0]|0)<0){r=25;break}}else i=i+1|0;h=f[o>>2]|0;f[l>>2]=r<<24-h|f[l>>2];f[u>>2]=i;h=h+(n?7:8)|0;f[o>>2]=h;if((h|0)>=24){r=33;break}}if((r|0)==14){if((f[o>>2]|0)>=1)return;i=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,i|0,5,35648);h=m;m=0;if(!(h&1))bi(i|0,824,96);h=Ye()|0;Ue(i|0);$e(h|0)}else if((r|0)==25){if((f[o>>2]|0)>=1)return;i=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,i|0,5,35648);h=m;m=0;if(!(h&1))bi(i|0,824,96);h=Ye()|0;Ue(i|0);$e(h|0)}else if((r|0)==33){e:do if(i>>>0<e>>>0)do{if((t[i>>0]|0)==-1)break e;i=i+1|0}while(i>>>0<e>>>0)while(0)f[c>>2]=i;return}}function Ht(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+144|0;e:do if(!(f[b>>2]|0)){r=f[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<<f[i>>2])+-1|0)?(ov(n,r,0),(f[n+4>>2]|0)==(f[e+184>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+188>>2]|0):0)?(f[n+12>>2]|0)==(f[e+192>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4612>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4612>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4612>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4612>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+152|0;while(0)h=1<<f[i>>2];r=e+4616|0;n=h<<1;a=e+4620|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0<l>>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{Yt(r,n-l|0);i=f[r>>2]|0}d=e+4612|0;f[d>>2]=i+h;i=0-h|0;if((h|0)<=(i|0)){c=k;return}o=e+192|0;u=e+188|0;l=e+184|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[d>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(h|0))c=k;return}function Yt(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;u=e+8|0;a=f[u>>2]|0;c=e+4|0;r=f[c>>2]|0;n=r;if((a-n|0)>>>0>=i>>>0){do{t[r>>0]=0;r=(f[c>>2]|0)+1|0;f[c>>2]=r;i=i+-1|0}while((i|0)!=0)return}r=f[e>>2]|0;s=n-r+i|0;if((s|0)<0){Rv(e);a=f[u>>2]|0;r=f[e>>2]|0}n=a-r|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0<s>>>0?s:n;r=(f[c>>2]|0)-r|0;if(!n){a=0;l=0;s=r}else o=8}else{n=2147483647;r=(f[c>>2]|0)-r|0;o=8}if((o|0)==8){a=n;l=Lv(n)|0;s=r}r=l+s|0;a=l+a|0;n=r;do{t[n>>0]=0;n=r+1|0;r=n;i=i+-1|0}while((i|0)!=0)i=f[e>>2]|0;n=(f[c>>2]|0)-i|0;o=l+(s-n)|0;S_(o|0,i|0,n|0)|0;f[e>>2]=o;f[c>>2]=r;f[u>>2]=a;if(!i)return;Iv(i);return}function qt(e){e=e|0;var i=0,r=0;f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function zt(e){e=e|0;var i=0,r=0;f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function Xt(e){e=e|0;var i=0,r=0;f[e>>2]=36052;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function Gt(e){e=e|0;var i=0,r=0;f[e>>2]=36052;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function Vt(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,d=0;o=c;c=c+32|0;d=o;ov(d,f[e+136>>2]|0,f[e+144>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[d+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[d+12>>2]|0:s;r=f[i+16>>2]|0;a=f[d+16>>2]|0;f[e+184>>2]=(u|0)==0?f[d+4>>2]|0:u;f[e+188>>2]=l;f[e+192>>2]=s;nn(e);s=e+140|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+196+(l*12|0)>>2]=i;f[e+196+(l*12|0)+4>>2]=0;n[e+196+(l*12|0)+8>>1]=0;n[e+196+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365)u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;d=((r|0)==0?a:r)&255;f[e+4576>>2]=u;f[e+4580>>2]=0;t[e+4584>>0]=d;t[e+4585>>0]=1;t[e+4586>>0]=0;f[e+4588>>2]=u;f[e+4592>>2]=1;t[e+4596>>0]=d;t[e+4597>>0]=1;t[e+4598>>0]=0;f[e+4600>>2]=0;c=o;return}function Kt(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0;b=c;c=c+16|0;d=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);f[d>>2]=0;f[d+4>>2]=a;u=r+8|0;f[d+8>>2]=f[u>>2];if(a){i=Lv(4624)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0))s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0))f[i>>2]=35828;f[i+128>>2]=f[e+136>>2];f[i+132>>2]=f[e+140>>2];f[i+136>>2]=f[e+144>>2];f[i+140>>2]=f[e+148>>2];f[i+144>>2]=f[e+152>>2];f[i+148>>2]=f[e+156>>2];f[i+152>>2]=f[e+160>>2];s=i+156|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+172>>2]=f[a>>2];f[i+176>>2]=0;f[i+180>>2]=0;f[i+184>>2]=0;s=i+4568|0;a=i+188|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0))l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4580|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4592|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fE[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,d)}d=e+100|0;f[d>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];Jt(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(h=i+4e3|0,(a|0)!=(h|0)):0){f[u>>2]=h;a=h}}else{Pt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;Jt(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}function Wt(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){_=e+8|0;v=e+36|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(37,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+16>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(38,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(39,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(40,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+20>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=6;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=6;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function Jt(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0;v=c;c=c+32|0;y=v+12|0;p=v;k=e+180|0;w=(f[k>>2]|0)+4|0;if((f[e+32>>2]|0)==1)_=f[e+24>>2]|0;else _=1;i=re(_<<1,w)|0;f[y>>2]=0;E=y+4|0;f[E>>2]=0;f[y+8>>2]=0;do if(i){if(!(i>>>0>715827882?(m=0,ue(178,y|0),g=m,m=0,g&1):0))l=6;if((l|0)==6?(m=0,r=he(67,i*6|0)|0,g=m,m=0,!(g&1)):0){f[E>>2]=r;f[y>>2]=r;t=r+(i*6|0)|0;f[y+8>>2]=t;while(1){n[r>>1]=0;n[r+2>>1]=0;n[r+4>>1]=0;i=i+-1|0;if(!i)break;else r=r+6|0}f[E>>2]=t;break}t=Ye()|0;i=f[y>>2]|0;if(!i)$e(t|0);r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Iv(i);$e(t|0)}while(0)f[p>>2]=0;g=p+4|0;f[g>>2]=0;f[p+8>>2]=0;do if(!_)l=20;else{if(!(_>>>0>1073741823?(m=0,ue(178,p|0),b=m,m=0,b&1):0))l=18;if((l|0)==18?(a=_<<2,m=0,s=he(67,a|0)|0,b=m,m=0,!(b&1)):0){f[p>>2]=s;l=s+(_<<2)|0;f[p+8>>2]=l;y_(s|0,0,a|0)|0;f[g>>2]=l;l=20;break}t=Ye()|0;i=f[p>>2]|0;r=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}while(0)if((l|0)==20){a=e+12|0;e:do if((f[a>>2]|0)>0){s=e+4604|0;l=(re(_,w)|0)+1|0;o=e+4608|0;u=e+92|0;d=(_|0)>0;h=e+4600|0;b=0;i:while(1){r=f[y>>2]|0;i=r+6|0;f[s>>2]=i;r=r+(l*6|0)|0;f[o>>2]=r;if(!(b&1))i=r;else{f[s>>2]=r;f[o>>2]=i}t=f[u>>2]|0;m=0;Pe(f[(f[t>>2]|0)+12>>2]|0,t|0,i|0,f[k>>2]|0,w|0);t=m;m=0;if(t&1){l=30;break}if(d){i=f[p>>2]|0;r=f[s>>2]|0;t=0;do{f[h>>2]=f[i+(t<<2)>>2];A=f[k>>2]|0;i=r+(A*6|0)|0;r=r+((A+-1|0)*6|0)|0;n[i>>1]=n[r>>1]|0;n[i+2>>1]=n[r+2>>1]|0;n[i+4>>1]=n[r+4>>1]|0;r=(f[o>>2]|0)+-6|0;i=f[s>>2]|0;n[r>>1]=n[i>>1]|0;n[r+2>>1]=n[i+2>>1]|0;n[r+4>>1]=n[i+4>>1]|0;m=0;ce(69,e|0,0);r=m;m=0;if(r&1){l=29;break i}i=f[p>>2]|0;f[i+(t<<2)>>2]=f[h>>2];r=(f[s>>2]|0)+(w*6|0)|0;f[s>>2]=r;f[o>>2]=(f[o>>2]|0)+(w*6|0);t=t+1|0}while((t|0)<(_|0))}b=b+1|0;if((b|0)>=(f[a>>2]|0)){l=42;break e}}if((l|0)==29){t=Ye()|0;break}else if((l|0)==30){t=Ye()|0;break}}else l=42;while(0)do if((l|0)==42){m=0;ue(182,e|0);A=m;m=0;if(A&1){t=Ye()|0;break}i=f[p>>2]|0;r=i;if(i){t=f[g>>2]|0;if((t|0)!=(i|0))f[g>>2]=t+(~((t+-4-r|0)>>>2)<<2);Iv(i)}i=f[y>>2]|0;if(!i){c=v;return}r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Iv(i);c=v;return}while(0)i=f[p>>2]|0;r=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}i=f[y>>2]|0;if(!i)$e(t|0);r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Iv(i);$e(t|0)}function Qt(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0;M=e+180|0;if((f[M>>2]|0)<=0)return;C=e+4608|0;P=e+4604|0;x=e+4612|0;T=0;while(1){E=T+-1|0;o=f[C>>2]|0;u=f[P>>2]|0;i=T+1|0;l=s[u+(T*6|0)>>1]|0;S=f[x>>2]|0;c=s[u+(E*6|0)>>1]|0;d=l-c|0;h=s[o+(E*6|0)>>1]|0;b=c-h|0;k=((((t[S+((s[u+(i*6|0)>>1]|0)-l)>>0]|0)*9|0)+(t[S+d>>0]|0)|0)*9|0)+(t[S+b>>0]|0)|0;a=s[u+(T*6|0)+2>>1]|0;w=s[u+(E*6|0)+2>>1]|0;m=a-w|0
12
+ ;_=s[o+(E*6|0)+2>>1]|0;p=w-_|0;v=((((t[S+((s[u+(i*6|0)+2>>1]|0)-a)>>0]|0)*9|0)+(t[S+m>>0]|0)|0)*9|0)+(t[S+p>>0]|0)|0;r=s[u+(T*6|0)+4>>1]|0;g=s[u+(E*6|0)+4>>1]|0;y=r-g|0;E=s[o+(E*6|0)+4>>1]|0;A=g-E|0;S=((((t[S+((s[u+(i*6|0)+4>>1]|0)-r)>>0]|0)*9|0)+(t[S+y>>0]|0)|0)*9|0)+(t[S+A>>0]|0)|0;if(!(v|k|S))i=(Zt(e,T,0)|0)+T|0;else{u=s[o+(T*6|0)>>1]|0;o=l-h>>31;if((o^b|0)>=0)if((o^d|0)<0)l=h;else l=h-c+l|0;u=$t(e,k,u,l,0)|0;o=s[(f[C>>2]|0)+(T*6|0)+2>>1]|0;l=a-_>>31;if((l^p|0)>=0)if((l^m|0)<0)a=_;else a=_-w+a|0;l=$t(e,v,o,a,0)|0;o=s[(f[C>>2]|0)+(T*6|0)+4>>1]|0;a=r-E>>31;if((a^A|0)>=0)if((a^y|0)<0)r=E;else r=E-g+r|0;A=$t(e,S,o,r,0)|0;S=f[C>>2]|0;n[S+(T*6|0)>>1]=u;n[S+(T*6|0)+2>>1]=l;n[S+(T*6|0)+4>>1]=A}if((i|0)<(f[M>>2]|0))T=i;else break}return}function Zt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0;M=c;c=c+48|0;m=M+30|0;w=M+24|0;k=M+18|0;_=M+12|0;E=M+6|0;A=M;S=(f[e+180>>2]|0)-i|0;T=f[e+4608>>2]|0;p=f[e+4604>>2]|0;y=i+-1|0;v=n[T+(y*6|0)>>1]|0;g=n[T+(y*6|0)+2>>1]|0;y=n[T+(y*6|0)+4>>1]|0;r=v&65535;t=e+144|0;a=g&65535;l=y&65535;b=0;while(1){d=b+i|0;o=T+(d*6|0)|0;u=T+(d*6|0)+2|0;d=T+(d*6|0)+4|0;C=(s[o>>1]|0)-r|0;h=f[t>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(h|0))break;C=(s[u>>1]|0)-a|0;if((((C|0)>-1?C:0-C|0)|0)>(h|0))break;C=(s[d>>1]|0)-l|0;if((((C|0)>-1?C:0-C|0)|0)>(h|0))break;n[o>>1]=v;n[u>>1]=g;n[d>>1]=y;b=b+1|0;if((b|0)==(S|0)){b=S;break}}a=(b|0)==(S|0);l=e+4600|0;t=f[36476+(f[l>>2]<<2)>>2]|0;if((1<<t|0)>(b|0))r=b;else{r=b;do{Lt(e,1,1);t=f[l>>2]|0;r=r-(1<<f[36476+(t<<2)>>2])|0;t=(t|0)>30?31:t+1|0;f[l>>2]=t;t=f[36476+(t<<2)>>2]|0}while((r|0)>=(1<<t|0))}if(!a){Lt(e,r,t+1|0);i=b+i|0;C=T+(i*6|0)|0;n[E>>1]=n[C>>1]|0;n[E+2>>1]=n[C+2>>1]|0;n[E+4>>1]=n[C+4>>1]|0;n[A>>1]=v;n[A+2>>1]=g;n[A+4>>1]=y;i=p+(i*6|0)|0;n[k>>1]=n[E>>1]|0;n[k+2>>1]=n[E+2>>1]|0;n[k+4>>1]=n[E+4>>1]|0;n[w>>1]=n[A>>1]|0;n[w+2>>1]=n[A+2>>1]|0;n[w+4>>1]=n[A+4>>1]|0;n[m>>1]=n[i>>1]|0;n[m+2>>1]=n[i+2>>1]|0;n[m+4>>1]=n[i+4>>1]|0;rn(_,e,k,w,m);n[C>>1]=n[_>>1]|0;n[C+2>>1]=n[_+2>>1]|0;n[C+4>>1]=n[_+4>>1]|0;C=f[l>>2]|0;f[l>>2]=(C|0)<1?0:C+-1|0;C=b+1|0;c=M;return C|0}if(!r){C=S;c=M;return C|0}Lt(e,1,1);C=S;c=M;return C|0}function $t(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;m=i>>31;s=(m^i)-m|0;k=e+196+(s*12|0)+10|0;l=n[k>>1]|0;b=e+196+(s*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){i=5;while(1)if((l<<i|0)<(a|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;d=e+196+(s*12|0)+8|0;a=(n[d>>1]^m)-m+t|0;w=e+136|0;t=f[w>>2]|0;if((a&t|0)==(a|0))c=a;else c=t&~(a>>31);a=(r-c^m)-m|0;u=e+144|0;t=f[u>>2]|0;if((a|0)>0)a=(a+t|0)/(t<<1|1|0)|0;else a=(a-t|0)/(t<<1|1|0)|0;h=e+140|0;o=f[h>>2]|0;r=((a|0)<0?o:0)+a|0;o=r-((r|0)<((o+1|0)/2|0|0)?0:o)|0;s=e+196+(s*12|0)+4|0;if(!(t|i))a=(f[s>>2]<<1)+-1+l>>31;else a=0;t=a^o;en(e,i,t>>30^t<<1,f[e+156>>2]|0);t=f[e+160>>2]|0;i=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;a=(f[s>>2]|0)+(re(f[u>>2]<<1|1,o)|0)|0;r=n[k>>1]|0;if((r|0)==(t|0)){i=i>>1;a=a>>1;r=t>>1}f[b>>2]=i;t=r+1|0;n[k>>1]=t;i=t+a|0;if((i|0)>=1){if((a|0)>0){a=a-t|0;k=n[d>>1]|0;n[d>>1]=(k<<16>>16<127&1)+(k&65535);a=(a|0)>0?0:a}}else{a=n[d>>1]|0;n[d>>1]=(a&65535)-(a<<16>>16>-128&1);a=(i|0)>(~r|0)?i:0-r|0}f[s>>2]=a;t=f[u>>2]|0;r=t<<1|1;i=(re(r,(o^m)-m|0)|0)+c|0;if((i|0)>=(0-t|0)){a=f[w>>2]|0;if((a+t|0)<(i|0))i=i-(re(f[h>>2]|0,r)|0)|0}else{i=(re(f[h>>2]|0,r)|0)+i|0;a=f[w>>2]|0}if((i&a|0)==(i|0)){m=i;m=m&65535;return m|0}m=a&~(i>>31);m=m&65535;return m|0}function en(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0;n=r>>i;a=e+148|0;s=t-(f[a>>2]|0)|0;if((n|0)<(s+-1|0)){if((n|0)>30){t=(n|0)/2|0;Lt(e,0,t);n=n-t|0}Lt(e,1,n+1|0);Lt(e,(1<<i)+-1&r,i);return}if((s|0)>31){Lt(e,0,31);Lt(e,1,t+-31-(f[a>>2]|0)|0)}else Lt(e,1,s);i=f[a>>2]|0;Lt(e,(1<<i)+-1&r+-1,i);return}function rn(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0;m=i+136|0;b=s[a>>1]|0;k=b-(s[t>>1]|0)>>31|1;l=re(k,(s[r>>1]|0)-b|0)|0;d=i+144|0;o=f[d>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;y=i+140|0;c=f[y>>2]|0;u=((l|0)<0?c:0)+l|0;c=u-((u|0)<((c+1|0)/2|0|0)?0:c)|0;u=i+4576|0;tn(i,u,c);p=s[a+2>>1]|0;v=p-(s[t+2>>1]|0)>>31|1;l=re(v,(s[r+2>>1]|0)-p|0)|0;o=f[d>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;w=f[y>>2]|0;g=((l|0)<0?w:0)+l|0;w=g-((g|0)<((w+1|0)/2|0|0)?0:w)|0;tn(i,u,w);g=s[a+4>>1]|0;_=g-(s[t+4>>1]|0)>>31|1;l=re(_,(s[r+4>>1]|0)-g|0)|0;o=f[d>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;h=f[y>>2]|0;l=((l|0)<0?h:0)+l|0;h=l-((l|0)<((h+1|0)/2|0|0)?0:h)|0;tn(i,u,h);u=f[d>>2]|0;d=u<<1|1;l=(re(re(d,c)|0,k)|0)+b|0;r=0-u|0;if((l|0)>=(r|0)){o=f[m>>2]|0;if((o+u|0)<(l|0)){l=l-(re(f[y>>2]|0,d)|0)|0;t=o}else t=o}else{l=(re(f[y>>2]|0,d)|0)+l|0;t=f[m>>2]|0}if((l&t|0)!=(l|0))l=t&~(l>>31);a=l&65535;l=(re(re(d,w)|0,v)|0)+p|0;if((l|0)>=(r|0)){if((t+u|0)<(l|0))l=l-(re(f[y>>2]|0,d)|0)|0}else l=(re(f[y>>2]|0,d)|0)+l|0;if((l&t|0)!=(l|0))l=t&~(l>>31);o=l&65535;l=(re(re(d,h)|0,_)|0)+g|0;if((l|0)>=(r|0)){if((t+u|0)<(l|0))l=l-(re(f[y>>2]|0,d)|0)|0}else l=(re(f[y>>2]|0,d)|0)+l|0;if((l&t|0)==(l|0)){y=l;y=y&65535;n[e>>1]=a;g=e+2|0;n[g>>1]=o;e=e+4|0;n[e>>1]=y;return}y=t&~(l>>31);y=y&65535;n[e>>1]=a;g=e+2|0;n[g>>1]=o;e=e+4|0;n[e>>1]=y;return}function tn(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;h=i+9|0;o=a[h>>0]|0;d=i+4|0;c=f[d>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0))s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0<o>>>0:0)n=1;else u=5;do if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}while(0)n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;en(e,s,n,(f[e+156>>2]|0)+-1-(f[36476+(f[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[d>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[h>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[h>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}function nn(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+144|0;e:do if(!(f[b>>2]|0)){r=f[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<<f[i>>2])+-1|0)?(ov(n,r,0),(f[n+4>>2]|0)==(f[e+184>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+188>>2]|0):0)?(f[n+12>>2]|0)==(f[e+192>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4612>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4612>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4612>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4612>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+152|0;while(0)h=1<<f[i>>2];r=e+4616|0;n=h<<1;a=e+4620|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0<l>>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{Yt(r,n-l|0);i=f[r>>2]|0}d=e+4612|0;f[d>>2]=i+h;i=0-h|0;if((h|0)<=(i|0)){c=k;return}o=e+192|0;u=e+188|0;l=e+184|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[d>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(h|0))c=k;return}function fn(e){e=e|0;var i=0,r=0;f[e>>2]=36024;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function an(e){e=e|0;var i=0,r=0;f[e>>2]=36024;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function sn(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,d=0;o=c;c=c+32|0;d=o;ov(d,f[e+136>>2]|0,f[e+144>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[d+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[d+12>>2]|0:s;r=f[i+16>>2]|0;a=f[d+16>>2]|0;f[e+184>>2]=(u|0)==0?f[d+4>>2]|0:u;f[e+188>>2]=l;f[e+192>>2]=s;Wn(e);s=e+140|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+196+(l*12|0)>>2]=i;f[e+196+(l*12|0)+4>>2]=0;n[e+196+(l*12|0)+8>>1]=0;n[e+196+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365)u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;d=((r|0)==0?a:r)&255;f[e+4576>>2]=u;f[e+4580>>2]=0;t[e+4584>>0]=d;t[e+4585>>0]=1;t[e+4586>>0]=0;f[e+4588>>2]=u;f[e+4592>>2]=1;t[e+4596>>0]=d;t[e+4597>>0]=1;t[e+4598>>0]=0;f[e+4600>>2]=0;c=o;return}function ln(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0;b=c;c=c+16|0;d=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);f[d>>2]=0;f[d+4>>2]=a;u=r+8|0;f[d+8>>2]=f[u>>2];if(a){i=Lv(4624)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0))s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0))f[i>>2]=35800;f[i+128>>2]=f[e+136>>2];f[i+132>>2]=f[e+140>>2];f[i+136>>2]=f[e+144>>2];f[i+140>>2]=f[e+148>>2];f[i+144>>2]=f[e+152>>2];f[i+148>>2]=f[e+156>>2];f[i+152>>2]=f[e+160>>2];s=i+156|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+172>>2]=f[a>>2];f[i+176>>2]=0;f[i+180>>2]=0;f[i+184>>2]=0;s=i+4568|0;a=i+188|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0))l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4580|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4592|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fE[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,d)}d=e+100|0;f[d>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];Yn(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(h=i+4e3|0,(a|0)!=(h|0)):0){f[u>>2]=h;a=h}}else{Pt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;Yn(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}function on(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){_=e+8|0;v=e+36|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(44,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+16>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(45,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(46,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(47,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+20>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=3;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=3;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function un(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;f[e>>2]=36712;f[e+4>>2]=r;d=e+8|0;n=f[r>>2]|0;u=r+16|0;l=f[u>>2]|0;s=re(l,n)|0;f[d>>2]=0;h=e+12|0;f[h>>2]=0;f[e+16>>2]=0;do if(!s)s=l;else{if(!((s|0)<0?(m=0,ue(178,d|0),l=m,m=0,l&1):0))c=4;if((c|0)==4?(m=0,o=he(67,s|0)|0,l=m,m=0,!(l&1)):0){f[h>>2]=o;f[d>>2]=o;f[e+16>>2]=o+s;n=o;do{t[n>>0]=0;n=(f[h>>2]|0)+1|0;f[h>>2]=n;s=s+-1|0}while((s|0)!=0)s=f[u>>2]|0;n=f[r>>2]|0;break}n=Ye()|0;a=f[d>>2]|0;if(a){if((f[h>>2]|0)!=(a|0))f[h>>2]=a;Iv(a)}h=n;$e(h|0)}while(0)l=e+20|0;n=re(s,n)|0;f[l>>2]=0;s=e+24|0;f[s>>2]=0;f[e+28>>2]=0;if(!n){h=e+36|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(m=0,ue(178,l|0),r=m,m=0,r&1):0))c=15;if((c|0)==15?(m=0,a=he(67,n|0)|0,c=m,m=0,!(c&1)):0){f[s>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[s>>2]|0)+1|0;f[s>>2]=a;n=n+-1|0}while((n|0)!=0)h=e+36|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];return}n=Ye()|0;a=f[l>>2]|0;if(a){if((f[s>>2]|0)!=(a|0))f[s>>2]=a;Iv(a)}a=f[d>>2]|0;if(!a){h=n;$e(h|0)}if((f[h>>2]|0)!=(a|0))f[h>>2]=a;Iv(a);h=n;$e(h|0)}function cn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;f[e>>2]=36688;f[e+4>>2]=r;d=e+8|0;n=f[r>>2]|0;u=r+16|0;l=f[u>>2]|0;s=re(l,n)|0;f[d>>2]=0;h=e+12|0;f[h>>2]=0;f[e+16>>2]=0;do if(!s)s=l;else{if(!((s|0)<0?(m=0,ue(178,d|0),l=m,m=0,l&1):0))c=4;if((c|0)==4?(m=0,o=he(67,s|0)|0,l=m,m=0,!(l&1)):0){f[h>>2]=o;f[d>>2]=o;f[e+16>>2]=o+s;n=o;do{t[n>>0]=0;n=(f[h>>2]|0)+1|0;f[h>>2]=n;s=s+-1|0}while((s|0)!=0)s=f[u>>2]|0;n=f[r>>2]|0;break}n=Ye()|0;a=f[d>>2]|0;if(a){if((f[h>>2]|0)!=(a|0))f[h>>2]=a;Iv(a)}h=n;$e(h|0)}while(0)l=e+20|0;n=re(s,n)|0;f[l>>2]=0;s=e+24|0;f[s>>2]=0;f[e+28>>2]=0;if(!n){h=e+36|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(m=0,ue(178,l|0),r=m,m=0,r&1):0))c=15;if((c|0)==15?(m=0,a=he(67,n|0)|0,c=m,m=0,!(c&1)):0){f[s>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[s>>2]|0)+1|0;f[s>>2]=a;n=n+-1|0}while((n|0)!=0)h=e+36|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];return}n=Ye()|0;a=f[l>>2]|0;if(a){if((f[s>>2]|0)!=(a|0))f[s>>2]=a;Iv(a)}a=f[d>>2]|0;if(!a){h=n;$e(h|0)}if((f[h>>2]|0)!=(a|0))f[h>>2]=a;Iv(a);h=n;$e(h|0)}function dn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;f[e>>2]=36664;f[e+4>>2]=r;d=e+8|0;n=f[r>>2]|0;u=r+16|0;l=f[u>>2]|0;s=re(l,n)|0;f[d>>2]=0;h=e+12|0;f[h>>2]=0;f[e+16>>2]=0;do if(!s)s=l;else{if(!((s|0)<0?(m=0,ue(178,d|0),l=m,m=0,l&1):0))c=4;if((c|0)==4?(m=0,o=he(67,s|0)|0,l=m,m=0,!(l&1)):0){f[h>>2]=o;f[d>>2]=o;f[e+16>>2]=o+s;n=o;do{t[n>>0]=0;n=(f[h>>2]|0)+1|0;f[h>>2]=n;s=s+-1|0}while((s|0)!=0)s=f[u>>2]|0;n=f[r>>2]|0;break}n=Ye()|0;a=f[d>>2]|0;if(a){if((f[h>>2]|0)!=(a|0))f[h>>2]=a;Iv(a)}h=n;$e(h|0)}while(0)l=e+20|0;n=re(s,n)|0;f[l>>2]=0;s=e+24|0;f[s>>2]=0;f[e+28>>2]=0;if(!n){h=e+36|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(m=0,ue(178,l|0),r=m,m=0,r&1):0))c=15;if((c|0)==15?(m=0,a=he(67,n|0)|0,c=m,m=0,!(c&1)):0){f[s>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[s>>2]|0)+1|0;f[s>>2]=a;n=n+-1|0}while((n|0)!=0)h=e+36|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];return}n=Ye()|0;a=f[l>>2]|0;if(a){if((f[s>>2]|0)!=(a|0))f[s>>2]=a;Iv(a)}a=f[d>>2]|0;if(!a){h=n;$e(h|0)}if((f[h>>2]|0)!=(a|0))f[h>>2]=a;Iv(a);h=n;$e(h|0)}function hn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;f[e>>2]=36640;f[e+4>>2]=r;d=e+8|0;n=f[r>>2]|0;u=r+16|0;l=f[u>>2]|0;s=re(l,n)|0;f[d>>2]=0;h=e+12|0;f[h>>2]=0;f[e+16>>2]=0;do if(!s)s=l;else{if(!((s|0)<0?(m=0,ue(178,d|0),l=m,m=0,l&1):0))c=4;if((c|0)==4?(m=0,o=he(67,s|0)|0,l=m,m=0,!(l&1)):0){f[h>>2]=o;f[d>>2]=o;f[e+16>>2]=o+s;n=o;do{t[n>>0]=0;n=(f[h>>2]|0)+1|0;f[h>>2]=n;s=s+-1|0}while((s|0)!=0)s=f[u>>2]|0;n=f[r>>2]|0;break}n=Ye()|0;a=f[d>>2]|0;if(a){if((f[h>>2]|0)!=(a|0))f[h>>2]=a;Iv(a)}h=n;$e(h|0)}while(0)l=e+20|0;n=re(s,n)|0;f[l>>2]=0;s=e+24|0;f[s>>2]=0;f[e+28>>2]=0;if(!n){h=e+36|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];return}if(!((n|0)<0?(m=0,ue(178,l|0),r=m,m=0,r&1):0))c=15;if((c|0)==15?(m=0,a=he(67,n|0)|0,c=m,m=0,!(c&1)):0){f[s>>2]=a;f[l>>2]=a;f[e+28>>2]=a+n;do{t[a>>0]=0;a=(f[s>>2]|0)+1|0;f[s>>2]=a;n=n+-1|0}while((n|0)!=0)h=e+36|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];return}n=Ye()|0;a=f[l>>2]|0;if(a){if((f[s>>2]|0)!=(a|0))f[s>>2]=a;Iv(a)}a=f[d>>2]|0;if(!a){h=n;$e(h|0)}if((f[h>>2]|0)!=(a|0))f[h>>2]=a;Iv(a);h=n;$e(h|0)}function bn(e){e=e|0;var i=0,r=0;f[e>>2]=36640;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=f[e+8>>2]|0;if(!r)return;i=e+12|0;if((f[i>>2]|0)!=(r|0))f[i>>2]=r;Iv(r);return}function kn(e){e=e|0;var i=0,r=0;f[e>>2]=36640;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}i=f[e+8>>2]|0;if(!i){Iv(e);return}r=e+12|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i);Iv(e);return}function wn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0;a=e+36|0;if(!(f[a>>2]|0)){a=e+40|0;vn(e,i,f[a>>2]|0,r,n);f[a>>2]=(f[a>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}s=re(f[(f[e+4>>2]|0)+16>>2]|0,r)|0;l=e+20|0;vn(e,i,f[l>>2]|0,r,n);e=f[a>>2]|0;if((uE[f[(f[e>>2]|0)+48>>2]&63](e,f[l>>2]|0,s)|0)==(s|0))return;a=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,a|0,3,35648);l=m;m=0;if(l&1){l=Ye()|0;Ue(a|0);$e(l|0)}else bi(a|0,824,96)}function mn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;_n(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{pn(e,n,i,r,t);return}}function _n(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0;u=e+4|0;l=f[u>>2]|0;if(!(t[l+32>>0]|0))u=i;else{o=e+8|0;S_(f[o>>2]|0,i|0,n*3|0)|0;l=f[u>>2]|0;i=f[l+16>>2]|0;if((n|0)>0){l=f[o>>2]|0;e=0;while(1){c=l+2|0;d=t[l>>0]|0;t[l>>0]=t[c>>0]|0;t[c>>0]=d;e=e+1|0;if((e|0)==(n|0))break;else l=l+i|0}l=f[u>>2]|0}u=f[o>>2]|0}switch(f[l+16>>2]|0){case 3:{if((f[l+24>>2]|0)==2){if((n|0)>0)l=0;else return;do{o=a[u+(l*3|0)+1>>0]|0;s=128-o+(a[u+(l*3|0)+2>>0]|0)|0;c=(a[u+(l*3|0)>>0]|0)-o+128|0;d=r+(l*3|0)|0;t[d>>0]=o+192+(((s&255)+(c&255)|0)>>>2);t[d+1>>0]=s;t[d+2>>0]=c;l=l+1|0}while((l|0)!=(n|0))return}l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=0;do{n=a[u+(i*3|0)+1>>0]|0;c=128-n+(a[u+(i*3|0)+2>>0]|0)|0;d=(a[u+(i*3|0)>>0]|0)-n+128|0;t[r+i>>0]=n+192+(((c&255)+(d&255)|0)>>>2);t[r+(i+s)>>0]=c;t[r+(i+e)>>0]=d;i=i+1|0}while((i|0)!=(l|0))return}case 4:{if((f[l+24>>2]|0)!=1)return;l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=s*3|0;o=0;do{d=t[u+(o<<2)+3>>0]|0;h=a[u+(o<<2)+1>>0]|0;n=128-h+(a[u+(o<<2)+2>>0]|0)|0;c=(a[u+(o<<2)>>0]|0)-h+128|0;t[r+o>>0]=h+192+(((n&255)+(c&255)|0)>>>2);t[r+(o+s)>>0]=n;t[r+(o+e)>>0]=c;t[r+(o+i)>>0]=d;o=o+1|0}while((o|0)!=(l|0))return}default:return}}function pn(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0;h=c;c=c+176|0;b=h+152|0;_=h+16|0;k=h;l=re(f[(f[e+4>>2]|0)+16>>2]|0,n)|0;u=e+20|0;s=f[u>>2]|0;if(!l){_=s;_n(e,_,r,n,a);c=h;return}while(1){o=uE[f[(f[i>>2]|0)+32>>2]&63](i,s,l)|0;if(!o)break;s=f[u>>2]|0;if((l|0)==(o|0)){d=26;break}else l=l-o|0}if((d|0)==26){_n(e,s,r,n,a);c=h;return}r=_+56|0;u=_+4|0;f[_>>2]=36160;f[r>>2]=36180;m=0;ce(62,_+56|0,u|0);h=m;m=0;if(h&1){_=Ye()|0;nh(r);$e(_|0)}f[_+128>>2]=0;f[_+132>>2]=-1;f[_>>2]=36200;f[_+56>>2]=36220;m=0;ue(180,u|0);h=m;m=0;do if(h&1)s=Ye()|0;else{f[u>>2]=36236;i=_+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[_+52>>2]=16;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;m=0;ce(63,u|0,b|0);h=m;m=0;if(h&1){s=Ye()|0;Od(b);Od(i);ch(u);break}Od(b);m=0;s=ke(28,_|0,49029,57)|0;b=m;m=0;if(!(b&1)?(m=0,ve(36,s|0,0)|0,b=m,m=0,!(b&1)):0){o=He(16)|0;m=0;ce(64,k|0,u|0);b=m;m=0;if(!(b&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,o|0,3,35648,k|0);b=m;m=0;if(b&1)l=1;else{m=0;Se(6,o|0,824,96);m=0;l=0}s=Ye()|0;Od(k);if(!l){k=s;f[_>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(r);$e(k|0)}}else s=Ye()|0;Ue(o|0);k=s;f[_>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(r);$e(k|0)}k=Ye()|0;f[_>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(r);$e(k|0)}while(0)_=s;nh(r);$e(_|0)}function vn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;c=e+4|0;e=f[c>>2]|0;e:do switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((n|0)>0)e=0;else break e;while(1){o=a[i+(e*3|0)+1>>0]|0;l=a[i+(e*3|0)+2>>0]|0;u=(a[i+(e*3|0)>>0]|0)-((l+o|0)>>>2)+64|0;s=r+(e*3|0)|0;t[s>>0]=l+128+u;t[s+1>>0]=u;t[s+2>>0]=o+128+u;e=e+1|0;if((e|0)==(n|0))break e}}e=(n|0)<(s|0)?n:s;if((e|0)>0){l=s<<1;o=0;do{h=a[i+(o+s)>>0]|0;b=a[i+(o+l)>>0]|0;d=(a[i+o>>0]|0)-((b+h|0)>>>2)+64|0;u=r+(o*3|0)|0;t[u>>0]=b+128+d;t[u+1>>0]=d;t[u+2>>0]=h+128+d;o=o+1|0}while((o|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(u=(n|0)<(s|0)?n:s,(u|0)>0):0){e=s<<1;l=s*3|0;o=0;do{d=a[i+(o+s)>>0]|0;k=a[i+(o+e)>>0]|0;h=(a[i+o>>0]|0)-((k+d|0)>>>2)+64|0;b=r+(o<<2)|0;h=h<<8&65280|a[i+(o+l)>>0]<<24|k+128+h&255|d+128+h<<16&16711680;t[b>>0]=h;t[b+1>>0]=h>>8;t[b+2>>0]=h>>16;t[b+3>>0]=h>>24;o=o+1|0}while((o|0)!=(u|0))}break}default:{}}while(0)e=f[c>>2]|0;if(!(t[e+32>>0]|0))return;o=f[e+16>>2]|0;if((n|0)>0){e=r;l=0}else return;while(1){k=e+2|0;b=t[e>>0]|0;t[e>>0]=t[k>>0]|0;t[k>>0]=b;l=l+1|0;if((l|0)==(n|0))break;else e=e+o|0}return}function gn(e){e=e|0;var i=0,r=0;f[e>>2]=36664;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=f[e+8>>2]|0;if(!r)return;i=e+12|0;if((f[i>>2]|0)!=(r|0))f[i>>2]=r;Iv(r);return}function yn(e){e=e|0;var i=0,r=0;f[e>>2]=36664;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}i=f[e+8>>2]|0;if(!i){Iv(e);return}r=e+12|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i);Iv(e);return}function En(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0;a=e+36|0;if(!(f[a>>2]|0)){a=e+40|0;Mn(e,i,f[a>>2]|0,r,n);f[a>>2]=(f[a>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}s=re(f[(f[e+4>>2]|0)+16>>2]|0,r)|0;l=e+20|0;Mn(e,i,f[l>>2]|0,r,n);e=f[a>>2]|0;if((uE[f[(f[e>>2]|0)+48>>2]&63](e,f[l>>2]|0,s)|0)==(s|0))return;a=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,a|0,3,35648);l=m;m=0;if(l&1){l=Ye()|0;Ue(a|0);$e(l|0)}else bi(a|0,824,96)}function An(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;Sn(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{Tn(e,n,i,r,t);return}}function Sn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0;u=e+4|0;l=f[u>>2]|0;if(!(t[l+32>>0]|0))u=i;else{o=e+8|0;S_(f[o>>2]|0,i|0,n*3|0)|0;l=f[u>>2]|0;i=f[l+16>>2]|0;if((n|0)>0){l=f[o>>2]|0;e=0;while(1){c=l+2|0;d=t[l>>0]|0;t[l>>0]=t[c>>0]|0;t[c>>0]=d;e=e+1|0;if((e|0)==(n|0))break;else l=l+i|0}l=f[u>>2]|0}u=f[o>>2]|0}switch(f[l+16>>2]|0){case 3:{if((f[l+24>>2]|0)==2){if((n|0)>0)l=0;else return;do{i=a[u+(l*3|0)>>0]|0;s=t[u+(l*3|0)+1>>0]|0;o=s&255;c=(a[u+(l*3|0)+2>>0]|0)+128-((o+i|0)>>>1)&255;d=r+(l*3|0)|0;t[d>>0]=i+128-o;t[d+1>>0]=s;t[d+2>>0]=c;l=l+1|0}while((l|0)!=(n|0))return}l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=0;do{c=t[u+(i*3|0)+1>>0]|0;o=a[u+(i*3|0)>>0]|0;n=c&255;d=(a[u+(i*3|0)+2>>0]|0)+128-((n+o|0)>>>1)&255;t[r+i>>0]=o+128-n;t[r+(i+s)>>0]=c;t[r+(i+e)>>0]=d;i=i+1|0}while((i|0)!=(l|0))return}case 4:{if((f[l+24>>2]|0)!=1)return;l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=s*3|0;o=0;do{n=t[u+(o<<2)+1>>0]|0;d=t[u+(o<<2)+3>>0]|0;b=a[u+(o<<2)>>0]|0;h=n&255;c=(a[u+(o<<2)+2>>0]|0)+128-((h+b|0)>>>1)&255;t[r+o>>0]=b+128-h;t[r+(o+s)>>0]=n;t[r+(o+e)>>0]=c;t[r+(o+i)>>0]=d;o=o+1|0}while((o|0)!=(l|0))return}default:return}}function Tn(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0;h=c;c=c+176|0;b=h+152|0;_=h+16|0;k=h;l=re(f[(f[e+4>>2]|0)+16>>2]|0,n)|0;u=e+20|0;s=f[u>>2]|0;if(!l){_=s;Sn(e,_,r,n,a);c=h;return}while(1){o=uE[f[(f[i>>2]|0)+32>>2]&63](i,s,l)|0;if(!o)break;s=f[u>>2]|0;if((l|0)==(o|0)){d=26;break}else l=l-o|0}if((d|0)==26){Sn(e,s,r,n,a);c=h;return}r=_+56|0;u=_+4|0;f[_>>2]=36160;f[r>>2]=36180;m=0;ce(62,_+56|0,u|0);h=m;m=0;if(h&1){_=Ye()|0;nh(r);$e(_|0)}f[_+128>>2]=0;f[_+132>>2]=-1;f[_>>2]=36200;f[_+56>>2]=36220;m=0;ue(180,u|0);h=m;m=0;do if(h&1)s=Ye()|0;else{f[u>>2]=36236;i=_+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[_+52>>2]=16;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;m=0;ce(63,u|0,b|0);h=m;m=0;if(h&1){s=Ye()|0;Od(b);Od(i);ch(u);break}Od(b);m=0;s=ke(28,_|0,49029,57)|0;b=m;m=0;if(!(b&1)?(m=0,ve(36,s|0,0)|0,b=m,m=0,!(b&1)):0){o=He(16)|0;m=0;ce(64,k|0,u|0);b=m;m=0;if(!(b&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,o|0,3,35648,k|0);b=m;m=0;if(b&1)l=1;else{m=0;Se(6,o|0,824,96);m=0;l=0}s=Ye()|0;Od(k);if(!l){k=s;f[_>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(r);$e(k|0)}}else s=Ye()|0;Ue(o|0);k=s;f[_>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(r);$e(k|0)}k=Ye()|0;f[_>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(r);$e(k|0)}while(0)_=s;nh(r);$e(_|0)}function Mn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0;c=e+4|0;e=f[c>>2]|0;e:do switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((n|0)>0)e=0;else break e;while(1){o=t[i+(e*3|0)+1>>0]|0;u=o&255;l=(a[i+(e*3|0)>>0]|0)+128+u|0;u=(a[i+(e*3|0)+2>>0]|0)+128+(((l&255)+u|0)>>>1)&255;s=r+(e*3|0)|0;t[s>>0]=l;t[s+1>>0]=o;t[s+2>>0]=u;e=e+1|0;if((e|0)==(n|0))break e}}e=(n|0)<(s|0)?n:s;if((e|0)>0){l=s<<1;o=0;do{h=t[i+(o+s)>>0]|0;d=h&255;b=(a[i+o>>0]|0)+128+d|0;d=(a[i+(o+l)>>0]|0)+128+(((b&255)+d|0)>>>1)&255;u=r+(o*3|0)|0;t[u>>0]=b;t[u+1>>0]=h;t[u+2>>0]=d;o=o+1|0}while((o|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(u=(n|0)<(s|0)?n:s,(u|0)>0):0){e=s<<1;l=s*3|0;o=0;do{h=a[i+(o+s)>>0]|0;d=(a[i+o>>0]|0)+128+h&255;b=r+(o<<2)|0;h=d|h<<8|a[i+(o+l)>>0]<<24|(a[i+(o+e)>>0]|0)+128+((d+h|0)>>>1)<<16&16711680;t[b>>0]=h;t[b+1>>0]=h>>8;t[b+2>>0]=h>>16;t[b+3>>0]=h>>24;o=o+1|0}while((o|0)!=(u|0))}break}default:{}}while(0)e=f[c>>2]|0;if(!(t[e+32>>0]|0))return;o=f[e+16>>2]|0;if((n|0)>0){e=r;l=0}else return;while(1){b=e+2|0;h=t[e>>0]|0;t[e>>0]=t[b>>0]|0;t[b>>0]=h;l=l+1|0;if((l|0)==(n|0))break;else e=e+o|0}return}function Cn(e){e=e|0;var i=0,r=0;f[e>>2]=36688;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=f[e+8>>2]|0;if(!r)return;i=e+12|0;if((f[i>>2]|0)!=(r|0))f[i>>2]=r;Iv(r);return}function Pn(e){e=e|0;var i=0,r=0;f[e>>2]=36688;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}i=f[e+8>>2]|0;if(!i){Iv(e);return}r=e+12|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i);Iv(e);return}function xn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0;a=e+36|0;if(!(f[a>>2]|0)){a=e+40|0;Ln(e,i,f[a>>2]|0,r,n);f[a>>2]=(f[a>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}s=re(f[(f[e+4>>2]|0)+16>>2]|0,r)|0;l=e+20|0;Ln(e,i,f[l>>2]|0,r,n);e=f[a>>2]|0;if((uE[f[(f[e>>2]|0)+48>>2]&63](e,f[l>>2]|0,s)|0)==(s|0))return;a=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,a|0,3,35648);l=m;m=0;if(l&1){l=Ye()|0;Ue(a|0);$e(l|0)}else bi(a|0,824,96)}function Dn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;Rn(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{On(e,n,i,r,t);return}}function Rn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0;u=e+4|0;l=f[u>>2]|0;if(!(t[l+32>>0]|0))u=i;else{o=e+8|0;S_(f[o>>2]|0,i|0,n*3|0)|0;l=f[u>>2]|0;i=f[l+16>>2]|0;if((n|0)>0){l=f[o>>2]|0;e=0;while(1){c=l+2|0;d=t[l>>0]|0;t[l>>0]=t[c>>0]|0;t[c>>0]=d;e=e+1|0;if((e|0)==(n|0))break;else l=l+i|0}l=f[u>>2]|0}u=f[o>>2]|0}switch(f[l+16>>2]|0){case 3:{if((f[l+24>>2]|0)==2){if((n|0)>0)l=0;else return;do{s=t[u+(l*3|0)+1>>0]|0;o=s&255;c=128-o+(a[u+(l*3|0)+2>>0]|0)&255;d=r+(l*3|0)|0;t[d>>0]=(a[u+(l*3|0)>>0]|0)+128-o;t[d+1>>0]=s;t[d+2>>0]=c;l=l+1|0}while((l|0)!=(n|0))return}l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=0;do{c=t[u+(i*3|0)+1>>0]|0;n=c&255;d=128-n+(a[u+(i*3|0)+2>>0]|0)&255;t[r+i>>0]=(a[u+(i*3|0)>>0]|0)+128-n;t[r+(i+s)>>0]=c;t[r+(i+e)>>0]=d;i=i+1|0}while((i|0)!=(l|0))return}case 4:{if((f[l+24>>2]|0)!=1)return;l=(s|0)<(n|0)?s:n;if((l|0)<=0)return;e=s<<1;i=s*3|0;o=0;do{n=t[u+(o<<2)+1>>0]|0;d=t[u+(o<<2)+3>>0]|0;h=n&255;c=128-h+(a[u+(o<<2)+2>>0]|0)&255;t[r+o>>0]=(a[u+(o<<2)>>0]|0)+128-h;t[r+(o+s)>>0]=n;t[r+(o+e)>>0]=c;t[r+(o+i)>>0]=d;o=o+1|0}while((o|0)!=(l|0))return}default:return}}function On(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0;h=c;c=c+176|0;b=h+152|0;_=h+16|0;k=h;l=re(f[(f[e+4>>2]|0)+16>>2]|0,n)|0;u=e+20|0;s=f[u>>2]|0;if(!l){_=s;Rn(e,_,r,n,a);c=h;return}while(1){o=uE[f[(f[i>>2]|0)+32>>2]&63](i,s,l)|0;if(!o)break;s=f[u>>2]|0;if((l|0)==(o|0)){d=26;break}else l=l-o|0}if((d|0)==26){Rn(e,s,r,n,a);c=h;return}r=_+56|0;u=_+4|0;f[_>>2]=36160;f[r>>2]=36180;m=0;ce(62,_+56|0,u|0);h=m;m=0;if(h&1){_=Ye()|0;nh(r);$e(_|0)}f[_+128>>2]=0;f[_+132>>2]=-1;f[_>>2]=36200;f[_+56>>2]=36220;m=0;ue(180,u|0);h=m;m=0;do if(h&1)s=Ye()|0;else{f[u>>2]=36236;i=_+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[_+52>>2]=16;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;m=0;ce(63,u|0,b|0);h=m;m=0;if(h&1){s=Ye()|0;Od(b);Od(i);ch(u);break}Od(b);m=0;s=ke(28,_|0,49029,57)|0;b=m;m=0;if(!(b&1)?(m=0,ve(36,s|0,0)|0,b=m,m=0,!(b&1)):0){o=He(16)|0;m=0;ce(64,k|0,u|0);b=m;m=0;if(!(b&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,o|0,3,35648,k|0);b=m;m=0;if(b&1)l=1;else{m=0;Se(6,o|0,824,96);m=0;l=0}s=Ye()|0;Od(k);if(!l){k=s;f[_>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(r);$e(k|0)}}else s=Ye()|0;Ue(o|0);k=s;f[_>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(r);$e(k|0)}k=Ye()|0;f[_>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(r);$e(k|0)}while(0)_=s;nh(r);$e(_|0)}function Ln(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0;c=e+4|0;e=f[c>>2]|0;e:do switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((n|0)>0)e=0;else break e;while(1){o=t[i+(e*3|0)+1>>0]|0;l=o&255;u=l+128+(a[i+(e*3|0)+2>>0]|0)&255;s=r+(e*3|0)|0;t[s>>0]=(a[i+(e*3|0)>>0]|0)+128+l;t[s+1>>0]=o;t[s+2>>0]=u;e=e+1|0;if((e|0)==(n|0))break e}}e=(n|0)<(s|0)?n:s
13
+ ;if((e|0)>0){l=s<<1;o=0;do{h=t[i+(o+s)>>0]|0;b=h&255;d=b+128+(a[i+(o+l)>>0]|0)&255;u=r+(o*3|0)|0;t[u>>0]=(a[i+o>>0]|0)+128+b;t[u+1>>0]=h;t[u+2>>0]=d;o=o+1|0}while((o|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(u=(n|0)<(s|0)?n:s,(u|0)>0):0){e=s<<1;l=s*3|0;o=0;do{h=a[i+(o+s)>>0]|0;b=r+(o<<2)|0;h=(a[i+o>>0]|0)+128+h&255|h<<8|a[i+(o+l)>>0]<<24|h+128+(a[i+(o+e)>>0]|0)<<16&16711680;t[b>>0]=h;t[b+1>>0]=h>>8;t[b+2>>0]=h>>16;t[b+3>>0]=h>>24;o=o+1|0}while((o|0)!=(u|0))}break}default:{}}while(0)e=f[c>>2]|0;if(!(t[e+32>>0]|0))return;o=f[e+16>>2]|0;if((n|0)>0){e=r;l=0}else return;while(1){b=e+2|0;h=t[e>>0]|0;t[e>>0]=t[b>>0]|0;t[b>>0]=h;l=l+1|0;if((l|0)==(n|0))break;else e=e+o|0}return}function In(e){e=e|0;var i=0,r=0;f[e>>2]=36712;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=f[e+8>>2]|0;if(!r)return;i=e+12|0;if((f[i>>2]|0)!=(r|0))f[i>>2]=r;Iv(r);return}function Bn(e){e=e|0;var i=0,r=0;f[e>>2]=36712;i=f[e+20>>2]|0;if(i){r=e+24|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}i=f[e+8>>2]|0;if(!i){Iv(e);return}r=e+12|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i);Iv(e);return}function Nn(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0;a=e+36|0;if(!(f[a>>2]|0)){a=e+40|0;Hn(e,i,f[a>>2]|0,r,n);f[a>>2]=(f[a>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}s=re(f[(f[e+4>>2]|0)+16>>2]|0,r)|0;l=e+20|0;Hn(e,i,f[l>>2]|0,r,n);e=f[a>>2]|0;if((uE[f[(f[e>>2]|0)+48>>2]&63](e,f[l>>2]|0,s)|0)==(s|0))return;a=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,a|0,3,35648);l=m;m=0;if(l&1){l=Ye()|0;Ue(a|0);$e(l|0)}else bi(a|0,824,96)}function Fn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=f[e+36>>2]|0;if(!n){n=e+40|0;jn(e,f[n>>2]|0,i,r,t);f[n>>2]=(f[n>>2]|0)+(f[(f[e+4>>2]|0)+12>>2]|0);return}else{Un(e,n,i,r,t);return}}function jn(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,c=0;o=e+4|0;s=f[o>>2]|0;if(!(t[s+32>>0]|0))o=i;else{l=e+8|0;S_(f[l>>2]|0,i|0,n*3|0)|0;s=f[o>>2]|0;i=f[s+16>>2]|0;if((n|0)>0){s=f[l>>2]|0;e=0;while(1){u=s+2|0;c=t[s>>0]|0;t[s>>0]=t[u>>0]|0;t[u>>0]=c;e=e+1|0;if((e|0)==(n|0))break;else s=s+i|0}s=f[o>>2]|0}o=f[l>>2]|0}switch(f[s+16>>2]|0){case 3:{if((f[s+24>>2]|0)==2){if((n|0)>0)s=0;else return;do{a=t[o+(s*3|0)+1>>0]|0;u=t[o+(s*3|0)+2>>0]|0;c=r+(s*3|0)|0;t[c>>0]=t[o+(s*3|0)>>0]|0;t[c+1>>0]=a;t[c+2>>0]=u;s=s+1|0}while((s|0)!=(n|0))return}s=(a|0)<(n|0)?a:n;if((s|0)<=0)return;e=a<<1;i=0;do{u=t[o+(i*3|0)+1>>0]|0;c=t[o+(i*3|0)+2>>0]|0;t[r+i>>0]=t[o+(i*3|0)>>0]|0;t[r+(i+a)>>0]=u;t[r+(i+e)>>0]=c;i=i+1|0}while((i|0)!=(s|0))return}case 4:{if((f[s+24>>2]|0)!=1)return;s=(a|0)<(n|0)?a:n;if((s|0)<=0)return;e=a<<1;i=a*3|0;l=0;do{n=t[o+(l<<2)+1>>0]|0;u=t[o+(l<<2)+2>>0]|0;c=t[o+(l<<2)+3>>0]|0;t[r+l>>0]=t[o+(l<<2)>>0]|0;t[r+(l+a)>>0]=n;t[r+(l+e)>>0]=u;t[r+(l+i)>>0]=c;l=l+1|0}while((l|0)!=(s|0))return}default:return}}function Un(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0;h=c;c=c+176|0;b=h+152|0;_=h+16|0;k=h;l=re(f[(f[e+4>>2]|0)+16>>2]|0,n)|0;u=e+20|0;s=f[u>>2]|0;if(!l){_=s;jn(e,_,r,n,a);c=h;return}while(1){o=uE[f[(f[i>>2]|0)+32>>2]&63](i,s,l)|0;if(!o)break;s=f[u>>2]|0;if((l|0)==(o|0)){d=26;break}else l=l-o|0}if((d|0)==26){jn(e,s,r,n,a);c=h;return}r=_+56|0;u=_+4|0;f[_>>2]=36160;f[r>>2]=36180;m=0;ce(62,_+56|0,u|0);h=m;m=0;if(h&1){_=Ye()|0;nh(r);$e(_|0)}f[_+128>>2]=0;f[_+132>>2]=-1;f[_>>2]=36200;f[_+56>>2]=36220;m=0;ue(180,u|0);h=m;m=0;do if(h&1)s=Ye()|0;else{f[u>>2]=36236;i=_+36|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[_+52>>2]=16;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;m=0;ce(63,u|0,b|0);h=m;m=0;if(h&1){s=Ye()|0;Od(b);Od(i);ch(u);break}Od(b);m=0;s=ke(28,_|0,49029,57)|0;b=m;m=0;if(!(b&1)?(m=0,ve(36,s|0,0)|0,b=m,m=0,!(b&1)):0){o=He(16)|0;m=0;ce(64,k|0,u|0);b=m;m=0;if(!(b&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,o|0,3,35648,k|0);b=m;m=0;if(b&1)l=1;else{m=0;Se(6,o|0,824,96);m=0;l=0}s=Ye()|0;Od(k);if(!l){k=s;f[_>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(r);$e(k|0)}}else s=Ye()|0;Ue(o|0);k=s;f[_>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(r);$e(k|0)}k=Ye()|0;f[_>>2]=36200;f[r>>2]=36220;f[u>>2]=36236;Od(i);ch(u);nh(r);$e(k|0)}while(0)_=s;nh(r);$e(_|0)}function Hn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0;c=e+4|0;e=f[c>>2]|0;e:do switch(f[e+16>>2]|0){case 3:{if((f[e+24>>2]|0)==2){if((n|0)>0)e=0;else break e;while(1){o=t[i+(e*3|0)+1>>0]|0;u=t[i+(e*3|0)+2>>0]|0;s=r+(e*3|0)|0;t[s>>0]=t[i+(e*3|0)>>0]|0;t[s+1>>0]=o;t[s+2>>0]=u;e=e+1|0;if((e|0)==(n|0))break e}}e=(n|0)<(s|0)?n:s;if((e|0)>0){l=s<<1;o=0;do{h=t[i+(o+s)>>0]|0;d=t[i+(o+l)>>0]|0;u=r+(o*3|0)|0;t[u>>0]=t[i+o>>0]|0;t[u+1>>0]=h;t[u+2>>0]=d;o=o+1|0}while((o|0)!=(e|0))}break}case 4:{if((f[e+24>>2]|0)==1?(u=(n|0)<(s|0)?n:s,(u|0)>0):0){e=s<<1;l=s*3|0;o=0;do{h=r+(o<<2)|0;d=a[i+(o+s)>>0]<<8|a[i+o>>0]|a[i+(o+e)>>0]<<16|a[i+(o+l)>>0]<<24;t[h>>0]=d;t[h+1>>0]=d>>8;t[h+2>>0]=d>>16;t[h+3>>0]=d>>24;o=o+1|0}while((o|0)!=(u|0))}break}default:{}}while(0)e=f[c>>2]|0;if(!(t[e+32>>0]|0))return;o=f[e+16>>2]|0;if((n|0)>0){e=r;l=0}else return;while(1){h=e+2|0;d=t[e>>0]|0;t[e>>0]=t[h>>0]|0;t[h>>0]=d;l=l+1|0;if((l|0)==(n|0))break;else e=e+o|0}return}function Yn(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0;v=c;c=c+32|0;y=v+12|0;p=v;k=e+180|0;w=(f[k>>2]|0)+4|0;if((f[e+32>>2]|0)==1)_=f[e+24>>2]|0;else _=1;i=re(_<<1,w)|0;f[y>>2]=0;E=y+4|0;f[E>>2]=0;f[y+8>>2]=0;e:do if(i){if(!(i>>>0>1431655765?(m=0,ue(178,y|0),g=m,m=0,g&1):0))s=6;if((s|0)==6?(m=0,r=he(67,i*3|0)|0,g=m,m=0,!(g&1)):0){f[E>>2]=r;f[y>>2]=r;f[y+8>>2]=r+(i*3|0);while(1){t[r>>0]=0;t[r+1>>0]=0;t[r+2>>0]=0;r=(f[E>>2]|0)+3|0;f[E>>2]=r;i=i+-1|0;if(!i)break e}}n=Ye()|0;i=f[y>>2]|0;if(!i)$e(n|0);r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Iv(i);$e(n|0)}while(0)f[p>>2]=0;g=p+4|0;f[g>>2]=0;f[p+8>>2]=0;do if(!_)s=19;else{if(!(_>>>0>1073741823?(m=0,ue(178,p|0),b=m,m=0,b&1):0))s=17;if((s|0)==17?(n=_<<2,m=0,a=he(67,n|0)|0,b=m,m=0,!(b&1)):0){f[p>>2]=a;s=a+(_<<2)|0;f[p+8>>2]=s;y_(a|0,0,n|0)|0;f[g>>2]=s;s=19;break}n=Ye()|0;i=f[p>>2]|0;r=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}while(0)if((s|0)==19){a=e+12|0;e:do if((f[a>>2]|0)>0){s=e+4604|0;l=(re(_,w)|0)+1|0;o=e+4608|0;u=e+92|0;d=(_|0)>0;h=e+4600|0;b=0;i:while(1){n=f[y>>2]|0;i=n+3|0;f[s>>2]=i;r=n+(l*3|0)|0;f[o>>2]=r;if(!(b&1))i=l;else{f[s>>2]=r;f[o>>2]=i;i=1}r=f[u>>2]|0;m=0;Pe(f[(f[r>>2]|0)+12>>2]|0,r|0,n+(i*3|0)|0,f[k>>2]|0,w|0);n=m;m=0;if(n&1){s=29;break}if(d){i=f[p>>2]|0;r=f[s>>2]|0;n=0;do{f[h>>2]=f[i+(n<<2)>>2];A=f[k>>2]|0;i=r+(A*3|0)|0;r=r+((A+-1|0)*3|0)|0;t[i>>0]=t[r>>0]|0;t[i+1>>0]=t[r+1>>0]|0;t[i+2>>0]=t[r+2>>0]|0;i=f[s>>2]|0;r=(f[o>>2]|0)+-3|0;t[r>>0]=t[i>>0]|0;t[r+1>>0]=t[i+1>>0]|0;t[r+2>>0]=t[i+2>>0]|0;m=0;ce(70,e|0,0);r=m;m=0;if(r&1){s=28;break i}i=f[p>>2]|0;f[i+(n<<2)>>2]=f[h>>2];r=(f[s>>2]|0)+(w*3|0)|0;f[s>>2]=r;f[o>>2]=(f[o>>2]|0)+(w*3|0);n=n+1|0}while((n|0)<(_|0))}b=b+1|0;if((b|0)>=(f[a>>2]|0)){s=41;break e}}if((s|0)==28){n=Ye()|0;break}else if((s|0)==29){n=Ye()|0;break}}else s=41;while(0)do if((s|0)==41){m=0;ue(182,e|0);A=m;m=0;if(A&1){n=Ye()|0;break}i=f[p>>2]|0;r=i;if(i){n=f[g>>2]|0;if((n|0)!=(i|0))f[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);Iv(i)}i=f[y>>2]|0;if(!i){c=v;return}r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Iv(i);c=v;return}while(0)i=f[p>>2]|0;r=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}i=f[y>>2]|0;if(!i)$e(n|0);r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Iv(i);$e(n|0)}function qn(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;T=e+180|0;if((f[T>>2]|0)<=0)return;M=e+4608|0;C=e+4604|0;P=e+4612|0;S=0;while(1){y=S+-1|0;l=f[M>>2]|0;o=f[C>>2]|0;i=S+1|0;s=a[o+(S*3|0)>>0]|0;A=f[P>>2]|0;u=a[o+(y*3|0)>>0]|0;c=s-u|0;d=a[l+(y*3|0)>>0]|0;h=u-d|0;b=((((t[A+((a[o+(i*3|0)>>0]|0)-s)>>0]|0)*9|0)+(t[A+c>>0]|0)|0)*9|0)+(t[A+h>>0]|0)|0;n=a[o+(S*3|0)+1>>0]|0;k=a[o+(y*3|0)+1>>0]|0;w=n-k|0;m=a[l+(y*3|0)+1>>0]|0;_=k-m|0;p=((((t[A+((a[o+(i*3|0)+1>>0]|0)-n)>>0]|0)*9|0)+(t[A+w>>0]|0)|0)*9|0)+(t[A+_>>0]|0)|0;r=a[o+(S*3|0)+2>>0]|0;v=a[o+(y*3|0)+2>>0]|0;g=r-v|0;y=a[l+(y*3|0)+2>>0]|0;E=v-y|0;A=((((t[A+((a[o+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(t[A+g>>0]|0)|0)*9|0)+(t[A+E>>0]|0)|0;if(!(p|b|A))i=(zn(e,S,0)|0)+S|0;else{o=a[l+(S*3|0)>>0]|0;l=s-d>>31;if((l^h|0)>=0)if((l^c|0)<0)s=d;else s=d-u+s|0;o=Xn(e,b,o,s,0)|0;l=a[(f[M>>2]|0)+(S*3|0)+1>>0]|0;s=n-m>>31;if((s^_|0)>=0)if((s^w|0)<0)n=m;else n=m-k+n|0;s=Xn(e,p,l,n,0)|0;l=a[(f[M>>2]|0)+(S*3|0)+2>>0]|0;n=r-y>>31;if((n^E|0)>=0)if((n^g|0)<0)r=y;else r=y-v+r|0;A=Xn(e,A,l,r,0)|0;S=(f[M>>2]|0)+(S*3|0)|0;t[S>>0]=o;t[S+1>>0]=s;t[S+2>>0]=A}if((i|0)<(f[T>>2]|0))S=i;else break}return}function zn(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0;M=c;c=c+32|0;T=M+15|0;w=M+12|0;k=M+9|0;m=M+6|0;y=M+3|0;E=M;A=(f[e+180>>2]|0)-i|0;S=f[e+4608>>2]|0;_=f[e+4604>>2]|0;g=S+((i+-1|0)*3|0)|0;p=t[g>>0]|0;v=t[g+1>>0]|0;g=t[g+2>>0]|0;r=p&255;n=e+144|0;s=v&255;l=g&255;b=0;while(1){o=S+((b+i|0)*3|0)|0;u=o+1|0;d=o+2|0;C=(a[o>>0]|0)-r|0;h=f[n>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(h|0))break;C=(a[u>>0]|0)-s|0;if((((C|0)>-1?C:0-C|0)|0)>(h|0))break;C=(a[d>>0]|0)-l|0;if((((C|0)>-1?C:0-C|0)|0)>(h|0))break;t[o>>0]=p;t[u>>0]=v;t[d>>0]=g;b=b+1|0;if((b|0)==(A|0)){b=A;break}}s=(b|0)==(A|0);l=e+4600|0;n=f[36476+(f[l>>2]<<2)>>2]|0;if((1<<n|0)>(b|0))r=b;else{r=b;do{Lt(e,1,1);n=f[l>>2]|0;r=r-(1<<f[36476+(n<<2)>>2])|0;n=(n|0)>30?31:n+1|0;f[l>>2]=n;n=f[36476+(n<<2)>>2]|0}while((r|0)>=(1<<n|0))}if(!s){Lt(e,r,n+1|0);i=b+i|0;C=S+(i*3|0)|0;t[y>>0]=t[C>>0]|0;t[y+1>>0]=t[C+1>>0]|0;t[y+2>>0]=t[C+2>>0]|0;t[E>>0]=p;t[E+1>>0]=v;t[E+2>>0]=g;i=_+(i*3|0)|0;t[k>>0]=t[y>>0]|0;t[k+1>>0]=t[y+1>>0]|0;t[k+2>>0]=t[y+2>>0]|0;t[w>>0]=t[E>>0]|0;t[w+1>>0]=t[E+1>>0]|0;t[w+2>>0]=t[E+2>>0]|0;t[T>>0]=t[i>>0]|0;t[T+1>>0]=t[i+1>>0]|0;t[T+2>>0]=t[i+2>>0]|0;Vn(m,e,k,w,T);t[C>>0]=t[m>>0]|0;t[C+1>>0]=t[m+1>>0]|0;t[C+2>>0]=t[m+2>>0]|0;C=f[l>>2]|0;f[l>>2]=(C|0)<1?0:C+-1|0;C=b+1|0;c=M;return C|0}if(!r){C=A;c=M;return C|0}Lt(e,1,1);C=A;c=M;return C|0}function Xn(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;m=i>>31;s=(m^i)-m|0;k=e+196+(s*12|0)+10|0;l=n[k>>1]|0;b=e+196+(s*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){i=5;while(1)if((l<<i|0)<(a|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;d=e+196+(s*12|0)+8|0;a=(n[d>>1]^m)-m+t|0;w=e+136|0;t=f[w>>2]|0;if((a&t|0)==(a|0))c=a;else c=t&~(a>>31);a=(r-c^m)-m|0;u=e+144|0;t=f[u>>2]|0;if((a|0)>0)a=(a+t|0)/(t<<1|1|0)|0;else a=(a-t|0)/(t<<1|1|0)|0;h=e+140|0;o=f[h>>2]|0;r=((a|0)<0?o:0)+a|0;o=r-((r|0)<((o+1|0)/2|0|0)?0:o)|0;s=e+196+(s*12|0)+4|0;if(!(t|i))a=(f[s>>2]<<1)+-1+l>>31;else a=0;t=a^o;Gn(e,i,t>>30^t<<1,f[e+156>>2]|0);t=f[e+160>>2]|0;i=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;a=(f[s>>2]|0)+(re(f[u>>2]<<1|1,o)|0)|0;r=n[k>>1]|0;if((r|0)==(t|0)){i=i>>1;a=a>>1;r=t>>1}f[b>>2]=i;t=r+1|0;n[k>>1]=t;i=t+a|0;if((i|0)>=1){if((a|0)>0){a=a-t|0;k=n[d>>1]|0;n[d>>1]=(k<<16>>16<127&1)+(k&65535);a=(a|0)>0?0:a}}else{a=n[d>>1]|0;n[d>>1]=(a&65535)-(a<<16>>16>-128&1);a=(i|0)>(~r|0)?i:0-r|0}f[s>>2]=a;t=f[u>>2]|0;r=t<<1|1;i=(re(r,(o^m)-m|0)|0)+c|0;if((i|0)>=(0-t|0)){a=f[w>>2]|0;if((a+t|0)<(i|0))i=i-(re(f[h>>2]|0,r)|0)|0}else{i=(re(f[h>>2]|0,r)|0)+i|0;a=f[w>>2]|0}if((i&a|0)==(i|0)){m=i;m=m&255;return m|0}m=a&~(i>>31);m=m&255;return m|0}function Gn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0;n=r>>i;a=e+148|0;s=t-(f[a>>2]|0)|0;if((n|0)<(s+-1|0)){if((n|0)>30){t=(n|0)/2|0;Lt(e,0,t);n=n-t|0}Lt(e,1,n+1|0);Lt(e,(1<<i)+-1&r,i);return}if((s|0)>31){Lt(e,0,31);Lt(e,1,t+-31-(f[a>>2]|0)|0)}else Lt(e,1,s);i=f[a>>2]|0;Lt(e,(1<<i)+-1&r+-1,i);return}function Vn(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0;m=i+136|0;b=a[s>>0]|0;k=b-(a[n>>0]|0)>>31|1;l=re(k,(a[r>>0]|0)-b|0)|0;d=i+144|0;o=f[d>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;y=i+140|0;c=f[y>>2]|0;u=((l|0)<0?c:0)+l|0;c=u-((u|0)<((c+1|0)/2|0|0)?0:c)|0;u=i+4576|0;Kn(i,u,c);p=a[s+1>>0]|0;v=p-(a[n+1>>0]|0)>>31|1;l=re(v,(a[r+1>>0]|0)-p|0)|0;o=f[d>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;w=f[y>>2]|0;g=((l|0)<0?w:0)+l|0;w=g-((g|0)<((w+1|0)/2|0|0)?0:w)|0;Kn(i,u,w);g=a[s+2>>0]|0;_=g-(a[n+2>>0]|0)>>31|1;l=re(_,(a[r+2>>0]|0)-g|0)|0;o=f[d>>2]|0;if((l|0)>0)l=(l+o|0)/(o<<1|1|0)|0;else l=(l-o|0)/(o<<1|1|0)|0;h=f[y>>2]|0;l=((l|0)<0?h:0)+l|0;h=l-((l|0)<((h+1|0)/2|0|0)?0:h)|0;Kn(i,u,h);u=f[d>>2]|0;d=u<<1|1;l=(re(re(d,c)|0,k)|0)+b|0;r=0-u|0;if((l|0)>=(r|0)){o=f[m>>2]|0;if((o+u|0)<(l|0)){l=l-(re(f[y>>2]|0,d)|0)|0;n=o}else n=o}else{l=(re(f[y>>2]|0,d)|0)+l|0;n=f[m>>2]|0}if((l&n|0)!=(l|0))l=n&~(l>>31);s=l&255;l=(re(re(d,w)|0,v)|0)+p|0;if((l|0)>=(r|0)){if((n+u|0)<(l|0))l=l-(re(f[y>>2]|0,d)|0)|0}else l=(re(f[y>>2]|0,d)|0)+l|0;if((l&n|0)!=(l|0))l=n&~(l>>31);o=l&255;l=(re(re(d,h)|0,_)|0)+g|0;if((l|0)>=(r|0)){if((n+u|0)<(l|0))l=l-(re(f[y>>2]|0,d)|0)|0}else l=(re(f[y>>2]|0,d)|0)+l|0;if((l&n|0)==(l|0)){y=l;y=y&255;t[e>>0]=s;g=e+1|0;t[g>>0]=o;e=e+2|0;t[e>>0]=y;return}y=n&~(l>>31);y=y&255;t[e>>0]=s;g=e+1|0;t[g>>0]=o;e=e+2|0;t[e>>0]=y;return}function Kn(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;h=i+9|0;o=a[h>>0]|0;d=i+4|0;c=f[d>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0))s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0<o>>>0:0)n=1;else u=5;do if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}while(0)n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;Gn(e,s,n,(f[e+156>>2]|0)+-1-(f[36476+(f[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[d>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[h>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[h>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}function Wn(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+144|0;e:do if(!(f[b>>2]|0)){r=f[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<<f[i>>2])+-1|0)?(ov(n,r,0),(f[n+4>>2]|0)==(f[e+184>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+188>>2]|0):0)?(f[n+12>>2]|0)==(f[e+192>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4612>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4612>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4612>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4612>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+152|0;while(0)h=1<<f[i>>2];r=e+4616|0;n=h<<1;a=e+4620|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0<l>>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{Yt(r,n-l|0);i=f[r>>2]|0}d=e+4612|0;f[d>>2]=i+h;i=0-h|0;if((h|0)<=(i|0)){c=k;return}o=e+192|0;u=e+188|0;l=e+184|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[d>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(h|0))c=k;return}function Jn(e){e=e|0;var i=0,r=0;f[e>>2]=35996;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function Qn(e){e=e|0;var i=0,r=0;f[e>>2]=35996;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function Zn(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;ov(u,65535,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+160>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+164>>2]=l;f[e+168>>2]=a;lf(e);a=0;do{f[e+172+(a*12|0)>>2]=1024;f[e+172+(a*12|0)+4>>2]=0;n[e+172+(a*12|0)+8>>1]=0;n[e+172+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365)u=((i|0)==0?r:i)&255;f[e+4552>>2]=1024;f[e+4556>>2]=0;t[e+4560>>0]=u;t[e+4561>>0]=1;t[e+4562>>0]=0;f[e+4564>>2]=1024;f[e+4568>>2]=1;t[e+4572>>0]=u;t[e+4573>>0]=1;t[e+4574>>0]=0;f[e+4576>>2]=0;c=s;return}function $n(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0;b=c;c=c+16|0;d=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);f[d>>2]=0;f[d+4>>2]=a;u=r+8|0;f[d+8>>2]=f[u>>2];if(a){i=Lv(4600)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0))s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0))f[i>>2]=35772;s=i+132|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+148>>2]=f[a>>2];f[i+152>>2]=0;f[i+156>>2]=0;f[i+160>>2]=0;s=i+4544|0;a=i+164|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0))l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4556|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4568|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fE[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,d)}d=e+100|0;f[d>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];rf(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(h=i+4e3|0,(a|0)!=(h|0)):0){f[u>>2]=h;a=h}}else{Pt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;rf(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}function ef(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){_=e+8|0;v=e+36|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(37,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+16>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(38,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(39,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(40,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+20>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=2;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=2;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function rf(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0;g=c;c=c+32|0;E=g+12|0;v=g;w=e+156|0;_=(f[w>>2]|0)+4|0;if((f[e+32>>2]|0)==1)p=f[e+24>>2]|0;else p=1;i=re(p<<1,_)|0;f[E>>2]=0;A=E+4|0;f[A>>2]=0;f[E+8>>2]=0;do if(i){if(!((i|0)<0?(m=0,ue(178,E|0),y=m,m=0,y&1):0))l=6;if((l|0)==6?(r=i<<1,m=0,t=he(67,r|0)|0,y=m,m=0,!(y&1)):0){f[E>>2]=t;y=t+(i<<1)|0;f[E+8>>2]=y;y_(t|0,0,r|0)|0;f[A>>2]=y;break}t=Ye()|0;i=f[E>>2]|0;if(!i)$e(t|0);r=f[A>>2]|0;if((r|0)!=(i|0))f[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);$e(t|0)}while(0)f[v>>2]=0;y=v+4|0;f[y>>2]=0;f[v+8>>2]=0;do if(!p)l=18;else{if(!(p>>>0>1073741823?(m=0,ue(178,v|0),k=m,m=0,k&1):0))l=16;if((l|0)==16?(a=p<<2,m=0,s=he(67,a|0)|0,k=m,m=0,!(k&1)):0){f[v>>2]=s;l=s+(p<<2)|0;f[v+8>>2]=l;y_(s|0,0,a|0)|0;f[y>>2]=l;l=18;break}t=Ye()|0;i=f[v>>2]|0;r=i;if(i){a=f[y>>2]|0;if((a|0)!=(i|0))f[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}while(0)if((l|0)==18){s=e+12|0;e:do if((f[s>>2]|0)>0){l=e+4580|0;o=(re(p,_)|0)+1|0;u=e+4584|0;d=e+92|0;h=(p|0)>0;b=e+4576|0;k=0;i:while(1){r=f[E>>2]|0;i=r+2|0;f[l>>2]=i;r=r+(o<<1)|0;f[u>>2]=r;if(!(k&1))i=r;else{f[l>>2]=r;f[u>>2]=i}a=f[d>>2]|0;m=0;Pe(f[(f[a>>2]|0)+12>>2]|0,a|0,i|0,f[w>>2]|0,_|0);a=m;m=0;if(a&1){l=28;break}if(h){i=f[l>>2]|0;r=f[u>>2]|0;t=f[v>>2]|0;a=0;do{f[b>>2]=f[t+(a<<2)>>2];t=f[w>>2]|0;n[i+(t<<1)>>1]=n[i+(t+-1<<1)>>1]|0;n[r+-2>>1]=n[i>>1]|0;m=0;ce(71,e|0,0);t=m;m=0;if(t&1){l=27;break i}t=f[v>>2]|0;f[t+(a<<2)>>2]=f[b>>2];i=(f[l>>2]|0)+(_<<1)|0;f[l>>2]=i;r=(f[u>>2]|0)+(_<<1)|0;f[u>>2]=r;a=a+1|0}while((a|0)<(p|0))}k=k+1|0;if((k|0)>=(f[s>>2]|0)){l=40;break e}}if((l|0)==27){t=Ye()|0;break}else if((l|0)==28){t=Ye()|0;break}}else l=40;while(0)do if((l|0)==40){m=0;ue(182,e|0);e=m;m=0;if(e&1){t=Ye()|0;break}i=f[v>>2]|0;r=i;if(i){t=f[y>>2]|0;if((t|0)!=(i|0))f[y>>2]=t+(~((t+-4-r|0)>>>2)<<2);Iv(i)}i=f[E>>2]|0;if(!i){c=g;return}r=f[A>>2]|0;if((r|0)!=(i|0))f[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);c=g;return}while(0)i=f[v>>2]|0;r=i;if(i){a=f[y>>2]|0;if((a|0)!=(i|0))f[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}i=f[E>>2]|0;if(!i)$e(t|0);r=f[A>>2]|0;if((r|0)!=(i|0))f[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);$e(t|0)}function tf(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;k=e+4580|0;i=f[k>>2]|0;_=e+156|0;if((f[_>>2]|0)<=0)return;w=e+4584|0;m=e+4588|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){h=f[w>>2]|0;d=s[h+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=f[m>>2]|0;u=i-o|0;l=o-d|0;c=((((t[c+(r-i)>>0]|0)*9|0)+(t[c+u>>0]|0)|0)*9|0)+(t[c+l>>0]|0)|0;if(!c){a=(ff(e,b,0)|0)+b|0;r=f[k>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-d>>31;if((o^l|0)<0)l=i;else l=d+((o^u|0)<0?0:u)|0;h=nf(e,c,s[h+(b<<1)>>1]|0,l,0)|0;n[(f[w>>2]|0)+(b<<1)>>1]=h}if((a|0)>=(f[_>>2]|0))break;l=f[k>>2]|0;o=i;i=r;b=a}return}function nf(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;w=i>>31;u=(w^i)-w|0;k=e+172+(u*12|0)+10|0;l=n[k>>1]|0;b=e+172+(u*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){s=5;while(1)if((l<<s|0)<(a|0))s=s+1|0;else break}else s=4;else s=3;else s=2;else s=1;else s=0;h=e+172+(u*12|0)+8|0;a=(n[h>>1]^w)-w+t|0;if((a&65535|0)==(a|0))d=a;else d=a>>31&65535^65535;o=(r-d^w)-w<<16;c=o>>16;if(!s)a=(f[e+172+(u*12|0)+4>>2]<<1)+-1+l>>31;else a=0;t=a^c;t=t>>30^t<<1;a=t>>s;if((a|0)<47){if((a|0)>30){l=(a|0)/2|0;Lt(e,0,l);a=a-l|0}Lt(e,1,a+1|0);Lt(e,t&(1<<s)+-1,s)}else{Lt(e,0,31);Lt(e,1,17);Lt(e,t+65535&65535,16)}t=e+172+(u*12|0)+4|0;l=n[k>>1]|0;a=l<<16>>16==64;s=a&1;r=(f[t>>2]|0)+c>>s;l=a?32:l<<16>>16;f[b>>2]=(f[b>>2]|0)+((o|0)>-65536?c:0-c|0)>>s;s=l+1|0;n[k>>1]=s;a=s+r|0;if((a|0)<1){k=n[h>>1]|0;n[h>>1]=(k&65535)-(k<<16>>16>-128&1);k=(a|0)>(~l|0)?a:0-l|0;f[t>>2]=k;w=c^w;i=i>>>31;i=d+i|0;i=i+w|0;i=i&65535;return i|0}if((r|0)<=0){k=r;f[t>>2]=k;w=c^w;i=i>>>31;i=d+i|0;i=i+w|0;i=i&65535;return i|0}k=r-s|0;b=n[h>>1]|0;n[h>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[t>>2]=k;w=c^w;i=i>>>31;i=d+i|0;i=i+w|0;i=i&65535;return i|0}function ff(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,l=0,o=0,u=0,c=0,d=0,h=0;o=(f[e+156>>2]|0)-i|0;u=f[e+4584>>2]|0;d=f[e+4580>>2]|0;a=n[u+(i+-1<<1)>>1]|0;t=0;while(1){r=u+(t+i<<1)|0;if((n[r>>1]|0)!=a<<16>>16){h=t;break}n[r>>1]=a;t=t+1|0;if((t|0)==(o|0)){h=o;break}}l=a&65535;a=(h|0)==(o|0);c=e+4576|0;t=f[36476+(f[c>>2]<<2)>>2]|0;if((1<<t|0)>(h|0))r=h;else{r=h;do{Lt(e,1,1);t=f[c>>2]|0;r=r-(1<<f[36476+(t<<2)>>2])|0;t=(t|0)>30?31:t+1|0;f[c>>2]=t;t=f[36476+(t<<2)>>2]|0}while((r|0)>=(1<<t|0))}if(a){if(!r){e=o;return e|0}Lt(e,1,1);e=o;return e|0}Lt(e,r,t+1|0);r=h+i|0;a=u+(r<<1)|0;t=s[a>>1]|0;r=s[d+(r<<1)>>1]|0;d=l-r|0;if((((d|0)>-1?d:0-d|0)|0)<1){r=t-l<<16>>16;af(e,e+4564|0,r);r=r+l|0}else{d=r-l>>31|1;i=(re(t-r<<16,d)|0)>>16;af(e,e+4552|0,i);r=(re(i,d)|0)+r|0}n[a>>1]=r;e=f[c>>2]|0;f[c>>2]=(e|0)<1?0:e+-1|0;e=h+1|0;return e|0}function af(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;h=i+9|0;o=a[h>>0]|0;d=i+4|0;c=f[d>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0))s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0<o>>>0:0)n=1;else u=5;do if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}while(0)n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;sf(e,s,n,63-(f[36476+(f[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[d>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[h>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[h>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}function sf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-16|0;if((n|0)<(t+-17|0)){if((n|0)>30){t=(n|0)/2|0;Lt(e,0,t);n=n-t|0}Lt(e,1,n+1|0);Lt(e,(1<<i)+-1&r,i);return}if((f|0)>31){Lt(e,0,31);Lt(e,1,t+-47|0)}else Lt(e,1,f);Lt(e,r+65535&65535,16);return}function lf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+32|0;o=d;ov(o,65535,0);u=e+160|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+164>>2]|0):0)?(f[o+12>>2]|0)==(f[e+168>>2]|0):0){u=f[8909]|0;f[e+4588>>2]=u+(((f[8910]|0)-u|0)>>>1);c=d;return}r=e+4592|0;n=e+4596|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=131072){if(s>>>0>131072?(l=i+131072|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{Yt(r,131072-s|0);i=f[r>>2]|0}o=e+4588|0;f[o>>2]=i+65536;l=e+168|0;a=e+164|0;s=-65536;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==65536)break}c=d;return}function of(e){e=e|0;var i=0,r=0;f[e>>2]=35968;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function uf(e){e=e|0;var i=0,r=0;f[e>>2]=35968;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function cf(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;ov(u,4095,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+160>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+164>>2]=l;f[e+168>>2]=a;vf(e);a=0;do{f[e+172+(a*12|0)>>2]=64;f[e+172+(a*12|0)+4>>2]=0;n[e+172+(a*12|0)+8>>1]=0;n[e+172+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365)u=((i|0)==0?r:i)&255;f[e+4552>>2]=64;f[e+4556>>2]=0;t[e+4560>>0]=u;t[e+4561>>0]=1;t[e+4562>>0]=0;f[e+4564>>2]=64;f[e+4568>>2]=1;t[e+4572>>0]=u;t[e+4573>>0]=1;t[e+4574>>0]=0;f[e+4576>>2]=0;c=s;return}function df(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0;b=c;c=c+16|0;d=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);f[d>>2]=0;f[d+4>>2]=a;u=r+8|0;f[d+8>>2]=f[u>>2];if(a){i=Lv(4600)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0))s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0))f[i>>2]=35744;s=i+132|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+148>>2]=f[a>>2];f[i+152>>2]=0;f[i+156>>2]=0;f[i+160>>2]=0;s=i+4544|0;a=i+164|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0))l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4556|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4568|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fE[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,d)}d=e+100|0;f[d>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];bf(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(h=i+4e3|0,(a|0)!=(h|0)):0){f[u>>2]=h;a=h}}else{Pt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;bf(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}function hf(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){_=e+8|0;v=e+36|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(37,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+16>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(38,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2]
14
+ ;f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(39,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(40,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+20>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=2;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=2;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function bf(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0;g=c;c=c+32|0;E=g+12|0;v=g;w=e+156|0;_=(f[w>>2]|0)+4|0;if((f[e+32>>2]|0)==1)p=f[e+24>>2]|0;else p=1;i=re(p<<1,_)|0;f[E>>2]=0;A=E+4|0;f[A>>2]=0;f[E+8>>2]=0;do if(i){if(!((i|0)<0?(m=0,ue(178,E|0),y=m,m=0,y&1):0))l=6;if((l|0)==6?(r=i<<1,m=0,t=he(67,r|0)|0,y=m,m=0,!(y&1)):0){f[E>>2]=t;y=t+(i<<1)|0;f[E+8>>2]=y;y_(t|0,0,r|0)|0;f[A>>2]=y;break}t=Ye()|0;i=f[E>>2]|0;if(!i)$e(t|0);r=f[A>>2]|0;if((r|0)!=(i|0))f[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);$e(t|0)}while(0)f[v>>2]=0;y=v+4|0;f[y>>2]=0;f[v+8>>2]=0;do if(!p)l=18;else{if(!(p>>>0>1073741823?(m=0,ue(178,v|0),k=m,m=0,k&1):0))l=16;if((l|0)==16?(a=p<<2,m=0,s=he(67,a|0)|0,k=m,m=0,!(k&1)):0){f[v>>2]=s;l=s+(p<<2)|0;f[v+8>>2]=l;y_(s|0,0,a|0)|0;f[y>>2]=l;l=18;break}t=Ye()|0;i=f[v>>2]|0;r=i;if(i){a=f[y>>2]|0;if((a|0)!=(i|0))f[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}while(0)if((l|0)==18){s=e+12|0;e:do if((f[s>>2]|0)>0){l=e+4580|0;o=(re(p,_)|0)+1|0;u=e+4584|0;d=e+92|0;h=(p|0)>0;b=e+4576|0;k=0;i:while(1){r=f[E>>2]|0;i=r+2|0;f[l>>2]=i;r=r+(o<<1)|0;f[u>>2]=r;if(!(k&1))i=r;else{f[l>>2]=r;f[u>>2]=i}a=f[d>>2]|0;m=0;Pe(f[(f[a>>2]|0)+12>>2]|0,a|0,i|0,f[w>>2]|0,_|0);a=m;m=0;if(a&1){l=28;break}if(h){i=f[l>>2]|0;r=f[u>>2]|0;t=f[v>>2]|0;a=0;do{f[b>>2]=f[t+(a<<2)>>2];t=f[w>>2]|0;n[i+(t<<1)>>1]=n[i+(t+-1<<1)>>1]|0;n[r+-2>>1]=n[i>>1]|0;m=0;ce(72,e|0,0);t=m;m=0;if(t&1){l=27;break i}t=f[v>>2]|0;f[t+(a<<2)>>2]=f[b>>2];i=(f[l>>2]|0)+(_<<1)|0;f[l>>2]=i;r=(f[u>>2]|0)+(_<<1)|0;f[u>>2]=r;a=a+1|0}while((a|0)<(p|0))}k=k+1|0;if((k|0)>=(f[s>>2]|0)){l=40;break e}}if((l|0)==27){t=Ye()|0;break}else if((l|0)==28){t=Ye()|0;break}}else l=40;while(0)do if((l|0)==40){m=0;ue(182,e|0);e=m;m=0;if(e&1){t=Ye()|0;break}i=f[v>>2]|0;r=i;if(i){t=f[y>>2]|0;if((t|0)!=(i|0))f[y>>2]=t+(~((t+-4-r|0)>>>2)<<2);Iv(i)}i=f[E>>2]|0;if(!i){c=g;return}r=f[A>>2]|0;if((r|0)!=(i|0))f[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);c=g;return}while(0)i=f[v>>2]|0;r=i;if(i){a=f[y>>2]|0;if((a|0)!=(i|0))f[y>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}i=f[E>>2]|0;if(!i)$e(t|0);r=f[A>>2]|0;if((r|0)!=(i|0))f[A>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);$e(t|0)}function kf(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;k=e+4580|0;i=f[k>>2]|0;_=e+156|0;if((f[_>>2]|0)<=0)return;w=e+4584|0;m=e+4588|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){h=f[w>>2]|0;d=s[h+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=f[m>>2]|0;u=i-o|0;l=o-d|0;c=((((t[c+(r-i)>>0]|0)*9|0)+(t[c+u>>0]|0)|0)*9|0)+(t[c+l>>0]|0)|0;if(!c){a=(mf(e,b,0)|0)+b|0;r=f[k>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-d>>31;if((o^l|0)<0)l=i;else l=d+((o^u|0)<0?0:u)|0;h=wf(e,c,s[h+(b<<1)>>1]|0,l,0)|0;n[(f[w>>2]|0)+(b<<1)>>1]=h}if((a|0)>=(f[_>>2]|0))break;l=f[k>>2]|0;o=i;i=r;b=a}return}function wf(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;w=i>>31;u=(w^i)-w|0;k=e+172+(u*12|0)+10|0;l=n[k>>1]|0;b=e+172+(u*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){s=5;while(1)if((l<<s|0)<(a|0))s=s+1|0;else break}else s=4;else s=3;else s=2;else s=1;else s=0;h=e+172+(u*12|0)+8|0;a=(n[h>>1]^w)-w+t|0;if((a&4095|0)==(a|0))d=a;else d=a>>31&4095^4095;o=(r-d^w)-w<<20;c=o>>20;if(!s)a=(f[e+172+(u*12|0)+4>>2]<<1)+-1+l>>31;else a=0;t=a^c;t=t>>30^t<<1;a=t>>s;if((a|0)<35){if((a|0)>30){l=(a|0)/2|0;Lt(e,0,l);a=a-l|0}Lt(e,1,a+1|0);Lt(e,t&(1<<s)+-1,s)}else{Lt(e,0,31);Lt(e,1,5);Lt(e,t+4095&4095,12)}t=e+172+(u*12|0)+4|0;l=n[k>>1]|0;a=l<<16>>16==64;s=a&1;r=(f[t>>2]|0)+c>>s;l=a?32:l<<16>>16;f[b>>2]=(f[b>>2]|0)+((o|0)>-1048576?c:0-c|0)>>s;s=l+1|0;n[k>>1]=s;a=s+r|0;if((a|0)<1){k=n[h>>1]|0;n[h>>1]=(k&65535)-(k<<16>>16>-128&1);k=(a|0)>(~l|0)?a:0-l|0;f[t>>2]=k;w=c^w;i=i>>>31;i=d+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}if((r|0)<=0){k=r;f[t>>2]=k;w=c^w;i=i>>>31;i=d+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}k=r-s|0;b=n[h>>1]|0;n[h>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[t>>2]=k;w=c^w;i=i>>>31;i=d+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}function mf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,l=0,o=0,u=0,c=0,d=0,h=0;o=(f[e+156>>2]|0)-i|0;u=f[e+4584>>2]|0;d=f[e+4580>>2]|0;a=n[u+(i+-1<<1)>>1]|0;t=0;while(1){r=u+(t+i<<1)|0;if((n[r>>1]|0)!=a<<16>>16){h=t;break}n[r>>1]=a;t=t+1|0;if((t|0)==(o|0)){h=o;break}}l=a&65535;a=(h|0)==(o|0);c=e+4576|0;t=f[36476+(f[c>>2]<<2)>>2]|0;if((1<<t|0)>(h|0))r=h;else{r=h;do{Lt(e,1,1);t=f[c>>2]|0;r=r-(1<<f[36476+(t<<2)>>2])|0;t=(t|0)>30?31:t+1|0;f[c>>2]=t;t=f[36476+(t<<2)>>2]|0}while((r|0)>=(1<<t|0))}if(a){if(!r){e=o;return e|0}Lt(e,1,1);e=o;return e|0}Lt(e,r,t+1|0);r=h+i|0;a=u+(r<<1)|0;t=s[a>>1]|0;r=s[d+(r<<1)>>1]|0;d=l-r|0;if((((d|0)>-1?d:0-d|0)|0)<1){r=t-l<<20>>20;_f(e,e+4564|0,r);r=r+l|0}else{d=r-l>>31|1;i=(re(t-r<<20,d)|0)>>20;_f(e,e+4552|0,i);r=(re(i,d)|0)+r|0}n[a>>1]=r&4095;e=f[c>>2]|0;f[c>>2]=(e|0)<1?0:e+-1|0;e=h+1|0;return e|0}function _f(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;h=i+9|0;o=a[h>>0]|0;d=i+4|0;c=f[d>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0))s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0<o>>>0:0)n=1;else u=5;do if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}while(0)n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;pf(e,s,n,47-(f[36476+(f[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[d>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[h>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[h>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}function pf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-12|0;if((n|0)<(t+-13|0)){if((n|0)>30){t=(n|0)/2|0;Lt(e,0,t);n=n-t|0}Lt(e,1,n+1|0);Lt(e,(1<<i)+-1&r,i);return}if((f|0)>31){Lt(e,0,31);Lt(e,1,t+-43|0)}else Lt(e,1,f);Lt(e,r+4095&4095,12);return}function vf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+32|0;o=d;ov(o,4095,0);u=e+160|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+164>>2]|0):0)?(f[o+12>>2]|0)==(f[e+168>>2]|0):0){u=f[8906]|0;f[e+4588>>2]=u+(((f[8907]|0)-u|0)>>>1);c=d;return}r=e+4592|0;n=e+4596|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=8192){if(s>>>0>8192?(l=i+8192|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{Yt(r,8192-s|0);i=f[r>>2]|0}o=e+4588|0;f[o>>2]=i+4096;l=e+168|0;a=e+164|0;s=-4096;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==4096)break}c=d;return}function gf(e){e=e|0;var i=0,r=0;f[e>>2]=35940;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function yf(e){e=e|0;var i=0,r=0;f[e>>2]=35940;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function Ef(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;ov(u,255,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+160>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+164>>2]=l;f[e+168>>2]=a;Rf(e);a=0;do{f[e+172+(a*12|0)>>2]=4;f[e+172+(a*12|0)+4>>2]=0;n[e+172+(a*12|0)+8>>1]=0;n[e+172+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365)u=((i|0)==0?r:i)&255;f[e+4552>>2]=4;f[e+4556>>2]=0;t[e+4560>>0]=u;t[e+4561>>0]=1;t[e+4562>>0]=0;f[e+4564>>2]=4;f[e+4568>>2]=1;t[e+4572>>0]=u;t[e+4573>>0]=1;t[e+4574>>0]=0;f[e+4576>>2]=0;c=s;return}function Af(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0;b=c;c=c+16|0;d=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);f[d>>2]=0;f[d+4>>2]=a;u=r+8|0;f[d+8>>2]=f[u>>2];if(a){i=Lv(4600)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0))s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0))f[i>>2]=35716;s=i+132|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+148>>2]=f[a>>2];f[i+152>>2]=0;f[i+156>>2]=0;f[i+160>>2]=0;s=i+4544|0;a=i+164|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0))l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4556|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4568|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fE[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,d)}d=e+100|0;f[d>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];Tf(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(h=i+4e3|0,(a|0)!=(h|0)):0){f[u>>2]=h;a=h}}else{Pt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;Tf(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}function Sf(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){_=e+8|0;v=e+36|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(44,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+16>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(45,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(46,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(47,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+20>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=1;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=1;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function Tf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0;v=c;c=c+32|0;y=v+12|0;p=v;k=e+156|0;w=(f[k>>2]|0)+4|0;if((f[e+32>>2]|0)==1)_=f[e+24>>2]|0;else _=1;i=re(_<<1,w)|0;f[y>>2]=0;E=y+4|0;f[E>>2]=0;f[y+8>>2]=0;e:do if(i){if(!((i|0)<0?(m=0,ue(178,y|0),g=m,m=0,g&1):0))s=6;if((s|0)==6?(m=0,r=he(67,i|0)|0,g=m,m=0,!(g&1)):0){f[E>>2]=r;f[y>>2]=r;f[y+8>>2]=r+i;while(1){t[r>>0]=0;r=(f[E>>2]|0)+1|0;f[E>>2]=r;i=i+-1|0;if(!i)break e}}r=Ye()|0;i=f[y>>2]|0;if(!i)$e(r|0);if((f[E>>2]|0)!=(i|0))f[E>>2]=i;Iv(i);$e(r|0)}while(0)f[p>>2]=0;g=p+4|0;f[g>>2]=0;f[p+8>>2]=0;do if(!_)s=19;else{if(!(_>>>0>1073741823?(m=0,ue(178,p|0),b=m,m=0,b&1):0))s=17;if((s|0)==17?(n=_<<2,m=0,a=he(67,n|0)|0,b=m,m=0,!(b&1)):0){f[p>>2]=a;s=a+(_<<2)|0;f[p+8>>2]=s;y_(a|0,0,n|0)|0;f[g>>2]=s;s=19;break}r=Ye()|0;i=f[p>>2]|0;n=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-n|0)>>>2)<<2);Iv(i)}}while(0)if((s|0)==19){a=e+12|0;e:do if((f[a>>2]|0)>0){s=e+4580|0;l=(re(_,w)|0)+1|0;o=e+4584|0;u=e+92|0;d=(_|0)>0;h=e+4576|0;b=0;i:while(1){r=f[y>>2]|0;i=r+1|0;f[s>>2]=i;r=r+l|0;f[o>>2]=r;if(!(b&1))i=r;else{f[s>>2]=r;f[o>>2]=i}n=f[u>>2]|0;m=0;Pe(f[(f[n>>2]|0)+12>>2]|0,n|0,i|0,f[k>>2]|0,w|0);n=m;m=0;if(n&1){s=29;break}if(d){i=f[s>>2]|0;r=f[p>>2]|0;n=0;do{f[h>>2]=f[r+(n<<2)>>2];r=f[k>>2]|0;t[i+r>>0]=t[i+(r+-1)>>0]|0;t[(f[o>>2]|0)+-1>>0]=t[f[s>>2]>>0]|0;m=0;ce(73,e|0,0);r=m;m=0;if(r&1){s=28;break i}r=f[p>>2]|0;f[r+(n<<2)>>2]=f[h>>2];i=(f[s>>2]|0)+w|0;f[s>>2]=i;f[o>>2]=(f[o>>2]|0)+w;n=n+1|0}while((n|0)<(_|0))}b=b+1|0;if((b|0)>=(f[a>>2]|0)){s=41;break e}}if((s|0)==28){r=Ye()|0;break}else if((s|0)==29){r=Ye()|0;break}}else s=41;while(0)do if((s|0)==41){m=0;ue(182,e|0);e=m;m=0;if(e&1){r=Ye()|0;break}i=f[p>>2]|0;r=i;if(i){n=f[g>>2]|0;if((n|0)!=(i|0))f[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);Iv(i)}i=f[y>>2]|0;if(!i){c=v;return}if((f[E>>2]|0)!=(i|0))f[E>>2]=i;Iv(i);c=v;return}while(0)i=f[p>>2]|0;n=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-n|0)>>>2)<<2);Iv(i)}}i=f[y>>2]|0;if(!i)$e(r|0);if((f[E>>2]|0)!=(i|0))f[E>>2]=i;Iv(i);$e(r|0)}function Mf(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;b=e+4580|0;i=f[b>>2]|0;m=e+156|0;if((f[m>>2]|0)<=0)return;k=e+4584|0;w=e+4588|0;s=i;l=a[i+-1>>0]|0;i=a[i>>0]|0;h=0;while(1){d=f[k>>2]|0;c=a[d+(h+-1)>>0]|0;n=h+1|0;r=a[s+n>>0]|0;u=f[w>>2]|0;o=i-l|0;s=l-c|0;u=((((t[u+(r-i)>>0]|0)*9|0)+(t[u+o>>0]|0)|0)*9|0)+(t[u+s>>0]|0)|0;if(!u){n=(Pf(e,h,0)|0)+h|0;r=f[b>>2]|0;i=a[r+(n+-1)>>0]|0;r=a[r+n>>0]|0}else{l=i-c>>31;if((l^s|0)<0)s=i;else s=c+((l^o|0)<0?0:o)|0;d=Cf(e,u,a[d+h>>0]|0,s,0)|0;t[(f[k>>2]|0)+h>>0]=d}if((n|0)>=(f[m>>2]|0))break;s=f[b>>2]|0;l=i;i=r;h=n}return}function Cf(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;w=i>>31;u=(w^i)-w|0;k=e+172+(u*12|0)+10|0;l=n[k>>1]|0;b=e+172+(u*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){s=5;while(1)if((l<<s|0)<(a|0))s=s+1|0;else break}else s=4;else s=3;else s=2;else s=1;else s=0;h=e+172+(u*12|0)+8|0;a=(n[h>>1]^w)-w+t|0;if((a&255|0)==(a|0))d=a;else d=a>>31&255^255;o=(r-d^w)-w<<24;c=o>>24;if(!s)a=(f[e+172+(u*12|0)+4>>2]<<1)+-1+l>>31;else a=0;a=a^c;a=a>>30^a<<1;t=a>>s;if((t|0)<23){Lt(e,1,t+1|0);Lt(e,a&(1<<s)+-1,s)}else{Lt(e,1,24);Lt(e,a+255&255,8)}t=e+172+(u*12|0)+4|0;l=n[k>>1]|0;a=l<<16>>16==64;s=a&1;r=(f[t>>2]|0)+c>>s;l=a?32:l<<16>>16;f[b>>2]=(f[b>>2]|0)+((o|0)>-16777216?c:0-c|0)>>s;s=l+1|0;n[k>>1]=s;a=s+r|0;if((a|0)<1){k=n[h>>1]|0;n[h>>1]=(k&65535)-(k<<16>>16>-128&1);k=(a|0)>(~l|0)?a:0-l|0;f[t>>2]=k;w=c^w;i=i>>>31;i=d+i|0;i=i+w|0;i=i&255;return i|0}if((r|0)<=0){k=r;f[t>>2]=k;w=c^w;i=i>>>31;i=d+i|0;i=i+w|0;i=i&255;return i|0}k=r-s|0;b=n[h>>1]|0;n[h>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[t>>2]=k;w=c^w;i=i>>>31;i=d+i|0;i=i+w|0;i=i&255;return i|0}function Pf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;o=(f[e+156>>2]|0)-i|0;u=f[e+4584>>2]|0;d=f[e+4580>>2]|0;s=t[u+(i+-1)>>0]|0;n=0;while(1){r=u+(n+i)|0;if((t[r>>0]|0)!=s<<24>>24){h=n;break}t[r>>0]=s;n=n+1|0;if((n|0)==(o|0)){h=o;break}}l=s&255;s=(h|0)==(o|0);c=e+4576|0;n=f[36476+(f[c>>2]<<2)>>2]|0;if((1<<n|0)>(h|0))r=h;else{r=h;do{Lt(e,1,1);n=f[c>>2]|0;r=r-(1<<f[36476+(n<<2)>>2])|0;n=(n|0)>30?31:n+1|0;f[c>>2]=n;n=f[36476+(n<<2)>>2]|0}while((r|0)>=(1<<n|0))}if(s){if(!r){e=o;return e|0}Lt(e,1,1);e=o;return e|0}Lt(e,r,n+1|0);r=h+i|0;s=u+r|0;n=a[s>>0]|0;r=a[d+r>>0]|0;d=l-r|0;if((((d|0)>-1?d:0-d|0)|0)<1){r=n-l<<24>>24;xf(e,e+4564|0,r);r=r+l|0}else{d=r-l>>31|1;i=(re(n-r<<24,d)|0)>>24;xf(e,e+4552|0,i);r=(re(i,d)|0)+r|0}t[s>>0]=r;e=f[c>>2]|0;f[c>>2]=(e|0)<1?0:e+-1|0;e=h+1|0;return e|0}function xf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;h=i+9|0;o=a[h>>0]|0;d=i+4|0;c=f[d>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0))s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0<o>>>0:0)n=1;else u=5;do if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}while(0)n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;Df(e,s,n,31-(f[36476+(f[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[d>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[h>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[h>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}function Df(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-8|0;if((n|0)<(t+-9|0)){if((n|0)>30){t=(n|0)/2|0;Lt(e,0,t);n=n-t|0}Lt(e,1,n+1|0);Lt(e,(1<<i)+-1&r,i);return}if((f|0)>31){Lt(e,0,31);Lt(e,1,t+-39|0)}else Lt(e,1,f);Lt(e,r+255&255,8);return}function Rf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+32|0;o=d;ov(o,255,0);u=e+160|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+164>>2]|0):0)?(f[o+12>>2]|0)==(f[e+168>>2]|0):0){u=f[8900]|0;f[e+4588>>2]=u+(((f[8901]|0)-u|0)>>>1);c=d;return}r=e+4592|0;n=e+4596|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=512){if(s>>>0>512?(l=i+512|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{Yt(r,512-s|0);i=f[r>>2]|0}o=e+4588|0;f[o>>2]=i+256;l=e+168|0;a=e+164|0;s=-256;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==256)break}c=d;return}function Of(e){e=e|0;var i=0,r=0;f[e>>2]=35912;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function Lf(e){e=e|0;var i=0,r=0;f[e>>2]=35912;i=f[e+4592>>2]|0;if(i){r=e+4596|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function If(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;ov(u,255,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+160>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+164>>2]=l;f[e+168>>2]=a;zf(e);a=0;do{f[e+172+(a*12|0)>>2]=4;f[e+172+(a*12|0)+4>>2]=0;n[e+172+(a*12|0)+8>>1]=0;n[e+172+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365)u=((i|0)==0?r:i)&255;f[e+4552>>2]=4;f[e+4556>>2]=0;t[e+4560>>0]=u;t[e+4561>>0]=1;t[e+4562>>0]=0;f[e+4564>>2]=4;f[e+4568>>2]=1;t[e+4572>>0]=u;t[e+4573>>0]=1;t[e+4574>>0]=0;f[e+4576>>2]=0;c=s;return}function Bf(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0;b=c;c=c+16|0;d=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);f[d>>2]=0;f[d+4>>2]=a;u=r+8|0;f[d+8>>2]=f[u>>2];if(a){i=Lv(4600)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0))s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0))f[i>>2]=35688;s=i+132|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+148>>2]=f[a>>2];f[i+152>>2]=0;f[i+156>>2]=0;f[i+160>>2]=0;s=i+4544|0;a=i+164|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0))l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4556|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4568|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fE[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,d)}d=e+100|0;f[d>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];Ff(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(h=i+4e3|0,(a|0)!=(h|0)):0){f[u>>2]=h;a=h}}else{Pt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;Ff(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}function Nf(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){_=e+8|0;v=e+36|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(44,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+16>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(45,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(46,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(47,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+20>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=3;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=3;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function Ff(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0;v=c;c=c+32|0;y=v+12|0;p=v;k=e+156|0;w=(f[k>>2]|0)+4|0;if((f[e+32>>2]|0)==1)_=f[e+24>>2]|0;else _=1;i=re(_<<1,w)|0;f[y>>2]=0;E=y+4|0;f[E>>2]=0;f[y+8>>2]=0;e:do if(i){if(!(i>>>0>1431655765?(m=0,ue(178,y|0),g=m,m=0,g&1):0))s=6;if((s|0)==6?(m=0,r=he(67,i*3|0)|0,g=m,m=0,!(g&1)):0){f[E>>2]=r;f[y>>2]=r;f[y+8>>2]=r+(i*3|0);while(1){t[r>>0]=0;t[r+1>>0]=0;t[r+2>>0]=0;r=(f[E>>2]|0)+3|0;f[E>>2]=r;i=i+-1|0;if(!i)break e}}n=Ye()|0;i=f[y>>2]|0;if(!i)$e(n|0);r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Iv(i);$e(n|0)}while(0)f[p>>2]=0;g=p+4|0;f[g>>2]=0;f[p+8>>2]=0;do if(!_)s=19;else{if(!(_>>>0>1073741823?(m=0,ue(178,p|0),b=m,m=0,b&1):0))s=17;if((s|0)==17?(n=_<<2,m=0,a=he(67,n|0)|0,b=m,m=0,!(b&1)):0){f[p>>2]=a;s=a+(_<<2)|0;f[p+8>>2]=s;y_(a|0,0,n|0)|0;f[g>>2]=s;s=19;break}n=Ye()|0;i=f[p>>2]|0;r=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}while(0)if((s|0)==19){a=e+12|0;e:do if((f[a>>2]|0)>0){s=e+4580|0;l=(re(_,w)|0)+1|0;o=e+4584|0;u=e+92|0;d=(_|0)>0;h=e+4576|0;b=0;i:while(1){n=f[y>>2]|0;i=n+3|0;f[s>>2]=i;r=n+(l*3|0)|0;f[o>>2]=r;if(!(b&1))i=l;else{f[s>>2]=r;f[o>>2]=i;i=1}r=f[u>>2]|0;m=0;Pe(f[(f[r>>2]|0)+12>>2]|0,r|0,n+(i*3|0)|0,f[k>>2]|0,w|0);n=m;m=0;if(n&1){s=29;break}if(d){i=f[p>>2]|0;r=f[s>>2]|0;n=0;do{f[h>>2]=f[i+(n<<2)>>2];A=f[k>>2]|0;i=r+(A*3|0)|0;r=r+((A+-1|0)*3|0)|0;t[i>>0]=t[r>>0]|0;t[i+1>>0]=t[r+1>>0]|0;t[i+2>>0]=t[r+2>>0]|0;i=f[s>>2]|0;r=(f[o>>2]|0)+-3|0;t[r>>0]=t[i>>0]|0;t[r+1>>0]=t[i+1>>0]|0;t[r+2>>0]=t[i+2>>0]|0;m=0;ce(74,e|0,0);r=m;m=0;if(r&1){s=28;break i}i=f[p>>2]|0;f[i+(n<<2)>>2]=f[h>>2];r=(f[s>>2]|0)+(w*3|0)|0;f[s>>2]=r;f[o>>2]=(f[o>>2]|0)+(w*3|0);n=n+1|0}while((n|0)<(_|0))}b=b+1|0;if((b|0)>=(f[a>>2]|0)){s=41;break e}}if((s|0)==28){n=Ye()|0;break}else if((s|0)==29){n=Ye()|0;break}}else s=41;while(0)do if((s|0)==41){m=0;ue(182,e|0);A=m;m=0;if(A&1){n=Ye()|0;break}i=f[p>>2]|0;r=i;if(i){n=f[g>>2]|0;if((n|0)!=(i|0))f[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);Iv(i)}i=f[y>>2]|0;if(!i){c=v;return}r=f[E>>2]|0;if((r|0)!=(i|0))f[E>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Iv(i);c=v;return}while(0)i=f[p>>2]|0;r=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}i=f[y>>2]|0;if(!i)$e(n|0);r=f[E>>2]|0
15
+ ;if((r|0)!=(i|0))f[E>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Iv(i);$e(n|0)}function jf(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;T=e+156|0;if((f[T>>2]|0)<=0)return;M=e+4584|0;C=e+4580|0;P=e+4588|0;S=0;while(1){y=S+-1|0;l=f[M>>2]|0;o=f[C>>2]|0;i=S+1|0;s=a[o+(S*3|0)>>0]|0;A=f[P>>2]|0;u=a[o+(y*3|0)>>0]|0;c=s-u|0;d=a[l+(y*3|0)>>0]|0;h=u-d|0;b=((((t[A+((a[o+(i*3|0)>>0]|0)-s)>>0]|0)*9|0)+(t[A+c>>0]|0)|0)*9|0)+(t[A+h>>0]|0)|0;n=a[o+(S*3|0)+1>>0]|0;k=a[o+(y*3|0)+1>>0]|0;w=n-k|0;m=a[l+(y*3|0)+1>>0]|0;_=k-m|0;p=((((t[A+((a[o+(i*3|0)+1>>0]|0)-n)>>0]|0)*9|0)+(t[A+w>>0]|0)|0)*9|0)+(t[A+_>>0]|0)|0;r=a[o+(S*3|0)+2>>0]|0;v=a[o+(y*3|0)+2>>0]|0;g=r-v|0;y=a[l+(y*3|0)+2>>0]|0;E=v-y|0;A=((((t[A+((a[o+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(t[A+g>>0]|0)|0)*9|0)+(t[A+E>>0]|0)|0;if(!(p|b|A))i=(Uf(e,S,0)|0)+S|0;else{o=a[l+(S*3|0)>>0]|0;l=s-d>>31;if((l^h|0)>=0)if((l^c|0)<0)s=d;else s=d-u+s|0;o=Hf(e,b,o,s,0)|0;l=a[(f[M>>2]|0)+(S*3|0)+1>>0]|0;s=n-m>>31;if((s^_|0)>=0)if((s^w|0)<0)n=m;else n=m-k+n|0;s=Hf(e,p,l,n,0)|0;l=a[(f[M>>2]|0)+(S*3|0)+2>>0]|0;n=r-y>>31;if((n^E|0)>=0)if((n^g|0)<0)r=y;else r=y-v+r|0;A=Hf(e,A,l,r,0)|0;S=(f[M>>2]|0)+(S*3|0)|0;t[S>>0]=o;t[S+1>>0]=s;t[S+2>>0]=A}if((i|0)<(f[T>>2]|0))S=i;else break}return}function Uf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0;d=(f[e+156>>2]|0)-i|0;h=f[e+4584>>2]|0;b=f[e+4580>>2]|0;c=h+((i+-1|0)*3|0)|0;k=t[c>>0]|0;u=t[c+1>>0]|0;c=t[c+2>>0]|0;l=0;while(1){r=h+((l+i|0)*3|0)|0;n=r+1|0;s=r+2|0;if(!(((t[r>>0]|0)==k<<24>>24?(t[n>>0]|0)==u<<24>>24:0)&(t[s>>0]|0)==c<<24>>24))break;t[r>>0]=k;t[n>>0]=u;t[s>>0]=c;l=l+1|0;if((l|0)==(d|0)){l=d;break}}s=(l|0)==(d|0);o=e+4576|0;n=f[36476+(f[o>>2]<<2)>>2]|0;if((1<<n|0)>(l|0))r=l;else{r=l;do{Lt(e,1,1);n=f[o>>2]|0;r=r-(1<<f[36476+(n<<2)>>2])|0;n=(n|0)>30?31:n+1|0;f[o>>2]=n;n=f[36476+(n<<2)>>2]|0}while((r|0)>=(1<<n|0))}if(!s){Lt(e,r,n+1|0);w=l+i|0;d=h+(w*3|0)|0;h=d+1|0;m=t[h>>0]|0;i=d+2|0;r=t[i>>0]|0;b=b+(w*3|0)|0;w=t[b+1>>0]|0;p=t[b+2>>0]|0;b=a[b>>0]|0;s=b-(k&255)>>31|1;n=(re((a[d>>0]|0)-b<<24,s)|0)>>24;_=e+4552|0;Yf(e,_,n);k=w&255;w=k-(u&255)>>31|1;m=(re((m&255)-k<<24,w)|0)>>24;Yf(e,_,m);u=p&255;c=u-(c&255)>>31|1;r=(re((r&255)-u<<24,c)|0)>>24;Yf(e,_,r);k=(re(m,w)|0)+k&255;e=(re(r,c)|0)+u&255;t[d>>0]=(re(n,s)|0)+b;t[h>>0]=k;t[i>>0]=e;e=f[o>>2]|0;f[o>>2]=(e|0)<1?0:e+-1|0;e=l+1|0;return e|0}if(!r){p=d;return p|0}Lt(e,1,1);p=d;return p|0}function Hf(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;w=i>>31;u=(w^i)-w|0;k=e+172+(u*12|0)+10|0;l=n[k>>1]|0;b=e+172+(u*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){s=5;while(1)if((l<<s|0)<(a|0))s=s+1|0;else break}else s=4;else s=3;else s=2;else s=1;else s=0;h=e+172+(u*12|0)+8|0;a=(n[h>>1]^w)-w+t|0;if((a&255|0)==(a|0))d=a;else d=a>>31&255^255;o=(r-d^w)-w<<24;c=o>>24;if(!s)a=(f[e+172+(u*12|0)+4>>2]<<1)+-1+l>>31;else a=0;a=a^c;a=a>>30^a<<1;t=a>>s;if((t|0)<23){Lt(e,1,t+1|0);Lt(e,a&(1<<s)+-1,s)}else{Lt(e,1,24);Lt(e,a+255&255,8)}t=e+172+(u*12|0)+4|0;l=n[k>>1]|0;a=l<<16>>16==64;s=a&1;r=(f[t>>2]|0)+c>>s;l=a?32:l<<16>>16;f[b>>2]=(f[b>>2]|0)+((o|0)>-16777216?c:0-c|0)>>s;s=l+1|0;n[k>>1]=s;a=s+r|0;if((a|0)<1){k=n[h>>1]|0;n[h>>1]=(k&65535)-(k<<16>>16>-128&1);k=(a|0)>(~l|0)?a:0-l|0;f[t>>2]=k;w=c^w;i=i>>>31;i=d+i|0;i=i+w|0;i=i&255;return i|0}if((r|0)<=0){k=r;f[t>>2]=k;w=c^w;i=i>>>31;i=d+i|0;i=i+w|0;i=i&255;return i|0}k=r-s|0;b=n[h>>1]|0;n[h>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[t>>2]=k;w=c^w;i=i>>>31;i=d+i|0;i=i+w|0;i=i&255;return i|0}function Yf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;h=i+9|0;o=a[h>>0]|0;d=i+4|0;c=f[d>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0))s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0<o>>>0:0)n=1;else u=5;do if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}while(0)n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;qf(e,s,n,31-(f[36476+(f[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[d>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[h>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[h>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}function qf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-8|0;if((n|0)<(t+-9|0)){if((n|0)>30){t=(n|0)/2|0;Lt(e,0,t);n=n-t|0}Lt(e,1,n+1|0);Lt(e,(1<<i)+-1&r,i);return}if((f|0)>31){Lt(e,0,31);Lt(e,1,t+-39|0)}else Lt(e,1,f);Lt(e,r+255&255,8);return}function zf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+32|0;o=d;ov(o,255,0);u=e+160|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+164>>2]|0):0)?(f[o+12>>2]|0)==(f[e+168>>2]|0):0){u=f[8900]|0;f[e+4588>>2]=u+(((f[8901]|0)-u|0)>>>1);c=d;return}r=e+4592|0;n=e+4596|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=512){if(s>>>0>512?(l=i+512|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{Yt(r,512-s|0);i=f[r>>2]|0}o=e+4588|0;f[o>>2]=i+256;l=e+168|0;a=e+164|0;s=-256;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==256)break}c=d;return}function Xf(e){e=e|0;var i=0,r=0;f[e>>2]=35884;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function Gf(e){e=e|0;var i=0,r=0;f[e>>2]=35884;i=f[e+4616>>2]|0;if(i){r=e+4620|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36612;i=f[e+120>>2]|0;if(i){r=e+124|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+92|0;i=f[r>>2]|0;f[r>>2]=0;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function Vf(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,d=0;o=c;c=c+32|0;d=o;ov(d,f[e+136>>2]|0,f[e+144>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[d+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[d+12>>2]|0:s;r=f[i+16>>2]|0;a=f[d+16>>2]|0;f[e+184>>2]=(u|0)==0?f[d+4>>2]|0:u;f[e+188>>2]=l;f[e+192>>2]=s;ta(e);s=e+140|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+196+(l*12|0)>>2]=i;f[e+196+(l*12|0)+4>>2]=0;n[e+196+(l*12|0)+8>>1]=0;n[e+196+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365)u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;d=((r|0)==0?a:r)&255;f[e+4576>>2]=u;f[e+4580>>2]=0;t[e+4584>>0]=d;t[e+4585>>0]=1;t[e+4586>>0]=0;f[e+4588>>2]=u;f[e+4592>>2]=1;t[e+4596>>0]=d;t[e+4597>>0]=1;t[e+4598>>0]=0;f[e+4600>>2]=0;c=o;return}function Kf(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0;b=c;c=c+16|0;d=b;u=e+92|0;o=f[i>>2]|0;f[i>>2]=0;i=f[u>>2]|0;f[u>>2]=o;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);f[d>>2]=0;f[d+4>>2]=a;u=r+8|0;f[d+8>>2]=f[u>>2];if(a){i=Lv(4624)|0;a=e+8|0;s=i+4|0;l=a;o=s+84|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0))s=i+88|0;o=s+40|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(o|0))f[i>>2]=35660;f[i+128>>2]=f[e+136>>2];f[i+132>>2]=f[e+140>>2];f[i+136>>2]=f[e+144>>2];f[i+140>>2]=f[e+148>>2];f[i+144>>2]=f[e+152>>2];f[i+148>>2]=f[e+156>>2];f[i+152>>2]=f[e+160>>2];s=i+156|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[i+172>>2]=f[a>>2];f[i+176>>2]=0;f[i+180>>2]=0;f[i+184>>2]=0;s=i+4568|0;a=i+188|0;do{f[a>>2]=0;f[a+4>>2]=0;n[a+8>>1]=0;n[a+10>>1]=1;a=a+12|0}while((a|0)!=(s|0))l=e+4|0;f[s>>2]=0;f[s+4>>2]=0;n[s+8>>1]=0;t[s+10>>0]=0;o=i+4580|0;f[o>>2]=0;f[o+4>>2]=0;n[o+8>>1]=0;t[o+10>>0]=0;o=i+4592|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;t[o+28>>0]=0;if(!(f[i+28>>2]|0))f[i+20>>2]=1;a=f[l>>2]|0;f[l>>2]=i;if(a){fE[f[(f[a>>2]|0)+4>>2]&255](a);i=f[l>>2]|0}Ct(i,d)}d=e+100|0;f[d>>2]=32;f[e+96>>2]=0;i=f[r>>2]|0;if(!i){f[e+108>>2]=f[r+4>>2];f[e+104>>2]=f[u>>2];Jf(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}f[e+132>>2]=i;s=e+120|0;u=e+124|0;a=f[u>>2]|0;i=f[s>>2]|0;l=i;o=a-l|0;if(o>>>0>=4e3){if(o>>>0>4e3?(h=i+4e3|0,(a|0)!=(h|0)):0){f[u>>2]=h;a=h}}else{Pt(s,4e3-o|0);i=f[s>>2]|0;l=i;a=f[u>>2]|0}f[e+108>>2]=l;f[e+104>>2]=a-i;Jf(e);h=e+116|0;h=f[h>>2]|0;e=f[d>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=h-e|0;c=b;return e|0}function Wf(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+32>>2]|0)!=0?(f[e+24>>2]|0)!=1:0){_=e+8|0;v=e+36|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(44,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+16>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(45,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(46,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(47,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+20>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=1;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=1;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function Jf(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0;v=c;c=c+32|0;y=v+12|0;p=v;w=e+180|0;_=(f[w>>2]|0)+4|0;if((f[e+32>>2]|0)==1)b=f[e+24>>2]|0;else b=1;i=re(b<<1,_)|0;f[y>>2]=0;E=y+4|0;f[E>>2]=0;f[y+8>>2]=0;e:do if(i){if(!((i|0)<0?(m=0,ue(178,y|0),g=m,m=0,g&1):0))k=6;if((k|0)==6?(m=0,r=he(67,i|0)|0,g=m,m=0,!(g&1)):0){f[E>>2]=r;f[y>>2]=r;f[y+8>>2]=r+i;while(1){t[r>>0]=0;r=(f[E>>2]|0)+1|0;f[E>>2]=r;i=i+-1|0;if(!i)break e}}r=Ye()|0;i=f[y>>2]|0;if(!i)$e(r|0);if((f[E>>2]|0)!=(i|0))f[E>>2]=i;Iv(i);$e(r|0)}while(0)f[p>>2]=0;g=p+4|0;f[g>>2]=0;f[p+8>>2]=0;do if(!b)k=19;else{if(!(b>>>0>1073741823?(m=0,ue(178,p|0),h=m,m=0,h&1):0))k=17;if((k|0)==17?(n=b<<2,m=0,a=he(67,n|0)|0,h=m,m=0,!(h&1)):0){f[p>>2]=a;k=a+(b<<2)|0;f[p+8>>2]=k;y_(a|0,0,n|0)|0;f[g>>2]=k;k=19;break}r=Ye()|0;i=f[p>>2]|0;n=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-n|0)>>>2)<<2);Iv(i)}}while(0)if((k|0)==19){l=e+12|0;e:do if((f[l>>2]|0)>0){o=e+4604|0;u=(re(b,_)|0)+1|0;d=e+4608|0;h=e+92|0;s=e+4600|0;if((b|0)>0)a=0;else{n=0;while(1){r=f[y>>2]|0;i=r+1|0;f[o>>2]=i;r=r+u|0;f[d>>2]=r;if(!(n&1))i=r;else{f[o>>2]=r;f[d>>2]=i}b=f[h>>2]|0;m=0;Pe(f[(f[b>>2]|0)+12>>2]|0,b|0,i|0,f[w>>2]|0,_|0);b=m;m=0;if(b&1)break;n=n+1|0;if((n|0)>=(f[l>>2]|0)){k=45;break e}}r=Ye()|0;break}i:while(1){r=f[y>>2]|0;i=r+1|0;f[o>>2]=i;r=r+u|0;f[d>>2]=r;if(!(a&1))i=r;else{f[o>>2]=r;f[d>>2]=i}k=f[h>>2]|0;m=0;Pe(f[(f[k>>2]|0)+12>>2]|0,k|0,i|0,f[w>>2]|0,_|0);k=m;m=0;if(k&1){k=28;break}i=f[p>>2]|0;r=f[o>>2]|0;n=0;do{f[s>>2]=f[i+(n<<2)>>2];k=f[w>>2]|0;t[r+k>>0]=t[r+(k+-1)>>0]|0;t[(f[d>>2]|0)+-1>>0]=t[f[o>>2]>>0]|0;m=0;ce(75,e|0,0);k=m;m=0;if(k&1){k=36;break i}i=f[p>>2]|0;f[i+(n<<2)>>2]=f[s>>2];r=(f[o>>2]|0)+_|0;f[o>>2]=r;f[d>>2]=(f[d>>2]|0)+_;n=n+1|0}while((n|0)<(b|0))a=a+1|0;if((a|0)>=(f[l>>2]|0)){k=45;break e}}if((k|0)==28){r=Ye()|0;break}else if((k|0)==36){r=Ye()|0;break}}else k=45;while(0)do if((k|0)==45){m=0;ue(182,e|0);e=m;m=0;if(e&1){r=Ye()|0;break}i=f[p>>2]|0;r=i;if(i){n=f[g>>2]|0;if((n|0)!=(i|0))f[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);Iv(i)}i=f[y>>2]|0;if(!i){c=v;return}if((f[E>>2]|0)!=(i|0))f[E>>2]=i;Iv(i);c=v;return}while(0)i=f[p>>2]|0;n=i;if(i){a=f[g>>2]|0;if((a|0)!=(i|0))f[g>>2]=a+(~((a+-4-n|0)>>>2)<<2);Iv(i)}}i=f[y>>2]|0;if(!i)$e(r|0);if((f[E>>2]|0)!=(i|0))f[E>>2]=i;Iv(i);$e(r|0)}function Qf(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;b=e+4604|0;i=f[b>>2]|0;m=e+180|0;if((f[m>>2]|0)<=0)return;k=e+4608|0;w=e+4612|0;s=i;l=a[i+-1>>0]|0;i=a[i>>0]|0;h=0;while(1){d=f[k>>2]|0;c=a[d+(h+-1)>>0]|0;n=h+1|0;r=a[s+n>>0]|0;u=f[w>>2]|0;o=i-l|0;s=l-c|0;u=((((t[u+(r-i)>>0]|0)*9|0)+(t[u+o>>0]|0)|0)*9|0)+(t[u+s>>0]|0)|0;if(!u){n=($f(e,h,0)|0)+h|0;r=f[b>>2]|0;i=a[r+(n+-1)>>0]|0;r=a[r+n>>0]|0}else{l=i-c>>31;if((l^s|0)<0)s=i;else s=c+((l^o|0)<0?0:o)|0;d=Zf(e,u,a[d+h>>0]|0,s,0)|0;t[(f[k>>2]|0)+h>>0]=d}if((n|0)>=(f[m>>2]|0))break;s=f[b>>2]|0;l=i;i=r;h=n}return}function Zf(e,i,r,t,a){e=e|0;i=i|0;r=r|0;t=t|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;m=i>>31;s=(m^i)-m|0;k=e+196+(s*12|0)+10|0;l=n[k>>1]|0;b=e+196+(s*12|0)|0;a=f[b>>2]|0;if((l|0)<(a|0))if((l<<1|0)<(a|0))if((l<<2|0)<(a|0))if((l<<3|0)<(a|0))if((l<<4|0)<(a|0)){i=5;while(1)if((l<<i|0)<(a|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;d=e+196+(s*12|0)+8|0;a=(n[d>>1]^m)-m+t|0;w=e+136|0;t=f[w>>2]|0;if((a&t|0)==(a|0))c=a;else c=t&~(a>>31);a=(r-c^m)-m|0;u=e+144|0;t=f[u>>2]|0;if((a|0)>0)a=(a+t|0)/(t<<1|1|0)|0;else a=(a-t|0)/(t<<1|1|0)|0;h=e+140|0;o=f[h>>2]|0;r=((a|0)<0?o:0)+a|0;o=r-((r|0)<((o+1|0)/2|0|0)?0:o)|0;s=e+196+(s*12|0)+4|0;if(!(t|i))a=(f[s>>2]<<1)+-1+l>>31;else a=0;t=a^o;ra(e,i,t>>30^t<<1,f[e+156>>2]|0);t=f[e+160>>2]|0;i=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;a=(f[s>>2]|0)+(re(f[u>>2]<<1|1,o)|0)|0;r=n[k>>1]|0;if((r|0)==(t|0)){i=i>>1;a=a>>1;r=t>>1}f[b>>2]=i;t=r+1|0;n[k>>1]=t;i=t+a|0;if((i|0)>=1){if((a|0)>0){a=a-t|0;k=n[d>>1]|0;n[d>>1]=(k<<16>>16<127&1)+(k&65535);a=(a|0)>0?0:a}}else{a=n[d>>1]|0;n[d>>1]=(a&65535)-(a<<16>>16>-128&1);a=(i|0)>(~r|0)?i:0-r|0}f[s>>2]=a;t=f[u>>2]|0;r=t<<1|1;i=(re(r,(o^m)-m|0)|0)+c|0;if((i|0)>=(0-t|0)){a=f[w>>2]|0;if((a+t|0)<(i|0))i=i-(re(f[h>>2]|0,r)|0)|0}else{i=(re(f[h>>2]|0,r)|0)+i|0;a=f[w>>2]|0}if((i&a|0)==(i|0)){m=i;m=m&255;return m|0}m=a&~(i>>31);m=m&255;return m|0}function $f(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;c=(f[e+180>>2]|0)-i|0;d=f[e+4608>>2]|0;h=f[e+4604>>2]|0;s=t[d+(i+-1)>>0]|0;u=s&255;r=e+144|0;l=0;while(1){n=d+(l+i)|0;o=(a[n>>0]|0)-u|0;if((((o|0)>-1?o:0-o|0)|0)>(f[r>>2]|0))break;t[n>>0]=s;l=l+1|0;if((l|0)==(c|0)){l=c;break}}s=(l|0)==(c|0);o=e+4600|0;n=f[36476+(f[o>>2]<<2)>>2]|0;if((1<<n|0)>(l|0))r=l;else{r=l;do{Lt(e,1,1);n=f[o>>2]|0;r=r-(1<<f[36476+(n<<2)>>2])|0;n=(n|0)>30?31:n+1|0;f[o>>2]=n;n=f[36476+(n<<2)>>2]|0}while((r|0)>=(1<<n|0))}if(!s){Lt(e,r,n+1|0);c=l+i|0;i=d+c|0;t[i>>0]=ea(e,a[i>>0]|0,u,a[h+c>>0]|0)|0;e=f[o>>2]|0;f[o>>2]=(e|0)<1?0:e+-1|0;e=l+1|0;return e|0}if(!r){e=c;return e|0}Lt(e,1,1);e=c;return e|0}function ea(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;l=r-t|0;o=e+136|0;s=e+144|0;n=f[s>>2]|0;if((((l|0)>-1?l:0-l|0)|0)>(n|0)){a=t-r>>31|1;i=re(a,i-t|0)|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=f[l>>2]|0;r=((i|0)<0?n:0)+i|0;n=r-((r|0)<((n+1|0)/2|0|0)?0:n)|0;ia(e,e+4576|0,n);n=re(n,a)|0;a=f[s>>2]|0;s=a<<1|1;n=(re(n,s)|0)+t|0;if((n|0)>=(0-a|0)){i=f[o>>2]|0;if((i+a|0)<(n|0))n=n-(re(f[l>>2]|0,s)|0)|0}else{n=(re(f[l>>2]|0,s)|0)+n|0;i=f[o>>2]|0}if((n&i|0)==(n|0)){o=n;o=o&255;return o|0}o=i&~(n>>31);o=o&255;return o|0}else{i=i-r|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=f[l>>2]|0;a=((i|0)<0?n:0)+i|0;n=a-((a|0)<((n+1|0)/2|0|0)?0:n)|0;ia(e,e+4588|0,n);a=f[s>>2]|0;s=a<<1|1;n=(re(s,n)|0)+r|0;if((n|0)>=(0-a|0)){i=f[o>>2]|0;if((i+a|0)<(n|0))n=n-(re(f[l>>2]|0,s)|0)|0}else{n=(re(f[l>>2]|0,s)|0)+n|0;i=f[o>>2]|0}if((n&i|0)==(n|0)){o=n;o=o&255;return o|0}o=i&~(n>>31);o=o&255;return o|0}return 0}function ia(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;h=i+9|0;o=a[h>>0]|0;d=i+4|0;c=f[d>>2]|0;s=(re(o>>>1,c)|0)+(f[i>>2]|0)|0;if((o|0)<(s|0)){l=o;n=0;do{l=l<<1;n=n+1|0}while((l|0)<(s|0))s=n}else s=0;if((r|0)>0&(s|0)==0?a[i+10>>0]<<1>>>0<o>>>0:0)n=1;else u=5;do if((u|0)==5){n=(r|0)<0;if(n?a[i+10>>0]<<1>>>0>=o>>>0:0){n=1;break}n=n&(s|0)!=0}while(0)n=(((r|0)>-1?r:0-r|0)<<1)-c+(n<<31>>31)|0;ra(e,s,n,(f[e+156>>2]|0)+-1-(f[36476+(f[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;t[e>>0]=(a[e>>0]|0)+1}n=(n+1-(f[d>>2]|0)>>1)+(f[i>>2]|0)|0;f[i>>2]=n;s=t[h>>0]|0;if(s<<24>>24!=(t[i+8>>0]|0)){i=s;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}f[i>>2]=n>>1;e=(s&255)>>>1;t[h>>0]=e;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;t[h>>0]=i;return}function ra(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0;n=r>>i;a=e+148|0;s=t-(f[a>>2]|0)|0;if((n|0)<(s+-1|0)){if((n|0)>30){t=(n|0)/2|0;Lt(e,0,t);n=n-t|0}Lt(e,1,n+1|0);Lt(e,(1<<i)+-1&r,i);return}if((s|0)>31){Lt(e,0,31);Lt(e,1,t+-31-(f[a>>2]|0)|0)}else Lt(e,1,s);i=f[a>>2]|0;Lt(e,(1<<i)+-1&r+-1,i);return}function ta(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+144|0;e:do if(!(f[b>>2]|0)){r=f[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<<f[i>>2])+-1|0)?(ov(n,r,0),(f[n+4>>2]|0)==(f[e+184>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+188>>2]|0):0)?(f[n+12>>2]|0)==(f[e+192>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4612>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4612>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4612>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4612>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+152|0;while(0)h=1<<f[i>>2];r=e+4616|0;n=h<<1;a=e+4620|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0<l>>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{Yt(r,n-l|0);i=f[r>>2]|0}d=e+4612|0;f[d>>2]=i+h;i=0-h|0;if((h|0)<=(i|0)){c=k;return}o=e+192|0;u=e+188|0;l=e+184|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[d>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(h|0))c=k;return}function na(e){e=e|0;var i=0,r=0;f[e>>2]=35856;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function fa(e){e=e|0;var i=0,r=0;f[e>>2]=35856;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function aa(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){_=e+4|0;v=e+32|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(37,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+12>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(38,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(39,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(40,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+16>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=2;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=2;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function sa(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,d=0;o=c;c=c+32|0;d=o;ov(d,f[e+128>>2]|0,f[e+136>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[d+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[d+12>>2]|0:s;r=f[i+16>>2]|0;a=f[d+16>>2]|0;f[e+176>>2]=(u|0)==0?f[d+4>>2]|0:u;f[e+180>>2]=l;f[e+184>>2]=s;_a(e);s=e+132|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+188+(l*12|0)>>2]=i;f[e+188+(l*12|0)+4>>2]=0;n[e+188+(l*12|0)+8>>1]=0;n[e+188+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365)u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;d=((r|0)==0?a:r)&255;f[e+4568>>2]=u;f[e+4572>>2]=0;t[e+4576>>0]=d;t[e+4577>>0]=1;t[e+4578>>0]=0;f[e+4580>>2]=u;f[e+4584>>2]=1;t[e+4588>>0]=d;t[e+4589>>0]=1;t[e+4590>>0]=0;f[e+4592>>2]=0;c=o;return}function la(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4620>>0]=a&1;i=e+156|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);oa(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function oa(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;T=c;c=c+32|0;C=T+12|0;S=T;y=e+172|0;E=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)A=f[e+20>>2]|0;else A=1;i=re(A<<1,E)|0;f[C>>2]=0;P=C+4|0;f[P>>2]=0;f[C+8>>2]=0;do if(i){if(!((i|0)<0?(m=0,ue(178,C|0),M=m,m=0,M&1):0))l=6;if((l|0)==6?(r=i<<1,m=0,t=he(67,r|0)|0,M=m,m=0,!(M&1)):0){f[C>>2]=t;M=t+(i<<1)|0;f[C+8>>2]=M;y_(t|0,0,r|0)|0;f[P>>2]=M;break}t=Ye()|0;i=f[C>>2]|0;if(!i)$e(t|0);r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);$e(t|0)}while(0)f[S>>2]=0;M=S+4|0;f[M>>2]=0;f[S+8>>2]=0;do if(!A)l=18;else{if(!(A>>>0>1073741823?(m=0,ue(178,S|0),g=m,m=0,g&1):0))l=16;if((l|0)==16?(a=A<<2,m=0,s=he(67,a|0)|0,g=m,m=0,!(g&1)):0){f[S>>2]=s;l=s+(A<<2)|0;f[S+8>>2]=l;y_(s|0,0,a|0)|0;f[M>>2]=l;l=18;break}t=Ye()|0;i=f[S>>2]|0;r=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}while(0)if((l|0)==18){s=e+8|0;e:do if((f[s>>2]|0)>0){l=e+4596|0;o=re(A,E)|0;u=o+1|0;d=e+4600|0;h=(A|0)>0;b=e+160|0;k=e+168|0;w=e+164|0;_=e+156|0;p=e+88|0;v=e+4592|0;g=0;i:while(1){t=f[C>>2]|0;r=t+2|0;f[l>>2]=r;t=t+(u<<1)|0;f[d>>2]=t;if(!(g&1))i=t;else{f[l>>2]=t;f[d>>2]=r;i=r;r=t}if(h){a=f[S>>2]|0;t=0;do{f[v>>2]=f[a+(t<<2)>>2];a=f[y>>2]|0;n[r+(a<<1)>>1]=n[r+(a+-1<<1)>>1]|0;n[i+-2>>1]=n[r>>1]|0;m=0;ce(76,e|0,0);a=m;m=0;if(a&1){l=29;break i}a=f[S>>2]|0;f[a+(t<<2)>>2]=f[v>>2];r=(f[l>>2]|0)+(E<<1)|0;f[l>>2]=r;i=(f[d>>2]|0)+(E<<1)|0;f[d>>2]=i;t=t+1|0}while((t|0)<(A|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[p>>2]|0,m=0,Pe(f[(f[a>>2]|0)+8>>2]|0,a|0,i+((f[_>>2]|0)-o<<1)|0,f[w>>2]|0,E|0),a=m,m=0,a&1):0){l=30;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){l=42;break e}}if((l|0)==29){t=Ye()|0;break}else if((l|0)==30){t=Ye()|0;break}}else l=42;while(0)do if((l|0)==42){m=0;ue(183,e|0);e=m;m=0;if(e&1){t=Ye()|0;break}i=f[S>>2]|0;r=i;if(i){t=f[M>>2]|0;if((t|0)!=(i|0))f[M>>2]=t+(~((t+-4-r|0)>>>2)<<2);Iv(i)}i=f[C>>2]|0;if(!i){c=T;return}r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);c=T;return}while(0)i=f[S>>2]|0;r=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}i=f[C>>2]|0;if(!i)$e(t|0);r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);$e(t|0)}function ua(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0;w=e+4596|0;r=f[w>>2]|0;v=e+172|0;i=f[v>>2]|0;if((i|0)<=0)return;m=e+4600|0;_=e+4604|0;p=e+4592|0;c=r;o=s[r+-2>>1]|0;r=s[r>>1]|0;k=0;while(1){h=f[m>>2]|0;u=n[h+(k+-1<<1)>>1]|0;b=u&65535;l=k+1|0;a=s[c+(l<<1)>>1]|0;d=f[_>>2]|0;c=r-o|0;o=o-b|0;d=((((t[d+(a-r)>>0]|0)*9|0)+(t[d+c>>0]|0)|0)*9|0)+(t[d+o>>0]|0)|0;h=h+(k<<1)|0;if(!d){i=ha(e,u,h,i-k|0)|0;r=i+k|0;if((r|0)!=(f[v>>2]|0)){b=ba(e,b,s[(f[w>>2]|0)+(r<<1)>>1]|0)|0;n[(f[m>>2]|0)+(r<<1)>>1]=b;b=f[p>>2]|0;f[p>>2]=(b|0)<1?0:b+-1|0;i=i+1|0}l=i+k|0;a=f[w>>2]|0;r=s[a+(l+-1<<1)>>1]|0;a=s[a+(l<<1)>>1]|0}else{i=r-b>>31;if((i^o|0)<0)i=r;else i=b+((i^c|0)<0?0:c)|0;b=da(e,d,s[h>>1]|0,i,0)|0;n[(f[m>>2]|0)+(k<<1)>>1]=b}i=f[v>>2]|0;if((i|0)<=(l|0))break;c=f[w>>2]|0;o=r;r=a;k=l}return}function ca(e){e=e|0;var i=0,r=0,n=0,a=0;n=e+116|0;r=f[n>>2]|0;if((t[r>>0]|0)!=-1){a=e+112|0;i=f[a>>2]|0;if((i|0)<1){Ut(e);i=f[a>>2]|0;r=f[n>>2]|0}e=e+108|0;n=f[e>>2]|0;f[a>>2]=i+-1;i=n<<1;f[e>>2]=i;if((t[r>>0]|0)!=-1){i=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,i|0,6,35648);e=m;m=0;if(!(e&1))bi(i|0,824,96);e=Ye()|0;Ue(i|0);$e(e|0)}}else i=f[e+108>>2]|0;if(!i)return;i=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,i|0,6,35648);e=m;m=0;if(!(e&1))bi(i|0,824,96);e=Ye()|0;Ue(i|0);$e(e|0)}function da(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,_=0,p=0;p=i>>31;c=(p^i)-p|0;k=e+188+(c*12|0)+10|0;r=n[k>>1]|0;b=e+188+(c*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){i=5;while(1)if((r<<i|0)<(s|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;h=e+188+(c*12|0)+8|0;r=(n[h>>1]^p)-p+a|0;_=e+128|0;s=f[_>>2]|0;if((r&s|0)==(r|0))d=r;else d=s&~(r>>31);r=e+112|0;if((f[r>>2]|0)<8)Ut(e);s=e+108|0;a=f[s>>2]|0;l=a>>>24;o=f[2832+(i<<11)+(l<<3)+4>>2]|0;if(!o){u=f[e+148>>2]|0;s=f[e+140>>2]|0;r=wa(e)|0;if((r|0)<(u+-1-s|0)){if(i)r=(ma(e,i)|0)+(r<<i)|0}else r=(ma(e,s)|0)+1|0;r=r<<31>>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,r|0,5,35648);e=m;m=0;if(e&1){e=Ye()|0;Ue(r|0);$e(e|0)}else bi(r|0,824,96)}}else{f[r>>2]=(f[r>>2]|0)-o;f[s>>2]=a<<o;r=f[2832+(i<<11)+(l<<3)>>2]|0}u=e+136|0;a=f[u>>2]|0;if(!i){if(!a)s=(f[e+188+(c*12|0)+4>>2]<<1)+-1+(n[k>>1]|0)>>31;else s=0;o=s^r}else o=r;i=f[e+152>>2]|0;s=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;l=e+188+(c*12|0)+4|0;r=(f[l>>2]|0)+(re(a<<1|1,o)|0)|0;a=n[k>>1]|0;if((a|0)==(i|0)){s=s>>1;r=r>>1;a=i>>1}f[b>>2]=s;i=a+1|0;n[k>>1]=i;s=i+r|0;if((s|0)>=1){if((r|0)>0){r=r-i|0;k=n[h>>1]|0;n[h>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=n[h>>1]|0;n[h>>1]=(r&65535)-(r<<16>>16>-128&1);r=(s|0)>(~a|0)?s:0-a|0}f[l>>2]=r;i=f[u>>2]|0;a=i<<1|1;s=(re(a,(o^p)-p|0)|0)+d|0;if((s|0)>=(0-i|0)){r=f[_>>2]|0;if((r+i|0)<(s|0))s=s-(re(f[e+132>>2]|0,a)|0)|0}else{s=(re(f[e+132>>2]|0,a)|0)+s|0;r=f[_>>2]|0}if((s&r|0)==(s|0)){e=s;e=e&65535;return e|0}e=r&~(s>>31);e=e&65535;return e|0}function ha(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;u=e+112|0;c=e+108|0;d=e+4592|0;s=f[u>>2]|0;l=0;while(1){if((s|0)<1){Ut(e);s=f[u>>2]|0}o=f[c>>2]|0;s=s+-1|0;f[u>>2]=s;f[c>>2]=o<<1;if((o|0)>=0){h=8;break}o=f[d>>2]|0;b=1<<f[36476+(o<<2)>>2];k=a-l|0;k=(b|0)<(k|0)?b:k;l=k+l|0;if((k|0)==(b|0))f[d>>2]=(o|0)>30?31:o+1|0
16
+ ;if((l|0)==(a|0)){s=a;break}}if((h|0)==8)if((l|0)!=(a|0)){s=f[d>>2]|0;if((s+-4|0)>>>0<28)s=ma(e,f[36476+(s<<2)>>2]|0)|0;else s=0;s=s+l|0;if((s|0)>(a|0)){s=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,s|0,5,35648);k=m;m=0;if(k&1){k=Ye()|0;Ue(s|0);$e(k|0)}else bi(s|0,824,96)}}else s=a;if((s|0)>0)l=0;else return s|0;do{n[r+(l<<1)>>1]=i;l=l+1|0}while((l|0)!=(s|0))return s|0}function ba(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;a=i-r|0;s=e+128|0;t=e+136|0;if((((a|0)>-1?a:0-a|0)|0)>(f[t>>2]|0)){i=re(ka(e,e+4568|0)|0,r-i>>31|1)|0;n=f[t>>2]|0;a=n<<1|1;i=(re(i,a)|0)+r|0;if((i|0)>=(0-n|0)){t=f[s>>2]|0;if((t+n|0)<(i|0))i=i-(re(f[e+132>>2]|0,a)|0)|0}else{i=(re(f[e+132>>2]|0,a)|0)+i|0;t=f[s>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&65535;return e|0}e=t&~(i>>31);e=e&65535;return e|0}else{r=ka(e,e+4580|0)|0;a=f[t>>2]|0;n=a<<1|1;i=(re(n,r)|0)+i|0;if((i|0)>=(0-a|0)){t=f[s>>2]|0;if((t+a|0)<(i|0))i=i-(re(f[e+132>>2]|0,n)|0)|0}else{i=(re(f[e+132>>2]|0,n)|0)+i|0;t=f[s>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&65535;return e|0}e=t&~(i>>31);e=e&65535;return e|0}return 0}function ka(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0;d=i+9|0;r=a[d>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;o=f[e+148>>2]|0;u=f[36476+(f[e+4592>>2]<<2)>>2]|0;r=f[e+140>>2]|0;s=wa(e)|0;do if((s|0)<(o+-2-u-r|0))if(!n){n=f[l>>2]|0;e=n+s|0;r=e&1;e=(r+e|0)/2|0;c=8;break}else{u=(ma(e,n)|0)+(s<<n)|0;n=f[l>>2]|0;s=u+n|0;o=s&1;r=o;l=1;s=(o+s|0)/2|0;break}else{s=(ma(e,r)|0)+1|0;o=f[l>>2]|0;e=s+o|0;r=e&1;e=(r+e|0)/2|0;if(!n){n=o;c=8}else{u=s;l=1;s=e;n=o}}while(0)if((c|0)==8){u=s;l=a[i+10>>0]<<1>>>0>=(a[d>>0]|0)>>>0;s=e}s=(r|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(u+1-n>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[d>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[d>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=c;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return s|0}function wa(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;a=e+112|0;if((f[a>>2]|0)<16)Ut(e);s=e+108|0;r=f[s>>2]|0;if((r|0)>=0)if(!(r&1073741824))if(!(r&536870912))if(!(r&268435456))if(!(r&134217728))if(!(r&67108864))if(!(r&33554432))if(!(r&16777216))if(!(r&8388608))if(!(r&4194304))if(!(r&2097152))if(!(r&1048576))if(!(r&524288))if(!(r&262144))if(!(r&131072)){n=r>>>12&16;i=n+-1|0;if(!n){i=(f[a>>2]|0)+-15|0;f[a>>2]=i;t=r<<15;f[s>>2]=t;r=i;i=15;while(1){if((r|0)<1){Ut(e);n=f[s>>2]|0;r=f[a>>2]|0}else n=t;r=r+-1|0;f[a>>2]=r;t=n<<1;f[s>>2]=t;if((n|0)<0)break;else i=i+1|0}return i|0}}else i=14;else i=13;else i=12;else i=11;else i=10;else i=9;else i=8;else i=7;else i=6;else i=5;else i=4;else i=3;else i=2;else i=1;else i=0;e=i+1|0;f[a>>2]=(f[a>>2]|0)-e;f[s>>2]=r<<e;s=i;return s|0}function ma(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;n=e+112|0;r=f[n>>2]|0;if((r|0)<(i|0)){Ut(e);r=f[n>>2]|0;if((r|0)<(i|0)){r=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,r|0,5,35648);e=m;m=0;if(e&1){e=Ye()|0;Ue(r|0);$e(e|0)}else bi(r|0,824,96)}}a=e+108|0;e=f[a>>2]|0;f[n>>2]=r-i;f[a>>2]=e<<i;return e>>>(32-i|0)|0}function _a(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+136|0;e:do if(!(f[b>>2]|0)){r=f[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<<f[i>>2])+-1|0)?(ov(n,r,0),(f[n+4>>2]|0)==(f[e+176>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+180>>2]|0):0)?(f[n+12>>2]|0)==(f[e+184>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4604>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4604>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4604>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4604>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+144|0;while(0)h=1<<f[i>>2];r=e+4608|0;n=h<<1;a=e+4612|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0<l>>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{Yt(r,n-l|0);i=f[r>>2]|0}d=e+4604|0;f[d>>2]=i+h;i=0-h|0;if((h|0)<=(i|0)){c=k;return}o=e+184|0;u=e+180|0;l=e+176|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[d>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(h|0))c=k;return}function pa(e){e=e|0;var i=0,r=0;f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function va(e){e=e|0;var i=0,r=0;f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function ga(e){e=e|0;var i=0,r=0;f[e>>2]=35828;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function ya(e){e=e|0;var i=0,r=0;f[e>>2]=35828;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function Ea(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){_=e+4|0;v=e+32|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(37,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+12>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(38,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(39,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(40,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+16>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=6;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=6;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function Aa(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,d=0;o=c;c=c+32|0;d=o;ov(d,f[e+128>>2]|0,f[e+136>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[d+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[d+12>>2]|0:s;r=f[i+16>>2]|0;a=f[d+16>>2]|0;f[e+176>>2]=(u|0)==0?f[d+4>>2]|0:u;f[e+180>>2]=l;f[e+184>>2]=s;Ra(e);s=e+132|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+188+(l*12|0)>>2]=i;f[e+188+(l*12|0)+4>>2]=0;n[e+188+(l*12|0)+8>>1]=0;n[e+188+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365)u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;d=((r|0)==0?a:r)&255;f[e+4568>>2]=u;f[e+4572>>2]=0;t[e+4576>>0]=d;t[e+4577>>0]=1;t[e+4578>>0]=0;f[e+4580>>2]=u;f[e+4584>>2]=1;t[e+4588>>0]=d;t[e+4589>>0]=1;t[e+4590>>0]=0;f[e+4592>>2]=0;c=o;return}function Sa(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4620>>0]=a&1;i=e+156|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);Ta(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function Ta(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;T=c;c=c+32|0;C=T+12|0;S=T;y=e+172|0;E=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)A=f[e+20>>2]|0;else A=1;i=re(A<<1,E)|0;f[C>>2]=0;P=C+4|0;f[P>>2]=0;f[C+8>>2]=0;do if(i){if(!(i>>>0>715827882?(m=0,ue(178,C|0),M=m,m=0,M&1):0))l=6;if((l|0)==6?(m=0,r=he(67,i*6|0)|0,M=m,m=0,!(M&1)):0){f[P>>2]=r;f[C>>2]=r;t=r+(i*6|0)|0;f[C+8>>2]=t;while(1){n[r>>1]=0;n[r+2>>1]=0;n[r+4>>1]=0;i=i+-1|0;if(!i)break;else r=r+6|0}f[P>>2]=t;break}t=Ye()|0;i=f[C>>2]|0;if(!i)$e(t|0);r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Iv(i);$e(t|0)}while(0)f[S>>2]=0;M=S+4|0;f[M>>2]=0;f[S+8>>2]=0;do if(!A)l=20;else{if(!(A>>>0>1073741823?(m=0,ue(178,S|0),g=m,m=0,g&1):0))l=18;if((l|0)==18?(a=A<<2,m=0,s=he(67,a|0)|0,g=m,m=0,!(g&1)):0){f[S>>2]=s;l=s+(A<<2)|0;f[S+8>>2]=l;y_(s|0,0,a|0)|0;f[M>>2]=l;l=20;break}t=Ye()|0;i=f[S>>2]|0;r=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}while(0)if((l|0)==20){s=e+8|0;e:do if((f[s>>2]|0)>0){l=e+4596|0;o=re(A,E)|0;u=o+1|0;d=e+4600|0;h=(A|0)>0;b=e+160|0;k=e+168|0;w=e+164|0;_=e+156|0;p=e+88|0;v=e+4592|0;g=0;i:while(1){t=f[C>>2]|0;r=t+6|0;f[l>>2]=r;t=t+(u*6|0)|0;f[d>>2]=t;if(!(g&1))i=t;else{f[l>>2]=t;f[d>>2]=r;i=r;r=t}if(h){a=f[S>>2]|0;t=0;do{f[v>>2]=f[a+(t<<2)>>2];i=f[y>>2]|0;a=r+(i*6|0)|0;r=r+((i+-1|0)*6|0)|0;n[a>>1]=n[r>>1]|0;n[a+2>>1]=n[r+2>>1]|0;n[a+4>>1]=n[r+4>>1]|0;a=(f[d>>2]|0)+-6|0;r=f[l>>2]|0;n[a>>1]=n[r>>1]|0;n[a+2>>1]=n[r+2>>1]|0;n[a+4>>1]=n[r+4>>1]|0;m=0;ce(77,e|0,0);a=m;m=0;if(a&1){l=31;break i}a=f[S>>2]|0;f[a+(t<<2)>>2]=f[v>>2];r=(f[l>>2]|0)+(E*6|0)|0;f[l>>2]=r;i=(f[d>>2]|0)+(E*6|0)|0;f[d>>2]=i;t=t+1|0}while((t|0)<(A|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[p>>2]|0,m=0,Pe(f[(f[a>>2]|0)+8>>2]|0,a|0,i+(((f[_>>2]|0)-o|0)*6|0)|0,f[w>>2]|0,E|0),a=m,m=0,a&1):0){l=32;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){l=44;break e}}if((l|0)==31){t=Ye()|0;break}else if((l|0)==32){t=Ye()|0;break}}else l=44;while(0)do if((l|0)==44){m=0;ue(183,e|0);e=m;m=0;if(e&1){t=Ye()|0;break}i=f[S>>2]|0;r=i;if(i){t=f[M>>2]|0;if((t|0)!=(i|0))f[M>>2]=t+(~((t+-4-r|0)>>>2)<<2);Iv(i)}i=f[C>>2]|0;if(!i){c=T;return}r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Iv(i);c=T;return}while(0)i=f[S>>2]|0;r=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}i=f[C>>2]|0;if(!i)$e(t|0);r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);Iv(i);$e(t|0)}function Ma(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0;j=c;c=c+32|0;P=j+24|0;F=j+18|0;N=j+12|0;x=j+6|0;D=j;R=e+172|0;i=f[R>>2]|0;if((i|0)<=0){c=j;return}O=e+4600|0;L=e+4596|0;I=e+4604|0;B=e+4592|0;C=0;while(1){a=C+-1|0;l=f[O>>2]|0;U=f[L>>2]|0;r=C+1|0;o=s[U+(C*6|0)>>1]|0;M=f[I>>2]|0;u=s[U+(a*6|0)>>1]|0;d=o-u|0;h=s[l+(a*6|0)>>1]|0;b=u-h|0;k=((((t[M+((s[U+(r*6|0)>>1]|0)-o)>>0]|0)*9|0)+(t[M+d>>0]|0)|0)*9|0)+(t[M+b>>0]|0)|0;w=s[U+(C*6|0)+2>>1]|0;m=s[U+(a*6|0)+2>>1]|0;_=w-m|0;p=s[l+(a*6|0)+2>>1]|0;v=m-p|0;g=((((t[M+((s[U+(r*6|0)+2>>1]|0)-w)>>0]|0)*9|0)+(t[M+_>>0]|0)|0)*9|0)+(t[M+v>>0]|0)|0;y=s[U+(C*6|0)+4>>1]|0;E=s[U+(a*6|0)+4>>1]|0;A=y-E|0;S=s[l+(a*6|0)+4>>1]|0;T=E-S|0;M=((((t[M+((s[U+(r*6|0)+4>>1]|0)-y)>>0]|0)*9|0)+(t[M+A>>0]|0)|0)*9|0)+(t[M+T>>0]|0)|0;if(!(g|k|M)){r=l+(a*6|0)|0;n[N>>1]=n[r>>1]|0;n[N+2>>1]=n[r+2>>1]|0;n[N+4>>1]=n[r+4>>1]|0;n[P>>1]=n[r>>1]|0;n[P+2>>1]=n[r+2>>1]|0;n[P+4>>1]=n[r+4>>1]|0;i=Ca(e,P,l+(C*6|0)|0,i-C|0)|0;r=i+C|0;if((r|0)!=(f[R>>2]|0)){U=(f[L>>2]|0)+(r*6|0)|0;n[D>>1]=n[U>>1]|0;n[D+2>>1]=n[U+2>>1]|0;n[D+4>>1]=n[U+4>>1]|0;U=(f[O>>2]|0)+(r*6|0)|0;n[F>>1]=n[N>>1]|0;n[F+2>>1]=n[N+2>>1]|0;n[F+4>>1]=n[N+4>>1]|0;n[P>>1]=n[D>>1]|0;n[P+2>>1]=n[D+2>>1]|0;n[P+4>>1]=n[D+4>>1]|0;Pa(x,e,F,P);n[U>>1]=n[x>>1]|0;n[U+2>>1]=n[x+2>>1]|0;n[U+4>>1]=n[x+4>>1]|0;U=f[B>>2]|0;f[B>>2]=(U|0)<1?0:U+-1|0;i=i+1|0}r=i+C|0}else{a=s[l+(C*6|0)>>1]|0;i=o-h>>31;if((i^b|0)>=0)if((i^d|0)<0)i=h;else i=h-u+o|0;else i=o;o=xa(e,k,a,i,0)|0;a=s[(f[O>>2]|0)+(C*6|0)+2>>1]|0;i=w-p>>31;if((i^v|0)>=0)if((i^_|0)<0)i=p;else i=p-m+w|0;else i=w;a=xa(e,g,a,i,0)|0;l=s[(f[O>>2]|0)+(C*6|0)+4>>1]|0;i=y-S>>31;if((i^T|0)>=0)if((i^A|0)<0)i=S;else i=S-E+y|0;else i=y;M=xa(e,M,l,i,0)|0;U=f[O>>2]|0;n[U+(C*6|0)>>1]=o;n[U+(C*6|0)+2>>1]=a;n[U+(C*6|0)+4>>1]=M}i=f[R>>2]|0;if((r|0)>=(i|0))break;else C=r}c=j;return}function Ca(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;u=e+112|0;c=e+108|0;d=e+4592|0;s=f[u>>2]|0;l=0;while(1){if((s|0)<1){Ut(e);s=f[u>>2]|0}o=f[c>>2]|0;s=s+-1|0;f[u>>2]=s;f[c>>2]=o<<1;if((o|0)>=0){h=8;break}o=f[d>>2]|0;b=1<<f[36476+(o<<2)>>2];k=a-l|0;k=(b|0)<(k|0)?b:k;l=k+l|0;if((k|0)==(b|0))f[d>>2]=(o|0)>30?31:o+1|0;if((l|0)==(a|0)){s=a;break}}if((h|0)==8)if((l|0)!=(a|0)){s=f[d>>2]|0;if((s+-4|0)>>>0<28)s=ma(e,f[36476+(s<<2)>>2]|0)|0;else s=0;s=s+l|0;if((s|0)>(a|0)){s=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,s|0,5,35648);k=m;m=0;if(k&1){k=Ye()|0;Ue(s|0);$e(k|0)}else bi(s|0,824,96)}}else s=a;if((s|0)<=0)return s|0;l=0;do{k=r+(l*6|0)|0;n[k>>1]=n[i>>1]|0;n[k+2>>1]=n[i+2>>1]|0;n[k+4>>1]=n[i+4>>1]|0;l=l+1|0}while((l|0)!=(s|0))return s|0}function Pa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var a=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0;c=i+4568|0;b=Da(i,c)|0;o=Da(i,c)|0;c=Da(i,c)|0;l=i+128|0;a=s[t>>1]|0;d=f[i+136>>2]|0;h=d<<1|1;a=(re(re(h,b)|0,a-(s[r>>1]|0)>>31|1)|0)+a|0;b=0-d|0;if((a|0)>=(b|0)){l=f[l>>2]|0;if((l+d|0)<(a|0))a=a-(re(f[i+132>>2]|0,h)|0)|0}else{a=(re(f[i+132>>2]|0,h)|0)+a|0;l=f[l>>2]|0}if((a&l|0)!=(a|0))a=l&~(a>>31);u=a&65535;a=s[t+2>>1]|0;a=(re(re(h,o)|0,a-(s[r+2>>1]|0)>>31|1)|0)+a|0;if((a|0)>=(b|0)){if((l+d|0)<(a|0))a=a-(re(f[i+132>>2]|0,h)|0)|0}else a=(re(f[i+132>>2]|0,h)|0)+a|0;if((a&l|0)!=(a|0))a=l&~(a>>31);o=a&65535;a=s[t+4>>1]|0;a=(re(re(h,c)|0,a-(s[r+4>>1]|0)>>31|1)|0)+a|0;if((a|0)>=(b|0)){if((l+d|0)<(a|0))a=a-(re(f[i+132>>2]|0,h)|0)|0}else a=(re(f[i+132>>2]|0,h)|0)+a|0;if((a&l|0)==(a|0)){i=a;i=i&65535;n[e>>1]=u;b=e+2|0;n[b>>1]=o;e=e+4|0;n[e>>1]=i;return}i=l&~(a>>31);i=i&65535;n[e>>1]=u;b=e+2|0;n[b>>1]=o;e=e+4|0;n[e>>1]=i;return}function xa(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,_=0,p=0;p=i>>31;c=(p^i)-p|0;k=e+188+(c*12|0)+10|0;r=n[k>>1]|0;b=e+188+(c*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){i=5;while(1)if((r<<i|0)<(s|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;h=e+188+(c*12|0)+8|0;r=(n[h>>1]^p)-p+a|0;_=e+128|0;s=f[_>>2]|0;if((r&s|0)==(r|0))d=r;else d=s&~(r>>31);r=e+112|0;if((f[r>>2]|0)<8)Ut(e);s=e+108|0;a=f[s>>2]|0;l=a>>>24;o=f[2832+(i<<11)+(l<<3)+4>>2]|0;if(!o){u=f[e+148>>2]|0;s=f[e+140>>2]|0;r=wa(e)|0;if((r|0)<(u+-1-s|0)){if(i)r=(ma(e,i)|0)+(r<<i)|0}else r=(ma(e,s)|0)+1|0;r=r<<31>>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,r|0,5,35648);e=m;m=0;if(e&1){e=Ye()|0;Ue(r|0);$e(e|0)}else bi(r|0,824,96)}}else{f[r>>2]=(f[r>>2]|0)-o;f[s>>2]=a<<o;r=f[2832+(i<<11)+(l<<3)>>2]|0}u=e+136|0;a=f[u>>2]|0;if(!i){if(!a)s=(f[e+188+(c*12|0)+4>>2]<<1)+-1+(n[k>>1]|0)>>31;else s=0;o=s^r}else o=r;i=f[e+152>>2]|0;s=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;l=e+188+(c*12|0)+4|0;r=(f[l>>2]|0)+(re(a<<1|1,o)|0)|0;a=n[k>>1]|0;if((a|0)==(i|0)){s=s>>1;r=r>>1;a=i>>1}f[b>>2]=s;i=a+1|0;n[k>>1]=i;s=i+r|0;if((s|0)>=1){if((r|0)>0){r=r-i|0;k=n[h>>1]|0;n[h>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=n[h>>1]|0;n[h>>1]=(r&65535)-(r<<16>>16>-128&1);r=(s|0)>(~a|0)?s:0-a|0}f[l>>2]=r;i=f[u>>2]|0;a=i<<1|1;s=(re(a,(o^p)-p|0)|0)+d|0;if((s|0)>=(0-i|0)){r=f[_>>2]|0;if((r+i|0)<(s|0))s=s-(re(f[e+132>>2]|0,a)|0)|0}else{s=(re(f[e+132>>2]|0,a)|0)+s|0;r=f[_>>2]|0}if((s&r|0)==(s|0)){e=s;e=e&65535;return e|0}e=r&~(s>>31);e=e&65535;return e|0}function Da(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0;d=i+9|0;r=a[d>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;o=f[e+148>>2]|0;u=f[36476+(f[e+4592>>2]<<2)>>2]|0;r=f[e+140>>2]|0;s=wa(e)|0;do if((s|0)<(o+-2-u-r|0))if(!n){n=f[l>>2]|0;e=n+s|0;r=e&1;e=(r+e|0)/2|0;c=8;break}else{u=(ma(e,n)|0)+(s<<n)|0;n=f[l>>2]|0;s=u+n|0;o=s&1;r=o;l=1;s=(o+s|0)/2|0;break}else{s=(ma(e,r)|0)+1|0;o=f[l>>2]|0;e=s+o|0;r=e&1;e=(r+e|0)/2|0;if(!n){n=o;c=8}else{u=s;l=1;s=e;n=o}}while(0)if((c|0)==8){u=s;l=a[i+10>>0]<<1>>>0>=(a[d>>0]|0)>>>0;s=e}s=(r|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(u+1-n>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[d>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[d>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=c;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return s|0}function Ra(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+136|0;e:do if(!(f[b>>2]|0)){r=f[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<<f[i>>2])+-1|0)?(ov(n,r,0),(f[n+4>>2]|0)==(f[e+176>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+180>>2]|0):0)?(f[n+12>>2]|0)==(f[e+184>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4604>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4604>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4604>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4604>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+144|0;while(0)h=1<<f[i>>2];r=e+4608|0;n=h<<1;a=e+4612|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0<l>>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{Yt(r,n-l|0);i=f[r>>2]|0}d=e+4604|0;f[d>>2]=i+h;i=0-h|0;if((h|0)<=(i|0)){c=k;return}o=e+184|0;u=e+180|0;l=e+176|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[d>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(h|0))c=k;return}function Oa(e){e=e|0;var i=0,r=0;f[e>>2]=35800;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function La(e){e=e|0;var i=0,r=0;f[e>>2]=35800;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function Ia(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){_=e+4|0;v=e+32|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(44,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+12>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(45,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(46,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(47,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+16>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=3;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=3;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function Ba(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,d=0;o=c;c=c+32|0;d=o;ov(d,f[e+128>>2]|0,f[e+136>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[d+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[d+12>>2]|0:s;r=f[i+16>>2]|0;a=f[d+16>>2]|0;f[e+176>>2]=(u|0)==0?f[d+4>>2]|0:u;f[e+180>>2]=l;f[e+184>>2]=s;za(e);s=e+132|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+188+(l*12|0)>>2]=i;f[e+188+(l*12|0)+4>>2]=0;n[e+188+(l*12|0)+8>>1]=0;n[e+188+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365)u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;d=((r|0)==0?a:r)&255;f[e+4568>>2]=u;f[e+4572>>2]=0;t[e+4576>>0]=d;t[e+4577>>0]=1;t[e+4578>>0]=0;f[e+4580>>2]=u;f[e+4584>>2]=1;t[e+4588>>0]=d;t[e+4589>>0]=1;t[e+4590>>0]=0;f[e+4592>>2]=0;c=o;return}function Na(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4620>>0]=a&1;i=e+156|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);Fa(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function Fa(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;T=c;c=c+32|0;C=T+12|0;S=T;y=e+172|0;E=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)A=f[e+20>>2]|0;else A=1;i=re(A<<1,E)|0;f[C>>2]=0;P=C+4|0;f[P>>2]=0;f[C+8>>2]=0;e:do if(i){if(!(i>>>0>1431655765?(m=0,ue(178,C|0),M=m,m=0,M&1):0))s=6;if((s|0)==6?(m=0,r=he(67,i*3|0)|0,M=m,m=0,!(M&1)):0){f[P>>2]=r;f[C>>2]=r;f[C+8>>2]=r+(i*3|0);while(1){t[r>>0]=0;t[r+1>>0]=0;t[r+2>>0]=0;r=(f[P>>2]|0)+3|0;f[P>>2]=r;i=i+-1|0;if(!i)break e}}n=Ye()|0;i=f[C>>2]|0;if(!i)$e(n|0);r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Iv(i);$e(n|0)}while(0)f[S>>2]=0;M=S+4|0;f[M>>2]=0;f[S+8>>2]=0;do if(!A)s=19;else{if(!(A>>>0>1073741823?(m=0,ue(178,S|0),g=m,m=0,g&1):0))s=17;if((s|0)==17?(n=A<<2,m=0,a=he(67,n|0)|0,g=m,m=0,!(g&1)):0){f[S>>2]=a;s=a+(A<<2)|0;f[S+8>>2]=s;y_(a|0,0,n|0)|0;f[M>>2]=s;s=19;break}n=Ye()|0;i=f[S>>2]|0;r=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}while(0)if((s|0)==19){s=e+8|0;e:do if((f[s>>2]|0)>0){l=e+4596|0;o=re(A,E)|0;u=o+1|0;d=e+4600|0;h=(A|0)>0;b=e+160|0;k=e+168|0;w=e+164|0;_=e+156|0;p=e+88|0;v=e+4592|0;g=0;i:while(1){n=f[C>>2]|0;r=n+3|0;f[l>>2]=r;n=n+(u*3|0)|0;f[d>>2]=n;if(!(g&1))i=n;else{f[l>>2]=n;f[d>>2]=r;i=r;r=n}if(h){a=f[S>>2]|0;n=0;do{f[v>>2]=f[a+(n<<2)>>2];i=f[y>>2]|0;a=r+(i*3|0)|0;r=r+((i+-1|0)*3|0)|0;t[a>>0]=t[r>>0]|0;t[a+1>>0]=t[r+1>>0]|0;t[a+2>>0]=t[r+2>>0]|0;r=f[l>>2]|0;a=(f[d>>2]|0)+-3|0;t[a>>0]=t[r>>0]|0;t[a+1>>0]=t[r+1>>0]|0;t[a+2>>0]=t[r+2>>0]|0;m=0;ce(78,e|0,0);a=m;m=0;if(a&1){s=30;break i}a=f[S>>2]|0;f[a+(n<<2)>>2]=f[v>>2];r=(f[l>>2]|0)+(E*3|0)|0;f[l>>2]=r;i=(f[d>>2]|0)+(E*3|0)|0;f[d>>2]=i;n=n+1|0}while((n|0)<(A|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[p>>2]|0,m=0,Pe(f[(f[a>>2]|0)+8>>2]|0,a|0,i+(((f[_>>2]|0)-o|0)*3|0)|0,f[w>>2]|0,E|0),a=m,m=0,a&1):0){s=31;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){s=43;break e}}if((s|0)==30){n=Ye()|0;break}else if((s|0)==31){n=Ye()|0;break}}else s=43;while(0)do if((s|0)==43){m=0;ue(183,e|0);e=m;m=0;if(e&1){n=Ye()|0;break}i=f[S>>2]|0;r=i;if(i){n=f[M>>2]|0;if((n|0)!=(i|0))f[M>>2]=n+(~((n+-4-r|0)>>>2)<<2);Iv(i)}i=f[C>>2]|0;if(!i){c=T;return}r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Iv(i);c=T;return}while(0)i=f[S>>2]|0;r=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}i=f[C>>2]|0;if(!i)$e(n|0);r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Iv(i);$e(n|0)}function ja(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0;F=c;c=c+16|0;C=F+12|0;N=F+9|0;B=F+6|0;P=F+3|0;x=F;D=e+172|0;i=f[D>>2]|0;if((i|0)<=0){c=F;return}R=e+4600|0;O=e+4596|0;L=e+4604|0;I=e+4592|0;M=0;while(1){A=M+-1|0;n=f[R>>2]|0;s=n+(A*3|0)|0;j=f[O>>2]|0;r=M+1|0;l=a[j+(M*3|0)>>0]|0;T=f[L>>2]|0;o=a[j+(A*3|0)>>0]|0;u=l-o|0;d=a[s>>0]|0;h=o-d|0;b=((((t[T+((a[j+(r*3|0)>>0]|0)-l)>>0]|0)*9|0)+(t[T+u>>0]|0)|0)*9|0)+(t[T+h>>0]|0)|0;k=a[j+(M*3|0)+1>>0]|0;w=a[j+(A*3|0)+1>>0]|0;m=k-w|0;_=a[n+(A*3|0)+1>>0]|0;p=w-_|0;v=((((t[T+((a[j+(r*3|0)+1>>0]|0)-k)>>0]|0)*9|0)+(t[T+m>>0]|0)|0)*9|0)+(t[T+p>>0]|0)|0;g=a[j+(M*3|0)+2>>0]|0;y=a[j+(A*3|0)+2>>0]|0;E=g-y|0;A=a[n+(A*3|0)+2>>0]|0;S=y-A|0;T=((((t[T+((a[j+(r*3|0)+2>>0]|0)-g)>>0]|0)*9|0)+(t[T+E>>0]|0)|0)*9|0)+(t[T+S>>0]|0)|0;if(!(v|b|T)){t[B>>0]=t[s>>0]|0;t[B+1>>0]=t[s+1>>0]|0;t[B+2>>0]=t[s+2>>0]|0;t[C>>0]=t[s>>0]|0;t[C+1>>0]=t[s+1>>0]|0;t[C+2>>0]=t[s+2>>0]|0;i=Ua(e,C,n+(M*3|0)|0,i-M|0)|0;r=i+M|0;if((r|0)!=(f[D>>2]|0)){j=(f[O>>2]|0)+(r*3|0)|0;t[x>>0]=t[j>>0]|0;t[x+1>>0]=t[j+1>>0]|0;t[x+2>>0]=t[j+2>>0]|0;j=f[R>>2]|0;t[N>>0]=t[B>>0]|0;t[N+1>>0]=t[B+1>>0]|0;t[N+2>>0]=t[B+2>>0]|0;t[C>>0]=t[x>>0]|0;t[C+1>>0]=t[x+1>>0]|0;t[C+2>>0]=t[x+2>>0]|0;Ha(P,e,N,C);j=j+(r*3|0)|0;t[j>>0]=t[P>>0]|0;t[j+1>>0]=t[P+1>>0]|0;t[j+2>>0]=t[P+2>>0]|0;j=f[I>>2]|0;f[I>>2]=(j|0)<1?0:j+-1|0;i=i+1|0}r=i+M|0}else{n=a[n+(M*3|0)>>0]|0;i=l-d>>31;if((i^h|0)>=0)if((i^u|0)<0)i=d;else i=d-o+l|0;else i=l;l=Ya(e,b,n,i,0)|0;n=a[(f[R>>2]|0)+(M*3|0)+1>>0]|0;i=k-_>>31;if((i^p|0)>=0)if((i^m|0)<0)i=_;else i=_-w+k|0;else i=k;n=Ya(e,v,n,i,0)|0;s=a[(f[R>>2]|0)+(M*3|0)+2>>0]|0;i=g-A>>31;if((i^S|0)>=0)if((i^E|0)<0)i=A;else i=A-y+g|0;else i=g;T=Ya(e,T,s,i,0)|0;j=(f[R>>2]|0)+(M*3|0)|0;t[j>>0]=l;t[j+1>>0]=n;t[j+2>>0]=T}i=f[D>>2]|0;if((r|0)>=(i|0))break;else M=r}c=F;return}function Ua(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0;o=e+112|0;u=e+108|0;c=e+4592|0;a=f[o>>2]|0;s=0;while(1){if((a|0)<1){Ut(e);a=f[o>>2]|0}l=f[u>>2]|0;a=a+-1|0;f[o>>2]=a;f[u>>2]=l<<1;if((l|0)>=0){d=8;break}l=f[c>>2]|0;h=1<<f[36476+(l<<2)>>2];b=n-s|0;b=(h|0)<(b|0)?h:b;s=b+s|0;if((b|0)==(h|0))f[c>>2]=(l|0)>30?31:l+1|0;if((s|0)==(n|0)){a=n;break}}if((d|0)==8)if((s|0)!=(n|0)){a=f[c>>2]|0;if((a+-4|0)>>>0<28)a=ma(e,f[36476+(a<<2)>>2]|0)|0;else a=0;a=a+s|0;if((a|0)>(n|0)){a=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,a|0,5,35648);b=m;m=0;if(b&1){b=Ye()|0;Ue(a|0);$e(b|0)}else bi(a|0,824,96)}}else a=n;if((a|0)<=0)return a|0;s=0;do{b=r+(s*3|0)|0;t[b>>0]=t[i>>0]|0;t[b+1>>0]=t[i+1>>0]|0;t[b+2>>0]=t[i+2>>0]|0;s=s+1|0}while((s|0)!=(a|0))return a|0}function Ha(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0;c=i+4568|0;b=qa(i,c)|0;o=qa(i,c)|0;c=qa(i,c)|0;l=i+128|0;s=a[n>>0]|0;d=f[i+136>>2]|0;h=d<<1|1;s=(re(re(h,b)|0,s-(a[r>>0]|0)>>31|1)|0)+s|0;b=0-d|0;if((s|0)>=(b|0)){l=f[l>>2]|0;if((l+d|0)<(s|0))s=s-(re(f[i+132>>2]|0,h)|0)|0}else{s=(re(f[i+132>>2]|0,h)|0)+s|0;l=f[l>>2]|0}if((s&l|0)!=(s|0))s=l&~(s>>31);u=s&255;s=a[n+1>>0]|0;s=(re(re(h,o)|0,s-(a[r+1>>0]|0)>>31|1)|0)+s|0;if((s|0)>=(b|0)){if((l+d|0)<(s|0))s=s-(re(f[i+132>>2]|0,h)|0)|0}else s=(re(f[i+132>>2]|0,h)|0)+s|0;if((s&l|0)!=(s|0))s=l&~(s>>31);o=s&255;s=a[n+2>>0]|0;s=(re(re(h,c)|0,s-(a[r+2>>0]|0)>>31|1)|0)+s|0
17
+ ;if((s|0)>=(b|0)){if((l+d|0)<(s|0))s=s-(re(f[i+132>>2]|0,h)|0)|0}else s=(re(f[i+132>>2]|0,h)|0)+s|0;if((s&l|0)==(s|0)){i=s;i=i&255;t[e>>0]=u;b=e+1|0;t[b>>0]=o;e=e+2|0;t[e>>0]=i;return}i=l&~(s>>31);i=i&255;t[e>>0]=u;b=e+1|0;t[b>>0]=o;e=e+2|0;t[e>>0]=i;return}function Ya(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,_=0,p=0;p=i>>31;c=(p^i)-p|0;k=e+188+(c*12|0)+10|0;r=n[k>>1]|0;b=e+188+(c*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){i=5;while(1)if((r<<i|0)<(s|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;h=e+188+(c*12|0)+8|0;r=(n[h>>1]^p)-p+a|0;_=e+128|0;s=f[_>>2]|0;if((r&s|0)==(r|0))d=r;else d=s&~(r>>31);r=e+112|0;if((f[r>>2]|0)<8)Ut(e);s=e+108|0;a=f[s>>2]|0;l=a>>>24;o=f[2832+(i<<11)+(l<<3)+4>>2]|0;if(!o){u=f[e+148>>2]|0;s=f[e+140>>2]|0;r=wa(e)|0;if((r|0)<(u+-1-s|0)){if(i)r=(ma(e,i)|0)+(r<<i)|0}else r=(ma(e,s)|0)+1|0;r=r<<31>>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,r|0,5,35648);e=m;m=0;if(e&1){e=Ye()|0;Ue(r|0);$e(e|0)}else bi(r|0,824,96)}}else{f[r>>2]=(f[r>>2]|0)-o;f[s>>2]=a<<o;r=f[2832+(i<<11)+(l<<3)>>2]|0}u=e+136|0;a=f[u>>2]|0;if(!i){if(!a)s=(f[e+188+(c*12|0)+4>>2]<<1)+-1+(n[k>>1]|0)>>31;else s=0;o=s^r}else o=r;i=f[e+152>>2]|0;s=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;l=e+188+(c*12|0)+4|0;r=(f[l>>2]|0)+(re(a<<1|1,o)|0)|0;a=n[k>>1]|0;if((a|0)==(i|0)){s=s>>1;r=r>>1;a=i>>1}f[b>>2]=s;i=a+1|0;n[k>>1]=i;s=i+r|0;if((s|0)>=1){if((r|0)>0){r=r-i|0;k=n[h>>1]|0;n[h>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=n[h>>1]|0;n[h>>1]=(r&65535)-(r<<16>>16>-128&1);r=(s|0)>(~a|0)?s:0-a|0}f[l>>2]=r;i=f[u>>2]|0;a=i<<1|1;s=(re(a,(o^p)-p|0)|0)+d|0;if((s|0)>=(0-i|0)){r=f[_>>2]|0;if((r+i|0)<(s|0))s=s-(re(f[e+132>>2]|0,a)|0)|0}else{s=(re(f[e+132>>2]|0,a)|0)+s|0;r=f[_>>2]|0}if((s&r|0)==(s|0)){e=s;e=e&255;return e|0}e=r&~(s>>31);e=e&255;return e|0}function qa(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0;d=i+9|0;r=a[d>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;o=f[e+148>>2]|0;u=f[36476+(f[e+4592>>2]<<2)>>2]|0;r=f[e+140>>2]|0;s=wa(e)|0;do if((s|0)<(o+-2-u-r|0))if(!n){n=f[l>>2]|0;e=n+s|0;r=e&1;e=(r+e|0)/2|0;c=8;break}else{u=(ma(e,n)|0)+(s<<n)|0;n=f[l>>2]|0;s=u+n|0;o=s&1;r=o;l=1;s=(o+s|0)/2|0;break}else{s=(ma(e,r)|0)+1|0;o=f[l>>2]|0;e=s+o|0;r=e&1;e=(r+e|0)/2|0;if(!n){n=o;c=8}else{u=s;l=1;s=e;n=o}}while(0)if((c|0)==8){u=s;l=a[i+10>>0]<<1>>>0>=(a[d>>0]|0)>>>0;s=e}s=(r|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(u+1-n>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[d>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[d>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=c;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return s|0}function za(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+136|0;e:do if(!(f[b>>2]|0)){r=f[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<<f[i>>2])+-1|0)?(ov(n,r,0),(f[n+4>>2]|0)==(f[e+176>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+180>>2]|0):0)?(f[n+12>>2]|0)==(f[e+184>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4604>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4604>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4604>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4604>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+144|0;while(0)h=1<<f[i>>2];r=e+4608|0;n=h<<1;a=e+4612|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0<l>>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{Yt(r,n-l|0);i=f[r>>2]|0}d=e+4604|0;f[d>>2]=i+h;i=0-h|0;if((h|0)<=(i|0)){c=k;return}o=e+184|0;u=e+180|0;l=e+176|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[d>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(h|0))c=k;return}function Xa(e){e=e|0;var i=0,r=0;f[e>>2]=35772;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function Ga(e){e=e|0;var i=0,r=0;f[e>>2]=35772;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function Va(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){_=e+4|0;v=e+32|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(37,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+12>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(38,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(39,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(40,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+16>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=2;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=2;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function Ka(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;ov(u,65535,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+152>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+156>>2]=l;f[e+160>>2]=a;rs(e);a=0;do{f[e+164+(a*12|0)>>2]=1024;f[e+164+(a*12|0)+4>>2]=0;n[e+164+(a*12|0)+8>>1]=0;n[e+164+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365)u=((i|0)==0?r:i)&255;f[e+4544>>2]=1024;f[e+4548>>2]=0;t[e+4552>>0]=u;t[e+4553>>0]=1;t[e+4554>>0]=0;f[e+4556>>2]=1024;f[e+4560>>2]=1;t[e+4564>>0]=u;t[e+4565>>0]=1;t[e+4566>>0]=0;f[e+4568>>2]=0;c=s;return}function Wa(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4596>>0]=a&1;i=e+132|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);Ja(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function Ja(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;T=c;c=c+32|0;C=T+12|0;S=T;y=e+148|0;E=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)A=f[e+20>>2]|0;else A=1;i=re(A<<1,E)|0;f[C>>2]=0;P=C+4|0;f[P>>2]=0;f[C+8>>2]=0;do if(i){if(!((i|0)<0?(m=0,ue(178,C|0),M=m,m=0,M&1):0))l=6;if((l|0)==6?(r=i<<1,m=0,t=he(67,r|0)|0,M=m,m=0,!(M&1)):0){f[C>>2]=t;M=t+(i<<1)|0;f[C+8>>2]=M;y_(t|0,0,r|0)|0;f[P>>2]=M;break}t=Ye()|0;i=f[C>>2]|0;if(!i)$e(t|0);r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);$e(t|0)}while(0)f[S>>2]=0;M=S+4|0;f[M>>2]=0;f[S+8>>2]=0;do if(!A)l=18;else{if(!(A>>>0>1073741823?(m=0,ue(178,S|0),g=m,m=0,g&1):0))l=16;if((l|0)==16?(a=A<<2,m=0,s=he(67,a|0)|0,g=m,m=0,!(g&1)):0){f[S>>2]=s;l=s+(A<<2)|0;f[S+8>>2]=l;y_(s|0,0,a|0)|0;f[M>>2]=l;l=18;break}t=Ye()|0;i=f[S>>2]|0;r=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}while(0)if((l|0)==18){s=e+8|0;e:do if((f[s>>2]|0)>0){l=e+4572|0;o=re(A,E)|0;u=o+1|0;d=e+4576|0;h=(A|0)>0;b=e+136|0;k=e+144|0;w=e+140|0;_=e+132|0;p=e+88|0;v=e+4568|0;g=0;i:while(1){t=f[C>>2]|0;r=t+2|0;f[l>>2]=r;t=t+(u<<1)|0;f[d>>2]=t;if(!(g&1))i=t;else{f[l>>2]=t;f[d>>2]=r;i=r;r=t}if(h){a=f[S>>2]|0;t=0;do{f[v>>2]=f[a+(t<<2)>>2];a=f[y>>2]|0;n[r+(a<<1)>>1]=n[r+(a+-1<<1)>>1]|0;n[i+-2>>1]=n[r>>1]|0;m=0;ce(79,e|0,0);a=m;m=0;if(a&1){l=29;break i}a=f[S>>2]|0;f[a+(t<<2)>>2]=f[v>>2];r=(f[l>>2]|0)+(E<<1)|0;f[l>>2]=r;i=(f[d>>2]|0)+(E<<1)|0;f[d>>2]=i;t=t+1|0}while((t|0)<(A|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[p>>2]|0,m=0,Pe(f[(f[a>>2]|0)+8>>2]|0,a|0,i+((f[_>>2]|0)-o<<1)|0,f[w>>2]|0,E|0),a=m,m=0,a&1):0){l=30;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){l=42;break e}}if((l|0)==29){t=Ye()|0;break}else if((l|0)==30){t=Ye()|0;break}}else l=42;while(0)do if((l|0)==42){m=0;ue(183,e|0);e=m;m=0;if(e&1){t=Ye()|0;break}i=f[S>>2]|0;r=i;if(i){t=f[M>>2]|0;if((t|0)!=(i|0))f[M>>2]=t+(~((t+-4-r|0)>>>2)<<2);Iv(i)}i=f[C>>2]|0;if(!i){c=T;return}r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);c=T;return}while(0)i=f[S>>2]|0;r=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}i=f[C>>2]|0;if(!i)$e(t|0);r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);$e(t|0)}function Qa(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;k=e+4572|0;i=f[k>>2]|0;_=e+148|0;if((f[_>>2]|0)<=0)return;w=e+4576|0;m=e+4580|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){h=f[w>>2]|0;d=s[h+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=f[m>>2]|0;u=i-o|0;l=o-d|0;c=((((t[c+(r-i)>>0]|0)*9|0)+(t[c+u>>0]|0)|0)*9|0)+(t[c+l>>0]|0)|0;if(!c){a=($a(e,b,0)|0)+b|0;r=f[k>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-d>>31;if((o^l|0)<0)l=i;else l=d+((o^u|0)<0?0:u)|0;h=Za(e,c,s[h+(b<<1)>>1]|0,l,0)|0;n[(f[w>>2]|0)+(b<<1)>>1]=h}if((a|0)>=(f[_>>2]|0))break;l=f[k>>2]|0;o=i;i=r;b=a}return}function Za(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,_=0;_=i>>31;d=(_^i)-_|0;k=e+164+(d*12|0)+10|0;r=n[k>>1]|0;b=e+164+(d*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){l=5;while(1)if((r<<l|0)<(s|0))l=l+1|0;else break}else l=4;else l=3;else l=2;else l=1;else l=0;h=e+164+(d*12|0)+8|0;r=(n[h>>1]^_)-_+a|0;if((r&65535|0)!=(r|0))r=r>>31&65535^65535;s=e+112|0;if((f[s>>2]|0)<8)Ut(e);a=e+108|0;o=f[a>>2]|0;u=o>>>24;c=f[2832+(l<<11)+(u<<3)+4>>2]|0;if(!c){s=wa(e)|0;if((s|0)<47){if(l)s=(ma(e,l)|0)+(s<<l)|0}else s=(ma(e,16)|0)+1|0;s=s<<31>>31^s>>1;if((((s|0)>-1?s:0-s|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,r|0,5,35648);i=m;m=0;if(i&1){i=Ye()|0;Ue(r|0);$e(i|0)}else bi(r|0,824,96)}}else{f[s>>2]=(f[s>>2]|0)-c;f[a>>2]=o<<c;s=f[2832+(l<<11)+(u<<3)>>2]|0}c=e+164+(d*12|0)+4|0;a=f[c>>2]|0;if(!l){e=n[k>>1]|0;l=e;s=(a<<1)+-1+(e<<16>>16)>>31^s}else l=n[k>>1]|0;o=l<<16>>16==64;e=o&1;u=a+s>>e;o=o?32:l<<16>>16;f[b>>2]=((s|0)>-1?s:0-s|0)+(f[b>>2]|0)>>e;a=o+1|0;n[k>>1]=a;l=a+u|0;if((l|0)<1){k=n[h>>1]|0;n[h>>1]=(k&65535)-(k<<16>>16>-128&1);k=(l|0)>(~o|0)?l:0-o|0;f[c>>2]=k;_=s^_;i=i>>>31;i=r+i|0;i=i+_|0;i=i&65535;return i|0}if((u|0)<=0){k=u;f[c>>2]=k;_=s^_;i=i>>>31;i=r+i|0;i=i+_|0;i=i&65535;return i|0}k=u-a|0;b=n[h>>1]|0;n[h>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[c>>2]=k;_=s^_;i=i>>>31;i=r+i|0;i=i+_|0;i=i&65535;return i|0}function $a(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,l=0,o=0;l=e+4576|0;a=f[l>>2]|0;r=n[a+(i+-1<<1)>>1]|0;o=e+148|0;a=es(e,r,a+(i<<1)|0,(f[o>>2]|0)-i|0)|0;t=a+i|0;if((t|0)==(f[o>>2]|0)){o=a;return o|0}r=r&65535;i=s[(f[e+4572>>2]|0)+(t<<1)>>1]|0;o=r-i|0;if((((o|0)>-1?o:0-o|0)|0)<1)r=(is(e,e+4556|0)|0)+r|0;else r=(re(is(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;n[(f[l>>2]|0)+(t<<1)>>1]=r;o=e+4568|0;e=f[o>>2]|0;f[o>>2]=(e|0)<1?0:e+-1|0;o=a+1|0;return o|0}function es(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;u=e+112|0;c=e+108|0;d=e+4568|0;s=f[u>>2]|0;l=0;while(1){if((s|0)<1){Ut(e);s=f[u>>2]|0}o=f[c>>2]|0;s=s+-1|0;f[u>>2]=s;f[c>>2]=o<<1;if((o|0)>=0){h=8;break}o=f[d>>2]|0;b=1<<f[36476+(o<<2)>>2];k=a-l|0;k=(b|0)<(k|0)?b:k;l=k+l|0;if((k|0)==(b|0))f[d>>2]=(o|0)>30?31:o+1|0;if((l|0)==(a|0)){s=a;break}}if((h|0)==8)if((l|0)!=(a|0)){s=f[d>>2]|0;if((s+-4|0)>>>0<28)s=ma(e,f[36476+(s<<2)>>2]|0)|0;else s=0;s=s+l|0;if((s|0)>(a|0)){s=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,s|0,5,35648);k=m;m=0;if(k&1){k=Ye()|0;Ue(s|0);$e(k|0)}else bi(s|0,824,96)}}else s=a;if((s|0)>0)l=0;else return s|0;do{n[r+(l<<1)>>1]=i;l=l+1|0}while((l|0)!=(s|0))return s|0}function is(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0;u=i+9|0;r=a[u>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;s=f[36476+(f[e+4568>>2]<<2)>>2]|0;r=wa(e)|0;do if((r|0)<(46-s|0))if(!n){e=f[l>>2]|0;s=e+r|0;n=s&1;s=(n+s|0)/2|0;o=8;break}else{r=(ma(e,n)|0)+(r<<n)|0;e=f[l>>2]|0;s=r+e|0;c=s&1;n=c;l=1;s=(c+s|0)/2|0;break}else{r=(ma(e,16)|0)+1|0;e=f[l>>2]|0;s=r+e|0;l=s&1;s=(l+s|0)/2|0;if(!n){n=l;o=8}else{n=l;l=1}}while(0)if((o|0)==8)l=a[i+10>>0]<<1>>>0>=(a[u>>0]|0)>>>0;s=(n|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(r+1-e>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[u>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){c=n;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[u>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}function rs(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+32|0;o=d;ov(o,65535,0);u=e+152|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+156>>2]|0):0)?(f[o+12>>2]|0)==(f[e+160>>2]|0):0){u=f[8909]|0;f[e+4580>>2]=u+(((f[8910]|0)-u|0)>>>1);c=d;return}r=e+4584|0;n=e+4588|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=131072){if(s>>>0>131072?(l=i+131072|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{Yt(r,131072-s|0);i=f[r>>2]|0}o=e+4580|0;f[o>>2]=i+65536;l=e+160|0;a=e+156|0;s=-65536;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==65536)break}c=d;return}function ts(e){e=e|0;var i=0,r=0;f[e>>2]=35744;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function ns(e){e=e|0;var i=0,r=0;f[e>>2]=35744;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function fs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){_=e+4|0;v=e+32|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(37,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+12>>2]|0;if((e|0)==16)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(38,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(39,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(40,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+16>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=2;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=2;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function as(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;ov(u,4095,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+152>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+156>>2]=l;f[e+160>>2]=a;bs(e);a=0;do{f[e+164+(a*12|0)>>2]=64;f[e+164+(a*12|0)+4>>2]=0;n[e+164+(a*12|0)+8>>1]=0;n[e+164+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365)u=((i|0)==0?r:i)&255;f[e+4544>>2]=64;f[e+4548>>2]=0;t[e+4552>>0]=u;t[e+4553>>0]=1;t[e+4554>>0]=0;f[e+4556>>2]=64;f[e+4560>>2]=1;t[e+4564>>0]=u;t[e+4565>>0]=1;t[e+4566>>0]=0;f[e+4568>>2]=0;c=s;return}function ss(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4596>>0]=a&1;i=e+132|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);ls(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function ls(e){e=e|0;var i=0,r=0,t=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;T=c;c=c+32|0;C=T+12|0;S=T;y=e+148|0;E=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)A=f[e+20>>2]|0;else A=1;i=re(A<<1,E)|0;f[C>>2]=0;P=C+4|0;f[P>>2]=0;f[C+8>>2]=0;do if(i){if(!((i|0)<0?(m=0,ue(178,C|0),M=m,m=0,M&1):0))l=6;if((l|0)==6?(r=i<<1,m=0,t=he(67,r|0)|0,M=m,m=0,!(M&1)):0){f[C>>2]=t;M=t+(i<<1)|0;f[C+8>>2]=M;y_(t|0,0,r|0)|0;f[P>>2]=M;break}t=Ye()|0;i=f[C>>2]|0;if(!i)$e(t|0);r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);$e(t|0)}while(0)f[S>>2]=0;M=S+4|0;f[M>>2]=0;f[S+8>>2]=0;do if(!A)l=18;else{if(!(A>>>0>1073741823?(m=0,ue(178,S|0),g=m,m=0,g&1):0))l=16;if((l|0)==16?(a=A<<2,m=0,s=he(67,a|0)|0,g=m,m=0,!(g&1)):0){f[S>>2]=s;l=s+(A<<2)|0;f[S+8>>2]=l;y_(s|0,0,a|0)|0;f[M>>2]=l;l=18;break}t=Ye()|0;i=f[S>>2]|0;r=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}while(0)if((l|0)==18){s=e+8|0;e:do if((f[s>>2]|0)>0){l=e+4572|0;o=re(A,E)|0;u=o+1|0;d=e+4576|0;h=(A|0)>0;b=e+136|0;k=e+144|0;w=e+140|0;_=e+132|0;p=e+88|0;v=e+4568|0;g=0;i:while(1){t=f[C>>2]|0;r=t+2|0;f[l>>2]=r;t=t+(u<<1)|0;f[d>>2]=t;if(!(g&1))i=t;else{f[l>>2]=t;f[d>>2]=r;i=r;r=t}if(h){a=f[S>>2]|0;t=0;do{f[v>>2]=f[a+(t<<2)>>2];a=f[y>>2]|0;n[r+(a<<1)>>1]=n[r+(a+-1<<1)>>1]|0;n[i+-2>>1]=n[r>>1]|0;m=0;ce(80,e|0,0);a=m;m=0;if(a&1){l=29;break i}a=f[S>>2]|0;f[a+(t<<2)>>2]=f[v>>2];r=(f[l>>2]|0)+(E<<1)|0;f[l>>2]=r;i=(f[d>>2]|0)+(E<<1)|0;f[d>>2]=i;t=t+1|0}while((t|0)<(A|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[p>>2]|0,m=0,Pe(f[(f[a>>2]|0)+8>>2]|0,a|0,i+((f[_>>2]|0)-o<<1)|0,f[w>>2]|0,E|0),a=m,m=0,a&1):0){l=30;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){l=42;break e}}if((l|0)==29){t=Ye()|0;break}else if((l|0)==30){t=Ye()|0;break}}else l=42;while(0)do if((l|0)==42){m=0;ue(183,e|0);e=m;m=0;if(e&1){t=Ye()|0;break}i=f[S>>2]|0;r=i;if(i){t=f[M>>2]|0;if((t|0)!=(i|0))f[M>>2]=t+(~((t+-4-r|0)>>>2)<<2);Iv(i)}i=f[C>>2]|0;if(!i){c=T;return}r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);c=T;return}while(0)i=f[S>>2]|0;r=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}i=f[C>>2]|0;if(!i)$e(t|0);r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~((r+-2-i|0)>>>1)<<1);Iv(i);$e(t|0)}function os(e,i){e=e|0;i=i|0;var r=0,a=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;k=e+4572|0;i=f[k>>2]|0;_=e+148|0;if((f[_>>2]|0)<=0)return;w=e+4576|0;m=e+4580|0;l=i;o=s[i+-2>>1]|0;i=s[i>>1]|0;b=0;while(1){h=f[w>>2]|0;d=s[h+(b+-1<<1)>>1]|0;a=b+1|0;r=s[l+(a<<1)>>1]|0;c=f[m>>2]|0;u=i-o|0;l=o-d|0;c=((((t[c+(r-i)>>0]|0)*9|0)+(t[c+u>>0]|0)|0)*9|0)+(t[c+l>>0]|0)|0;if(!c){a=(cs(e,b,0)|0)+b|0;r=f[k>>2]|0;i=s[r+(a+-1<<1)>>1]|0;r=s[r+(a<<1)>>1]|0}else{o=i-d>>31;if((o^l|0)<0)l=i;else l=d+((o^u|0)<0?0:u)|0;h=us(e,c,s[h+(b<<1)>>1]|0,l,0)|0;n[(f[w>>2]|0)+(b<<1)>>1]=h}if((a|0)>=(f[_>>2]|0))break;l=f[k>>2]|0;o=i;i=r;b=a}return}function us(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,_=0;_=i>>31;d=(_^i)-_|0;k=e+164+(d*12|0)+10|0;r=n[k>>1]|0;b=e+164+(d*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){l=5;while(1)if((r<<l|0)<(s|0))l=l+1|0;else break}else l=4;else l=3;else l=2;else l=1;else l=0;h=e+164+(d*12|0)+8|0;r=(n[h>>1]^_)-_+a|0;if((r&4095|0)!=(r|0))r=r>>31&4095^4095;s=e+112|0;if((f[s>>2]|0)<8)Ut(e);a=e+108|0;o=f[a>>2]|0;u=o>>>24;c=f[2832+(l<<11)+(u<<3)+4>>2]|0;if(!c){s=wa(e)|0;if((s|0)<35){if(l)s=(ma(e,l)|0)+(s<<l)|0}else s=(ma(e,12)|0)+1|0;s=s<<31>>31^s>>1;if((((s|0)>-1?s:0-s|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,r|0,5,35648);i=m;m=0;if(i&1){i=Ye()|0;Ue(r|0);$e(i|0)}else bi(r|0,824,96)}}else{f[s>>2]=(f[s>>2]|0)-c;f[a>>2]=o<<c;s=f[2832+(l<<11)+(u<<3)>>2]|0}c=e+164+(d*12|0)+4|0;a=f[c>>2]|0;if(!l){e=n[k>>1]|0;l=e;s=(a<<1)+-1+(e<<16>>16)>>31^s}else l=n[k>>1]|0;o=l<<16>>16==64;e=o&1;u=a+s>>e;o=o?32:l<<16>>16;f[b>>2]=((s|0)>-1?s:0-s|0)+(f[b>>2]|0)>>e;a=o+1|0;n[k>>1]=a;l=a+u|0;if((l|0)<1){k=n[h>>1]|0;n[h>>1]=(k&65535)-(k<<16>>16>-128&1);k=(l|0)>(~o|0)?l:0-o|0;f[c>>2]=k;_=s^_;i=i>>>31;i=r+i|0;i=i+_|0;i=i&4095;i=i&65535;return i|0}if((u|0)<=0){k=u;f[c>>2]=k;_=s^_;i=i>>>31;i=r+i|0;i=i+_|0;i=i&4095;i=i&65535;return i|0}k=u-a|0;b=n[h>>1]|0;n[h>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[c>>2]=k;_=s^_;i=i>>>31;i=r+i|0;i=i+_|0;i=i&4095;i=i&65535;return i|0}function cs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,l=0,o=0;l=e+4576|0;a=f[l>>2]|0;r=n[a+(i+-1<<1)>>1]|0;o=e+148|0;a=ds(e,r,a+(i<<1)|0,(f[o>>2]|0)-i|0)|0;t=a+i|0;if((t|0)==(f[o>>2]|0)){o=a;return o|0}r=r&65535;i=s[(f[e+4572>>2]|0)+(t<<1)>>1]|0;o=r-i|0;if((((o|0)>-1?o:0-o|0)|0)<1)r=(hs(e,e+4556|0)|0)+r|0;else r=(re(hs(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;n[(f[l>>2]|0)+(t<<1)>>1]=r&4095;o=e+4568|0;e=f[o>>2]|0;f[o>>2]=(e|0)<1?0:e+-1|0;o=a+1|0;return o|0}function ds(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;u=e+112|0;c=e+108|0;d=e+4568|0;s=f[u>>2]|0;l=0;while(1){if((s|0)<1){Ut(e);s=f[u>>2]|0}o=f[c>>2]|0;s=s+-1|0;f[u>>2]=s;f[c>>2]=o<<1;if((o|0)>=0){h=8;break}o=f[d>>2]|0;b=1<<f[36476+(o<<2)>>2];k=a-l|0;k=(b|0)<(k|0)?b:k;l=k+l|0;if((k|0)==(b|0))f[d>>2]=(o|0)>30?31:o+1|0;if((l|0)==(a|0)){s=a;break}}if((h|0)==8)if((l|0)!=(a|0)){s=f[d>>2]|0;if((s+-4|0)>>>0<28)s=ma(e,f[36476+(s<<2)>>2]|0)|0;else s=0;s=s+l|0;if((s|0)>(a|0)){s=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,s|0,5,35648);k=m;m=0;if(k&1){k=Ye()|0;Ue(s|0);$e(k|0)}else bi(s|0,824,96)}}else s=a;if((s|0)>0)l=0;else return s|0;do{n[r+(l<<1)>>1]=i;l=l+1|0}while((l|0)!=(s|0))return s|0}function hs(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0;u=i+9|0;r=a[u>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;s=f[36476+(f[e+4568>>2]<<2)>>2]|0;r=wa(e)|0;do if((r|0)<(34-s|0))if(!n){e=f[l>>2]|0;s=e+r|0;n=s&1;s=(n+s|0)/2|0;o=8;break}else{r=(ma(e,n)|0)+(r<<n)|0;e=f[l>>2]|0;s=r+e|0;c=s&1;n=c;l=1;s=(c+s|0)/2|0;break}else{r=(ma(e,12)|0)+1|0;e=f[l>>2]|0;s=r+e|0;l=s&1;s=(l+s|0)/2|0;if(!n){n=l;o=8}else{n=l;l=1}}while(0)if((o|0)==8)l=a[i+10>>0]<<1>>>0>=(a[u>>0]|0)>>>0;s=(n|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(r+1-e>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[u>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){c=n;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[u>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}function bs(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+32|0;o=d;ov(o,4095,0);u=e+152|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+156>>2]|0):0)?(f[o+12>>2]|0)==(f[e+160>>2]|0):0){u=f[8906]|0;f[e+4580>>2]=u+(((f[8907]|0)-u|0)>>>1);c=d;return}r=e+4584|0;n=e+4588|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=8192){if(s>>>0>8192?(l=i+8192|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{Yt(r,8192-s|0);i=f[r>>2]|0}o=e+4580|0;f[o>>2]=i+4096;l=e+160|0;a=e+156|0;s=-4096;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==4096)break}c=d;return}function ks(e){e=e|0;var i=0,r=0;f[e>>2]=35716;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function ws(e){e=e|0;var i=0,r=0;f[e>>2]=35716;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function ms(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){_=e+4|0;v=e+32|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(44,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+12>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(45,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(46,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(47,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0
18
+ ;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+16>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=1;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=1;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function _s(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;ov(u,255,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+152>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+156>>2]=l;f[e+160>>2]=a;Ts(e);a=0;do{f[e+164+(a*12|0)>>2]=4;f[e+164+(a*12|0)+4>>2]=0;n[e+164+(a*12|0)+8>>1]=0;n[e+164+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365)u=((i|0)==0?r:i)&255;f[e+4544>>2]=4;f[e+4548>>2]=0;t[e+4552>>0]=u;t[e+4553>>0]=1;t[e+4554>>0]=0;f[e+4556>>2]=4;f[e+4560>>2]=1;t[e+4564>>0]=u;t[e+4565>>0]=1;t[e+4566>>0]=0;f[e+4568>>2]=0;c=s;return}function ps(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4596>>0]=a&1;i=e+132|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);vs(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function vs(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;T=c;c=c+32|0;C=T+12|0;S=T;y=e+148|0;E=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)A=f[e+20>>2]|0;else A=1;i=re(A<<1,E)|0;f[C>>2]=0;P=C+4|0;f[P>>2]=0;f[C+8>>2]=0;e:do if(i){if(!((i|0)<0?(m=0,ue(178,C|0),M=m,m=0,M&1):0))s=6;if((s|0)==6?(m=0,r=he(67,i|0)|0,M=m,m=0,!(M&1)):0){f[P>>2]=r;f[C>>2]=r;f[C+8>>2]=r+i;while(1){t[r>>0]=0;r=(f[P>>2]|0)+1|0;f[P>>2]=r;i=i+-1|0;if(!i)break e}}r=Ye()|0;i=f[C>>2]|0;if(!i)$e(r|0);if((f[P>>2]|0)!=(i|0))f[P>>2]=i;Iv(i);$e(r|0)}while(0)f[S>>2]=0;M=S+4|0;f[M>>2]=0;f[S+8>>2]=0;do if(!A)s=19;else{if(!(A>>>0>1073741823?(m=0,ue(178,S|0),g=m,m=0,g&1):0))s=17;if((s|0)==17?(n=A<<2,m=0,a=he(67,n|0)|0,g=m,m=0,!(g&1)):0){f[S>>2]=a;s=a+(A<<2)|0;f[S+8>>2]=s;y_(a|0,0,n|0)|0;f[M>>2]=s;s=19;break}r=Ye()|0;i=f[S>>2]|0;n=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-n|0)>>>2)<<2);Iv(i)}}while(0)if((s|0)==19){s=e+8|0;e:do if((f[s>>2]|0)>0){l=e+4572|0;o=re(A,E)|0;u=o+1|0;d=e+4576|0;h=(A|0)>0;b=e+136|0;k=e+144|0;w=e+140|0;_=e+132|0;p=e+88|0;v=e+4568|0;g=0;i:while(1){n=f[C>>2]|0;r=n+1|0;f[l>>2]=r;n=n+u|0;f[d>>2]=n;if(!(g&1))i=n;else{f[l>>2]=n;f[d>>2]=r;i=r;r=n}if(h){a=f[S>>2]|0;n=0;do{f[v>>2]=f[a+(n<<2)>>2];a=f[y>>2]|0;t[r+a>>0]=t[r+(a+-1)>>0]|0;t[(f[d>>2]|0)+-1>>0]=t[f[l>>2]>>0]|0;m=0;ce(81,e|0,0);a=m;m=0;if(a&1){s=30;break i}a=f[S>>2]|0;f[a+(n<<2)>>2]=f[v>>2];r=(f[l>>2]|0)+E|0;f[l>>2]=r;i=(f[d>>2]|0)+E|0;f[d>>2]=i;n=n+1|0}while((n|0)<(A|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[p>>2]|0,m=0,Pe(f[(f[a>>2]|0)+8>>2]|0,a|0,i+((f[_>>2]|0)-o)|0,f[w>>2]|0,E|0),a=m,m=0,a&1):0){s=31;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){s=43;break e}}if((s|0)==30){r=Ye()|0;break}else if((s|0)==31){r=Ye()|0;break}}else s=43;while(0)do if((s|0)==43){m=0;ue(183,e|0);e=m;m=0;if(e&1){r=Ye()|0;break}i=f[S>>2]|0;r=i;if(i){n=f[M>>2]|0;if((n|0)!=(i|0))f[M>>2]=n+(~((n+-4-r|0)>>>2)<<2);Iv(i)}i=f[C>>2]|0;if(!i){c=T;return}if((f[P>>2]|0)!=(i|0))f[P>>2]=i;Iv(i);c=T;return}while(0)i=f[S>>2]|0;n=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-n|0)>>>2)<<2);Iv(i)}}i=f[C>>2]|0;if(!i)$e(r|0);if((f[P>>2]|0)!=(i|0))f[P>>2]=i;Iv(i);$e(r|0)}function gs(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;b=e+4572|0;i=f[b>>2]|0;m=e+148|0;if((f[m>>2]|0)<=0)return;k=e+4576|0;w=e+4580|0;s=i;l=a[i+-1>>0]|0;i=a[i>>0]|0;h=0;while(1){d=f[k>>2]|0;c=a[d+(h+-1)>>0]|0;n=h+1|0;r=a[s+n>>0]|0;u=f[w>>2]|0;o=i-l|0;s=l-c|0;u=((((t[u+(r-i)>>0]|0)*9|0)+(t[u+o>>0]|0)|0)*9|0)+(t[u+s>>0]|0)|0;if(!u){n=(Es(e,h,0)|0)+h|0;r=f[b>>2]|0;i=a[r+(n+-1)>>0]|0;r=a[r+n>>0]|0}else{l=i-c>>31;if((l^s|0)<0)s=i;else s=c+((l^o|0)<0?0:o)|0;d=ys(e,u,a[d+h>>0]|0,s,0)|0;t[(f[k>>2]|0)+h>>0]=d}if((n|0)>=(f[m>>2]|0))break;s=f[b>>2]|0;l=i;i=r;h=n}return}function ys(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,_=0;_=i>>31;d=(_^i)-_|0;k=e+164+(d*12|0)+10|0;r=n[k>>1]|0;b=e+164+(d*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){l=5;while(1)if((r<<l|0)<(s|0))l=l+1|0;else break}else l=4;else l=3;else l=2;else l=1;else l=0;h=e+164+(d*12|0)+8|0;r=(n[h>>1]^_)-_+a|0;if((r&255|0)!=(r|0))r=r>>31&255^255;s=e+112|0;if((f[s>>2]|0)<8)Ut(e);a=e+108|0;o=f[a>>2]|0;u=o>>>24;c=f[2832+(l<<11)+(u<<3)+4>>2]|0;if(!c){s=wa(e)|0;if((s|0)<23){if(l)s=(ma(e,l)|0)+(s<<l)|0}else s=(ma(e,8)|0)+1|0;s=s<<31>>31^s>>1;if((((s|0)>-1?s:0-s|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,r|0,5,35648);i=m;m=0;if(i&1){i=Ye()|0;Ue(r|0);$e(i|0)}else bi(r|0,824,96)}}else{f[s>>2]=(f[s>>2]|0)-c;f[a>>2]=o<<c;s=f[2832+(l<<11)+(u<<3)>>2]|0}c=e+164+(d*12|0)+4|0;a=f[c>>2]|0;if(!l){e=n[k>>1]|0;l=e;s=(a<<1)+-1+(e<<16>>16)>>31^s}else l=n[k>>1]|0;o=l<<16>>16==64;e=o&1;u=a+s>>e;o=o?32:l<<16>>16;f[b>>2]=((s|0)>-1?s:0-s|0)+(f[b>>2]|0)>>e;a=o+1|0;n[k>>1]=a;l=a+u|0;if((l|0)<1){k=n[h>>1]|0;n[h>>1]=(k&65535)-(k<<16>>16>-128&1);k=(l|0)>(~o|0)?l:0-o|0;f[c>>2]=k;_=s^_;i=i>>>31;i=r+i|0;i=i+_|0;i=i&255;return i|0}if((u|0)<=0){k=u;f[c>>2]=k;_=s^_;i=i>>>31;i=r+i|0;i=i+_|0;i=i&255;return i|0}k=u-a|0;b=n[h>>1]|0;n[h>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[c>>2]=k;_=s^_;i=i>>>31;i=r+i|0;i=i+_|0;i=i&255;return i|0}function Es(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0;l=e+4576|0;s=f[l>>2]|0;r=t[s+(i+-1)>>0]|0;o=e+148|0;s=As(e,r,s+i|0,(f[o>>2]|0)-i|0)|0;n=s+i|0;if((n|0)==(f[o>>2]|0)){o=s;return o|0}r=r&255;i=a[(f[e+4572>>2]|0)+n>>0]|0;o=r-i|0;if((((o|0)>-1?o:0-o|0)|0)<1)r=(Ss(e,e+4556|0)|0)+r|0;else r=(re(Ss(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;t[(f[l>>2]|0)+n>>0]=r;o=e+4568|0;e=f[o>>2]|0;f[o>>2]=(e|0)<1?0:e+-1|0;o=s+1|0;return o|0}function As(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0;o=e+112|0;u=e+108|0;c=e+4568|0;a=f[o>>2]|0;s=0;while(1){if((a|0)<1){Ut(e);a=f[o>>2]|0}l=f[u>>2]|0;a=a+-1|0;f[o>>2]=a;f[u>>2]=l<<1;if((l|0)>=0){d=8;break}l=f[c>>2]|0;h=1<<f[36476+(l<<2)>>2];b=n-s|0;b=(h|0)<(b|0)?h:b;s=b+s|0;if((b|0)==(h|0))f[c>>2]=(l|0)>30?31:l+1|0;if((s|0)==(n|0)){a=n;break}}if((d|0)==8)if((s|0)!=(n|0)){a=f[c>>2]|0;if((a+-4|0)>>>0<28)a=ma(e,f[36476+(a<<2)>>2]|0)|0;else a=0;a=a+s|0;if((a|0)>(n|0)){a=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,a|0,5,35648);b=m;m=0;if(b&1){b=Ye()|0;Ue(a|0);$e(b|0)}else bi(a|0,824,96)}}else a=n;if((a|0)<=0)return a|0;y_(r|0,i|0,a|0)|0;return a|0}function Ss(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0;u=i+9|0;r=a[u>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;s=f[36476+(f[e+4568>>2]<<2)>>2]|0;r=wa(e)|0;do if((r|0)<(22-s|0))if(!n){e=f[l>>2]|0;s=e+r|0;n=s&1;s=(n+s|0)/2|0;o=8;break}else{r=(ma(e,n)|0)+(r<<n)|0;e=f[l>>2]|0;s=r+e|0;c=s&1;n=c;l=1;s=(c+s|0)/2|0;break}else{r=(ma(e,8)|0)+1|0;e=f[l>>2]|0;s=r+e|0;l=s&1;s=(l+s|0)/2|0;if(!n){n=l;o=8}else{n=l;l=1}}while(0)if((o|0)==8)l=a[i+10>>0]<<1>>>0>=(a[u>>0]|0)>>>0;s=(n|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(r+1-e>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[u>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){c=n;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[u>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}function Ts(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+32|0;o=d;ov(o,255,0);u=e+152|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+156>>2]|0):0)?(f[o+12>>2]|0)==(f[e+160>>2]|0):0){u=f[8900]|0;f[e+4580>>2]=u+(((f[8901]|0)-u|0)>>>1);c=d;return}r=e+4584|0;n=e+4588|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=512){if(s>>>0>512?(l=i+512|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{Yt(r,512-s|0);i=f[r>>2]|0}o=e+4580|0;f[o>>2]=i+256;l=e+160|0;a=e+156|0;s=-256;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==256)break}c=d;return}function Ms(e){e=e|0;var i=0,r=0;f[e>>2]=35688;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function Cs(e){e=e|0;var i=0,r=0;f[e>>2]=35688;i=f[e+4584>>2]|0;if(i){r=e+4588|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function Ps(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){_=e+4|0;v=e+32|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(44,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+12>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(45,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(46,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(47,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+16>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=3;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=3;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function xs(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0;s=c;c=c+32|0;u=s;ov(u,255,0);o=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[u+8>>2]|0:l;a=f[i+12>>2]|0;a=(a|0)==0?f[u+12>>2]|0:a;i=f[i+16>>2]|0;r=f[u+16>>2]|0;f[e+152>>2]=(o|0)==0?f[u+4>>2]|0:o;f[e+156>>2]=l;f[e+160>>2]=a;Bp(e);a=0;do{f[e+164+(a*12|0)>>2]=4;f[e+164+(a*12|0)+4>>2]=0;n[e+164+(a*12|0)+8>>1]=0;n[e+164+(a*12|0)+10>>1]=1;a=a+1|0}while((a|0)!=365)u=((i|0)==0?r:i)&255;f[e+4544>>2]=4;f[e+4548>>2]=0;t[e+4552>>0]=u;t[e+4553>>0]=1;t[e+4554>>0]=0;f[e+4556>>2]=4;f[e+4560>>2]=1;t[e+4564>>0]=u;t[e+4565>>0]=1;t[e+4566>>0]=0;f[e+4568>>2]=0;c=s;return}function Ds(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4596>>0]=a&1;i=e+132|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);Rs(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function Rs(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;T=c;c=c+32|0;C=T+12|0;S=T;y=e+148|0;E=(f[y>>2]|0)+4|0;if((f[e+28>>2]|0)==1)A=f[e+20>>2]|0;else A=1;i=re(A<<1,E)|0;f[C>>2]=0;P=C+4|0;f[P>>2]=0;f[C+8>>2]=0;e:do if(i){if(!(i>>>0>1431655765?(m=0,ue(178,C|0),M=m,m=0,M&1):0))s=6;if((s|0)==6?(m=0,r=he(67,i*3|0)|0,M=m,m=0,!(M&1)):0){f[P>>2]=r;f[C>>2]=r;f[C+8>>2]=r+(i*3|0);while(1){t[r>>0]=0;t[r+1>>0]=0;t[r+2>>0]=0;r=(f[P>>2]|0)+3|0;f[P>>2]=r;i=i+-1|0;if(!i)break e}}n=Ye()|0;i=f[C>>2]|0;if(!i)$e(n|0);r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Iv(i);$e(n|0)}while(0)f[S>>2]=0;M=S+4|0;f[M>>2]=0;f[S+8>>2]=0;do if(!A)s=19;else{if(!(A>>>0>1073741823?(m=0,ue(178,S|0),g=m,m=0,g&1):0))s=17;if((s|0)==17?(n=A<<2,m=0,a=he(67,n|0)|0,g=m,m=0,!(g&1)):0){f[S>>2]=a;s=a+(A<<2)|0;f[S+8>>2]=s;y_(a|0,0,n|0)|0;f[M>>2]=s;s=19;break}n=Ye()|0;i=f[S>>2]|0;r=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}while(0)if((s|0)==19){s=e+8|0;e:do if((f[s>>2]|0)>0){l=e+4572|0;o=re(A,E)|0;u=o+1|0;d=e+4576|0;h=(A|0)>0;b=e+136|0;k=e+144|0;w=e+140|0;_=e+132|0;p=e+88|0;v=e+4568|0;g=0;i:while(1){n=f[C>>2]|0;r=n+3|0;f[l>>2]=r;n=n+(u*3|0)|0;f[d>>2]=n;if(!(g&1))i=n;else{f[l>>2]=n;f[d>>2]=r;i=r;r=n}if(h){a=f[S>>2]|0;n=0;do{f[v>>2]=f[a+(n<<2)>>2];i=f[y>>2]|0;a=r+(i*3|0)|0;r=r+((i+-1|0)*3|0)|0;t[a>>0]=t[r>>0]|0;t[a+1>>0]=t[r+1>>0]|0;t[a+2>>0]=t[r+2>>0]|0;r=f[l>>2]|0;a=(f[d>>2]|0)+-3|0;t[a>>0]=t[r>>0]|0;t[a+1>>0]=t[r+1>>0]|0;t[a+2>>0]=t[r+2>>0]|0;m=0;ce(82,e|0,0);a=m;m=0;if(a&1){s=30;break i}a=f[S>>2]|0;f[a+(n<<2)>>2]=f[v>>2];r=(f[l>>2]|0)+(E*3|0)|0;f[l>>2]=r;i=(f[d>>2]|0)+(E*3|0)|0;f[d>>2]=i;n=n+1|0}while((n|0)<(A|0))}a=f[b>>2]|0;if(((a|0)<=(g|0)?(g|0)<((f[k>>2]|0)+a|0):0)?(a=f[p>>2]|0,m=0,Pe(f[(f[a>>2]|0)+8>>2]|0,a|0,i+(((f[_>>2]|0)-o|0)*3|0)|0,f[w>>2]|0,E|0),a=m,m=0,a&1):0){s=31;break}g=g+1|0;if((g|0)>=(f[s>>2]|0)){s=43;break e}}if((s|0)==30){n=Ye()|0;break}else if((s|0)==31){n=Ye()|0;break}}else s=43;while(0)do if((s|0)==43){m=0;ue(183,e|0);e=m;m=0;if(e&1){n=Ye()|0;break}i=f[S>>2]|0;r=i;if(i){n=f[M>>2]|0;if((n|0)!=(i|0))f[M>>2]=n+(~((n+-4-r|0)>>>2)<<2);Iv(i)}i=f[C>>2]|0;if(!i){c=T;return}r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Iv(i);c=T;return}while(0)i=f[S>>2]|0;r=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-r|0)>>>2)<<2);Iv(i)}}i=f[C>>2]|0;if(!i)$e(n|0);r=f[P>>2]|0;if((r|0)!=(i|0))f[P>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);Iv(i);$e(n|0)}function Os(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;T=e+148|0;if((f[T>>2]|0)<=0)return;M=e+4576|0;C=e+4572|0;P=e+4580|0;S=0;while(1){y=S+-1|0;l=f[M>>2]|0;o=f[C>>2]|0;i=S+1|0;s=a[o+(S*3|0)>>0]|0;A=f[P>>2]|0;u=a[o+(y*3|0)>>0]|0;c=s-u|0;d=a[l+(y*3|0)>>0]|0;h=u-d|0;b=((((t[A+((a[o+(i*3|0)>>0]|0)-s)>>0]|0)*9|0)+(t[A+c>>0]|0)|0)*9|0)+(t[A+h>>0]|0)|0;n=a[o+(S*3|0)+1>>0]|0;k=a[o+(y*3|0)+1>>0]|0;w=n-k|0;m=a[l+(y*3|0)+1>>0]|0;_=k-m|0;p=((((t[A+((a[o+(i*3|0)+1>>0]|0)-n)>>0]|0)*9|0)+(t[A+w>>0]|0)|0)*9|0)+(t[A+_>>0]|0)|0;r=a[o+(S*3|0)+2>>0]|0;v=a[o+(y*3|0)+2>>0]|0;g=r-v|0;y=a[l+(y*3|0)+2>>0]|0;E=v-y|0;A=((((t[A+((a[o+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(t[A+g>>0]|0)|0)*9|0)+(t[A+E>>0]|0)|0;if(!(p|b|A))i=(Ls(e,S,0)|0)+S|0;else{o=a[l+(S*3|0)>>0]|0;l=s-d>>31;if((l^h|0)>=0)if((l^c|0)<0)s=d;else s=d-u+s|0;o=Is(e,b,o,s,0)|0;l=a[(f[M>>2]|0)+(S*3|0)+1>>0]|0;s=n-m>>31;if((s^_|0)>=0)if((s^w|0)<0)n=m;else n=m-k+n|0;s=Is(e,p,l,n,0)|0;l=a[(f[M>>2]|0)+(S*3|0)+2>>0]|0;n=r-y>>31;if((n^E|0)>=0)if((n^g|0)<0)r=y;else r=y-v+r|0;A=Is(e,A,l,r,0)|0;S=(f[M>>2]|0)+(S*3|0)|0;t[S>>0]=o;t[S+1>>0]=s;t[S+2>>0]=A}if((i|0)<(f[T>>2]|0))S=i;else break}return}function Ls(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;u=c;c=c+16|0;h=u+3|0;b=u;s=e+4576|0;r=f[s>>2]|0;n=r+((i+-1|0)*3|0)|0;l=t[n>>0]|0;o=t[n+1>>0]|0;n=t[n+2>>0]|0;t[b>>0]=l;t[b+1>>0]=o;t[b+2>>0]=n;d=e+148|0;a=(f[d>>2]|0)-i|0;t[h>>0]=t[b>>0]|0;t[h+1>>0]=t[b+1>>0]|0;t[h+2>>0]=t[b+2>>0]|0;a=Bs(e,h,r+(i*3|0)|0,a)|0;r=a+i|0;if((r|0)==(f[d>>2]|0)){b=a;c=u;return b|0}h=(f[e+4572>>2]|0)+(r*3|0)|0;i=t[h>>0]|0;d=t[h+1>>0]|0;h=t[h+2>>0]|0;b=f[s>>2]|0;k=e+4544|0;s=Ns(e,k)|0;w=Ns(e,k)|0;i=i&255;d=d&255;d=(re(d-(o&255)>>31|1,w)|0)+d&255;h=h&255;h=(re(h-(n&255)>>31|1,Ns(e,k)|0)|0)+h&255;b=b+(r*3|0)|0;t[b>>0]=(re(i-(l&255)>>31|1,s)|0)+i;t[b+1>>0]=d;t[b+2>>0]=h;b=e+4568|0;h=f[b>>2]|0;f[b>>2]=(h|0)<1?0:h+-1|0;b=a+1|0;c=u;return b|0}function Is(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,_=0;_=i>>31;d=(_^i)-_|0;k=e+164+(d*12|0)+10|0;r=n[k>>1]|0;b=e+164+(d*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){l=5;while(1)if((r<<l|0)<(s|0))l=l+1|0;else break}else l=4;else l=3;else l=2;else l=1;else l=0;h=e+164+(d*12|0)+8|0;r=(n[h>>1]^_)-_+a|0;if((r&255|0)!=(r|0))r=r>>31&255^255;s=e+112|0;if((f[s>>2]|0)<8)Ut(e);a=e+108|0;o=f[a>>2]|0;u=o>>>24;c=f[2832+(l<<11)+(u<<3)+4>>2]|0;if(!c){s=wa(e)|0;if((s|0)<23){if(l)s=(ma(e,l)|0)+(s<<l)|0}else s=(ma(e,8)|0)+1|0;s=s<<31>>31^s>>1;if((((s|0)>-1?s:0-s|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,r|0,5,35648);i=m;m=0;if(i&1){i=Ye()|0;Ue(r|0);$e(i|0)}else bi(r|0,824,96)}}else{f[s>>2]=(f[s>>2]|0)-c;f[a>>2]=o<<c;s=f[2832+(l<<11)+(u<<3)>>2]|0}c=e+164+(d*12|0)+4|0;a=f[c>>2]|0;if(!l){e=n[k>>1]|0;l=e;s=(a<<1)+-1+(e<<16>>16)>>31^s}else l=n[k>>1]|0;o=l<<16>>16==64;e=o&1;u=a+s>>e;o=o?32:l<<16>>16;f[b>>2]=((s|0)>-1?s:0-s|0)+(f[b>>2]|0)>>e;a=o+1|0;n[k>>1]=a;l=a+u|0;if((l|0)<1){k=n[h>>1]|0;n[h>>1]=(k&65535)-(k<<16>>16>-128&1);k=(l|0)>(~o|0)?l:0-o|0;f[c>>2]=k;_=s^_;i=i>>>31;i=r+i|0;i=i+_|0;i=i&255;return i|0}if((u|0)<=0){k=u;f[c>>2]=k;_=s^_;i=i>>>31;i=r+i|0;i=i+_|0;i=i&255;return i|0}k=u-a|0;b=n[h>>1]|0;n[h>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;f[c>>2]=k;_=s^_;i=i>>>31;i=r+i|0;i=i+_|0;i=i&255;return i|0}function Bs(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0;o=e+112|0;u=e+108|0;c=e+4568|0;a=f[o>>2]|0;s=0;while(1){if((a|0)<1){Ut(e);a=f[o>>2]|0}l=f[u>>2]|0;a=a+-1|0;f[o>>2]=a;f[u>>2]=l<<1;if((l|0)>=0){d=8;break}l=f[c>>2]|0;h=1<<f[36476+(l<<2)>>2];b=n-s|0;b=(h|0)<(b|0)?h:b;s=b+s|0;if((b|0)==(h|0))f[c>>2]=(l|0)>30?31:l+1|0;if((s|0)==(n|0)){a=n;break}}if((d|0)==8)if((s|0)!=(n|0)){a=f[c>>2]|0;if((a+-4|0)>>>0<28)a=ma(e,f[36476+(a<<2)>>2]|0)|0;else a=0;a=a+s|0;if((a|0)>(n|0)){a=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,a|0,5,35648);b=m;m=0;if(b&1){b=Ye()|0;Ue(a|0);$e(b|0)}else bi(a|0,824,96)}}else a=n;if((a|0)<=0)return a|0;s=0;do{b=r+(s*3|0)|0;t[b>>0]=t[i>>0]|0;t[b+1>>0]=t[i+1>>0]|0;t[b+2>>0]=t[i+2>>0]|0;s=s+1|0}while((s|0)!=(a|0))return a|0}function Ns(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0;u=i+9|0;r=a[u>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;s=f[36476+(f[e+4568>>2]<<2)>>2]|0;r=wa(e)|0;do if((r|0)<(22-s|0))if(!n){e=f[l>>2]|0;s=e+r|0;n=s&1;s=(n+s|0)/2|0;o=8;break}else{r=(ma(e,n)|0)+(r<<n)|0;e=f[l>>2]|0;s=r+e|0;c=s&1;n=c;l=1;s=(c+s|0)/2|0;break}else{r=(ma(e,8)|0)+1|0;e=f[l>>2]|0;s=r+e|0;l=s&1;s=(l+s|0)/2|0;if(!n){n=l;o=8}else{n=l;l=1}}while(0)if((o|0)==8)l=a[i+10>>0]<<1>>>0>=(a[u>>0]|0)>>>0;s=(n|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(r+1-e>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[u>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){c=n;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[u>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;c=c&255;c=c+1|0;c=c&255;t[u>>0]=c;return s|0}function Fs(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;h=c;c=c+128|0;s=h;k=h+116|0;w=h+104|0;o=h+20|0;d=h+16|0;u=h+12|0;b=h+8|0;l=h+4|0;t[k>>0]=t[58887]|0;t[k+1>>0]=t[58888]|0;t[k+2>>0]=t[58889]|0;t[k+3>>0]=t[58890]|0;t[k+4>>0]=t[58891]|0;t[k+5>>0]=t[58892]|0;mk(k+1|0,58893,0,f[r+4>>2]|0);e=Gb()|0;f[s>>2]=a;a=w+(nm(w,12,e,k,s)|0)|0;k=_k(w,a,r)|0;e=sh(r)|0;f[b>>2]=e;m=0;_e(3,w|0,k|0,a|0,o|0,d|0,u|0,b|0);a=m;m=0;if(a&1){w=Ye()|0;bd(e)|0;$e(w|0)}else{bd(e)|0;f[l>>2]=f[i>>2];k=f[d>>2]|0;w=f[u>>2]|0;f[s>>2]=f[l>>2];w=am(s,o,k,w,r,n)|0;c=h;return w|0}return 0}function js(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0;h=c;c=c+240|0;s=h+8|0;e=h;k=h+204|0;o=h+32|0;d=h+28|0;u=h+24|0;b=h+20|0;l=h+16|0;w=e;f[w>>2]=37;f[w+4>>2]=0;mk(e+1|0,58895,0,f[r+4>>2]|0);w=Gb()|0;_=s;f[_>>2]=n;f[_+4>>2]=a;a=k+(nm(k,23,w,e,s)|0)|0;n=_k(k,a,r)|0;e=sh(r)|0;f[b>>2]=e;m=0;_e(3,k|0,n|0,a|0,o|0,d|0,u|0,b|0);a=m;m=0;if(a&1){_=Ye()|0;bd(e)|0;$e(_|0)}else{bd(e)|0;f[l>>2]=f[i>>2];w=f[d>>2]|0;_=f[u>>2]|0;f[s>>2]=f[l>>2];_=am(s,o,w,_,r,t)|0;c=h;return _|0}return 0}function Us(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var a=0,s=0,l=0,o=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0;S=c;c=c+352|0;v=S+312|0;k=S+48|0;b=S+32|0;o=S+24|0;a=S+8|0;h=S;_=S+316|0;p=S+80|0;l=S+84|0;A=S+76|0;E=S+72|0;g=S+68|0;y=S+64|0;d=h;f[d>>2]=37;f[d+4>>2]=0;d=Ak(h+1|0,58898,f[r+4>>2]|0)|0;f[p>>2]=_;e=Gb()|0;if(d){f[a>>2]=f[r+8>>2];u[a+8>>3]=n;a=nm(_,30,e,h,a)|0}else{u[o>>3]=n;a=nm(_,30,e,h,o)|0}e:do if((a|0)>29){m=0;e=Ee(3)|0;a=m;m=0;a=a&1;if(d){if(!a?(m=0,f[b>>2]=f[r+8>>2],u[b+8>>3]=n,s=Ae(17,p|0,e|0,h|0,b|0)|0,w=m,m=0,!(w&1)):0)T=12}else if(!a?(m=0,f[k>>2]=f[r+8>>2],u[k+8>>3]=n,w=Ae(17,p|0,e|0,h|0,k|0)|0,k=m,m=0,!(k&1)):0){s=w;T=12}do if((T|0)==12){e=f[p>>2]|0;if(!e){m=0;Te(6);w=m;m=0;if(w&1)break;a=f[p>>2]|0}else a=e;e=a;h=a;T=16;break e}while(0)e=Ye()|0}else{e=f[p>>2]|0;h=0;s=a;T=16}while(0)if((T|0)==16){o=e+s|0;d=_k(e,o,r)|0;do if((e|0)==(_|0)){e=_;a=0;T=22}else{s=xc(s<<3)|0;if(!s){m=0;Te(6);T=m;m=0;if(T&1){a=0;T=20;break}e=f[p>>2]|0}a=s;l=s;T=22}while(0)do if((T|0)==22){m=0;s=he(68,r|0)|0;p=m;m=0;if(!(p&1)){f[g>>2]=s;m=0;_e(4,e|0,d|0,o|0,l|0,A|0,E|0,g|0);g=m;m=0;if(g&1){e=Ye()|0;bd(s)|0;break}bd(s)|0;f[y>>2]=f[i>>2];T=f[A>>2]|0;e=f[E>>2]|0;m=0;f[v>>2]=f[y>>2];e=de(40,v|0,l|0,T|0,e|0,r|0,t|0)|0;T=m;m=0;if(!(T&1)){f[i>>2]=e;if(a)Dc(a);if(h)Dc(h);c=S;return e|0}else T=20}else T=20}while(0)if((T|0)==20)e=Ye()|0;if(a)Dc(a);if(h)Dc(h)}$e(e|0);return 0}function Hs(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0;A=c;c=c+16|0;S=A;E=Bu(l,44212)|0;g=Bu(l,44368)|0;aE[f[(f[g>>2]|0)+20>>2]&127](S,g);f[s>>2]=n;l=t[e>>0]|0;switch(l<<24>>24){case 43:case 45:{m=0;l=ve(f[(f[E>>2]|0)+44>>2]|0,E|0,l|0)|0;y=m;m=0;if(y&1)v=8;else{d=f[s>>2]|0;f[s>>2]=d+4;f[d>>2]=l;d=e+1|0;v=10}break}default:{d=e;v=10}}e:do if((v|0)==10){y=r;i:do if((y-d|0)>1?(t[d>>0]|0)==48:0){o=d+1|0;switch(t[o>>0]|0){case 88:case 120:break;default:{v=11;break i}}m=0;l=ve(f[(f[E>>2]|0)+44>>2]|0,E|0,48)|0;p=m;m=0;if(p&1){v=8;break e}p=f[s>>2]|0;f[s>>2]=p+4;f[p>>2]=l;d=d+2|0;m=0;l=ve(f[(f[E>>2]|0)+44>>2]|0,E|0,t[o>>0]|0)|0;p=m;m=0;if(p&1){v=8;break e}p=f[s>>2]|0;f[s>>2]=p+4;f[p>>2]=l;if(d>>>0<r>>>0){l=d;while(1){o=t[l>>0]|0;m=0;u=Ee(3)|0;p=m;m=0;if(p&1)break;m=0;o=ve(39,o<<24>>24|0,u|0)|0;p=m;m=0;if(p&1)break;if(!o){p=d;break i}l=l+1|0;if(l>>>0>=r>>>0){p=d;break i}}l=Ye()|0;break e}else{p=d;l=d}}else v=11;while(0)i:do if((v|0)==11)if(d>>>0<r>>>0){l=d;while(1){o=t[l>>0]|0;m=0;u=Ee(3)|0;p=m;m=0;if(p&1)break;m=0;o=ve(40,o<<24>>24|0,u|0)|0;p=m;m=0;if(p&1)break;if(!o){p=d;break i}l=l+1|0;if(l>>>0>=r>>>0){p=d;break i}}l=Ye()|0;break e}else{p=d;l=d}while(0)w=t[S>>0]|0;_=S+4|0;if(((w&1)==0?(w&255)>>>1:f[_>>2]|0)|0){if((p|0)!=(l|0)?(h=l+-1|0,p>>>0<h>>>0):0){u=p;o=h;do{w=t[u>>0]|0;t[u>>0]=t[o>>0]|0;t[o>>0]=w;u=u+1|0;o=o+-1|0}while(u>>>0<o>>>0)}m=0;h=he(f[(f[g>>2]|0)+16>>2]|0,g|0)|0;w=m;m=0;if(w&1){v=8;break}b=S+8|0;k=S+1|0;i:do if(p>>>0<l>>>0){o=0;u=0;w=p;while(1){d=t[((t[S>>0]&1)==0?k:f[b>>2]|0)+u>>0]|0;if(d<<24>>24>0&(o|0)==(d<<24>>24|0)){o=f[s>>2]|0;f[s>>2]=o+4;f[o>>2]=h;o=t[S>>0]|0;d=0;u=(u>>>0<(((o&1)==0?(o&255)>>>1:f[_>>2]|0)+-1|0)>>>0&1)+u|0}else d=o;m=0;o=ve(f[(f[E>>2]|0)+44>>2]|0,E|0,t[w>>0]|0)|0;T=m;m=0;if(T&1)break;T=f[s>>2]|0;f[s>>2]=T+4;f[T>>2]=o;w=w+1|0;if(w>>>0>=l>>>0)break i;else o=d+1|0}l=Ye()|0;break e}while(0)o=n+(p-e<<2)|0;d=f[s>>2]|0;if((o|0)!=(d|0)){u=d+-4|0;if(o>>>0<u>>>0){do{T=f[o>>2]|0;f[o>>2]=f[u>>2];f[u>>2]=T;o=o+4|0;u=u+-4|0}while(o>>>0<u>>>0)h=E;o=d}else{h=E;o=d}}else h=E}else{m=0;Ae(f[(f[E>>2]|0)+48>>2]|0,E|0,p|0,l|0,f[s>>2]|0)|0;T=m;m=0;if(T&1){v=8;break}o=(f[s>>2]|0)+(l-p<<2)|0;f[s>>2]=o;h=E}i:do if(l>>>0<r>>>0){while(1){o=t[l>>0]|0;if(o<<24>>24==46){u=l;break}m=0;u=ve(f[(f[h>>2]|0)+44>>2]|0,E|0,o|0)|0;T=m;m=0;if(T&1){v=4;break}T=f[s>>2]|0;o=T+4|0;f[s>>2]=o;f[T>>2]=u;l=l+1|0;if(l>>>0>=r>>>0)break i}if((v|0)==4){l=Ye()|0;break e}m=0;l=he(f[(f[g>>2]|0)+12>>2]|0,g|0)|0;T=m;m=0;if(T&1){v=8;break e}T=f[s>>2]|0;o=T+4|0;f[s>>2]=o;f[T>>2]=l;l=u+1|0}while(0)m=0;Ae(f[(f[E>>2]|0)+48>>2]|0,E|0,l|0,r|0,o|0)|0;T=m;m=0;if(T&1)v=8;else{T=(f[s>>2]|0)+(y-l<<2)|0;f[s>>2]=T;f[a>>2]=(i|0)==(r|0)?T:n+(i-e<<2)|0;Od(S);c=A;return}}while(0)if((v|0)==8)l=Ye()|0;Od(S);$e(l|0)}function Ys(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var a=0,s=0,l=0,o=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0;S=c;c=c+352|0;v=S+304|0;k=S+48|0;b=S+32|0;o=S+24|0;a=S+8|0;h=S;_=S+308|0;p=S+72|0;l=S+76|0;A=S+68|0;E=S+64|0;g=S+60|0;y=S+56|0;d=h;f[d>>2]=37;f[d+4>>2]=0;d=Ak(h+1|0,58899,f[r+4>>2]|0)|0;f[p>>2]=_;e=Gb()|0;if(d){f[a>>2]=f[r+8>>2];u[a+8>>3]=n;a=nm(_,30,e,h,a)|0}else{u[o>>3]=n;a=nm(_,30,e,h,o)|0}e:do if((a|0)>29){m=0;e=Ee(3)|0;a=m;m=0;a=a&1;if(d){if(!a?(m=0,f[b>>2]=f[r+8>>2],u[b+8>>3]=n,s=Ae(17,p|0,e|0,h|0,b|0)|0,w=m,m=0,!(w&1)):0)T=12}else if(!a?(m=0,u[k>>3]=n,w=Ae(17,p|0,e|0,h|0,k|0)|0,k=m,m=0,!(k&1)):0){s=w;T=12}do if((T|0)==12){e=f[p>>2]|0;if(!e){m=0;Te(6);w=m;m=0;if(w&1)break;a=f[p>>2]|0}else a=e;e=a;h=a;T=16;break e}while(0)e=Ye()|0}else{e=f[p>>2]|0;h=0;s=a;T=16}while(0)if((T|0)==16){o=e+s|0;d=_k(e,o,r)|0;do if((e|0)==(_|0)){e=_;a=0;T=22}else{s=xc(s<<3)|0;if(!s){m=0;Te(6);T=m;m=0;if(T&1){a=0;T=20;break}e=f[p>>2]|0}a=s;l=s;T=22}while(0)do if((T|0)==22){m=0;s=he(68,r|0)|0;p=m;m=0;if(!(p&1)){f[g>>2]=s;m=0;_e(4,e|0,d|0,o|0,l|0,A|0,E|0,g|0);g=m;m=0;if(g&1){e=Ye()|0;bd(s)|0;break}bd(s)|0;f[y>>2]=f[i>>2];T=f[A>>2]|0;e=f[E>>2]|0;m=0;f[v>>2]=f[y>>2];e=de(40,v|0,l|0,T|0,e|0,r|0,t|0)|0;T=m;m=0;if(!(T&1)){f[i>>2]=e;if(a)Dc(a);if(h)Dc(h);c=S;return e|0}else T=20}else T=20}while(0)if((T|0)==20)e=Ye()|0;if(a)Dc(a);if(h)Dc(h)}$e(e|0);return 0}function qs(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;k=c;c=c+192|0;u=k;e=k+180|0;h=k+160|0;b=k+12|0;o=k+8|0;d=k+4|0;t[e>>0]=t[58901]|0;t[e+1>>0]=t[58902]|0;t[e+2>>0]=t[58903]|0;t[e+3>>0]=t[58904]|0;t[e+4>>0]=t[58905]|0;t[e+5>>0]=t[58906]|0;s=Gb()|0;f[u>>2]=a;e=nm(h,20,s,e,u)|0;a=h+e|0;s=_k(h,a,r)|0;l=sh(r)|0;f[o>>2]=l;m=0;o=ve(37,o|0,44212)|0;w=m;m=0;if(w&1){w=Ye()|0;bd(l)|0;$e(w|0)}else{bd(l)|0;pE[f[(f[o>>2]|0)+48>>2]&31](o,h,a,b)|0;w=b+(e<<2)|0;f[d>>2]=f[i>>2];f[u>>2]=f[d>>2];w=am(u,b,(s|0)==(a|0)?w:b+(s-h<<2)|0,w,r,n)|0;c=k;return w|0}return 0}function zs(e,i,r,s,l,o,u,d){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;o=o|0;u=u|0;d=d|0;var h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0;C=c;c=c+32|0;y=C+16|0;g=C+12|0;S=C+8|0;E=C+4|0;A=C;h=sh(s)|0;f[S>>2]=h;m=0;S=ve(37,S|0,44220)|0;v=m;m=0;if(v&1){C=Ye()|0;bd(h)|0;$e(C|0)}bd(h)|0;f[l>>2]=0;v=S+8|0;h=f[i>>2]|0;e:do if((u|0)!=(d|0)){i:while(1){b=h;if(h){if((f[h+12>>2]|0)==(f[h+16>>2]|0)?(lE[f[(f[h>>2]|0)+36>>2]&127](h)|0)==-1:0){f[i>>2]=0;h=0;b=0}}else h=0;_=(h|0)==0;w=f[r>>2]|0;k=w;do if(w){if((f[w+12>>2]|0)==(f[w+16>>2]|0)?(lE[f[(f[w>>2]|0)+36>>2]&127](w)|0)==-1:0){f[r>>2]=0;k=0;M=12;break}if(!_){M=13;break i}}else M=12;while(0)if((M|0)==12){M=0;if(_){M=13;break}else w=0}r:do if((uE[f[(f[S>>2]|0)+36>>2]&63](S,t[u>>0]|0,0)|0)<<24>>24==37){w=u+1|0;if((w|0)==(d|0)){M=17;break i}p=uE[f[(f[S>>2]|0)+36>>2]&63](S,t[w>>0]|0,0)|0;switch(p<<24>>24){case 48:case 69:{_=u+2|0;if((_|0)==(d|0)){M=20;break i}u=w;w=uE[f[(f[S>>2]|0)+36>>2]&63](S,t[_>>0]|0,0)|0;h=p;break}default:{w=p;h=0}}p=f[(f[e>>2]|0)+36>>2]|0;f[E>>2]=b;f[A>>2]=k;f[g>>2]=f[E>>2];f[y>>2]=f[A>>2]
19
+ ;f[i>>2]=yE[p&15](e,g,y,s,l,o,w,h)|0;u=u+2|0}else{b=t[u>>0]|0;if(b<<24>>24>-1?(T=f[v>>2]|0,(n[T+(b<<24>>24<<1)>>1]&8192)!=0):0){do{u=u+1|0;if((u|0)==(d|0)){u=d;break}b=t[u>>0]|0;if(b<<24>>24<=-1)break}while((n[T+(b<<24>>24<<1)>>1]&8192)!=0)b=w;while(1){if(h){if((f[h+12>>2]|0)==(f[h+16>>2]|0)?(lE[f[(f[h>>2]|0)+36>>2]&127](h)|0)==-1:0){f[i>>2]=0;h=0}}else h=0;k=(h|0)==0;do if(w){if((f[w+12>>2]|0)!=(f[w+16>>2]|0))if(k){p=b;break}else break r;if((lE[f[(f[w>>2]|0)+36>>2]&127](w)|0)!=-1)if(k^(b|0)==0){p=b;w=b;break}else break r;else{f[r>>2]=0;b=0;M=39;break}}else M=39;while(0)if((M|0)==39){M=0;if(k)break r;else{p=b;w=0}}k=h+12|0;b=f[k>>2]|0;_=h+16|0;if((b|0)==(f[_>>2]|0))b=lE[f[(f[h>>2]|0)+36>>2]&127](h)|0;else b=a[b>>0]|0;if((b&255)<<24>>24<=-1)break r;if(!(n[(f[v>>2]|0)+(b<<24>>24<<1)>>1]&8192))break r;b=f[k>>2]|0;if((b|0)==(f[_>>2]|0)){lE[f[(f[h>>2]|0)+40>>2]&127](h)|0;b=p;continue}else{f[k>>2]=b+1;b=p;continue}}}k=h+12|0;b=f[k>>2]|0;w=h+16|0;if((b|0)==(f[w>>2]|0))b=lE[f[(f[h>>2]|0)+36>>2]&127](h)|0;else b=a[b>>0]|0;p=kE[f[(f[S>>2]|0)+12>>2]&63](S,b&255)|0;if(p<<24>>24!=(kE[f[(f[S>>2]|0)+12>>2]&63](S,t[u>>0]|0)|0)<<24>>24){M=57;break i}b=f[k>>2]|0;if((b|0)==(f[w>>2]|0))lE[f[(f[h>>2]|0)+40>>2]&127](h)|0;else f[k>>2]=b+1;u=u+1|0}while(0)h=f[i>>2]|0;if(!((u|0)!=(d|0)&(f[l>>2]|0)==0))break e}if((M|0)==13){f[l>>2]=4;break}else if((M|0)==17){f[l>>2]=4;break}else if((M|0)==20){f[l>>2]=4;break}else if((M|0)==57){f[l>>2]=4;h=f[i>>2]|0;break}}while(0)if(h){if((f[h+12>>2]|0)==(f[h+16>>2]|0)?(lE[f[(f[h>>2]|0)+36>>2]&127](h)|0)==-1:0){f[i>>2]=0;h=0}}else h=0;u=(h|0)==0;b=f[r>>2]|0;do if(b){if((f[b+12>>2]|0)==(f[b+16>>2]|0)?(lE[f[(f[b>>2]|0)+36>>2]&127](b)|0)==-1:0){f[r>>2]=0;M=67;break}if(!u)M=68}else M=67;while(0)if((M|0)==67?u:0)M=68;if((M|0)==68)f[l>>2]=f[l>>2]|2;c=C;return h|0}function Xs(e){e=e|0;return}function Gs(e){e=e|0;Iv(e);return}function Vs(e){e=e|0;return 2}function Ks(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=zs(e,o,l,t,n,a,58907,58915)|0;c=s;return e|0}function Ws(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0;l=c;c=c+16|0;o=l+12|0;u=l+8|0;h=l+4|0;d=l;b=e+8|0;b=lE[f[(f[b>>2]|0)+20>>2]&127](b)|0;f[h>>2]=f[i>>2];f[d>>2]=f[r>>2];r=t[b>>0]|0;k=(r&1)==0;i=k?b+1|0:f[b+8>>2]|0;r=i+(k?(r&255)>>>1:f[b+4>>2]|0)|0;f[u>>2]=f[h>>2];f[o>>2]=f[d>>2];e=zs(e,u,o,n,a,s,i,r)|0;c=l;return e|0}function Js(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;t=sh(t)|0;f[s>>2]=t;m=0;s=ve(37,s|0,44220)|0;d=m;m=0;if(d&1){d=Ye()|0;bd(t)|0;$e(d|0)}else{bd(t)|0;f[o>>2]=f[r>>2];f[l>>2]=f[o>>2];Qs(e,a+24|0,i,l,n,s);c=u;return f[i>>2]|0}return 0}function Qs(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0;s=c;c=c+16|0;l=s+4|0;o=s;e=e+8|0;e=lE[f[f[e>>2]>>2]&127](e)|0;f[o>>2]=f[t>>2];f[l>>2]=f[o>>2];r=(Nw(r,l,e,e+168|0,a,n,0)|0)-e|0;if((r|0)<168)f[i>>2]=((r|0)/12|0|0)%7|0;c=s;return}function Zs(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;t=sh(t)|0;f[s>>2]=t;m=0;s=ve(37,s|0,44220)|0;d=m;m=0;if(d&1){d=Ye()|0;bd(t)|0;$e(d|0)}else{bd(t)|0;f[o>>2]=f[r>>2];f[l>>2]=f[o>>2];$s(e,a+16|0,i,l,n,s);c=u;return f[i>>2]|0}return 0}function $s(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0;s=c;c=c+16|0;l=s+4|0;o=s;e=e+8|0;e=lE[f[(f[e>>2]|0)+4>>2]&127](e)|0;f[o>>2]=f[t>>2];f[l>>2]=f[o>>2];r=(Nw(r,l,e,e+288|0,a,n,0)|0)-e|0;if((r|0)<288)f[i>>2]=((r|0)/12|0|0)%12|0;c=s;return}function el(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;t=sh(t)|0;f[s>>2]=t;m=0;s=ve(37,s|0,44220)|0;d=m;m=0;if(d&1){d=Ye()|0;bd(t)|0;$e(d|0)}else{bd(t)|0;f[o>>2]=f[r>>2];f[l>>2]=f[o>>2];il(e,a+20|0,i,l,n,s);c=u;return f[i>>2]|0}return 0}function il(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=sm(r,e,n,a,4)|0;if(!(f[n>>2]&4)){if((e|0)<69)e=e+2e3|0;else e=(e+-69|0)>>>0<31?e+1900|0:e;f[i>>2]=e+-1900}c=s;return}function rl(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0;G=c;c=c+144|0;u=G+132|0;o=G+116|0;j=G+128|0;E=G+124|0;L=G+120|0;U=G+112|0;H=G+108|0;Y=G+104|0;q=G+100|0;z=G+96|0;X=G+92|0;d=G+88|0;h=G+84|0;b=G+80|0;k=G+76|0;w=G+72|0;_=G+68|0;p=G+64|0;v=G+60|0;g=G+56|0;y=G+52|0;A=G+48|0;S=G+44|0;T=G+40|0;M=G+36|0;C=G+32|0;P=G+28|0;x=G+24|0;D=G+20|0;R=G+16|0;O=G+12|0;I=G+8|0;B=G+4|0;N=G;f[a>>2]=0;F=sh(n)|0;f[j>>2]=F;m=0;j=ve(37,j|0,44220)|0;K=m;m=0;if(K&1){K=Ye()|0;bd(F)|0;$e(K|0)}bd(F)|0;do switch(l<<24>>24|0){case 65:case 97:{f[E>>2]=f[r>>2];f[u>>2]=f[E>>2];Qs(e,s+24|0,i,u,a,j);V=28;break}case 104:case 66:case 98:{f[L>>2]=f[r>>2];f[u>>2]=f[L>>2];$s(e,s+16|0,i,u,a,j);V=28;break}case 99:{V=e+8|0;V=lE[f[(f[V>>2]|0)+12>>2]&127](V)|0;f[U>>2]=f[i>>2];f[H>>2]=f[r>>2];l=t[V>>0]|0;r=(l&1)==0;K=r?V+1|0:f[V+8>>2]|0;V=K+(r?(l&255)>>>1:f[V+4>>2]|0)|0;f[o>>2]=f[U>>2];f[u>>2]=f[H>>2];f[i>>2]=zs(e,o,u,n,a,s,K,V)|0;V=28;break}case 101:case 100:{f[Y>>2]=f[r>>2];f[u>>2]=f[Y>>2];tl(e,s+12|0,i,u,a,j);V=28;break}case 68:{f[q>>2]=f[i>>2];f[z>>2]=f[r>>2];f[o>>2]=f[q>>2];f[u>>2]=f[z>>2];f[i>>2]=zs(e,o,u,n,a,s,58915,58923)|0;V=28;break}case 70:{f[X>>2]=f[i>>2];f[d>>2]=f[r>>2];f[o>>2]=f[X>>2];f[u>>2]=f[d>>2];f[i>>2]=zs(e,o,u,n,a,s,58923,58931)|0;V=28;break}case 72:{f[h>>2]=f[r>>2];f[u>>2]=f[h>>2];nl(e,s+8|0,i,u,a,j);V=28;break}case 73:{f[b>>2]=f[r>>2];f[u>>2]=f[b>>2];fl(e,s+8|0,i,u,a,j);V=28;break}case 106:{f[k>>2]=f[r>>2];f[u>>2]=f[k>>2];al(e,s+28|0,i,u,a,j);V=28;break}case 109:{f[w>>2]=f[r>>2];f[u>>2]=f[w>>2];sl(e,s+16|0,i,u,a,j);V=28;break}case 77:{f[_>>2]=f[r>>2];f[u>>2]=f[_>>2];ll(e,s+4|0,i,u,a,j);V=28;break}case 116:case 110:{f[p>>2]=f[r>>2];f[u>>2]=f[p>>2];ol(e,i,u,a,j);V=28;break}case 112:{f[v>>2]=f[r>>2];f[u>>2]=f[v>>2];ul(e,s+8|0,i,u,a,j);V=28;break}case 114:{f[g>>2]=f[i>>2];f[y>>2]=f[r>>2];f[o>>2]=f[g>>2];f[u>>2]=f[y>>2];f[i>>2]=zs(e,o,u,n,a,s,58931,58942)|0;V=28;break}case 82:{f[A>>2]=f[i>>2];f[S>>2]=f[r>>2];f[o>>2]=f[A>>2];f[u>>2]=f[S>>2];f[i>>2]=zs(e,o,u,n,a,s,58942,58947)|0;V=28;break}case 83:{f[T>>2]=f[r>>2];f[u>>2]=f[T>>2];cl(e,s,i,u,a,j);V=28;break}case 84:{f[M>>2]=f[i>>2];f[C>>2]=f[r>>2];f[o>>2]=f[M>>2];f[u>>2]=f[C>>2];f[i>>2]=zs(e,o,u,n,a,s,58947,58955)|0;V=28;break}case 119:{f[P>>2]=f[r>>2];f[u>>2]=f[P>>2];dl(e,s+24|0,i,u,a,j);V=28;break}case 120:{K=f[(f[e>>2]|0)+20>>2]|0;f[x>>2]=f[i>>2];f[D>>2]=f[r>>2];f[o>>2]=f[x>>2];f[u>>2]=f[D>>2];o=sE[K&63](e,o,u,n,a,s)|0;break}case 88:{V=e+8|0;V=lE[f[(f[V>>2]|0)+24>>2]&127](V)|0;f[R>>2]=f[i>>2];f[O>>2]=f[r>>2];l=t[V>>0]|0;r=(l&1)==0;K=r?V+1|0:f[V+8>>2]|0;V=K+(r?(l&255)>>>1:f[V+4>>2]|0)|0;f[o>>2]=f[R>>2];f[u>>2]=f[O>>2];f[i>>2]=zs(e,o,u,n,a,s,K,V)|0;V=28;break}case 121:{f[I>>2]=f[r>>2];f[u>>2]=f[I>>2];il(e,s+20|0,i,u,a,j);V=28;break}case 89:{f[B>>2]=f[r>>2];f[u>>2]=f[B>>2];hl(e,s+20|0,i,u,a,j);V=28;break}case 37:{f[N>>2]=f[r>>2];f[u>>2]=f[N>>2];bl(e,i,u,a,j);V=28;break}default:{f[a>>2]=f[a>>2]|4;V=28}}while(0)if((V|0)==28)o=f[i>>2]|0;c=G;return o|0}function tl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=sm(r,e,n,a,2)|0;r=f[n>>2]|0;if((e+-1|0)>>>0<31&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function nl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=sm(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<24&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function fl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=sm(r,e,n,a,2)|0;r=f[n>>2]|0;if((e+-1|0)>>>0<12&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function al(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=sm(r,e,n,a,3)|0;r=f[n>>2]|0;if((e|0)<366&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function sl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=sm(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<13&(r&4|0)==0)f[i>>2]=e+-1;else f[n>>2]=r|4;c=s;return}function ll(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=sm(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<60&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function ol(e,i,r,t,s){e=e|0;i=i|0;r=r|0;t=t|0;s=s|0;var l=0,o=0,u=0;o=s+8|0;e:while(1){s=f[i>>2]|0;do if(s){if((f[s+12>>2]|0)==(f[s+16>>2]|0))if((lE[f[(f[s>>2]|0)+36>>2]&127](s)|0)==-1){f[i>>2]=0;s=0;break}else{s=f[i>>2]|0;break}}else s=0;while(0)s=(s|0)==0;e=f[r>>2]|0;do if(e){if((f[e+12>>2]|0)!=(f[e+16>>2]|0))if(s)break;else break e;if((lE[f[(f[e>>2]|0)+36>>2]&127](e)|0)!=-1)if(s)break;else break e;else{f[r>>2]=0;u=12;break}}else u=12;while(0)if((u|0)==12){u=0;if(s){e=0;break}else e=0}s=f[i>>2]|0;l=f[s+12>>2]|0;if((l|0)==(f[s+16>>2]|0))s=lE[f[(f[s>>2]|0)+36>>2]&127](s)|0;else s=a[l>>0]|0;if((s&255)<<24>>24<=-1)break;if(!(n[(f[o>>2]|0)+(s<<24>>24<<1)>>1]&8192))break;s=f[i>>2]|0;e=s+12|0;l=f[e>>2]|0;if((l|0)==(f[s+16>>2]|0)){lE[f[(f[s>>2]|0)+40>>2]&127](s)|0;continue}else{f[e>>2]=l+1;continue}}s=f[i>>2]|0;do if(s){if((f[s+12>>2]|0)==(f[s+16>>2]|0))if((lE[f[(f[s>>2]|0)+36>>2]&127](s)|0)==-1){f[i>>2]=0;s=0;break}else{s=f[i>>2]|0;break}}else s=0;while(0)s=(s|0)==0;do if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)?(lE[f[(f[e>>2]|0)+36>>2]&127](e)|0)==-1:0){f[r>>2]=0;u=32;break}if(!s)u=33}else u=32;while(0)if((u|0)==32?s:0)u=33;if((u|0)==33)f[t>>2]=f[t>>2]|2;return}function ul(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0;h=c;c=c+16|0;o=h+4|0;u=h;d=e+8|0;d=lE[f[(f[d>>2]|0)+8>>2]&127](d)|0;e=t[d>>0]|0;if(!(e&1))l=(e&255)>>>1;else l=f[d+4>>2]|0;e=t[d+12>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=f[d+16>>2]|0;do if((l|0)!=(0-e|0)){f[u>>2]=f[n>>2];f[o>>2]=f[u>>2];e=Nw(r,o,d,d+24|0,s,a,0)|0;l=f[i>>2]|0;if((e|0)==(d|0)&(l|0)==12){f[i>>2]=0;break}if((l|0)<12&(e-d|0)==12)f[i>>2]=l+12}else f[a>>2]=f[a>>2]|4;while(0)c=h;return}function cl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=sm(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<61&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function dl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=sm(r,e,n,a,1)|0;r=f[n>>2]|0;if((e|0)<7&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function hl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=sm(r,e,n,a,4)|0;if(!(f[n>>2]&4))f[i>>2]=e+-1900;c=s;return}function bl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var s=0,l=0,o=0;e=f[i>>2]|0;do if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0))if((lE[f[(f[e>>2]|0)+36>>2]&127](e)|0)==-1){f[i>>2]=0;e=0;break}else{e=f[i>>2]|0;break}}else e=0;while(0)s=(e|0)==0;e=f[r>>2]|0;do if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)?(lE[f[(f[e>>2]|0)+36>>2]&127](e)|0)==-1:0){f[r>>2]=0;o=11;break}if(s){l=e;o=13}else o=12}else o=11;while(0)if((o|0)==11)if(s)o=12;else{l=0;o=13}e:do if((o|0)==12)f[t>>2]=f[t>>2]|6;else if((o|0)==13){e=f[i>>2]|0;s=f[e+12>>2]|0;if((s|0)==(f[e+16>>2]|0))e=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=a[s>>0]|0;if((uE[f[(f[n>>2]|0)+36>>2]&63](n,e&255,0)|0)<<24>>24!=37){f[t>>2]=f[t>>2]|4;break}e=f[i>>2]|0;s=e+12|0;n=f[s>>2]|0;if((n|0)==(f[e+16>>2]|0)){lE[f[(f[e>>2]|0)+40>>2]&127](e)|0;e=f[i>>2]|0;if(!e)e=0;else o=21}else{f[s>>2]=n+1;o=21}do if((o|0)==21)if((f[e+12>>2]|0)==(f[e+16>>2]|0))if((lE[f[(f[e>>2]|0)+36>>2]&127](e)|0)==-1){f[i>>2]=0;e=0;break}else{e=f[i>>2]|0;break}while(0)e=(e|0)==0;do if(l){if((f[l+12>>2]|0)==(f[l+16>>2]|0)?(lE[f[(f[l>>2]|0)+36>>2]&127](l)|0)==-1:0){f[r>>2]=0;o=30;break}if(e)break e}else o=30;while(0)if((o|0)==30?!e:0)break;f[t>>2]=f[t>>2]|2}while(0)return}function kl(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0;E=c;c=c+32|0;_=E+16|0;w=E+12|0;g=E+8|0;p=E+4|0;v=E;o=sh(t)|0;f[g>>2]=o;m=0;g=ve(37,g|0,44212)|0;k=m;m=0;if(k&1){E=Ye()|0;bd(o)|0;$e(E|0)}bd(o)|0;f[n>>2]=0;o=f[i>>2]|0;e:do if((s|0)!=(l|0)){i:while(1){d=o;if(o){u=f[o+12>>2]|0;if((u|0)==(f[o+16>>2]|0))u=lE[f[(f[o>>2]|0)+36>>2]&127](o)|0;else u=f[u>>2]|0;if((u|0)==-1){f[i>>2]=0;o=0;b=1;k=0}else{b=0;k=d}}else{o=0;b=1;k=d}h=f[r>>2]|0;u=h;do if(h){d=f[h+12>>2]|0;if((d|0)==(f[h+16>>2]|0))d=lE[f[(f[h>>2]|0)+36>>2]&127](h)|0;else d=f[d>>2]|0;if((d|0)!=-1)if(b)break;else{y=17;break i}else{f[r>>2]=0;u=0;y=15;break}}else y=15;while(0)if((y|0)==15){y=0;if(b){y=17;break}else h=0}r:do if((uE[f[(f[g>>2]|0)+52>>2]&63](g,f[s>>2]|0,0)|0)<<24>>24==37){d=s+4|0;if((d|0)==(l|0)){y=21;break i}b=uE[f[(f[g>>2]|0)+52>>2]&63](g,f[d>>2]|0,0)|0;switch(b<<24>>24){case 48:case 69:{h=s+8|0;if((h|0)==(l|0)){y=24;break i}s=d;d=uE[f[(f[g>>2]|0)+52>>2]&63](g,f[h>>2]|0,0)|0;o=b;break}default:{d=b;o=0}}b=f[(f[e>>2]|0)+36>>2]|0;f[p>>2]=k;f[v>>2]=u;f[w>>2]=f[p>>2];f[_>>2]=f[v>>2];f[i>>2]=yE[b&15](e,w,_,t,n,a,d,o)|0;s=s+8|0}else{if(!(uE[f[(f[g>>2]|0)+12>>2]&63](g,8192,f[s>>2]|0)|0)){d=o+12|0;u=f[d>>2]|0;h=o+16|0;if((u|0)==(f[h>>2]|0))u=lE[f[(f[o>>2]|0)+36>>2]&127](o)|0;else u=f[u>>2]|0;k=kE[f[(f[g>>2]|0)+28>>2]&63](g,u)|0;if((k|0)!=(kE[f[(f[g>>2]|0)+28>>2]&63](g,f[s>>2]|0)|0)){y=61;break i}u=f[d>>2]|0;if((u|0)==(f[h>>2]|0))lE[f[(f[o>>2]|0)+40>>2]&127](o)|0;else f[d>>2]=u+4;s=s+4|0;break}do{s=s+4|0;if((s|0)==(l|0)){s=l;break}}while(uE[f[(f[g>>2]|0)+12>>2]&63](g,8192,f[s>>2]|0)|0)u=h;b=h;while(1){if(o){d=f[o+12>>2]|0;if((d|0)==(f[o+16>>2]|0))d=lE[f[(f[o>>2]|0)+36>>2]&127](o)|0;else d=f[d>>2]|0;if((d|0)==-1){f[i>>2]=0;h=1;o=0}else h=0}else{h=1;o=0}do if(b){d=f[b+12>>2]|0;if((d|0)==(f[b+16>>2]|0))d=lE[f[(f[b>>2]|0)+36>>2]&127](b)|0;else d=f[d>>2]|0;if((d|0)!=-1)if(h^(u|0)==0){k=u;b=u;break}else break r;else{f[r>>2]=0;u=0;y=44;break}}else y=44;while(0)if((y|0)==44){y=0;if(h)break r;else{k=u;b=0}}d=o+12|0;u=f[d>>2]|0;h=o+16|0;if((u|0)==(f[h>>2]|0))u=lE[f[(f[o>>2]|0)+36>>2]&127](o)|0;else u=f[u>>2]|0;if(!(uE[f[(f[g>>2]|0)+12>>2]&63](g,8192,u)|0))break r;u=f[d>>2]|0;if((u|0)==(f[h>>2]|0)){lE[f[(f[o>>2]|0)+40>>2]&127](o)|0;u=k;continue}else{f[d>>2]=u+4;u=k;continue}}}while(0)o=f[i>>2]|0;if(!((s|0)!=(l|0)&(f[n>>2]|0)==0))break e}if((y|0)==17){f[n>>2]=4;break}else if((y|0)==21){f[n>>2]=4;break}else if((y|0)==24){f[n>>2]=4;break}else if((y|0)==61){f[n>>2]=4;o=f[i>>2]|0;break}}while(0)if(o){s=f[o+12>>2]|0;if((s|0)==(f[o+16>>2]|0))s=lE[f[(f[o>>2]|0)+36>>2]&127](o)|0;else s=f[s>>2]|0;if((s|0)==-1){f[i>>2]=0;o=0;d=1}else d=0}else{o=0;d=1}s=f[r>>2]|0;do if(s){u=f[s+12>>2]|0;if((u|0)==(f[s+16>>2]|0))s=lE[f[(f[s>>2]|0)+36>>2]&127](s)|0;else s=f[u>>2]|0;if((s|0)!=-1)if(d)break;else{y=76;break}else{f[r>>2]=0;y=74;break}}else y=74;while(0)if((y|0)==74?d:0)y=76;if((y|0)==76)f[n>>2]=f[n>>2]|2;c=E;return o|0}function wl(e){e=e|0;return}function ml(e){e=e|0;Iv(e);return}function _l(e){e=e|0;return 2}function pl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=kl(e,o,l,t,n,a,44788,44820)|0;c=s;return e|0}function vl(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;l=c;c=c+16|0;o=l+12|0;u=l+8|0;h=l+4|0;d=l;w=e+8|0;w=lE[f[(f[w>>2]|0)+20>>2]&127](w)|0;f[h>>2]=f[i>>2];f[d>>2]=f[r>>2];b=t[w>>0]|0;k=(b&1)==0;r=w+4|0;i=k?r:f[w+8>>2]|0;r=i+((k?(b&255)>>>1:f[r>>2]|0)<<2)|0;f[u>>2]=f[h>>2];f[o>>2]=f[d>>2];e=kl(e,u,o,n,a,s,i,r)|0;c=l;return e|0}function gl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;t=sh(t)|0;f[s>>2]=t;m=0;s=ve(37,s|0,44212)|0;d=m;m=0;if(d&1){d=Ye()|0;bd(t)|0;$e(d|0)}else{bd(t)|0;f[o>>2]=f[r>>2];f[l>>2]=f[o>>2];yl(e,a+24|0,i,l,n,s);c=u;return f[i>>2]|0}return 0}function yl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0;s=c;c=c+16|0;l=s+4|0;o=s;e=e+8|0;e=lE[f[f[e>>2]>>2]&127](e)|0;f[o>>2]=f[t>>2];f[l>>2]=f[o>>2];r=(Kw(r,l,e,e+168|0,a,n,0)|0)-e|0;if((r|0)<168)f[i>>2]=((r|0)/12|0|0)%7|0;c=s;return}function El(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;t=sh(t)|0;f[s>>2]=t;m=0;s=ve(37,s|0,44212)|0;d=m;m=0;if(d&1){d=Ye()|0;bd(t)|0;$e(d|0)}else{bd(t)|0;f[o>>2]=f[r>>2];f[l>>2]=f[o>>2];Al(e,a+16|0,i,l,n,s);c=u;return f[i>>2]|0}return 0}function Al(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0;s=c;c=c+16|0;l=s+4|0;o=s;e=e+8|0;e=lE[f[(f[e>>2]|0)+4>>2]&127](e)|0;f[o>>2]=f[t>>2];f[l>>2]=f[o>>2];r=(Kw(r,l,e,e+288|0,a,n,0)|0)-e|0;if((r|0)<288)f[i>>2]=((r|0)/12|0|0)%12|0;c=s;return}function Sl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;u=c;c=c+16|0;l=u+8|0;s=u+4|0;o=u;t=sh(t)|0;f[s>>2]=t;m=0;s=ve(37,s|0,44212)|0;d=m;m=0;if(d&1){d=Ye()|0;bd(t)|0;$e(d|0)}else{bd(t)|0;f[o>>2]=f[r>>2];f[l>>2]=f[o>>2];Tl(e,a+20|0,i,l,n,s);c=u;return f[i>>2]|0}return 0}function Tl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=lm(r,e,n,a,4)|0;if(!(f[n>>2]&4)){if((e|0)<69)e=e+2e3|0;else e=(e+-69|0)>>>0<31?e+1900|0:e;f[i>>2]=e+-1900}c=s;return}function Ml(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0;G=c;c=c+144|0;u=G+132|0;o=G+116|0;j=G+128|0;E=G+124|0;L=G+120|0;U=G+112|0;H=G+108|0;Y=G+104|0;q=G+100|0;z=G+96|0;X=G+92|0;d=G+88|0;h=G+84|0;b=G+80|0;k=G+76|0;w=G+72|0;_=G+68|0;p=G+64|0;v=G+60|0;g=G+56|0;y=G+52|0;A=G+48|0;S=G+44|0;T=G+40|0;M=G+36|0;C=G+32|0;P=G+28|0;x=G+24|0;D=G+20|0;R=G+16|0;O=G+12|0;I=G+8|0;B=G+4|0;N=G;f[a>>2]=0;F=sh(n)|0;f[j>>2]=F;m=0;j=ve(37,j|0,44212)|0;K=m;m=0;if(K&1){K=Ye()|0;bd(F)|0;$e(K|0)}bd(F)|0;do switch(l<<24>>24|0){case 65:case 97:{f[E>>2]=f[r>>2];f[u>>2]=f[E>>2];yl(e,s+24|0,i,u,a,j);V=28;break}case 104:case 66:case 98:{f[L>>2]=f[r>>2];f[u>>2]=f[L>>2];Al(e,s+16|0,i,u,a,j);V=28;break}case 99:{K=e+8|0;K=lE[f[(f[K>>2]|0)+12>>2]&127](K)|0;f[U>>2]=f[i>>2];f[H>>2]=f[r>>2];l=t[K>>0]|0;r=(l&1)==0;V=K+4|0;K=r?V:f[K+8>>2]|0;V=K+((r?(l&255)>>>1:f[V>>2]|0)<<2)|0;f[o>>2]=f[U>>2];f[u>>2]=f[H>>2];f[i>>2]=kl(e,o,u,n,a,s,K,V)|0;V=28;break}case 101:case 100:{f[Y>>2]=f[r>>2];f[u>>2]=f[Y>>2];Cl(e,s+12|0,i,u,a,j);V=28;break}case 68:{f[q>>2]=f[i>>2];f[z>>2]=f[r>>2];f[o>>2]=f[q>>2];f[u>>2]=f[z>>2];f[i>>2]=kl(e,o,u,n,a,s,44820,44852)|0;V=28;break}case 70:{f[X>>2]=f[i>>2];f[d>>2]=f[r>>2];f[o>>2]=f[X>>2];f[u>>2]=f[d>>2];f[i>>2]=kl(e,o,u,n,a,s,44852,44884)|0;V=28;break}case 72:{f[h>>2]=f[r>>2];f[u>>2]=f[h>>2];Pl(e,s+8|0,i,u,a,j);V=28;break}case 73:{f[b>>2]=f[r>>2];f[u>>2]=f[b>>2];xl(e,s+8|0,i,u,a,j);V=28;break}case 106:{f[k>>2]=f[r>>2];f[u>>2]=f[k>>2];Dl(e,s+28|0,i,u,a,j);V=28;break}case 109:{f[w>>2]=f[r>>2];f[u>>2]=f[w>>2];Rl(e,s+16|0,i,u,a,j);V=28;break}case 77:{f[_>>2]=f[r>>2];f[u>>2]=f[_>>2];Ol(e,s+4|0,i,u,a,j);V=28;break}case 116:case 110:{f[p>>2]=f[r>>2];f[u>>2]=f[p>>2];Ll(e,i,u,a,j);V=28;break}case 112:{f[v>>2]=f[r>>2];f[u>>2]=f[v>>2];Il(e,s+8|0,i,u,a,j);V=28;break}case 114:{f[g>>2]=f[i>>2];f[y>>2]=f[r>>2];f[o>>2]=f[g>>2];f[u>>2]=f[y>>2];f[i>>2]=kl(e,o,u,n,a,s,44884,44928)|0;V=28;break}case 82:{f[A>>2]=f[i>>2];f[S>>2]=f[r>>2];f[o>>2]=f[A>>2];f[u>>2]=f[S>>2];f[i>>2]=kl(e,o,u,n,a,s,44928,44948)|0;V=28;break}case 83:{f[T>>2]=f[r>>2];f[u>>2]=f[T>>2];Bl(e,s,i,u,a,j);V=28;break}case 84:{f[M>>2]=f[i>>2];f[C>>2]=f[r>>2];f[o>>2]=f[M>>2];f[u>>2]=f[C>>2];f[i>>2]=kl(e,o,u,n,a,s,44948,44980)|0;V=28;break}case 119:{f[P>>2]=f[r>>2];f[u>>2]=f[P>>2];Nl(e,s+24|0,i,u,a,j);V=28;break}case 120:{K=f[(f[e>>2]|0)+20>>2]|0;f[x>>2]=f[i>>2];f[D>>2]=f[r>>2];f[o>>2]=f[x>>2];f[u>>2]=f[D>>2];o=sE[K&63](e,o,u,n,a,s)|0;break}case 88:{K=e+8|0;K=lE[f[(f[K>>2]|0)+24>>2]&127](K)|0;f[R>>2]=f[i>>2];f[O>>2]=f[r>>2];l=t[K>>0]|0;r=(l&1)==0;V=K+4|0;K=r?V:f[K+8>>2]|0;V=K+((r?(l&255)>>>1:f[V>>2]|0)<<2)|0;f[o>>2]=f[R>>2];f[u>>2]=f[O>>2];f[i>>2]=kl(e,o,u,n,a,s,K,V)|0;V=28;break}case 121:{f[I>>2]=f[r>>2];f[u>>2]=f[I>>2];Tl(e,s+20|0,i,u,a,j);V=28;break}case 89:{f[B>>2]=f[r>>2];f[u>>2]=f[B>>2];Fl(e,s+20|0,i,u,a,j);V=28;break}case 37:{f[N>>2]=f[r>>2];f[u>>2]=f[N>>2];jl(e,i,u,a,j);V=28;break}default:{f[a>>2]=f[a>>2]|4;V=28}}while(0)if((V|0)==28)o=f[i>>2]|0;c=G;return o|0}function Cl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=lm(r,e,n,a,2)|0;r=f[n>>2]|0;if((e+-1|0)>>>0<31&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function Pl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=lm(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<24&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function xl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=lm(r,e,n,a,2)|0;r=f[n>>2]|0;if((e+-1|0)>>>0<12&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function Dl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=lm(r,e,n,a,3)|0;r=f[n>>2]|0;if((e|0)<366&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function Rl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=lm(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<13&(r&4|0)==0)f[i>>2]=e+-1;else f[n>>2]=r|4;c=s;return}function Ol(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=lm(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<60&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function Ll(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0;e:while(1){e=f[i>>2]|0;do if(e){a=f[e+12>>2]|0;if((a|0)==(f[e+16>>2]|0))e=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=f[a>>2]|0;if((e|0)==-1){f[i>>2]=0;s=1;break}else{s=(f[i>>2]|0)==0;break}}else s=1;while(0)a=f[r>>2]|0;do if(a){e=f[a+12>>2]|0;if((e|0)==(f[a+16>>2]|0))e=lE[f[(f[a>>2]|0)+36>>2]&127](a)|0;else e=f[e>>2]|0;if((e|0)!=-1)if(s){s=a;break}else{s=a;break e}else{f[r>>2]=0;l=15;break}}else l=15;while(0)if((l|0)==15){l=0;if(s){s=0;break}else s=0}e=f[i>>2]|0;a=f[e+12>>2]|0;if((a|0)==(f[e+16>>2]|0))e=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=f[a>>2]|0;if(!(uE[f[(f[n>>2]|0)+12>>2]&63](n,8192,e)|0))break;e=f[i>>2]|0;a=e+12|0;s=f[a>>2]|0;if((s|0)==(f[e+16>>2]|0)){lE[f[(f[e>>2]|0)+40>>2]&127](e)|0;continue}else{f[a>>2]=s+4;continue}}e=f[i>>2]|0;do if(e){a=f[e+12>>2]|0;if((a|0)==(f[e+16>>2]|0))e=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=f[a>>2]|0;if((e|0)==-1){f[i>>2]=0;a=1;break}else{a=(f[i>>2]|0)==0;break}}else a=1;while(0)do if(s){e=f[s+12>>2]|0;if((e|0)==(f[s+16>>2]|0))e=lE[f[(f[s>>2]|0)+36>>2]&127](s)|0;else e=f[e>>2]|0;if((e|0)!=-1)if(a)break;else{l=39;break}else{f[r>>2]=0;l=37;break}}else l=37;while(0)if((l|0)==37?a:0)l=39;if((l|0)==39)f[t>>2]=f[t>>2]|2;return}function Il(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0;h=c;c=c+16|0;o=h+4|0;u=h;d=e+8|0;d=lE[f[(f[d>>2]|0)+8>>2]&127](d)|0;e=t[d>>0]|0;if(!(e&1))l=(e&255)>>>1;else l=f[d+4>>2]|0;e=t[d+12>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=f[d+16>>2]|0;do if((l|0)!=(0-e|0)){f[u>>2]=f[n>>2];f[o>>2]=f[u>>2];e=Kw(r,o,d,d+24|0,s,a,0)|0;l=f[i>>2]|0;if((e|0)==(d|0)&(l|0)==12){f[i>>2]=0;break}if((l|0)<12&(e-d|0)==12)f[i>>2]=l+12}else f[a>>2]=f[a>>2]|4;while(0)c=h;return}function Bl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=lm(r,e,n,a,2)|0;r=f[n>>2]|0;if((e|0)<61&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function Nl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=lm(r,e,n,a,1)|0;r=f[n>>2]|0;if((e|0)<7&(r&4|0)==0)f[i>>2]=e;else f[n>>2]=r|4;c=s;return}function Fl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;s=c;c=c+16|0;e=s+4|0;l=s;f[l>>2]=f[t>>2];f[e>>2]=f[l>>2];e=lm(r,e,n,a,4)|0;if(!(f[n>>2]&4))f[i>>2]=e+-1900;c=s;return}function jl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0;e=f[i>>2]|0;do if(e){a=f[e+12>>2]|0;if((a|0)==(f[e+16>>2]|0))e=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=f[a>>2]|0;if((e|0)==-1){f[i>>2]=0;s=1;break}else{s=(f[i>>2]|0)==0;break}}else s=1;while(0)a=f[r>>2]|0;do if(a){e=f[a+12>>2]|0;if((e|0)==(f[a+16>>2]|0))e=lE[f[(f[a>>2]|0)+36>>2]&127](a)|0;else e=f[e>>2]|0;if((e|0)!=-1)if(s){l=a;o=17;break}else{o=16;break}else{f[r>>2]=0;o=14;break}}else o=14;while(0)if((o|0)==14)if(s)o=16;else{l=0;o=17}e:do if((o|0)==16)f[t>>2]=f[t>>2]|6;else if((o|0)==17){e=f[i>>2]|0;a=f[e+12>>2]|0;if((a|0)==(f[e+16>>2]|0))e=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=f[a>>2]|0;if((uE[f[(f[n>>2]|0)+52>>2]&63](n,e,0)|0)<<24>>24!=37){f[t>>2]=f[t>>2]|4;break}e=f[i>>2]|0;a=e+12|0;s=f[a>>2]|0;if((s|0)==(f[e+16>>2]|0)){lE[f[(f[e>>2]|0)+40>>2]&127](e)|0;e=f[i>>2]|0;if(!e)a=1;else o=25}else{f[a>>2]=s+4;o=25}do if((o|0)==25){a=f[e+12>>2]|0;if((a|0)==(f[e+16>>2]|0))e=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;else e=f[a>>2]|0;if((e|0)==-1){f[i>>2]=0;a=1;break}else{a=(f[i>>2]|0)==0;break}}while(0)do if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0))e=lE[f[(f[l>>2]|0)+36>>2]&127](l)|0;else e=f[e>>2]|0;if((e|0)!=-1)if(a)break e;else break;else{f[r>>2]=0;o=37;break}}else o=37;while(0)if((o|0)==37?!a:0)break;f[t>>2]=f[t>>2]|2}while(0)return}function Ul(e){e=e|0;Hl(e+8|0);return}function Hl(e){e=e|0;var i=0,r=0,t=0;i=f[e>>2]|0;m=0;r=Ee(3)|0;t=m;m=0;do if(!(t&1)){if((i|0)!=(r|0)?(m=0,ue(188,f[e>>2]|0),t=m,m=0,t&1):0)break;return}while(0)t=Ye(0)|0;Fi(t)}function Yl(e){e=e|0;Hl(e+8|0);Iv(e);return}function ql(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0;u=c;c=c+112|0;o=u+4|0;r=u;f[r>>2]=o+100;zl(e+8|0,o,r,a,s,l);a=f[r>>2]|0;r=f[i>>2]|0;if((o|0)!=(a|0))do{l=t[o>>0]|0;do if(r){n=r+24|0;s=f[n>>2]|0;if((s|0)==(f[r+28>>2]|0)){i=(kE[f[(f[r>>2]|0)+52>>2]&63](r,l&255)|0)==-1;r=i?0:r;break}else{f[n>>2]=s+1;t[s>>0]=l;break}}else r=0;while(0)o=o+1|0}while((o|0)!=(a|0))c=u;return r|0}function zl(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0;d=c;c=c+16|0;u=d;t[u>>0]=37;l=u+1|0;t[l>>0]=a;o=u+2|0;t[o>>0]=s;t[u+3>>0]=0;if(s<<24>>24){t[l>>0]=s;t[o>>0]=a}f[r>>2]=i+(Ge(i|0,(f[r>>2]|0)-i|0,u|0,n|0,f[e>>2]|0)|0);c=d;return}function Xl(e){e=e|0;Hl(e+8|0);return}function Gl(e){e=e|0;Hl(e+8|0);Iv(e);return}function Vl(e,i,r,t,n,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;var l=0;l=c;c=c+416|0;t=l+8|0;r=l;f[r>>2]=t+400;Kl(e+8|0,t,r,n,a,s);e=f[r>>2]|0;r=f[i>>2]|0;if((t|0)!=(e|0)){n=t;do{t=f[n>>2]|0;if(!r)r=0;else{a=r+24|0;s=f[a>>2]|0;if((s|0)==(f[r+28>>2]|0))t=kE[f[(f[r>>2]|0)+52>>2]&63](r,t)|0;else{f[a>>2]=s+4;f[s>>2]=t}r=(t|0)==-1?0:r}n=n+4|0}while((n|0)!=(e|0))}c=l;return r|0}function Kl(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+128|0;u=s+16|0;d=s+12|0;l=s;o=s+8|0;f[d>>2]=u+100;zl(e,u,d,t,n,a);n=l;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=u;n=(f[r>>2]|0)-i>>2;a=Wg(f[e>>2]|0)|0;m=0;n=Ae(18,i|0,o|0,n|0,l|0)|0;e=m;m=0;if(e&1){n=Ye()|0;if((a|0)!=0?(m=0,he(75,a|0)|0,d=m,m=0,d&1):0){d=Ye(0)|0;Fi(d)}$e(n|0)}if((a|0)!=0?(m=0,he(75,a|0)|0,d=m,m=0,d&1):0){d=Ye(0)|0;Fi(d)}if((n|0)==-1)Xo(58955);else{f[r>>2]=i+(n<<2);c=s;return}}function Wl(e){e=e|0;return}function Jl(e){e=e|0;Iv(e);return}function Ql(e){e=e|0;return 127}function Zl(e){e=e|0;return 127}function $l(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function eo(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function io(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function ro(e,i){e=e|0;i=i|0;Rd(e,1,45);return}function to(e){e=e|0;return 0}function no(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function fo(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function ao(e){e=e|0;return}function so(e){e=e|0;Iv(e);return}function lo(e){e=e|0;return 127}function oo(e){e=e|0;return 127}function uo(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function co(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function ho(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function bo(e,i){e=e|0;i=i|0;Rd(e,1,45);return}function ko(e){e=e|0;return 0}function wo(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function mo(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function _o(e){e=e|0;return}function po(e){e=e|0;Iv(e);return}function vo(e){e=e|0;return 2147483647}function go(e){e=e|0;return 2147483647}function yo(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function Eo(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function Ao(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function So(e,i){e=e|0;i=i|0;Gd(e,1,45);return}function To(e){e=e|0;return 0}function Mo(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function Co(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function Po(e){e=e|0;return}function xo(e){e=e|0;Iv(e);return}function Do(e){e=e|0;return 2147483647}function Ro(e){e=e|0;return 2147483647}function Oo(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function Lo(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function Io(e,i){e=e|0;i=i|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function Bo(e,i){e=e|0;i=i|0;Gd(e,1,45);return}function No(e){e=e|0;return 0}function Fo(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function jo(e,i){e=e|0;i=i|0;t[e>>0]=2;t[e+1>>0]=3;t[e+2>>0]=0;t[e+3>>0]=4;return}function Uo(e){e=e|0;return}function Ho(e){e=e|0;Iv(e);return}function Yo(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0;M=c;c=c+240|0;S=M+24|0;T=M;e=M+136|0;P=M+16|0;A=M+12|0;C=M+8|0;b=M+134|0;u=M+4|0;E=M+124|0;f[P>>2]=e;x=P+4|0;f[x>>2]=189;d=e+100|0;m=0;o=he(68,a|0)|0;y=m;m=0;if(!(y&1)){f[C>>2]=o;m=0;e=ve(37,C|0,44220)|0;y=m;m=0;e:do if(!(y&1)?(t[b>>0]=0,f[u>>2]=f[r>>2],h=f[a+4>>2]|0,m=0,f[S>>2]=f[u>>2],h=be(1,i|0,S|0,n|0,C|0,h|0,s|0,b|0,e|0,P|0,A|0,d|0)|0,y=m,m=0,!(y&1)):0){i:do if(h){m=0;Ae(f[(f[e>>2]|0)+32>>2]|0,e|0,58976,58986,E|0)|0;y=m;m=0;if(y&1){R=10;break e}u=f[A>>2]|0;d=f[P>>2]|0;e=u-d|0;if((e|0)>98){e=xc(e+2|0)|0;o=e;if(!e){m=0;Te(6);y=m;m=0;if(!(y&1)){e=0;R=13}}else R=13}else{o=0;e=S;R=13}do if((R|0)==13){if(t[b>>0]|0){t[e>>0]=45;e=e+1|0}g=E+10|0;y=E;if(d>>>0<u>>>0){h=E+1|0;n=h+1|0;a=n+1|0;b=a+1|0;k=b+1|0;w=k+1|0;_=w+1|0;p=_+1|0;v=p+1|0;do{u=t[d>>0]|0;do if((t[E>>0]|0)!=u<<24>>24)if((t[h>>0]|0)!=u<<24>>24)if((t[n>>0]|0)!=u<<24>>24)if((t[a>>0]|0)!=u<<24>>24)if((t[b>>0]|0)==u<<24>>24)u=b;else{if((t[k>>0]|0)==u<<24>>24){u=k;break}if((t[w>>0]|0)==u<<24>>24){u=w;break}if((t[_>>0]|0)==u<<24>>24){u=_;break}if((t[p>>0]|0)==u<<24>>24){u=p;break}u=(t[v>>0]|0)==u<<24>>24?v:g}else u=a;else u=n;else u=h;else u=E;while(0)t[e>>0]=t[58976+(u-y)>>0]|0;d=d+1|0;e=e+1|0}while(d>>>0<(f[A>>2]|0)>>>0)}t[e>>0]=0;f[T>>2]=l;if((Ry(S,58987,T)|0)!=1?(m=0,ue(190,58991),l=m,m=0,l&1):0)break;if(o)Dc(o);break i}while(0)e=Ye()|0;if(!o){u=e;o=P;break e}Dc(o);u=e;o=P;break e}while(0)e=f[i>>2]|0;do if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;e=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;l=m;m=0;if(l&1){R=10;break e}if((e|0)==-1){f[i>>2]=0;e=0;break}else{e=f[i>>2]|0;break}}}else e=0;while(0)o=(e|0)==0;e=f[r>>2]|0;do if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;e=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;l=m;m=0;if(l&1){R=10;break e}if((e|0)==-1){f[r>>2]=0;R=37;break}}if(!o)R=38}else R=37;while(0)if((R|0)==37?o:0)R=38;if((R|0)==38)f[s>>2]=f[s>>2]|2;o=f[i>>2]|0;bd(f[C>>2]|0)|0;e=f[P>>2]|0;f[P>>2]=0;if((e|0)!=0?(m=0,ue(f[x>>2]|0,e|0),R=m,m=0,R&1):0){R=Ye(0)|0;Fi(R)}c=M;return o|0}else R=10;while(0)if((R|0)==10){u=Ye()|0;o=P}bd(f[C>>2]|0)|0;e=f[o>>2]|0
20
+ ;f[o>>2]=0;if(!e)D=u;else{o=f[x>>2]|0;R=45}}else{u=Ye()|0;f[P>>2]=0;o=189;R=45}if((R|0)==45){m=0;ue(o|0,e|0);R=m;m=0;if(R&1){R=Ye(0)|0;Fi(R)}else D=u}$e(D|0);return 0}function qo(e){e=e|0;return}function zo(e,i,r,s,l,o,u,d,h,b,k){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;o=o|0;u=u|0;d=d|0;h=h|0;b=b|0;k=k|0;var w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0,W=0,J=0,Q=0,Z=0,$=0,ee=0,ie=0,re=0,te=0;ie=c;c=c+512|0;H=ie+88|0;v=ie+96|0;te=ie+80|0;X=ie+72|0;z=ie+68|0;G=ie+500|0;Y=ie+497|0;V=ie+496|0;J=ie+56|0;ee=ie+44|0;Z=ie+32|0;Q=ie+20|0;$=ie+8|0;q=ie+4|0;W=ie;f[H>>2]=k;f[te>>2]=v;re=te+4|0;f[re>>2]=189;f[X>>2]=v;f[z>>2]=v+400;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[ee>>2]=0;f[ee+4>>2]=0;f[ee+8>>2]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[$>>2]=0;f[$+4>>2]=0;f[$+8>>2]=0;m=0;pe(1,r|0,s|0,G|0,Y|0,V|0,J|0,ee|0,Z|0,Q|0,q|0);U=m;m=0;e:do if(U&1)d=Ye()|0;else{f[b>>2]=f[h>>2];L=d+8|0;I=Z+4|0;B=Q+4|0;N=Q+8|0;F=Q+1|0;j=Z+8|0;U=Z+1|0;S=(l&512|0)!=0;T=ee+8|0;M=ee+1|0;C=ee+4|0;P=$+4|0;x=$+8|0;D=$+1|0;R=G+3|0;O=J+4|0;A=0;p=0;i:while(1){k=f[e>>2]|0;do if(k){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){m=0;k=he(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;E=m;m=0;if(E&1){K=24;break i}if((k|0)==-1){f[e>>2]=0;k=0;break}else{k=f[e>>2]|0;break}}}else k=0;while(0)k=(k|0)==0;d=f[i>>2]|0;do if(d){if((f[d+12>>2]|0)!=(f[d+16>>2]|0))if(k){E=d;break}else{K=235;break i}m=0;r=he(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;E=m;m=0;if(E&1){K=24;break i}if((r|0)!=-1)if(k){E=d;break}else{K=235;break i}else{f[i>>2]=0;K=15;break}}else K=15;while(0)if((K|0)==15){K=0;if(k){K=235;break}else E=0}r:do switch(t[G+A>>0]|0){case 1:{if((A|0)!=3){k=f[e>>2]|0;d=f[k+12>>2]|0;if((d|0)==(f[k+16>>2]|0)){m=0;k=he(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;K=m;m=0;if(K&1){K=24;break i}}else k=a[d>>0]|0;if((k&255)<<24>>24<=-1){K=40;break i}if(!(n[(f[L>>2]|0)+(k<<24>>24<<1)>>1]&8192)){K=40;break i}k=f[e>>2]|0;d=k+12|0;r=f[d>>2]|0;if((r|0)==(f[k+16>>2]|0)){m=0;k=he(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;K=m;m=0;if(K&1){K=24;break i}}else{f[d>>2]=r+1;k=a[r>>0]|0}m=0;ce(67,$|0,k&255|0);K=m;m=0;if(K&1){K=24;break i}else{k=E;s=E;K=42}}break}case 0:{if((A|0)!=3){k=E;s=E;K=42}break}case 3:{d=t[Z>>0]|0;k=(d&1)==0?(d&255)>>>1:f[I>>2]|0;r=t[Q>>0]|0;s=(r&1)==0?(r&255)>>>1:f[B>>2]|0;if((k|0)!=(0-s|0)){if(!k){k=f[e>>2]|0;d=f[k+12>>2]|0;if((d|0)==(f[k+16>>2]|0)){m=0;k=he(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;E=m;m=0;if(E&1){K=24;break i}d=t[Q>>0]|0}else{k=a[d>>0]|0;d=r}if((k&255)<<24>>24!=(t[((d&1)==0?F:f[N>>2]|0)>>0]|0))break r;k=f[e>>2]|0;d=k+12|0;r=f[d>>2]|0;if((r|0)==(f[k+16>>2]|0)){m=0;he(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;E=m;m=0;if(E&1){K=24;break i}}else f[d>>2]=r+1;t[u>>0]=1;E=t[Q>>0]|0;p=((E&1)==0?(E&255)>>>1:f[B>>2]|0)>>>0>1?Q:p;break r}l=f[e>>2]|0;w=f[l+12>>2]|0;r=f[l+16>>2]|0;k=(w|0)==(r|0);if(!s){if(k){m=0;k=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;E=m;m=0;if(E&1){K=24;break i}d=t[Z>>0]|0}else k=a[w>>0]|0;if((k&255)<<24>>24!=(t[((d&1)==0?U:f[j>>2]|0)>>0]|0)){t[u>>0]=1;break r}k=f[e>>2]|0;d=k+12|0;r=f[d>>2]|0;if((r|0)==(f[k+16>>2]|0)){m=0;he(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;E=m;m=0;if(E&1){K=24;break i}}else f[d>>2]=r+1;E=t[Z>>0]|0;p=((E&1)==0?(E&255)>>>1:f[I>>2]|0)>>>0>1?Z:p;break r}if(k){m=0;k=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;E=m;m=0;if(E&1){K=24;break i}r=f[e>>2]|0;d=t[Z>>0]|0;l=r;w=f[r+12>>2]|0;r=f[r+16>>2]|0}else k=a[w>>0]|0;s=l+12|0;r=(w|0)==(r|0);if((k&255)<<24>>24==(t[((d&1)==0?U:f[j>>2]|0)>>0]|0)){if(r){m=0;he(f[(f[l>>2]|0)+40>>2]|0,l|0)|0;E=m;m=0;if(E&1){K=24;break i}}else f[s>>2]=w+1;E=t[Z>>0]|0;p=((E&1)==0?(E&255)>>>1:f[I>>2]|0)>>>0>1?Z:p;break r}if(r){m=0;k=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;E=m;m=0;if(E&1){K=24;break i}}else k=a[w>>0]|0;if((k&255)<<24>>24!=(t[((t[Q>>0]&1)==0?F:f[N>>2]|0)>>0]|0)){K=104;break i}k=f[e>>2]|0;d=k+12|0;r=f[d>>2]|0;if((r|0)==(f[k+16>>2]|0)){m=0;he(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;E=m;m=0;if(E&1){K=24;break i}}else f[d>>2]=r+1;t[u>>0]=1;E=t[Q>>0]|0;p=((E&1)==0?(E&255)>>>1:f[B>>2]|0)>>>0>1?Q:p}break}case 2:{if(!(A>>>0<2|(p|0)!=0)?!(S|(A|0)==2&(t[R>>0]|0)!=0):0){p=0;break r}g=t[ee>>0]|0;k=(g&1)==0;y=f[T>>2]|0;r=k?M:y;_=r;t:do if((A|0)!=0?(a[G+(A+-1)>>0]|0)<2:0){w=k?(g&255)>>>1:f[C>>2]|0;s=r+w|0;l=f[L>>2]|0;n:do if(!w)d=_;else{w=r;d=_;do{k=t[w>>0]|0;if(k<<24>>24<=-1)break n;if(!(n[l+(k<<24>>24<<1)>>1]&8192))break n;w=w+1|0;d=w}while((w|0)!=(s|0))}while(0)s=d-_|0;l=t[$>>0]|0;k=(l&1)==0;l=k?(l&255)>>>1:f[P>>2]|0;if(l>>>0>=s>>>0){k=k?D:f[x>>2]|0;w=k+l|0;if((d|0)!=(_|0)){k=k+(l-s)|0;while(1){if((t[k>>0]|0)!=(t[r>>0]|0)){d=_;break t}k=k+1|0;if((k|0)==(w|0))break;else r=r+1|0}}}else d=_}else d=_;while(0)k=(g&1)==0;k=(k?M:y)+(k?(g&255)>>>1:f[C>>2]|0)|0;t:do if((d|0)!=(k|0)){l=E;s=E;k=d;while(1){d=f[e>>2]|0;do if(d){if((f[d+12>>2]|0)==(f[d+16>>2]|0)){m=0;d=he(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;E=m;m=0;if(E&1){K=21;break i}if((d|0)==-1){f[e>>2]=0;d=0;break}else{d=f[e>>2]|0;break}}}else d=0;while(0)r=(d|0)==0;do if(s){if((f[s+12>>2]|0)!=(f[s+16>>2]|0))if(r){d=l;w=s;break}else break t;m=0;d=he(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;E=m;m=0;if(E&1){K=21;break i}if((d|0)!=-1)if(r^(l|0)==0){d=l;w=l;break}else break t;else{f[i>>2]=0;d=0;K=131;break}}else{d=l;K=131}while(0)if((K|0)==131){K=0;if(r)break t;else w=0}r=f[e>>2]|0;s=f[r+12>>2]|0;if((s|0)==(f[r+16>>2]|0)){m=0;r=he(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;E=m;m=0;if(E&1){K=21;break i}}else r=a[s>>0]|0;if((r&255)<<24>>24!=(t[k>>0]|0))break t;r=f[e>>2]|0;s=r+12|0;l=f[s>>2]|0;if((l|0)==(f[r+16>>2]|0)){m=0;he(f[(f[r>>2]|0)+40>>2]|0,r|0)|0;E=m;m=0;if(E&1){K=21;break i}}else f[s>>2]=l+1;k=k+1|0;r=t[ee>>0]|0;E=(r&1)==0;r=(E?M:f[T>>2]|0)+(E?(r&255)>>>1:f[C>>2]|0)|0;if((k|0)==(r|0)){k=r;break}else{l=d;s=w}}}while(0)if(S?(E=t[ee>>0]|0,y=(E&1)==0,(k|0)!=((y?M:f[T>>2]|0)+(y?(E&255)>>>1:f[C>>2]|0)|0)):0){K=143;break i}break}case 4:{_=t[V>>0]|0;d=E;l=E;k=0;t:while(1){r=f[e>>2]|0;do if(r){if((f[r+12>>2]|0)==(f[r+16>>2]|0)){m=0;r=he(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;E=m;m=0;if(E&1){K=23;break i}if((r|0)==-1){f[e>>2]=0;r=0;break}else{r=f[e>>2]|0;break}}}else r=0;while(0)s=(r|0)==0;do if(l){if((f[l+12>>2]|0)!=(f[l+16>>2]|0))if(s){w=d;break}else{s=d;break t}m=0;r=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;E=m;m=0;if(E&1){K=23;break i}if((r|0)!=-1)if(s^(d|0)==0){w=d;l=d;break}else{s=d;break t}else{f[i>>2]=0;d=0;K=156;break}}else K=156;while(0)if((K|0)==156){K=0;if(s){s=d;break}else{w=d;l=0}}d=f[e>>2]|0;r=f[d+12>>2]|0;if((r|0)==(f[d+16>>2]|0)){m=0;d=he(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;E=m;m=0;if(E&1){K=23;break i}}else d=a[r>>0]|0;r=d&255;if(r<<24>>24>-1?(n[(f[L>>2]|0)+(d<<24>>24<<1)>>1]&2048)!=0:0){d=f[b>>2]|0;if((d|0)==(f[H>>2]|0)){m=0;Se(12,h|0,b|0,H|0);E=m;m=0;if(E&1){K=23;break i}d=f[b>>2]|0}f[b>>2]=d+1;t[d>>0]=r;k=k+1|0}else{E=t[J>>0]|0;if(!(r<<24>>24==_<<24>>24&((k|0)!=0?(((E&1)==0?(E&255)>>>1:f[O>>2]|0)|0)!=0:0))){s=w;break}if((v|0)==(f[z>>2]|0)){m=0;Se(13,te|0,X|0,z|0);E=m;m=0;if(E&1){K=23;break i}v=f[X>>2]|0}E=v+4|0;f[X>>2]=E;f[v>>2]=k;v=E;k=0}d=f[e>>2]|0;r=d+12|0;s=f[r>>2]|0;if((s|0)==(f[d+16>>2]|0)){m=0;he(f[(f[d>>2]|0)+40>>2]|0,d|0)|0;E=m;m=0;if(E&1){K=23;break i}else{d=w;continue}}else{f[r>>2]=s+1;d=w;continue}}if((k|0)!=0?(f[te>>2]|0)!=(v|0):0){if((v|0)==(f[z>>2]|0)){m=0;Se(13,te|0,X|0,z|0);E=m;m=0;if(E&1){K=24;break i}v=f[X>>2]|0}E=v+4|0;f[X>>2]=E;f[v>>2]=k;v=E}w=f[q>>2]|0;if((w|0)>0){k=f[e>>2]|0;do if(k){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){m=0;k=he(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;E=m;m=0;if(E&1){K=24;break i}if((k|0)==-1){f[e>>2]=0;k=0;break}else{k=f[e>>2]|0;break}}}else k=0;while(0)k=(k|0)==0;do if(s){if((f[s+12>>2]|0)==(f[s+16>>2]|0)){m=0;d=he(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;E=m;m=0;if(E&1){K=24;break i}if((d|0)==-1){f[i>>2]=0;K=193;break}}if(!k){K=198;break i}}else K=193;while(0)if((K|0)==193){K=0;if(k){K=198;break i}else s=0}k=f[e>>2]|0;d=f[k+12>>2]|0;if((d|0)==(f[k+16>>2]|0)){m=0;k=he(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;E=m;m=0;if(E&1){K=24;break i}}else k=a[d>>0]|0;if((k&255)<<24>>24!=(t[Y>>0]|0)){K=198;break i}k=f[e>>2]|0;d=k+12|0;r=f[d>>2]|0;if((r|0)==(f[k+16>>2]|0)){m=0;he(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;E=m;m=0;if(E&1){K=24;break i}}else f[d>>2]=r+1;if((w|0)>0){l=s;r=s;_=w;while(1){k=f[e>>2]|0;do if(k){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){m=0;k=he(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;E=m;m=0;if(E&1){K=22;break i}if((k|0)==-1){f[e>>2]=0;k=0;break}else{k=f[e>>2]|0;break}}}else k=0;while(0)d=(k|0)==0;do if(r){if((f[r+12>>2]|0)!=(f[r+16>>2]|0))if(d){k=l;w=r;break}else{K=222;break i}m=0;k=he(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;E=m;m=0;if(E&1){K=22;break i}if((k|0)!=-1)if(d^(l|0)==0){k=l;w=l;break}else{K=222;break i}else{f[i>>2]=0;k=0;K=215;break}}else{k=l;K=215}while(0)if((K|0)==215){K=0;if(d){K=222;break i}else w=0}d=f[e>>2]|0;r=f[d+12>>2]|0;if((r|0)==(f[d+16>>2]|0)){m=0;d=he(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;E=m;m=0;if(E&1){K=22;break i}}else d=a[r>>0]|0;if((d&255)<<24>>24<=-1){K=222;break i}if(!(n[(f[L>>2]|0)+(d<<24>>24<<1)>>1]&2048)){K=222;break i}if((f[b>>2]|0)==(f[H>>2]|0)?(m=0,Se(12,h|0,b|0,H|0),E=m,m=0,E&1):0){K=22;break i}d=f[e>>2]|0;r=f[d+12>>2]|0;if((r|0)==(f[d+16>>2]|0)){m=0;d=he(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;E=m;m=0;if(E&1){K=22;break i}}else d=a[r>>0]|0;r=f[b>>2]|0;f[b>>2]=r+1;t[r>>0]=d;d=_;_=_+-1|0;f[q>>2]=_;r=f[e>>2]|0;s=r+12|0;l=f[s>>2]|0;if((l|0)==(f[r+16>>2]|0)){m=0;he(f[(f[r>>2]|0)+40>>2]|0,r|0)|0;E=m;m=0;if(E&1){K=22;break i}}else f[s>>2]=l+1;if((d|0)<=1)break;else{l=k;r=w}}}}if((f[b>>2]|0)==(f[h>>2]|0)){K=233;break i}break}default:{}}while(0)r:do if((K|0)==42)while(1){K=0;d=f[e>>2]|0;do if(d){if((f[d+12>>2]|0)==(f[d+16>>2]|0)){m=0;d=he(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;E=m;m=0;if(E&1){K=20;break i}if((d|0)==-1){f[e>>2]=0;d=0;break}else{d=f[e>>2]|0;break}}}else d=0;while(0)r=(d|0)==0;do if(s){if((f[s+12>>2]|0)!=(f[s+16>>2]|0))if(r){l=k;break}else break r;m=0;d=he(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;E=m;m=0;if(E&1){K=20;break i}if((d|0)!=-1)if(r^(k|0)==0){l=k;s=k;break}else break r;else{f[i>>2]=0;k=0;K=54;break}}else K=54;while(0)if((K|0)==54){K=0;if(r)break r;else{l=k;s=0}}k=f[e>>2]|0;d=f[k+12>>2]|0;if((d|0)==(f[k+16>>2]|0)){m=0;k=he(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;E=m;m=0;if(E&1){K=20;break i}}else k=a[d>>0]|0;if((k&255)<<24>>24<=-1)break r;if(!(n[(f[L>>2]|0)+(k<<24>>24<<1)>>1]&8192))break r;k=f[e>>2]|0;d=k+12|0;r=f[d>>2]|0;if((r|0)==(f[k+16>>2]|0)){m=0;k=he(f[(f[k>>2]|0)+40>>2]|0,k|0)|0;K=m;m=0;if(K&1){K=20;break i}}else{f[d>>2]=r+1;k=a[r>>0]|0}m=0;ce(67,$|0,k&255|0);K=m;m=0;if(K&1){K=20;break i}else{k=l;K=42}}while(0)A=A+1|0;if(A>>>0>=4){K=235;break}}i:switch(K|0){case 20:{d=Ye()|0;break e}case 21:{d=Ye()|0;break e}case 22:{d=Ye()|0;break e}case 23:{d=Ye()|0;break e}case 24:{d=Ye()|0;break e}case 40:{f[o>>2]=f[o>>2]|4;d=0;break}case 104:{f[o>>2]=f[o>>2]|4;d=0;break}case 143:{f[o>>2]=f[o>>2]|4;d=0;break}case 198:{f[o>>2]=f[o>>2]|4;d=0;break}case 222:{f[o>>2]=f[o>>2]|4;d=0;break}case 233:{f[o>>2]=f[o>>2]|4;d=0;break}case 235:{r:do if(p){l=p+1|0;w=p+8|0;_=p+4|0;r=1;t:while(1){k=t[p>>0]|0;if(!(k&1))k=(k&255)>>>1;else k=f[_>>2]|0;if(r>>>0>=k>>>0)break r;k=f[e>>2]|0;do if(k){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){m=0;k=he(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;b=m;m=0;if(b&1){K=19;break t}if((k|0)==-1){f[e>>2]=0;k=0;break}else{k=f[e>>2]|0;break}}}else k=0;while(0)d=(k|0)==0;k=f[i>>2]|0;do if(k){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){m=0;k=he(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;b=m;m=0;if(b&1){K=19;break t}if((k|0)==-1){f[i>>2]=0;K=253;break}}if(!d){K=260;break t}}else K=253;while(0)if((K|0)==253?(K=0,d):0){K=260;break}k=f[e>>2]|0;d=f[k+12>>2]|0;if((d|0)==(f[k+16>>2]|0)){m=0;k=he(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;b=m;m=0;if(b&1){K=19;break}}else k=a[d>>0]|0;if(!(t[p>>0]&1))d=l;else d=f[w>>2]|0;if((k&255)<<24>>24!=(t[d+r>>0]|0)){K=260;break}k=r+1|0;d=f[e>>2]|0;r=d+12|0;s=f[r>>2]|0;if((s|0)==(f[d+16>>2]|0)){m=0;he(f[(f[d>>2]|0)+40>>2]|0,d|0)|0;b=m;m=0;if(b&1){K=19;break}else{r=k;continue}}else{f[r>>2]=s+1;r=k;continue}}if((K|0)==19){d=Ye()|0;break e}else if((K|0)==260){f[o>>2]=f[o>>2]|4;d=0;break i}}while(0)k=f[te>>2]|0;if((k|0)!=(v|0)?(f[W>>2]=0,Ko(J,k,v,W),(f[W>>2]|0)!=0):0){f[o>>2]=f[o>>2]|4;d=0}else d=1;break}}Od($);Od(Q);Od(Z);Od(ee);Od(J);k=f[te>>2]|0;f[te>>2]=0;if((k|0)!=0?(m=0,ue(f[re>>2]|0,k|0),te=m,m=0,te&1):0){te=Ye(0)|0;Fi(te)}c=ie;return d|0}while(0)Od($);Od(Q);Od(Z);Od(ee);Od(J);k=f[te>>2]|0;f[te>>2]=0;if((k|0)!=0?(m=0,ue(f[re>>2]|0,k|0),te=m,m=0,te&1):0){te=Ye(0)|0;Fi(te)}$e(d|0);return 0}function Xo(e){e=e|0;var i=0;i=He(8)|0;m=0;ce(90,i|0,e|0);e=m;m=0;if(e&1){e=Ye()|0;Ue(i|0);$e(e|0)}else bi(i|0,616,80)}function Go(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0;y=c;c=c+144|0;o=y+24|0;e=y+32|0;E=y+16|0;_=y+8|0;b=y+4|0;k=y+28|0;u=y;f[E>>2]=e;T=E+4|0;f[T>>2]=189;d=e+100|0;m=0;g=he(68,a|0)|0;h=m;m=0;if(!(h&1)){f[b>>2]=g;m=0;h=ve(37,b|0,44220)|0;e=m;m=0;e:do if(!(e&1)?(t[k>>0]=0,p=f[r>>2]|0,f[u>>2]=p,w=f[a+4>>2]|0,v=p,m=0,f[o>>2]=f[u>>2],w=be(1,i|0,o|0,n|0,b|0,w|0,s|0,k|0,h|0,E|0,_|0,d|0)|0,a=m,m=0,!(a&1)):0){if(w){if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}if(t[k>>0]|0){m=0;e=ve(f[(f[h>>2]|0)+28>>2]|0,h|0,45)|0;a=m;m=0;if(a&1)break;m=0;ce(67,l|0,e|0);a=m;m=0;if(a&1)break}m=0;u=ve(f[(f[h>>2]|0)+28>>2]|0,h|0,48)|0;a=m;m=0;if(a&1)break;e=f[E>>2]|0;d=f[_>>2]|0;o=d+-1|0;i:do if(e>>>0<o>>>0)do{if((t[e>>0]|0)!=u<<24>>24)break i;e=e+1|0}while(e>>>0<o>>>0)while(0)m=0;ke(32,l|0,e|0,d|0)|0;l=m;m=0;if(l&1)break}e=f[i>>2]|0;do if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;e=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;l=m;m=0;if(l&1)break e;if((e|0)==-1){f[i>>2]=0;e=0;break}else{e=f[i>>2]|0;break}}}else e=0;while(0)o=(e|0)==0;do if(p){if((f[v+12>>2]|0)==(f[v+16>>2]|0)){m=0;e=he(f[(f[p>>2]|0)+36>>2]|0,v|0)|0;v=m;m=0;if(v&1)break e;if((e|0)==-1){f[r>>2]=0;S=29;break}}if(!o)S=30}else S=29;while(0)if((S|0)==29?o:0)S=30;if((S|0)==30)f[s>>2]=f[s>>2]|2;o=f[i>>2]|0;bd(g)|0;e=f[E>>2]|0;f[E>>2]=0;if((e|0)!=0?(m=0,ue(f[T>>2]|0,e|0),T=m,m=0,T&1):0){T=Ye(0)|0;Fi(T)}c=y;return o|0}while(0)o=Ye()|0;bd(g)|0;e=f[E>>2]|0;f[E>>2]=0;if(!e)A=o;else S=36}else{o=Ye()|0;f[E>>2]=0;S=36}if((S|0)==36){m=0;ue(f[T>>2]|0,e|0);T=m;m=0;if(T&1){T=Ye(0)|0;Fi(T)}else A=o}$e(A|0);return 0}function Vo(e,i,r,n,a,s,l,o,u,d){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;d=d|0;var h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;S=c;c=c+112|0;h=S+100|0;b=S+88|0;k=S+76|0;w=S+64|0;_=S+52|0;p=S+48|0;v=S+36|0;g=S+24|0;y=S+12|0;E=S;do if(e){e=Bu(i,43828)|0;aE[f[(f[e>>2]|0)+44>>2]&127](h,e);E=f[h>>2]|0;t[r>>0]=E;t[r+1>>0]=E>>8;t[r+2>>0]=E>>16;t[r+3>>0]=E>>24;aE[f[(f[e>>2]|0)+32>>2]&127](b,e);if(!(t[u>>0]&1)){t[u+1>>0]=0;t[u>>0]=0}else{t[f[u+8>>2]>>0]=0;f[u+4>>2]=0}m=0;ce(91,u|0,0);r=m;m=0;if(r&1){r=Ye(0)|0;Fi(r)}f[u>>2]=f[b>>2];f[u+4>>2]=f[b+4>>2];f[u+8>>2]=f[b+8>>2];f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;Od(b);aE[f[(f[e>>2]|0)+28>>2]&127](k,e);if(!(t[o>>0]&1)){t[o+1>>0]=0;t[o>>0]=0}else{t[f[o+8>>2]>>0]=0;f[o+4>>2]=0}m=0;ce(91,o|0,0);r=m;m=0;if(r&1){r=Ye(0)|0;Fi(r)}f[o>>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];f[o+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Od(k);t[n>>0]=lE[f[(f[e>>2]|0)+12>>2]&127](e)|0;t[a>>0]=lE[f[(f[e>>2]|0)+16>>2]&127](e)|0;aE[f[(f[e>>2]|0)+20>>2]&127](w,e);if(!(t[s>>0]&1)){t[s+1>>0]=0;t[s>>0]=0}else{t[f[s+8>>2]>>0]=0;f[s+4>>2]=0}m=0;ce(91,s|0,0);a=m;m=0;if(a&1){a=Ye(0)|0;Fi(a)}f[s>>2]=f[w>>2];f[s+4>>2]=f[w+4>>2];f[s+8>>2]=f[w+8>>2];f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;Od(w);aE[f[(f[e>>2]|0)+24>>2]&127](_,e);if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}m=0;ce(91,l|0,0);a=m;m=0;if(a&1){a=Ye(0)|0;Fi(a)}else{f[l>>2]=f[_>>2];f[l+4>>2]=f[_+4>>2];f[l+8>>2]=f[_+8>>2];f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;Od(_);A=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Bu(i,43764)|0;aE[f[(f[e>>2]|0)+44>>2]&127](p,e);p=f[p>>2]|0;t[r>>0]=p;t[r+1>>0]=p>>8;t[r+2>>0]=p>>16;t[r+3>>0]=p>>24;aE[f[(f[e>>2]|0)+32>>2]&127](v,e);if(!(t[u>>0]&1)){t[u+1>>0]=0;t[u>>0]=0}else{t[f[u+8>>2]>>0]=0;f[u+4>>2]=0}m=0;ce(91,u|0,0);r=m;m=0;if(r&1){r=Ye(0)|0;Fi(r)}f[u>>2]=f[v>>2];f[u+4>>2]=f[v+4>>2];f[u+8>>2]=f[v+8>>2];f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;Od(v);aE[f[(f[e>>2]|0)+28>>2]&127](g,e);if(!(t[o>>0]&1)){t[o+1>>0]=0;t[o>>0]=0}else{t[f[o+8>>2]>>0]=0;f[o+4>>2]=0}m=0;ce(91,o|0,0);r=m;m=0;if(r&1){r=Ye(0)|0;Fi(r)}f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Od(g);t[n>>0]=lE[f[(f[e>>2]|0)+12>>2]&127](e)|0;t[a>>0]=lE[f[(f[e>>2]|0)+16>>2]&127](e)|0;aE[f[(f[e>>2]|0)+20>>2]&127](y,e);if(!(t[s>>0]&1)){t[s+1>>0]=0;t[s>>0]=0}else{t[f[s+8>>2]>>0]=0;f[s+4>>2]=0}m=0;ce(91,s|0,0);a=m;m=0;if(a&1){a=Ye(0)|0;Fi(a)}f[s>>2]=f[y>>2];f[s+4>>2]=f[y+4>>2];f[s+8>>2]=f[y+8>>2];f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;Od(y);aE[f[(f[e>>2]|0)+24>>2]&127](E,e);if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}m=0;ce(91,l|0,0);a=m;m=0;if(a&1){a=Ye(0)|0;Fi(a)}else{f[l>>2]=f[E>>2];f[l+4>>2]=f[E+4>>2];f[l+8>>2]=f[E+8>>2];f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;Od(E);A=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}while(0)f[d>>2]=A;c=S;return}function Ko(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0;a=t[e>>0]|0;l=e+4|0;s=f[l>>2]|0;e:do if(((a&1)==0?(a&255)>>>1:s)|0){if((i|0)!=(r|0)){a=r+-4|0;if(a>>>0>i>>>0){s=i;do{o=f[s>>2]|0;f[s>>2]=f[a>>2];f[a>>2]=o;s=s+4|0;a=a+-4|0}while(s>>>0<a>>>0)}a=t[e>>0]|0;s=f[l>>2]|0}o=(a&1)==0;l=o?e+1|0:f[e+8>>2]|0;r=r+-4|0;e=l+(o?(a&255)>>>1:s)|0;s=t[l>>0]|0;a=s<<24>>24<1|s<<24>>24==127;i:do if(r>>>0>i>>>0){while(1){if(!a?(s<<24>>24|0)!=(f[i>>2]|0):0)break;l=(e-l|0)>1?l+1|0:l;i=i+4|0;s=t[l>>0]|0;a=s<<24>>24<1|s<<24>>24==127;if(i>>>0>=r>>>0)break i}f[n>>2]=4;break e}while(0)if(!a?((f[r>>2]|0)+-1|0)>>>0>=s<<24>>24>>>0:0)f[n>>2]=4}while(0)return}function Wo(e){e=e|0;return}function Jo(e){e=e|0;Iv(e);return}function Qo(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0;M=c;c=c+576|0;E=M+424|0;T=M;e=M+24|0;P=M+16|0;A=M+12|0;C=M+8|0;b=M+464|0;u=M+4|0;S=M+468|0;f[P>>2]=e;D=P+4|0;f[D>>2]=189;d=e+400|0;m=0;o=he(68,a|0)|0;y=m;m=0;if(!(y&1)){f[C>>2]=o;m=0;e=ve(37,C|0,44212)|0;y=m;m=0;e:do if(!(y&1)?(t[b>>0]=0,f[u>>2]=f[r>>2],h=f[a+4>>2]|0,m=0,f[E>>2]=f[u>>2],h=be(2,i|0,E|0,n|0,C|0,h|0,s|0,b|0,e|0,P|0,A|0,d|0)|0,y=m,m=0,!(y&1)):0){i:do if(h){m=0;Ae(f[(f[e>>2]|0)+48>>2]|0,e|0,59007,59017,E|0)|0;y=m;m=0;if(y&1){R=10;break e}u=f[A>>2]|0;d=f[P>>2]|0;e=u-d|0;if((e|0)>392){e=xc((e>>2)+2|0)|0;o=e;if(!e){m=0;Te(6);y=m;m=0;if(!(y&1)){e=0;R=13}}else R=13}else{o=0;e=S;R=13}do if((R|0)==13){if(t[b>>0]|0){t[e>>0]=45;e=e+1|0}g=E+40|0;y=E;if(d>>>0<u>>>0){h=E+4|0;n=h+4|0;a=n+4|0;b=a+4|0;k=b+4|0;w=k+4|0;_=w+4|0;p=_+4|0;v=p+4|0;do{u=f[d>>2]|0;do if((f[E>>2]|0)!=(u|0))if((f[h>>2]|0)!=(u|0))if((f[n>>2]|0)!=(u|0))if((f[a>>2]|0)!=(u|0))if((f[b>>2]|0)==(u|0))u=b;else{if((f[k>>2]|0)==(u|0)){u=k;break}if((f[w>>2]|0)==(u|0)){u=w;break}if((f[_>>2]|0)==(u|0)){u=_;break}if((f[p>>2]|0)==(u|0)){u=p;break}u=(f[v>>2]|0)==(u|0)?v:g}else u=a;else u=n;else u=h;else u=E;while(0)t[e>>0]=t[59007+(u-y>>2)>>0]|0;d=d+4|0;e=e+1|0}while(d>>>0<(f[A>>2]|0)>>>0)}t[e>>0]=0;f[T>>2]=l;if((Ry(S,58987,T)|0)!=1?(m=0,ue(190,58991),l=m,m=0,l&1):0)break;if(o)Dc(o);break i}while(0)e=Ye()|0;if(!o){u=e;o=P;break e}Dc(o);u=e;o=P;break e}while(0)e=f[i>>2]|0;do if(e){o=f[e+12>>2]|0;if((o|0)==(f[e+16>>2]|0)){m=0;e=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;l=m;m=0;if(l&1){R=10;break e}}else e=f[o>>2]|0;if((e|0)==-1){f[i>>2]=0;u=1;break}else{u=(f[i>>2]|0)==0;break}}else u=1;while(0)e=f[r>>2]|0;do if(e){o=f[e+12>>2]|0;if((o|0)==(f[e+16>>2]|0)){m=0;e=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;l=m;m=0;if(l&1){R=10;break e}}else e=f[o>>2]|0;if((e|0)!=-1)if(u)break;else{R=40;break}else{f[r>>2]=0;R=38;break}}else R=38;while(0)if((R|0)==38?u:0)R=40;if((R|0)==40)f[s>>2]=f[s>>2]|2;o=f[i>>2]|0;bd(f[C>>2]|0)|0;e=f[P>>2]|0;f[P>>2]=0;if((e|0)!=0?(m=0,ue(f[D>>2]|0,e|0),R=m,m=0,R&1):0){R=Ye(0)|0;Fi(R)}c=M;return o|0}else R=10;while(0)if((R|0)==10){u=Ye()|0;o=P}bd(f[C>>2]|0)|0;e=f[o>>2]|0;f[o>>2]=0;if(!e)x=u;else{o=f[D>>2]|0;R=47}}else{u=Ye()|0;f[P>>2]=0;o=189;R=47}if((R|0)==47){m=0;ue(o|0,e|0);R=m;m=0;if(R&1){R=Ye(0)|0;Fi(R)}else x=u}$e(x|0);return 0}function Zo(e,i,r,n,s,l,o,u,d,h,b){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;u=u|0;d=d|0;h=h|0;b=b|0;var k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0,W=0,J=0,Q=0,Z=0;J=c;c=c+512|0;B=J+96|0;k=J+104|0;Z=J+88|0;U=J+80|0;j=J+76|0;H=J+504|0;N=J+72|0;Y=J+68|0;X=J+56|0;W=J+44|0;V=J+32|0;G=J+20|0;K=J+8|0;F=J+4|0;z=J;f[B>>2]=b;f[Z>>2]=k;Q=Z+4|0;f[Q>>2]=189;f[U>>2]=k;f[j>>2]=k+400;f[X>>2]=0;f[X+4>>2]=0;f[X+8>>2]=0;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;m=0;pe(2,r|0,n|0,H|0,N|0,Y|0,X|0,W|0,V|0,G|0,F|0);I=m;m=0;e:do if(I&1)r=Ye()|0;else{f[h>>2]=f[d>>2];R=V+4|0;O=G+4|0;L=G+8|0;I=V+8|0;S=(s&512|0)!=0;T=W+8|0;M=W+4|0;C=K+4|0;P=K+8|0;x=H+3|0;D=X+4|0;A=0;_=0;i:while(1){b=f[e>>2]|0;do if(b){r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){m=0;b=he(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;E=m;m=0;if(E&1){q=26;break i}}else b=f[r>>2]|0;if((b|0)==-1){f[e>>2]=0;n=1;break}else{n=(f[e>>2]|0)==0;break}}else n=1;while(0)r=f[i>>2]|0;do if(r){b=f[r+12>>2]|0;if((b|0)==(f[r+16>>2]|0)){m=0;b=he(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;E=m;m=0;if(E&1){q=26;break i}}else b=f[b>>2]|0;if((b|0)!=-1)if(n){E=r;break}else{p=k;q=244;break i}else{f[i>>2]=0;q=16;break}}else q=16;while(0)if((q|0)==16){q=0;if(n){p=k;q=244;break}else E=0}r:do switch(t[H+A>>0]|0){case 1:{if((A|0)!=3){b=f[e>>2]|0;r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){m=0;b=he(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;q=m;m=0;if(q&1){q=26;break i}}else b=f[r>>2]|0;m=0;b=ke(f[(f[u>>2]|0)+12>>2]|0,u|0,8192,b|0)|0;q=m;m=0;if(q&1){q=26;break i}if(!b){q=42;break i}b=f[e>>2]|0;r=b+12|0;n=f[r>>2]|0;if((n|0)==(f[b+16>>2]|0)){m=0;b=he(f[(f[b>>2]|0)+40>>2]|0,b|0)|0;q=m;m=0;if(q&1){q=26;break i}}else{f[r>>2]=n+4;b=f[n>>2]|0}m=0;ce(92,K|0,b|0);q=m;m=0;if(q&1){q=26;break i}else{b=E;s=E;q=44}}else b=k;break}case 0:{if((A|0)==3)b=k;else{b=E;s=E;q=44}break}case 3:{r=t[V>>0]|0;b=(r&1)==0?(r&255)>>>1:f[R>>2]|0;n=t[G>>0]|0;s=(n&1)==0?(n&255)>>>1:f[O>>2]|0;if((b|0)==(0-s|0))b=k;else{if(!b){b=f[e>>2]|0;r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){m=0;b=he(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;E=m;m=0;if(E&1){q=26;break i}r=t[G>>0]|0}else{b=f[r>>2]|0;r=n}if((b|0)!=(f[((r&1)==0?O:f[L>>2]|0)>>2]|0)){b=k;break r}b=f[e>>2]|0;r=b+12|0;n=f[r>>2]|0;if((n|0)==(f[b+16>>2]|0)){m=0;he(f[(f[b>>2]|0)+40>>2]|0,b|0)|0;E=m;m=0;if(E&1){q=26;break i}}else f[r>>2]=n+4;t[o>>0]=1;E=t[G>>0]|0;b=k;_=((E&1)==0?(E&255)>>>1:f[O>>2]|0)>>>0>1?G:_;break r}w=f[e>>2]|0;p=f[w+12>>2]|0;n=f[w+16>>2]|0;b=(p|0)==(n|0);if(!s){if(b){m=0;b=he(f[(f[w>>2]|0)+36>>2]|0,w|0)|0;E=m;m=0;if(E&1){q=26;break i}r=t[V>>0]|0}else b=f[p>>2]|0;if((b|0)!=(f[((r&1)==0?R:f[I>>2]|0)>>2]|0)){t[o>>0]=1;b=k;break r}b=f[e>>2]|0;r=b+12|0;n=f[r>>2]|0;if((n|0)==(f[b+16>>2]|0)){m=0;he(f[(f[b>>2]|0)+40>>2]|0,b|0)|0;E=m;m=0;if(E&1){q=26;break i}}else f[r>>2]=n+4;E=t[V>>0]|0;b=k;_=((E&1)==0?(E&255)>>>1:f[R>>2]|0)>>>0>1?V:_;break r}if(b){m=0;b=he(f[(f[w>>2]|0)+36>>2]|0,w|0)|0;E=m;m=0;if(E&1){q=26;break i}n=f[e>>2]|0;r=t[V>>0]|0;w=n;p=f[n+12>>2]|0;n=f[n+16>>2]|0}else b=f[p>>2]|0;s=w+12|0;n=(p|0)==(n|0);if((b|0)==(f[((r&1)==0?R:f[I>>2]|0)>>2]|0)){if(n){m=0;he(f[(f[w>>2]|0)+40>>2]|0,w|0)|0;E=m;m=0;if(E&1){q=26;break i}}else f[s>>2]=p+4;E=t[V>>0]|0;b=k;_=((E&1)==0?(E&255)>>>1:f[R>>2]|0)>>>0>1?V:_;break r}if(n){m=0;b=he(f[(f[w>>2]|0)+36>>2]|0,w|0)|0;E=m;m=0;if(E&1){q=26;break i}}else b=f[p>>2]|0;if((b|0)!=(f[((t[G>>0]&1)==0?O:f[L>>2]|0)>>2]|0)){q=107;break i}b=f[e>>2]|0;r=b+12|0;n=f[r>>2]|0;if((n|0)==(f[b+16>>2]|0)){m=0;he(f[(f[b>>2]|0)+40>>2]|0,b|0)|0;E=m;m=0;if(E&1){q=26;break i}}else f[r>>2]=n+4;t[o>>0]=1;E=t[G>>0]|0;b=k;_=((E&1)==0?(E&255)>>>1:f[O>>2]|0)>>>0>1?G:_}break}case 2:{if(!(A>>>0<2|(_|0)!=0)?!(S|(A|0)==2&(t[x>>0]|0)!=0):0){b=k;_=0;break r}s=t[W>>0]|0;n=f[T>>2]|0;r=(s&1)==0?M:n;b=r;t:do if((A|0)!=0?(a[H+(A+-1)>>0]|0)<2:0){y=(s&1)==0;n:do if((r|0)!=((y?M:n)+((y?(s&255)>>>1:f[M>>2]|0)<<2)|0)){s=r;while(1){m=0;r=ke(f[(f[u>>2]|0)+12>>2]|0,u|0,8192,f[s>>2]|0)|0;y=m;m=0;if(y&1){q=23;break i}if(!r)break;s=s+4|0;b=s;r=t[W>>0]|0;n=f[T>>2]|0;y=(r&1)==0;if((s|0)==((y?M:n)+((y?(r&255)>>>1:f[M>>2]|0)<<2)|0)){s=r;break n}}s=t[W>>0]|0;n=f[T>>2]|0}while(0)p=(s&1)==0?M:n;r=p;v=b-r>>2;g=t[K>>0]|0;w=(g&1)==0;g=w?(g&255)>>>1:f[C>>2]|0;if(g>>>0>=v>>>0){w=w?C:f[P>>2]|0;y=w+(g<<2)|0;if(!v)r=b;else{w=w+(g-v<<2)|0;while(1){if((f[w>>2]|0)!=(f[p>>2]|0))break t;w=w+4|0;if((w|0)==(y|0)){r=b;break}else p=p+4|0}}}}else r=b;while(0)b=(s&1)==0;b=(b?M:n)+((b?(s&255)>>>1:f[M>>2]|0)<<2)|0;t:do if((r|0)!=(b|0)){w=E;s=E;b=r;while(1){r=f[e>>2]|0;do if(r){n=f[r+12>>2]|0;if((n|0)==(f[r+16>>2]|0)){m=0;r=he(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;E=m;m=0;if(E&1){q=22;break i}}else r=f[n>>2]|0;if((r|0)==-1){f[e>>2]=0;n=1;break}else{n=(f[e>>2]|0)==0;break}}else n=1;while(0)do if(s){r=f[s+12>>2]|0;if((r|0)==(f[s+16>>2]|0)){m=0;r=he(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;E=m;m=0;if(E&1){q=22;break i}}else r=f[r>>2]|0;if((r|0)!=-1)if(n^(w|0)==0){r=w;p=w;break}else break t;else{f[i>>2]=0;r=0;q=136;break}}else{r=w;q=136}while(0)if((q|0)==136){q=0;if(n)break t;else p=0}n=f[e>>2]|0;s=f[n+12>>2]|0;if((s|0)==(f[n+16>>2]|0)){m=0;n=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;E=m;m=0;if(E&1){q=22;break i}}else n=f[s>>2]|0;if((n|0)!=(f[b>>2]|0))break t;n=f[e>>2]|0;s=n+12|0;w=f[s>>2]|0;if((w|0)==(f[n+16>>2]|0)){m=0;he(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;E=m;m=0;if(E&1){q=22;break i}}else f[s>>2]=w+4;b=b+4|0;n=t[W>>0]|0;E=(n&1)==0;n=(E?M:f[T>>2]|0)+((E?(n&255)>>>1:f[M>>2]|0)<<2)|0;if((b|0)==(n|0)){b=n;break}else{w=r;s=p}}}while(0)if(S?(E=t[W>>0]|0,y=(E&1)==0,(b|0)!=((y?M:f[T>>2]|0)+((y?(E&255)>>>1:f[M>>2]|0)<<2)|0)):0){q=148;break i}else b=k;break}case 4:{g=f[Y>>2]|0;v=E;w=E;b=k;r=0;t:while(1){n=f[e>>2]|0;do if(n){s=f[n+12>>2]|0;if((s|0)==(f[n+16>>2]|0)){m=0;n=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;E=m;m=0;if(E&1){q=25;break i}}else n=f[s>>2]|0;if((n|0)==-1){f[e>>2]=0;s=1;break}else{s=(f[e>>2]|0)==0;break}}else s=1;while(0)do if(w){n=f[w+12>>2]|0;if((n|0)==(f[w+16>>2]|0)){m=0;n=he(f[(f[w>>2]|0)+36>>2]|0,w|0)|0;E=m;m=0;if(E&1){q=25;break i}}else n=f[n>>2]|0;if((n|0)!=-1)if(s^(v|0)==0){n=v;p=v;break}else{k=v;break t}else{f[i>>2]=0;n=0;q=162;break}}else{n=v;q=162}while(0)if((q|0)==162){q=0;if(s){k=n;break}else p=0}s=f[e>>2]|0;k=f[s+12>>2]|0;if((k|0)==(f[s+16>>2]|0)){m=0;s=he(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;E=m;m=0;if(E&1){q=25;break i}}else s=f[k>>2]|0;m=0;k=ke(f[(f[u>>2]|0)+12>>2]|0,u|0,2048,s|0)|0;E=m;m=0;if(E&1){q=25;break i}if(k){k=f[h>>2]|0;if((k|0)==(f[B>>2]|0)){m=0;Se(14,d|0,h|0,B|0);E=m;m=0;if(E&1){q=25;break i}k=f[h>>2]|0}f[h>>2]=k+4;f[k>>2]=s;r=r+1|0}else{E=t[X>>0]|0;if(!((s|0)==(g|0)&((r|0)!=0?(((E&1)==0?(E&255)>>>1:f[D>>2]|0)|0)!=0:0))){k=n;break}if((b|0)==(f[j>>2]|0)){m=0;Se(13,Z|0,U|0,j|0);E=m;m=0;if(E&1){q=25;break i}b=f[U>>2]|0}E=b+4|0;f[U>>2]=E;f[b>>2]=r;b=E;r=0}s=f[e>>2]|0;k=s+12|0;w=f[k>>2]|0;if((w|0)==(f[s+16>>2]|0)){m=0;he(f[(f[s>>2]|0)+40>>2]|0,s|0)|0;E=m;m=0;if(E&1){q=25;break i}else{v=n;w=p;continue}}else{f[k>>2]=w+4;v=n;w=p;continue}}if((r|0)!=0?(f[Z>>2]|0)!=(b|0):0){if((b|0)==(f[j>>2]|0)){m=0;Se(13,Z|0,U|0,j|0);E=m;m=0;if(E&1){q=26;break i}b=f[U>>2]|0}E=b+4|0;f[U>>2]=E;f[b>>2]=r;b=E}p=f[F>>2]|0;if((p|0)>0){r=f[e>>2]|0;do if(r){n=f[r+12>>2]|0;if((n|0)==(f[r+16>>2]|0)){m=0;r=he(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;E=m;m=0;if(E&1){q=26;break i}}else r=f[n>>2]|0;if((r|0)==-1){f[e>>2]=0;n=1;break}else{n=(f[e>>2]|0)==0;break}}else n=1;while(0)do if(k){r=f[k+12>>2]|0;if((r|0)==(f[k+16>>2]|0)){m=0;r=he(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;E=m;m=0;if(E&1){q=26;break i}}else r=f[r>>2]|0;if((r|0)!=-1)if(n)break;else{q=206;break i}else{f[i>>2]=0;q=200;break}}else q=200;while(0)if((q|0)==200){q=0;if(n){q=206;break i}else k=0}r=f[e>>2]|0;n=f[r+12>>2]|0;if((n|0)==(f[r+16>>2]|0)){m=0;r=he(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;E=m;m=0;if(E&1){q=26;break i}}else r=f[n>>2]|0;if((r|0)!=(f[N>>2]|0)){q=206;break i}r=f[e>>2]|0;n=r+12|0;s=f[n>>2]|0;if((s|0)==(f[r+16>>2]|0)){m=0;he(f[(f[r>>2]|0)+40>>2]|0,r|0)|0;E=m;m=0;if(E&1){q=26;break i}}else f[n>>2]=s+4;if((p|0)>0){w=k;s=k;v=p;while(1){r=f[e>>2]|0;do if(r){n=f[r+12>>2]|0;if((n|0)==(f[r+16>>2]|0)){m=0;r=he(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;E=m;m=0;if(E&1){q=24;break i}}else r=f[n>>2]|0;if((r|0)==-1){f[e>>2]=0;n=1;break}else{n=(f[e>>2]|0)==0;break}}else n=1;while(0)do if(s){r=f[s+12>>2]|0;if((r|0)==(f[s+16>>2]|0)){m=0;r=he(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;E=m;m=0;if(E&1){q=24;break i}}else r=f[r>>2]|0;if((r|0)!=-1)if(n^(w|0)==0){r=w;p=w;break}else{q=231;break i}else{f[i>>2]=0;r=0;q=224;break}}else{r=w;q=224}while(0)if((q|0)==224){q=0;if(n){q=231;break i}else p=0}n=f[e>>2]|0;s=f[n+12>>2]|0;if((s|0)==(f[n+16>>2]|0)){m=0;n=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;E=m;m=0;if(E&1){q=24;break i}}else n=f[s>>2]|0;m=0;n=ke(f[(f[u>>2]|0)+12>>2]|0,u|0,2048,n|0)|0;E=m;m=0;if(E&1){q=24;break i}if(!n){q=231;break i}if((f[h>>2]|0)==(f[B>>2]|0)?(m=0,Se(14,d|0,h|0,B|0),E=m,m=0,E&1):0){q=24;break i}n=f[e>>2]|0;s=f[n+12>>2]|0;if((s|0)==(f[n+16>>2]|0)){m=0;n=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;E=m;m=0;if(E&1){q=24;break i}}else n=f[s>>2]|0;s=f[h>>2]|0;f[h>>2]=s+4;f[s>>2]=n;n=v;v=v+-1|0;f[F>>2]=v;s=f[e>>2]|0;k=s+12|0;w=f[k>>2]|0;if((w|0)==(f[s+16>>2]|0)){m=0;he(f[(f[s>>2]|0)+40>>2]|0,s|0)|0;E=m;m=0;if(E&1){q=24;break i}}else f[k>>2]=w+4;if((n|0)<=1)break;else{w=r;s=p}}}}if((f[h>>2]|0)==(f[d>>2]|0)){q=242;break i}break}default:b=k}while(0)r:do if((q|0)==44)while(1){q=0;r=f[e>>2]|0;do if(r){n=f[r+12>>2]|0;if((n|0)==(f[r+16>>2]|0)){m=0;r=he(f[(f[r>>2]|0)+36>>2]|0,r|0)|0;E=m;m=0;if(E&1){q=21;break i}}else r=f[n>>2]|0;if((r|0)==-1){f[e>>2]=0;n=1;break}else{n=(f[e>>2]|0)==0;break}}else n=1;while(0)do if(s){r=f[s+12>>2]|0;if((r|0)==(f[s+16>>2]|0)){m=0;r=he(f[(f[s>>2]|0)+36>>2]|0,s|0)|0;E=m;m=0;if(E&1){q=21;break i}}else r=f[r>>2]|0;if((r|0)!=-1)if(n^(b|0)==0){w=b;s=b;break}else{b=k;break r}else{f[i>>2]=0;b=0;q=57;break}}else q=57;while(0)if((q|0)==57){q=0;if(n){b=k;break r}else{w=b;s=0}}b=f[e>>2]|0;r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){m=0;b=he(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;E=m;m=0;if(E&1){q=21;break i}}else b=f[r>>2]|0;m=0;b=ke(f[(f[u>>2]|0)+12>>2]|0,u|0,8192,b|0)|0;E=m;m=0;if(E&1){q=21;break i}if(!b){b=k;break r}b=f[e>>2]|0;r=b+12|0;n=f[r>>2]|0;if((n|0)==(f[b+16>>2]|0)){m=0;b=he(f[(f[b>>2]|0)+40>>2]|0,b|0)|0;q=m;m=0;if(q&1){q=21;break i}}else{f[r>>2]=n+4;b=f[n>>2]|0}m=0;ce(92,K|0,b|0);q=m;m=0;if(q&1){q=21;break i}else{b=w;q=44}}while(0)A=A+1|0;if(A>>>0>=4){p=b;q=244;break}else k=b}i:switch(q|0){case 21:{r=Ye()|0;break e}case 22:{r=Ye()|0;break e}case 23:{r=Ye()|0;break e}case 24:{r=Ye()|0;break e}case 25:{r=Ye()|0;break e}case 26:{r=Ye()|0;break e}case 42:{f[l>>2]=f[l>>2]|4;r=0;break}case 107:{f[l>>2]=f[l>>2]|4;r=0;break}case 148:{f[l>>2]=f[l>>2]|4;r=0;break}case 206:{f[l>>2]=f[l>>2]|4;r=0;break}case 231:{f[l>>2]=f[l>>2]|4;r=0;break}case 242:{f[l>>2]=f[l>>2]|4;r=0;break}case 244:{r:do if(_){k=_+4|0;w=_+8|0;s=1;t:while(1){b=t[_>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=f[k>>2]|0;if(s>>>0>=b>>>0)break r;b=f[e>>2]|0;do if(b){r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){m=0;b=he(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;h=m;m=0;if(h&1){q=20;break t}}else b=f[r>>2]|0;if((b|0)==-1){f[e>>2]=0;n=1;break}else{n=(f[e>>2]|0)==0;break}}else n=1;while(0)b=f[i>>2]|0;do if(b){r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){m=0;b=he(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;h=m;m=0;if(h&1){q=20;break t}}else b=f[r>>2]|0;if((b|0)!=-1)if(n)break;else{q=271;break t}else{f[i>>2]=0;q=263;break}}else q=263;while(0)if((q|0)==263?(q=0,n):0){q=271;break}b=f[e>>2]|0;r=f[b+12>>2]|0;if((r|0)==(f[b+16>>2]|0)){m=0;b=he(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;h=m;m=0;if(h&1){q=20;break}}else b=f[r>>2]|0;if(!(t[_>>0]&1))r=k;else r=f[w>>2]|0;if((b|0)!=(f[r+(s<<2)>>2]|0)){q=271;break}b=s+1|0;r=f[e>>2]|0;n=r+12|0;s=f[n>>2]|0;if((s|0)==(f[r+16>>2]|0)){m=0;he(f[(f[r>>2]|0)+40>>2]|0,r|0)|0;h=m;m=0;if(h&1){q=20;break}else{s=b;continue}}else{f[n>>2]=s+4;s=b;continue}}if((q|0)==20){r=Ye()|0;break e}else if((q|0)==271){f[l>>2]=f[l>>2]|4;r=0;break i}}while(0)b=f[Z>>2]|0;if((b|0)!=(p|0)?(f[z>>2]=0,Ko(X,b,p,z),(f[z>>2]|0)!=0):0){f[l>>2]=f[l>>2]|4;r=0}else r=1;break}}Vd(K);Vd(G);Vd(V);Vd(W);Od(X);b=f[Z>>2]|0;f[Z>>2]=0;if((b|0)!=0?(m=0,ue(f[Q>>2]|0,b|0),Z=m,m=0,Z&1):0){Z=Ye(0)|0;Fi(Z)}c=J;return r|0}while(0)Vd(K);Vd(G);Vd(V);Vd(W);Od(X);b=f[Z>>2]|0
21
+ ;f[Z>>2]=0;if((b|0)!=0?(m=0,ue(f[Q>>2]|0,b|0),Z=m,m=0,Z&1):0){Z=Ye(0)|0;Fi(Z)}$e(r|0);return 0}function $o(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0;y=c;c=c+432|0;o=y+424|0;e=y+24|0;A=y+16|0;_=y+8|0;b=y+4|0;k=y+428|0;u=y;f[A>>2]=e;T=A+4|0;f[T>>2]=189;d=e+400|0;m=0;g=he(68,a|0)|0;h=m;m=0;if(!(h&1)){f[b>>2]=g;m=0;h=ve(37,b|0,44212)|0;e=m;m=0;e:do if(!(e&1)?(t[k>>0]=0,p=f[r>>2]|0,f[u>>2]=p,w=f[a+4>>2]|0,v=p,m=0,f[o>>2]=f[u>>2],w=be(2,i|0,o|0,n|0,b|0,w|0,s|0,k|0,h|0,A|0,_|0,d|0)|0,a=m,m=0,!(a&1)):0){if(w){if(!(t[l>>0]&1))t[l>>0]=0;else f[f[l+8>>2]>>2]=0;f[l+4>>2]=0;if(t[k>>0]|0){m=0;e=ve(f[(f[h>>2]|0)+44>>2]|0,h|0,45)|0;a=m;m=0;if(a&1)break;m=0;ce(92,l|0,e|0);a=m;m=0;if(a&1)break}m=0;u=ve(f[(f[h>>2]|0)+44>>2]|0,h|0,48)|0;a=m;m=0;if(a&1)break;e=f[A>>2]|0;d=f[_>>2]|0;o=d+-4|0;i:do if(e>>>0<o>>>0)do{if((f[e>>2]|0)!=(u|0))break i;e=e+4|0}while(e>>>0<o>>>0)while(0)m=0;ke(33,l|0,e|0,d|0)|0;l=m;m=0;if(l&1)break}e=f[i>>2]|0;do if(e){o=f[e+12>>2]|0;if((o|0)==(f[e+16>>2]|0)){m=0;e=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;l=m;m=0;if(l&1)break e}else e=f[o>>2]|0;if((e|0)==-1){f[i>>2]=0;o=1;break}else{o=(f[i>>2]|0)==0;break}}else o=1;while(0)do if(p){e=f[v+12>>2]|0;if((e|0)==(f[v+16>>2]|0)){m=0;e=he(f[(f[p>>2]|0)+36>>2]|0,v|0)|0;v=m;m=0;if(v&1)break e}else e=f[e>>2]|0;if((e|0)!=-1)if(o)break;else{S=32;break}else{f[r>>2]=0;S=30;break}}else S=30;while(0)if((S|0)==30?o:0)S=32;if((S|0)==32)f[s>>2]=f[s>>2]|2;o=f[i>>2]|0;bd(g)|0;e=f[A>>2]|0;f[A>>2]=0;if((e|0)!=0?(m=0,ue(f[T>>2]|0,e|0),T=m,m=0,T&1):0){T=Ye(0)|0;Fi(T)}c=y;return o|0}while(0)o=Ye()|0;bd(g)|0;e=f[A>>2]|0;f[A>>2]=0;if(!e)E=o;else S=38}else{o=Ye()|0;f[A>>2]=0;S=38}if((S|0)==38){m=0;ue(f[T>>2]|0,e|0);T=m;m=0;if(T&1){T=Ye(0)|0;Fi(T)}else E=o}$e(E|0);return 0}function eu(e,i,r,n,a,s,l,o,u,d){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;d=d|0;var h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;S=c;c=c+112|0;h=S+100|0;b=S+88|0;k=S+76|0;w=S+64|0;_=S+52|0;p=S+48|0;v=S+36|0;g=S+24|0;y=S+12|0;E=S;do if(e){e=Bu(i,43956)|0;aE[f[(f[e>>2]|0)+44>>2]&127](h,e);E=f[h>>2]|0;t[r>>0]=E;t[r+1>>0]=E>>8;t[r+2>>0]=E>>16;t[r+3>>0]=E>>24;aE[f[(f[e>>2]|0)+32>>2]&127](b,e);if(!(t[u>>0]&1))t[u>>0]=0;else f[f[u+8>>2]>>2]=0;f[u+4>>2]=0;m=0;ce(93,u|0,0);r=m;m=0;if(r&1){r=Ye(0)|0;Fi(r)}f[u>>2]=f[b>>2];f[u+4>>2]=f[b+4>>2];f[u+8>>2]=f[b+8>>2];f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;Vd(b);aE[f[(f[e>>2]|0)+28>>2]&127](k,e);if(!(t[o>>0]&1))t[o>>0]=0;else f[f[o+8>>2]>>2]=0;f[o+4>>2]=0;m=0;ce(93,o|0,0);r=m;m=0;if(r&1){r=Ye(0)|0;Fi(r)}f[o>>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];f[o+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Vd(k);f[n>>2]=lE[f[(f[e>>2]|0)+12>>2]&127](e)|0;f[a>>2]=lE[f[(f[e>>2]|0)+16>>2]&127](e)|0;aE[f[(f[e>>2]|0)+20>>2]&127](w,e);if(!(t[s>>0]&1)){t[s+1>>0]=0;t[s>>0]=0}else{t[f[s+8>>2]>>0]=0;f[s+4>>2]=0}m=0;ce(91,s|0,0);a=m;m=0;if(a&1){a=Ye(0)|0;Fi(a)}f[s>>2]=f[w>>2];f[s+4>>2]=f[w+4>>2];f[s+8>>2]=f[w+8>>2];f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;Od(w);aE[f[(f[e>>2]|0)+24>>2]&127](_,e);if(!(t[l>>0]&1))t[l>>0]=0;else f[f[l+8>>2]>>2]=0;f[l+4>>2]=0;m=0;ce(93,l|0,0);a=m;m=0;if(a&1){a=Ye(0)|0;Fi(a)}else{f[l>>2]=f[_>>2];f[l+4>>2]=f[_+4>>2];f[l+8>>2]=f[_+8>>2];f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;Vd(_);A=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Bu(i,43892)|0;aE[f[(f[e>>2]|0)+44>>2]&127](p,e);p=f[p>>2]|0;t[r>>0]=p;t[r+1>>0]=p>>8;t[r+2>>0]=p>>16;t[r+3>>0]=p>>24;aE[f[(f[e>>2]|0)+32>>2]&127](v,e);if(!(t[u>>0]&1))t[u>>0]=0;else f[f[u+8>>2]>>2]=0;f[u+4>>2]=0;m=0;ce(93,u|0,0);r=m;m=0;if(r&1){r=Ye(0)|0;Fi(r)}f[u>>2]=f[v>>2];f[u+4>>2]=f[v+4>>2];f[u+8>>2]=f[v+8>>2];f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;Vd(v);aE[f[(f[e>>2]|0)+28>>2]&127](g,e);if(!(t[o>>0]&1))t[o>>0]=0;else f[f[o+8>>2]>>2]=0;f[o+4>>2]=0;m=0;ce(93,o|0,0);r=m;m=0;if(r&1){r=Ye(0)|0;Fi(r)}f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Vd(g);f[n>>2]=lE[f[(f[e>>2]|0)+12>>2]&127](e)|0;f[a>>2]=lE[f[(f[e>>2]|0)+16>>2]&127](e)|0;aE[f[(f[e>>2]|0)+20>>2]&127](y,e);if(!(t[s>>0]&1)){t[s+1>>0]=0;t[s>>0]=0}else{t[f[s+8>>2]>>0]=0;f[s+4>>2]=0}m=0;ce(91,s|0,0);a=m;m=0;if(a&1){a=Ye(0)|0;Fi(a)}f[s>>2]=f[y>>2];f[s+4>>2]=f[y+4>>2];f[s+8>>2]=f[y+8>>2];f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;Od(y);aE[f[(f[e>>2]|0)+24>>2]&127](E,e);if(!(t[l>>0]&1))t[l>>0]=0;else f[f[l+8>>2]>>2]=0;f[l+4>>2]=0;m=0;ce(93,l|0,0);a=m;m=0;if(a&1){a=Ye(0)|0;Fi(a)}else{f[l>>2]=f[E>>2];f[l+4>>2]=f[E+4>>2];f[l+8>>2]=f[E+8>>2];f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;Vd(E);A=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}while(0)f[d>>2]=A;c=S;return}function iu(e){e=e|0;return}function ru(e){e=e|0;Iv(e);return}function tu(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=+s;var l=0,o=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0;P=c;c=c+384|0;g=P+8|0;l=P;d=P+284|0;h=P+72|0;o=P+184|0;D=P+68|0;T=P+80|0;E=P+77|0;M=P+76|0;R=P+56|0;L=P+44|0;O=P+32|0;b=P+28|0;v=P+84|0;S=P+24|0;A=P+20|0;y=P+16|0;f[h>>2]=d;u[g>>3]=s;d=Dy(d,100,59018,g)|0;do if(d>>>0>99){m=0;e=Ee(3)|0;C=m;m=0;if(!(C&1)?(m=0,u[l>>3]=s,_=Ae(17,h|0,e|0,59018,l|0)|0,C=m,m=0,!(C&1)):0){e=f[h>>2]|0;if(!e){m=0;Te(6);C=m;m=0;if(C&1){e=0;l=0;C=7;break}e=f[h>>2]|0}o=xc(_)|0;l=o;if(!o){m=0;Te(6);C=m;m=0;if(C&1)C=7;else{p=0;C=10}}else{p=o;C=10}}else{e=0;l=0;C=7}}else{l=0;e=0;p=o;_=d;C=10}while(0)if((C|0)==10){m=0;o=he(68,n|0)|0;w=m;m=0;if(w&1)C=7;else{f[D>>2]=o;m=0;w=ve(37,D|0,44220)|0;k=m;m=0;if(!(k&1)?(k=f[h>>2]|0,m=0,Ae(f[(f[w>>2]|0)+32>>2]|0,w|0,k|0,k+_|0,p|0)|0,k=m,m=0,!(k&1)):0){if(!_)k=0;else k=(t[f[h>>2]>>0]|0)==45;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;m=0;pe(3,r|0,k|0,D|0,T|0,E|0,M|0,R|0,L|0,O|0,b|0);r=m;m=0;if(!(r&1)){b=f[b>>2]|0;if((_|0)>(b|0)){r=t[O>>0]|0;d=t[L>>0]|0;d=(_-b<<1|1)+b+((r&1)==0?(r&255)>>>1:f[O+4>>2]|0)+((d&1)==0?(d&255)>>>1:f[L+4>>2]|0)|0}else{r=t[O>>0]|0;d=t[L>>0]|0;d=b+2+((r&1)==0?(r&255)>>>1:f[O+4>>2]|0)+((d&1)==0?(d&255)>>>1:f[L+4>>2]|0)|0}if(d>>>0>100){d=xc(d)|0;h=d;if(!d){m=0;Te(6);v=m;m=0;if(!(v&1)){d=0;C=26}}else C=26}else{h=0;d=v;C=26}if((C|0)==26){m=0;we(1,d|0,S|0,A|0,f[n+4>>2]|0,p|0,p+_|0,w|0,k|0,T|0,t[E>>0]|0,t[M>>0]|0,R|0,L|0,O|0,b|0);M=m;m=0;if(!(M&1)?(f[y>>2]=f[i>>2],i=f[S>>2]|0,x=f[A>>2]|0,m=0,f[g>>2]=f[y>>2],x=de(39,g|0,d|0,i|0,x|0,n|0,a|0)|0,i=m,m=0,!(i&1)):0){if(h){Dc(h);o=f[D>>2]|0}Od(O);Od(L);Od(R);bd(o)|0;if(l)Dc(l);if(e)Dc(e);c=P;return x|0}}d=Ye()|0;if(h){Dc(h);o=f[D>>2]|0}}else d=Ye()|0;Od(O);Od(L);Od(R)}else d=Ye()|0;bd(o)|0}}if((C|0)==7)d=Ye()|0;if(l)Dc(l);if(e)Dc(e);$e(d|0);return 0}function nu(e,i,r,n,a,s,l,o,u,d){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;d=d|0;var h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;P=c;c=c+112|0;k=P+108|0;w=P+96|0;v=P+92|0;g=P+80|0;y=P+68|0;E=P+56|0;A=P+52|0;S=P+40|0;T=P+36|0;M=P+24|0;_=P+12|0;p=P;do if(e){e=Bu(r,43828)|0;r=f[e>>2]|0;do if(i){aE[f[r+44>>2]&127](k,e);i=f[k>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aE[f[(f[e>>2]|0)+32>>2]&127](w,e);if(!(t[u>>0]&1)){t[u+1>>0]=0;t[u>>0]=0}else{t[f[u+8>>2]>>0]=0;f[u+4>>2]=0}m=0;ce(91,u|0,0);n=m;m=0;if(n&1){u=Ye(0)|0;Fi(u)}else{f[u>>2]=f[w>>2];f[u+4>>2]=f[w+4>>2];f[u+8>>2]=f[w+8>>2];f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;Od(w);b=e;break}}else{aE[f[r+40>>2]&127](v,e);i=f[v>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aE[f[(f[e>>2]|0)+28>>2]&127](g,e);if(!(t[u>>0]&1)){t[u+1>>0]=0;t[u>>0]=0}else{t[f[u+8>>2]>>0]=0;f[u+4>>2]=0}m=0;ce(91,u|0,0);n=m;m=0;if(n&1){u=Ye(0)|0;Fi(u)}else{f[u>>2]=f[g>>2];f[u+4>>2]=f[g+4>>2];f[u+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Od(g);b=e;break}}while(0)t[a>>0]=lE[f[(f[e>>2]|0)+12>>2]&127](e)|0;t[s>>0]=lE[f[(f[e>>2]|0)+16>>2]&127](e)|0;aE[f[(f[b>>2]|0)+20>>2]&127](y,e);if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}m=0;ce(91,l|0,0);s=m;m=0;if(s&1){s=Ye(0)|0;Fi(s)}f[l>>2]=f[y>>2];f[l+4>>2]=f[y+4>>2];f[l+8>>2]=f[y+8>>2];f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;Od(y);aE[f[(f[b>>2]|0)+24>>2]&127](E,e);if(!(t[o>>0]&1)){t[o+1>>0]=0;t[o>>0]=0}else{t[f[o+8>>2]>>0]=0;f[o+4>>2]=0}m=0;ce(91,o|0,0);s=m;m=0;if(s&1){s=Ye(0)|0;Fi(s)}else{f[o>>2]=f[E>>2];f[o+4>>2]=f[E+4>>2];f[o+8>>2]=f[E+8>>2];f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;Od(E);C=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Bu(r,43764)|0;r=f[e>>2]|0;do if(i){aE[f[r+44>>2]&127](A,e);i=f[A>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aE[f[(f[e>>2]|0)+32>>2]&127](S,e);if(!(t[u>>0]&1)){t[u+1>>0]=0;t[u>>0]=0}else{t[f[u+8>>2]>>0]=0;f[u+4>>2]=0}m=0;ce(91,u|0,0);n=m;m=0;if(n&1){u=Ye(0)|0;Fi(u)}else{f[u>>2]=f[S>>2];f[u+4>>2]=f[S+4>>2];f[u+8>>2]=f[S+8>>2];f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;Od(S);h=e;break}}else{aE[f[r+40>>2]&127](T,e);i=f[T>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aE[f[(f[e>>2]|0)+28>>2]&127](M,e);if(!(t[u>>0]&1)){t[u+1>>0]=0;t[u>>0]=0}else{t[f[u+8>>2]>>0]=0;f[u+4>>2]=0}m=0;ce(91,u|0,0);n=m;m=0;if(n&1){u=Ye(0)|0;Fi(u)}else{f[u>>2]=f[M>>2];f[u+4>>2]=f[M+4>>2];f[u+8>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;Od(M);h=e;break}}while(0)t[a>>0]=lE[f[(f[e>>2]|0)+12>>2]&127](e)|0;t[s>>0]=lE[f[(f[e>>2]|0)+16>>2]&127](e)|0;aE[f[(f[h>>2]|0)+20>>2]&127](_,e);if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}m=0;ce(91,l|0,0);s=m;m=0;if(s&1){s=Ye(0)|0;Fi(s)}f[l>>2]=f[_>>2];f[l+4>>2]=f[_+4>>2];f[l+8>>2]=f[_+8>>2];f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;Od(_);aE[f[(f[h>>2]|0)+24>>2]&127](p,e);if(!(t[o>>0]&1)){t[o+1>>0]=0;t[o>>0]=0}else{t[f[o+8>>2]>>0]=0;f[o+4>>2]=0}m=0;ce(91,o|0,0);s=m;m=0;if(s&1){s=Ye(0)|0;Fi(s)}else{f[o>>2]=f[p>>2];f[o+4>>2]=f[p+4>>2];f[o+8>>2]=f[p+8>>2];f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;Od(p);C=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}while(0)f[d>>2]=C;c=P;return}function fu(e,i,r,a,s,l,o,u,c,d,h,b,k,w,m){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;d=d|0;h=h|0;b=b|0;k=k|0;w=w|0;m=m|0;var _=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0;f[r>>2]=e;j=w+4|0;U=w+8|0;H=w+1|0;O=k+4|0;L=(a&512|0)==0;I=k+8|0;B=k+1|0;N=o+8|0;F=(m|0)>0;T=b+4|0;M=b+8|0;C=b+1|0;P=m+1|0;D=-2-m-((m|0)<0?~m:-1)|0;R=(m|0)>0;S=0;do{switch(t[c+S>>0]|0){case 0:{f[i>>2]=f[r>>2];break}case 1:{f[i>>2]=f[r>>2];E=kE[f[(f[o>>2]|0)+28>>2]&63](o,32)|0;A=f[r>>2]|0;f[r>>2]=A+1;t[A>>0]=E;break}case 3:{A=t[w>>0]|0;_=(A&1)==0;if((_?(A&255)>>>1:f[j>>2]|0)|0){E=t[(_?H:f[U>>2]|0)>>0]|0;A=f[r>>2]|0;f[r>>2]=A+1;t[A>>0]=E}break}case 2:{v=t[k>>0]|0;_=(v&1)==0;v=_?(v&255)>>>1:f[O>>2]|0;if(!(L|(v|0)==0)){p=_?B:f[I>>2]|0;g=p+v|0;_=f[r>>2]|0;if(v)do{t[_>>0]=t[p>>0]|0;p=p+1|0;_=_+1|0}while((p|0)!=(g|0))f[r>>2]=_}break}case 4:{_=f[r>>2]|0;s=u?s+1|0:s;y=s;g=f[N>>2]|0;e:do if(s>>>0<l>>>0){p=s;do{v=t[p>>0]|0;if(v<<24>>24<=-1)break e;if(!(n[g+(v<<24>>24<<1)>>1]&2048))break e;p=p+1|0}while(p>>>0<l>>>0)}else p=s;while(0)v=p;if(F){E=-2-v-~(v>>>0>y>>>0?y:v)|0;E=D>>>0>E>>>0?D:E;if(p>>>0>s>>>0&R){v=p;y=m;while(1){v=v+-1|0;A=t[v>>0]|0;g=f[r>>2]|0;f[r>>2]=g+1;t[g>>0]=A;g=(y|0)>1;if(!(v>>>0>s>>>0&g))break;else y=y+-1|0}}else g=R;A=P+E|0;v=p+(E+1)|0;if(g)y=kE[f[(f[o>>2]|0)+28>>2]&63](o,48)|0;else y=0;p=f[r>>2]|0;f[r>>2]=p+1;if((A|0)>0){g=A;while(1){t[p>>0]=y;p=f[r>>2]|0;f[r>>2]=p+1;if((g|0)>1)g=g+-1|0;else break}}t[p>>0]=d}else v=p;if((v|0)!=(s|0)){A=t[b>>0]|0;p=(A&1)==0;if(!((p?(A&255)>>>1:f[T>>2]|0)|0))p=-1;else p=t[(p?C:f[M>>2]|0)>>0]|0;if((v|0)!=(s|0)){g=0;y=0;while(1){if((y|0)==(p|0)){A=f[r>>2]|0;f[r>>2]=A+1;t[A>>0]=h;g=g+1|0;A=t[b>>0]|0;p=(A&1)==0;if(g>>>0<(p?(A&255)>>>1:f[T>>2]|0)>>>0){p=t[(p?C:f[M>>2]|0)+g>>0]|0;p=p<<24>>24==127?-1:p<<24>>24;y=0}else{p=y;y=0}}v=v+-1|0;E=t[v>>0]|0;A=f[r>>2]|0;f[r>>2]=A+1;t[A>>0]=E;if((v|0)==(s|0))break;else y=y+1|0}}}else{E=kE[f[(f[o>>2]|0)+28>>2]&63](o,48)|0;A=f[r>>2]|0;f[r>>2]=A+1;t[A>>0]=E}p=f[r>>2]|0;if((_|0)!=(p|0)?(x=p+-1|0,_>>>0<x>>>0):0){p=x;do{A=t[_>>0]|0;t[_>>0]=t[p>>0]|0;t[p>>0]=A;_=_+1|0;p=p+-1|0}while(_>>>0<p>>>0)}break}default:{}}S=S+1|0}while((S|0)!=4)p=t[w>>0]|0;s=(p&1)==0;p=s?(p&255)>>>1:f[j>>2]|0;if(p>>>0>1){_=s?H:f[U>>2]|0;v=_+p|0;s=f[r>>2]|0;if((p|0)!=1){_=_+1|0;do{t[s>>0]=t[_>>0]|0;s=s+1|0;_=_+1|0}while((_|0)!=(v|0))}f[r>>2]=s}switch(a&176|0){case 32:{f[i>>2]=f[r>>2];break}case 16:break;default:f[i>>2]=e}return}function au(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0;S=c;c=c+176|0;w=S+56|0;M=S+52|0;E=S+64|0;v=S+61|0;A=S+60|0;C=S+40|0;x=S+28|0;P=S+16|0;d=S+12|0;k=S+68|0;y=S+8|0;g=S+4|0;_=S;e=sh(n)|0;f[M>>2]=e;m=0;p=ve(37,M|0,44220)|0;b=m;m=0;do if(b&1)D=13;else{h=t[s>>0]|0;l=(h&1)==0;b=s+4|0;if(!((l?(h&255)>>>1:f[b>>2]|0)|0))h=0;else{l=t[(l?s+1|0:f[s+8>>2]|0)>>0]|0;m=0;o=ve(f[(f[p>>2]|0)+28>>2]|0,p|0,45)|0;h=m;m=0;if(h&1){D=13;break}h=l<<24>>24==o<<24>>24}f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;m=0;pe(3,r|0,h|0,M|0,E|0,v|0,A|0,C|0,x|0,P|0,d|0);u=m;m=0;if(!(u&1)){u=t[s>>0]|0;r=f[b>>2]|0;l=(u&1)==0?(u&255)>>>1:r;d=f[d>>2]|0;if((l|0)>(d|0)){R=t[P>>0]|0;o=t[x>>0]|0;l=(l-d<<1|1)+d+((R&1)==0?(R&255)>>>1:f[P+4>>2]|0)+((o&1)==0?(o&255)>>>1:f[x+4>>2]|0)|0}else{R=t[P>>0]|0;l=t[x>>0]|0;l=d+2+((R&1)==0?(R&255)>>>1:f[P+4>>2]|0)+((l&1)==0?(l&255)>>>1:f[x+4>>2]|0)|0}if(l>>>0>100){l=xc(l)|0;o=l;if(!l){m=0;Te(6);R=m;m=0;if(!(R&1)){u=t[s>>0]|0;r=f[b>>2]|0;l=0;D=17}}else D=17}else{o=0;l=k;D=17}if((D|0)==17){R=(u&1)==0;s=R?s+1|0:f[s+8>>2]|0;m=0;we(1,l|0,y|0,g|0,f[n+4>>2]|0,s|0,s+(R?(u&255)>>>1:r)|0,p|0,h|0,E|0,t[v>>0]|0,t[A>>0]|0,C|0,x|0,P|0,d|0);R=m;m=0;if(!(R&1)?(f[_>>2]=f[i>>2],R=f[y>>2]|0,T=f[g>>2]|0,m=0,f[w>>2]=f[_>>2],T=de(39,w|0,l|0,R|0,T|0,n|0,a|0)|0,R=m,m=0,!(R&1)):0){if(o){Dc(o);e=f[M>>2]|0}Od(P);Od(x);Od(C);bd(e)|0;c=S;return T|0}}l=Ye()|0;if(o){Dc(o);e=f[M>>2]|0}}else l=Ye()|0;Od(P);Od(x);Od(C)}while(0)if((D|0)==13)l=Ye()|0;bd(e)|0;$e(l|0);return 0}function su(e){e=e|0;return}function lu(e){e=e|0;Iv(e);return}function ou(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=+s;var l=0,o=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0;P=c;c=c+992|0;g=P+8|0;l=P;d=P+888|0;h=P+880|0;o=P+480|0;D=P+76|0;T=P+884|0;E=P+72|0;M=P+68|0;R=P+56|0;L=P+44|0;O=P+32|0;b=P+28|0;v=P+80|0;S=P+24|0;A=P+20|0;y=P+16|0;f[h>>2]=d;u[g>>3]=s;d=Dy(d,100,59018,g)|0;do if(d>>>0>99){m=0;e=Ee(3)|0;C=m;m=0;if(!(C&1)?(m=0,u[l>>3]=s,_=Ae(17,h|0,e|0,59018,l|0)|0,C=m,m=0,!(C&1)):0){e=f[h>>2]|0;if(!e){m=0;Te(6);C=m;m=0;if(C&1){e=0;l=0;C=7;break}e=f[h>>2]|0}o=xc(_<<2)|0;l=o;if(!o){m=0;Te(6);C=m;m=0;if(C&1)C=7;else{p=0;C=10}}else{p=o;C=10}}else{e=0;l=0;C=7}}else{l=0;e=0;p=o;_=d;C=10}while(0)if((C|0)==10){m=0;o=he(68,n|0)|0;w=m;m=0;if(w&1)C=7;else{f[D>>2]=o;m=0;w=ve(37,D|0,44212)|0;k=m;m=0;if(!(k&1)?(k=f[h>>2]|0,m=0,Ae(f[(f[w>>2]|0)+48>>2]|0,w|0,k|0,k+_|0,p|0)|0,k=m,m=0,!(k&1)):0){if(!_)k=0;else k=(t[f[h>>2]>>0]|0)==45;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;m=0;pe(4,r|0,k|0,D|0,T|0,E|0,M|0,R|0,L|0,O|0,b|0);r=m;m=0;if(!(r&1)){b=f[b>>2]|0;if((_|0)>(b|0)){r=t[O>>0]|0;d=t[L>>0]|0;d=(_-b<<1|1)+b+((r&1)==0?(r&255)>>>1:f[O+4>>2]|0)+((d&1)==0?(d&255)>>>1:f[L+4>>2]|0)|0}else{r=t[O>>0]|0;d=t[L>>0]|0;d=b+2+((r&1)==0?(r&255)>>>1:f[O+4>>2]|0)+((d&1)==0?(d&255)>>>1:f[L+4>>2]|0)|0}if(d>>>0>100){d=xc(d<<2)|0;h=d;if(!d){m=0;Te(6);v=m;m=0;if(!(v&1)){d=0;C=26}}else C=26}else{h=0;d=v;C=26}if((C|0)==26){m=0;we(2,d|0,S|0,A|0,f[n+4>>2]|0,p|0,p+(_<<2)|0,w|0,k|0,T|0,f[E>>2]|0,f[M>>2]|0,R|0,L|0,O|0,b|0);M=m;m=0;if(!(M&1)?(f[y>>2]=f[i>>2],i=f[S>>2]|0,x=f[A>>2]|0,m=0,f[g>>2]=f[y>>2],x=de(40,g|0,d|0,i|0,x|0,n|0,a|0)|0,i=m,m=0,!(i&1)):0){if(h){Dc(h);o=f[D>>2]|0}Vd(O);Vd(L);Od(R);bd(o)|0;if(l)Dc(l);if(e)Dc(e);c=P;return x|0}}d=Ye()|0;if(h){Dc(h);o=f[D>>2]|0}}else d=Ye()|0;Vd(O);Vd(L);Od(R)}else d=Ye()|0;bd(o)|0}}if((C|0)==7)d=Ye()|0;if(l)Dc(l);if(e)Dc(e);$e(d|0);return 0}function uu(e,i,r,n,a,s,l,o,u,d){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;d=d|0;var h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0;M=c;c=c+112|0;h=M+108|0;b=M+96|0;_=M+92|0;p=M+80|0;v=M+68|0;g=M+56|0;y=M+52|0;E=M+40|0;A=M+36|0;S=M+24|0;k=M+12|0;w=M;do if(e){e=Bu(r,43956)|0;r=f[e>>2]|0;do if(i){aE[f[r+44>>2]&127](h,e);i=f[h>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aE[f[(f[e>>2]|0)+32>>2]&127](b,e);if(!(t[u>>0]&1))t[u>>0]=0;else f[f[u+8>>2]>>2]=0;f[u+4>>2]=0;m=0;ce(93,u|0,0);n=m;m=0;if(n&1){u=Ye(0)|0;Fi(u)}else{f[u>>2]=f[b>>2];f[u+4>>2]=f[b+4>>2];f[u+8>>2]=f[b+8>>2];f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;Vd(b);break}}else{aE[f[r+40>>2]&127](_,e);i=f[_>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aE[f[(f[e>>2]|0)+28>>2]&127](p,e);if(!(t[u>>0]&1))t[u>>0]=0;else f[f[u+8>>2]>>2]=0;f[u+4>>2]=0;m=0;ce(93,u|0,0);n=m;m=0;if(n&1){u=Ye(0)|0;Fi(u)}else{f[u>>2]=f[p>>2];f[u+4>>2]=f[p+4>>2];f[u+8>>2]=f[p+8>>2];f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;Vd(p);break}}while(0)f[a>>2]=lE[f[(f[e>>2]|0)+12>>2]&127](e)|0;f[s>>2]=lE[f[(f[e>>2]|0)+16>>2]&127](e)|0;aE[f[(f[e>>2]|0)+20>>2]&127](v,e);if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}m=0;ce(91,l|0,0);s=m;m=0;if(s&1){s=Ye(0)|0;Fi(s)}f[l>>2]=f[v>>2];f[l+4>>2]=f[v+4>>2];f[l+8>>2]=f[v+8>>2];f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;Od(v);aE[f[(f[e>>2]|0)+24>>2]&127](g,e);if(!(t[o>>0]&1))t[o>>0]=0;else f[f[o+8>>2]>>2]=0;f[o+4>>2]=0;m=0;ce(93,o|0,0);s=m;m=0;if(s&1){s=Ye(0)|0;Fi(s)}else{f[o>>2]=f[g>>2];f[o+4>>2]=f[g+4>>2];f[o+8>>2]=f[g+8>>2];f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Vd(g);T=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Bu(r,43892)|0;r=f[e>>2]|0;do if(i){aE[f[r+44>>2]&127](y,e);i=f[y>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aE[f[(f[e>>2]|0)+32>>2]&127](E,e);if(!(t[u>>0]&1))t[u>>0]=0;else f[f[u+8>>2]>>2]=0;f[u+4>>2]=0;m=0;ce(93,u|0,0);n=m;m=0;if(n&1){u=Ye(0)|0;Fi(u)}else{f[u>>2]=f[E>>2];f[u+4>>2]=f[E+4>>2];f[u+8>>2]=f[E+8>>2];f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;Vd(E);break}}else{aE[f[r+40>>2]&127](A,e);i=f[A>>2]|0;t[n>>0]=i;t[n+1>>0]=i>>8;t[n+2>>0]=i>>16;t[n+3>>0]=i>>24;aE[f[(f[e>>2]|0)+28>>2]&127](S,e);if(!(t[u>>0]&1))t[u>>0]=0;else f[f[u+8>>2]>>2]=0;f[u+4>>2]=0;m=0;ce(93,u|0,0);n=m;m=0;if(n&1){u=Ye(0)|0;Fi(u)}else{f[u>>2]=f[S>>2];f[u+4>>2]=f[S+4>>2];f[u+8>>2]=f[S+8>>2];f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;Vd(S);break}}while(0)f[a>>2]=lE[f[(f[e>>2]|0)+12>>2]&127](e)|0;f[s>>2]=lE[f[(f[e>>2]|0)+16>>2]&127](e)|0;aE[f[(f[e>>2]|0)+20>>2]&127](k,e);if(!(t[l>>0]&1)){t[l+1>>0]=0;t[l>>0]=0}else{t[f[l+8>>2]>>0]=0;f[l+4>>2]=0}m=0;ce(91,l|0,0);s=m;m=0;if(s&1){s=Ye(0)|0;Fi(s)}f[l>>2]=f[k>>2];f[l+4>>2]=f[k+4>>2];f[l+8>>2]=f[k+8>>2];f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Od(k);aE[f[(f[e>>2]|0)+24>>2]&127](w,e);if(!(t[o>>0]&1))t[o>>0]=0;else f[f[o+8>>2]>>2]=0;f[o+4>>2]=0;m=0;ce(93,o|0,0);s=m;m=0;if(s&1){s=Ye(0)|0;Fi(s)}else{f[o>>2]=f[w>>2];f[o+4>>2]=f[w+4>>2];f[o+8>>2]=f[w+8>>2];f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;Vd(w);T=lE[f[(f[e>>2]|0)+36>>2]&127](e)|0;break}}while(0)f[d>>2]=T;c=M;return}function cu(e,i,r,n,a,s,l,o,u,c,d,h,b,k,w){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;d=d|0;h=h|0;b=b|0;k=k|0;w=w|0;var m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0;f[r>>2]=e;I=k+4|0;B=k+8|0;C=b+4|0;P=(n&512|0)==0;x=b+8|0;D=(w|0)>0;R=h+4|0;O=h+8|0;L=h+1|0;T=(w|0)>0;S=0;do{switch(t[u+S>>0]|0){case 0:{f[i>>2]=f[r>>2];break}case 1:{f[i>>2]=f[r>>2];E=kE[f[(f[l>>2]|0)+44>>2]&63](l,32)|0;A=f[r>>2]|0;f[r>>2]=A+4;f[A>>2]=E;break}case 3:{A=t[k>>0]|0;m=(A&1)==0;if((m?(A&255)>>>1:f[I>>2]|0)|0){E=f[(m?I:f[B>>2]|0)>>2]|0;A=f[r>>2]|0;f[r>>2]=A+4;f[A>>2]=E}break}case 2:{g=t[b>>0]|0;m=(g&1)==0;g=m?(g&255)>>>1:f[C>>2]|0;if(!(P|(g|0)==0)){m=m?C:f[x>>2]|0;p=m+(g<<2)|0;v=f[r>>2]|0;if(g){_=v;while(1){f[_>>2]=f[m>>2];m=m+4|0;if((m|0)==(p|0))break;else _=_+4|0}}f[r>>2]=v+(g<<2)}break}case 4:{m=f[r>>2]|0;a=o?a+4|0:a;e:do if(a>>>0<s>>>0){_=a;do{if(!(uE[f[(f[l>>2]|0)+12>>2]&63](l,2048,f[_>>2]|0)|0))break e;_=_+4|0}while(_>>>0<s>>>0)}else _=a;while(0)if(D){if(_>>>0>a>>>0&T){g=f[r>>2]|0;v=w;while(1){_=_+-4|0;p=g+4|0;f[g>>2]=f[_>>2];y=v+-1|0;v=(v|0)>1;if(_>>>0>a>>>0&v){g=p;v=y}else{g=y;break}}f[r>>2]=p;p=g}else{v=T;p=w}if(v)y=kE[f[(f[l>>2]|0)+44>>2]&63](l,48)|0;else y=0;E=f[r>>2]|0;v=p+((p|0)<0?~p:-1)|0;if((p|0)>0){g=E;while(1){f[g>>2]=y;if((p|0)>1){g=g+4|0;p=p+-1|0}else break}}f[r>>2]=E+(v+2<<2);f[E+(v+1<<2)>>2]=c}if((_|0)==(a|0)){E=kE[f[(f[l>>2]|0)+44>>2]&63](l,48)|0;A=f[r>>2]|0;_=A+4|0;f[r>>2]=_;f[A>>2]=E}else{E=t[h>>0]|0;p=(E&1)==0;A=f[R>>2]|0;if(!((p?(E&255)>>>1:A)|0))p=-1;else p=t[(p?L:f[O>>2]|0)>>0]|0;if((_|0)!=(a|0)){y=0;E=0;while(1){v=f[r>>2]|0;if((E|0)==(p|0)){g=v+4|0;f[r>>2]=g;f[v>>2]=d;y=y+1|0;v=t[h>>0]|0;p=(v&1)==0;if(y>>>0<(p?(v&255)>>>1:A)>>>0){p=t[(p?L:f[O>>2]|0)+y>>0]|0;v=g;p=p<<24>>24==127?-1:p<<24>>24;g=0}else{v=g;p=E;g=0}}else g=E;_=_+-4|0;E=f[_>>2]|0;f[r>>2]=v+4;f[v>>2]=E;if((_|0)==(a|0))break;else E=g+1|0}}_=f[r>>2]|0}if((m|0)!=(_|0)?(M=_+-4|0,m>>>0<M>>>0):0){_=M;do{A=f[m>>2]|0;f[m>>2]=f[_>>2];f[_>>2]=A;m=m+4|0;_=_+-4|0}while(m>>>0<_>>>0)}break}default:{}}S=S+1|0}while((S|0)!=4)m=t[k>>0]|0;a=(m&1)==0;m=a?(m&255)>>>1:f[I>>2]|0;if(m>>>0>1){_=a?I:f[B>>2]|0;a=_+4|0;_=_+(m<<2)|0;p=f[r>>2]|0;v=_-a|0;if((m|0)!=1){m=p;while(1){f[m>>2]=f[a>>2];a=a+4|0;if((a|0)==(_|0))break;else m=m+4|0}}f[r>>2]=p+(v>>>2<<2)}switch(n&176|0){case 32:{f[i>>2]=f[r>>2];break}case 16:break;default:f[i>>2]=e}return}function du(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0;S=c;c=c+480|0;k=S+468|0;M=S+464|0;E=S+472|0;v=S+56|0;A=S+52|0;C=S+40|0;x=S+28|0;P=S+16|0;d=S+12|0;b=S+64|0;y=S+8|0;g=S+4|0;w=S;e=sh(n)|0;f[M>>2]=e;m=0;_=ve(37,M|0,44212)|0;p=m;m=0;do if(p&1)D=13;else{h=t[s>>0]|0;l=(h&1)==0;p=s+4|0;if(!((l?(h&255)>>>1:f[p>>2]|0)|0))h=0;else{l=f[(l?p:f[s+8>>2]|0)>>2]|0;m=0;o=ve(f[(f[_>>2]|0)+44>>2]|0,_|0,45)|0;h=m;m=0;if(h&1){D=13;break}h=(l|0)==(o|0)}f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;m=0;pe(4,r|0,h|0,M|0,E|0,v|0,A|0,C|0,x|0,P|0,d|0);u=m;m=0;if(!(u&1)){u=t[s>>0]|0;r=f[p>>2]|0;l=(u&1)==0?(u&255)>>>1:r;d=f[d>>2]|0;if((l|0)>(d|0)){R=t[P>>0]|0;o=t[x>>0]|0;l=(l-d<<1|1)+d+((R&1)==0?(R&255)>>>1:f[P+4>>2]|0)+((o&1)==0?(o&255)>>>1:f[x+4>>2]|0)|0}else{R=t[P>>0]|0;l=t[x>>0]|0;l=d+2+((R&1)==0?(R&255)>>>1:f[P+4>>2]|0)+((l&1)==0?(l&255)>>>1:f[x+4>>2]|0)|0}if(l>>>0>100){l=xc(l<<2)|0;o=l;if(!l){m=0;Te(6);R=m;m=0;if(!(R&1)){u=t[s>>0]|0;r=f[p>>2]|0;l=0;D=17}}else D=17}else{o=0;l=b;D=17}if((D|0)==17){R=(u&1)==0;s=R?p:f[s+8>>2]|0;m=0;we(2,l|0,y|0,g|0,f[n+4>>2]|0,s|0,s+((R?(u&255)>>>1:r)<<2)|0,_|0,h|0,E|0,f[v>>2]|0,f[A>>2]|0,C|0,x|0,P|0,d|0);R=m;m=0;if(!(R&1)?(f[w>>2]=f[i>>2],R=f[y>>2]|0,T=f[g>>2]|0,m=0,f[k>>2]=f[w>>2],T=de(40,k|0,l|0,R|0,T|0,n|0,a|0)|0,R=m,m=0,!(R&1)):0){if(o){Dc(o);e=f[M>>2]|0}Vd(P);Vd(x);Od(C);bd(e)|0;c=S;return T|0}}l=Ye()|0;if(o){Dc(o);e=f[M>>2]|0}}else l=Ye()|0;Vd(P);Vd(x);Od(C)}while(0)if((D|0)==13)l=Ye()|0;bd(e)|0;$e(l|0);return 0}function hu(e){e=e|0;return}function bu(e){e=e|0;Iv(e);return}function ku(e,i,r){e=e|0;i=i|0;r=r|0;e=zg((t[i>>0]&1)==0?i+1|0:f[i+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function wu(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0;o=c;c=c+16|0;u=o;f[u>>2]=0;f[u+4>>2]=0;f[u+8>>2]=0;l=t[s>>0]|0;d=(l&1)==0;i=d?s+1|0:f[s+8>>2]|0;l=d?(l&255)>>>1:f[s+4>>2]|0;s=i+l|0;e:do if((l|0)>0){while(1){m=0;ce(67,u|0,t[i>>0]|0);d=m;m=0;if(d&1)break;i=i+1|0;if(i>>>0>=s>>>0){l=4;break e}}i=Ye()|0;l=7}else l=4;while(0)e:do if((l|0)==4){m=0;i=Ae(19,((r|0)==-1?-1:r<<1)|0,n|0,a|0,((t[u>>0]&1)==0?u+1|0:f[u+8>>2]|0)|0)|0;d=m;m=0;if(d&1){i=Ye()|0;l=7;break}f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;d=Gy(i)|0;s=i+d|0;i:do if((d|0)>0){while(1){m=0;ce(67,e|0,t[i>>0]|0);d=m;m=0;if(d&1)break;i=i+1|0;if(i>>>0>=s>>>0)break i}i=Ye()|0;Od(e);break e}while(0)Od(u);c=o;return}while(0)Od(u);$e(i|0)}function mu(e,i){e=e|0;i=i|0;return}function _u(e){e=e|0;return}function pu(e){e=e|0;Iv(e);return}function vu(e,i,r){e=e|0;i=i|0;r=r|0;e=zg((t[i>>0]&1)==0?i+1|0:f[i+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function gu(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0;y=c;c=c+224|0;b=y+184|0;h=y+192|0;d=y+180|0;k=y+176|0;v=y+168|0;p=y+40|0;_=y+32|0;g=y+28|0;E=y+16|0;u=y+8|0;w=y;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[u+4>>2]=0;f[u>>2]=44696;o=t[s>>0]|0;A=(o&1)==0;l=s+4|0;i=A?l:f[s+8>>2]|0;s=A?(o&255)>>>1:f[l>>2]|0;l=i+(s<<2)|0;o=h+32|0;e:do if((s|0)>0){i:while(1){f[k>>2]=i;m=0;s=Me(f[(f[u>>2]|0)+12>>2]|0,u|0,b|0,i|0,l|0,k|0,h|0,o|0,d|0)|0;A=m;m=0;if(A&1){s=12;break}if((s|0)==2?1:(f[k>>2]|0)==(i|0)){s=5;break}if(h>>>0<(f[d>>2]|0)>>>0){i=h;do{m=0;ce(67,E|0,t[i>>0]|0);A=m;m=0;if(A&1){s=11;break i}i=i+1|0}while(i>>>0<(f[d>>2]|0)>>>0)}i=f[k>>2]|0;if(!((s|0)!=2&i>>>0<l>>>0)){s=9;break e}}if((s|0)==5){m=0;ue(190,58955);m=0;i=Ye()|0}else if((s|0)==11)i=Ye()|0;else if((s|0)==12)i=Ye()|0}else s=9;while(0)e:do if((s|0)==9){m=0;i=Ae(19,((r|0)==-1?-1:r<<1)|0,n|0,a|0,((t[E>>0]&1)==0?E+1|0:f[E+8>>2]|0)|0)|0;A=m;m=0;if(A&1){i=Ye()|0;break}f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[w+4>>2]=0;f[w>>2]=44744;A=Gy(i)|0;l=i+A|0;o=l;u=p+128|0;i:do if((A|0)>0){r:while(1){f[g>>2]=i;m=0;s=Me(f[(f[w>>2]|0)+16>>2]|0,w|0,v|0,i|0,((o-i|0)>32?i+32|0:l)|0,g|0,p|0,u|0,_|0)|0;A=m;m=0;if(A&1){s=24;break}if((s|0)==2?1:(f[g>>2]|0)==(i|0)){s=18;break}if(p>>>0<(f[_>>2]|0)>>>0){i=p;do{m=0;ce(92,e|0,f[i>>2]|0);A=m;m=0;if(A&1){s=23;break r}i=i+4|0}while(i>>>0<(f[_>>2]|0)>>>0)}i=f[g>>2]|0;if(!((s|0)!=2&i>>>0<l>>>0))break i}if((s|0)==18){m=0;ue(190,58955);m=0;i=Ye()|0}else if((s|0)==23)i=Ye()|0;else if((s|0)==24)i=Ye()|0;Vd(e);break e}while(0)Od(E);c=y;return}while(0)Od(E);$e(i|0)}function yu(e,i){e=e|0;i=i|0;return}function Eu(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0;f[e+4>>2]=i+-1;f[e>>2]=44196;s=e+8|0;m=0;ce(94,s|0,28);a=m;m=0;if(a&1)i=Ye()|0;else{a=e+144|0;m=0;Se(5,a|0,58885,1);n=m;m=0;if(n&1)i=Ye()|0;else{r=f[s>>2]|0;n=e+12|0;i=f[n>>2]|0;if((i|0)!=(r|0)){do i=i+-4|0;while((i|0)!=(r|0))f[n>>2]=i}f[495]=0;f[494]=43124;m=0;ce(95,e|0,1976);n=m;m=0;do if(((((((((((((!(n&1)?(f[497]=0,f[496]=43164,m=0,ce(96,e|0,1984),n=m,m=0,!(n&1)):0)?(f[499]=0,f[498]=44236,f[500]=0,t[2004]=0,f[500]=Yu()|0,m=0,ce(97,e|0,1992),n=m,m=0,!(n&1)):0)?(f[503]=0,f[502]=44484,m=0,ce(98,e|0,2008),n=m,m=0,!(n&1)):0)?(f[505]=0,f[504]=44552,m=0,ce(99,e|0,2016),n=m,m=0,!(n&1)):0)?(m=0,ce(100,2024,1),n=m,m=0,!(n&1)):0)?(m=0,ce(101,e|0,2024),n=m,m=0,!(n&1)):0)?(f[511]=0,f[510]=44600,m=0,ce(102,e|0,2040),n=m,m=0,!(n&1)):0)?(f[513]=0,f[512]=44648,m=0,ce(103,e|0,2048),n=m,m=0,!(n&1)):0)?(fw(2056,1),m=0,ce(104,e|0,2056),n=m,m=0,!(n&1)):0)?(aw(2080,1),m=0,ce(105,e|0,2080),n=m,m=0,!(n&1)):0)?(f[529]=0,f[528]=43204,m=0,ce(106,e|0,2112),n=m,m=0,!(n&1)):0)?(f[531]=0,f[530]=43276,m=0,ce(107,e|0,2120),n=m,m=0,!(n&1)):0)?(f[533]=0,f[532]=43348,m=0,ce(108,e|0,2128),n=m,m=0,!(n&1)):0){f[535]=0;f[534]=43408;m=0;ce(109,e|0,2136);n=m;m=0;if(n&1){l=42;break}f[537]=0;f[536]=43716;m=0;ce(110,e|0,2144);n=m;m=0;if(n&1){l=42;break}f[539]=0;f[538]=43780;m=0;ce(111,e|0,2152);n=m;m=0;if(n&1){l=42;break}f[541]=0;f[540]=43844;m=0;ce(112,e|0,2160);n=m;m=0;if(n&1){l=42;break}f[543]=0;f[542]=43908;m=0;ce(113,e|0,2168);n=m;m=0;if(n&1){l=42;break}f[545]=0;f[544]=43972;m=0;ce(114,e|0,2176);n=m;m=0;if(n&1){l=42;break}f[547]=0;f[546]=44008;m=0;ce(115,e|0,2184);n=m;m=0;if(n&1){l=42;break}f[549]=0;f[548]=44044;m=0;ce(116,e|0,2192);n=m;m=0;if(n&1){l=42;break}f[551]=0;f[550]=44080;m=0;ce(117,e|0,2200);n=m;m=0;if(n&1){l=42;break}f[553]=0;f[552]=43468;f[554]=43516;m=0;ce(118,e|0,2208);n=m;m=0;if(n&1){l=42;break}f[557]=0;f[556]=43560;f[558]=43608;m=0;ce(119,e|0,2224);n=m;m=0;if(n&1){l=42;break}f[561]=0;f[560]=44464;m=0;i=Ee(3)|0;n=m;m=0;if(n&1){i=Ye()|0;break}f[562]=i;f[560]=43652;m=0;ce(120,e|0,2240);n=m;m=0;if(n&1){l=42;break}f[565]=0;f[564]=44464;m=0;i=Ee(3)|0;n=m;m=0;if(n&1){i=Ye()|0;break}f[566]=i;f[564]=43684;m=0;ce(121,e|0,2256);l=m;m=0;if(l&1){l=42;break}f[569]=0;f[568]=44116;m=0;ce(122,e|0,2272);l=m;m=0;if(l&1){l=42;break}f[571]=0;f[570]=44156;m=0;ce(123,e|0,2280);l=m;m=0;if(l&1){l=42;break}return}else l=42;while(0)if((l|0)==42)i=Ye()|0;Od(a)}qm(s)}$e(i|0)}function Au(){var e=0;do if((t[2288]|0)==0?(Be(2288)|0)!=0:0){m=0;Ee(4)|0;e=m;m=0;if(e&1){e=Ye()|0;gi(2288);$e(e|0)}else{f[11246]=44980;ze(2288);break}}while(0)return f[11246]|0}function Su(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;hd(i);n=e+8|0;t=f[n>>2]|0;do if((f[e+12>>2]|0)-t>>2>>>0<=r>>>0){m=0;ce(124,n|0,r+1|0);e=m;m=0;if(!(e&1)){t=f[n>>2]|0;break}t=Ye()|0;if(i)bd(i)|0;$e(t|0)}while(0)e=f[t+(r<<2)>>2]|0;if(e){bd(e)|0;t=f[n>>2]|0}f[t+(r<<2)>>2]=i;return}function Tu(e){e=e|0;var i=0,r=0,t=0,n=0;f[e>>2]=44196;t=e+8|0;n=e+12|0;i=f[t>>2]|0;if((f[n>>2]|0)!=(i|0)){r=0;do{i=f[i+(r<<2)>>2]|0;if(i)bd(i)|0;r=r+1|0;i=f[t>>2]|0}while(r>>>0<(f[n>>2]|0)-i>>2>>>0)}Od(e+144|0);qm(t);return}function Mu(e){e=e|0;Tu(e);Iv(e);return}function Cu(e,i){e=e|0;i=i|0;if(Xm(e,i)|0)return f[(f[e+8>>2]|0)+(i<<2)>>2]|0;else{e=He(4)|0;Wv(e);bi(e|0,640,82)}return 0}function Pu(){Eu(2296,1);f[11245]=2296;return 44980}function xu(){var e=0;e=f[(Au()|0)>>2]|0;f[11247]=e;hd(e);return 44988}function Du(){var e=0;do if((t[2456]|0)==0?(Be(2456)|0)!=0:0){m=0;Ee(5)|0;e=m;m=0;if(e&1){e=Ye()|0;gi(2456);$e(e|0)}else{f[11248]=44988;ze(2456);break}}while(0)return f[11248]|0}function Ru(e){e=e|0;var i=0,r=0;m=0;i=Ee(6)|0;r=m;m=0;if(r&1){r=Ye(0)|0;Fi(r)}else{r=f[i>>2]|0;f[e>>2]=r;hd(r);return}}function Ou(e,i){e=e|0;i=i|0;i=f[i>>2]|0;f[e>>2]=i;hd(i);return}function Lu(e){e=e|0;bd(f[e>>2]|0)|0;return}function Iu(e){e=e|0;var i=0,r=0;r=c;c=c+16|0;i=r;if((f[e>>2]|0)!=-1){f[i>>2]=e;f[i+4>>2]=191;f[i+8>>2]=0;Pd(e,i,192)}c=r;return(f[e+4>>2]|0)+-1|0}function Bu(e,i){e=e|0;i=i|0;e=f[e>>2]|0;return Cu(e,Iu(i)|0)|0}function Nu(e){e=e|0;Iv(e);return}function Fu(e){e=e|0;if(e)fE[f[(f[e>>2]|0)+4>>2]&255](e);return}function ju(e){e=e|0;var i=0;i=f[11052]|0;f[11052]=i+1;f[e+4>>2]=i+1;return}function Uu(e){e=e|0;Iv(e);return}function Hu(e,i,r){e=e|0;i=i|0;r=r|0;if(r>>>0<128)r=(n[(Yu()|0)+(r<<1)>>1]&i)<<16>>16!=0;else r=0;return r|0}function Yu(){var e=0,i=0;m=0;e=Ee(7)|0;i=m;m=0;if(i&1){i=Ye(0)|0;Fi(i)}else return f[e>>2]|0;return 0}function qu(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var a=0,l=0;l=(r-i|0)>>>2;if((i|0)!=(r|0)){a=i;while(1){e=f[a>>2]|0;if(e>>>0<128)e=s[(Yu()|0)+(e<<1)>>1]|0;else e=0;n[t>>1]=e;a=a+4|0;if((a|0)==(r|0))break;else t=t+2|0}}return i+(l<<2)|0}function zu(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e:do if((r|0)==(t|0))r=t;else while(1){e=f[r>>2]|0;if(e>>>0<128?(n[(Yu()|0)+(e<<1)>>1]&i)<<16>>16!=0:0)break e;r=r+4|0;if((r|0)==(t|0)){r=t;break}}while(0)return r|0}function Xu(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e:do if((r|0)==(t|0))r=t;else while(1){e=f[r>>2]|0;if(e>>>0>=128)break e;if(!((n[(Yu()|0)+(e<<1)>>1]&i)<<16>>16))break e;r=r+4|0;if((r|0)==(t|0)){r=t;break}}while(0)return r|0}function Gu(e,i){e=e|0;i=i|0;if(i>>>0<128)i=f[(Vu()|0)+(i<<2)>>2]|0;return i|0}function Vu(){var e=0,i=0;m=0;e=Ee(8)|0;i=m;m=0;if(i&1){i=Ye(0)|0;Fi(i)}else return f[e>>2]|0;return 0}function Ku(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=(r-i|0)>>>2;if((i|0)!=(r|0)){t=i;do{e=f[t>>2]|0;if(e>>>0<128)e=f[(Vu()|0)+(e<<2)>>2]|0;f[t>>2]=e;t=t+4|0}while((t|0)!=(r|0))}return i+(n<<2)|0}function Wu(e,i){e=e|0;i=i|0;if(i>>>0<128)i=f[(Ju()|0)+(i<<2)>>2]|0;return i|0}function Ju(){var e=0,i=0;m=0;e=Ee(9)|0;i=m;m=0;if(i&1){i=Ye(0)|0;Fi(i)}else return f[e>>2]|0;return 0}function Qu(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=(r-i|0)>>>2;if((i|0)!=(r|0)){t=i;do{e=f[t>>2]|0;if(e>>>0<128)e=f[(Ju()|0)+(e<<2)>>2]|0;f[t>>2]=e;t=t+4|0}while((t|0)!=(r|0))}return i+(n<<2)|0}function Zu(e,i){e=e|0;i=i|0;return i<<24>>24|0}function $u(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;if((i|0)!=(r|0))while(1){f[n>>2]=t[i>>0];i=i+1|0;if((i|0)==(r|0))break;else n=n+4|0}return r|0}function ec(e,i,r){e=e|0;i=i|0;r=r|0;return(i>>>0<128?i&255:r)|0}function ic(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=(r-i|0)>>>2;if((i|0)!=(r|0)){s=i;e=a;while(1){a=f[s>>2]|0;t[e>>0]=a>>>0<128?a&255:n;s=s+4|0;if((s|0)==(r|0))break;else e=e+1|0}}return i+(l<<2)|0}function rc(e){e=e|0;var i=0;f[e>>2]=44236;i=f[e+8>>2]|0;if((i|0)!=0?(t[e+12>>0]|0)!=0:0)Bv(i);return}function tc(e){e=e|0;rc(e);Iv(e);return}function nc(e,i){e=e|0;i=i|0;if(i<<24>>24>-1)i=f[(Vu()|0)+((i&255)<<2)>>2]&255
22
+ ;return i|0}function fc(e,i,r){e=e|0;i=i|0;r=r|0;if((i|0)!=(r|0)){e=i;do{i=t[e>>0]|0;if(i<<24>>24>-1)i=f[(Vu()|0)+(i<<24>>24<<2)>>2]&255;t[e>>0]=i;e=e+1|0}while((e|0)!=(r|0))}return r|0}function ac(e,i){e=e|0;i=i|0;if(i<<24>>24>-1)i=f[(Ju()|0)+(i<<24>>24<<2)>>2]&255;return i|0}function sc(e,i,r){e=e|0;i=i|0;r=r|0;if((i|0)!=(r|0)){e=i;do{i=t[e>>0]|0;if(i<<24>>24>-1)i=f[(Ju()|0)+(i<<24>>24<<2)>>2]&255;t[e>>0]=i;e=e+1|0}while((e|0)!=(r|0))}return r|0}function lc(e,i){e=e|0;i=i|0;return i|0}function oc(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;if((i|0)!=(r|0))while(1){t[n>>0]=t[i>>0]|0;i=i+1|0;if((i|0)==(r|0))break;else n=n+1|0}return r|0}function uc(e,i,r){e=e|0;i=i|0;r=r|0;return(i<<24>>24>-1?i:r)|0}function cc(e,i,r,n,f){e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;if((i|0)!=(r|0))while(1){e=t[i>>0]|0;t[f>>0]=e<<24>>24>-1?e:n;i=i+1|0;if((i|0)==(r|0))break;else f=f+1|0}return r|0}function dc(e){e=e|0;Iv(e);return}function hc(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;f[n>>2]=r;f[l>>2]=a;return 3}function bc(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;f[n>>2]=r;f[l>>2]=a;return 3}function kc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f[n>>2]=r;return 3}function wc(e){e=e|0;return 1}function mc(e){e=e|0;return 1}function _c(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;e=t-r|0;return(e>>>0<n>>>0?e:n)|0}function pc(e){e=e|0;return 1}function vc(e,i){e=e|0;i=i|0;var r=0;f[e+4>>2]=i+-1;f[e>>2]=44304;m=0;i=Ee(3)|0;r=m;m=0;if(r&1){r=Ye()|0;$e(r|0)}else{f[e+8>>2]=i;return}}function gc(e){e=e|0;Bw(e);Iv(e);return}function yc(e,i,r,s,l){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;var o=0,d=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0,W=0,J=0,Q=0,Z=0,$=0,ee=0,ie=0,te=0,ne=0,fe=0,ae=0,se=0;se=c;c=c+624|0;ie=se+24|0;ne=se+16|0;te=se+588|0;J=se+576|0;ee=se;V=se+536|0;ae=se+8|0;fe=se+528|0;F=(e|0)!=0;j=V+40|0;G=j;V=V+39|0;K=ae+4|0;W=J+12|0;J=J+11|0;Q=te;Z=W;$=Z-Q|0;U=-2-Q|0;H=Z+2|0;Y=ie+288|0;q=te+9|0;z=q;X=te+8|0;o=0;y=i;d=0;i=0;e:while(1){do if((o|0)>-1)if((d|0)>(2147483647-o|0)){f[(Ig()|0)>>2]=75;o=-1;break}else{o=d+o|0;break}while(0)d=t[y>>0]|0;if(!(d<<24>>24)){N=245;break}else b=y;i:while(1){switch(d<<24>>24){case 37:{d=b;N=9;break i}case 0:{d=b;break i}default:{}}B=b+1|0;d=t[B>>0]|0;b=B}i:do if((N|0)==9)while(1){N=0;if((t[d+1>>0]|0)!=37)break i;b=b+1|0;d=d+2|0;if((t[d>>0]|0)==37)N=9;else break}while(0)A=b-y|0;if(F?(f[e>>2]&32|0)==0:0)Cy(y,A,e)|0;if((b|0)!=(y|0)){y=d;d=A;continue}m=d+1|0;b=t[m>>0]|0;k=(b<<24>>24)+-48|0;if(k>>>0<10){B=(t[d+2>>0]|0)==36;m=B?d+3|0:m;b=t[m>>0]|0;v=B?k:-1;i=B?1:i}else v=-1;d=b<<24>>24;i:do if((d&-32|0)==32){k=0;while(1){if(!(1<<d+-32&75913)){_=k;d=m;break i}k=1<<(b<<24>>24)+-32|k;m=m+1|0;b=t[m>>0]|0;d=b<<24>>24;if((d&-32|0)!=32){_=k;d=m;break}}}else{_=0;d=m}while(0)do if(b<<24>>24==42){k=d+1|0;b=(t[k>>0]|0)+-48|0;if(b>>>0<10?(t[d+2>>0]|0)==36:0){f[l+(b<<2)>>2]=10;i=1;d=d+3|0;b=f[s+((t[k>>0]|0)+-48<<3)>>2]|0}else{if(i){o=-1;break e}if(!F){E=_;d=k;i=0;B=0;break}i=(f[r>>2]|0)+(4-1)&~(4-1);b=f[i>>2]|0;f[r>>2]=i+4;i=0;d=k}if((b|0)<0){E=_|8192;B=0-b|0}else{E=_;B=b}}else{k=(b<<24>>24)+-48|0;if(k>>>0<10){b=0;do{b=(b*10|0)+k|0;d=d+1|0;k=(t[d>>0]|0)+-48|0}while(k>>>0<10)if((b|0)<0){o=-1;break e}else{E=_;B=b}}else{E=_;B=0}}while(0)i:do if((t[d>>0]|0)==46){k=d+1|0;b=t[k>>0]|0;if(b<<24>>24!=42){m=(b<<24>>24)+-48|0;if(m>>>0<10){d=k;b=0}else{d=k;m=0;break}while(1){b=(b*10|0)+m|0;d=d+1|0;m=(t[d>>0]|0)+-48|0;if(m>>>0>=10){m=b;break i}}}k=d+2|0;b=(t[k>>0]|0)+-48|0;if(b>>>0<10?(t[d+3>>0]|0)==36:0){f[l+(b<<2)>>2]=10;d=d+4|0;m=f[s+((t[k>>0]|0)+-48<<3)>>2]|0;break}if(i){o=-1;break e}if(F){d=(f[r>>2]|0)+(4-1)&~(4-1);m=f[d>>2]|0;f[r>>2]=d+4;d=k}else{d=k;m=0}}else m=-1;while(0)p=0;while(1){b=(t[d>>0]|0)+-65|0;if(b>>>0>57){o=-1;break e}k=d+1|0;b=t[56223+(p*58|0)+b>>0]|0;_=b&255;if((_+-1|0)>>>0<8){d=k;p=_}else{I=k;break}}if(!(b<<24>>24)){o=-1;break}k=(v|0)>-1;do if(b<<24>>24==19)if(k){o=-1;break e}else N=52;else{if(k){f[l+(v<<2)>>2]=_;O=s+(v<<3)|0;L=f[O+4>>2]|0;N=ee;f[N>>2]=f[O>>2];f[N+4>>2]=L;N=52;break}if(!F){o=0;break e}Mc(ee,_,r)}while(0)if((N|0)==52?(N=0,!F):0){y=I;d=A;continue}v=t[d>>0]|0;v=(p|0)!=0&(v&15|0)==3?v&-33:v;k=E&-65537;L=(E&8192|0)==0?E:k;i:do switch(v|0){case 110:switch(p|0){case 0:{f[f[ee>>2]>>2]=o;y=I;d=A;continue e}case 1:{f[f[ee>>2]>>2]=o;y=I;d=A;continue e}case 2:{y=f[ee>>2]|0;f[y>>2]=o;f[y+4>>2]=((o|0)<0)<<31>>31;y=I;d=A;continue e}case 3:{n[f[ee>>2]>>1]=o;y=I;d=A;continue e}case 4:{t[f[ee>>2]>>0]=o;y=I;d=A;continue e}case 6:{f[f[ee>>2]>>2]=o;y=I;d=A;continue e}case 7:{y=f[ee>>2]|0;f[y>>2]=o;f[y+4>>2]=((o|0)<0)<<31>>31;y=I;d=A;continue e}default:{y=I;d=A;continue e}}case 112:{p=L|8;m=m>>>0>8?m:8;v=120;N=64;break}case 88:case 120:{p=L;N=64;break}case 111:{k=ee;b=f[k>>2]|0;k=f[k+4>>2]|0;if((b|0)==0&(k|0)==0)d=j;else{d=j;do{d=d+-1|0;t[d>>0]=b&7|48;b=A_(b|0,k|0,3)|0;k=R}while(!((b|0)==0&(k|0)==0))}if(!(L&8)){b=L;p=0;_=56703;N=77}else{p=G-d+1|0;b=L;m=(m|0)<(p|0)?p:m;p=0;_=56703;N=77}break}case 105:case 100:{b=ee;d=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)<0){d=g_(0,0,d|0,b|0)|0;b=R;k=ee;f[k>>2]=d;f[k+4>>2]=b;k=1;_=56703;N=76;break i}if(!(L&2048)){_=L&1;k=_;_=(_|0)==0?56703:56705;N=76}else{k=1;_=56704;N=76}break}case 117:{b=ee;d=f[b>>2]|0;b=f[b+4>>2]|0;k=0;_=56703;N=76;break}case 99:{t[V>>0]=f[ee>>2];y=V;b=1;p=0;v=56703;d=j;break}case 109:{d=Bg(f[(Ig()|0)>>2]|0)|0;N=82;break}case 115:{d=f[ee>>2]|0;d=(d|0)!=0?d:56713;N=82;break}case 67:{f[ae>>2]=f[ee>>2];f[K>>2]=0;f[ee>>2]=ae;m=-1;N=86;break}case 83:{if(!m){Pc(e,32,B,0,L);d=0;N=98}else N=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{w=+u[ee>>3];f[ne>>2]=0;u[h>>3]=w;if((f[h+4>>2]|0)>=0)if(!(L&2048)){O=L&1;D=O;O=(O|0)==0?56721:56726}else{D=1;O=56723}else{w=-w;D=1;O=56720}u[h>>3]=w;x=f[h+4>>2]&2146435072;do if(x>>>0<2146435072|(x|0)==2146435072&0<0){g=+iy(w,ne)*2;b=g!=0;if(b)f[ne>>2]=(f[ne>>2]|0)+-1;C=v|32;if((C|0)==97){y=v&32;A=(y|0)==0?O:O+9|0;E=D|2;d=12-m|0;do if(!(m>>>0>11|(d|0)==0)){w=8;do{d=d+-1|0;w=w*16}while((d|0)!=0)if((t[A>>0]|0)==45){w=-(w+(-g-w));break}else{w=g+w-w;break}}else w=g;while(0)b=f[ne>>2]|0;d=(b|0)<0?0-b|0:b;d=Cc(d,((d|0)<0)<<31>>31,W)|0;if((d|0)==(W|0)){t[J>>0]=48;d=J}t[d+-1>>0]=(b>>31&2)+43;p=d+-2|0;t[p>>0]=v+15;_=(m|0)<1;k=(L&8|0)==0;b=te;while(1){O=~~w;d=b+1|0;t[b>>0]=a[56687+O>>0]|y;w=(w-+(O|0))*16;do if((d-Q|0)==1){if(k&(_&w==0))break;t[d>>0]=46;d=b+2|0}while(0)if(!(w!=0))break;else b=d}m=(m|0)!=0&(U+d|0)<(m|0)?H+m-p|0:$-p+d|0;k=m+E|0;Pc(e,32,B,k,L);if(!(f[e>>2]&32))Cy(A,E,e)|0;Pc(e,48,B,k,L^65536);d=d-Q|0;if(!(f[e>>2]&32))Cy(te,d,e)|0;b=Z-p|0;Pc(e,48,m-(d+b)|0,0,0);if(!(f[e>>2]&32))Cy(p,b,e)|0;Pc(e,32,B,k,L^8192);d=(k|0)<(B|0)?B:k;break}d=(m|0)<0?6:m;if(b){b=(f[ne>>2]|0)+-28|0;f[ne>>2]=b;w=g*268435456}else{w=g;b=f[ne>>2]|0}x=(b|0)<0?ie:Y;P=x;b=x;do{M=~~w>>>0;f[b>>2]=M;b=b+4|0;w=(w-+(M>>>0))*1e9}while(w!=0)k=b;b=f[ne>>2]|0;if((b|0)>0){_=x;while(1){p=(b|0)>29?29:b;m=k+-4|0;do if(m>>>0<_>>>0)m=_;else{b=0;do{M=T_(f[m>>2]|0,0,p|0)|0;M=E_(M|0,R|0,b|0,0)|0;b=R;T=I_(M|0,b|0,1e9,0)|0;f[m>>2]=T;b=L_(M|0,b|0,1e9,0)|0;m=m+-4|0}while(m>>>0>=_>>>0)if(!b){m=_;break}m=_+-4|0;f[m>>2]=b}while(0)while(1){if(k>>>0<=m>>>0)break;b=k+-4|0;if(!(f[b>>2]|0))k=b;else break}b=(f[ne>>2]|0)-p|0;f[ne>>2]=b;if((b|0)>0)_=m;else break}}else m=x;if((b|0)<0){A=((d+25|0)/9|0)+1|0;S=(C|0)==102;y=m;while(1){E=0-b|0;E=(E|0)>9?9:E;do if(y>>>0<k>>>0){b=(1<<E)+-1|0;_=1e9>>>E;m=0;p=y;do{M=f[p>>2]|0;f[p>>2]=(M>>>E)+m;m=re(M&b,_)|0;p=p+4|0}while(p>>>0<k>>>0)b=(f[y>>2]|0)==0?y+4|0:y;if(!m){m=b;break}f[k>>2]=m;m=b;k=k+4|0}else m=(f[y>>2]|0)==0?y+4|0:y;while(0)b=S?x:m;k=(k-b>>2|0)>(A|0)?b+(A<<2)|0:k;b=(f[ne>>2]|0)+E|0;f[ne>>2]=b;if((b|0)>=0){y=m;break}else y=m}}else y=m;do if(y>>>0<k>>>0){b=(P-y>>2)*9|0;_=f[y>>2]|0;if(_>>>0<10)break;else m=10;do{m=m*10|0;b=b+1|0}while(_>>>0>=m>>>0)}else b=0;while(0)T=(C|0)==103;M=(d|0)!=0;m=d-((C|0)!=102?b:0)+((M&T)<<31>>31)|0;if((m|0)<(((k-P>>2)*9|0)+-9|0)){p=m+9216|0;S=(p|0)/9|0;m=x+(S+-1023<<2)|0;p=((p|0)%9|0)+1|0;if((p|0)<9){_=10;do{_=_*10|0;p=p+1|0}while((p|0)!=9)}else _=10;E=f[m>>2]|0;A=(E>>>0)%(_>>>0)|0;if((A|0)==0?(x+(S+-1022<<2)|0)==(k|0):0)_=y;else N=163;do if((N|0)==163){N=0;g=(((E>>>0)/(_>>>0)|0)&1|0)==0?9007199254740992:9007199254740994;p=(_|0)/2|0;do if(A>>>0<p>>>0)w=.5;else{if((A|0)==(p|0)?(x+(S+-1022<<2)|0)==(k|0):0){w=1;break}w=1.5}while(0)do if(D){if((t[O>>0]|0)!=45)break;g=-g;w=-w}while(0)p=E-A|0;f[m>>2]=p;if(!(g+w!=g)){_=y;break}C=p+_|0;f[m>>2]=C;if(C>>>0>999999999){b=y;while(1){_=m+-4|0;f[m>>2]=0;if(_>>>0<b>>>0){b=b+-4|0;f[b>>2]=0}C=(f[_>>2]|0)+1|0;f[_>>2]=C;if(C>>>0>999999999)m=_;else{y=b;m=_;break}}}b=(P-y>>2)*9|0;p=f[y>>2]|0;if(p>>>0<10){_=y;break}else _=10;do{_=_*10|0;b=b+1|0}while(p>>>0>=_>>>0)_=y}while(0)C=m+4|0;y=_;k=k>>>0>C>>>0?C:k}A=0-b|0;while(1){if(k>>>0<=y>>>0){S=0;C=k;break}m=k+-4|0;if(!(f[m>>2]|0))k=m;else{S=1;C=k;break}}do if(T){d=(M&1^1)+d|0;if((d|0)>(b|0)&(b|0)>-5){v=v+-1|0;d=d+-1-b|0}else{v=v+-2|0;d=d+-1|0}k=L&8;if(k)break;do if(S){k=f[C+-4>>2]|0;if(!k){m=9;break}if(!((k>>>0)%10|0)){_=10;m=0}else{m=0;break}do{_=_*10|0;m=m+1|0}while(((k>>>0)%(_>>>0)|0|0)==0)}else m=9;while(0)k=((C-P>>2)*9|0)+-9|0;if((v|32|0)==102){k=k-m|0;k=(k|0)<0?0:k;d=(d|0)<(k|0)?d:k;k=0;break}else{k=k+b-m|0;k=(k|0)<0?0:k;d=(d|0)<(k|0)?d:k;k=0;break}}else k=L&8;while(0)E=d|k;_=(E|0)!=0&1;p=(v|32|0)==102;if(p){b=(b|0)>0?b:0;v=0}else{m=(b|0)<0?A:b;m=Cc(m,((m|0)<0)<<31>>31,W)|0;if((Z-m|0)<2)do{m=m+-1|0;t[m>>0]=48}while((Z-m|0)<2)t[m+-1>>0]=(b>>31&2)+43;P=m+-2|0;t[P>>0]=v;b=Z-P|0;v=P}A=D+1+d+_+b|0;Pc(e,32,B,A,L);if(!(f[e>>2]&32))Cy(O,D,e)|0;Pc(e,48,B,A,L^65536);do if(p){m=y>>>0>x>>>0?x:y;b=m;do{k=Cc(f[b>>2]|0,0,q)|0;do if((b|0)==(m|0)){if((k|0)!=(q|0))break;t[X>>0]=48;k=X}else{if(k>>>0<=te>>>0)break;do{k=k+-1|0;t[k>>0]=48}while(k>>>0>te>>>0)}while(0)if(!(f[e>>2]&32))Cy(k,z-k|0,e)|0;b=b+4|0}while(b>>>0<=x>>>0)do if(E){if(f[e>>2]&32)break;Cy(56755,1,e)|0}while(0)if((d|0)>0&b>>>0<C>>>0){k=b;while(1){b=Cc(f[k>>2]|0,0,q)|0;if(b>>>0>te>>>0)do{b=b+-1|0;t[b>>0]=48}while(b>>>0>te>>>0)if(!(f[e>>2]&32))Cy(b,(d|0)>9?9:d,e)|0;k=k+4|0;b=d+-9|0;if(!((d|0)>9&k>>>0<C>>>0)){d=b;break}else d=b}}Pc(e,48,d+9|0,9,0)}else{p=S?C:y+4|0;if((d|0)>-1){_=(k|0)==0;m=y;do{b=Cc(f[m>>2]|0,0,q)|0;if((b|0)==(q|0)){t[X>>0]=48;b=X}do if((m|0)==(y|0)){k=b+1|0;if(!(f[e>>2]&32))Cy(b,1,e)|0;if(_&(d|0)<1){b=k;break}if(f[e>>2]&32){b=k;break}Cy(56755,1,e)|0;b=k}else{if(b>>>0<=te>>>0)break;do{b=b+-1|0;t[b>>0]=48}while(b>>>0>te>>>0)}while(0)k=z-b|0;if(!(f[e>>2]&32))Cy(b,(d|0)>(k|0)?k:d,e)|0;d=d-k|0;m=m+4|0}while(m>>>0<p>>>0&(d|0)>-1)}Pc(e,48,d+18|0,18,0);if(f[e>>2]&32)break;Cy(v,Z-v|0,e)|0}while(0)Pc(e,32,B,A,L^8192);d=(A|0)<(B|0)?B:A}else{p=(v&32|0)!=0;_=w!=w|0!=0;b=_?0:D;m=b+3|0;Pc(e,32,B,m,k);d=f[e>>2]|0;if(!(d&32)){Cy(O,b,e)|0;d=f[e>>2]|0}if(!(d&32))Cy(_?p?56747:56751:p?56739:56743,3,e)|0;Pc(e,32,B,m,L^8192);d=(m|0)<(B|0)?B:m}while(0)y=I;continue e}default:{k=L;b=m;p=0;v=56703;d=j}}while(0)i:do if((N|0)==64){k=ee;b=f[k>>2]|0;k=f[k+4>>2]|0;_=v&32;if(!((b|0)==0&(k|0)==0)){d=j;do{d=d+-1|0;t[d>>0]=a[56687+(b&15)>>0]|_;b=A_(b|0,k|0,4)|0;k=R}while(!((b|0)==0&(k|0)==0))N=ee;if((p&8|0)==0|(f[N>>2]|0)==0&(f[N+4>>2]|0)==0){b=p;p=0;_=56703;N=77}else{b=p;p=2;_=56703+(v>>4)|0;N=77}}else{d=j;b=p;p=0;_=56703;N=77}}else if((N|0)==76){d=Cc(d,b,j)|0;b=L;p=k;N=77}else if((N|0)==82){N=0;L=Yy(d,0,m)|0;O=(L|0)==0;y=d;b=O?m:L-d|0;p=0;v=56703;d=O?d+m|0:L}else if((N|0)==86){N=0;b=0;d=0;_=f[ee>>2]|0;while(1){k=f[_>>2]|0;if(!k)break;d=hy(fe,k)|0;if((d|0)<0|d>>>0>(m-b|0)>>>0)break;b=d+b|0;if(m>>>0>b>>>0)_=_+4|0;else break}if((d|0)<0){o=-1;break e}Pc(e,32,B,b,L);if(!b){d=0;N=98}else{k=0;m=f[ee>>2]|0;while(1){d=f[m>>2]|0;if(!d){d=b;N=98;break i}d=hy(fe,d)|0;k=d+k|0;if((k|0)>(b|0)){d=b;N=98;break i}if(!(f[e>>2]&32))Cy(fe,d,e)|0;if(k>>>0>=b>>>0){d=b;N=98;break}else m=m+4|0}}}while(0)if((N|0)==98){N=0;Pc(e,32,B,d,L^8192);y=I;d=(B|0)>(d|0)?B:d;continue}if((N|0)==77){N=0;k=(m|0)>-1?b&-65537:b;b=ee;b=(f[b>>2]|0)!=0|(f[b+4>>2]|0)!=0;if((m|0)!=0|b){b=(b&1^1)+(G-d)|0;y=d;b=(m|0)>(b|0)?m:b;v=_;d=j}else{y=j;b=0;v=_;d=j}}_=d-y|0;b=(b|0)<(_|0)?_:b;m=p+b|0;d=(B|0)<(m|0)?m:B;Pc(e,32,d,m,k);if(!(f[e>>2]&32))Cy(v,p,e)|0;Pc(e,48,d,m,k^65536);Pc(e,48,b,_,0);if(!(f[e>>2]&32))Cy(y,_,e)|0;Pc(e,32,d,m,k^8192);y=I}e:do if((N|0)==245)if(!e)if(i){o=1;while(1){i=f[l+(o<<2)>>2]|0;if(!i)break;Mc(s+(o<<3)|0,i,r);o=o+1|0;if((o|0)>=10){o=1;break e}}if((o|0)<10)while(1){if(f[l+(o<<2)>>2]|0){o=-1;break e}o=o+1|0;if((o|0)>=10){o=1;break}}else o=1}else o=0;while(0)c=se;return o|0}function Ec(e,i,r){e=e|0;i=i|0;r=r|0;return yy(e,i,r)|0}function Ac(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;l=c;c=c+112|0;s=l;n=s;a=n+112|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(a|0))n=s+4|0;f[n>>2]=e;a=s+8|0;f[a>>2]=-1;f[s+44>>2]=e;f[s+76>>2]=-1;jg(s,0);t=+Ng(s,r,1);r=(f[n>>2]|0)-(f[a>>2]|0)+(f[s+108>>2]|0)|0;if(i)f[i>>2]=(r|0)!=0?e+r|0:e;c=l;return+t}function Sc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0;o=c;c=c+112|0;l=o;f[l>>2]=0;a=l+4|0;f[a>>2]=e;f[l+44>>2]=e;s=l+8|0;f[s>>2]=(e|0)<0?-1:e+2147483647|0;f[l+76>>2]=-1;jg(l,0);t=Fg(l,r,1,t,n)|0;if(i)f[i>>2]=e+((f[a>>2]|0)+(f[l+108>>2]|0)-(f[s>>2]|0));c=o;return t|0}function Tc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=e+20|0;n=f[t>>2]|0;e=(f[e+16>>2]|0)-n|0;e=e>>>0>r>>>0?r:e;S_(n|0,i|0,e|0)|0;f[t>>2]=(f[t>>2]|0)+e;return r|0}function Mc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;e:do if(i>>>0<=20)do switch(i|0){case 9:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;f[e>>2]=i;break e}case 10:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;t=e;f[t>>2]=i;f[t+4>>2]=((i|0)<0)<<31>>31;break e}case 11:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;t=e;f[t>>2]=i;f[t+4>>2]=0;break e}case 12:{t=(f[r>>2]|0)+(8-1)&~(8-1);i=t;n=f[i>>2]|0;i=f[i+4>>2]|0;f[r>>2]=t+8;t=e;f[t>>2]=n;f[t+4>>2]=i;break e}case 13:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;t=(t&65535)<<16>>16;n=e;f[n>>2]=t;f[n+4>>2]=((t|0)<0)<<31>>31;break e}case 14:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;n=e;f[n>>2]=t&65535;f[n+4>>2]=0;break e}case 15:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;t=(t&255)<<24>>24;n=e;f[n>>2]=t;f[n+4>>2]=((t|0)<0)<<31>>31;break e}case 16:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;n=e;f[n>>2]=t&255;f[n+4>>2]=0;break e}case 17:{n=(f[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];f[r>>2]=n+8;u[e>>3]=a;break e}case 18:{n=(f[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];f[r>>2]=n+8;u[e>>3]=a;break e}default:break e}while(0)while(0)return}function Cc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if(i>>>0>0|(i|0)==0&e>>>0>4294967295)while(1){n=I_(e|0,i|0,10,0)|0;r=r+-1|0;t[r>>0]=n|48;n=L_(e|0,i|0,10,0)|0;if(i>>>0>9|(i|0)==9&e>>>0>4294967295){e=n;i=R}else{e=n;break}}if(e)while(1){r=r+-1|0;t[r>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return r|0}function Pc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0;l=c;c=c+256|0;s=l;do if((r|0)>(t|0)&(n&73728|0)==0){n=r-t|0;y_(s|0,i|0,(n>>>0>256?256:n)|0)|0;i=f[e>>2]|0;a=(i&32|0)==0;if(n>>>0>255){t=r-t|0;do{if(a){Cy(s,256,e)|0;i=f[e>>2]|0}n=n+-256|0;a=(i&32|0)==0}while(n>>>0>255)if(a)n=t&255;else break}else if(!a)break;Cy(s,n,e)|0}while(0)c=l;return}function xc(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0;do if(e>>>0<245){b=e>>>0<11?16:e+11&-8;e=b>>>3;l=f[10218]|0;r=l>>>e;if(r&3){e=(r&1^1)+e|0;t=e<<1;r=40912+(t<<2)|0;t=40912+(t+2<<2)|0;n=f[t>>2]|0;a=n+8|0;s=f[a>>2]|0;do if((r|0)!=(s|0)){if(s>>>0<(f[10222]|0)>>>0)Ie();i=s+12|0;if((f[i>>2]|0)==(n|0)){f[i>>2]=r;f[t>>2]=s;break}else Ie()}else f[10218]=l&~(1<<e);while(0)F=e<<3;f[n+4>>2]=F|3;F=n+(F|4)|0;f[F>>2]=f[F>>2]|1;F=a;return F|0}s=f[10220]|0;if(b>>>0>s>>>0){if(r){t=2<<e;t=r<<e&(t|0-t);t=(t&0-t)+-1|0;o=t>>>12&16;t=t>>>o;n=t>>>5&8;t=t>>>n;a=t>>>2&4;t=t>>>a;r=t>>>1&2;t=t>>>r;e=t>>>1&1;e=(n|o|a|r|e)+(t>>>e)|0;t=e<<1;r=40912+(t<<2)|0;t=40912+(t+2<<2)|0;a=f[t>>2]|0;o=a+8|0;n=f[o>>2]|0;do if((r|0)!=(n|0)){if(n>>>0<(f[10222]|0)>>>0)Ie();i=n+12|0;if((f[i>>2]|0)==(a|0)){f[i>>2]=r;f[t>>2]=n;u=f[10220]|0;break}else Ie()}else{f[10218]=l&~(1<<e);u=s}while(0)F=e<<3;s=F-b|0;f[a+4>>2]=b|3;l=a+b|0;f[a+(b|4)>>2]=s|1;f[a+F>>2]=s;if(u){n=f[10223]|0;r=u>>>3;i=r<<1;t=40912+(i<<2)|0;e=f[10218]|0;r=1<<r;if(e&r){e=40912+(i+2<<2)|0;i=f[e>>2]|0;if(i>>>0<(f[10222]|0)>>>0)Ie();else{c=e;d=i}}else{f[10218]=e|r;c=40912+(i+2<<2)|0;d=t}f[c>>2]=n;f[d+12>>2]=n;f[n+8>>2]=d;f[n+12>>2]=t}f[10220]=s;f[10223]=l;F=o;return F|0}e=f[10219]|0;if(e){r=(e&0-e)+-1|0;N=r>>>12&16;r=r>>>N;B=r>>>5&8;r=r>>>B;F=r>>>2&4;r=r>>>F;e=r>>>1&2;r=r>>>e;t=r>>>1&1;t=f[41176+((B|N|F|e|t)+(r>>>t)<<2)>>2]|0;r=(f[t+4>>2]&-8)-b|0;e=t;while(1){i=f[e+16>>2]|0;if(!i){i=f[e+20>>2]|0;if(!i){o=r;break}}e=(f[i+4>>2]&-8)-b|0;F=e>>>0<r>>>0;r=F?e:r;e=i;t=F?i:t}a=f[10222]|0;if(t>>>0<a>>>0)Ie();l=t+b|0;if(t>>>0>=l>>>0)Ie();s=f[t+24>>2]|0;r=f[t+12>>2]|0;do if((r|0)==(t|0)){e=t+20|0;i=f[e>>2]|0;if(!i){e=t+16|0;i=f[e>>2]|0;if(!i){h=0;break}}while(1){r=i+20|0;n=f[r>>2]|0;if(n){i=n;e=r;continue}r=i+16|0;n=f[r>>2]|0;if(!n)break;else{i=n;e=r}}if(e>>>0<a>>>0)Ie();else{f[e>>2]=0;h=i;break}}else{n=f[t+8>>2]|0;if(n>>>0<a>>>0)Ie();i=n+12|0;if((f[i>>2]|0)!=(t|0))Ie();e=r+8|0;if((f[e>>2]|0)==(t|0)){f[i>>2]=r;f[e>>2]=n;h=r;break}else Ie()}while(0)do if(s){i=f[t+28>>2]|0;e=41176+(i<<2)|0;if((t|0)==(f[e>>2]|0)){f[e>>2]=h;if(!h){f[10219]=f[10219]&~(1<<i);break}}else{if(s>>>0<(f[10222]|0)>>>0)Ie();i=s+16|0;if((f[i>>2]|0)==(t|0))f[i>>2]=h;else f[s+20>>2]=h;if(!h)break}e=f[10222]|0;if(h>>>0<e>>>0)Ie();f[h+24>>2]=s;i=f[t+16>>2]|0;do if(i)if(i>>>0<e>>>0)Ie();else{f[h+16>>2]=i;f[i+24>>2]=h;break}while(0)i=f[t+20>>2]|0;if(i)if(i>>>0<(f[10222]|0)>>>0)Ie();else{f[h+20>>2]=i;f[i+24>>2]=h;break}}while(0)if(o>>>0<16){F=o+b|0;f[t+4>>2]=F|3;F=t+(F+4)|0;f[F>>2]=f[F>>2]|1}else{f[t+4>>2]=b|3;f[t+(b|4)>>2]=o|1;f[t+(o+b)>>2]=o;i=f[10220]|0;if(i){a=f[10223]|0;r=i>>>3;i=r<<1;n=40912+(i<<2)|0;e=f[10218]|0;r=1<<r;if(e&r){i=40912+(i+2<<2)|0;e=f[i>>2]|0;if(e>>>0<(f[10222]|0)>>>0)Ie();else{k=i;w=e}}else{f[10218]=e|r;k=40912+(i+2<<2)|0;w=n}f[k>>2]=a;f[w+12>>2]=a;f[a+8>>2]=w;f[a+12>>2]=n}f[10220]=o;f[10223]=l}F=t+8|0;return F|0}else w=b}else w=b}else if(e>>>0<=4294967231){e=e+11|0;d=e&-8;c=f[10219]|0;if(c){r=0-d|0;e=e>>>8;if(e)if(d>>>0>16777215)u=31;else{w=(e+1048320|0)>>>16&8;g=e<<w;k=(g+520192|0)>>>16&4;g=g<<k;u=(g+245760|0)>>>16&2;u=14-(k|w|u)+(g<<u>>>15)|0;u=d>>>(u+7|0)&1|u<<1}else u=0;e=f[41176+(u<<2)>>2]|0;e:do if(!e){n=0;e=0;g=86}else{s=r;n=0;l=d<<((u|0)==31?0:25-(u>>>1)|0);o=e;e=0;while(1){a=f[o+4>>2]&-8;r=a-d|0;if(r>>>0<s>>>0)if((a|0)==(d|0)){a=o;e=o;g=90;break e}else e=o;else r=s;g=f[o+20>>2]|0;o=f[o+16+(l>>>31<<2)>>2]|0;n=(g|0)==0|(g|0)==(o|0)?n:g;if(!o){g=86;break}else{s=r;l=l<<1}}}while(0)if((g|0)==86){if((n|0)==0&(e|0)==0){e=2<<u;e=c&(e|0-e);if(!e){w=d;break}e=(e&0-e)+-1|0;h=e>>>12&16;e=e>>>h;c=e>>>5&8;e=e>>>c;k=e>>>2&4;e=e>>>k;w=e>>>1&2;e=e>>>w;n=e>>>1&1;n=f[41176+((c|h|k|w|n)+(e>>>n)<<2)>>2]|0;e=0}if(!n){l=r;o=e}else{a=n;g=90}}if((g|0)==90)while(1){g=0;w=(f[a+4>>2]&-8)-d|0;n=w>>>0<r>>>0;r=n?w:r;e=n?a:e;n=f[a+16>>2]|0;if(n){a=n;g=90;continue}a=f[a+20>>2]|0;if(!a){l=r;o=e;break}else g=90}if((o|0)!=0?l>>>0<((f[10220]|0)-d|0)>>>0:0){n=f[10222]|0;if(o>>>0<n>>>0)Ie();s=o+d|0;if(o>>>0>=s>>>0)Ie();a=f[o+24>>2]|0;r=f[o+12>>2]|0;do if((r|0)==(o|0)){e=o+20|0;i=f[e>>2]|0;if(!i){e=o+16|0;i=f[e>>2]|0;if(!i){b=0;break}}while(1){r=i+20|0;t=f[r>>2]|0;if(t){i=t;e=r;continue}r=i+16|0;t=f[r>>2]|0;if(!t)break;else{i=t;e=r}}if(e>>>0<n>>>0)Ie();else{f[e>>2]=0;b=i;break}}else{t=f[o+8>>2]|0;if(t>>>0<n>>>0)Ie();i=t+12|0;if((f[i>>2]|0)!=(o|0))Ie();e=r+8|0;if((f[e>>2]|0)==(o|0)){f[i>>2]=r;f[e>>2]=t;b=r;break}else Ie()}while(0)do if(a){i=f[o+28>>2]|0;e=41176+(i<<2)|0;if((o|0)==(f[e>>2]|0)){f[e>>2]=b;if(!b){f[10219]=f[10219]&~(1<<i);break}}else{if(a>>>0<(f[10222]|0)>>>0)Ie();i=a+16|0;if((f[i>>2]|0)==(o|0))f[i>>2]=b;else f[a+20>>2]=b;if(!b)break}e=f[10222]|0;if(b>>>0<e>>>0)Ie();f[b+24>>2]=a;i=f[o+16>>2]|0;do if(i)if(i>>>0<e>>>0)Ie();else{f[b+16>>2]=i;f[i+24>>2]=b;break}while(0)i=f[o+20>>2]|0;if(i)if(i>>>0<(f[10222]|0)>>>0)Ie();else{f[b+20>>2]=i;f[i+24>>2]=b;break}}while(0)e:do if(l>>>0>=16){f[o+4>>2]=d|3;f[o+(d|4)>>2]=l|1;f[o+(l+d)>>2]=l;i=l>>>3;if(l>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=f[10218]|0;i=1<<i;if(r&i){i=40912+(e+2<<2)|0;e=f[i>>2]|0;if(e>>>0<(f[10222]|0)>>>0)Ie();else{_=i;p=e}}else{f[10218]=r|i;_=40912+(e+2<<2)|0;p=t}f[_>>2]=s;f[p+12>>2]=s;f[o+(d+8)>>2]=p;f[o+(d+12)>>2]=t;break}i=l>>>8;if(i)if(l>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<<N;B=(F+520192|0)>>>16&4;F=F<<B;t=(F+245760|0)>>>16&2;t=14-(B|N|t)+(F<<t>>>15)|0;t=l>>>(t+7|0)&1|t<<1}else t=0;i=41176+(t<<2)|0;f[o+(d+28)>>2]=t;f[o+(d+20)>>2]=0;f[o+(d+16)>>2]=0;e=f[10219]|0;r=1<<t;if(!(e&r)){f[10219]=e|r;f[i>>2]=s;f[o+(d+24)>>2]=i;f[o+(d+12)>>2]=s;f[o+(d+8)>>2]=s;break}i=f[i>>2]|0;i:do if((f[i+4>>2]&-8|0)!=(l|0)){t=l<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(l|0)){A=r;break i}else{t=t<<1;i=r}}if(e>>>0<(f[10222]|0)>>>0)Ie();else{f[e>>2]=s;f[o+(d+24)>>2]=i;f[o+(d+12)>>2]=s;f[o+(d+8)>>2]=s;break e}}else A=i;while(0)i=A+8|0;e=f[i>>2]|0;F=f[10222]|0;if(e>>>0>=F>>>0&A>>>0>=F>>>0){f[e+12>>2]=s;f[i>>2]=s;f[o+(d+8)>>2]=e;f[o+(d+12)>>2]=A;f[o+(d+24)>>2]=0;break}else Ie()}else{F=l+d|0;f[o+4>>2]=F|3;F=o+(F+4)|0;f[F>>2]=f[F>>2]|1}while(0)F=o+8|0;return F|0}else w=d}else w=d}else w=-1;while(0)r=f[10220]|0;if(r>>>0>=w>>>0){i=r-w|0;e=f[10223]|0;if(i>>>0>15){f[10223]=e+w;f[10220]=i;f[e+(w+4)>>2]=i|1;f[e+r>>2]=i;f[e+4>>2]=w|3}else{f[10220]=0;f[10223]=0;f[e+4>>2]=r|3;F=e+(r+4)|0;f[F>>2]=f[F>>2]|1}F=e+8|0;return F|0}e=f[10221]|0;if(e>>>0>w>>>0){N=e-w|0;f[10221]=N;F=f[10224]|0;f[10224]=F+w;f[F+(w+4)>>2]=N|1;f[F+4>>2]=w|3;F=F+8|0;return F|0}do if(!(f[10336]|0)){e=ii(30)|0;if(!(e+-1&e)){f[10338]=e;f[10337]=e;f[10339]=-1;f[10340]=-1;f[10341]=0;f[10329]=0;f[10336]=(pi(0)|0)&-16^1431655768;break}else Ie()}while(0)o=w+48|0;l=f[10338]|0;u=w+47|0;s=l+u|0;l=0-l|0;c=s&l;if(c>>>0<=w>>>0){F=0;return F|0}e=f[10328]|0;if((e|0)!=0?(p=f[10326]|0,A=p+c|0,A>>>0<=p>>>0|A>>>0>e>>>0):0){F=0;return F|0}e:do if(!(f[10329]&4)){e=f[10224]|0;i:do if(e){n=41320;while(1){r=f[n>>2]|0;if(r>>>0<=e>>>0?(m=n+4|0,(r+(f[m>>2]|0)|0)>>>0>e>>>0):0){a=n;e=m;break}n=f[n+8>>2]|0;if(!n){g=174;break i}}r=s-(f[10221]|0)&l;if(r>>>0<2147483647){n=We(r|0)|0;A=(n|0)==((f[a>>2]|0)+(f[e>>2]|0)|0);e=A?r:0;if(A){if((n|0)!=(-1|0)){y=n;k=e;g=194;break e}}else g=184}else e=0}else g=174;while(0)do if((g|0)==174){a=We(0)|0;if((a|0)!=(-1|0)){e=a;r=f[10337]|0;n=r+-1|0;if(!(n&e))r=c;else r=c-e+(n+e&0-r)|0;e=f[10326]|0;n=e+r|0;if(r>>>0>w>>>0&r>>>0<2147483647){A=f[10328]|0;if((A|0)!=0?n>>>0<=e>>>0|n>>>0>A>>>0:0){e=0;break}n=We(r|0)|0;A=(n|0)==(a|0);e=A?r:0;if(A){y=a;k=e;g=194;break e}else g=184}else e=0}else e=0}while(0)i:do if((g|0)==184){a=0-r|0;do if(o>>>0>r>>>0&(r>>>0<2147483647&(n|0)!=(-1|0))?(v=f[10338]|0,v=u-r+v&0-v,v>>>0<2147483647):0)if((We(v|0)|0)==(-1|0)){We(a|0)|0;break i}else{r=v+r|0;break}while(0)if((n|0)!=(-1|0)){y=n;k=r;g=194;break e}}while(0)f[10329]=f[10329]|4;g=191}else{e=0;g=191}while(0)if((((g|0)==191?c>>>0<2147483647:0)?(y=We(c|0)|0,E=We(0)|0,y>>>0<E>>>0&((y|0)!=(-1|0)&(E|0)!=(-1|0))):0)?(S=E-y|0,T=S>>>0>(w+40|0)>>>0,T):0){k=T?S:e;g=194}if((g|0)==194){e=(f[10326]|0)+k|0;f[10326]=e;if(e>>>0>(f[10327]|0)>>>0)f[10327]=e;s=f[10224]|0;e:do if(s){a=41320;do{e=f[a>>2]|0;r=a+4|0;n=f[r>>2]|0;if((y|0)==(e+n|0)){M=e;C=r;P=n;x=a;g=204;break}a=f[a+8>>2]|0}while((a|0)!=0)if(((g|0)==204?(f[x+12>>2]&8|0)==0:0)?s>>>0<y>>>0&s>>>0>=M>>>0:0){f[C>>2]=P+k;F=(f[10221]|0)+k|0;N=s+8|0;N=(N&7|0)==0?0:0-N&7;B=F-N|0;f[10224]=s+N;f[10221]=B;f[s+(N+4)>>2]=B|1;f[s+(F+4)>>2]=40;f[10225]=f[10340];break}e=f[10222]|0;if(y>>>0<e>>>0){f[10222]=y;e=y}r=y+k|0;a=41320;while(1){if((f[a>>2]|0)==(r|0)){n=a;r=a;g=212;break}a=f[a+8>>2]|0;if(!a){r=41320;break}}if((g|0)==212)if(!(f[r+12>>2]&8)){f[n>>2]=y;h=r+4|0;f[h>>2]=(f[h>>2]|0)+k;h=y+8|0;h=(h&7|0)==0?0:0-h&7;u=y+(k+8)|0;u=(u&7|0)==0?0:0-u&7;i=y+(u+k)|0;d=h+w|0;b=y+d|0;c=i-(y+h)-w|0;f[y+(h+4)>>2]=w|3;i:do if((i|0)!=(s|0)){if((i|0)==(f[10223]|0)){F=(f[10220]|0)+c|0;f[10220]=F;f[10223]=b;f[y+(d+4)>>2]=F|1;f[y+(F+d)>>2]=F;break}l=k+4|0;r=f[y+(l+u)>>2]|0;if((r&3|0)==1){o=r&-8;a=r>>>3;r:do if(r>>>0>=256){s=f[y+((u|24)+k)>>2]|0;t=f[y+(k+12+u)>>2]|0;do if((t|0)==(i|0)){n=u|16;t=y+(l+n)|0;r=f[t>>2]|0;if(!r){t=y+(n+k)|0;r=f[t>>2]|0;if(!r){I=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0<e>>>0)Ie();else{f[t>>2]=0;I=r;break}}else{n=f[y+((u|8)+k)>>2]|0;if(n>>>0<e>>>0)Ie();e=n+12|0;if((f[e>>2]|0)!=(i|0))Ie();r=t+8|0;if((f[r>>2]|0)==(i|0)){f[e>>2]=t;f[r>>2]=n;I=t;break}else Ie()}while(0)if(!s)break;e=f[y+(k+28+u)>>2]|0;r=41176+(e<<2)|0;do if((i|0)!=(f[r>>2]|0)){if(s>>>0<(f[10222]|0)>>>0)Ie();e=s+16|0;if((f[e>>2]|0)==(i|0))f[e>>2]=I;else f[s+20>>2]=I;if(!I)break r}else{f[r>>2]=I;if(I)break;f[10219]=f[10219]&~(1<<e);break r}while(0)r=f[10222]|0;if(I>>>0<r>>>0)Ie();f[I+24>>2]=s;i=u|16;e=f[y+(i+k)>>2]|0;do if(e)if(e>>>0<r>>>0)Ie();else{f[I+16>>2]=e;f[e+24>>2]=I;break}while(0)i=f[y+(l+i)>>2]|0;if(!i)break;if(i>>>0<(f[10222]|0)>>>0)Ie();else{f[I+20>>2]=i;f[i+24>>2]=I;break}}else{t=f[y+((u|8)+k)>>2]|0;n=f[y+(k+12+u)>>2]|0;r=40912+(a<<1<<2)|0;do if((t|0)!=(r|0)){if(t>>>0<e>>>0)Ie();if((f[t+12>>2]|0)==(i|0))break;Ie()}while(0)if((n|0)==(t|0)){f[10218]=f[10218]&~(1<<a);break}do if((n|0)==(r|0))D=n+8|0;else{if(n>>>0<e>>>0)Ie();e=n+8|0;if((f[e>>2]|0)==(i|0)){D=e;break}Ie()}while(0)f[t+12>>2]=n;f[D>>2]=t}while(0)i=y+((o|u)+k)|0;n=o+c|0}else n=c;i=i+4|0;f[i>>2]=f[i>>2]&-2;f[y+(d+4)>>2]=n|1;f[y+(n+d)>>2]=n;i=n>>>3;if(n>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=f[10218]|0;i=1<<i;do if(!(r&i)){f[10218]=r|i;B=40912+(e+2<<2)|0;N=t}else{i=40912+(e+2<<2)|0;e=f[i>>2]|0;if(e>>>0>=(f[10222]|0)>>>0){B=i;N=e;break}Ie()}while(0)f[B>>2]=b;f[N+12>>2]=b;f[y+(d+8)>>2]=N;f[y+(d+12)>>2]=t;break}i=n>>>8;do if(!i)t=0;else{if(n>>>0>16777215){t=31;break}B=(i+1048320|0)>>>16&8;N=i<<B;I=(N+520192|0)>>>16&4;N=N<<I;t=(N+245760|0)>>>16&2;t=14-(I|B|t)+(N<<t>>>15)|0;t=n>>>(t+7|0)&1|t<<1}while(0)i=41176+(t<<2)|0;f[y+(d+28)>>2]=t;f[y+(d+20)>>2]=0;f[y+(d+16)>>2]=0;e=f[10219]|0;r=1<<t;if(!(e&r)){f[10219]=e|r;f[i>>2]=b;f[y+(d+24)>>2]=i;f[y+(d+12)>>2]=b;f[y+(d+8)>>2]=b;break}i=f[i>>2]|0;r:do if((f[i+4>>2]&-8|0)!=(n|0)){t=n<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(n|0)){F=r;break r}else{t=t<<1;i=r}}if(e>>>0<(f[10222]|0)>>>0)Ie();else{f[e>>2]=b;f[y+(d+24)>>2]=i;f[y+(d+12)>>2]=b;f[y+(d+8)>>2]=b;break i}}else F=i;while(0)i=F+8|0;e=f[i>>2]|0;N=f[10222]|0;if(e>>>0>=N>>>0&F>>>0>=N>>>0){f[e+12>>2]=b;f[i>>2]=b;f[y+(d+8)>>2]=e;f[y+(d+12)>>2]=F;f[y+(d+24)>>2]=0;break}else Ie()}else{F=(f[10221]|0)+c|0;f[10221]=F;f[10224]=b;f[y+(d+4)>>2]=F|1}while(0)F=y+(h|8)|0;return F|0}else r=41320;while(1){e=f[r>>2]|0;if(e>>>0<=s>>>0?(i=f[r+4>>2]|0,t=e+i|0,t>>>0>s>>>0):0)break;r=f[r+8>>2]|0}n=e+(i+-39)|0;e=e+(i+-47+((n&7|0)==0?0:0-n&7))|0;n=s+16|0;e=e>>>0<n>>>0?s:e;i=e+8|0;r=y+8|0;r=(r&7|0)==0?0:0-r&7;F=k+-40-r|0;f[10224]=y+r;f[10221]=F;f[y+(r+4)>>2]=F|1;f[y+(k+-36)>>2]=40;f[10225]=f[10340];r=e+4|0;f[r>>2]=27;f[i>>2]=f[10330];f[i+4>>2]=f[10331];f[i+8>>2]=f[10332];f[i+12>>2]=f[10333];f[10330]=y;f[10331]=k;f[10333]=0;f[10332]=i;i=e+28|0;f[i>>2]=7;if((e+32|0)>>>0<t>>>0)do{F=i;i=i+4|0;f[i>>2]=7}while((F+8|0)>>>0<t>>>0)if((e|0)!=(s|0)){a=e-s|0;f[r>>2]=f[r>>2]&-2;f[s+4>>2]=a|1;f[e>>2]=a;i=a>>>3;if(a>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=f[10218]|0;i=1<<i;if(r&i){i=40912+(e+2<<2)|0;e=f[i>>2]|0;if(e>>>0<(f[10222]|0)>>>0)Ie();else{R=i;O=e}}else{f[10218]=r|i;R=40912+(e+2<<2)|0;O=t}f[R>>2]=s;f[O+12>>2]=s;f[s+8>>2]=O;f[s+12>>2]=t;break}i=a>>>8;if(i)if(a>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<<N;B=(F+520192|0)>>>16&4;F=F<<B;t=(F+245760|0)>>>16&2;t=14-(B|N|t)+(F<<t>>>15)|0;t=a>>>(t+7|0)&1|t<<1}else t=0;r=41176+(t<<2)|0;f[s+28>>2]=t;f[s+20>>2]=0;f[n>>2]=0;i=f[10219]|0;e=1<<t;if(!(i&e)){f[10219]=i|e;f[r>>2]=s;f[s+24>>2]=r;f[s+12>>2]=s;f[s+8>>2]=s;break}i=f[r>>2]|0;i:do if((f[i+4>>2]&-8|0)!=(a|0)){t=a<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(a|0)){L=r;break i}else{t=t<<1;i=r}}if(e>>>0<(f[10222]|0)>>>0)Ie();else{f[e>>2]=s;f[s+24>>2]=i;f[s+12>>2]=s;f[s+8>>2]=s;break e}}else L=i;while(0)i=L+8|0;e=f[i>>2]|0;F=f[10222]|0;if(e>>>0>=F>>>0&L>>>0>=F>>>0){f[e+12>>2]=s;f[i>>2]=s;f[s+8>>2]=e;f[s+12>>2]=L;f[s+24>>2]=0;break}else Ie()}}else{F=f[10222]|0;if((F|0)==0|y>>>0<F>>>0)f[10222]=y;f[10330]=y;f[10331]=k;f[10333]=0;f[10227]=f[10336];f[10226]=-1;i=0;do{F=i<<1;N=40912+(F<<2)|0;f[40912+(F+3<<2)>>2]=N;f[40912+(F+2<<2)>>2]=N;i=i+1|0}while((i|0)!=32)F=y+8|0;F=(F&7|0)==0?0:0-F&7;N=k+-40-F|0;f[10224]=y+F;f[10221]=N;f[y+(F+4)>>2]=N|1;f[y+(k+-36)>>2]=40;f[10225]=f[10340]}while(0)i=f[10221]|0;if(i>>>0>w>>>0){N=i-w|0;f[10221]=N;F=f[10224]|0;f[10224]=F+w;f[F+(w+4)>>2]=N|1;f[F+4>>2]=w|3;F=F+8|0;return F|0}}f[(Ig()|0)>>2]=12;F=0;return F|0}function Dc(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0;if(!e)return;i=e+-8|0;l=f[10222]|0;if(i>>>0<l>>>0)Ie();r=f[e+-4>>2]|0;t=r&3;if((t|0)==1)Ie();b=r&-8;w=e+(b+-8)|0;do if(!(r&1)){i=f[i>>2]|0;if(!t)return;o=-8-i|0;c=e+o|0;d=i+b|0;if(c>>>0<l>>>0)Ie();if((c|0)==(f[10223]|0)){i=e+(b+-4)|0;r=f[i>>2]|0;if((r&3|0)!=3){v=c;a=d;break}f[10220]=d;f[i>>2]=r&-2;f[e+(o+4)>>2]=d|1;f[w>>2]=d;return}n=i>>>3;if(i>>>0<256){t=f[e+(o+8)>>2]|0;r=f[e+(o+12)>>2]|0;i=40912+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<l>>>0)Ie();if((f[t+12>>2]|0)!=(c|0))Ie()}if((r|0)==(t|0)){f[10218]=f[10218]&~(1<<n);v=c;a=d;break}if((r|0)!=(i|0)){if(r>>>0<l>>>0)Ie();i=r+8|0;if((f[i>>2]|0)==(c|0))s=i;else Ie()}else s=r+8|0;f[t+12>>2]=r;f[s>>2]=t;v=c;a=d;break}s=f[e+(o+24)>>2]|0;t=f[e+(o+12)>>2]|0;do if((t|0)==(c|0)){r=e+(o+20)|0;i=f[r>>2]|0;if(!i){r=e+(o+16)|0;i=f[r>>2]|0;if(!i){u=0;break}}while(1){t=i+20|0;n=f[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=f[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<l>>>0)Ie();else{f[r>>2]=0;u=i;break}}else{n=f[e+(o+8)>>2]|0;if(n>>>0<l>>>0)Ie();i=n+12|0;if((f[i>>2]|0)!=(c|0))Ie();r=t+8|0;if((f[r>>2]|0)==(c|0)){f[i>>2]=t;f[r>>2]=n;u=t;break}else Ie()}while(0)if(s){i=f[e+(o+28)>>2]|0;r=41176+(i<<2)|0;if((c|0)==(f[r>>2]|0)){f[r>>2]=u;if(!u){f[10219]=f[10219]&~(1<<i);v=c;a=d;break}}else{if(s>>>0<(f[10222]|0)>>>0)Ie();i=s+16|0;if((f[i>>2]|0)==(c|0))f[i>>2]=u;else f[s+20>>2]=u;if(!u){v=c;a=d;break}}r=f[10222]|0;if(u>>>0<r>>>0)Ie();f[u+24>>2]=s;i=f[e+(o+16)>>2]|0;do if(i)if(i>>>0<r>>>0)Ie();else{f[u+16>>2]=i;f[i+24>>2]=u;break}while(0)i=f[e+(o+20)>>2]|0;if(i)if(i>>>0<(f[10222]|0)>>>0)Ie();else{f[u+20>>2]=i;f[i+24>>2]=u;v=c;a=d;break}else{v=c;a=d}}else{v=c;a=d}}else{v=i;a=b}while(0)if(v>>>0>=w>>>0)Ie();i=e+(b+-4)|0;r=f[i>>2]|0;if(!(r&1))Ie();if(!(r&2)){if((w|0)==(f[10224]|0)){p=(f[10221]|0)+a|0;f[10221]=p;f[10224]=v;f[v+4>>2]=p|1;if((v|0)!=(f[10223]|0))return;f[10223]=0;f[10220]=0;return}if((w|0)==(f[10223]|0)){p=(f[10220]|0)+a|0;f[10220]=p;f[10223]=v;f[v+4>>2]=p|1;f[v+p>>2]=p;return}a=(r&-8)+a|0;n=r>>>3;do if(r>>>0>=256){s=f[e+(b+16)>>2]|0;i=f[e+(b|4)>>2]|0;do if((i|0)==(w|0)){r=e+(b+12)|0;i=f[r>>2]|0;if(!i){r=e+(b+8)|0;i=f[r>>2]|0;if(!i){k=0;break}}while(1){t=i+20|0;n=f[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=f[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<(f[10222]|0)>>>0)Ie();else{f[r>>2]=0;k=i;break}}else{r=f[e+b>>2]|0;if(r>>>0<(f[10222]|0)>>>0)Ie();t=r+12|0;if((f[t>>2]|0)!=(w|0))Ie();n=i+8|0;if((f[n>>2]|0)==(w|0)){f[t>>2]=i;f[n>>2]=r;k=i;break}else Ie()}while(0)if(s){i=f[e+(b+20)>>2]|0;r=41176+(i<<2)|0;if((w|0)==(f[r>>2]|0)){f[r>>2]=k;if(!k){f[10219]=f[10219]&~(1<<i);break}}else{if(s>>>0<(f[10222]|0)>>>0)Ie();i=s+16|0;if((f[i>>2]|0)==(w|0))f[i>>2]=k;else f[s+20>>2]=k;if(!k)break}r=f[10222]|0;if(k>>>0<r>>>0)Ie();f[k+24>>2]=s;i=f[e+(b+8)>>2]|0;do if(i)if(i>>>0<r>>>0)Ie();else{f[k+16>>2]=i;f[i+24>>2]=k;break}while(0)i=f[e+(b+12)>>2]|0;if(i)if(i>>>0<(f[10222]|0)>>>0)Ie();else{f[k+20>>2]=i;f[i+24>>2]=k;break}}}else{t=f[e+b>>2]|0;r=f[e+(b|4)>>2]|0;i=40912+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<(f[10222]|0)>>>0)Ie();if((f[t+12>>2]|0)!=(w|0))Ie()}if((r|0)==(t|0)){f[10218]=f[10218]&~(1<<n);break}if((r|0)!=(i|0)){if(r>>>0<(f[10222]|0)>>>0)Ie();i=r+8|0;if((f[i>>2]|0)==(w|0))h=i;else Ie()}else h=r+8|0
23
+ ;f[t+12>>2]=r;f[h>>2]=t}while(0)f[v+4>>2]=a|1;f[v+a>>2]=a;if((v|0)==(f[10223]|0)){f[10220]=a;return}}else{f[i>>2]=r&-2;f[v+4>>2]=a|1;f[v+a>>2]=a}i=a>>>3;if(a>>>0<256){r=i<<1;n=40912+(r<<2)|0;t=f[10218]|0;i=1<<i;if(t&i){i=40912+(r+2<<2)|0;r=f[i>>2]|0;if(r>>>0<(f[10222]|0)>>>0)Ie();else{m=i;_=r}}else{f[10218]=t|i;m=40912+(r+2<<2)|0;_=n}f[m>>2]=v;f[_+12>>2]=v;f[v+8>>2]=_;f[v+12>>2]=n;return}i=a>>>8;if(i)if(a>>>0>16777215)n=31;else{m=(i+1048320|0)>>>16&8;_=i<<m;w=(_+520192|0)>>>16&4;_=_<<w;n=(_+245760|0)>>>16&2;n=14-(w|m|n)+(_<<n>>>15)|0;n=a>>>(n+7|0)&1|n<<1}else n=0;i=41176+(n<<2)|0;f[v+28>>2]=n;f[v+20>>2]=0;f[v+16>>2]=0;r=f[10219]|0;t=1<<n;e:do if(r&t){i=f[i>>2]|0;i:do if((f[i+4>>2]&-8|0)!=(a|0)){n=a<<((n|0)==31?0:25-(n>>>1)|0);while(1){r=i+16+(n>>>31<<2)|0;t=f[r>>2]|0;if(!t)break;if((f[t+4>>2]&-8|0)==(a|0)){p=t;break i}else{n=n<<1;i=t}}if(r>>>0<(f[10222]|0)>>>0)Ie();else{f[r>>2]=v;f[v+24>>2]=i;f[v+12>>2]=v;f[v+8>>2]=v;break e}}else p=i;while(0)i=p+8|0;r=f[i>>2]|0;_=f[10222]|0;if(r>>>0>=_>>>0&p>>>0>=_>>>0){f[r+12>>2]=v;f[i>>2]=v;f[v+8>>2]=r;f[v+12>>2]=p;f[v+24>>2]=0;break}else Ie()}else{f[10219]=r|t;f[i>>2]=v;f[v+24>>2]=i;f[v+12>>2]=v;f[v+8>>2]=v}while(0)v=(f[10226]|0)+-1|0;f[10226]=v;if(!v)i=41328;else return;while(1){i=f[i>>2]|0;if(!i)break;else i=i+8|0}f[10226]=-1;return}function Rc(e,i){e=e|0;i=i|0;var r=0;if(e){r=re(i,e)|0;if((i|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(i|0)?r:-1}else r=0;i=xc(r)|0;if(!i)return i|0;if(!(f[i+-4>>2]&3))return i|0;y_(i|0,0,r|0)|0;return i|0}function Oc(e,i){e=e|0;i=i|0;var r=0,t=0;if(!e){e=xc(i)|0;return e|0}if(i>>>0>4294967231){f[(Ig()|0)>>2]=12;e=0;return e|0}r=Lc(e+-8|0,i>>>0<11?16:i+11&-8)|0;if(r){e=r+8|0;return e|0}r=xc(i)|0;if(!r){e=0;return e|0}t=f[e+-4>>2]|0;t=(t&-8)-((t&3|0)==0?8:4)|0;S_(r|0,e|0,(t>>>0<i>>>0?t:i)|0)|0;Dc(e);e=r;return e|0}function Lc(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;b=e+4|0;k=f[b>>2]|0;o=k&-8;c=e+o|0;l=f[10222]|0;r=k&3;if(!((r|0)!=1&e>>>0>=l>>>0&e>>>0<c>>>0))Ie();t=e+(o|4)|0;n=f[t>>2]|0;if(!(n&1))Ie();if(!r){if(i>>>0<256){e=0;return e|0}if(o>>>0>=(i+4|0)>>>0?(o-i|0)>>>0<=f[10338]<<1>>>0:0)return e|0;e=0;return e|0}if(o>>>0>=i>>>0){r=o-i|0;if(r>>>0<=15)return e|0;f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=r|3;f[t>>2]=f[t>>2]|1;Ic(e+i|0,r);return e|0}if((c|0)==(f[10224]|0)){r=(f[10221]|0)+o|0;if(r>>>0<=i>>>0){e=0;return e|0}h=r-i|0;f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=h|1;f[10224]=e+i;f[10221]=h;return e|0}if((c|0)==(f[10223]|0)){t=(f[10220]|0)+o|0;if(t>>>0<i>>>0){e=0;return e|0}r=t-i|0;if(r>>>0>15){f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=r|1;f[e+t>>2]=r;t=e+(t+4)|0;f[t>>2]=f[t>>2]&-2;t=e+i|0}else{f[b>>2]=k&1|t|2;t=e+(t+4)|0;f[t>>2]=f[t>>2]|1;t=0;r=0}f[10220]=r;f[10223]=t;return e|0}if(n&2){e=0;return e|0}d=(n&-8)+o|0;if(d>>>0<i>>>0){e=0;return e|0}h=d-i|0;a=n>>>3;do if(n>>>0>=256){s=f[e+(o+24)>>2]|0;a=f[e+(o+12)>>2]|0;do if((a|0)==(c|0)){t=e+(o+20)|0;r=f[t>>2]|0;if(!r){t=e+(o+16)|0;r=f[t>>2]|0;if(!r){u=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0<l>>>0)Ie();else{f[t>>2]=0;u=r;break}}else{n=f[e+(o+8)>>2]|0;if(n>>>0<l>>>0)Ie();r=n+12|0;if((f[r>>2]|0)!=(c|0))Ie();t=a+8|0;if((f[t>>2]|0)==(c|0)){f[r>>2]=a;f[t>>2]=n;u=a;break}else Ie()}while(0)if(s){r=f[e+(o+28)>>2]|0;t=41176+(r<<2)|0;if((c|0)==(f[t>>2]|0)){f[t>>2]=u;if(!u){f[10219]=f[10219]&~(1<<r);break}}else{if(s>>>0<(f[10222]|0)>>>0)Ie();r=s+16|0;if((f[r>>2]|0)==(c|0))f[r>>2]=u;else f[s+20>>2]=u;if(!u)break}t=f[10222]|0;if(u>>>0<t>>>0)Ie();f[u+24>>2]=s;r=f[e+(o+16)>>2]|0;do if(r)if(r>>>0<t>>>0)Ie();else{f[u+16>>2]=r;f[r+24>>2]=u;break}while(0)r=f[e+(o+20)>>2]|0;if(r)if(r>>>0<(f[10222]|0)>>>0)Ie();else{f[u+20>>2]=r;f[r+24>>2]=u;break}}}else{n=f[e+(o+8)>>2]|0;t=f[e+(o+12)>>2]|0;r=40912+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<l>>>0)Ie();if((f[n+12>>2]|0)!=(c|0))Ie()}if((t|0)==(n|0)){f[10218]=f[10218]&~(1<<a);break}if((t|0)!=(r|0)){if(t>>>0<l>>>0)Ie();r=t+8|0;if((f[r>>2]|0)==(c|0))s=r;else Ie()}else s=t+8|0;f[n+12>>2]=t;f[s>>2]=n}while(0)if(h>>>0<16){f[b>>2]=d|k&1|2;i=e+(d|4)|0;f[i>>2]=f[i>>2]|1;return e|0}else{f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=h|3;k=e+(d|4)|0;f[k>>2]=f[k>>2]|1;Ic(e+i|0,h);return e|0}return 0}function Ic(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0;w=e+i|0;r=f[e+4>>2]|0;do if(!(r&1)){u=f[e>>2]|0;if(!(r&3))return;h=e+(0-u)|0;d=u+i|0;o=f[10222]|0;if(h>>>0<o>>>0)Ie();if((h|0)==(f[10223]|0)){t=e+(i+4)|0;r=f[t>>2]|0;if((r&3|0)!=3){p=h;s=d;break}f[10220]=d;f[t>>2]=r&-2;f[e+(4-u)>>2]=d|1;f[w>>2]=d;return}a=u>>>3;if(u>>>0<256){n=f[e+(8-u)>>2]|0;t=f[e+(12-u)>>2]|0;r=40912+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<o>>>0)Ie();if((f[n+12>>2]|0)!=(h|0))Ie()}if((t|0)==(n|0)){f[10218]=f[10218]&~(1<<a);p=h;s=d;break}if((t|0)!=(r|0)){if(t>>>0<o>>>0)Ie();r=t+8|0;if((f[r>>2]|0)==(h|0))l=r;else Ie()}else l=t+8|0;f[n+12>>2]=t;f[l>>2]=n;p=h;s=d;break}l=f[e+(24-u)>>2]|0;n=f[e+(12-u)>>2]|0;do if((n|0)==(h|0)){n=16-u|0;t=e+(n+4)|0;r=f[t>>2]|0;if(!r){t=e+n|0;r=f[t>>2]|0;if(!r){c=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0<o>>>0)Ie();else{f[t>>2]=0;c=r;break}}else{a=f[e+(8-u)>>2]|0;if(a>>>0<o>>>0)Ie();r=a+12|0;if((f[r>>2]|0)!=(h|0))Ie();t=n+8|0;if((f[t>>2]|0)==(h|0)){f[r>>2]=n;f[t>>2]=a;c=n;break}else Ie()}while(0)if(l){r=f[e+(28-u)>>2]|0;t=41176+(r<<2)|0;if((h|0)==(f[t>>2]|0)){f[t>>2]=c;if(!c){f[10219]=f[10219]&~(1<<r);p=h;s=d;break}}else{if(l>>>0<(f[10222]|0)>>>0)Ie();r=l+16|0;if((f[r>>2]|0)==(h|0))f[r>>2]=c;else f[l+20>>2]=c;if(!c){p=h;s=d;break}}n=f[10222]|0;if(c>>>0<n>>>0)Ie();f[c+24>>2]=l;r=16-u|0;t=f[e+r>>2]|0;do if(t)if(t>>>0<n>>>0)Ie();else{f[c+16>>2]=t;f[t+24>>2]=c;break}while(0)r=f[e+(r+4)>>2]|0;if(r)if(r>>>0<(f[10222]|0)>>>0)Ie();else{f[c+20>>2]=r;f[r+24>>2]=c;p=h;s=d;break}else{p=h;s=d}}else{p=h;s=d}}else{p=e;s=i}while(0)o=f[10222]|0;if(w>>>0<o>>>0)Ie();r=e+(i+4)|0;t=f[r>>2]|0;if(!(t&2)){if((w|0)==(f[10224]|0)){_=(f[10221]|0)+s|0;f[10221]=_;f[10224]=p;f[p+4>>2]=_|1;if((p|0)!=(f[10223]|0))return;f[10223]=0;f[10220]=0;return}if((w|0)==(f[10223]|0)){_=(f[10220]|0)+s|0;f[10220]=_;f[10223]=p;f[p+4>>2]=_|1;f[p+_>>2]=_;return}s=(t&-8)+s|0;a=t>>>3;do if(t>>>0>=256){l=f[e+(i+24)>>2]|0;n=f[e+(i+12)>>2]|0;do if((n|0)==(w|0)){t=e+(i+20)|0;r=f[t>>2]|0;if(!r){t=e+(i+16)|0;r=f[t>>2]|0;if(!r){k=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0<o>>>0)Ie();else{f[t>>2]=0;k=r;break}}else{a=f[e+(i+8)>>2]|0;if(a>>>0<o>>>0)Ie();r=a+12|0;if((f[r>>2]|0)!=(w|0))Ie();t=n+8|0;if((f[t>>2]|0)==(w|0)){f[r>>2]=n;f[t>>2]=a;k=n;break}else Ie()}while(0)if(l){r=f[e+(i+28)>>2]|0;t=41176+(r<<2)|0;if((w|0)==(f[t>>2]|0)){f[t>>2]=k;if(!k){f[10219]=f[10219]&~(1<<r);break}}else{if(l>>>0<(f[10222]|0)>>>0)Ie();r=l+16|0;if((f[r>>2]|0)==(w|0))f[r>>2]=k;else f[l+20>>2]=k;if(!k)break}t=f[10222]|0;if(k>>>0<t>>>0)Ie();f[k+24>>2]=l;r=f[e+(i+16)>>2]|0;do if(r)if(r>>>0<t>>>0)Ie();else{f[k+16>>2]=r;f[r+24>>2]=k;break}while(0)r=f[e+(i+20)>>2]|0;if(r)if(r>>>0<(f[10222]|0)>>>0)Ie();else{f[k+20>>2]=r;f[r+24>>2]=k;break}}}else{n=f[e+(i+8)>>2]|0;t=f[e+(i+12)>>2]|0;r=40912+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<o>>>0)Ie();if((f[n+12>>2]|0)!=(w|0))Ie()}if((t|0)==(n|0)){f[10218]=f[10218]&~(1<<a);break}if((t|0)!=(r|0)){if(t>>>0<o>>>0)Ie();r=t+8|0;if((f[r>>2]|0)==(w|0))b=r;else Ie()}else b=t+8|0;f[n+12>>2]=t;f[b>>2]=n}while(0)f[p+4>>2]=s|1;f[p+s>>2]=s;if((p|0)==(f[10223]|0)){f[10220]=s;return}}else{f[r>>2]=t&-2;f[p+4>>2]=s|1;f[p+s>>2]=s}r=s>>>3;if(s>>>0<256){t=r<<1;a=40912+(t<<2)|0;n=f[10218]|0;r=1<<r;if(n&r){r=40912+(t+2<<2)|0;t=f[r>>2]|0;if(t>>>0<(f[10222]|0)>>>0)Ie();else{m=r;_=t}}else{f[10218]=n|r;m=40912+(t+2<<2)|0;_=a}f[m>>2]=p;f[_+12>>2]=p;f[p+8>>2]=_;f[p+12>>2]=a;return}r=s>>>8;if(r)if(s>>>0>16777215)a=31;else{m=(r+1048320|0)>>>16&8;_=r<<m;w=(_+520192|0)>>>16&4;_=_<<w;a=(_+245760|0)>>>16&2;a=14-(w|m|a)+(_<<a>>>15)|0;a=s>>>(a+7|0)&1|a<<1}else a=0;r=41176+(a<<2)|0;f[p+28>>2]=a;f[p+20>>2]=0;f[p+16>>2]=0;t=f[10219]|0;n=1<<a;if(!(t&n)){f[10219]=t|n;f[r>>2]=p;f[p+24>>2]=r;f[p+12>>2]=p;f[p+8>>2]=p;return}r=f[r>>2]|0;e:do if((f[r+4>>2]&-8|0)!=(s|0)){a=s<<((a|0)==31?0:25-(a>>>1)|0);while(1){t=r+16+(a>>>31<<2)|0;n=f[t>>2]|0;if(!n)break;if((f[n+4>>2]&-8|0)==(s|0)){r=n;break e}else{a=a<<1;r=n}}if(t>>>0<(f[10222]|0)>>>0)Ie();f[t>>2]=p;f[p+24>>2]=r;f[p+12>>2]=p;f[p+8>>2]=p;return}while(0)t=r+8|0;n=f[t>>2]|0;_=f[10222]|0;if(!(n>>>0>=_>>>0&r>>>0>=_>>>0))Ie();f[n+12>>2]=p;f[t>>2]=p;f[p+8>>2]=n;f[p+12>>2]=r;f[p+24>>2]=0;return}function Bc(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;t=f[9321]|0;Uc(42048,t,42104);f[10342]=42892;f[10344]=42912;f[10343]=0;e=f[10720]|0;m=0;ce(62,41368+e|0,42048);a=m;m=0;if(a&1){a=Ye()|0;nh(41376);$e(a|0)}f[41368+(e+72)>>2]=0;f[41368+(e+76)>>2]=-1;n=f[9322]|0;Hc(42152,n,42112);f[10364]=42972;f[10365]=42992;r=f[10740]|0;m=0;ce(62,41456+r|0,42152);a=m;m=0;if(a&1){a=Ye()|0;nh(41460);$e(a|0)}e=r+72|0;f[41456+e>>2]=0;i=r+76|0;f[41456+i>>2]=-1;a=f[9320]|0;Hc(42200,a,42120);f[10385]=42972;f[10386]=42992;m=0;ce(62,41540+r|0,42200);s=m;m=0;if(s&1){s=Ye()|0;nh(41544);$e(s|0)}f[41540+e>>2]=0;f[41540+i>>2]=-1;s=f[41540+((f[(f[10385]|0)+-12>>2]|0)+24)>>2]|0;f[10406]=42972;f[10407]=42992;m=0;ce(62,41624+r|0,s|0);s=m;m=0;if(s&1){s=Ye()|0;nh(41628);$e(s|0)}f[41624+e>>2]=0;f[41624+i>>2]=-1;f[41368+((f[(f[10342]|0)+-12>>2]|0)+72)>>2]=41456;e=41540+((f[(f[10385]|0)+-12>>2]|0)+4)|0;f[e>>2]=f[e>>2]|8192;f[41540+((f[(f[10385]|0)+-12>>2]|0)+72)>>2]=41456;Yc(42248,t,42128);f[10427]=42932;f[10429]=42952;f[10428]=0;e=f[10730]|0;m=0;ce(62,41708+e|0,42248);s=m;m=0;if(s&1){s=Ye()|0;oh(41716);$e(s|0)}f[41708+(e+72)>>2]=0;f[41708+(e+76)>>2]=-1;qc(42304,n,42136);f[10449]=43012;f[10450]=43032;r=f[10750]|0;m=0;ce(62,41796+r|0,42304);s=m;m=0;if(s&1){s=Ye()|0;oh(41800);$e(s|0)}e=r+72|0;f[41796+e>>2]=0;i=r+76|0;f[41796+i>>2]=-1;qc(42352,a,42144);f[10470]=43012;f[10471]=43032;m=0;ce(62,41880+r|0,42352);s=m;m=0;if(s&1){s=Ye()|0;oh(41884);$e(s|0)}f[41880+e>>2]=0;f[41880+i>>2]=-1;s=f[41880+((f[(f[10470]|0)+-12>>2]|0)+24)>>2]|0;f[10491]=43012;f[10492]=43032;m=0;ce(62,41964+r|0,s|0);s=m;m=0;if(s&1){s=Ye()|0;oh(41968);$e(s|0)}else{f[41964+e>>2]=0;f[41964+i>>2]=-1;f[41708+((f[(f[10427]|0)+-12>>2]|0)+72)>>2]=41796;s=41880+((f[(f[10470]|0)+-12>>2]|0)+4)|0;f[s>>2]=f[s>>2]|8192;f[41880+((f[(f[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Nc(e){e=e|0;m=0;he(70,41456)|0;e=m;m=0;if(((!(e&1)?(m=0,he(70,41624)|0,e=m,m=0,!(e&1)):0)?(m=0,he(71,41796)|0,e=m,m=0,!(e&1)):0)?(m=0,he(71,41964)|0,e=m,m=0,!(e&1)):0)return;e=Ye(0)|0;Fi(e)}function Fc(){Bc(0);hi(187,56757,w|0)|0;return}function jc(){return}function Uc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;a=c;c=c+16|0;s=a+4|0;n=a;hh(e);f[e>>2]=42600;f[e+32>>2]=i;f[e+40>>2]=r;f[e+48>>2]=-1;t[e+52>>0]=0;Ou(s,e+4|0);f[n>>2]=f[s>>2];m=0;ce(23,e|0,n|0);r=m;m=0;if(r&1){s=Ye()|0;Lu(n);ch(e);$e(s|0)}else{Lu(n);c=a;return}}function Hc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;a=c;c=c+16|0;s=a+4|0;n=a;hh(e);f[e>>2]=42536;f[e+32>>2]=i;Ou(s,e+4|0);f[n>>2]=f[s>>2];m=0;i=ve(37,n|0,44280)|0;s=m;m=0;if(s&1){s=Ye()|0;Lu(n);ch(e);$e(s|0)}else{Lu(n);f[e+36>>2]=i;f[e+40>>2]=r;t[e+44>>0]=(lE[f[(f[i>>2]|0)+28>>2]&127](i)|0)&1;c=a;return}}function Yc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;a=c;c=c+16|0;s=a+4|0;n=a;Ch(e);f[e>>2]=42472;f[e+32>>2]=i;f[e+40>>2]=r;f[e+48>>2]=-1;t[e+52>>0]=0;Ou(s,e+4|0);f[n>>2]=f[s>>2];m=0;ce(21,e|0,n|0);r=m;m=0;if(r&1){s=Ye()|0;Lu(n);Th(e);$e(s|0)}else{Lu(n);c=a;return}}function qc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;a=c;c=c+16|0;s=a+4|0;n=a;Ch(e);f[e>>2]=42408;f[e+32>>2]=i;Ou(s,e+4|0);f[n>>2]=f[s>>2];m=0;i=ve(37,n|0,44288)|0;s=m;m=0;if(s&1){s=Ye()|0;Lu(n);Th(e);$e(s|0)}else{Lu(n);f[e+36>>2]=i;f[e+40>>2]=r;t[e+44>>0]=(lE[f[(f[i>>2]|0)+28>>2]&127](i)|0)&1;c=a;return}}function zc(e){e=e|0;Th(e);Iv(e);return}function Xc(e,i){e=e|0;i=i|0;lE[f[(f[e>>2]|0)+24>>2]&127](e)|0;i=Bu(i,44288)|0;f[e+36>>2]=i;t[e+44>>0]=(lE[f[(f[i>>2]|0)+28>>2]&127](i)|0)&1;return}function Gc(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0;u=c;c=c+16|0;l=u+8|0;s=u;r=e+36|0;t=e+40|0;n=l+8|0;a=l;i=e+32|0;e:while(1){e=f[r>>2]|0;e=wE[f[(f[e>>2]|0)+20>>2]&31](e,f[t>>2]|0,l,n,s)|0;d=(f[s>>2]|0)-a|0;if((Py(l,1,d,f[i>>2]|0)|0)!=(d|0)){e=-1;break}switch(e|0){case 1:break;case 2:{e=-1;break e}default:{o=4;break e}}}if((o|0)==4)e=((Ty(f[i>>2]|0)|0)!=0)<<31>>31;c=u;return e|0}function Vc(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;e:do if(!(t[e+44>>0]|0))if((r|0)>0){n=i;i=0;while(1){if((kE[f[(f[e>>2]|0)+52>>2]&63](e,f[n>>2]|0)|0)==-1)break e;i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0;else i=Py(i,4,r,f[e+32>>2]|0)|0;while(0)return i|0}function Kc(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;_=c;c=c+32|0;k=_+16|0;r=_+8|0;b=_+4|0;h=_;w=(i|0)==-1;e:do if(!w){f[r>>2]=i;if(t[e+44>>0]|0)if((Py(r,4,1,f[e+32>>2]|0)|0)==1){m=11;break}else{r=-1;break}f[b>>2]=k;u=r+4|0;d=e+36|0;a=e+40|0;s=k+8|0;l=k;o=e+32|0;while(1){e=f[d>>2]|0;e=yE[f[(f[e>>2]|0)+12>>2]&15](e,f[a>>2]|0,r,u,h,k,s,b)|0;if((f[h>>2]|0)==(r|0)){r=-1;break e}if((e|0)==3)break;n=(e|0)==1;if(e>>>0>=2){r=-1;break e}e=(f[b>>2]|0)-l|0;if((Py(k,1,e,f[o>>2]|0)|0)!=(e|0)){r=-1;break e}if(n)r=n?f[h>>2]|0:r;else{m=11;break e}}if((Py(r,1,1,f[o>>2]|0)|0)!=1)r=-1;else m=11}else m=11;while(0)if((m|0)==11)r=w?0:i;c=_;return r|0}function Wc(e,i){e=e|0;i=i|0;var r=0,n=0;n=Bu(i,44288)|0;r=e+36|0;f[r>>2]=n;i=e+44|0;f[i>>2]=lE[f[(f[n>>2]|0)+24>>2]&127](n)|0;r=f[r>>2]|0;t[e+53>>0]=(lE[f[(f[r>>2]|0)+28>>2]&127](r)|0)&1;if((f[i>>2]|0)>8)Xo(56783);return}function Jc(e){e=e|0;Th(e);Iv(e);return}function Qc(e){e=e|0;return ed(e,0)|0}function Zc(e){e=e|0;return ed(e,1)|0}function $c(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+32|0;u=d+16|0;o=d+8|0;n=d+4|0;a=d;s=e+52|0;r=(t[s>>0]|0)!=0;e:do if((i|0)==-1)if(r)i=-1;else{i=f[e+48>>2]|0;t[s>>0]=(i|0)!=-1&1}else{l=e+48|0;i:do if(r){f[n>>2]=f[l>>2];r=f[e+36>>2]|0;switch(yE[f[(f[r>>2]|0)+12>>2]&15](r,f[e+40>>2]|0,n,n+4|0,a,u,u+8|0,o)|0){case 1:case 2:{i=-1;break e}case 3:{t[u>>0]=f[l>>2];f[o>>2]=u+1;break}default:{}}r=e+32|0;while(1){n=f[o>>2]|0;if(n>>>0<=u>>>0)break i;e=n+-1|0;f[o>>2]=e;if((Oy(t[e>>0]|0,f[r>>2]|0)|0)==-1){i=-1;break e}}}while(0)f[l>>2]=i;t[s>>0]=1}while(0)c=d;return i|0}function ed(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0;m=c;c=c+32|0;w=m+16|0;k=m+8|0;d=m+4|0;h=m;a=e+52|0;e:do if(t[a>>0]|0){n=e+48|0;r=f[n>>2]|0;if(i){f[n>>2]=-1;t[a>>0]=0}}else{r=f[e+44>>2]|0;r=(r|0)>1?r:1;b=e+32|0;if((r|0)>0){a=0;do{n=xy(f[b>>2]|0)|0;if((n|0)==-1){r=-1;break e}t[w+a>>0]=n;a=a+1|0}while((a|0)<(r|0))}i:do if(!(t[e+53>>0]|0)){l=e+40|0;o=e+36|0;u=k+4|0;r:while(1){_=f[l>>2]|0;a=_;n=f[a>>2]|0;a=f[a+4>>2]|0;p=f[o>>2]|0;s=w+r|0;switch(yE[f[(f[p>>2]|0)+16>>2]&15](p,_,w,s,d,k,u,h)|0){case 2:{r=-1;break e}case 3:break r;case 1:break;default:break i}p=f[l>>2]|0;f[p>>2]=n;f[p+4>>2]=a;if((r|0)==8){r=-1;break e}n=xy(f[b>>2]|0)|0;if((n|0)==-1){r=-1;break e}t[s>>0]=n;r=r+1|0}f[k>>2]=t[w>>0]}else f[k>>2]=t[w>>0];while(0)if(i){r=f[k>>2]|0;f[e+48>>2]=r;break}while(1){if((r|0)<=0)break;r=r+-1|0;if((Oy(t[w+r>>0]|0,f[b>>2]|0)|0)==-1){r=-1;break e}}r=f[k>>2]|0}while(0)c=m;return r|0}function id(e){e=e|0;ch(e);Iv(e);return}function rd(e,i){e=e|0;i=i|0;lE[f[(f[e>>2]|0)+24>>2]&127](e)|0;i=Bu(i,44280)|0;f[e+36>>2]=i;t[e+44>>0]=(lE[f[(f[i>>2]|0)+28>>2]&127](i)|0)&1;return}function td(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0;u=c;c=c+16|0;l=u+8|0;s=u;r=e+36|0;t=e+40|0;n=l+8|0;a=l;i=e+32|0;e:while(1){e=f[r>>2]|0;e=wE[f[(f[e>>2]|0)+20>>2]&31](e,f[t>>2]|0,l,n,s)|0;d=(f[s>>2]|0)-a|0;if((Py(l,1,d,f[i>>2]|0)|0)!=(d|0)){e=-1;break}switch(e|0){case 1:break;case 2:{e=-1;break e}default:{o=4;break e}}}if((o|0)==4)e=((Ty(f[i>>2]|0)|0)!=0)<<31>>31;c=u;return e|0}function nd(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;e:do if(!(t[e+44>>0]|0))if((r|0)>0){n=i;i=0;while(1){if((kE[f[(f[e>>2]|0)+52>>2]&63](e,a[n>>0]|0)|0)==-1)break e;i=i+1|0;if((i|0)<(r|0))n=n+1|0;else break}}else i=0;else i=Py(i,1,r,f[e+32>>2]|0)|0;while(0)return i|0}function fd(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;_=c;c=c+32|0;k=_+16|0;r=_+8|0;b=_+4|0;h=_;w=(i|0)==-1;e:do if(!w){t[r>>0]=i;if(t[e+44>>0]|0)if((Py(r,1,1,f[e+32>>2]|0)|0)==1){m=11;break}else{r=-1;break}f[b>>2]=k;d=r+1|0;a=e+36|0;s=e+40|0;l=k+8|0;o=k;u=e+32|0;while(1){e=f[a>>2]|0;e=yE[f[(f[e>>2]|0)+12>>2]&15](e,f[s>>2]|0,r,d,h,k,l,b)|0;if((f[h>>2]|0)==(r|0)){r=-1;break e}if((e|0)==3)break;n=(e|0)==1;if(e>>>0>=2){r=-1;break e}e=(f[b>>2]|0)-o|0;if((Py(k,1,e,f[u>>2]|0)|0)!=(e|0)){r=-1;break e}if(n)r=n?f[h>>2]|0:r;else{m=11;break e}}if((Py(r,1,1,f[u>>2]|0)|0)!=1)r=-1;else m=11}else m=11;while(0)if((m|0)==11)r=w?0:i;c=_;return r|0}function ad(e,i){e=e|0;i=i|0;var r=0,n=0;n=Bu(i,44280)|0;r=e+36|0;f[r>>2]=n;i=e+44|0;f[i>>2]=lE[f[(f[n>>2]|0)+24>>2]&127](n)|0;r=f[r>>2]|0;t[e+53>>0]=(lE[f[(f[r>>2]|0)+28>>2]&127](r)|0)&1;if((f[i>>2]|0)>8)Xo(56783);return}function sd(e){e=e|0;ch(e);Iv(e);return}function ld(e){e=e|0;return cd(e,0)|0}function od(e){e=e|0;return cd(e,1)|0}function ud(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+32|0;u=d+16|0;o=d+4|0;n=d+8|0;a=d;s=e+52|0;r=(t[s>>0]|0)!=0;e:do if((i|0)==-1)if(r)i=-1;else{i=f[e+48>>2]|0;t[s>>0]=(i|0)!=-1&1}else{l=e+48|0;i:do if(r){t[n>>0]=f[l>>2];r=f[e+36>>2]|0;switch(yE[f[(f[r>>2]|0)+12>>2]&15](r,f[e+40>>2]|0,n,n+1|0,a,u,u+8|0,o)|0){case 1:case 2:{i=-1;break e}case 3:{t[u>>0]=f[l>>2];f[o>>2]=u+1;break}default:{}}r=e+32|0;while(1){n=f[o>>2]|0;if(n>>>0<=u>>>0)break i;e=n+-1|0;f[o>>2]=e;if((Oy(t[e>>0]|0,f[r>>2]|0)|0)==-1){i=-1;break e}}}while(0)f[l>>2]=i;t[s>>0]=1}while(0)c=d;return i|0}function cd(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0;_=c;c=c+32|0;m=_+16|0;w=_+8|0;h=_+4|0;b=_;s=e+52|0;e:do if(t[s>>0]|0){n=e+48|0;r=f[n>>2]|0;if(i){f[n>>2]=-1;t[s>>0]=0}}else{r=f[e+44>>2]|0;r=(r|0)>1?r:1;k=e+32|0;if((r|0)>0){s=0;do{n=xy(f[k>>2]|0)|0;if((n|0)==-1){r=-1;break e}t[m+s>>0]=n;s=s+1|0}while((s|0)<(r|0))}i:do if(!(t[e+53>>0]|0)){o=e+40|0;u=e+36|0;d=w+1|0;r:while(1){p=f[o>>2]|0;s=p;n=f[s>>2]|0;s=f[s+4>>2]|0;v=f[u>>2]|0;l=m+r|0;switch(yE[f[(f[v>>2]|0)+16>>2]&15](v,p,m,l,h,w,d,b)|0){case 2:{r=-1;break e}case 3:break r;case 1:break;default:break i}v=f[o>>2]|0;f[v>>2]=n;f[v+4>>2]=s;if((r|0)==8){r=-1;break e}n=xy(f[k>>2]|0)|0;if((n|0)==-1){r=-1;break e}t[l>>0]=n;r=r+1|0}t[w>>0]=t[m>>0]|0}else t[w>>0]=t[m>>0]|0;while(0)if(i){r=t[w>>0]|0;f[e+48>>2]=r&255}else{while(1){if((r|0)<=0)break;r=r+-1|0;if((Oy(a[m+r>>0]|0,f[k>>2]|0)|0)==-1){r=-1;break e}}r=t[w>>0]|0}r=r&255}while(0)c=_;return r|0}function dd(e){e=e|0;return}function hd(e){e=e|0;e=e+4|0;f[e>>2]=(f[e>>2]|0)+1;return}function bd(e){e=e|0;var i=0,r=0;r=e+4|0;i=f[r>>2]|0;f[r>>2]=i+-1;if(!i){fE[f[(f[e>>2]|0)+8>>2]&255](e);e=1}else e=0;return e|0}function kd(e,i){e=e|0;i=i|0;f[e>>2]=36868;m=0;ce(86,e+4|0,((t[i>>0]&1)==0?i+1|0:f[i+8>>2]|0)|0);e=m;m=0;if(e&1){e=Ye()|0;$e(e|0)}else return}function wd(e,i){e=e|0;i=i|0;f[e>>2]=36868;m=0;ce(86,e+4|0,i|0);e=m;m=0;if(e&1){e=Ye()|0;$e(e|0)}else return}function md(e,i){e=e|0;i=i|0;var r=0,t=0;t=Gy(i)|0;r=Lv(t+13|0)|0;f[r>>2]=t;f[r+4>>2]=t;f[r+8>>2]=0;r=r+12|0;S_(r|0,i|0,t+1|0)|0;f[e>>2]=r;return}function _d(e,i,r){e=e|0;i=i|0;r=r|0;f[e>>2]=r;f[e+4>>2]=i;return}function pd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=c;c=c+16|0;t=n;vE[f[(f[e>>2]|0)+12>>2]&15](t,e,i);if((f[t+4>>2]|0)==(f[r+4>>2]|0))t=(f[t>>2]|0)==(f[r>>2]|0);else t=0;c=n;return t|0}function vd(e,i,r){e=e|0;i=i|0;r=r|0;return((f[i>>2]|0)==(r|0)?(f[i+4>>2]|0)==(e|0):0)|0}function gd(e,i,r){e=e|0;i=i|0;r=r|0;i=Bg(r)|0;Dd(e,i,Gy(i)|0);return}function yd(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;n=f[i>>2]|0;do if(n){a=t[r>>0]|0;if(!(a&1))a=(a&255)>>>1;else a=f[r+4>>2]|0;if(a){Ud(r,56990)|0;n=f[i>>2]|0}i=f[i+4>>2]|0;vE[f[(f[i>>2]|0)+24>>2]&15](s,i,n);i=t[s>>0]|0;a=(i&1)==0;m=0;ke(30,r|0,(a?s+1|0:f[s+8>>2]|0)|0,(a?(i&255)>>>1:f[s+4>>2]|0)|0)|0;i=m;m=0;if(i&1){l=Ye()|0;Od(s);$e(l|0)}else{Od(s);break}}while(0)f[e>>2]=f[r>>2];f[e+4>>2]=f[r+4>>2];f[e+8>>2]=f[r+8>>2];f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;c=l;return}function Ed(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;n=c;c=c+32|0;t=n+12|0;a=n;Dd(a,r,Gy(r)|0);m=0;Se(10,t|0,i|0,a|0);r=m;m=0;do if(!(r&1)){m=0;ce(87,e|0,t|0);r=m;m=0;if(r&1){n=Ye()|0;Od(t);t=n;break}else{Od(t);Od(a);f[e>>2]=42664;r=f[i+4>>2]|0;a=e+8|0;f[a>>2]=f[i>>2];f[a+4>>2]=r;c=n;return}}else t=Ye()|0;while(0)Od(a);$e(t|0)}function Ad(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;a=c;c=c+48|0;n=a+24|0;l=a+16|0;s=a;f[l>>2]=i;f[l+4>>2]=r;xd(s,t);m=0;Se(10,n|0,l|0,s|0);t=m;m=0;do if(!(t&1)){m=0;ce(87,e|0,n|0);l=m;m=0;if(l&1){l=Ye()|0;Od(n);n=l;break}else{Od(n);Od(s);f[e>>2]=42664;f[e+8>>2]=i;f[e+12>>2]=r;c=a;return}}else n=Ye()|0;while(0)Od(s);$e(n|0)}function Sd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;n=c;c=c+48|0;t=n+24|0;s=n+16|0;a=n;f[s>>2]=i;f[s+4>>2]=r;Dd(a,58898,0);m=0;Se(10,t|0,s|0,a|0);s=m;m=0;do if(!(s&1)){m=0;ce(87,e|0,t|0);s=m;m=0;if(s&1){s=Ye()|0;Od(t);t=s;break}else{Od(t);Od(a);f[e>>2]=42664;f[e+8>>2]=i;f[e+12>>2]=r;c=n;return}}else t=Ye()|0;while(0)Od(a);$e(t|0)}function Td(e){e=e|0;Xv(e);return}function Md(e){e=e|0;Xv(e);Iv(e);return}function Cd(e){e=e|0;return}function Pd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;vi(42676)|0;if((f[e>>2]|0)==1)do Re(42704,42676)|0;while((f[e>>2]|0)==1)do if(!(f[e>>2]|0)){f[e>>2]=1;m=0;he(72,42676)|0;t=m;m=0;if((((!(t&1)?(m=0,ue(r|0,i|0),t=m,m=0,!(t&1)):0)?(m=0,he(73,42676)|0,t=m,m=0,!(t&1)):0)?(f[e>>2]=-1,m=0,he(72,42676)|0,t=m,m=0,!(t&1)):0)?(m=0,he(74,42704)|0,t=m,m=0,!(t&1)):0)break;t=Ye(0)|0;Je(t|0)|0;m=0;he(73,42676)|0;t=m;m=0;if((!(t&1)?(f[e>>2]=0,m=0,he(72,42676)|0,t=m,m=0,!(t&1)):0)?(m=0,he(74,42704)|0,t=m,m=0,!(t&1)):0){m=0;Te(5);m=0}i=Ye()|0;m=0;Te(3);t=m;m=0;if(t&1){t=Ye(0)|0;Fi(t)}else $e(i|0)}else fi(42676)|0;while(0)return}function xd(e,i){e=e|0;i=i|0;if(!(t[i>>0]&1)){f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2]}else Dd(e,f[i+8>>2]|0,f[i+4>>2]|0);return}function Dd(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;if(r>>>0>4294967279)Dv(e);if(r>>>0<11){t[e>>0]=r<<1;e=e+1|0}else{a=r+16&-16;n=Lv(a)|0;f[e+8>>2]=n;f[e>>2]=a|1;f[e+4>>2]=r;e=n}S_(e|0,i|0,r|0)|0;t[e+r>>0]=0;return}function Rd(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;if(i>>>0>4294967279)Dv(e);if(i>>>0<11){t[e>>0]=i<<1;e=e+1|0}else{a=i+16&-16;n=Lv(a)|0;f[e+8>>2]=n;f[e>>2]=a|1;f[e+4>>2]=i;e=n}y_(e|0,r|0,i|0)|0;t[e+i>>0]=0;return}function Od(e){e=e|0;if(t[e>>0]&1)Iv(f[e+8>>2]|0);return}function Ld(e,i){e=e|0;i=i|0;var r=0,n=0;if((e|0)!=(i|0)){r=t[i>>0]|0;n=(r&1)==0;Bd(e,n?i+1|0:f[i+8>>2]|0,n?(r&255)>>>1:f[i+4>>2]|0)|0}return e|0}function Id(e,i){e=e|0;i=i|0;return Bd(e,i,Gy(i)|0)|0}function Bd(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;n=t[e>>0]|0;if(!(n&1))s=10;else{n=f[e>>2]|0;s=(n&-2)+-1|0;n=n&255}a=(n&1)==0;do if(s>>>0>=r>>>0){if(a)n=e+1|0;else n=f[e+8>>2]|0;M_(n|0,i|0,r|0)|0;t[n+r>>0]=0;if(!(t[e>>0]&1)){t[e>>0]=r<<1;break}else{f[e+4>>2]=r;break}}else{if(a)n=(n&255)>>>1;else n=f[e+4>>2]|0;qd(e,s,r-s|0,n,0,n,r,i)}while(0)return e|0}function Nd(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;n=t[e>>0]|0;a=(n&1)==0;if(a)n=(n&255)>>>1;else n=f[e+4>>2]|0;do if(n>>>0>=i>>>0)if(a){t[e+1+i>>0]=0;t[e>>0]=i<<1;break}else{t[(f[e+8>>2]|0)+i>>0]=0;f[e+4>>2]=i;break}else Fd(e,i-n|0,r)|0;while(0)return}function Fd(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;if(i){n=t[e>>0]|0;if(!(n&1))a=10;else{n=f[e>>2]|0;a=(n&-2)+-1|0;n=n&255}if(!(n&1))s=(n&255)>>>1;else s=f[e+4>>2]|0;if((a-s|0)>>>0<i>>>0){zd(e,a,i-a+s|0,s,s,0,0);n=t[e>>0]|0}if(!(n&1))a=e+1|0;else a=f[e+8>>2]|0;y_(a+s|0,r|0,i|0)|0;n=s+i|0;if(!(t[e>>0]&1))t[e>>0]=n<<1;else f[e+4>>2]=n;t[a+n>>0]=0}return e|0}function jd(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0;if(i>>>0>4294967279)Dv(e);r=t[e>>0]|0;if(!(r&1))n=10;else{r=f[e>>2]|0;n=(r&-2)+-1|0;r=r&255}if(!(r&1))o=(r&255)>>>1;else o=f[e+4>>2]|0;i=o>>>0>i>>>0?o:i;if(i>>>0<11)l=10;else l=(i+16&-16)+-1|0;e:do if((l|0)!=(n|0)){do if((l|0)!=10){i=l+1|0;if(l>>>0<=n>>>0){m=0;i=he(67,i|0)|0;s=m;m=0;if(s&1){e=Ye(0)|0;Je(e|0)|0;Ze();break e}}else i=Lv(i)|0;if(!(r&1)){n=1;a=e+1|0;s=0;break}else{n=1;a=f[e+8>>2]|0;s=1;break}}else{i=e+1|0;n=0;a=f[e+8>>2]|0;s=1}while(0)if(!(r&1))r=(r&255)>>>1;else r=f[e+4>>2]|0;S_(i|0,a|0,r+1|0)|0;if(s)Iv(a);if(n){f[e>>2]=l+1|1;f[e+4>>2]=o;f[e+8>>2]=i;break}else{t[e>>0]=o<<1;break}}while(0)return}function Ud(e,i){e=e|0;i=i|0;return Yd(e,i,Gy(i)|0)|0}function Hd(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;r=t[e>>0]|0;n=(r&1)!=0;if(n){a=(f[e>>2]&-2)+-1|0;s=f[e+4>>2]|0}else{a=10;s=(r&255)>>>1}if((s|0)==(a|0)){zd(e,a,1,a,a,0,0);if(!(t[e>>0]&1))a=7;else a=8}else if(n)a=8;else a=7;if((a|0)==7){t[e>>0]=(s<<1)+2;r=e+1|0;n=s+1|0}else if((a|0)==8){r=f[e+8>>2]|0;n=s+1|0;f[e+4>>2]=n}t[r+s>>0]=i;t[r+n>>0]=0;return}function Yd(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;n=t[e>>0]|0;if(!(n&1))a=10;else{n=f[e>>2]|0;a=(n&-2)+-1|0;n=n&255}if(!(n&1))s=(n&255)>>>1;else s=f[e+4>>2]|0;if((a-s|0)>>>0>=r>>>0){if(r){if(!(n&1))a=e+1|0;else a=f[e+8>>2]|0;S_(a+s|0,i|0,r|0)|0;n=s+r|0;if(!(t[e>>0]&1))t[e>>0]=n<<1;else f[e+4>>2]=n;t[a+n>>0]=0}}else qd(e,a,r-a+s|0,s,s,0,r,i);return e|0}function qd(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0,d=0;if((-18-i|0)>>>0<r>>>0)Dv(e);if(!(t[e>>0]&1))d=e+1|0;else d=f[e+8>>2]|0;if(i>>>0<2147483623){u=r+i|0;c=i<<1;u=u>>>0<c>>>0?c:u;u=u>>>0<11?11:u+16&-16}else u=-17;c=Lv(u)|0;if(a)S_(c|0,d|0,a|0)|0;if(l)S_(c+a|0,o|0,l|0)|0;r=n-s|0;if((r|0)!=(a|0))S_(c+(l+a)|0,d+(s+a)|0,r-a|0)|0;if((i|0)!=10)Iv(d);f[e+8>>2]=c;f[e>>2]=u|1;i=r+l|0;f[e+4>>2]=i;t[c+i>>0]=0;return}function zd(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,c=0;if((-17-i|0)>>>0<r>>>0)Dv(e);if(!(t[e>>0]&1))c=e+1|0;else c=f[e+8>>2]|0;if(i>>>0<2147483623){o=r+i|0;u=i<<1;o=o>>>0<u>>>0?u:o;o=o>>>0<11?11:o+16&-16}else o=-17;u=Lv(o)|0;if(a)S_(u|0,c|0,a|0)|0;r=n-s|0;if((r|0)!=(a|0))S_(u+(l+a)|0,c+(s+a)|0,r-a|0)|0;if((i|0)!=10)Iv(c);f[e+8>>2]=u;f[e>>2]=o|1;return}function Xd(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;if(r>>>0>1073741807)Dv(e);if(r>>>0<2){t[e>>0]=r<<1;e=e+4|0}else{a=r+4&-4;n=Lv(a<<2)|0;f[e+8>>2]=n;f[e>>2]=a|1;f[e+4>>2]=r;e=n}Wy(e,i,r)|0;f[e+(r<<2)>>2]=0;return}function Gd(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;if(i>>>0>1073741807)Dv(e);if(i>>>0<2){t[e>>0]=i<<1;e=e+4|0}else{a=i+4&-4;n=Lv(a<<2)|0;f[e+8>>2]=n;f[e>>2]=a|1;f[e+4>>2]=i;e=n}Qy(e,r,i)|0;f[e+(i<<2)>>2]=0;return}function Vd(e){e=e|0;if(t[e>>0]&1)Iv(f[e+8>>2]|0);return}function Kd(e,i){e=e|0;i=i|0;return Wd(e,i,Ky(i)|0)|0}function Wd(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;n=t[e>>0]|0;if(!(n&1))s=1;else{n=f[e>>2]|0;s=(n&-2)+-1|0;n=n&255}a=(n&1)==0;do if(s>>>0>=r>>>0){if(a)n=e+4|0;else n=f[e+8>>2]|0;Jy(n,i,r)|0;f[n+(r<<2)>>2]=0;if(!(t[e>>0]&1)){t[e>>0]=r<<1;break}else{f[e+4>>2]=r;break}}else{if(a)n=(n&255)>>>1;else n=f[e+4>>2]|0;Zd(e,s,r-s|0,n,0,n,r,i)}while(0)return e|0}function Jd(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0;if(i>>>0>1073741807)Dv(e);r=t[e>>0]|0;if(!(r&1))n=1;else{r=f[e>>2]|0;n=(r&-2)+-1|0;r=r&255}if(!(r&1))o=(r&255)>>>1;else o=f[e+4>>2]|0;i=o>>>0>i>>>0?o:i;if(i>>>0<2)l=1;else l=(i+4&-4)+-1|0;e:do if((l|0)!=(n|0)){do if((l|0)!=1){i=(l<<2)+4|0;if(l>>>0<=n>>>0){m=0;i=he(67,i|0)|0;s=m;m=0;if(s&1){e=Ye(0)|0;Je(e|0)|0;Ze();break e}}else i=Lv(i)|0;if(!(r&1)){n=1;a=e+4|0;s=0;break}else{n=1;a=f[e+8>>2]|0;s=1;break}}else{i=e+4|0;n=0;a=f[e+8>>2]|0;s=1}while(0)if(!(r&1))r=(r&255)>>>1;else r=f[e+4>>2]|0;Wy(i,a,r+1|0)|0;if(s)Iv(a);if(n){f[e>>2]=l+1|1;f[e+4>>2]=o;f[e+8>>2]=i;break}else{t[e>>0]=o<<1;break}}while(0)return}function Qd(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;r=t[e>>0]|0;n=(r&1)!=0;if(n){a=(f[e>>2]&-2)+-1|0;s=f[e+4>>2]|0}else{a=1;s=(r&255)>>>1}if((s|0)==(a|0)){$d(e,a,1,a,a,0,0);if(!(t[e>>0]&1))a=7;else a=8}else if(n)a=8;else a=7;if((a|0)==7){t[e>>0]=(s<<1)+2;r=e+4|0;n=s+1|0}else if((a|0)==8){r=f[e+8>>2]|0;n=s+1|0;f[e+4>>2]=n}f[r+(s<<2)>>2]=i;f[r+(n<<2)>>2]=0;return}function Zd(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0,d=0;if((1073741806-i|0)>>>0<r>>>0)Dv(e);if(!(t[e>>0]&1))d=e+4|0;else d=f[e+8>>2]|0;if(i>>>0<536870887){u=r+i|0;c=i<<1;u=u>>>0<c>>>0?c:u;u=u>>>0<2?2:u+4&-4}else u=1073741807;c=Lv(u<<2)|0;if(a)Wy(c,d,a)|0;if(l)Wy(c+(a<<2)|0,o,l)|0;r=n-s|0;if((r|0)!=(a|0))Wy(c+(l+a<<2)|0,d+(s+a<<2)|0,r-a|0)|0;if((i|0)!=1)Iv(d);f[e+8>>2]=c;f[e>>2]=u|1;i=r+l|0;f[e+4>>2]=i;f[c+(i<<2)>>2]=0;return}function $d(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,c=0;if((1073741807-i|0)>>>0<r>>>0)Dv(e);if(!(t[e>>0]&1))c=e+4|0;else c=f[e+8>>2]|0;if(i>>>0<536870887){o=r+i|0;u=i<<1;o=o>>>0<u>>>0?u:o;o=o>>>0<2?2:o+4&-4}else o=1073741807;u=Lv(o<<2)|0;if(a)Wy(u,c,a)|0;r=n-s|0;if((r|0)!=(a|0))Wy(u+(l+a<<2)|0,c+(s+a<<2)|0,r-a|0)|0;if((i|0)!=1)Iv(c);f[e+8>>2]=u;f[e>>2]=o|1;return}function eh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;a=i;n=r-a|0;if(n>>>0>4294967279)Dv(e);if(n>>>0<11){t[e>>0]=n<<1;s=e+1|0}else{l=n+16&-16;s=Lv(l)|0;f[e+8>>2]=s;f[e>>2]=l|1;f[e+4>>2]=n}e=r-a|0;if((i|0)!=(r|0)){n=s;while(1){t[n>>0]=t[i>>0]|0;i=i+1|0;if((i|0)==(r|0))break;else n=n+1|0}}t[s+e>>0]=0;return}function ih(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;s=i;n=r-s|0;a=n>>2;if(a>>>0>1073741807)Dv(e);if(a>>>0<2){t[e>>0]=n>>>1;e=e+4|0}else{l=a+4&-4;n=Lv(l<<2)|0;f[e+8>>2]=n;f[e>>2]=l|1;f[e+4>>2]=a;e=n}a=(r-s|0)>>>2;if((i|0)!=(r|0)){n=e;while(1){f[n>>2]=f[i>>2];i=i+4|0;if((i|0)==(r|0))break;else n=n+4|0}}f[e+(a<<2)>>2]=0;return}function rh(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;r=c;c=c+16|0;t=r;n=(f[e+24>>2]|0)==0;f[e+16>>2]=n&1|i;if(!((n&1|i)&f[e+20>>2])){c=r;return}i=He(16)|0;kb()|0;f[t>>2]=1;f[t+4>>2]=43112;m=0;Se(11,i|0,57437,t|0);n=m;m=0;if(n&1){n=Ye()|0;Ue(i|0);$e(n|0)}else bi(i|0,864,112)}function th(e){e=e|0;var i=0;f[e>>2]=43068;m=0;ce(88,e|0,0);i=m;m=0;if(i&1){i=Ye(0)|0;Fi(i)}else{Lu(e+28|0);Dc(f[e+32>>2]|0);Dc(f[e+36>>2]|0);Dc(f[e+48>>2]|0);Dc(f[e+60>>2]|0);return}}function nh(e){e=e|0;th(e);return}function fh(e){e=e|0;th(e);Iv(e);return}function ah(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;r=f[e+40>>2]|0;t=e+32|0;n=e+36|0;if(r)do{r=r+-1|0;vE[f[(f[t>>2]|0)+(r<<2)>>2]&15](i,e,f[(f[n>>2]|0)+(r<<2)>>2]|0)}while((r|0)!=0)return}function sh(e){e=e|0;var i=0,r=0;r=c;c=c+16|0;i=r;Ou(i,e+28|0);c=r;return f[i>>2]|0}function lh(e,i){e=e|0;i=i|0;var r=0;f[e+24>>2]=i;f[e+16>>2]=(i|0)==0&1;f[e+20>>2]=0;f[e+4>>2]=4098;f[e+12>>2]=0;f[e+8>>2]=6;r=e+28|0;i=e+32|0;e=i+40|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0))Ru(r);return}function oh(e){e=e|0;th(e);return}function uh(e){e=e|0;th(e);Iv(e);return}function ch(e){e=e|0;f[e>>2]=42760;Lu(e+4|0);return}function dh(e){e=e|0;f[e>>2]=42760;Lu(e+4|0);Iv(e);return}function hh(e){e=e|0;f[e>>2]=42760;Ru(e+4|0);e=e+8|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;return}function bh(e,i){e=e|0;i=i|0;return}function kh(e,i,r){e=e|0;i=i|0;r=r|0;return e|0}function wh(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}function mh(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}function _h(e){e=e|0;return 0}function ph(e){e=e|0;return 0}function vh(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;s=e+12|0;l=e+16|0;e:do if((r|0)>0){a=i;i=0;while(1){n=f[s>>2]|0;if(n>>>0<(f[l>>2]|0)>>>0){f[s>>2]=n+1;n=t[n>>0]|0}else{n=lE[f[(f[e>>2]|0)+40>>2]&127](e)|0;if((n|0)==-1)break e;n=n&255}t[a>>0]=n;i=i+1|0;if((i|0)<(r|0))a=a+1|0;else break}}else i=0;while(0)return i|0}function gh(e){e=e|0;return-1}function yh(e){e=e|0;var i=0;if((lE[f[(f[e>>2]|0)+36>>2]&127](e)|0)==-1)e=-1;else{i=e+12|0;e=f[i>>2]|0;f[i>>2]=e+1;e=a[e>>0]|0}return e|0}function Eh(e,i){e=e|0;i=i|0;return-1}function Ah(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0;l=e+24|0;o=e+28|0;e:do if((r|0)>0){s=i;i=0;while(1){n=f[l>>2]|0;if(n>>>0>=(f[o>>2]|0)>>>0){if((kE[f[(f[e>>2]|0)+52>>2]&63](e,a[s>>0]|0)|0)==-1)break e}else{u=t[s>>0]|0;f[l>>2]=n+1;t[n>>0]=u}i=i+1|0;if((i|0)<(r|0))s=s+1|0;else break}}else i=0;while(0)return i|0}function Sh(e,i){e=e|0;i=i|0;return-1}function Th(e){e=e|0;f[e>>2]=42824;Lu(e+4|0);return}function Mh(e){e=e|0;f[e>>2]=42824;Lu(e+4|0);Iv(e);return}function Ch(e){e=e|0;f[e>>2]=42824;Ru(e+4|0);e=e+8|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;return}
24
+ function Ph(e,i){e=e|0;i=i|0;return}function xh(e,i,r){e=e|0;i=i|0;r=r|0;return e|0}function Dh(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}function Rh(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=e;f[i>>2]=0;f[i+4>>2]=0;i=e+8|0;f[i>>2]=-1;f[i+4>>2]=-1;return}function Oh(e){e=e|0;return 0}function Lh(e){e=e|0;return 0}function Ih(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;a=e+12|0;s=e+16|0;e:do if((r|0)>0){n=i;i=0;while(1){t=f[a>>2]|0;if(t>>>0>=(f[s>>2]|0)>>>0){t=lE[f[(f[e>>2]|0)+40>>2]&127](e)|0;if((t|0)==-1)break e}else{f[a>>2]=t+4;t=f[t>>2]|0}f[n>>2]=t;i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0;while(0)return i|0}function Bh(e){e=e|0;return-1}function Nh(e){e=e|0;var i=0;if((lE[f[(f[e>>2]|0)+36>>2]&127](e)|0)==-1)e=-1;else{i=e+12|0;e=f[i>>2]|0;f[i>>2]=e+4;e=f[e>>2]|0}return e|0}function Fh(e,i){e=e|0;i=i|0;return-1}function jh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;a=e+24|0;s=e+28|0;e:do if((r|0)>0){n=i;i=0;while(1){t=f[a>>2]|0;if(t>>>0>=(f[s>>2]|0)>>>0){if((kE[f[(f[e>>2]|0)+52>>2]&63](e,f[n>>2]|0)|0)==-1)break e}else{l=f[n>>2]|0;f[a>>2]=t+4;f[t>>2]=l}i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0;while(0)return i|0}function Uh(e,i){e=e|0;i=i|0;return-1}function Hh(e){e=e|0;th(e+8|0);return}function Yh(e){e=e|0;th(e+((f[(f[e>>2]|0)+-12>>2]|0)+8)|0);return}function qh(e){e=e|0;th(e+8|0);Iv(e);return}function zh(e){e=e|0;qh(e+(f[(f[e>>2]|0)+-12>>2]|0)|0);return}function Xh(e){e=e|0;var i=0,r=0,n=0,a=0;n=c;c=c+16|0;r=n;e:do if(f[e+((f[(f[e>>2]|0)+-12>>2]|0)+24)>>2]|0){m=0;ce(65,r|0,e|0);i=m;m=0;i:do if(i&1)i=Ye(0)|0;else{do if(t[r>>0]|0){i=f[e+((f[(f[e>>2]|0)+-12>>2]|0)+24)>>2]|0;m=0;i=he(f[(f[i>>2]|0)+24>>2]|0,i|0)|0;a=m;m=0;if(!(a&1)){if((i|0)!=-1)break;a=f[(f[e>>2]|0)+-12>>2]|0;m=0;ce(66,e+a|0,f[e+(a+16)>>2]|1|0);a=m;m=0;if(!(a&1))break}i=Ye(0)|0;nb(r);break i}while(0)nb(r);break e}while(0)Je(i|0)|0;m=0;ue(181,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);a=m;m=0;if(!(a&1)){Ze();break}i=Ye()|0;m=0;Te(3);a=m;m=0;if(a&1){a=Ye(0)|0;Fi(a)}else $e(i|0)}while(0)c=n;return e|0}function Gh(e){e=e|0;var i=0;i=e+16|0;f[i>>2]=f[i>>2]|1;if(!(f[e+20>>2]&1))return;else ki()}function Vh(e){e=e|0;th(e+8|0);return}function Kh(e){e=e|0;th(e+((f[(f[e>>2]|0)+-12>>2]|0)+8)|0);return}function Wh(e){e=e|0;th(e+8|0);Iv(e);return}function Jh(e){e=e|0;Wh(e+(f[(f[e>>2]|0)+-12>>2]|0)|0);return}function Qh(e){e=e|0;var i=0,r=0,n=0,a=0;n=c;c=c+16|0;r=n;e:do if(f[e+((f[(f[e>>2]|0)+-12>>2]|0)+24)>>2]|0){m=0;ce(89,r|0,e|0);i=m;m=0;i:do if(i&1)i=Ye(0)|0;else{do if(t[r>>0]|0){i=f[e+((f[(f[e>>2]|0)+-12>>2]|0)+24)>>2]|0;m=0;i=he(f[(f[i>>2]|0)+24>>2]|0,i|0)|0;a=m;m=0;if(!(a&1)){if((i|0)!=-1)break;a=f[(f[e>>2]|0)+-12>>2]|0;m=0;ce(66,e+a|0,f[e+(a+16)>>2]|1|0);a=m;m=0;if(!(a&1))break}i=Ye(0)|0;db(r);break i}while(0)db(r);break e}while(0)Je(i|0)|0;m=0;ue(181,e+(f[(f[e>>2]|0)+-12>>2]|0)|0);a=m;m=0;if(!(a&1)){Ze();break}i=Ye()|0;m=0;Te(3);a=m;m=0;if(a&1){a=Ye(0)|0;Fi(a)}else $e(i|0)}while(0)c=n;return e|0}function Zh(e,i){e=e|0;i=i|0;return}function $h(e){e=e|0;th(e+4|0);return}function eb(e){e=e|0;th(e+((f[(f[e>>2]|0)+-12>>2]|0)+4)|0);return}function ib(e){e=e|0;th(e+4|0);Iv(e);return}function rb(e){e=e|0;ib(e+(f[(f[e>>2]|0)+-12>>2]|0)|0);return}function tb(e,i){e=e|0;i=i|0;var r=0;t[e>>0]=0;f[e+4>>2]=i;r=f[(f[i>>2]|0)+-12>>2]|0;if(!(f[i+(r+16)>>2]|0)){r=f[i+(r+72)>>2]|0;if(r)Xh(r)|0;t[e>>0]=1}return}function nb(e){e=e|0;var i=0,r=0;e=e+4|0;r=f[e>>2]|0;i=f[(f[r>>2]|0)+-12>>2]|0;do if((((f[r+(i+24)>>2]|0)!=0?(f[r+(i+16)>>2]|0)==0:0)?(f[r+(i+4)>>2]&8192|0)!=0:0)?!(ei()|0):0){i=f[e>>2]|0;i=f[i+((f[(f[i>>2]|0)+-12>>2]|0)+24)>>2]|0;m=0;i=he(f[(f[i>>2]|0)+24>>2]|0,i|0)|0;r=m;m=0;if(!(r&1)){if((i|0)!=-1)break;i=f[e>>2]|0;r=f[(f[i>>2]|0)+-12>>2]|0;m=0;ce(66,i+r|0,f[i+(r+16)>>2]|1|0);r=m;m=0;if(!(r&1))break}r=Ye(0)|0;Je(r|0)|0;m=0;Te(3);r=m;m=0;if(r&1){r=Ye(0)|0;Fi(r)}}while(0)return}function fb(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;k=c;c=c+32|0;o=k+20|0;u=k+16|0;h=k+8|0;r=k;m=0;ce(65,h|0,e|0);d=m;m=0;e:do if(d&1){r=Ye(0)|0;n=e;a=e;b=19}else{do if(t[h>>0]|0){f[r>>2]=sh(e+(f[(f[e>>2]|0)+-12>>2]|0)|0)|0;m=0;d=ve(37,r|0,43392)|0;l=m;m=0;if(l&1){b=Ye(0)|0;Lu(r);r=b}else{Lu(r);a=f[(f[e>>2]|0)+-12>>2]|0;l=f[e+(a+24)>>2]|0;n=e+a|0;a=e+(a+76)|0;r=f[a>>2]|0;do if((r|0)==-1){f[o>>2]=sh(n)|0;m=0;r=ve(37,o|0,44220)|0;w=m;m=0;if(!(w&1)?(m=0,s=ve(f[(f[r>>2]|0)+28>>2]|0,r|0,32)|0,w=m,m=0,!(w&1)):0){Lu(o);r=s<<24>>24;f[a>>2]=r;b=10;break}r=Ye(0)|0;Lu(o)}else b=10;while(0)if((b|0)==10){w=f[(f[d>>2]|0)+16>>2]|0;f[u>>2]=l;m=0;f[o>>2]=f[u>>2];r=ge(w|0,d|0,o|0,n|0,r&255|0,i|0)|0;w=m;m=0;if(!(w&1)){if(r)break;w=f[(f[e>>2]|0)+-12>>2]|0;m=0;ce(66,e+w|0,f[e+(w+16)>>2]|5|0);w=m;m=0;if(!(w&1))break}r=Ye(0)|0}}nb(h);n=e;a=e;b=19;break e}while(0)nb(h)}while(0)do if((b|0)==19){Je(r|0)|0;m=0;ue(181,n+(f[(f[a>>2]|0)+-12>>2]|0)|0);w=m;m=0;if(!(w&1)){Ze();break}r=Ye()|0;m=0;Te(3);w=m;m=0;if(w&1){w=Ye(0)|0;Fi(w)}else $e(r|0)}while(0)c=k;return e|0}function ab(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;k=c;c=c+32|0;o=k+20|0;u=k+16|0;h=k+8|0;r=k;m=0;ce(65,h|0,e|0);d=m;m=0;e:do if(d&1){r=Ye(0)|0;n=e;a=e;b=19}else{do if(t[h>>0]|0){f[r>>2]=sh(e+(f[(f[e>>2]|0)+-12>>2]|0)|0)|0;m=0;d=ve(37,r|0,43392)|0;l=m;m=0;if(l&1){b=Ye(0)|0;Lu(r);r=b}else{Lu(r);a=f[(f[e>>2]|0)+-12>>2]|0;l=f[e+(a+24)>>2]|0;n=e+a|0;a=e+(a+76)|0;r=f[a>>2]|0;do if((r|0)==-1){f[o>>2]=sh(n)|0;m=0;r=ve(37,o|0,44220)|0;w=m;m=0;if(!(w&1)?(m=0,s=ve(f[(f[r>>2]|0)+28>>2]|0,r|0,32)|0,w=m,m=0,!(w&1)):0){Lu(o);r=s<<24>>24;f[a>>2]=r;b=10;break}r=Ye(0)|0;Lu(o)}else b=10;while(0)if((b|0)==10){w=f[(f[d>>2]|0)+24>>2]|0;f[u>>2]=l;m=0;f[o>>2]=f[u>>2];r=ge(w|0,d|0,o|0,n|0,r&255|0,i|0)|0;w=m;m=0;if(!(w&1)){if(r)break;w=f[(f[e>>2]|0)+-12>>2]|0;m=0;ce(66,e+w|0,f[e+(w+16)>>2]|5|0);w=m;m=0;if(!(w&1))break}r=Ye(0)|0}}nb(h);n=e;a=e;b=19;break e}while(0)nb(h)}while(0)do if((b|0)==19){Je(r|0)|0;m=0;ue(181,n+(f[(f[a>>2]|0)+-12>>2]|0)|0);w=m;m=0;if(!(w&1)){Ze();break}r=Ye()|0;m=0;Te(3);w=m;m=0;if(w&1){w=Ye(0)|0;Fi(w)}else $e(r|0)}while(0)c=k;return e|0}function sb(e){e=e|0;th(e+4|0);return}function lb(e){e=e|0;th(e+((f[(f[e>>2]|0)+-12>>2]|0)+4)|0);return}function ob(e){e=e|0;th(e+4|0);Iv(e);return}function ub(e){e=e|0;ob(e+(f[(f[e>>2]|0)+-12>>2]|0)|0);return}function cb(e,i){e=e|0;i=i|0;var r=0;t[e>>0]=0;f[e+4>>2]=i;r=f[(f[i>>2]|0)+-12>>2]|0;if(!(f[i+(r+16)>>2]|0)){r=f[i+(r+72)>>2]|0;if(r)Qh(r)|0;t[e>>0]=1}return}function db(e){e=e|0;var i=0,r=0;e=e+4|0;r=f[e>>2]|0;i=f[(f[r>>2]|0)+-12>>2]|0;do if((((f[r+(i+24)>>2]|0)!=0?(f[r+(i+16)>>2]|0)==0:0)?(f[r+(i+4)>>2]&8192|0)!=0:0)?!(ei()|0):0){i=f[e>>2]|0;i=f[i+((f[(f[i>>2]|0)+-12>>2]|0)+24)>>2]|0;m=0;i=he(f[(f[i>>2]|0)+24>>2]|0,i|0)|0;r=m;m=0;if(!(r&1)){if((i|0)!=-1)break;i=f[e>>2]|0;r=f[(f[i>>2]|0)+-12>>2]|0;m=0;ce(66,i+r|0,f[i+(r+16)>>2]|1|0);r=m;m=0;if(!(r&1))break}r=Ye(0)|0;Je(r|0)|0;m=0;Te(3);r=m;m=0;if(r&1){r=Ye(0)|0;Fi(r)}}while(0)return}function hb(e){e=e|0;return 57453}function bb(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)!=1&(r|0)<257)gd(e,i,r);else Dd(e,57462,35);return}function kb(){if((t[1048]|0)==0?(Be(1048)|0)!=0:0){f[10778]=43084;hi(72,43112,w|0)|0;ze(1048)}return 43112}function wb(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;t=c;c=c+16|0;n=t+8|0;a=t;l=r;s=f[l+4>>2]|0;r=a;f[r>>2]=f[l>>2];f[r+4>>2]=s;f[n>>2]=f[a>>2];f[n+4>>2]=f[a+4>>2];Ed(e,n,i);f[e>>2]=43048;c=t;return}function mb(e){e=e|0;Td(e);return}function _b(e){e=e|0;Td(e);Iv(e);return}function pb(e){e=e|0;th(e);Iv(e);return}function vb(e){e=e|0;Iv(e);return}function gb(e){e=e|0;return}function yb(e){e=e|0;return}function Eb(e){e=e|0;Iv(e);return}function Ab(e,i,r,n,f){e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;var a=0,s=0;e:do if((n|0)==(f|0))s=6;else while(1){if((i|0)==(r|0)){i=-1;break e}e=t[i>>0]|0;a=t[n>>0]|0;if(e<<24>>24<a<<24>>24){i=-1;break e}if(a<<24>>24<e<<24>>24){i=1;break e}i=i+1|0;n=n+1|0;if((n|0)==(f|0)){s=6;break}}while(0)if((s|0)==6)i=(i|0)!=(r|0)&1;return i|0}function Sb(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;eh(e,r,t);return}function Tb(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if((i|0)==(r|0))e=0;else{e=0;do{e=(t[i>>0]|0)+(e<<4)|0;n=e&-268435456;e=(n>>>24|n)^e;i=i+1|0}while((i|0)!=(r|0))}return e|0}function Mb(e){e=e|0;return}function Cb(e){e=e|0;Iv(e);return}function Pb(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0;e:do if((t|0)==(n|0))s=6;else while(1){if((i|0)==(r|0)){i=-1;break e}e=f[i>>2]|0;a=f[t>>2]|0;if((e|0)<(a|0)){i=-1;break e}if((a|0)<(e|0)){i=1;break e}i=i+4|0;t=t+4|0;if((t|0)==(n|0)){s=6;break}}while(0)if((s|0)==6)i=(i|0)!=(r|0)&1;return i|0}function xb(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;ih(e,r,t);return}function Db(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((i|0)==(r|0))e=0;else{e=0;do{e=(f[i>>2]|0)+(e<<4)|0;t=e&-268435456;e=(t>>>24|t)^e;i=i+4|0}while((i|0)!=(r|0))}return e|0}function Rb(e){e=e|0;return}function Ob(e){e=e|0;Iv(e);return}function Lb(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0;_=c;c=c+64|0;k=_+56|0;l=_+52|0;h=_+48|0;o=_+44|0;u=_+40|0;d=_+36|0;b=_+32|0;p=_+8|0;w=_;e:do if(!(f[n+4>>2]&1)){f[h>>2]=-1;p=f[(f[e>>2]|0)+16>>2]|0;f[o>>2]=f[i>>2];f[u>>2]=f[r>>2];f[l>>2]=f[o>>2];f[k>>2]=f[u>>2];l=sE[p&63](e,l,k,n,a,h)|0;f[i>>2]=l;switch(f[h>>2]|0){case 0:{t[s>>0]=0;break e}case 1:{t[s>>0]=1;break e}default:{t[s>>0]=1;f[a>>2]=4;break e}}}else{l=sh(n)|0;f[d>>2]=l;m=0;e=ve(37,d|0,44220)|0;h=m;m=0;do if(!(h&1)){bd(l)|0;l=sh(n)|0;f[b>>2]=l;m=0;u=ve(37,b|0,44360)|0;b=m;m=0;if(b&1){p=Ye()|0;bd(l)|0;l=p;break}bd(l)|0;m=0;ce(f[(f[u>>2]|0)+24>>2]|0,p|0,u|0);b=m;m=0;if(!(b&1)){o=p+12|0;m=0;ce(f[(f[u>>2]|0)+28>>2]|0,o|0,u|0);b=m;m=0;if(!(b&1)){f[w>>2]=f[r>>2];m=0;f[k>>2]=f[w>>2];l=se(7,i|0,k|0,p|0,p+24|0,e|0,a|0,1)|0;a=m;m=0;if(a&1){l=Ye()|0;Od(p+12|0);Od(p);break}else{t[s>>0]=(l|0)==(p|0)&1;l=f[i>>2]|0;Od(p+12|0);Od(p);break e}}}else o=p;l=Ye()|0;u=R;if((p|0)!=(o|0))do{o=o+-12|0;Od(o)}while((o|0)!=(p|0))}else{p=Ye()|0;bd(l)|0;l=p}while(0)$e(l|0)}while(0)c=_;return l|0}function Ib(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=Fw(e,o,l,t,n,a)|0;c=s;return e|0}function Bb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=jw(e,o,l,t,n,a)|0;c=s;return e|0}function Nb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=Uw(e,o,l,t,n,a)|0;c=s;return e|0}function Fb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=Hw(e,o,l,t,n,a)|0;c=s;return e|0}function jb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=Yw(e,o,l,t,n,a)|0;c=s;return e|0}function Ub(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=qw(e,o,l,t,n,a)|0;c=s;return e|0}function Hb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=zw(e,o,l,t,n,a)|0;c=s;return e|0}function Yb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=Xw(e,o,l,t,n,a)|0;c=s;return e|0}function qb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=Gw(e,o,l,t,n,a)|0;c=s;return e|0}function zb(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0;C=c;c=c+240|0;E=C;_=C+208|0;x=C+32|0;e=C+28|0;P=C+16|0;y=C+12|0;v=C+48|0;g=C+8|0;p=C+4|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;m=0;n=he(68,n|0)|0;w=m;m=0;do if(w&1)e=Ye()|0;else{f[e>>2]=n;m=0;e=ve(37,e|0,44220)|0;w=m;m=0;if(!(w&1)?(m=0,Ae(f[(f[e>>2]|0)+32>>2]|0,e|0,57498,57524,_|0)|0,w=m,m=0,!(w&1)):0){bd(n)|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;if(!(t[P>>0]&1))e=10;else e=(f[P>>2]&-2)+-1|0;m=0;Se(8,P|0,e|0,0);w=m;m=0;e:do if(!(w&1)){k=P+8|0;w=P+1|0;n=(t[P>>0]&1)==0?w:f[k>>2]|0;f[y>>2]=n;f[g>>2]=v;f[p>>2]=0;b=P+4|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;o=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;h=m;m=0;if(h&1){D=29;break}if((o|0)==-1){f[i>>2]=0;e=0}}}else e=0;u=(e|0)==0;o=f[r>>2]|0;do if(o){if((f[o+12>>2]|0)!=(f[o+16>>2]|0))if(u)break;else break i;m=0;d=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;h=m;m=0;if(h&1){D=29;break i}if((d|0)!=-1)if(u)break;else break i;else{f[r>>2]=0;D=19;break}}else D=19;while(0)if((D|0)==19){D=0;if(u){o=0;break}else o=0}u=t[P>>0]|0;u=(u&1)==0?(u&255)>>>1:f[b>>2]|0;if((f[y>>2]|0)==(n+u|0)){m=0;Se(8,P|0,u<<1|0,0);h=m;m=0;if(h&1){D=29;break}if(!(t[P>>0]&1))n=10;else n=(f[P>>2]&-2)+-1|0;m=0;Se(8,P|0,n|0,0);h=m;m=0;if(h&1){D=29;break}n=(t[P>>0]&1)==0?w:f[k>>2]|0;f[y>>2]=n+u}d=e+12|0;u=f[d>>2]|0;h=e+16|0;if((u|0)==(f[h>>2]|0)){m=0;u=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;R=m;m=0;if(R&1){D=29;break}}else u=a[u>>0]|0;if(Xb(u&255,16,n,y,p,0,x,v,g,_)|0)break;o=f[d>>2]|0;if((o|0)==(f[h>>2]|0)){m=0;he(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;R=m;m=0;if(R&1){D=29;break}else continue}else{f[d>>2]=o+1;continue}}if((D|0)==29){e=Ye()|0;break}m=0;Se(8,P|0,(f[y>>2]|0)-n|0,0);R=m;m=0;if((!(R&1)?(A=t[P>>0]|0,S=f[k>>2]|0,m=0,T=Ee(3)|0,R=m,m=0,!(R&1)):0)?(m=0,f[E>>2]=l,M=Ae(16,((A&1)==0?w:S)|0,T|0,58882,E|0)|0,R=m,m=0,!(R&1)):0){if((M|0)!=1)f[s>>2]=4;if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;n=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;R=m;m=0;if(R&1){D=30;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do if(o){if((f[o+12>>2]|0)==(f[o+16>>2]|0)){m=0;e=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;R=m;m=0;if(R&1){D=30;break e}if((e|0)==-1){f[r>>2]=0;D=55;break}}if(!n)D=56}else D=55;while(0)if((D|0)==55?n:0)D=56;if((D|0)==56)f[s>>2]=f[s>>2]|2;R=f[i>>2]|0;Od(P);Od(x);c=C;return R|0}else D=30}else D=30;while(0)if((D|0)==30)e=Ye()|0;Od(P);break}e=Ye()|0;bd(n)|0}while(0)Od(x);$e(e|0);return 0}function Xb(e,i,r,n,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;var d=0,h=0,b=0,k=0;b=f[n>>2]|0;k=(b|0)==(r|0);do if(k){d=(t[c+24>>0]|0)==e<<24>>24;if(!d?(t[c+25>>0]|0)!=e<<24>>24:0){h=5;break}f[n>>2]=r+1;t[r>>0]=d?43:45;f[a>>2]=0;d=0}else h=5;while(0)e:do if((h|0)==5){h=t[l>>0]|0;if(e<<24>>24==s<<24>>24?(((h&1)==0?(h&255)>>>1:f[l+4>>2]|0)|0)!=0:0){d=f[u>>2]|0;if((d-o|0)>=160){d=0;break}i=f[a>>2]|0;f[u>>2]=d+4;f[d>>2]=i;f[a>>2]=0;d=0;break}l=c+26|0;d=c;while(1){if((t[d>>0]|0)==e<<24>>24)break;d=d+1|0;if((d|0)==(l|0)){d=l;break}}d=d-c|0;if((d|0)>23)d=-1;else{switch(i|0){case 10:case 8:{if((d|0)>=(i|0)){d=-1;break e}break}case 16:{if((d|0)>=22){if(k){d=-1;break e}if((b-r|0)>=3){d=-1;break e}if((t[b+-1>>0]|0)!=48){d=-1;break e}f[a>>2]=0;d=t[57498+d>>0]|0;f[n>>2]=b+1;t[b>>0]=d;d=0;break e}break}default:{}}d=t[57498+d>>0]|0;f[n>>2]=b+1;t[b>>0]=d;f[a>>2]=(f[a>>2]|0)+1;d=0}}while(0)return d|0}function Gb(){var e=0,i=0;do if((t[1968]|0)==0?(Be(1968)|0)!=0:0){m=0;e=ke(31,2147483647,58885,0)|0;i=m;m=0;if(i&1){i=Ye()|0;gi(1968);$e(i|0)}else{f[11196]=e;ze(1968);break}}while(0)return f[11196]|0}function Vb(e){e=e|0;return}function Kb(e){e=e|0;Iv(e);return}function Wb(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0;_=c;c=c+64|0;k=_+56|0;l=_+52|0;h=_+48|0;o=_+44|0;u=_+40|0;d=_+36|0;b=_+32|0;p=_+8|0;w=_;e:do if(!(f[n+4>>2]&1)){f[h>>2]=-1;p=f[(f[e>>2]|0)+16>>2]|0;f[o>>2]=f[i>>2];f[u>>2]=f[r>>2];f[l>>2]=f[o>>2];f[k>>2]=f[u>>2];l=sE[p&63](e,l,k,n,a,h)|0;f[i>>2]=l;switch(f[h>>2]|0){case 0:{t[s>>0]=0;break e}case 1:{t[s>>0]=1;break e}default:{t[s>>0]=1;f[a>>2]=4;break e}}}else{l=sh(n)|0;f[d>>2]=l;m=0;e=ve(37,d|0,44212)|0;h=m;m=0;do if(!(h&1)){bd(l)|0;l=sh(n)|0;f[b>>2]=l;m=0;u=ve(37,b|0,44368)|0;b=m;m=0;if(b&1){p=Ye()|0;bd(l)|0;l=p;break}bd(l)|0;m=0;ce(f[(f[u>>2]|0)+24>>2]|0,p|0,u|0);b=m;m=0;if(!(b&1)){o=p+12|0;m=0;ce(f[(f[u>>2]|0)+28>>2]|0,o|0,u|0);b=m;m=0;if(!(b&1)){f[w>>2]=f[r>>2];m=0;f[k>>2]=f[w>>2];l=se(8,i|0,k|0,p|0,p+24|0,e|0,a|0,1)|0;a=m;m=0;if(a&1){l=Ye()|0;Vd(p+12|0);Vd(p);break}else{t[s>>0]=(l|0)==(p|0)&1;l=f[i>>2]|0;Vd(p+12|0);Vd(p);break e}}}else o=p;l=Ye()|0;u=R;if((p|0)!=(o|0))do{o=o+-12|0;Vd(o)}while((o|0)!=(p|0))}else{p=Ye()|0;bd(l)|0;l=p}while(0)$e(l|0)}while(0)c=_;return l|0}function Jb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=Ww(e,o,l,t,n,a)|0;c=s;return e|0}function Qb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=Jw(e,o,l,t,n,a)|0;c=s;return e|0}function Zb(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=Qw(e,o,l,t,n,a)|0;c=s;return e|0}function $b(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=Zw(e,o,l,t,n,a)|0;c=s;return e|0}function ek(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=$w(e,o,l,t,n,a)|0;c=s;return e|0}function ik(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=em(e,o,l,t,n,a)|0;c=s;return e|0}function rk(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=im(e,o,l,t,n,a)|0;c=s;return e|0}function tk(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=rm(e,o,l,t,n,a)|0;c=s;return e|0}function nk(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;s=c;c=c+16|0;l=s+12|0;o=s+8|0;d=s+4|0;u=s;f[d>>2]=f[i>>2];f[u>>2]=f[r>>2];f[o>>2]=f[d>>2];f[l>>2]=f[u>>2];e=tm(e,o,l,t,n,a)|0;c=s;return e|0}function fk(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0;M=c;c=c+320|0;y=M;w=M+208|0;P=M+32|0;e=M+28|0;C=M+16|0;g=M+12|0;p=M+48|0;v=M+8|0;_=M+4|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;m=0;n=he(68,n|0)|0;k=m;m=0;do if(k&1)e=Ye()|0;else{f[e>>2]=n;m=0;e=ve(37,e|0,44212)|0;k=m;m=0;if(!(k&1)?(m=0,Ae(f[(f[e>>2]|0)+48>>2]|0,e|0,57498,57524,w|0)|0,k=m,m=0,!(k&1)):0){bd(n)|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;if(!(t[C>>0]&1))e=10;else e=(f[C>>2]&-2)+-1|0;m=0;Se(8,C|0,e|0,0);k=m;m=0;e:do if(!(k&1)){b=C+8|0;k=C+1|0;e=(t[C>>0]&1)==0?k:f[b>>2]|0;f[g>>2]=e;f[v>>2]=p;f[_>>2]=0;h=C+4|0;l=f[i>>2]|0;i:while(1){if(l){n=f[l+12>>2]|0;if((n|0)==(f[l+16>>2]|0)){m=0;n=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;d=m;m=0;if(d&1){x=30;break}}else n=f[n>>2]|0;if((n|0)==-1){f[i>>2]=0;n=0;o=1}else{n=l;o=0}}else{n=0;o=1}u=f[r>>2]|0;do if(u){l=f[u+12>>2]|0;if((l|0)==(f[u+16>>2]|0)){m=0;l=he(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;d=m;m=0;if(d&1){x=30;break i}}else l=f[l>>2]|0;if((l|0)!=-1)if(o){l=u;break}else{l=u;break i}else{f[r>>2]=0;x=20;break}}else x=20;while(0)if((x|0)==20){x=0;if(o){l=0;break}else l=0}o=t[C>>0]|0;o=(o&1)==0?(o&255)>>>1:f[h>>2]|0;if((f[g>>2]|0)==(e+o|0)){m=0;Se(8,C|0,o<<1|0,0);d=m;m=0;if(d&1){x=30;break}if(!(t[C>>0]&1))e=10;else e=(f[C>>2]&-2)+-1|0;m=0;Se(8,C|0,e|0,0);d=m;m=0;if(d&1){x=30;break}e=(t[C>>0]&1)==0?k:f[b>>2]|0;f[g>>2]=e+o}u=n+12|0;o=f[u>>2]|0;d=n+16|0;if((o|0)==(f[d>>2]|0)){m=0;o=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;D=m;m=0;if(D&1){x=30;break}}else o=f[o>>2]|0;if(ak(o,16,e,g,_,0,P,p,v,w)|0)break;l=f[u>>2]|0;if((l|0)==(f[d>>2]|0)){m=0;he(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;D=m;m=0;if(D&1){x=30;break}else{l=n;continue}}else{f[u>>2]=l+4;l=n;continue}}if((x|0)==30){e=Ye()|0;break}m=0;Se(8,C|0,(f[g>>2]|0)-e|0,0);D=m;m=0;if((!(D&1)?(E=t[C>>0]|0,A=f[b>>2]|0,m=0,S=Ee(3)|0,D=m,m=0,!(D&1)):0)?(m=0,f[y>>2]=s,T=Ae(16,((E&1)==0?k:A)|0,S|0,58882,y|0)|0,D=m,m=0,!(D&1)):0){if((T|0)!=1)f[a>>2]=4;if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){m=0;e=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;D=m;m=0;if(D&1){x=31;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){m=0;e=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;D=m;m=0;if(D&1){x=31;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{x=59;break}else{f[r>>2]=0;x=57;break}}else x=57;while(0)if((x|0)==57?n:0)x=59;if((x|0)==59)f[a>>2]=f[a>>2]|2;D=f[i>>2]|0;Od(C);Od(P);c=M;return D|0}else x=31}else x=31;while(0)if((x|0)==31)e=Ye()|0;Od(C);break}e=Ye()|0;bd(n)|0}while(0)Od(P);$e(e|0);return 0}function ak(e,i,r,n,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;var d=0,h=0,b=0,k=0;b=f[n>>2]|0;k=(b|0)==(r|0);do if(k){d=(f[c+96>>2]|0)==(e|0);if(!d?(f[c+100>>2]|0)!=(e|0):0){h=5;break}f[n>>2]=r+1;t[r>>0]=d?43:45;f[a>>2]=0;d=0}else h=5;while(0)e:do if((h|0)==5){h=t[l>>0]|0;if((e|0)==(s|0)?(((h&1)==0?(h&255)>>>1:f[l+4>>2]|0)|0)!=0:0){d=f[u>>2]|0;if((d-o|0)>=160){d=0;break}i=f[a>>2]|0;f[u>>2]=d+4;f[d>>2]=i;f[a>>2]=0;d=0;break}l=c+104|0;d=c;while(1){if((f[d>>2]|0)==(e|0))break;d=d+4|0;if((d|0)==(l|0)){d=l;break}}d=d-c|0;l=d>>2;if((d|0)>92)d=-1;else{switch(i|0){case 10:case 8:{if((l|0)>=(i|0)){d=-1;break e}break}case 16:{if((d|0)>=88){if(k){d=-1;break e}if((b-r|0)>=3){d=-1;break e}if((t[b+-1>>0]|0)!=48){d=-1;break e}f[a>>2]=0;d=t[57498+l>>0]|0;f[n>>2]=b+1;t[b>>0]=d;d=0;break e}break}default:{}}d=t[57498+l>>0]|0;f[n>>2]=b+1;t[b>>0]=d;f[a>>2]=(f[a>>2]|0)+1;d=0}}while(0)return d|0}function sk(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0;u=c;c=c+16|0;o=u;i=sh(i)|0;f[o>>2]=i;m=0;a=ve(37,o|0,44220)|0;d=m;m=0;if((((!(d&1)?(m=0,Ae(f[(f[a>>2]|0)+32>>2]|0,a|0,57498,57524,r|0)|0,d=m,m=0,!(d&1)):0)?(m=0,l=ve(37,o|0,44360)|0,d=m,m=0,!(d&1)):0)?(m=0,s=he(f[(f[l>>2]|0)+16>>2]|0,l|0)|0,d=m,m=0,!(d&1)):0)?(t[n>>0]=s,m=0,ce(f[(f[l>>2]|0)+20>>2]|0,e|0,l|0),d=m,m=0,!(d&1)):0){bd(i)|0;c=u;return}d=Ye()|0;bd(i)|0;$e(d|0)}function lk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0;h=c;c=c+16|0;d=h;i=sh(i)|0;f[d>>2]=i;m=0;s=ve(37,d|0,44220)|0;b=m;m=0;if(((((!(b&1)?(m=0,Ae(f[(f[s>>2]|0)+32>>2]|0,s|0,57498,57530,r|0)|0,b=m,m=0,!(b&1)):0)?(m=0,u=ve(37,d|0,44360)|0,b=m,m=0,!(b&1)):0)?(m=0,l=he(f[(f[u>>2]|0)+12>>2]|0,u|0)|0,b=m,m=0,!(b&1)):0)?(t[n>>0]=l,m=0,o=he(f[(f[u>>2]|0)+16>>2]|0,u|0)|0,b=m,m=0,!(b&1)):0)?(t[a>>0]=o,m=0,ce(f[(f[u>>2]|0)+20>>2]|0,e|0,u|0),b=m,m=0,!(b&1)):0){bd(i)|0;c=h;return}b=Ye()|0;bd(i)|0;$e(b|0)}function ok(e,i,r,n,s,l,o,u,c,d,h,b){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;d=d|0;h=h|0;b=b|0;var k=0,w=0;e:do if(e<<24>>24==l<<24>>24)if(t[i>>0]|0){t[i>>0]=0;r=f[s>>2]|0;f[s>>2]=r+1;t[r>>0]=46;r=t[u>>0]|0;if((((r&1)==0?(r&255)>>>1:f[u+4>>2]|0)|0)!=0?(k=f[d>>2]|0,(k-c|0)<160):0){c=f[h>>2]|0;f[d>>2]=k+4;f[k>>2]=c;k=0}else k=0}else k=-1;else{if(e<<24>>24==o<<24>>24?(o=t[u>>0]|0,(((o&1)==0?(o&255)>>>1:f[u+4>>2]|0)|0)!=0):0){if(!(t[i>>0]|0)){k=-1;break}k=f[d>>2]|0;if((k-c|0)>=160){k=0;break}c=f[h>>2]|0;f[d>>2]=k+4;f[k>>2]=c;f[h>>2]=0;k=0;break}l=b+32|0;k=b;while(1){if((t[k>>0]|0)==e<<24>>24)break;k=k+1|0;if((k|0)==(l|0)){k=l;break}}l=k-b|0;if((l|0)>31)k=-1;else{o=t[57498+l>>0]|0;switch(l|0){case 24:case 25:{k=f[s>>2]|0;if((k|0)!=(n|0)?(a[k+-1>>0]&95|0)!=(a[r>>0]&127|0):0){k=-1;break e}f[s>>2]=k+1;t[k>>0]=o;k=0;break e}case 23:case 22:{t[r>>0]=80;k=f[s>>2]|0;f[s>>2]=k+1;t[k>>0]=o;k=0;break e}default:{k=o&95;if((((k|0)==(t[r>>0]|0)?(t[r>>0]=k|128,(t[i>>0]|0)!=0):0)?(t[i>>0]=0,r=t[u>>0]|0,(((r&1)==0?(r&255)>>>1:f[u+4>>2]|0)|0)!=0):0)?(w=f[d>>2]|0,(w-c|0)<160):0){c=f[h>>2]|0;f[d>>2]=w+4;f[w>>2]=c}d=f[s>>2]|0;f[s>>2]=d+1;t[d>>0]=o;if((l|0)>21){k=0;break e}f[h>>2]=(f[h>>2]|0)+1;k=0;break e}}}}while(0)return k|0}function uk(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;o=c;c=c+16|0;l=o;i=sh(i)|0;f[l>>2]=i;m=0;n=ve(37,l|0,44212)|0;u=m;m=0;if((((!(u&1)?(m=0,Ae(f[(f[n>>2]|0)+48>>2]|0,n|0,57498,57524,r|0)|0,u=m,m=0,!(u&1)):0)?(m=0,s=ve(37,l|0,44368)|0,u=m,m=0,!(u&1)):0)?(m=0,a=he(f[(f[s>>2]|0)+16>>2]|0,s|0)|0,u=m,m=0,!(u&1)):0)?(f[t>>2]=a,m=0,ce(f[(f[s>>2]|0)+20>>2]|0,e|0,s|0),u=m,m=0,!(u&1)):0){bd(i)|0;c=o;return}u=Ye()|0;bd(i)|0;$e(u|0)}function ck(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0;d=c;c=c+16|0;u=d;i=sh(i)|0;f[u>>2]=i;m=0;a=ve(37,u|0,44212)|0;h=m;m=0;if(((((!(h&1)?(m=0,Ae(f[(f[a>>2]|0)+48>>2]|0,a|0,57498,57530,r|0)|0,h=m,m=0,!(h&1)):0)?(m=0,o=ve(37,u|0,44368)|0,h=m,m=0,!(h&1)):0)?(m=0,s=he(f[(f[o>>2]|0)+12>>2]|0,o|0)|0,h=m,m=0,!(h&1)):0)?(f[t>>2]=s,m=0,l=he(f[(f[o>>2]|0)+16>>2]|0,o|0)|0,h=m,m=0,!(h&1)):0)?(f[n>>2]=l,m=0,ce(f[(f[o>>2]|0)+20>>2]|0,e|0,o|0),h=m,m=0,!(h&1)):0){bd(i)|0;c=d;return}h=Ye()|0;bd(i)|0;$e(h|0)}function dk(e,i,r,n,s,l,o,u,c,d,h,b){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;d=d|0;h=h|0;b=b|0;var k=0,w=0;e:do if((e|0)==(l|0))if(t[i>>0]|0){t[i>>0]=0;r=f[s>>2]|0;f[s>>2]=r+1;t[r>>0]=46;r=t[u>>0]|0;if((((r&1)==0?(r&255)>>>1:f[u+4>>2]|0)|0)!=0?(k=f[d>>2]|0,(k-c|0)<160):0){c=f[h>>2]|0;f[d>>2]=k+4;f[k>>2]=c;k=0}else k=0}else k=-1;else{if((e|0)==(o|0)?(o=t[u>>0]|0,(((o&1)==0?(o&255)>>>1:f[u+4>>2]|0)|0)!=0):0){if(!(t[i>>0]|0)){k=-1;break}k=f[d>>2]|0;if((k-c|0)>=160){k=0;break}c=f[h>>2]|0;f[d>>2]=k+4;f[k>>2]=c;f[h>>2]=0;k=0;break}l=b+128|0;k=b;while(1){if((f[k>>2]|0)==(e|0))break;k=k+4|0;if((k|0)==(l|0)){k=l;break}}l=k-b|0;k=l>>2;if((l|0)<=124){o=t[57498+k>>0]|0;switch(k|0){case 24:case 25:{k=f[s>>2]|0;if((k|0)!=(n|0)?(a[k+-1>>0]&95|0)!=(a[r>>0]&127|0):0){k=-1;break e}f[s>>2]=k+1;t[k>>0]=o;k=0;break e}case 23:case 22:{t[r>>0]=80;break}default:{k=o&95;if((((k|0)==(t[r>>0]|0)?(t[r>>0]=k|128,(t[i>>0]|0)!=0):0)?(t[i>>0]=0,r=t[u>>0]|0,(((r&1)==0?(r&255)>>>1:f[u+4>>2]|0)|0)!=0):0)?(w=f[d>>2]|0,(w-c|0)<160):0){c=f[h>>2]|0;f[d>>2]=w+4;f[w>>2]=c}}}d=f[s>>2]|0;f[s>>2]=d+1;t[d>>0]=o;if((l|0)>84)k=0;else{f[h>>2]=(f[h>>2]|0)+1;k=0}}else k=-1}while(0)return k|0}function hk(e){e=e|0;return}function bk(e){e=e|0;Iv(e);return}function kk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0;h=c;c=c+32|0;s=h+20|0;l=h+16|0;o=h+12|0;d=h;e:do if(!(f[r+4>>2]&1)){d=f[(f[e>>2]|0)+24>>2]|0;f[l>>2]=f[i>>2];f[s>>2]=f[l>>2];s=wE[d&31](e,s,r,n,a&1)|0}else{s=sh(r)|0;f[o>>2]=s;m=0;l=ve(37,o|0,44360)|0;u=m;m=0;i:do if(u&1){h=Ye()|0;bd(s)|0;s=h}else{bd(s)|0;s=f[l>>2]|0;if(a)aE[f[s+24>>2]&127](d,l);else aE[f[s+28>>2]&127](d,l);e=t[d>>0]|0;u=(e&1)==0;s=d+1|0;a=d+8|0;o=u?s:d+1|0;s=u?s:f[d+8>>2]|0;u=d+4|0;r=(e&1)==0;r:do if((s|0)!=((r?o:f[a>>2]|0)+(r?(e&255)>>>1:f[u>>2]|0)|0)){t:while(1){l=t[s>>0]|0;n=f[i>>2]|0;do if(n){r=n+24|0;e=f[r>>2]|0;if((e|0)!=(f[n+28>>2]|0)){f[r>>2]=e+1;t[e>>0]=l;break}m=0;l=ve(f[(f[n>>2]|0)+52>>2]|0,n|0,l&255|0)|0;e=m;m=0;if(e&1)break t;if((l|0)==-1)f[i>>2]=0}while(0)s=s+1|0;e=t[d>>0]|0;r=(e&1)==0;if((s|0)==((r?o:f[a>>2]|0)+(r?(e&255)>>>1:f[u>>2]|0)|0))break r}s=Ye()|0;Od(d);break i}while(0)s=f[i>>2]|0;Od(d);break e}while(0)$e(s|0)}while(0)c=h;return s|0}function wk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;h=c;c=c+64|0;s=h;k=h+56|0;w=h+44|0;o=h+20|0;d=h+16|0;u=h+12|0;b=h+8|0;l=h+4|0;t[k>>0]=t[58887]|0;t[k+1>>0]=t[58888]|0;t[k+2>>0]=t[58889]|0;t[k+3>>0]=t[58890]|0;t[k+4>>0]=t[58891]|0;t[k+5>>0]=t[58892]|0;mk(k+1|0,58893,1,f[r+4>>2]|0);e=Gb()|0;f[s>>2]=a;a=w+(nm(w,12,e,k,s)|0)|0;k=_k(w,a,r)|0;e=sh(r)|0;f[b>>2]=e;m=0;_e(1,w|0,k|0,a|0,o|0,d|0,u|0,b|0);a=m;m=0;if(a&1){w=Ye()|0;bd(e)|0;$e(w|0)}else{bd(e)|0;f[l>>2]=f[i>>2];k=f[d>>2]|0;w=f[u>>2]|0;f[s>>2]=f[l>>2];w=Br(s,o,k,w,r,n)|0;c=h;return w|0}return 0}function mk(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var f=0,a=0;if(n&2048){t[e>>0]=43;e=e+1|0}if(n&512){t[e>>0]=35;e=e+1|0}f=t[i>>0]|0;if(f<<24>>24){a=i;while(1){a=a+1|0;i=e+1|0;t[e>>0]=f;f=t[a>>0]|0;if(!(f<<24>>24)){e=i;break}else e=i}}e:do switch(n&74|0){case 64:{t[e>>0]=111;break}case 8:if(!(n&16384)){t[e>>0]=120;break e}else{t[e>>0]=88;break e}default:if(r){t[e>>0]=100;break e}else{t[e>>0]=117;break e}}while(0)return}function _k(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;e:do switch(f[r+4>>2]&176|0){case 16:{r=t[e>>0]|0;switch(r<<24>>24){case 43:case 45:{e=e+1|0;break e}default:{}}if((i-e|0)>1&r<<24>>24==48){switch(t[e+1>>0]|0){case 88:case 120:break;default:{n=7;break e}}e=e+2|0}else n=7;break}case 32:{e=i;break}default:n=7}while(0)return e|0}function pk(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0;g=c;c=c+16|0;y=g;p=Bu(l,44220)|0;d=Bu(l,44360)|0;aE[f[(f[d>>2]|0)+20>>2]&127](y,d);w=t[y>>0]|0;_=y+4|0;e:do if(!(((w&1)==0?(w&255)>>>1:f[_>>2]|0)|0)){m=0;Ae(f[(f[p>>2]|0)+32>>2]|0,p|0,e|0,r|0,n|0)|0;v=m;m=0;if(v&1)v=5;else{l=n+(r-e)|0;f[s>>2]=l;v=29}}else{f[s>>2]=n;l=t[e>>0]|0;switch(l<<24>>24){case 43:case 45:{m=0;l=ve(f[(f[p>>2]|0)+28>>2]|0,p|0,l|0)|0;w=m;m=0;if(w&1){v=5;break e}u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=l;u=e+1|0;break}default:u=e}i:do if((r-u|0)>1?(t[u>>0]|0)==48:0){l=u+1|0;switch(t[l>>0]|0){case 88:case 120:break;default:break i}m=0;o=ve(f[(f[p>>2]|0)+28>>2]|0,p|0,48)|0;w=m;m=0;if(w&1){v=5;break e}w=f[s>>2]|0;f[s>>2]=w+1;t[w>>0]=o;m=0;l=ve(f[(f[p>>2]|0)+28>>2]|0,p|0,t[l>>0]|0)|0;w=m;m=0;if(w&1){v=5;break e}w=f[s>>2]|0;f[s>>2]=w+1;t[w>>0]=l;u=u+2|0}while(0)if((u|0)!=(r|0)?(h=r+-1|0,u>>>0<h>>>0):0){o=u;l=h;do{w=t[o>>0]|0;t[o>>0]=t[l>>0]|0;t[l>>0]=w;o=o+1|0;l=l+-1|0}while(o>>>0<l>>>0)}m=0;h=he(f[(f[d>>2]|0)+16>>2]|0,d|0)|0;w=m;m=0;if(!(w&1)){b=y+8|0;k=y+1|0;i:do if(u>>>0<r>>>0){l=0;o=0;w=u;while(1){d=t[((t[y>>0]&1)==0?k:f[b>>2]|0)+o>>0]|0;if(d<<24>>24!=0&(l|0)==(d<<24>>24|0)){l=f[s>>2]|0;f[s>>2]=l+1;t[l>>0]=h;l=t[y>>0]|0;d=0;o=(o>>>0<(((l&1)==0?(l&255)>>>1:f[_>>2]|0)+-1|0)>>>0&1)+o|0}else d=l;m=0;l=ve(f[(f[p>>2]|0)+28>>2]|0,p|0,t[w>>0]|0)|0;E=m;m=0;if(E&1)break;E=f[s>>2]|0;f[s>>2]=E+1;t[E>>0]=l;w=w+1|0;if(w>>>0>=r>>>0)break i;else l=d+1|0}l=Ye()|0;break e}while(0)o=e;l=n+(u-o)|0;e=f[s>>2]|0;if((l|0)==(e|0)){e=o;v=29}else{e=e+-1|0;if(l>>>0<e>>>0)do{E=t[l>>0]|0;t[l>>0]=t[e>>0]|0;t[e>>0]=E;l=l+1|0;e=e+-1|0}while(l>>>0<e>>>0)e=o;l=f[s>>2]|0;v=29}}else v=5}while(0)if((v|0)==5)l=Ye()|0;else if((v|0)==29){f[a>>2]=(i|0)==(r|0)?l:n+(i-e)|0;Od(y);c=g;return}Od(y);$e(l|0)}function vk(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0;h=c;c=c+96|0;s=h+8|0;e=h;k=h+74|0;o=h+32|0;d=h+28|0;u=h+24|0;b=h+20|0;l=h+16|0;w=e;f[w>>2]=37;f[w+4>>2]=0;mk(e+1|0,58895,1,f[r+4>>2]|0);w=Gb()|0;_=s;f[_>>2]=n;f[_+4>>2]=a;a=k+(nm(k,22,w,e,s)|0)|0;n=_k(k,a,r)|0;e=sh(r)|0;f[b>>2]=e;m=0;_e(1,k|0,n|0,a|0,o|0,d|0,u|0,b|0);a=m;m=0;if(a&1){_=Ye()|0;bd(e)|0;$e(_|0)}else{bd(e)|0;f[l>>2]=f[i>>2];w=f[d>>2]|0;_=f[u>>2]|0;f[s>>2]=f[l>>2];_=Br(s,o,w,_,r,t)|0;c=h;return _|0}return 0}function gk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;h=c;c=c+64|0;s=h;k=h+56|0;w=h+44|0;o=h+20|0;d=h+16|0;u=h+12|0;b=h+8|0;l=h+4|0;t[k>>0]=t[58887]|0;t[k+1>>0]=t[58888]|0;t[k+2>>0]=t[58889]|0;t[k+3>>0]=t[58890]|0;t[k+4>>0]=t[58891]|0;t[k+5>>0]=t[58892]|0;mk(k+1|0,58893,0,f[r+4>>2]|0);e=Gb()|0;f[s>>2]=a;a=w+(nm(w,12,e,k,s)|0)|0;k=_k(w,a,r)|0;e=sh(r)|0;f[b>>2]=e;m=0;_e(1,w|0,k|0,a|0,o|0,d|0,u|0,b|0);a=m;m=0;if(a&1){w=Ye()|0;bd(e)|0;$e(w|0)}else{bd(e)|0;f[l>>2]=f[i>>2];k=f[d>>2]|0;w=f[u>>2]|0;f[s>>2]=f[l>>2];w=Br(s,o,k,w,r,n)|0;c=h;return w|0}return 0}function yk(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0;h=c;c=c+112|0;s=h+8|0;e=h
25
+ ;k=h+75|0;o=h+32|0;d=h+28|0;u=h+24|0;b=h+20|0;l=h+16|0;w=e;f[w>>2]=37;f[w+4>>2]=0;mk(e+1|0,58895,0,f[r+4>>2]|0);w=Gb()|0;_=s;f[_>>2]=n;f[_+4>>2]=a;a=k+(nm(k,23,w,e,s)|0)|0;n=_k(k,a,r)|0;e=sh(r)|0;f[b>>2]=e;m=0;_e(1,k|0,n|0,a|0,o|0,d|0,u|0,b|0);a=m;m=0;if(a&1){_=Ye()|0;bd(e)|0;$e(_|0)}else{bd(e)|0;f[l>>2]=f[i>>2];w=f[d>>2]|0;_=f[u>>2]|0;f[s>>2]=f[l>>2];_=Br(s,o,w,_,r,t)|0;c=h;return _|0}return 0}function Ek(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var a=0,s=0,l=0,o=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0;S=c;c=c+176|0;v=S+84|0;k=S+48|0;b=S+32|0;o=S+24|0;a=S+8|0;h=S;_=S+88|0;p=S+80|0;l=S+118|0;A=S+76|0;E=S+72|0;g=S+68|0;y=S+64|0;d=h;f[d>>2]=37;f[d+4>>2]=0;d=Ak(h+1|0,58898,f[r+4>>2]|0)|0;f[p>>2]=_;e=Gb()|0;if(d){f[a>>2]=f[r+8>>2];u[a+8>>3]=n;a=nm(_,30,e,h,a)|0}else{u[o>>3]=n;a=nm(_,30,e,h,o)|0}e:do if((a|0)>29){m=0;e=Ee(3)|0;a=m;m=0;a=a&1;if(d){if(!a?(m=0,f[b>>2]=f[r+8>>2],u[b+8>>3]=n,s=Ae(17,p|0,e|0,h|0,b|0)|0,w=m,m=0,!(w&1)):0)T=12}else if(!a?(m=0,f[k>>2]=f[r+8>>2],u[k+8>>3]=n,w=Ae(17,p|0,e|0,h|0,k|0)|0,k=m,m=0,!(k&1)):0){s=w;T=12}do if((T|0)==12){e=f[p>>2]|0;if(!e){m=0;Te(6);w=m;m=0;if(w&1)break;a=f[p>>2]|0}else a=e;e=a;h=a;T=16;break e}while(0)e=Ye()|0}else{e=f[p>>2]|0;h=0;s=a;T=16}while(0)if((T|0)==16){o=e+s|0;d=_k(e,o,r)|0;do if((e|0)==(_|0)){e=_;a=0;T=22}else{s=xc(s<<1)|0;if(!s){m=0;Te(6);T=m;m=0;if(T&1){a=0;T=20;break}e=f[p>>2]|0}a=s;l=s;T=22}while(0)do if((T|0)==22){m=0;s=he(68,r|0)|0;p=m;m=0;if(!(p&1)){f[g>>2]=s;m=0;_e(2,e|0,d|0,o|0,l|0,A|0,E|0,g|0);g=m;m=0;if(g&1){e=Ye()|0;bd(s)|0;break}bd(s)|0;f[y>>2]=f[i>>2];T=f[A>>2]|0;e=f[E>>2]|0;m=0;f[v>>2]=f[y>>2];e=de(39,v|0,l|0,T|0,e|0,r|0,t|0)|0;T=m;m=0;if(!(T&1)){f[i>>2]=e;if(a)Dc(a);if(h)Dc(h);c=S;return e|0}else T=20}else T=20}while(0)if((T|0)==20)e=Ye()|0;if(a)Dc(a);if(h)Dc(h)}$e(e|0);return 0}function Ak(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,f=0,a=0,s=0,l=0;if(r&2048){t[e>>0]=43;e=e+1|0}if(r&1024){t[e>>0]=35;e=e+1|0}s=r&260;f=r>>>14;l=(s|0)==260;if(l)a=0;else{t[e>>0]=46;t[e+1>>0]=42;e=e+2|0;a=1}r=t[i>>0]|0;if(r<<24>>24){n=e;while(1){i=i+1|0;e=n+1|0;t[n>>0]=r;r=t[i>>0]|0;if(!(r<<24>>24))break;else n=e}}e:do switch(s|0){case 4:if(!(f&1)){t[e>>0]=102;break e}else{t[e>>0]=70;break e}case 256:if(!(f&1)){t[e>>0]=101;break e}else{t[e>>0]=69;break e}default:{r=(f&1|0)!=0;if(l)if(r){t[e>>0]=65;break e}else{t[e>>0]=97;break e}else if(r){t[e>>0]=71;break e}else{t[e>>0]=103;break e}}}while(0)return a|0}function Sk(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0;S=c;c=c+16|0;T=S;A=Bu(l,44220)|0;y=Bu(l,44360)|0;aE[f[(f[y>>2]|0)+20>>2]&127](T,y);f[s>>2]=n;l=t[e>>0]|0;switch(l<<24>>24){case 43:case 45:{m=0;l=ve(f[(f[A>>2]|0)+28>>2]|0,A|0,l|0)|0;E=m;m=0;if(E&1)g=8;else{h=f[s>>2]|0;f[s>>2]=h+1;t[h>>0]=l;h=e+1|0;g=10}break}default:{h=e;g=10}}e:do if((g|0)==10){E=r;i:do if((E-h|0)>1?(t[h>>0]|0)==48:0){u=h+1|0;switch(t[u>>0]|0){case 88:case 120:break;default:{g=11;break i}}m=0;l=ve(f[(f[A>>2]|0)+28>>2]|0,A|0,48)|0;v=m;m=0;if(v&1){g=8;break e}v=f[s>>2]|0;f[s>>2]=v+1;t[v>>0]=l;h=h+2|0;m=0;l=ve(f[(f[A>>2]|0)+28>>2]|0,A|0,t[u>>0]|0)|0;v=m;m=0;if(v&1){g=8;break e}v=f[s>>2]|0;f[s>>2]=v+1;t[v>>0]=l;if(h>>>0<r>>>0){l=h;while(1){u=t[l>>0]|0;m=0;d=Ee(3)|0;v=m;m=0;if(v&1)break;m=0;u=ve(39,u<<24>>24|0,d|0)|0;v=m;m=0;if(v&1)break;if(!u){v=h;break i}l=l+1|0;if(l>>>0>=r>>>0){v=h;break i}}l=Ye()|0;break e}else{v=h;l=h}}else g=11;while(0)i:do if((g|0)==11)if(h>>>0<r>>>0){l=h;while(1){u=t[l>>0]|0;m=0;d=Ee(3)|0;v=m;m=0;if(v&1)break;m=0;u=ve(40,u<<24>>24|0,d|0)|0;v=m;m=0;if(v&1)break;if(!u){v=h;break i}l=l+1|0;if(l>>>0>=r>>>0){v=h;break i}}l=Ye()|0;break e}else{v=h;l=h}while(0)_=t[T>>0]|0;p=T+4|0;if(((_&1)==0?(_&255)>>>1:f[p>>2]|0)|0){if((v|0)!=(l|0)?(b=l+-1|0,v>>>0<b>>>0):0){d=v;u=b;do{_=t[d>>0]|0;t[d>>0]=t[u>>0]|0;t[u>>0]=_;d=d+1|0;u=u+-1|0}while(d>>>0<u>>>0)}m=0;b=he(f[(f[y>>2]|0)+16>>2]|0,y|0)|0;_=m;m=0;if(_&1){g=8;break}k=T+8|0;w=T+1|0;i:do if(v>>>0<l>>>0){u=0;d=0;_=v;while(1){h=t[((t[T>>0]&1)==0?w:f[k>>2]|0)+d>>0]|0;if(h<<24>>24>0&(u|0)==(h<<24>>24|0)){u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=b;u=t[T>>0]|0;h=0;d=(d>>>0<(((u&1)==0?(u&255)>>>1:f[p>>2]|0)+-1|0)>>>0&1)+d|0}else h=u;m=0;u=ve(f[(f[A>>2]|0)+28>>2]|0,A|0,t[_>>0]|0)|0;M=m;m=0;if(M&1)break;M=f[s>>2]|0;f[s>>2]=M+1;t[M>>0]=u;_=_+1|0;if(_>>>0>=l>>>0)break i;else u=h+1|0}l=Ye()|0;break e}while(0)u=n+(v-e)|0;d=f[s>>2]|0;if((u|0)!=(d|0)?(o=d+-1|0,u>>>0<o>>>0):0){do{M=t[u>>0]|0;t[u>>0]=t[o>>0]|0;t[o>>0]=M;u=u+1|0;o=o+-1|0}while(u>>>0<o>>>0)u=A}else u=A}else{m=0;Ae(f[(f[A>>2]|0)+32>>2]|0,A|0,v|0,l|0,f[s>>2]|0)|0;M=m;m=0;if(M&1){g=8;break}f[s>>2]=(f[s>>2]|0)+(l-v);u=A}i:do if(l>>>0<r>>>0){while(1){o=t[l>>0]|0;if(o<<24>>24==46)break;m=0;o=ve(f[(f[u>>2]|0)+28>>2]|0,A|0,o|0)|0;M=m;m=0;if(M&1){g=4;break}M=f[s>>2]|0;f[s>>2]=M+1;t[M>>0]=o;l=l+1|0;if(l>>>0>=r>>>0)break i}if((g|0)==4){l=Ye()|0;break e}m=0;o=he(f[(f[y>>2]|0)+12>>2]|0,y|0)|0;M=m;m=0;if(M&1){g=8;break e}M=f[s>>2]|0;f[s>>2]=M+1;t[M>>0]=o;l=l+1|0}while(0)m=0;Ae(f[(f[A>>2]|0)+32>>2]|0,A|0,l|0,r|0,f[s>>2]|0)|0;M=m;m=0;if(M&1)g=8;else{M=(f[s>>2]|0)+(E-l)|0;f[s>>2]=M;f[a>>2]=(i|0)==(r|0)?M:n+(i-e)|0;Od(T);c=S;return}}while(0)if((g|0)==8)l=Ye()|0;Od(T);$e(l|0)}function Tk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var a=0,s=0,l=0,o=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0;S=c;c=c+176|0;v=S+76|0;k=S+48|0;b=S+32|0;o=S+24|0;a=S+8|0;h=S;_=S+80|0;p=S+72|0;l=S+110|0;A=S+68|0;E=S+64|0;g=S+60|0;y=S+56|0;d=h;f[d>>2]=37;f[d+4>>2]=0;d=Ak(h+1|0,58899,f[r+4>>2]|0)|0;f[p>>2]=_;e=Gb()|0;if(d){f[a>>2]=f[r+8>>2];u[a+8>>3]=n;a=nm(_,30,e,h,a)|0}else{u[o>>3]=n;a=nm(_,30,e,h,o)|0}e:do if((a|0)>29){m=0;e=Ee(3)|0;a=m;m=0;a=a&1;if(d){if(!a?(m=0,f[b>>2]=f[r+8>>2],u[b+8>>3]=n,s=Ae(17,p|0,e|0,h|0,b|0)|0,w=m,m=0,!(w&1)):0)T=12}else if(!a?(m=0,u[k>>3]=n,w=Ae(17,p|0,e|0,h|0,k|0)|0,k=m,m=0,!(k&1)):0){s=w;T=12}do if((T|0)==12){e=f[p>>2]|0;if(!e){m=0;Te(6);w=m;m=0;if(w&1)break;a=f[p>>2]|0}else a=e;e=a;h=a;T=16;break e}while(0)e=Ye()|0}else{e=f[p>>2]|0;h=0;s=a;T=16}while(0)if((T|0)==16){o=e+s|0;d=_k(e,o,r)|0;do if((e|0)==(_|0)){e=_;a=0;T=22}else{s=xc(s<<1)|0;if(!s){m=0;Te(6);T=m;m=0;if(T&1){a=0;T=20;break}e=f[p>>2]|0}a=s;l=s;T=22}while(0)do if((T|0)==22){m=0;s=he(68,r|0)|0;p=m;m=0;if(!(p&1)){f[g>>2]=s;m=0;_e(2,e|0,d|0,o|0,l|0,A|0,E|0,g|0);g=m;m=0;if(g&1){e=Ye()|0;bd(s)|0;break}bd(s)|0;f[y>>2]=f[i>>2];T=f[A>>2]|0;e=f[E>>2]|0;m=0;f[v>>2]=f[y>>2];e=de(39,v|0,l|0,T|0,e|0,r|0,t|0)|0;T=m;m=0;if(!(T&1)){f[i>>2]=e;if(a)Dc(a);if(h)Dc(h);c=S;return e|0}else T=20}else T=20}while(0)if((T|0)==20)e=Ye()|0;if(a)Dc(a);if(h)Dc(h)}$e(e|0);return 0}function Mk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;k=c;c=c+80|0;u=k;e=k+70|0;h=k+12|0;b=k+32|0;o=k+8|0;d=k+4|0;t[e>>0]=t[58901]|0;t[e+1>>0]=t[58902]|0;t[e+2>>0]=t[58903]|0;t[e+3>>0]=t[58904]|0;t[e+4>>0]=t[58905]|0;t[e+5>>0]=t[58906]|0;s=Gb()|0;f[u>>2]=a;e=nm(h,20,s,e,u)|0;a=h+e|0;s=_k(h,a,r)|0;l=sh(r)|0;f[o>>2]=l;m=0;o=ve(37,o|0,44220)|0;w=m;m=0;if(w&1){w=Ye()|0;bd(l)|0;$e(w|0)}else{bd(l)|0;pE[f[(f[o>>2]|0)+32>>2]&31](o,h,a,b)|0;w=b+e|0;f[d>>2]=f[i>>2];f[u>>2]=f[d>>2];w=Br(u,b,(s|0)==(a|0)?w:b+(s-h)|0,w,r,n)|0;c=k;return w|0}return 0}function Ck(e){e=e|0;return}function Pk(e){e=e|0;Iv(e);return}function xk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0;d=c;c=c+32|0;s=d+20|0;l=d+16|0;o=d+12|0;u=d;e:do if(!(f[r+4>>2]&1)){u=f[(f[e>>2]|0)+24>>2]|0;f[l>>2]=f[i>>2];f[s>>2]=f[l>>2];s=wE[u&31](e,s,r,n,a&1)|0}else{s=sh(r)|0;f[o>>2]=s;m=0;l=ve(37,o|0,44368)|0;o=m;m=0;i:do if(o&1){d=Ye()|0;bd(s)|0;s=d}else{bd(s)|0;s=f[l>>2]|0;if(a)aE[f[s+24>>2]&127](u,l);else aE[f[s+28>>2]&127](u,l);e=t[u>>0]|0;r=(e&1)==0;s=u+4|0;a=u+8|0;o=r?s:u+4|0;s=r?s:f[u+8>>2]|0;r=(e&1)==0;r:do if((s|0)!=((r?o:f[a>>2]|0)+((r?(e&255)>>>1:f[o>>2]|0)<<2)|0)){while(1){l=f[s>>2]|0;n=f[i>>2]|0;if(n){r=n+24|0;e=f[r>>2]|0;if((e|0)==(f[n+28>>2]|0)){m=0;l=ve(f[(f[n>>2]|0)+52>>2]|0,n|0,l|0)|0;e=m;m=0;if(e&1)break}else{f[r>>2]=e+4;f[e>>2]=l}if((l|0)==-1)f[i>>2]=0}s=s+4|0;e=t[u>>0]|0;r=(e&1)==0;if((s|0)==((r?o:f[a>>2]|0)+((r?(e&255)>>>1:f[o>>2]|0)<<2)|0))break r}s=Ye()|0;Vd(u);break i}while(0)s=f[i>>2]|0;Vd(u);break e}while(0)$e(s|0)}while(0)c=d;return s|0}function Dk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;h=c;c=c+128|0;s=h;k=h+116|0;w=h+104|0;o=h+20|0;d=h+16|0;u=h+12|0;b=h+8|0;l=h+4|0;t[k>>0]=t[58887]|0;t[k+1>>0]=t[58888]|0;t[k+2>>0]=t[58889]|0;t[k+3>>0]=t[58890]|0;t[k+4>>0]=t[58891]|0;t[k+5>>0]=t[58892]|0;mk(k+1|0,58893,1,f[r+4>>2]|0);e=Gb()|0;f[s>>2]=a;a=w+(nm(w,12,e,k,s)|0)|0;k=_k(w,a,r)|0;e=sh(r)|0;f[b>>2]=e;m=0;_e(3,w|0,k|0,a|0,o|0,d|0,u|0,b|0);a=m;m=0;if(a&1){w=Ye()|0;bd(e)|0;$e(w|0)}else{bd(e)|0;f[l>>2]=f[i>>2];k=f[d>>2]|0;w=f[u>>2]|0;f[s>>2]=f[l>>2];w=am(s,o,k,w,r,n)|0;c=h;return w|0}return 0}function Rk(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0;g=c;c=c+16|0;y=g;p=Bu(l,44212)|0;d=Bu(l,44368)|0;aE[f[(f[d>>2]|0)+20>>2]&127](y,d);w=t[y>>0]|0;_=y+4|0;e:do if(!(((w&1)==0?(w&255)>>>1:f[_>>2]|0)|0)){m=0;Ae(f[(f[p>>2]|0)+48>>2]|0,p|0,e|0,r|0,n|0)|0;v=m;m=0;if(v&1)v=5;else{l=n+(r-e<<2)|0;f[s>>2]=l;v=28}}else{f[s>>2]=n;l=t[e>>0]|0;switch(l<<24>>24){case 43:case 45:{m=0;l=ve(f[(f[p>>2]|0)+44>>2]|0,p|0,l|0)|0;w=m;m=0;if(w&1){v=5;break e}u=f[s>>2]|0;f[s>>2]=u+4;f[u>>2]=l;u=e+1|0;break}default:u=e}i:do if((r-u|0)>1?(t[u>>0]|0)==48:0){l=u+1|0;switch(t[l>>0]|0){case 88:case 120:break;default:{w=u;break i}}m=0;o=ve(f[(f[p>>2]|0)+44>>2]|0,p|0,48)|0;w=m;m=0;if(w&1){v=5;break e}w=f[s>>2]|0;f[s>>2]=w+4;f[w>>2]=o;m=0;l=ve(f[(f[p>>2]|0)+44>>2]|0,p|0,t[l>>0]|0)|0;w=m;m=0;if(w&1){v=5;break e}w=f[s>>2]|0;f[s>>2]=w+4;f[w>>2]=l;w=u+2|0}else w=u;while(0)if((w|0)!=(r|0)?(h=r+-1|0,w>>>0<h>>>0):0){o=w;l=h;do{k=t[o>>0]|0;t[o>>0]=t[l>>0]|0;t[l>>0]=k;o=o+1|0;l=l+-1|0}while(o>>>0<l>>>0)}m=0;d=he(f[(f[d>>2]|0)+16>>2]|0,d|0)|0;k=m;m=0;if(!(k&1)){h=y+8|0;b=y+1|0;i:do if(w>>>0<r>>>0){l=0;o=0;k=w;while(1){u=t[((t[y>>0]&1)==0?b:f[h>>2]|0)+o>>0]|0;if(u<<24>>24!=0&(l|0)==(u<<24>>24|0)){l=f[s>>2]|0;f[s>>2]=l+4;f[l>>2]=d;l=t[y>>0]|0;u=0;o=(o>>>0<(((l&1)==0?(l&255)>>>1:f[_>>2]|0)+-1|0)>>>0&1)+o|0}else u=l;m=0;l=ve(f[(f[p>>2]|0)+44>>2]|0,p|0,t[k>>0]|0)|0;E=m;m=0;if(E&1)break;E=f[s>>2]|0;f[s>>2]=E+4;f[E>>2]=l;k=k+1|0;if(k>>>0>=r>>>0)break i;else l=u+1|0}l=Ye()|0;break e}while(0)u=e;l=n+(w-u<<2)|0;o=f[s>>2]|0;if((l|0)!=(o|0)){e=o+-4|0;if(l>>>0<e>>>0){do{E=f[l>>2]|0;f[l>>2]=f[e>>2];f[e>>2]=E;l=l+4|0;e=e+-4|0}while(l>>>0<e>>>0)e=u;l=o;v=28}else{e=u;l=o;v=28}}else{e=u;v=28}}else v=5}while(0)if((v|0)==5)l=Ye()|0;else if((v|0)==28){f[a>>2]=(i|0)==(r|0)?l:n+(i-e<<2)|0;Od(y);c=g;return}Od(y);$e(l|0)}function Ok(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0;h=c;c=c+224|0;s=h+8|0;e=h;k=h+196|0;o=h+32|0;d=h+28|0;u=h+24|0;b=h+20|0;l=h+16|0;w=e;f[w>>2]=37;f[w+4>>2]=0;mk(e+1|0,58895,1,f[r+4>>2]|0);w=Gb()|0;_=s;f[_>>2]=n;f[_+4>>2]=a;a=k+(nm(k,22,w,e,s)|0)|0;n=_k(k,a,r)|0;e=sh(r)|0;f[b>>2]=e;m=0;_e(3,k|0,n|0,a|0,o|0,d|0,u|0,b|0);a=m;m=0;if(a&1){_=Ye()|0;bd(e)|0;$e(_|0)}else{bd(e)|0;f[l>>2]=f[i>>2];w=f[d>>2]|0;_=f[u>>2]|0;f[s>>2]=f[l>>2];_=am(s,o,w,_,r,t)|0;c=h;return _|0}return 0}function Lk(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0;v=c;c=c+16|0;_=v;k=v+8|0;e:do if((r|0)==(n|0))u=n;else{u=r;while(1){if(!(f[u>>2]|0))break e;u=u+4|0;if((u|0)==(n|0)){u=n;break}}}while(0)f[o>>2]=s;f[a>>2]=r;h=l;w=e+8|0;e:do if(!((s|0)==(l|0)|(r|0)==(n|0))){e=s;d=u;i:while(1){y=i;s=f[y+4>>2]|0;u=_;f[u>>2]=f[y>>2];f[u+4>>2]=s;u=Wg(f[w>>2]|0)|0;m=0;s=ge(21,e|0,a|0,d-r>>2|0,h-e|0,i|0)|0;y=m;m=0;if(y&1){g=9;break}if((u|0)!=0?(m=0,he(75,u|0)|0,y=m,m=0,y&1):0){g=8;break}switch(s|0){case 0:{b=1;break e}case-1:{u=e;g=14;break i}default:{}}u=(f[o>>2]|0)+s|0;f[o>>2]=u;if((u|0)==(l|0)){g=27;break}if((d|0)==(n|0)){r=f[a>>2]|0;e=u;u=n}else{u=Wg(f[w>>2]|0)|0;m=0;r=ke(34,k|0,0,i|0)|0;y=m;m=0;if(y&1){g=35;break}if((u|0)!=0?(m=0,he(75,u|0)|0,y=m,m=0,y&1):0){g=34;break}if((r|0)==-1){b=2;break e}if(r>>>0>(h-(f[o>>2]|0)|0)>>>0){b=1;break e}if(r){u=k;while(1){d=t[u>>0]|0;y=f[o>>2]|0;f[o>>2]=y+1;t[y>>0]=d;r=r+-1|0;if(!r)break;else u=u+1|0}}r=(f[a>>2]|0)+4|0;f[a>>2]=r;r:do if((r|0)==(n|0))u=n;else{u=r;while(1){if(!(f[u>>2]|0))break r;u=u+4|0;if((u|0)==(n|0)){u=n;break}}}while(0)e=f[o>>2]|0}if((e|0)==(l|0)|(r|0)==(n|0)){g=47;break e}else d=u}if((g|0)==8){y=Ye(0)|0;Fi(y)}else if((g|0)==9){r=Ye()|0;if((u|0)!=0?(m=0,he(75,u|0)|0,y=m,m=0,y&1):0){y=Ye(0)|0;Fi(y)}$e(r|0)}else if((g|0)==14){f[o>>2]=u;i:do if((r|0)!=(f[a>>2]|0)){while(1){y=f[r>>2]|0;e=Wg(f[w>>2]|0)|0;m=0;u=ke(34,u|0,y|0,_|0)|0;y=m;m=0;if(y&1){p=e;break}if((e|0)!=0?(m=0,he(75,e|0)|0,y=m,m=0,y&1):0){g=18;break}if((u|0)==-1)break i;u=(f[o>>2]|0)+u|0;f[o>>2]=u;r=r+4|0;if((r|0)==(f[a>>2]|0))break i}if((g|0)==18){y=Ye(0)|0;Fi(y)}r=Ye()|0;if((p|0)!=0?(m=0,he(75,p|0)|0,y=m,m=0,y&1):0){y=Ye(0)|0;Fi(y)}$e(r|0)}while(0)f[a>>2]=r;b=2;break}else if((g|0)==27){r=f[a>>2]|0;g=47;break}else if((g|0)==34){y=Ye(0)|0;Fi(y)}else if((g|0)==35){r=Ye()|0;if((u|0)!=0?(m=0,he(75,u|0)|0,y=m,m=0,y&1):0){y=Ye(0)|0;Fi(y)}$e(r|0)}}else g=47;while(0)if((g|0)==47)b=(r|0)!=(n|0)&1;c=v;return b|0}function Ik(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0;v=c;c=c+16|0;p=v;e:do if((r|0)==(n|0))u=n;else{u=r;while(1){if(!(t[u>>0]|0))break e;u=u+1|0;if((u|0)==(n|0)){u=n;break}}}while(0)f[o>>2]=s;f[a>>2]=r;b=l;w=e+8|0;e:do if(!((s|0)==(l|0)|(r|0)==(n|0))){e=s;h=u;i:while(1){d=i;u=f[d+4>>2]|0;s=p;f[s>>2]=f[d>>2];f[s+4>>2]=u;s=h;u=Wg(f[w>>2]|0)|0;m=0;d=ge(22,e|0,a|0,s-r|0,b-e>>2|0,i|0)|0;y=m;m=0;if(y&1){g=9;break}if((u|0)!=0?(m=0,he(75,u|0)|0,y=m,m=0,y&1):0){g=8;break}switch(d|0){case 0:{k=2;break e}case-1:{u=e;g=14;break i}default:{}}e=(f[o>>2]|0)+(d<<2)|0;f[o>>2]=e;if((e|0)==(l|0)){g=31;break}r=f[a>>2]|0;if((h|0)==(n|0))u=n;else{u=Wg(f[w>>2]|0)|0;m=0;r=Ae(20,e|0,r|0,1,i|0)|0;y=m;m=0;if(y&1){g=38;break}if((u|0)!=0?(m=0,he(75,u|0)|0,y=m,m=0,y&1):0){g=37;break}if(r){k=2;break e}f[o>>2]=(f[o>>2]|0)+4;r=(f[a>>2]|0)+1|0;f[a>>2]=r;r:do if((r|0)==(n|0))u=n;else{u=r;while(1){if(!(t[u>>0]|0))break r;u=u+1|0;if((u|0)==(n|0)){u=n;break}}}while(0)e=f[o>>2]|0}if((e|0)==(l|0)|(r|0)==(n|0)){g=47;break e}else h=u}if((g|0)==8){y=Ye(0)|0;Fi(y)}else if((g|0)==9){r=Ye()|0;if((u|0)!=0?(m=0,he(75,u|0)|0,y=m,m=0,y&1):0){y=Ye(0)|0;Fi(y)}$e(r|0)}else if((g|0)==14){f[o>>2]=u;i:do if((r|0)!=(f[a>>2]|0)){e=u;r:while(1){u=Wg(f[w>>2]|0)|0;m=0;e=Ae(20,e|0,r|0,s-r|0,p|0)|0;y=m;m=0;if(y&1){g=19;break}if((u|0)!=0?(m=0,he(75,u|0)|0,y=m,m=0,y&1):0){g=18;break}switch(e|0){case-1:{g=25;break r}case-2:{g=26;break r}case 0:{r=r+1|0;break}default:r=r+e|0}e=(f[o>>2]|0)+4|0;f[o>>2]=e;if((r|0)==(f[a>>2]|0)){_=r;break i}}if((g|0)==18){y=Ye(0)|0;Fi(y)}else if((g|0)==19){r=Ye()|0;if((u|0)!=0?(m=0,he(75,u|0)|0,y=m,m=0,y&1):0){y=Ye(0)|0;Fi(y)}$e(r|0)}else if((g|0)==25){f[a>>2]=r;k=2;break e}else if((g|0)==26){f[a>>2]=r;k=1;break e}}else _=r;while(0)f[a>>2]=_;k=(_|0)!=(n|0)&1;break}else if((g|0)==31){r=f[a>>2]|0;g=47;break}else if((g|0)==37){y=Ye(0)|0;Fi(y)}else if((g|0)==38){r=Ye()|0;if((u|0)!=0?(m=0,he(75,u|0)|0,y=m,m=0,y&1):0){y=Ye(0)|0;Fi(y)}$e(r|0)}}else g=47;while(0)if((g|0)==47)k=(r|0)!=(n|0)&1;c=v;return k|0}function Bk(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=c;c=c+16|0;s=l;f[a>>2]=r;r=Wg(f[e+8>>2]|0)|0;m=0;e=ke(34,s|0,0,i|0)|0;i=m;m=0;if(i&1){s=Ye()|0;if((r|0)!=0?(m=0,he(75,r|0)|0,l=m,m=0,l&1):0){l=Ye(0)|0;Fi(l)}$e(s|0)}if((r|0)!=0?(m=0,he(75,r|0)|0,i=m,m=0,i&1):0){i=Ye(0)|0;Fi(i)}switch(e|0){case 0:case-1:{s=2;break}default:{e=e+-1|0;if(e>>>0<=(n-(f[a>>2]|0)|0)>>>0)if(!e)s=0;else while(1){i=t[s>>0]|0;n=f[a>>2]|0;f[a>>2]=n+1;t[n>>0]=i;e=e+-1|0;if(!e){s=0;break}else s=s+1|0}else s=1}}c=l;return s|0}function Nk(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;i=e+8|0;m=0;r=he(75,f[i>>2]|0)|0;t=m;m=0;do if(t&1)n=16;else{m=0;t=ke(35,0,0,4)|0;e=m;m=0;if(e&1){e=Ye(0)|0;if(!r)break;m=0;he(75,r|0)|0;s=m;m=0;if(!(s&1))break;s=Ye(0)|0;Fi(s)}if((r|0)!=0?(m=0,he(75,r|0)|0,s=m,m=0,s&1):0){s=Ye(0)|0;Fi(s)}if(!t){e=f[i>>2]|0;if(e){m=0;e=he(75,e|0)|0;s=m;m=0;if(s&1){n=16;break}if((e|0)!=0?(m=0,he(75,e|0)|0,s=m,m=0,s&1):0){s=Ye(0)|0;Fi(s)}else a=0}else a=1}else a=-1;return a|0}while(0)if((n|0)==16)e=Ye(0)|0;Fi(e);return 0}function Fk(e){e=e|0;return 0}function jk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;u=t;o=e+8|0;e:do if((r|0)==(t|0)|(n|0)==0)e=0;else{e=0;l=0;while(1){s=Wg(f[o>>2]|0)|0;m=0;a=ke(36,r|0,u-r|0,i|0)|0;h=m;m=0;if(h&1){d=s;break}if((s|0)!=0?(m=0,he(75,s|0)|0,h=m,m=0,h&1):0){c=5;break}switch(a|0){case-2:case-1:break e;case 0:{r=r+1|0;a=1;break}default:r=r+a|0}e=a+e|0;l=l+1|0;if((r|0)==(t|0)|l>>>0>=n>>>0)break e}if((c|0)==5){h=Ye(0)|0;Fi(h)}e=Ye()|0;if((d|0)!=0?(m=0,he(75,d|0)|0,h=m,m=0,h&1):0){h=Ye(0)|0;Fi(h)}$e(e|0)}while(0)return e|0}function Uk(e){e=e|0;var i=0,r=0;e=f[e+8>>2]|0;if(e){m=0;e=he(75,e|0)|0;r=m;m=0;if(r&1){r=Ye(0)|0;Fi(r)}if((e|0)!=0?(m=0,he(75,e|0)|0,r=m,m=0,r&1):0){r=Ye(0)|0;Fi(r)}else i=4}else i=1;return i|0}function Hk(e){e=e|0;Iv(e);return}function Yk(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0;e=c;c=c+16|0;o=e+4|0;i=e;f[o>>2]=r;f[i>>2]=a;s=Vm(r,t,o,a,s,i,1114111,0)|0;f[n>>2]=f[o>>2];f[l>>2]=f[i>>2];c=e;return s|0}function qk(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0;e=c;c=c+16|0;o=e+4|0;i=e;f[o>>2]=r;f[i>>2]=a;s=Km(r,t,o,a,s,i,1114111,0)|0;f[n>>2]=f[o>>2];f[l>>2]=f[i>>2];c=e;return s|0}function zk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f[n>>2]=r;return 3}function Xk(e){e=e|0;return 0}function Gk(e){e=e|0;return 0}function Vk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return Wm(r,t,n,1114111,0)|0}function Kk(e){e=e|0;return 4}function Wk(e){e=e|0;Iv(e);return}function Jk(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0;e=c;c=c+16|0;o=e+4|0;i=e;f[o>>2]=r;f[i>>2]=a;s=Jm(r,t,o,a,s,i,1114111,0)|0;f[n>>2]=f[o>>2];f[l>>2]=f[i>>2];c=e;return s|0}function Qk(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0;e=c;c=c+16|0;o=e+4|0;i=e;f[o>>2]=r;f[i>>2]=a;s=Qm(r,t,o,a,s,i,1114111,0)|0;f[n>>2]=f[o>>2];f[l>>2]=f[i>>2];c=e;return s|0}function Zk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f[n>>2]=r;return 3}function $k(e){e=e|0;return 0}function ew(e){e=e|0;return 0}function iw(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return Zm(r,t,n,1114111,0)|0}function rw(e){e=e|0;return 4}function tw(e){e=e|0;Iv(e);return}function nw(e){e=e|0;Iv(e);return}function fw(e,i){e=e|0;i=i|0;f[e+4>>2]=i+-1;f[e>>2]=44384;t[e+8>>0]=46;t[e+9>>0]=44;e=e+12|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function aw(e,i){e=e|0;i=i|0;f[e+4>>2]=i+-1;f[e>>2]=44424;f[e+8>>2]=46;f[e+12>>2]=44;e=e+16|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;return}function sw(e){e=e|0;f[e>>2]=44384;Od(e+12|0);return}function lw(e){e=e|0;sw(e);Iv(e);return}function ow(e){e=e|0;f[e>>2]=44424;Od(e+16|0);return}function uw(e){e=e|0;ow(e);Iv(e);return}function cw(e){e=e|0;return t[e+8>>0]|0}function dw(e){e=e|0;return f[e+8>>2]|0}function hw(e){e=e|0;return t[e+9>>0]|0}function bw(e){e=e|0;return f[e+12>>2]|0}function kw(e,i){e=e|0;i=i|0;xd(e,i+12|0);return}function ww(e,i){e=e|0;i=i|0;xd(e,i+16|0);return}function mw(e,i){e=e|0;i=i|0;Dd(e,59024,4);return}function _w(e,i){e=e|0;i=i|0;Xd(e,44996,Ky(44996)|0);return}function pw(e,i){e=e|0;i=i|0;Dd(e,59029,5);return}function vw(e,i){e=e|0;i=i|0;Xd(e,45016,Ky(45016)|0);return}function gw(e){e=e|0;switch(f[e+4>>2]&74|0){case 64:{e=8;break}case 8:{e=16;break}case 0:{e=0;break}default:e=10}return e|0}function yw(e){e=e|0;do if((t[2464]|0)==0?(Be(2464)|0)!=0:0){if((t[2472]|0)==0?(Be(2472)|0)!=0:0){e=45040;do{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=e+12|0}while((e|0)!=45208)hi(193,0,w|0)|0;ze(2472)}m=0;ve(41,45040,59035)|0;e=m;m=0;if(((((((((((((!(e&1)?(m=0,ve(41,45052,59042)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45064,59049)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45076,59057)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45088,59067)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45100,59076)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45112,59083)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45124,59092)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45136,59096)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45148,59100)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45160,59104)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45172,59108)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45184,59112)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45196,59116)|0,e=m,m=0,!(e&1)):0){f[11302]=45040;ze(2464);break}e=Ye()|0;gi(2464);$e(e|0)}while(0)return f[11302]|0}function Ew(e){e=e|0;do if((t[2480]|0)==0?(Be(2480)|0)!=0:0){if((t[2488]|0)==0?(Be(2488)|0)!=0:0){e=45212;do{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=e+12|0}while((e|0)!=45380)hi(194,0,w|0)|0;ze(2488)}m=0;ve(42,45212,45380)|0;e=m;m=0;if(((((((((((((!(e&1)?(m=0,ve(42,45224,45408)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,45236,45436)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,45248,45468)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,45260,45508)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,45272,45544)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,45284,45572)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,45296,45608)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,45308,45624)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,45320,45640)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,45332,45656)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,45344,45672)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,45356,45688)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,45368,45704)|0,e=m,m=0,!(e&1)):0){f[11430]=45212;ze(2480);break}e=Ye()|0;gi(2480);$e(e|0)}while(0)return f[11430]|0}function Aw(e){e=e|0;e:do if((t[2496]|0)==0?(Be(2496)|0)!=0:0){if((t[2504]|0)==0?(Be(2504)|0)!=0:0){e=45724;do{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=e+12|0}while((e|0)!=46012)hi(195,0,w|0)|0;ze(2504)}m=0;ve(41,45724,59120)|0;e=m;m=0;do if((((((((((((((!(e&1)?(m=0,ve(41,45736,59128)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45748,59137)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45760,59143)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45772,59149)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45784,59153)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45796,59158)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45808,59163)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45820,59170)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45832,59180)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45844,59188)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45856,59197)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45868,59206)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45880,59210)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(41,45892,59214)|0,e=m,m=0,!(e&1)):0){m=0;ve(41,45904,59218)|0;e=m;m=0;if(e&1)break;m=0;ve(41,45916,59149)|0;e=m;m=0;if(e&1)break;m=0;ve(41,45928,59222)|0;e=m;m=0;if(e&1)break;m=0;ve(41,45940,59226)|0;e=m;m=0;if(e&1)break;m=0;ve(41,45952,59230)|0;e=m;m=0;if(e&1)break;m=0;ve(41,45964,59234)|0;e=m;m=0;if(e&1)break;m=0;ve(41,45976,59238)|0;e=m;m=0;if(e&1)break;m=0;ve(41,45988,59242)|0;e=m;m=0;if(e&1)break;m=0;ve(41,46e3,59246)|0;e=m;m=0;if(e&1)break;f[11503]=45724;ze(2496);break e}while(0)e=Ye()|0;gi(2496);$e(e|0)}while(0)return f[11503]|0}function Sw(e){e=e|0;e:do if((t[2512]|0)==0?(Be(2512)|0)!=0:0){if((t[2520]|0)==0?(Be(2520)|0)!=0:0){e=46016;do{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=e+12|0}while((e|0)!=46304)hi(196,0,w|0)|0;ze(2520)}m=0;ve(42,46016,46304)|0;e=m;m=0;do if((((((((((((((!(e&1)?(m=0,ve(42,46028,46336)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,46040,46372)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,46052,46396)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,46064,46420)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,46076,46436)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,46088,46456)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,46100,46476)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,46112,46504)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,46124,46544)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,46136,46576)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,46148,46612)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,46160,46648)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,46172,46664)|0,e=m,m=0,!(e&1)):0)?(m=0,ve(42,46184,46680)|0,e=m,m=0,!(e&1)):0){m=0;ve(42,46196,46696)|0;e=m;m=0;if(e&1)break;m=0;ve(42,46208,46420)|0;e=m;m=0;if(e&1)break;m=0;ve(42,46220,46712)|0;e=m;m=0;if(e&1)break;m=0;ve(42,46232,46728)|0;e=m;m=0;if(e&1)break;m=0;ve(42,46244,46744)|0;e=m;m=0;if(e&1)break;m=0;ve(42,46256,46760)|0;e=m;m=0;if(e&1)break;m=0;ve(42,46268,46776)|0;e=m;m=0;if(e&1)break;m=0;ve(42,46280,46792)|0;e=m;m=0;if(e&1)break;m=0;ve(42,46292,46808)|0;e=m;m=0;if(e&1)break;f[11706]=46016;ze(2512);break e}while(0)e=Ye()|0;gi(2512);$e(e|0)}while(0)return f[11706]|0}function Tw(e){e=e|0;do if((t[2528]|0)==0?(Be(2528)|0)!=0:0){if((t[2536]|0)==0?(Be(2536)|0)!=0:0){e=46828;do{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=e+12|0}while((e|0)!=47116)hi(197,0,w|0)|0;ze(2536)}m=0;ve(41,46828,59250)|0;e=m;m=0;if(!(e&1)?(m=0,ve(41,46840,59253)|0,e=m,m=0,!(e&1)):0){f[11779]=46828;ze(2528);break}e=Ye()|0;gi(2528);$e(e|0)}while(0)return f[11779]|0}function Mw(e){e=e|0;do if((t[2544]|0)==0?(Be(2544)|0)!=0:0){if((t[2552]|0)==0?(Be(2552)|0)!=0:0){e=47120;do{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;e=e+12|0}while((e|0)!=47408)hi(198,0,w|0)|0;ze(2552)}m=0;ve(42,47120,47408)|0;e=m;m=0;if(!(e&1)?(m=0,ve(42,47132,47420)|0,e=m,m=0,!(e&1)):0){f[11858]=47120;ze(2544);break}e=Ye()|0;gi(2544);$e(e|0)}while(0)return f[11858]|0}function Cw(e){e=e|0;do if((t[2560]|0)==0?(Be(2560)|0)!=0:0){m=0;Se(5,47436,59256,8);e=m;m=0;if(e&1){e=Ye()|0;gi(2560);$e(e|0)}else{hi(199,47436,w|0)|0;ze(2560);break}}while(0)return 47436}function Pw(e){e=e|0;var i=0;do if((t[2568]|0)==0?(Be(2568)|0)!=0:0){m=0;e=he(76,47448)|0;i=m;m=0;if(!(i&1)?(m=0,Se(15,47484,47448,e|0),i=m,m=0,!(i&1)):0){hi(200,47484,w|0)|0;ze(2568);break}i=Ye()|0;gi(2568);$e(i|0)}while(0)return 47484}function xw(e){e=e|0;do if((t[2576]|0)==0?(Be(2576)|0)!=0:0){m=0;Se(5,47496,59265,8);e=m;m=0;if(e&1){e=Ye()|0;gi(2576);$e(e|0)}else{hi(199,47496,w|0)|0;ze(2576);break}}while(0)return 47496}function Dw(e){e=e|0;var i=0;do if((t[2584]|0)==0?(Be(2584)|0)!=0:0){m=0;e=he(76,47508)|0;i=m;m=0;if(!(i&1)?(m=0,Se(15,47544,47508,e|0),i=m,m=0,!(i&1)):0){hi(200,47544,w|0)|0;ze(2584);break}i=Ye()|0;gi(2584);$e(i|0)}while(0)return 47544}function Rw(e){e=e|0;do if((t[2592]|0)==0?(Be(2592)|0)!=0:0){m=0;Se(5,47556,59274,20);e=m;m=0;if(e&1){e=Ye()|0;gi(2592);$e(e|0)}else{hi(199,47556,w|0)|0;ze(2592);break}}while(0)return 47556}function Ow(e){e=e|0;var i=0;do if((t[2600]|0)==0?(Be(2600)|0)!=0:0){m=0;e=he(76,47568)|0;i=m;m=0;if(!(i&1)?(m=0,Se(15,47652,47568,e|0),i=m,m=0,!(i&1)):0){hi(200,47652,w|0)|0;ze(2600);break}i=Ye()|0;gi(2600);$e(i|0)}while(0)return 47652}function Lw(e){e=e|0;do if((t[2608]|0)==0?(Be(2608)|0)!=0:0){m=0;Se(5,47664,59295,11);e=m;m=0;if(e&1){e=Ye()|0;gi(2608);$e(e|0)}else{hi(199,47664,w|0)|0;ze(2608);break}}while(0)return 47664}function Iw(e){e=e|0;var i=0;do if((t[2616]|0)==0?(Be(2616)|0)!=0:0){m=0;e=he(76,47676)|0;i=m;m=0;if(!(i&1)?(m=0,Se(15,47724,47676,e|0),i=m,m=0,!(i&1)):0){hi(200,47724,w|0)|0;ze(2616);break}i=Ye()|0;gi(2616);$e(i|0)}while(0)return 47724}function Bw(e){e=e|0;var i=0,r=0,t=0;f[e>>2]=44304;e=e+8|0;i=f[e>>2]|0;m=0;r=Ee(3)|0;t=m;m=0;do if(!(t&1)){if((i|0)!=(r|0)?(m=0,ue(188,f[e>>2]|0),t=m,m=0,t&1):0)break;return}while(0)t=Ye(0)|0;Fi(t)}function Nw(e,i,r,n,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;var u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0;S=c;c=c+112|0;d=S;b=(n-r|0)/12|0;do if(b>>>0>100){d=xc(b)|0;if((d|0)==0?(m=0,Te(6),A=m,m=0,A&1):0){u=0;_=6;break}u=d;_=11}else{u=0;_=11}while(0)e:do if((_|0)==11){if((r|0)==(n|0))h=0;else{_=r;k=0;w=d;while(1){h=t[_>>0]|0;if(!(h&1))h=(h&255)>>>1;else h=f[_+4>>2]|0;if(!h){t[w>>0]=2;h=k+1|0;b=b+-1|0}else{t[w>>0]=1;h=k}_=_+12|0;if((_|0)==(n|0))break;else{k=h;w=w+1|0}}}E=(r|0)==(n|0);A=(r|0)==(n|0);y=0;p=h;i:while(1){h=f[e>>2]|0;do if(h){if((f[h+12>>2]|0)==(f[h+16>>2]|0)){m=0;h=he(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;g=m;m=0;if(g&1){_=5;break i}if((h|0)==-1){f[e>>2]=0;h=0;break}else{h=f[e>>2]|0;break}}}else h=0;while(0)_=(h|0)==0;k=f[i>>2]|0;if(k){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){m=0;h=he(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;g=m;m=0;if(g&1){_=5;break}if((h|0)==-1){f[i>>2]=0;k=0}}}else k=0;w=(k|0)==0;h=f[e>>2]|0;if(!((b|0)!=0&(_^w))){_=64;break}k=f[h+12>>2]|0;if((k|0)==(f[h+16>>2]|0)){m=0;h=he(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;g=m;m=0;if(g&1){_=5;break}}else h=a[k>>0]|0;h=h&255;if(!o){m=0;h=ve(f[(f[s>>2]|0)+12>>2]|0,s|0,h|0)|0;g=m;m=0;if(g&1){_=5;break}}g=y+1|0;if(E){h=0;_=p}else{w=0;v=r;_=p;p=d;while(1){do if((t[p>>0]|0)==1){if(!(t[v>>0]&1))k=v+1|0;else k=f[v+8>>2]|0;k=t[k+y>>0]|0;if(!o){m=0;k=ve(f[(f[s>>2]|0)+12>>2]|0,s|0,k|0)|0;T=m;m=0;if(T&1){_=4;break i}}if(h<<24>>24!=k<<24>>24){t[p>>0]=0;k=w;b=b+-1|0;break}k=t[v>>0]|0;if(!(k&1))k=(k&255)>>>1;else k=f[v+4>>2]|0;if((k|0)==(g|0)){t[p>>0]=2;k=1;_=_+1|0;b=b+-1|0}else k=1}else k=w;while(0)v=v+12|0;if((v|0)==(n|0)){h=k;break}else{w=k;p=p+1|0}}}if(!h){y=g;p=_;continue}h=f[e>>2]|0;k=h+12|0;w=f[k>>2]|0;if((w|0)==(f[h+16>>2]|0)){m=0;he(f[(f[h>>2]|0)+40>>2]|0,h|0)|0;T=m;m=0;if(T&1){_=5;break}}else f[k>>2]=w+1;if((_+b|0)>>>0<2|A){y=g;p=_;continue}else{h=r;w=_;_=d}while(1){if((t[_>>0]|0)==2){k=t[h>>0]|0;if(!(k&1))k=(k&255)>>>1;else k=f[h+4>>2]|0;if((k|0)!=(g|0)){t[_>>0]=0;w=w+-1|0}}h=h+12|0;if((h|0)==(n|0)){y=g;p=w;continue i}else _=_+1|0}}if((_|0)==4){r=Ye()|0;break}else if((_|0)==5){r=Ye()|0;break}else if((_|0)==64){do if(h){if((f[h+12>>2]|0)==(f[h+16>>2]|0)){m=0;h=he(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;T=m;m=0;if(T&1){_=6;break e}if((h|0)==-1){f[e>>2]=0;h=0;break}else{h=f[e>>2]|0;break}}}else h=0;while(0)b=(h|0)==0;do if(!w){if((f[k+12>>2]|0)==(f[k+16>>2]|0)){m=0;h=he(f[(f[k>>2]|0)+36>>2]|0,k|0)|0;T=m;m=0;if(T&1){_=6;break e}if((h|0)==-1){f[i>>2]=0;_=76;break}}if(!b)_=77}else _=76;while(0)if((_|0)==76?b:0)_=77;if((_|0)==77)f[l>>2]=f[l>>2]|2;i:do if((r|0)==(n|0))_=81;else while(1){if((t[d>>0]|0)==2)break i;r=r+12|0;if((r|0)==(n|0)){_=81;break}else d=d+1|0}while(0)if((_|0)==81){f[l>>2]=f[l>>2]|4;r=n}if(u)Dc(u);c=S;return r|0}}while(0)if((_|0)==6)r=Ye()|0;if(u)Dc(u);$e(r|0);return 0}function Fw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0;T=c;c=c+240|0;p=T+202|0;o=T+200|0;C=T+24|0;M=T+12|0;g=T+8|0;A=T+40|0;S=T+4|0;y=T;v=gw(n)|0;sk(C,n,p,o);f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;if(!(t[M>>0]&1))e=10;else e=(f[M>>2]&-2)+-1|0;m=0;Se(8,M|0,e|0,0);_=m;m=0;e:do if(!(_&1)){k=M+8|0;w=M+1|0;n=(t[M>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n;f[S>>2]=A;f[y>>2]=0;_=M+4|0;b=t[o>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;o=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;h=m;m=0;if(h&1){P=24;break}if((o|0)==-1){f[i>>2]=0;e=0}}}else e=0;u=(e|0)==0;o=f[r>>2]|0;do if(o){if((f[o+12>>2]|0)!=(f[o+16>>2]|0))if(u)break;else break i;m=0;d=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;h=m;m=0;if(h&1){P=24;break i}if((d|0)!=-1)if(u)break;else break i;else{f[r>>2]=0;P=16;break}}else P=16;while(0)if((P|0)==16){P=0;if(u){o=0;break}else o=0}u=t[M>>0]|0;u=(u&1)==0?(u&255)>>>1:f[_>>2]|0;if((f[g>>2]|0)==(n+u|0)){m=0;Se(8,M|0,u<<1|0,0);h=m;m=0;if(h&1){P=24;break}if(!(t[M>>0]&1))n=10;else n=(f[M>>2]&-2)+-1|0;m=0;Se(8,M|0,n|0,0);h=m;m=0;if(h&1){P=24;break}n=(t[M>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n+u}d=e+12|0;u=f[d>>2]|0;h=e+16|0;if((u|0)==(f[h>>2]|0)){m=0;u=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=24;break}}else u=a[u>>0]|0;if(Xb(u&255,v,n,g,y,b,C,A,S,p)|0)break;o=f[d>>2]|0;if((o|0)==(f[h>>2]|0)){m=0;he(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=24;break}else continue}else{f[d>>2]=o+1;continue}}if((P|0)==24){e=Ye()|0;break}x=t[C>>0]|0;if((((x&1)==0?(x&255)>>>1:f[C+4>>2]|0)|0)!=0?(E=f[S>>2]|0,(E-A|0)<160):0){x=f[y>>2]|0;f[S>>2]=E+4;f[E>>2]=x}m=0;n=Ae(21,n|0,f[g>>2]|0,s|0,v|0)|0;x=m;m=0;if(!(x&1)){f[l>>2]=n;Ko(C,A,f[S>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;n=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do if(o){if((f[o+12>>2]|0)==(f[o+16>>2]|0)){m=0;e=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;x=m;m=0;if(x&1){P=25;break e}if((e|0)==-1){f[r>>2]=0;P=49;break}}if(!n)P=50}else P=49;while(0)if((P|0)==49?n:0)P=50;if((P|0)==50)f[s>>2]=f[s>>2]|2;x=f[i>>2]|0;Od(M);Od(C);c=T;return x|0}else P=25}else P=25;while(0)if((P|0)==25)e=Ye()|0;Od(M);Od(C);$e(e|0);return 0}function jw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0;T=c;c=c+240|0;p=T+202|0;o=T+200|0;C=T+24|0;M=T+12|0;g=T+8|0;A=T+40|0;S=T+4|0;y=T;v=gw(n)|0;sk(C,n,p,o)
26
+ ;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;if(!(t[M>>0]&1))e=10;else e=(f[M>>2]&-2)+-1|0;m=0;Se(8,M|0,e|0,0);_=m;m=0;e:do if(!(_&1)){k=M+8|0;w=M+1|0;n=(t[M>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n;f[S>>2]=A;f[y>>2]=0;_=M+4|0;b=t[o>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;o=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;h=m;m=0;if(h&1){P=24;break}if((o|0)==-1){f[i>>2]=0;e=0}}}else e=0;o=(e|0)==0;u=f[r>>2]|0;do if(u){if((f[u+12>>2]|0)!=(f[u+16>>2]|0))if(o)break;else break i;m=0;d=he(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;h=m;m=0;if(h&1){P=24;break i}if((d|0)!=-1)if(o)break;else break i;else{f[r>>2]=0;P=16;break}}else P=16;while(0)if((P|0)==16){P=0;if(o){u=0;break}else u=0}o=t[M>>0]|0;o=(o&1)==0?(o&255)>>>1:f[_>>2]|0;if((f[g>>2]|0)==(n+o|0)){m=0;Se(8,M|0,o<<1|0,0);h=m;m=0;if(h&1){P=24;break}if(!(t[M>>0]&1))n=10;else n=(f[M>>2]&-2)+-1|0;m=0;Se(8,M|0,n|0,0);h=m;m=0;if(h&1){P=24;break}n=(t[M>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n+o}d=e+12|0;o=f[d>>2]|0;h=e+16|0;if((o|0)==(f[h>>2]|0)){m=0;o=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=24;break}}else o=a[o>>0]|0;if(Xb(o&255,v,n,g,y,b,C,A,S,p)|0)break;o=f[d>>2]|0;if((o|0)==(f[h>>2]|0)){m=0;he(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=24;break}else continue}else{f[d>>2]=o+1;continue}}if((P|0)==24){e=Ye()|0;break}x=t[C>>0]|0;if((((x&1)==0?(x&255)>>>1:f[C+4>>2]|0)|0)!=0?(E=f[S>>2]|0,(E-A|0)<160):0){x=f[y>>2]|0;f[S>>2]=E+4;f[E>>2]=x}m=0;n=Ae(22,n|0,f[g>>2]|0,s|0,v|0)|0;o=R;x=m;m=0;if(!(x&1)){x=l;f[x>>2]=n;f[x+4>>2]=o;Ko(C,A,f[S>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;n=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do if(u){if((f[u+12>>2]|0)==(f[u+16>>2]|0)){m=0;e=he(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;x=m;m=0;if(x&1){P=25;break e}if((e|0)==-1){f[r>>2]=0;P=49;break}}if(!n)P=50}else P=49;while(0)if((P|0)==49?n:0)P=50;if((P|0)==50)f[s>>2]=f[s>>2]|2;x=f[i>>2]|0;Od(M);Od(C);c=T;return x|0}else P=25}else P=25;while(0)if((P|0)==25)e=Ye()|0;Od(M);Od(C);$e(e|0);return 0}function Uw(e,i,r,s,l,o){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;o=o|0;var u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0;M=c;c=c+240|0;v=M+202|0;u=M+200|0;P=M+24|0;C=M+12|0;y=M+8|0;S=M+40|0;T=M+4|0;E=M;g=gw(s)|0;sk(P,s,v,u);f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;if(!(t[C>>0]&1))e=10;else e=(f[C>>2]&-2)+-1|0;m=0;Se(8,C|0,e|0,0);p=m;m=0;e:do if(!(p&1)){w=C+8|0;_=C+1|0;s=(t[C>>0]&1)==0?_:f[w>>2]|0;f[y>>2]=s;f[T>>2]=S;f[E>>2]=0;p=C+4|0;k=t[u>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;u=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;b=m;m=0;if(b&1){x=24;break}if((u|0)==-1){f[i>>2]=0;e=0}}}else e=0;d=(e|0)==0;u=f[r>>2]|0;do if(u){if((f[u+12>>2]|0)!=(f[u+16>>2]|0))if(d)break;else break i;m=0;h=he(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;b=m;m=0;if(b&1){x=24;break i}if((h|0)!=-1)if(d)break;else break i;else{f[r>>2]=0;x=16;break}}else x=16;while(0)if((x|0)==16){x=0;if(d){u=0;break}else u=0}d=t[C>>0]|0;d=(d&1)==0?(d&255)>>>1:f[p>>2]|0;if((f[y>>2]|0)==(s+d|0)){m=0;Se(8,C|0,d<<1|0,0);b=m;m=0;if(b&1){x=24;break}if(!(t[C>>0]&1))s=10;else s=(f[C>>2]&-2)+-1|0;m=0;Se(8,C|0,s|0,0);b=m;m=0;if(b&1){x=24;break}s=(t[C>>0]&1)==0?_:f[w>>2]|0;f[y>>2]=s+d}h=e+12|0;d=f[h>>2]|0;b=e+16|0;if((d|0)==(f[b>>2]|0)){m=0;d=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;D=m;m=0;if(D&1){x=24;break}}else d=a[d>>0]|0;if(Xb(d&255,g,s,y,E,k,P,S,T,v)|0)break;u=f[h>>2]|0;if((u|0)==(f[b>>2]|0)){m=0;he(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;D=m;m=0;if(D&1){x=24;break}else continue}else{f[h>>2]=u+1;continue}}if((x|0)==24){e=Ye()|0;break}D=t[P>>0]|0;if((((D&1)==0?(D&255)>>>1:f[P+4>>2]|0)|0)!=0?(A=f[T>>2]|0,(A-S|0)<160):0){D=f[E>>2]|0;f[T>>2]=A+4;f[A>>2]=D}m=0;s=Ae(23,s|0,f[y>>2]|0,l|0,g|0)|0;D=m;m=0;if(!(D&1)){n[o>>1]=s;Ko(P,S,f[T>>2]|0,l);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;s=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;D=m;m=0;if(D&1){x=25;break}if((s|0)==-1){f[i>>2]=0;e=0}}}else e=0;s=(e|0)==0;do if(u){if((f[u+12>>2]|0)==(f[u+16>>2]|0)){m=0;e=he(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;D=m;m=0;if(D&1){x=25;break e}if((e|0)==-1){f[r>>2]=0;x=49;break}}if(!s)x=50}else x=49;while(0)if((x|0)==49?s:0)x=50;if((x|0)==50)f[l>>2]=f[l>>2]|2;D=f[i>>2]|0;Od(C);Od(P);c=M;return D|0}else x=25}else x=25;while(0)if((x|0)==25)e=Ye()|0;Od(C);Od(P);$e(e|0);return 0}function Hw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0;T=c;c=c+240|0;p=T+202|0;o=T+200|0;C=T+24|0;M=T+12|0;g=T+8|0;A=T+40|0;S=T+4|0;y=T;v=gw(n)|0;sk(C,n,p,o);f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;if(!(t[M>>0]&1))e=10;else e=(f[M>>2]&-2)+-1|0;m=0;Se(8,M|0,e|0,0);_=m;m=0;e:do if(!(_&1)){k=M+8|0;w=M+1|0;n=(t[M>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n;f[S>>2]=A;f[y>>2]=0;_=M+4|0;b=t[o>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;o=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;h=m;m=0;if(h&1){P=24;break}if((o|0)==-1){f[i>>2]=0;e=0}}}else e=0;u=(e|0)==0;o=f[r>>2]|0;do if(o){if((f[o+12>>2]|0)!=(f[o+16>>2]|0))if(u)break;else break i;m=0;d=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;h=m;m=0;if(h&1){P=24;break i}if((d|0)!=-1)if(u)break;else break i;else{f[r>>2]=0;P=16;break}}else P=16;while(0)if((P|0)==16){P=0;if(u){o=0;break}else o=0}u=t[M>>0]|0;u=(u&1)==0?(u&255)>>>1:f[_>>2]|0;if((f[g>>2]|0)==(n+u|0)){m=0;Se(8,M|0,u<<1|0,0);h=m;m=0;if(h&1){P=24;break}if(!(t[M>>0]&1))n=10;else n=(f[M>>2]&-2)+-1|0;m=0;Se(8,M|0,n|0,0);h=m;m=0;if(h&1){P=24;break}n=(t[M>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n+u}d=e+12|0;u=f[d>>2]|0;h=e+16|0;if((u|0)==(f[h>>2]|0)){m=0;u=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=24;break}}else u=a[u>>0]|0;if(Xb(u&255,v,n,g,y,b,C,A,S,p)|0)break;o=f[d>>2]|0;if((o|0)==(f[h>>2]|0)){m=0;he(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=24;break}else continue}else{f[d>>2]=o+1;continue}}if((P|0)==24){e=Ye()|0;break}x=t[C>>0]|0;if((((x&1)==0?(x&255)>>>1:f[C+4>>2]|0)|0)!=0?(E=f[S>>2]|0,(E-A|0)<160):0){x=f[y>>2]|0;f[S>>2]=E+4;f[E>>2]=x}m=0;n=Ae(24,n|0,f[g>>2]|0,s|0,v|0)|0;x=m;m=0;if(!(x&1)){f[l>>2]=n;Ko(C,A,f[S>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;n=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do if(o){if((f[o+12>>2]|0)==(f[o+16>>2]|0)){m=0;e=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;x=m;m=0;if(x&1){P=25;break e}if((e|0)==-1){f[r>>2]=0;P=49;break}}if(!n)P=50}else P=49;while(0)if((P|0)==49?n:0)P=50;if((P|0)==50)f[s>>2]=f[s>>2]|2;x=f[i>>2]|0;Od(M);Od(C);c=T;return x|0}else P=25}else P=25;while(0)if((P|0)==25)e=Ye()|0;Od(M);Od(C);$e(e|0);return 0}function Yw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0;T=c;c=c+240|0;p=T+202|0;o=T+200|0;C=T+24|0;M=T+12|0;g=T+8|0;A=T+40|0;S=T+4|0;y=T;v=gw(n)|0;sk(C,n,p,o);f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;if(!(t[M>>0]&1))e=10;else e=(f[M>>2]&-2)+-1|0;m=0;Se(8,M|0,e|0,0);_=m;m=0;e:do if(!(_&1)){k=M+8|0;w=M+1|0;n=(t[M>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n;f[S>>2]=A;f[y>>2]=0;_=M+4|0;b=t[o>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;o=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;h=m;m=0;if(h&1){P=24;break}if((o|0)==-1){f[i>>2]=0;e=0}}}else e=0;u=(e|0)==0;o=f[r>>2]|0;do if(o){if((f[o+12>>2]|0)!=(f[o+16>>2]|0))if(u)break;else break i;m=0;d=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;h=m;m=0;if(h&1){P=24;break i}if((d|0)!=-1)if(u)break;else break i;else{f[r>>2]=0;P=16;break}}else P=16;while(0)if((P|0)==16){P=0;if(u){o=0;break}else o=0}u=t[M>>0]|0;u=(u&1)==0?(u&255)>>>1:f[_>>2]|0;if((f[g>>2]|0)==(n+u|0)){m=0;Se(8,M|0,u<<1|0,0);h=m;m=0;if(h&1){P=24;break}if(!(t[M>>0]&1))n=10;else n=(f[M>>2]&-2)+-1|0;m=0;Se(8,M|0,n|0,0);h=m;m=0;if(h&1){P=24;break}n=(t[M>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n+u}d=e+12|0;u=f[d>>2]|0;h=e+16|0;if((u|0)==(f[h>>2]|0)){m=0;u=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=24;break}}else u=a[u>>0]|0;if(Xb(u&255,v,n,g,y,b,C,A,S,p)|0)break;o=f[d>>2]|0;if((o|0)==(f[h>>2]|0)){m=0;he(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=24;break}else continue}else{f[d>>2]=o+1;continue}}if((P|0)==24){e=Ye()|0;break}x=t[C>>0]|0;if((((x&1)==0?(x&255)>>>1:f[C+4>>2]|0)|0)!=0?(E=f[S>>2]|0,(E-A|0)<160):0){x=f[y>>2]|0;f[S>>2]=E+4;f[E>>2]=x}m=0;n=Ae(25,n|0,f[g>>2]|0,s|0,v|0)|0;x=m;m=0;if(!(x&1)){f[l>>2]=n;Ko(C,A,f[S>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;n=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do if(o){if((f[o+12>>2]|0)==(f[o+16>>2]|0)){m=0;e=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;x=m;m=0;if(x&1){P=25;break e}if((e|0)==-1){f[r>>2]=0;P=49;break}}if(!n)P=50}else P=49;while(0)if((P|0)==49?n:0)P=50;if((P|0)==50)f[s>>2]=f[s>>2]|2;x=f[i>>2]|0;Od(M);Od(C);c=T;return x|0}else P=25}else P=25;while(0)if((P|0)==25)e=Ye()|0;Od(M);Od(C);$e(e|0);return 0}function qw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0;T=c;c=c+240|0;p=T+202|0;o=T+200|0;C=T+24|0;M=T+12|0;g=T+8|0;A=T+40|0;S=T+4|0;y=T;v=gw(n)|0;sk(C,n,p,o);f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;if(!(t[M>>0]&1))e=10;else e=(f[M>>2]&-2)+-1|0;m=0;Se(8,M|0,e|0,0);_=m;m=0;e:do if(!(_&1)){k=M+8|0;w=M+1|0;n=(t[M>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n;f[S>>2]=A;f[y>>2]=0;_=M+4|0;b=t[o>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;o=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;h=m;m=0;if(h&1){P=24;break}if((o|0)==-1){f[i>>2]=0;e=0}}}else e=0;o=(e|0)==0;u=f[r>>2]|0;do if(u){if((f[u+12>>2]|0)!=(f[u+16>>2]|0))if(o)break;else break i;m=0;d=he(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;h=m;m=0;if(h&1){P=24;break i}if((d|0)!=-1)if(o)break;else break i;else{f[r>>2]=0;P=16;break}}else P=16;while(0)if((P|0)==16){P=0;if(o){u=0;break}else u=0}o=t[M>>0]|0;o=(o&1)==0?(o&255)>>>1:f[_>>2]|0;if((f[g>>2]|0)==(n+o|0)){m=0;Se(8,M|0,o<<1|0,0);h=m;m=0;if(h&1){P=24;break}if(!(t[M>>0]&1))n=10;else n=(f[M>>2]&-2)+-1|0;m=0;Se(8,M|0,n|0,0);h=m;m=0;if(h&1){P=24;break}n=(t[M>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=n+o}d=e+12|0;o=f[d>>2]|0;h=e+16|0;if((o|0)==(f[h>>2]|0)){m=0;o=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=24;break}}else o=a[o>>0]|0;if(Xb(o&255,v,n,g,y,b,C,A,S,p)|0)break;o=f[d>>2]|0;if((o|0)==(f[h>>2]|0)){m=0;he(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=24;break}else continue}else{f[d>>2]=o+1;continue}}if((P|0)==24){e=Ye()|0;break}x=t[C>>0]|0;if((((x&1)==0?(x&255)>>>1:f[C+4>>2]|0)|0)!=0?(E=f[S>>2]|0,(E-A|0)<160):0){x=f[y>>2]|0;f[S>>2]=E+4;f[E>>2]=x}m=0;n=Ae(26,n|0,f[g>>2]|0,s|0,v|0)|0;o=R;x=m;m=0;if(!(x&1)){x=l;f[x>>2]=n;f[x+4>>2]=o;Ko(C,A,f[S>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;n=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;x=m;m=0;if(x&1){P=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do if(u){if((f[u+12>>2]|0)==(f[u+16>>2]|0)){m=0;e=he(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;x=m;m=0;if(x&1){P=25;break e}if((e|0)==-1){f[r>>2]=0;P=49;break}}if(!n)P=50}else P=49;while(0)if((P|0)==49?n:0)P=50;if((P|0)==50)f[s>>2]=f[s>>2]|2;x=f[i>>2]|0;Od(M);Od(C);c=T;return x|0}else P=25}else P=25;while(0)if((P|0)==25)e=Ye()|0;Od(M);Od(C);$e(e|0);return 0}function zw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0;x=c;c=c+240|0;y=x+208|0;d=x+203|0;h=x+202|0;R=x+24|0;D=x+12|0;A=x+8|0;C=x+40|0;P=x+4|0;S=x;T=x+201|0;E=x+200|0;lk(R,n,y,d,h);f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;if(!(t[D>>0]&1))e=10;else e=(f[D>>2]&-2)+-1|0;m=0;Se(8,D|0,e|0,0);g=m;m=0;e:do if(!(g&1)){p=D+8|0;v=D+1|0;n=(t[D>>0]&1)==0?v:f[p>>2]|0;f[A>>2]=n;f[P>>2]=C;f[S>>2]=0;t[T>>0]=1;t[E>>0]=69;g=D+4|0;_=t[d>>0]|0;w=t[h>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;d=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;k=m;m=0;if(k&1){O=24;break}if((d|0)==-1){f[i>>2]=0;e=0}}}else e=0;h=(e|0)==0;d=f[r>>2]|0;do if(d){if((f[d+12>>2]|0)!=(f[d+16>>2]|0))if(h)break;else break i;m=0;b=he(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;k=m;m=0;if(k&1){O=24;break i}if((b|0)!=-1)if(h)break;else break i;else{f[r>>2]=0;O=16;break}}else O=16;while(0)if((O|0)==16){O=0;if(h){d=0;break}else d=0}h=t[D>>0]|0;h=(h&1)==0?(h&255)>>>1:f[g>>2]|0;if((f[A>>2]|0)==(n+h|0)){m=0;Se(8,D|0,h<<1|0,0);k=m;m=0;if(k&1){O=24;break}if(!(t[D>>0]&1))n=10;else n=(f[D>>2]&-2)+-1|0;m=0;Se(8,D|0,n|0,0);k=m;m=0;if(k&1){O=24;break}n=(t[D>>0]&1)==0?v:f[p>>2]|0;f[A>>2]=n+h}b=e+12|0;h=f[b>>2]|0;k=e+16|0;if((h|0)==(f[k>>2]|0)){m=0;h=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=m;m=0;if(L&1){O=24;break}}else h=a[h>>0]|0;if(ok(h&255,T,E,n,A,_,w,R,C,P,S,y)|0)break;d=f[b>>2]|0;if((d|0)==(f[k>>2]|0)){m=0;he(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;L=m;m=0;if(L&1){O=24;break}else continue}else{f[b>>2]=d+1;continue}}if((O|0)==24){e=Ye()|0;break}L=t[R>>0]|0;if(!((t[T>>0]|0)==0?1:(((L&1)==0?(L&255)>>>1:f[R+4>>2]|0)|0)==0)?(M=f[P>>2]|0,(M-C|0)<160):0){L=f[S>>2]|0;f[P>>2]=M+4;f[M>>2]=L}m=0;u=+ye(1,n|0,f[A>>2]|0,s|0);L=m;m=0;if(!(L&1)){o[l>>2]=u;Ko(R,C,f[P>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;n=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=m;m=0;if(L&1){O=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do if(d){if((f[d+12>>2]|0)==(f[d+16>>2]|0)){m=0;e=he(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;L=m;m=0;if(L&1){O=25;break e}if((e|0)==-1){f[r>>2]=0;O=49;break}}if(!n)O=50}else O=49;while(0)if((O|0)==49?n:0)O=50;if((O|0)==50)f[s>>2]=f[s>>2]|2;L=f[i>>2]|0;Od(D);Od(R);c=x;return L|0}else O=25}else O=25;while(0)if((O|0)==25)e=Ye()|0;Od(D);Od(R);$e(e|0);return 0}function Xw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0;x=c;c=c+240|0;y=x+208|0;d=x+203|0;h=x+202|0;R=x+24|0;D=x+12|0;A=x+8|0;C=x+40|0;P=x+4|0;S=x;T=x+201|0;E=x+200|0;lk(R,n,y,d,h);f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;if(!(t[D>>0]&1))e=10;else e=(f[D>>2]&-2)+-1|0;m=0;Se(8,D|0,e|0,0);g=m;m=0;e:do if(!(g&1)){p=D+8|0;v=D+1|0;n=(t[D>>0]&1)==0?v:f[p>>2]|0;f[A>>2]=n;f[P>>2]=C;f[S>>2]=0;t[T>>0]=1;t[E>>0]=69;g=D+4|0;_=t[d>>0]|0;w=t[h>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;d=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;k=m;m=0;if(k&1){O=24;break}if((d|0)==-1){f[i>>2]=0;e=0}}}else e=0;h=(e|0)==0;d=f[r>>2]|0;do if(d){if((f[d+12>>2]|0)!=(f[d+16>>2]|0))if(h)break;else break i;m=0;b=he(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;k=m;m=0;if(k&1){O=24;break i}if((b|0)!=-1)if(h)break;else break i;else{f[r>>2]=0;O=16;break}}else O=16;while(0)if((O|0)==16){O=0;if(h){d=0;break}else d=0}h=t[D>>0]|0;h=(h&1)==0?(h&255)>>>1:f[g>>2]|0;if((f[A>>2]|0)==(n+h|0)){m=0;Se(8,D|0,h<<1|0,0);k=m;m=0;if(k&1){O=24;break}if(!(t[D>>0]&1))n=10;else n=(f[D>>2]&-2)+-1|0;m=0;Se(8,D|0,n|0,0);k=m;m=0;if(k&1){O=24;break}n=(t[D>>0]&1)==0?v:f[p>>2]|0;f[A>>2]=n+h}b=e+12|0;h=f[b>>2]|0;k=e+16|0;if((h|0)==(f[k>>2]|0)){m=0;h=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=m;m=0;if(L&1){O=24;break}}else h=a[h>>0]|0;if(ok(h&255,T,E,n,A,_,w,R,C,P,S,y)|0)break;d=f[b>>2]|0;if((d|0)==(f[k>>2]|0)){m=0;he(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;L=m;m=0;if(L&1){O=24;break}else continue}else{f[b>>2]=d+1;continue}}if((O|0)==24){e=Ye()|0;break}L=t[R>>0]|0;if(!((t[T>>0]|0)==0?1:(((L&1)==0?(L&255)>>>1:f[R+4>>2]|0)|0)==0)?(M=f[P>>2]|0,(M-C|0)<160):0){L=f[S>>2]|0;f[P>>2]=M+4;f[M>>2]=L}m=0;o=+ye(2,n|0,f[A>>2]|0,s|0);L=m;m=0;if(!(L&1)){u[l>>3]=o;Ko(R,C,f[P>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;n=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=m;m=0;if(L&1){O=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do if(d){if((f[d+12>>2]|0)==(f[d+16>>2]|0)){m=0;e=he(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;L=m;m=0;if(L&1){O=25;break e}if((e|0)==-1){f[r>>2]=0;O=49;break}}if(!n)O=50}else O=49;while(0)if((O|0)==49?n:0)O=50;if((O|0)==50)f[s>>2]=f[s>>2]|2;L=f[i>>2]|0;Od(D);Od(R);c=x;return L|0}else O=25}else O=25;while(0)if((O|0)==25)e=Ye()|0;Od(D);Od(R);$e(e|0);return 0}function Gw(e,i,r,n,s,l){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;var o=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0;x=c;c=c+240|0;y=x+208|0;d=x+203|0;h=x+202|0;R=x+24|0;D=x+12|0;A=x+8|0;C=x+40|0;P=x+4|0;S=x;T=x+201|0;E=x+200|0;lk(R,n,y,d,h);f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;if(!(t[D>>0]&1))e=10;else e=(f[D>>2]&-2)+-1|0;m=0;Se(8,D|0,e|0,0);g=m;m=0;e:do if(!(g&1)){p=D+8|0;v=D+1|0;n=(t[D>>0]&1)==0?v:f[p>>2]|0;f[A>>2]=n;f[P>>2]=C;f[S>>2]=0;t[T>>0]=1;t[E>>0]=69;g=D+4|0;_=t[d>>0]|0;w=t[h>>0]|0;e=f[i>>2]|0;i:while(1){if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;d=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;k=m;m=0;if(k&1){O=24;break}if((d|0)==-1){f[i>>2]=0;e=0}}}else e=0;h=(e|0)==0;d=f[r>>2]|0;do if(d){if((f[d+12>>2]|0)!=(f[d+16>>2]|0))if(h)break;else break i;m=0;b=he(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;k=m;m=0;if(k&1){O=24;break i}if((b|0)!=-1)if(h)break;else break i;else{f[r>>2]=0;O=16;break}}else O=16;while(0)if((O|0)==16){O=0;if(h){d=0;break}else d=0}h=t[D>>0]|0;h=(h&1)==0?(h&255)>>>1:f[g>>2]|0;if((f[A>>2]|0)==(n+h|0)){m=0;Se(8,D|0,h<<1|0,0);k=m;m=0;if(k&1){O=24;break}if(!(t[D>>0]&1))n=10;else n=(f[D>>2]&-2)+-1|0;m=0;Se(8,D|0,n|0,0);k=m;m=0;if(k&1){O=24;break}n=(t[D>>0]&1)==0?v:f[p>>2]|0;f[A>>2]=n+h}b=e+12|0;h=f[b>>2]|0;k=e+16|0;if((h|0)==(f[k>>2]|0)){m=0;h=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=m;m=0;if(L&1){O=24;break}}else h=a[h>>0]|0;if(ok(h&255,T,E,n,A,_,w,R,C,P,S,y)|0)break;d=f[b>>2]|0;if((d|0)==(f[k>>2]|0)){m=0;he(f[(f[e>>2]|0)+40>>2]|0,e|0)|0;L=m;m=0;if(L&1){O=24;break}else continue}else{f[b>>2]=d+1;continue}}if((O|0)==24){e=Ye()|0;break}L=t[R>>0]|0;if(!((t[T>>0]|0)==0?1:(((L&1)==0?(L&255)>>>1:f[R+4>>2]|0)|0)==0)?(M=f[P>>2]|0,(M-C|0)<160):0){L=f[S>>2]|0;f[P>>2]=M+4;f[M>>2]=L}m=0;o=+ye(3,n|0,f[A>>2]|0,s|0);L=m;m=0;if(!(L&1)){u[l>>3]=o;Ko(R,C,f[P>>2]|0,s);if(e){if((f[e+12>>2]|0)==(f[e+16>>2]|0)){m=0;n=he(f[(f[e>>2]|0)+36>>2]|0,e|0)|0;L=m;m=0;if(L&1){O=25;break}if((n|0)==-1){f[i>>2]=0;e=0}}}else e=0;n=(e|0)==0;do if(d){if((f[d+12>>2]|0)==(f[d+16>>2]|0)){m=0;e=he(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;L=m;m=0;if(L&1){O=25;break e}if((e|0)==-1){f[r>>2]=0;O=49;break}}if(!n)O=50}else O=49;while(0)if((O|0)==49?n:0)O=50;if((O|0)==50)f[s>>2]=f[s>>2]|2;L=f[i>>2]|0;Od(D);Od(R);c=x;return L|0}else O=25}else O=25;while(0)if((O|0)==25)e=Ye()|0;Od(D);Od(R);$e(e|0);return 0}function Vw(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;n=c;c=c+16|0;a=n;f[a>>2]=t;t=Wg(i)|0;i=Fy(e,r,a)|0;if((t|0)!=0?(m=0,he(75,t|0)|0,a=m,m=0,a&1):0){a=Ye(0)|0;Fi(a)}c=n;return i|0}function Kw(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;A=c;c=c+112|0;u=A;h=(n-r|0)/12|0;do if(h>>>0>100){u=xc(h)|0;if((u|0)==0?(m=0,Te(6),E=m,m=0,E&1):0){o=0;k=6;break}o=u;k=11}else{o=0;k=11}while(0)e:do if((k|0)==11){if((r|0)==(n|0))d=0;else{w=r;b=0;k=u;while(1){d=t[w>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=f[w+4>>2]|0;if(!d){t[k>>0]=2;d=b+1|0;h=h+-1|0}else{t[k>>0]=1;d=b}w=w+12|0;if((w|0)==(n|0))break;else{b=d;k=k+1|0}}}y=(r|0)==(n|0);E=(r|0)==(n|0);g=0;_=h;i:while(1){h=f[e>>2]|0;do if(h){b=f[h+12>>2]|0;if((b|0)==(f[h+16>>2]|0)){m=0;h=he(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;v=m;m=0;if(v&1){k=5;break i}}else h=f[b>>2]|0;if((h|0)==-1){f[e>>2]=0;w=1;break}else{w=(f[e>>2]|0)==0;break}}else w=1;while(0)b=f[i>>2]|0;if(b){h=f[b+12>>2]|0;if((h|0)==(f[b+16>>2]|0)){m=0;h=he(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;v=m;m=0;if(v&1){k=5;break}}else h=f[h>>2]|0;if((h|0)==-1){f[i>>2]=0;b=0;k=1}else k=0}else{b=0;k=1}h=f[e>>2]|0;if(!((_|0)!=0&(w^k))){k=66;break}b=f[h+12>>2]|0;if((b|0)==(f[h+16>>2]|0)){m=0;h=he(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;v=m;m=0;if(v&1){k=5;break}}else h=f[b>>2]|0;if(!l){m=0;h=ve(f[(f[a>>2]|0)+28>>2]|0,a|0,h|0)|0;v=m;m=0;if(v&1){k=5;break}}v=g+1|0;if(y){h=0;w=_}else{w=0;p=r;k=_;_=u;while(1){do if((t[_>>0]|0)==1){if(!(t[p>>0]&1))b=p+4|0;else b=f[p+8>>2]|0;b=f[b+(g<<2)>>2]|0;if(!l){m=0;b=ve(f[(f[a>>2]|0)+28>>2]|0,a|0,b|0)|0;S=m;m=0;if(S&1){k=4;break i}}if((h|0)!=(b|0)){t[_>>0]=0;b=w;k=k+-1|0;break}b=t[p>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=f[p+4>>2]|0;if((b|0)==(v|0)){t[_>>0]=2;b=1;d=d+1|0;k=k+-1|0}else b=1}else b=w;while(0)p=p+12|0;if((p|0)==(n|0)){h=b;w=k;break}else{w=b;_=_+1|0}}}if(!h){g=v;_=w;continue}h=f[e>>2]|0;b=h+12|0;k=f[b>>2]|0;if((k|0)==(f[h+16>>2]|0)){m=0;he(f[(f[h>>2]|0)+40>>2]|0,h|0)|0;S=m;m=0;if(S&1){k=5;break}}else f[b>>2]=k+4;if((d+w|0)>>>0<2|E){g=v;_=w;continue}else{h=r;k=u}while(1){if((t[k>>0]|0)==2){b=t[h>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=f[h+4>>2]|0;if((b|0)!=(v|0)){t[k>>0]=0;d=d+-1|0}}h=h+12|0;if((h|0)==(n|0)){g=v;_=w;continue i}else k=k+1|0}}if((k|0)==4){r=Ye()|0;break}else if((k|0)==5){r=Ye()|0;break}else if((k|0)==66){do if(h){d=f[h+12>>2]|0;if((d|0)==(f[h+16>>2]|0)){m=0;d=he(f[(f[h>>2]|0)+36>>2]|0,h|0)|0;S=m;m=0;if(S&1){k=6;break e}}else d=f[d>>2]|0;if((d|0)==-1){f[e>>2]=0;h=1;break}else{h=(f[e>>2]|0)==0;break}}else h=1;while(0)do if(b){d=f[b+12>>2]|0;if((d|0)==(f[b+16>>2]|0)){m=0;d=he(f[(f[b>>2]|0)+36>>2]|0,b|0)|0;S=m;m=0;if(S&1){k=6;break e}}else d=f[d>>2]|0;if((d|0)!=-1)if(h)break;else{k=81;break}else{f[i>>2]=0;k=79;break}}else k=79;while(0)if((k|0)==79?h:0)k=81;if((k|0)==81)f[s>>2]=f[s>>2]|2;i:do if((r|0)==(n|0))k=85;else while(1){if((t[u>>0]|0)==2)break i;r=r+12|0;if((r|0)==(n|0)){k=85;break}else u=u+1|0}while(0)if((k|0)==85){f[s>>2]=f[s>>2]|4;r=n}if(o)Dc(o);c=A;return r|0}}while(0)if((k|0)==6)r=Ye()|0;if(o)Dc(o);$e(r|0);return 0}function Ww(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;S=c;c=c+320|0;_=S+208|0;l=S+200|0;M=S+24|0;T=S+12|0;v=S+8|0;E=S+40|0;A=S+4|0;g=S;p=gw(n)|0;uk(M,n,_,l);f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;m=0;Se(8,T|0,e|0,0);w=m;m=0;e:do if(!(w&1)){b=T+8|0;k=T+1|0;e=(t[T>>0]&1)==0?k:f[b>>2]|0;f[v>>2]=e;f[A>>2]=E;f[g>>2]=0;w=T+4|0;h=f[l>>2]|0;l=f[i>>2]|0;i:while(1){if(l){n=f[l+12>>2]|0;if((n|0)==(f[l+16>>2]|0)){m=0;n=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;d=m;m=0;if(d&1){C=25;break}}else n=f[n>>2]|0;if((n|0)==-1){f[i>>2]=0;n=0;o=1}else{n=l;o=0}}else{n=0;o=1}u=f[r>>2]|0;do if(u){l=f[u+12>>2]|0;if((l|0)==(f[u+16>>2]|0)){m=0;l=he(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;d=m;m=0;if(d&1){C=25;break i}}else l=f[l>>2]|0;if((l|0)!=-1)if(o)break;else{l=u;break i}else{f[r>>2]=0;C=17;break}}else C=17;while(0)if((C|0)==17){C=0;if(o){l=0;break}else u=0}l=t[T>>0]|0;l=(l&1)==0?(l&255)>>>1:f[w>>2]|0;if((f[v>>2]|0)==(e+l|0)){m=0;Se(8,T|0,l<<1|0,0);d=m;m=0;if(d&1){C=25;break}if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;m=0;Se(8,T|0,e|0,0);d=m;m=0;if(d&1){C=25;break}e=(t[T>>0]&1)==0?k:f[b>>2]|0;f[v>>2]=e+l}o=n+12|0;l=f[o>>2]|0;d=n+16|0;if((l|0)==(f[d>>2]|0)){m=0;l=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;P=m;m=0;if(P&1){C=25;break}}else l=f[l>>2]|0;if(ak(l,p,e,v,g,h,M,E,A,_)|0){l=u;break}l=f[o>>2]|0;if((l|0)==(f[d>>2]|0)){m=0;he(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;P=m;m=0;if(P&1){C=25;break}else{l=n;continue}}else{f[o>>2]=l+4;l=n;continue}}if((C|0)==25){e=Ye()|0;break}P=t[M>>0]|0;if((((P&1)==0?(P&255)>>>1:f[M+4>>2]|0)|0)!=0?(y=f[A>>2]|0,(y-E|0)<160):0){P=f[g>>2]|0;f[A>>2]=y+4;f[y>>2]=P}m=0;e=Ae(21,e|0,f[v>>2]|0,a|0,p|0)|0;P=m;m=0;if(!(P&1)){f[s>>2]=e;Ko(M,E,f[A>>2]|0,a);if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){m=0;e=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;P=m;m=0;if(P&1){C=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){m=0;e=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;P=m;m=0;if(P&1){C=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{C=53;break}else{f[r>>2]=0;C=51;break}}else C=51;while(0)if((C|0)==51?n:0)C=53;if((C|0)==53)f[a>>2]=f[a>>2]|2;P=f[i>>2]|0;Od(T);Od(M);c=S;return P|0}else C=26}else C=26;while(0)if((C|0)==26)e=Ye()|0;Od(T);Od(M);$e(e|0);return 0}function Jw(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;S=c;c=c+320|0;_=S+208|0;l=S+200|0;M=S+24|0;T=S+12|0;v=S+8|0;E=S+40|0;A=S+4|0;g=S;p=gw(n)|0;uk(M,n,_,l);f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;m=0;Se(8,T|0,e|0,0);w=m;m=0;e:do if(!(w&1)){b=T+8|0;k=T+1|0;e=(t[T>>0]&1)==0?k:f[b>>2]|0;f[v>>2]=e;f[A>>2]=E;f[g>>2]=0;w=T+4|0;h=f[l>>2]|0;l=f[i>>2]|0;i:while(1){if(l){n=f[l+12>>2]|0;if((n|0)==(f[l+16>>2]|0)){m=0;n=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;d=m;m=0;if(d&1){C=25;break}}else n=f[n>>2]|0;if((n|0)==-1){f[i>>2]=0;l=0;u=1}else u=0}else{l=0;u=1}o=f[r>>2]|0;do if(o){n=f[o+12>>2]|0;if((n|0)==(f[o+16>>2]|0)){m=0;n=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;d=m;m=0;if(d&1){C=25;break i}}else n=f[n>>2]|0;if((n|0)!=-1)if(u)break;else break i;else{f[r>>2]=0;C=17;break}}else C=17;while(0)if((C|0)==17){C=0;if(u){o=0;break}else o=0}n=t[T>>0]|0;n=(n&1)==0?(n&255)>>>1:f[w>>2]|0;if((f[v>>2]|0)==(e+n|0)){m=0;Se(8,T|0,n<<1|0,0);d=m;m=0;if(d&1){C=25;break}if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;m=0;Se(8,T|0,e|0,0);d=m;m=0;if(d&1){C=25;break}e=(t[T>>0]&1)==0?k:f[b>>2]|0;f[v>>2]=e+n}u=l+12|0;n=f[u>>2]|0;d=l+16|0;if((n|0)==(f[d>>2]|0)){m=0;n=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;P=m;m=0;if(P&1){C=25;break}}else n=f[n>>2]|0;if(ak(n,p,e,v,g,h,M,E,A,_)|0)break;n=f[u>>2]|0;if((n|0)==(f[d>>2]|0)){m=0;he(f[(f[l>>2]|0)+40>>2]|0,l|0)|0;P=m;m=0;if(P&1){C=25;break}else continue}else{f[u>>2]=n+4;continue}}if((C|0)==25){e=Ye()|0;break}P=t[M>>0]|0;if((((P&1)==0?(P&255)>>>1:f[M+4>>2]|0)|0)!=0?(y=f[A>>2]|0,(y-E|0)<160):0){P=f[g>>2]|0;f[A>>2]=y+4;f[y>>2]=P}m=0;e=Ae(22,e|0,f[v>>2]|0,a|0,p|0)|0;n=R;P=m;m=0;if(!(P&1)){P=s;f[P>>2]=e;f[P+4>>2]=n;Ko(M,E,f[A>>2]|0,a);if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){m=0;e=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;P=m;m=0;if(P&1){C=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do if(o){e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){m=0;e=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;P=m;m=0;if(P&1){C=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{C=53;break}else{f[r>>2]=0;C=51;break}}else C=51;while(0)if((C|0)==51?n:0)C=53;if((C|0)==53)f[a>>2]=f[a>>2]|2;P=f[i>>2]|0;Od(T);Od(M);c=S;return P|0}else C=26}else C=26;while(0)if((C|0)==26)e=Ye()|0;Od(T);Od(M);$e(e|0);return 0}function Qw(e,i,r,a,s,l){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0;T=c;c=c+320|0;p=T+208|0;o=T+200|0;C=T+24|0;M=T+12|0;g=T+8|0;A=T+40|0;S=T+4|0;y=T;v=gw(a)|0;uk(C,a,p,o);f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;if(!(t[M>>0]&1))e=10;else e=(f[M>>2]&-2)+-1|0;m=0;Se(8,M|0,e|0,0);_=m;m=0;e:do if(!(_&1)){k=M+8|0;w=M+1|0;e=(t[M>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=e;f[S>>2]=A;f[y>>2]=0;_=M+4|0;b=f[o>>2]|0;o=f[i>>2]|0;i:while(1){if(o){a=f[o+12>>2]|0;if((a|0)==(f[o+16>>2]|0)){m=0;a=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;h=m;m=0;if(h&1){P=25;break}}else a=f[a>>2]|0;if((a|0)==-1){f[i>>2]=0;a=0;u=1}else{a=o;u=0}}else{a=0;u=1}d=f[r>>2]|0;do if(d){o=f[d+12>>2]|0;if((o|0)==(f[d+16>>2]|0)){m=0;o=he(f[(f[d>>2]|0)+36>>2]|0,d|0)|0;h=m;m=0;if(h&1){P=25;break i}}else o=f[o>>2]|0;if((o|0)!=-1)if(u)break;else{o=d;break i}else{f[r>>2]=0;P=17;break}}else P=17;while(0)if((P|0)==17){P=0;if(u){o=0;break}else d=0}o=t[M>>0]|0;o=(o&1)==0?(o&255)>>>1:f[_>>2]|0;if((f[g>>2]|0)==(e+o|0)){m=0;Se(8,M|0,o<<1|0,0);h=m;m=0;if(h&1){P=25;break}if(!(t[M>>0]&1))e=10;else e=(f[M>>2]&-2)+-1|0;m=0;Se(8,M|0,e|0,0);h=m;m=0;if(h&1){P=25;break}e=(t[M>>0]&1)==0?w:f[k>>2]|0;f[g>>2]=e+o}u=a+12|0;o=f[u>>2]|0;h=a+16|0;if((o|0)==(f[h>>2]|0)){m=0;o=he(f[(f[a>>2]|0)+36>>2]|0,a|0)|0;x=m;m=0;if(x&1){P=25;break}}else o=f[o>>2]|0;if(ak(o,v,e,g,y,b,C,A,S,p)|0){o=d;break}o=f[u>>2]|0;if((o|0)==(f[h>>2]|0)){m=0;he(f[(f[a>>2]|0)+40>>2]|0,a|0)|0;x=m;m=0;if(x&1){P=25;break}else{o=a;continue}}else{f[u>>2]=o+4;o=a;continue}}if((P|0)==25){e=Ye()|0;break}x=t[C>>0]|0;if((((x&1)==0?(x&255)>>>1:f[C+4>>2]|0)|0)!=0?(E=f[S>>2]|0,(E-A|0)<160):0){x=f[y>>2]|0;f[S>>2]=E+4;f[E>>2]=x}m=0;e=Ae(23,e|0,f[g>>2]|0,s|0,v|0)|0;x=m;m=0;if(!(x&1)){n[l>>1]=e;Ko(C,A,f[S>>2]|0,s);if(a){e=f[a+12>>2]|0;if((e|0)==(f[a+16>>2]|0)){m=0;e=he(f[(f[a>>2]|0)+36>>2]|0,a|0)|0;x=m;m=0;if(x&1){P=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;a=1}else a=0}else a=1;do if(o){e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){m=0;e=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;x=m;m=0;if(x&1){P=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(a)break;else{P=53;break}else{f[r>>2]=0;P=51;break}}else P=51;while(0)if((P|0)==51?a:0)P=53;if((P|0)==53)f[s>>2]=f[s>>2]|2;x=f[i>>2]|0;Od(M);Od(C);c=T;return x|0}else P=26}else P=26;while(0)if((P|0)==26)e=Ye()|0;Od(M);Od(C);$e(e|0);return 0}function Zw(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;S=c;c=c+320|0;_=S+208|0;l=S+200|0;M=S+24|0;T=S+12|0;v=S+8|0;E=S+40|0;A=S+4|0;g=S;p=gw(n)|0;uk(M,n,_,l);f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;m=0;Se(8,T|0,e|0,0);w=m;m=0;e:do if(!(w&1)){b=T+8|0;k=T+1|0;e=(t[T>>0]&1)==0?k:f[b>>2]|0;f[v>>2]=e;f[A>>2]=E;f[g>>2]=0;w=T+4|0;h=f[l>>2]|0;l=f[i>>2]|0;i:while(1){if(l){n=f[l+12>>2]|0;if((n|0)==(f[l+16>>2]|0)){m=0;n=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;d=m;m=0;if(d&1){C=25;break}}else n=f[n>>2]|0;if((n|0)==-1){f[i>>2]=0;n=0;o=1}else{n=l;o=0}}else{n=0;o=1}u=f[r>>2]|0;do if(u){l=f[u+12>>2]|0;if((l|0)==(f[u+16>>2]|0)){m=0;l=he(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;d=m;m=0;if(d&1){C=25;break i}}else l=f[l>>2]|0;if((l|0)!=-1)if(o)break;else{l=u;break i}else{f[r>>2]=0;C=17;break}}else C=17;while(0)if((C|0)==17){C=0;if(o){l=0;break}else u=0}l=t[T>>0]|0;l=(l&1)==0?(l&255)>>>1:f[w>>2]|0;if((f[v>>2]|0)==(e+l|0)){m=0;Se(8,T|0,l<<1|0,0);d=m;m=0;if(d&1){C=25;break}if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;m=0;Se(8,T|0,e|0,0);d=m;m=0;if(d&1){C=25;break}e=(t[T>>0]&1)==0?k:f[b>>2]|0;f[v>>2]=e+l}o=n+12|0;l=f[o>>2]|0;d=n+16|0;if((l|0)==(f[d>>2]|0)){m=0;l=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;P=m;m=0;if(P&1){C=25;break}}else l=f[l>>2]|0;if(ak(l,p,e,v,g,h,M,E,A,_)|0){l=u;break}l=f[o>>2]|0;if((l|0)==(f[d>>2]|0)){m=0;he(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;P=m;m=0;if(P&1){C=25;break}else{l=n;continue}}else{f[o>>2]=l+4;l=n;continue}}if((C|0)==25){e=Ye()|0;break}P=t[M>>0]|0;if((((P&1)==0?(P&255)>>>1:f[M+4>>2]|0)|0)!=0?(y=f[A>>2]|0,(y-E|0)<160):0){P=f[g>>2]|0;f[A>>2]=y+4;f[y>>2]=P}m=0;e=Ae(24,e|0,f[v>>2]|0,a|0,p|0)|0;P=m;m=0;if(!(P&1)){f[s>>2]=e;Ko(M,E,f[A>>2]|0,a);if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){m=0;e=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;P=m;m=0;if(P&1){C=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){m=0;e=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;P=m;m=0;if(P&1){C=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{C=53;break}else{f[r>>2]=0;C=51;break}}else C=51;while(0)if((C|0)==51?n:0)C=53;if((C|0)==53)f[a>>2]=f[a>>2]|2;P=f[i>>2]|0;Od(T);Od(M);c=S;return P|0}else C=26}else C=26;while(0)if((C|0)==26)e=Ye()|0;Od(T);Od(M);$e(e|0);return 0}function $w(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;S=c;c=c+320|0;_=S+208|0;l=S+200|0;M=S+24|0;T=S+12|0;v=S+8|0;E=S+40|0;A=S+4|0;g=S;p=gw(n)|0;uk(M,n,_,l);f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;m=0;Se(8,T|0,e|0,0);w=m;m=0;e:do if(!(w&1)){b=T+8|0;k=T+1|0;e=(t[T>>0]&1)==0?k:f[b>>2]|0;f[v>>2]=e;f[A>>2]=E;f[g>>2]=0;w=T+4|0;h=f[l>>2]|0;l=f[i>>2]|0;i:while(1){if(l){n=f[l+12>>2]|0;if((n|0)==(f[l+16>>2]|0)){m=0;n=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;d=m;m=0;if(d&1){C=25;break}}else n=f[n>>2]|0;if((n|0)==-1){f[i>>2]=0;n=0;o=1}else{n=l;o=0}}else{n=0;o=1}u=f[r>>2]|0;do if(u){l=f[u+12>>2]|0;if((l|0)==(f[u+16>>2]|0)){m=0;l=he(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;d=m;m=0;if(d&1){C=25;break i}}else l=f[l>>2]|0;if((l|0)!=-1)if(o)break;else{l=u;break i}else{f[r>>2]=0;C=17;break}}else C=17;while(0)if((C|0)==17){C=0;if(o){l=0;break}else u=0}l=t[T>>0]|0;l=(l&1)==0?(l&255)>>>1:f[w>>2]|0;if((f[v>>2]|0)==(e+l|0)){m=0;Se(8,T|0,l<<1|0,0);d=m;m=0;if(d&1){C=25;break}if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;m=0;Se(8,T|0,e|0,0);d=m;m=0;if(d&1){C=25;break}e=(t[T>>0]&1)==0?k:f[b>>2]|0;f[v>>2]=e+l}o=n+12|0;l=f[o>>2]|0;d=n+16|0;if((l|0)==(f[d>>2]|0)){m=0;l=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;P=m;m=0;if(P&1){C=25;break}}else l=f[l>>2]|0;if(ak(l,p,e,v,g,h,M,E,A,_)|0){l=u;break}l=f[o>>2]|0;if((l|0)==(f[d>>2]|0)){m=0;he(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;P=m;m=0;if(P&1){C=25;break}else{l=n;continue}}else{f[o>>2]=l+4;l=n;continue}}if((C|0)==25){e=Ye()|0;break}P=t[M>>0]|0;if((((P&1)==0?(P&255)>>>1:f[M+4>>2]|0)|0)!=0?(y=f[A>>2]|0,(y-E|0)<160):0){P=f[g>>2]|0;f[A>>2]=y+4;f[y>>2]=P}m=0
27
+ ;e=Ae(25,e|0,f[v>>2]|0,a|0,p|0)|0;P=m;m=0;if(!(P&1)){f[s>>2]=e;Ko(M,E,f[A>>2]|0,a);if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){m=0;e=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;P=m;m=0;if(P&1){C=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){m=0;e=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;P=m;m=0;if(P&1){C=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{C=53;break}else{f[r>>2]=0;C=51;break}}else C=51;while(0)if((C|0)==51?n:0)C=53;if((C|0)==53)f[a>>2]=f[a>>2]|2;P=f[i>>2]|0;Od(T);Od(M);c=S;return P|0}else C=26}else C=26;while(0)if((C|0)==26)e=Ye()|0;Od(T);Od(M);$e(e|0);return 0}function em(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;S=c;c=c+320|0;_=S+208|0;l=S+200|0;M=S+24|0;T=S+12|0;v=S+8|0;E=S+40|0;A=S+4|0;g=S;p=gw(n)|0;uk(M,n,_,l);f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;m=0;Se(8,T|0,e|0,0);w=m;m=0;e:do if(!(w&1)){b=T+8|0;k=T+1|0;e=(t[T>>0]&1)==0?k:f[b>>2]|0;f[v>>2]=e;f[A>>2]=E;f[g>>2]=0;w=T+4|0;h=f[l>>2]|0;l=f[i>>2]|0;i:while(1){if(l){n=f[l+12>>2]|0;if((n|0)==(f[l+16>>2]|0)){m=0;n=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;d=m;m=0;if(d&1){C=25;break}}else n=f[n>>2]|0;if((n|0)==-1){f[i>>2]=0;l=0;u=1}else u=0}else{l=0;u=1}o=f[r>>2]|0;do if(o){n=f[o+12>>2]|0;if((n|0)==(f[o+16>>2]|0)){m=0;n=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;d=m;m=0;if(d&1){C=25;break i}}else n=f[n>>2]|0;if((n|0)!=-1)if(u)break;else break i;else{f[r>>2]=0;C=17;break}}else C=17;while(0)if((C|0)==17){C=0;if(u){o=0;break}else o=0}n=t[T>>0]|0;n=(n&1)==0?(n&255)>>>1:f[w>>2]|0;if((f[v>>2]|0)==(e+n|0)){m=0;Se(8,T|0,n<<1|0,0);d=m;m=0;if(d&1){C=25;break}if(!(t[T>>0]&1))e=10;else e=(f[T>>2]&-2)+-1|0;m=0;Se(8,T|0,e|0,0);d=m;m=0;if(d&1){C=25;break}e=(t[T>>0]&1)==0?k:f[b>>2]|0;f[v>>2]=e+n}u=l+12|0;n=f[u>>2]|0;d=l+16|0;if((n|0)==(f[d>>2]|0)){m=0;n=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;P=m;m=0;if(P&1){C=25;break}}else n=f[n>>2]|0;if(ak(n,p,e,v,g,h,M,E,A,_)|0)break;n=f[u>>2]|0;if((n|0)==(f[d>>2]|0)){m=0;he(f[(f[l>>2]|0)+40>>2]|0,l|0)|0;P=m;m=0;if(P&1){C=25;break}else continue}else{f[u>>2]=n+4;continue}}if((C|0)==25){e=Ye()|0;break}P=t[M>>0]|0;if((((P&1)==0?(P&255)>>>1:f[M+4>>2]|0)|0)!=0?(y=f[A>>2]|0,(y-E|0)<160):0){P=f[g>>2]|0;f[A>>2]=y+4;f[y>>2]=P}m=0;e=Ae(26,e|0,f[v>>2]|0,a|0,p|0)|0;n=R;P=m;m=0;if(!(P&1)){P=s;f[P>>2]=e;f[P+4>>2]=n;Ko(M,E,f[A>>2]|0,a);if(l){e=f[l+12>>2]|0;if((e|0)==(f[l+16>>2]|0)){m=0;e=he(f[(f[l>>2]|0)+36>>2]|0,l|0)|0;P=m;m=0;if(P&1){C=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do if(o){e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){m=0;e=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;P=m;m=0;if(P&1){C=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{C=53;break}else{f[r>>2]=0;C=51;break}}else C=51;while(0)if((C|0)==51?n:0)C=53;if((C|0)==53)f[a>>2]=f[a>>2]|2;P=f[i>>2]|0;Od(T);Od(M);c=S;return P|0}else C=26}else C=26;while(0)if((C|0)==26)e=Ye()|0;Od(T);Od(M);$e(e|0);return 0}function im(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0;P=c;c=c+352|0;g=P+208|0;u=P+40|0;d=P+36|0;D=P+24|0;x=P+12|0;E=P+8|0;M=P+48|0;C=P+4|0;A=P;S=P+337|0;y=P+336|0;ck(D,n,g,u,d);f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if(!(t[x>>0]&1))e=10;else e=(f[x>>2]&-2)+-1|0;m=0;Se(8,x|0,e|0,0);v=m;m=0;e:do if(!(v&1)){_=x+8|0;p=x+1|0;e=(t[x>>0]&1)==0?p:f[_>>2]|0;f[E>>2]=e;f[C>>2]=M;f[A>>2]=0;t[S>>0]=1;t[y>>0]=69;v=x+4|0;w=f[u>>2]|0;k=f[d>>2]|0;n=f[i>>2]|0;i:while(1){if(n){u=f[n+12>>2]|0;if((u|0)==(f[n+16>>2]|0)){m=0;u=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;b=m;m=0;if(b&1){R=25;break}}else u=f[u>>2]|0;if((u|0)==-1){f[i>>2]=0;n=0;h=1}else h=0}else{n=0;h=1}u=f[r>>2]|0;do if(u){d=f[u+12>>2]|0;if((d|0)==(f[u+16>>2]|0)){m=0;d=he(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;b=m;m=0;if(b&1){R=25;break i}}else d=f[d>>2]|0;if((d|0)!=-1)if(h)break;else break i;else{f[r>>2]=0;R=17;break}}else R=17;while(0)if((R|0)==17){R=0;if(h){u=0;break}else u=0}d=t[x>>0]|0;d=(d&1)==0?(d&255)>>>1:f[v>>2]|0;if((f[E>>2]|0)==(e+d|0)){m=0;Se(8,x|0,d<<1|0,0);b=m;m=0;if(b&1){R=25;break}if(!(t[x>>0]&1))e=10;else e=(f[x>>2]&-2)+-1|0;m=0;Se(8,x|0,e|0,0);b=m;m=0;if(b&1){R=25;break}e=(t[x>>0]&1)==0?p:f[_>>2]|0;f[E>>2]=e+d}h=n+12|0;d=f[h>>2]|0;b=n+16|0;if((d|0)==(f[b>>2]|0)){m=0;d=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;O=m;m=0;if(O&1){R=25;break}}else d=f[d>>2]|0;if(dk(d,S,y,e,E,w,k,D,M,C,A,g)|0)break;u=f[h>>2]|0;if((u|0)==(f[b>>2]|0)){m=0;he(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;O=m;m=0;if(O&1){R=25;break}else continue}else{f[h>>2]=u+4;continue}}if((R|0)==25){e=Ye()|0;break}O=t[D>>0]|0;if(!((t[S>>0]|0)==0?1:(((O&1)==0?(O&255)>>>1:f[D+4>>2]|0)|0)==0)?(T=f[C>>2]|0,(T-M|0)<160):0){O=f[A>>2]|0;f[C>>2]=T+4;f[T>>2]=O}m=0;l=+ye(1,e|0,f[E>>2]|0,a|0);O=m;m=0;if(!(O&1)){o[s>>2]=l;Ko(D,M,f[C>>2]|0,a);if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){m=0;e=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;O=m;m=0;if(O&1){R=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do if(u){e=f[u+12>>2]|0;if((e|0)==(f[u+16>>2]|0)){m=0;e=he(f[(f[u>>2]|0)+36>>2]|0,u|0)|0;O=m;m=0;if(O&1){R=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{R=53;break}else{f[r>>2]=0;R=51;break}}else R=51;while(0)if((R|0)==51?n:0)R=53;if((R|0)==53)f[a>>2]=f[a>>2]|2;O=f[i>>2]|0;Od(x);Od(D);c=P;return O|0}else R=26}else R=26;while(0)if((R|0)==26)e=Ye()|0;Od(x);Od(D);$e(e|0);return 0}function rm(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0;P=c;c=c+352|0;g=P+208|0;o=P+40|0;d=P+36|0;D=P+24|0;x=P+12|0;E=P+8|0;M=P+48|0;C=P+4|0;A=P;S=P+337|0;y=P+336|0;ck(D,n,g,o,d);f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if(!(t[x>>0]&1))e=10;else e=(f[x>>2]&-2)+-1|0;m=0;Se(8,x|0,e|0,0);v=m;m=0;e:do if(!(v&1)){_=x+8|0;p=x+1|0;e=(t[x>>0]&1)==0?p:f[_>>2]|0;f[E>>2]=e;f[C>>2]=M;f[A>>2]=0;t[S>>0]=1;t[y>>0]=69;v=x+4|0;w=f[o>>2]|0;k=f[d>>2]|0;n=f[i>>2]|0;i:while(1){if(n){o=f[n+12>>2]|0;if((o|0)==(f[n+16>>2]|0)){m=0;o=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;b=m;m=0;if(b&1){R=25;break}}else o=f[o>>2]|0;if((o|0)==-1){f[i>>2]=0;n=0;h=1}else h=0}else{n=0;h=1}o=f[r>>2]|0;do if(o){d=f[o+12>>2]|0;if((d|0)==(f[o+16>>2]|0)){m=0;d=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;b=m;m=0;if(b&1){R=25;break i}}else d=f[d>>2]|0;if((d|0)!=-1)if(h)break;else break i;else{f[r>>2]=0;R=17;break}}else R=17;while(0)if((R|0)==17){R=0;if(h){o=0;break}else o=0}d=t[x>>0]|0;d=(d&1)==0?(d&255)>>>1:f[v>>2]|0;if((f[E>>2]|0)==(e+d|0)){m=0;Se(8,x|0,d<<1|0,0);b=m;m=0;if(b&1){R=25;break}if(!(t[x>>0]&1))e=10;else e=(f[x>>2]&-2)+-1|0;m=0;Se(8,x|0,e|0,0);b=m;m=0;if(b&1){R=25;break}e=(t[x>>0]&1)==0?p:f[_>>2]|0;f[E>>2]=e+d}h=n+12|0;d=f[h>>2]|0;b=n+16|0;if((d|0)==(f[b>>2]|0)){m=0;d=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;O=m;m=0;if(O&1){R=25;break}}else d=f[d>>2]|0;if(dk(d,S,y,e,E,w,k,D,M,C,A,g)|0)break;o=f[h>>2]|0;if((o|0)==(f[b>>2]|0)){m=0;he(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;O=m;m=0;if(O&1){R=25;break}else continue}else{f[h>>2]=o+4;continue}}if((R|0)==25){e=Ye()|0;break}O=t[D>>0]|0;if(!((t[S>>0]|0)==0?1:(((O&1)==0?(O&255)>>>1:f[D+4>>2]|0)|0)==0)?(T=f[C>>2]|0,(T-M|0)<160):0){O=f[A>>2]|0;f[C>>2]=T+4;f[T>>2]=O}m=0;l=+ye(2,e|0,f[E>>2]|0,a|0);O=m;m=0;if(!(O&1)){u[s>>3]=l;Ko(D,M,f[C>>2]|0,a);if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){m=0;e=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;O=m;m=0;if(O&1){R=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do if(o){e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){m=0;e=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;O=m;m=0;if(O&1){R=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{R=53;break}else{f[r>>2]=0;R=51;break}}else R=51;while(0)if((R|0)==51?n:0)R=53;if((R|0)==53)f[a>>2]=f[a>>2]|2;O=f[i>>2]|0;Od(x);Od(D);c=P;return O|0}else R=26}else R=26;while(0)if((R|0)==26)e=Ye()|0;Od(x);Od(D);$e(e|0);return 0}function tm(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0;P=c;c=c+352|0;g=P+208|0;o=P+40|0;d=P+36|0;D=P+24|0;x=P+12|0;E=P+8|0;M=P+48|0;C=P+4|0;A=P;S=P+337|0;y=P+336|0;ck(D,n,g,o,d);f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if(!(t[x>>0]&1))e=10;else e=(f[x>>2]&-2)+-1|0;m=0;Se(8,x|0,e|0,0);v=m;m=0;e:do if(!(v&1)){_=x+8|0;p=x+1|0;e=(t[x>>0]&1)==0?p:f[_>>2]|0;f[E>>2]=e;f[C>>2]=M;f[A>>2]=0;t[S>>0]=1;t[y>>0]=69;v=x+4|0;w=f[o>>2]|0;k=f[d>>2]|0;n=f[i>>2]|0;i:while(1){if(n){o=f[n+12>>2]|0;if((o|0)==(f[n+16>>2]|0)){m=0;o=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;b=m;m=0;if(b&1){R=25;break}}else o=f[o>>2]|0;if((o|0)==-1){f[i>>2]=0;n=0;h=1}else h=0}else{n=0;h=1}o=f[r>>2]|0;do if(o){d=f[o+12>>2]|0;if((d|0)==(f[o+16>>2]|0)){m=0;d=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;b=m;m=0;if(b&1){R=25;break i}}else d=f[d>>2]|0;if((d|0)!=-1)if(h)break;else break i;else{f[r>>2]=0;R=17;break}}else R=17;while(0)if((R|0)==17){R=0;if(h){o=0;break}else o=0}d=t[x>>0]|0;d=(d&1)==0?(d&255)>>>1:f[v>>2]|0;if((f[E>>2]|0)==(e+d|0)){m=0;Se(8,x|0,d<<1|0,0);b=m;m=0;if(b&1){R=25;break}if(!(t[x>>0]&1))e=10;else e=(f[x>>2]&-2)+-1|0;m=0;Se(8,x|0,e|0,0);b=m;m=0;if(b&1){R=25;break}e=(t[x>>0]&1)==0?p:f[_>>2]|0;f[E>>2]=e+d}h=n+12|0;d=f[h>>2]|0;b=n+16|0;if((d|0)==(f[b>>2]|0)){m=0;d=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;O=m;m=0;if(O&1){R=25;break}}else d=f[d>>2]|0;if(dk(d,S,y,e,E,w,k,D,M,C,A,g)|0)break;o=f[h>>2]|0;if((o|0)==(f[b>>2]|0)){m=0;he(f[(f[n>>2]|0)+40>>2]|0,n|0)|0;O=m;m=0;if(O&1){R=25;break}else continue}else{f[h>>2]=o+4;continue}}if((R|0)==25){e=Ye()|0;break}O=t[D>>0]|0;if(!((t[S>>0]|0)==0?1:(((O&1)==0?(O&255)>>>1:f[D+4>>2]|0)|0)==0)?(T=f[C>>2]|0,(T-M|0)<160):0){O=f[A>>2]|0;f[C>>2]=T+4;f[T>>2]=O}m=0;l=+ye(3,e|0,f[E>>2]|0,a|0);O=m;m=0;if(!(O&1)){u[s>>3]=l;Ko(D,M,f[C>>2]|0,a);if(n){e=f[n+12>>2]|0;if((e|0)==(f[n+16>>2]|0)){m=0;e=he(f[(f[n>>2]|0)+36>>2]|0,n|0)|0;O=m;m=0;if(O&1){R=26;break}}else e=f[e>>2]|0;if((e|0)==-1){f[i>>2]=0;n=1}else n=0}else n=1;do if(o){e=f[o+12>>2]|0;if((e|0)==(f[o+16>>2]|0)){m=0;e=he(f[(f[o>>2]|0)+36>>2]|0,o|0)|0;O=m;m=0;if(O&1){R=26;break e}}else e=f[e>>2]|0;if((e|0)!=-1)if(n)break;else{R=53;break}else{f[r>>2]=0;R=51;break}}else R=51;while(0)if((R|0)==51?n:0)R=53;if((R|0)==53)f[a>>2]=f[a>>2]|2;O=f[i>>2]|0;Od(x);Od(D);c=P;return O|0}else R=26}else R=26;while(0)if((R|0)==26)e=Ye()|0;Od(x);Od(D);$e(e|0);return 0}function nm(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0;a=c;c=c+16|0;s=a;f[s>>2]=n;n=Wg(r)|0;r=Ny(e,i,t,s)|0;if((n|0)!=0?(m=0,he(75,n|0)|0,s=m,m=0,s&1):0){s=Ye(0)|0;Fi(s)}c=a;return r|0}function fm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;n=c;c=c+16|0;a=n;f[a>>2]=t;t=Wg(i)|0;m=0;i=ke(37,e|0,r|0,a|0)|0;e=m;m=0;if(e&1){i=Ye()|0;if((t|0)!=0?(m=0,he(75,t|0)|0,a=m,m=0,a&1):0){a=Ye(0)|0;Fi(a)}$e(i|0)}else{if((t|0)!=0?(m=0,he(75,t|0)|0,a=m,m=0,a&1):0){a=Ye(0)|0;Fi(a)}c=n;return i|0}return 0}function am(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0;b=c;c=c+16|0;h=b;l=f[e>>2]|0;e:do if(!l)l=0;else{k=i;u=n-k>>2;d=a+12|0;o=f[d>>2]|0;u=(o|0)>(u|0)?o-u|0:0;o=r;k=o-k|0;a=k>>2;if((k|0)>0?(uE[f[(f[l>>2]|0)+48>>2]&63](l,i,a)|0)!=(a|0):0){f[e>>2]=0;l=0;break}do if((u|0)>0){Gd(h,u,s);m=0;a=ke(f[(f[l>>2]|0)+48>>2]|0,l|0,((t[h>>0]&1)==0?h+4|0:f[h+8>>2]|0)|0,u|0)|0;k=m;m=0;if(k&1){k=Ye()|0;Vd(h);$e(k|0)}if((a|0)==(u|0)){Vd(h);break}else{f[e>>2]=0;Vd(h);l=0;break e}}while(0)k=n-o|0;n=k>>2;if((k|0)>0?(uE[f[(f[l>>2]|0)+48>>2]&63](l,r,n)|0)!=(n|0):0){f[e>>2]=0;l=0;break}f[d>>2]=0}while(0)c=b;return l|0}function sm(e,i,r,t,s){e=e|0;i=i|0;r=r|0;t=t|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;l=f[e>>2]|0;do if(l){if((f[l+12>>2]|0)==(f[l+16>>2]|0))if((lE[f[(f[l>>2]|0)+36>>2]&127](l)|0)==-1){f[e>>2]=0;l=0;break}else{l=f[e>>2]|0;break}}else l=0;while(0)o=(l|0)==0;l=f[i>>2]|0;do if(l){if((f[l+12>>2]|0)==(f[l+16>>2]|0)?(lE[f[(f[l>>2]|0)+36>>2]&127](l)|0)==-1:0){f[i>>2]=0;m=11;break}if(o)m=13;else m=12}else m=11;while(0)if((m|0)==11)if(o)m=12;else{l=0;m=13}e:do if((m|0)==12){f[r>>2]=f[r>>2]|6;l=0}else if((m|0)==13){o=f[e>>2]|0;u=f[o+12>>2]|0;if((u|0)==(f[o+16>>2]|0))o=lE[f[(f[o>>2]|0)+36>>2]&127](o)|0;else o=a[u>>0]|0;u=o&255;if(u<<24>>24>-1?(w=t+8|0,(n[(f[w>>2]|0)+(o<<24>>24<<1)>>1]&2048)!=0):0){d=(uE[f[(f[t>>2]|0)+36>>2]&63](t,u,0)|0)<<24>>24;o=f[e>>2]|0;u=o+12|0;c=f[u>>2]|0;if((c|0)==(f[o+16>>2]|0)){lE[f[(f[o>>2]|0)+40>>2]&127](o)|0;b=s;h=l;s=l;l=d}else{f[u>>2]=c+1;b=s;h=l;s=l;l=d}while(1){l=l+-48|0;k=b+-1|0;o=f[e>>2]|0;do if(o){if((f[o+12>>2]|0)==(f[o+16>>2]|0))if((lE[f[(f[o>>2]|0)+36>>2]&127](o)|0)==-1){f[e>>2]=0;o=0;break}else{o=f[e>>2]|0;break}}else o=0;while(0)c=(o|0)==0;if(s)if((f[s+12>>2]|0)==(f[s+16>>2]|0))if((lE[f[(f[s>>2]|0)+36>>2]&127](s)|0)==-1){f[i>>2]=0;u=0;s=0}else{u=h;s=h}else u=h;else{u=h;s=0}o=f[e>>2]|0;if(!((b|0)>1&(c^(s|0)==0)))break;c=f[o+12>>2]|0;if((c|0)==(f[o+16>>2]|0))o=lE[f[(f[o>>2]|0)+36>>2]&127](o)|0;else o=a[c>>0]|0;c=o&255;if(c<<24>>24<=-1)break e;if(!(n[(f[w>>2]|0)+(o<<24>>24<<1)>>1]&2048))break e;l=((uE[f[(f[t>>2]|0)+36>>2]&63](t,c,0)|0)<<24>>24)+(l*10|0)|0;o=f[e>>2]|0;c=o+12|0;d=f[c>>2]|0;if((d|0)==(f[o+16>>2]|0)){lE[f[(f[o>>2]|0)+40>>2]&127](o)|0;b=k;h=u;continue}else{f[c>>2]=d+1;b=k;h=u;continue}}do if(o){if((f[o+12>>2]|0)==(f[o+16>>2]|0))if((lE[f[(f[o>>2]|0)+36>>2]&127](o)|0)==-1){f[e>>2]=0;o=0;break}else{o=f[e>>2]|0;break}}else o=0;while(0)o=(o|0)==0;do if(u){if((f[u+12>>2]|0)==(f[u+16>>2]|0)?(lE[f[(f[u>>2]|0)+36>>2]&127](u)|0)==-1:0){f[i>>2]=0;m=50;break}if(o)break e}else m=50;while(0)if((m|0)==50?!o:0)break;f[r>>2]=f[r>>2]|2;break}f[r>>2]=f[r>>2]|4;l=0}while(0)return l|0}function lm(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0;a=f[e>>2]|0;do if(a){s=f[a+12>>2]|0;if((s|0)==(f[a+16>>2]|0))a=lE[f[(f[a>>2]|0)+36>>2]&127](a)|0;else a=f[s>>2]|0;if((a|0)==-1){f[e>>2]=0;l=1;break}else{l=(f[e>>2]|0)==0;break}}else l=1;while(0)s=f[i>>2]|0;do if(s){a=f[s+12>>2]|0;if((a|0)==(f[s+16>>2]|0))a=lE[f[(f[s>>2]|0)+36>>2]&127](s)|0;else a=f[a>>2]|0;if((a|0)!=-1)if(l){b=17;break}else{b=16;break}else{f[i>>2]=0;b=14;break}}else b=14;while(0)if((b|0)==14)if(l)b=16;else{s=0;b=17}e:do if((b|0)==16){f[r>>2]=f[r>>2]|6;a=0}else if((b|0)==17){a=f[e>>2]|0;l=f[a+12>>2]|0;if((l|0)==(f[a+16>>2]|0))a=lE[f[(f[a>>2]|0)+36>>2]&127](a)|0;else a=f[l>>2]|0;if(!(uE[f[(f[t>>2]|0)+12>>2]&63](t,2048,a)|0)){f[r>>2]=f[r>>2]|4;a=0;break}a=(uE[f[(f[t>>2]|0)+52>>2]&63](t,a,0)|0)<<24>>24;l=f[e>>2]|0;o=l+12|0;u=f[o>>2]|0;if((u|0)==(f[l+16>>2]|0)){lE[f[(f[l>>2]|0)+40>>2]&127](l)|0;d=n;c=s;o=s}else{f[o>>2]=u+4;d=n;c=s;o=s}while(1){a=a+-48|0;h=d+-1|0;s=f[e>>2]|0;do if(s){l=f[s+12>>2]|0;if((l|0)==(f[s+16>>2]|0))s=lE[f[(f[s>>2]|0)+36>>2]&127](s)|0;else s=f[l>>2]|0;if((s|0)==-1){f[e>>2]=0;u=1;break}else{u=(f[e>>2]|0)==0;break}}else u=1;while(0)do if(o){s=f[o+12>>2]|0;if((s|0)==(f[o+16>>2]|0))s=lE[f[(f[o>>2]|0)+36>>2]&127](o)|0;else s=f[s>>2]|0;if((s|0)==-1){f[i>>2]=0;o=0;n=0;s=1;break}else{o=c;n=c;s=(c|0)==0;break}}else{o=c;n=0;s=1}while(0)l=f[e>>2]|0;if(!((d|0)>1&(u^s)))break;s=f[l+12>>2]|0;if((s|0)==(f[l+16>>2]|0))s=lE[f[(f[l>>2]|0)+36>>2]&127](l)|0;else s=f[s>>2]|0;if(!(uE[f[(f[t>>2]|0)+12>>2]&63](t,2048,s)|0))break e;a=((uE[f[(f[t>>2]|0)+52>>2]&63](t,s,0)|0)<<24>>24)+(a*10|0)|0;s=f[e>>2]|0;l=s+12|0;u=f[l>>2]|0;if((u|0)==(f[s+16>>2]|0)){lE[f[(f[s>>2]|0)+40>>2]&127](s)|0;d=h;c=o;o=n;continue}else{f[l>>2]=u+4;d=h;c=o;o=n;continue}}do if(l){s=f[l+12>>2]|0;if((s|0)==(f[l+16>>2]|0))s=lE[f[(f[l>>2]|0)+36>>2]&127](l)|0;else s=f[s>>2]|0;if((s|0)==-1){f[e>>2]=0;l=1;break}else{l=(f[e>>2]|0)==0;break}}else l=1;while(0)do if(o){s=f[o+12>>2]|0;if((s|0)==(f[o+16>>2]|0))s=lE[f[(f[o>>2]|0)+36>>2]&127](o)|0;else s=f[s>>2]|0;if((s|0)!=-1)if(l)break e;else break;else{f[i>>2]=0;b=60;break}}else b=60;while(0)if((b|0)==60?!l:0)break;f[r>>2]=f[r>>2]|2}while(0)return a|0}function om(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0;a=e+4|0;t=(f[a>>2]|0)!=189;l=f[e>>2]|0;s=l;n=(f[r>>2]|0)-s|0;n=n>>>0<2147483647?n<<1:-1;s=(f[i>>2]|0)-s|0;l=Oc(t?l:0,n)|0;if(!l)Eg();do if(!t){t=f[e>>2]|0;f[e>>2]=l;if(t){m=0;ue(f[a>>2]|0,t|0);l=m;m=0;if(l&1){l=Ye(0)|0;Fi(l)}else{o=f[e>>2]|0;break}}else o=l}else{f[e>>2]=l;o=l}while(0)f[a>>2]=201;f[i>>2]=o+s;f[r>>2]=(f[e>>2]|0)+n;return}function um(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0;a=e+4|0;t=(f[a>>2]|0)!=189;l=f[e>>2]|0;s=l;n=(f[r>>2]|0)-s|0;n=n>>>0<2147483647?n<<1:-1;s=(f[i>>2]|0)-s>>2;l=Oc(t?l:0,n)|0;if(!l)Eg();do if(!t){t=f[e>>2]|0;f[e>>2]=l;if(t){m=0;ue(f[a>>2]|0,t|0);l=m;m=0;if(l&1){l=Ye(0)|0;Fi(l)}else{o=f[e>>2]|0;break}}else o=l}else{f[e>>2]=l;o=l}while(0)f[a>>2]=201;f[i>>2]=o+(s<<2);f[r>>2]=(f[e>>2]|0)+(n>>>2<<2);return}function cm(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0;s=i;n=t[e>>0]|0;if(!(n&1)){a=10;u=(n&255)>>>1}else{n=f[e>>2]|0;a=(n&-2)+-1|0;u=f[e+4>>2]|0;n=n&255}o=r-s|0;do if((r|0)!=(i|0)){if((a-u|0)>>>0<o>>>0){zd(e,a,u+o-a|0,u,u,0,0);n=t[e>>0]|0}if(!(n&1))l=e+1|0;else l=f[e+8>>2]|0;s=r+(u-s)|0;if((i|0)!=(r|0)){n=i;a=l+u|0;while(1){t[a>>0]=t[n>>0]|0;n=n+1|0;if((n|0)==(r|0))break;else a=a+1|0}}t[l+s>>0]=0;n=u+o|0;if(!(t[e>>0]&1)){t[e>>0]=n<<1;break}else{f[e+4>>2]=n;break}}while(0)return e|0}function dm(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0;a=e+4|0;t=(f[a>>2]|0)!=189;l=f[e>>2]|0;s=l;n=(f[r>>2]|0)-s|0;n=n>>>0<2147483647?n<<1:-1;s=(f[i>>2]|0)-s>>2;l=Oc(t?l:0,n)|0;if(!l)Eg();do if(!t){t=f[e>>2]|0;f[e>>2]=l;if(t){m=0;ue(f[a>>2]|0,t|0);l=m;m=0;if(l&1){l=Ye(0)|0;Fi(l)}else{o=f[e>>2]|0;break}}else o=l}else{f[e>>2]=l;o=l}while(0)f[a>>2]=201;f[i>>2]=o+(s<<2);f[r>>2]=(f[e>>2]|0)+(n>>>2<<2);return}function hm(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0;s=i;n=t[e>>0]|0;if(!(n&1)){a=1;u=(n&255)>>>1}else{n=f[e>>2]|0;a=(n&-2)+-1|0;u=f[e+4>>2]|0;n=n&255}o=r-s>>2;do if(o){if((a-u|0)>>>0<o>>>0){$d(e,a,u+o-a|0,u,u,0,0);n=t[e>>0]|0}if(!(n&1))l=e+4|0;else l=f[e+8>>2]|0;s=u+((r-s|0)>>>2)|0;if((i|0)!=(r|0)){n=i;a=l+(u<<2)|0;while(1){f[a>>2]=f[n>>2];n=n+4|0;if((n|0)==(r|0))break;else a=a+4|0}}f[l+(s<<2)>>2]=0;n=u+o|0;if(!(t[e>>0]&1)){t[e>>0]=n<<1;break}else{f[e+4>>2]=n;break}}while(0)return e|0}function bm(e,i){e=e|0;i=i|0;var r=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;t[e+128>>0]=0;do if(i){m=0;ce(125,e|0,i|0);r=m;m=0;if(r&1){r=Ye()|0;qm(e);$e(r|0)}else{a_(e,i);break}}while(0)return}function km(e,i){e=e|0;i=i|0;Su(e,i,Iu(43148)|0);return}function wm(e,i){e=e|0;i=i|0;Su(e,i,Iu(43188)|0);return}function mm(e,i){e=e|0;i=i|0;Su(e,i,Iu(44220)|0);return}function _m(e,i){e=e|0;i=i|0;Su(e,i,Iu(44212)|0);return}function pm(e,i){e=e|0;i=i|0;Su(e,i,Iu(44280)|0);return}function vm(e,i){e=e|0;i=i|0;Su(e,i,Iu(44288)|0);return}function gm(e,i){e=e|0;i=i|0;Su(e,i,Iu(44344)|0);return}function ym(e,i){e=e|0;i=i|0;Su(e,i,Iu(44352)|0);return}function Em(e,i){e=e|0;i=i|0;Su(e,i,Iu(44360)|0);return}function Am(e,i){e=e|0;i=i|0;Su(e,i,Iu(44368)|0);return}function Sm(e,i){e=e|0;i=i|0;Su(e,i,Iu(43260)|0);return}function Tm(e,i){e=e|0;i=i|0;Su(e,i,Iu(43332)|0);return}function Mm(e,i){e=e|0;i=i|0;Su(e,i,Iu(43392)|0);return}function Cm(e,i){e=e|0;i=i|0;Su(e,i,Iu(43452)|0);return}function Pm(e,i){e=e|0;i=i|0;Su(e,i,Iu(43764)|0);return}function xm(e,i){e=e|0;i=i|0;Su(e,i,Iu(43828)|0);return}function Dm(e,i){e=e|0;i=i|0;Su(e,i,Iu(43892)|0);return}function Rm(e,i){e=e|0;i=i|0;Su(e,i,Iu(43956)|0);return}function Om(e,i){e=e|0;i=i|0;Su(e,i,Iu(43992)|0);return}function Lm(e,i){e=e|0;i=i|0;Su(e,i,Iu(44028)|0);return}function Im(e,i){e=e|0;i=i|0;Su(e,i,Iu(44064)|0);return}function Bm(e,i){e=e|0;i=i|0;Su(e,i,Iu(44100)|0);return}function Nm(e,i){e=e|0;i=i|0;Su(e,i,Iu(43544)|0);return}function Fm(e,i){e=e|0;i=i|0;Su(e,i,Iu(43636)|0);return}function jm(e,i){e=e|0;i=i|0;Su(e,i,Iu(43668)|0);return}function Um(e,i){e=e|0;i=i|0;Su(e,i,Iu(43700)|0);return}function Hm(e,i){e=e|0;i=i|0;Su(e,i,Iu(44140)|0);return}function Ym(e,i){e=e|0;i=i|0;Su(e,i,Iu(44180)|0);return}function qm(e){e=e|0;var i=0,r=0,n=0;r=f[e>>2]|0;do if(r){n=e+4|0;i=f[n>>2]|0;if((i|0)!=(r|0)){do i=i+-4|0;while((i|0)!=(r|0))f[n>>2]=i}if((e+16|0)==(r|0)){t[e+128>>0]=0;break}else{Iv(r);break}}while(0)return}function zm(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0;s=e+4|0;r=f[s>>2]|0;t=f[e>>2]|0;n=r-t>>2;if(n>>>0>=i>>>0){if(n>>>0>i>>>0?(a=t+(i<<2)|0,(r|0)!=(a|0)):0){do r=r+-4|0;while((r|0)!=(a|0))f[s>>2]=r}}else f_(e,i-n|0);return}function Xm(e,i){e=e|0;i=i|0;var r=0;r=f[e+8>>2]|0;if((f[e+12>>2]|0)-r>>2>>>0>i>>>0)r=(f[r+(i<<2)>>2]|0)!=0;else r=0;return r|0}function Gm(e){e=e|0;var i=0,r=0;r=e+4|0;i=f[r>>2]|0;r=f[r+4>>2]|0;e=(f[e>>2]|0)+(r>>1)|0;if(r&1)i=f[(f[e>>2]|0)+i>>2]|0;fE[i&255](e);return}function Vm(e,i,r,a,l,o,u,c){e=e|0;i=i|0;r=r|0;a=a|0;l=l|0;o=o|0;u=u|0;c=c|0;var d=0,h=0;f[r>>2]=e;f[o>>2]=a;if(c&2)if((l-a|0)<3)e=1;else{f[o>>2]=a+1;t[a>>0]=-17;d=f[o>>2]|0;f[o>>2]=d+1;t[d>>0]=-69;d=f[o>>2]|0;f[o>>2]=d+1;t[d>>0]=-65;d=4}else d=4;e:do if((d|0)==4){h=i;e=f[r>>2]|0;if(e>>>0<i>>>0)while(1){c=n[e>>1]|0;d=c&65535;if(d>>>0>u>>>0){e=2;break e}do if((c&65535)<128){e=f[o>>2]|0;if((l-e|0)<1){e=1;break e}f[o>>2]=e+1;t[e>>0]=c}else{if((c&65535)<2048){e=f[o>>2]|0;if((l-e|0)<2){e=1;break e}f[o>>2]=e+1;t[e>>0]=d>>>6|192;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=d&63|128;break}if((c&65535)<55296){e=f[o>>2]|0;if((l-e|0)<3){e=1;break e}f[o>>2]=e+1;t[e>>0]=d>>>12|224;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=d>>>6&63|128;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=d&63|128;break}if((c&65535)>=56320){if((c&65535)<57344){e=2;break e}e=f[o>>2]|0;if((l-e|0)<3){e=1;break e}f[o>>2]=e+1;t[e>>0]=d>>>12|224;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=d>>>6&63|128;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=d&63|128;break}if((h-e|0)<4){e=1;break e}e=e+2|0;c=s[e>>1]|0;if((c&64512|0)!=56320){e=2;break e}if((l-(f[o>>2]|0)|0)<4){e=1;break e}a=d&960;if(((a<<10)+65536|d<<10&64512|c&1023)>>>0>u>>>0){e=2;break e}f[r>>2]=e;e=(a>>>6)+1|0;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=e>>>2|240;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=d>>>2&15|e<<4&48|128;a=f[o>>2]|0;f[o>>2]=a+1;t[a>>0]=d<<4&48|c>>>6&15|128;d=f[o>>2]|0;f[o>>2]=d+1;t[d>>0]=c&63|128}while(0)e=(f[r>>2]|0)+2|0;f[r>>2]=e;if(e>>>0>=i>>>0){e=0;break}}else e=0}while(0)return e|0}function Km(e,i,r,s,l,o,u,c){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;var d=0,h=0,b=0,k=0,w=0,m=0;f[r>>2]=e;f[o>>2]=s;if(c&4){e=f[r>>2]|0;c=i;if((((c-e|0)>2?(t[e>>0]|0)==-17:0)?(t[e+1>>0]|0)==-69:0)?(t[e+2>>0]|0)==-65:0){f[r>>2]=e+3;d=f[o>>2]|0}else d=s}else{d=s;c=i}w=l;s=f[r>>2]|0;e=s>>>0<i>>>0;e:do if(e&d>>>0<l>>>0)while(1){e=t[s>>0]|0;b=e&255;if(b>>>0>u>>>0){e=2;break e}do if(e<<24>>24>-1){n[d>>1]=e&255;f[r>>2]=s+1}else{if((e&255)<194){e=2;break e}if((e&255)<224){if((c-s|0)<2){e=1;break e}e=a[s+1>>0]|0;if((e&192|0)!=128){e=2;break e}e=e&63|b<<6&1984;if(e>>>0>u>>>0){e=2;break e}n[d>>1]=e;f[r>>2]=s+2;break}if((e&255)<240){if((c-s|0)<3){e=1;break e}h=t[s+1>>0]|0;e=t[s+2>>0]|0;switch(b|0){case 224:{if((h&-32)<<24>>24!=-96){e=2;break e}break}case 237:{if((h&-32)<<24>>24!=-128){e=2;break e}break}default:if((h&-64)<<24>>24!=-128){e=2;break e}}e=e&255;if((e&192|0)!=128){e=2;break e}e=(h&255)<<6&4032|b<<12|e&63;if((e&65535)>>>0>u>>>0){e=2;break e}n[d>>1]=e;f[r>>2]=s+3;break}if((e&255)>=245){e=2;break e}if((c-s|0)<4){e=1;break e}h=t[s+1>>0]|0;e=t[s+2>>0]|0;s=t[s+3>>0]|0;switch(b|0){case 240:{if((h+112&255)>=48){e=2;break e}break}case 244:{if((h&-16)<<24>>24!=-128){e=2;break e}break}default:if((h&-64)<<24>>24!=-128){e=2;break e}}k=e&255;if((k&192|0)!=128){e=2;break e}e=s&255;if((e&192|0)!=128){e=2;break e}if((w-d|0)<4){e=1;break e}b=b&7;s=h&255;h=k<<6;e=e&63;if((s<<12&258048|b<<18|h&4032|e)>>>0>u>>>0){e=2;break e}n[d>>1]=s<<2&60|k>>>4&3|((s>>>4&3|b<<2)<<6)+16320|55296;k=d+2|0;f[o>>2]=k;n[k>>1]=e|h&960|56320;f[r>>2]=(f[r>>2]|0)+4}while(0)d=(f[o>>2]|0)+2|0;f[o>>2]=d;s=f[r>>2]|0;e=s>>>0<i>>>0;if(!(e&d>>>0<l>>>0)){m=39;break}}else m=39;while(0)if((m|0)==39)e=e&1;return e|0}function Wm(e,i,r,n,f){e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0;h=i;if((((f&4|0)!=0?(h-e|0)>2:0)?(t[e>>0]|0)==-17:0)?(t[e+1>>0]|0)==-69:0)f=(t[e+2>>0]|0)==-65?e+3|0:e;else f=e;e:do if((r|0)!=0&f>>>0<i>>>0){d=f;s=0;i:while(1){f=t[d>>0]|0;c=f&255;if(c>>>0>n>>>0){f=d;s=42;break e}do if(f<<24>>24>-1)f=d+1|0;else{if((f&255)<194){f=d;s=42;break e}if((f&255)<224){if((h-d|0)<2){f=d;s=42;break e}f=a[d+1>>0]|0;if((f&192|0)!=128){f=d;s=42;break e}if((f&63|c<<6&1984)>>>0>n>>>0){f=d;s=42;break e}f=d+2|0;break}if((f&255)<240){f=d;if((h-f|0)<3){f=d;s=42;break e}o=t[d+1>>0]|0;l=t[d+2>>0]|0;switch(c|0){case 224:{if((o&-32)<<24>>24!=-96){s=20;break i}break}case 237:{if((o&-32)<<24>>24!=-128){s=22;break i}break}default:if((o&-64)<<24>>24!=-128){s=24;break i}}f=l&255;if((f&192|0)!=128){f=d;s=42;break e}if(((o&255)<<6&4032|c<<12&61440|f&63)>>>0>n>>>0){f=d;s=42;break e}f=d+3|0;break}if((f&255)>=245){f=d;s=42;break e}f=d;if((r-s|0)>>>0<2|(h-f|0)<4){f=d;s=42;break e}u=t[d+1>>0]|0;l=t[d+2>>0]|0;o=t[d+3>>0]|0;switch(c|0){case 240:{if((u+112&255)>=48){s=32;break i}break}case 244:{if((u&-16)<<24>>24!=-128){s=34;break i}break}default:if((u&-64)<<24>>24!=-128){s=36;break i}}l=l&255;if((l&192|0)!=128){f=d;s=42;break e}f=o&255;if((f&192|0)!=128){f=d;s=42;break e}if(((u&255)<<12&258048|c<<18&1835008|l<<6&4032|f&63)>>>0>n>>>0){f=d;s=42;break e}f=d+4|0;s=s+1|0}while(0)s=s+1|0;if(!(s>>>0<r>>>0&f>>>0<i>>>0)){s=42;break e}else d=f}if((s|0)==20){f=f-e|0;break}else if((s|0)==22){f=f-e|0;break}else if((s|0)==24){f=f-e|0;break}else if((s|0)==32){f=f-e|0;break}else if((s|0)==34){f=f-e|0;break}else if((s|0)==36){f=f-e|0;break}}else s=42;while(0)if((s|0)==42)f=f-e|0;return f|0}function Jm(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0;f[r>>2]=e;f[s>>2]=n;c=a;if(o&2)if((c-n|0)<3)e=1;else{f[s>>2]=n+1;t[n>>0]=-17;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=-69;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=-65;u=4}else u=4;e:do if((u|0)==4){e=f[r>>2]|0;if(e>>>0<i>>>0)while(1){o=f[e>>2]|0;if(o>>>0>l>>>0|(o&-2048|0)==55296){e=2;break e}do if(o>>>0>=128){if(o>>>0<2048){e=f[s>>2]|0;if((c-e|0)<2){e=1;break e}f[s>>2]=e+1;t[e>>0]=o>>>6|192;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=o&63|128;break}e=f[s>>2]|0;a=c-e|0;if(o>>>0<65536){if((a|0)<3){e=1;break e}f[s>>2]=e+1;t[e>>0]=o>>>12|224;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=o>>>6&63|128;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=o&63|128;break}else{if((a|0)<4){e=1;break e}f[s>>2]=e+1;t[e>>0]=o>>>18|240;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=o>>>12&63|128;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=o>>>6&63|128;u=f[s>>2]|0;f[s>>2]=u+1;t[u>>0]=o&63|128;break}}else{e=f[s>>2]|0;if((c-e|0)<1){e=1;break e}f[s>>2]=e+1;t[e>>0]=o}while(0)e=(f[r>>2]|0)+4|0;f[r>>2]=e;if(e>>>0>=i>>>0){e=0;break}}else e=0}while(0)return e|0}function Qm(e,i,r,n,s,l,o,u){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;l=l|0;o=o|0;u=u|0;var c=0,d=0,h=0,b=0,k=0,w=0;f[r>>2]=e;f[l>>2]=n;if(u&4){e=f[r>>2]|0;u=i;if((((u-e|0)>2?(t[e>>0]|0)==-17:0)?(t[e+1>>0]|0)==-69:0)?(t[e+2>>0]|0)==-65:0){f[r>>2]=e+3;n=f[l>>2]|0;k=u}else k=u}else k=i;u=f[r>>2]|0;e=u>>>0<i>>>0;e:do if(e&n>>>0<s>>>0)while(1){e=t[u>>0]|0;b=e&255;do if(e<<24>>24>-1){if(b>>>0>o>>>0){e=2;break e}f[n>>2]=b;f[r>>2]=u+1}else{if((e&255)<194){e=2;break e}if((e&255)<224){if((k-u|0)<2){e=1;break e}e=a[u+1>>0]|0;if((e&192|0)!=128){e=2;break e}e=e&63|b<<6&1984;if(e>>>0>o>>>0){e=2;break e}f[n>>2]=e;f[r>>2]=u+2;break}if((e&255)<240){if((k-u|0)<3){e=1;break e}c=t[u+1>>0]|0;e=t[u+2>>0]|0;switch(b|0){case 224:{if((c&-32)<<24>>24!=-96){e=2;break e}break}case 237:{if((c&-32)<<24>>24!=-128){e=2;break e}break}default:if((c&-64)<<24>>24!=-128){e=2;break e}}e=e&255;if((e&192|0)!=128){e=2;break e}e=(c&255)<<6&4032|b<<12&61440|e&63;if(e>>>0>o>>>0){e=2;break e}f[n>>2]=e;f[r>>2]=u+3;break}if((e&255)>=245){e=2;break e}if((k-u|0)<4){e=1;break e}h=t[u+1>>0]|0;e=t[u+2>>0]|0;c=t[u+3>>0]|0;switch(b|0){case 240:{if((h+112&255)>=48){e=2;break e}break}case 244:{if((h&-16)<<24>>24!=-128){e=2;break e}break}default:if((h&-64)<<24>>24!=-128){e=2;break e}}d=e&255;if((d&192|0)!=128){e=2;break e}e=c&255;if((e&192|0)!=128){e=2;break e}e=(h&255)<<12&258048|b<<18&1835008|d<<6&4032|e&63;if(e>>>0>o>>>0){e=2;break e}f[n>>2]=e;f[r>>2]=u+4}while(0)n=(f[l>>2]|0)+4|0;f[l>>2]=n;u=f[r>>2]|0;e=u>>>0<i>>>0;if(!(e&n>>>0<s>>>0)){w=38;break}}else w=38;while(0)if((w|0)==38)e=e&1;return e|0}function Zm(e,i,r,n,f){e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0;h=i;if((((f&4|0)!=0?(h-e|0)>2:0)?(t[e>>0]|0)==-17:0)?(t[e+1>>0]|0)==-69:0)f=(t[e+2>>0]|0)==-65?e+3|0:e;else f=e;e:do if((r|0)!=0&f>>>0<i>>>0){c=f;d=0;i:while(1){f=t[c>>0]|0;u=f&255;do if(f<<24>>24>-1){if(u>>>0>n>>>0){f=c;s=42;break e}f=c+1|0}else{if((f&255)<194){f=c;s=42;break e}if((f&255)<224){if((h-c|0)<2){f=c;s=42;break e}f=a[c+1>>0]|0;if((f&192|0)!=128){f=c;s=42;break e}if((f&63|u<<6&1984)>>>0>n>>>0){f=c;s=42;break e}f=c+2|0;break}if((f&255)<240){f=c;if((h-f|0)<3){f=c;s=42;break e}l=t[c+1>>0]|0;s=t[c+2>>0]|0;switch(u|0){case 224:{if((l&-32)<<24>>24!=-96){s=20;break i}break}case 237:{if((l&-32)<<24>>24!=-128){s=22;break i}break}default:if((l&-64)<<24>>24!=-128){s=24;break i}}f=s&255;if((f&192|0)!=128){f=c;s=42;break e}if(((l&255)<<6&4032|u<<12&61440|f&63)>>>0>n>>>0){f=c;s=42;break e}f=c+3|0;break}if((f&255)>=245){f=c;s=42;break e}f=c;if((h-f|0)<4){f=c;s=42;break e}o=t[c+1>>0]|0;s=t[c+2>>0]|0;l=t[c+3>>0]|0;switch(u|0){case 240:{if((o+112&255)>=48){s=32;break i}break}case 244:{if((o&-16)<<24>>24!=-128){s=34;break i}break}default:if((o&-64)<<24>>24!=-128){s=36;break i}}s=s&255;if((s&192|0)!=128){f=c;s=42;break e}f=l&255;if((f&192|0)!=128){f=c;s=42;break e}if(((o&255)<<12&258048|u<<18&1835008|s<<6&4032|f&63)>>>0>n>>>0){f=c;s=42;break e}f=c+4|0}while(0)d=d+1|0;if(!(d>>>0<r>>>0&f>>>0<i>>>0)){s=42;break e}else c=f}if((s|0)==20){f=f-e|0;break}else if((s|0)==22){f=f-e|0;break}else if((s|0)==24){f=f-e|0;break}else if((s|0)==32){f=f-e|0;break}else if((s|0)==34){f=f-e|0;break}else if((s|0)==36){f=f-e|0;break}}else s=42;while(0)if((s|0)==42)f=f-e|0;return f|0}function $m(e){e=e|0;Od(45196);Od(45184);Od(45172);Od(45160);Od(45148);Od(45136);Od(45124);Od(45112);Od(45100);Od(45088);Od(45076);Od(45064);Od(45052);Od(45040);return}function e_(e){e=e|0;Vd(45368);Vd(45356);Vd(45344);Vd(45332);Vd(45320);Vd(45308);Vd(45296);Vd(45284);Vd(45272);Vd(45260);Vd(45248);Vd(45236);Vd(45224);Vd(45212);return}function i_(e){e=e|0;Od(46e3);Od(45988);Od(45976);Od(45964);Od(45952);Od(45940);Od(45928);Od(45916);Od(45904);Od(45892);Od(45880);Od(45868);Od(45856);Od(45844);Od(45832);Od(45820);Od(45808);Od(45796);Od(45784);Od(45772);Od(45760);Od(45748);Od(45736);Od(45724);return}function r_(e){e=e|0;Vd(46292);Vd(46280);Vd(46268);Vd(46256);Vd(46244);Vd(46232);Vd(46220);Vd(46208);Vd(46196);Vd(46184);Vd(46172);Vd(46160);Vd(46148);Vd(46136);Vd(46124);Vd(46112);Vd(46100);Vd(46088);Vd(46076);Vd(46064);Vd(46052);Vd(46040);Vd(46028);Vd(46016);return}function t_(e){e=e|0;Od(47104);Od(47092);Od(47080);Od(47068);Od(47056);Od(47044);Od(47032);Od(47020);Od(47008);Od(46996);Od(46984);Od(46972);Od(46960);Od(46948);Od(46936);Od(46924);Od(46912);Od(46900);Od(46888);Od(46876);Od(46864);Od(46852);Od(46840);Od(46828);return}function n_(e){e=e|0;Vd(47396);Vd(47384);Vd(47372);Vd(47360);Vd(47348);Vd(47336);Vd(47324);Vd(47312);Vd(47300);Vd(47288);Vd(47276);Vd(47264);Vd(47252);Vd(47240);Vd(47228);Vd(47216);Vd(47204);Vd(47192);Vd(47180);Vd(47168);Vd(47156);Vd(47144);Vd(47132);Vd(47120);return}function f_(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0;o=c;c=c+32|0;l=o;a=f[e+8>>2]|0;r=f[e+4>>2]|0;if(a-r>>2>>>0<i>>>0){t=f[e>>2]|0;s=r-t>>2;n=s+i|0;if(n>>>0>1073741823)Rv(e);r=a-t|0;if(r>>2>>>0<536870911){r=r>>1;r=r>>>0<n>>>0?n:r}else r=1073741823;s_(l,r,s,e+16|0);s=l+8|0;a=f[s>>2]|0;y_(a|0,0,i<<2|0)|0;f[s>>2]=a+(i<<2);l_(e,l);o_(l)}else a_(e,i);c=o;return}function a_(e,i){e=e|0;i=i|0;var r=0;r=e+4|0;e=i;i=f[r>>2]|0;do{f[i>>2]=0;i=(f[r>>2]|0)+4|0;f[r>>2]=i;e=e+-1|0}while((e|0)!=0)return}function s_(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0;f[e+12>>2]=0;f[e+16>>2]=n;do if(i){a=n+112|0;if(i>>>0<29&(t[a>>0]|0)==0){t[a>>0]=1;break}else{n=Lv(i<<2)|0;break}}else n=0;while(0)f[e>>2]=n;r=n+(r<<2)|0;f[e+8>>2]=r;f[e+4>>2]=r;f[e+12>>2]=n+(i<<2);return}function l_(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0;t=f[e>>2]|0;a=e+4|0;r=i+4|0;n=(f[a>>2]|0)-t|0;s=(f[r>>2]|0)+(0-(n>>2)<<2)|0;f[r>>2]=s;S_(s|0,t|0,n|0)|0;n=f[e>>2]|0;f[e>>2]=f[r>>2];f[r>>2]=n;n=i+8|0;t=f[a>>2]|0;f[a>>2]=f[n>>2];f[n>>2]=t;n=e+8|0;e=i+12|0;t=f[n>>2]|0;f[n>>2]=f[e>>2];f[e>>2]=t;f[i>>2]=f[r>>2];return}function o_(e){e=e|0;var i=0,r=0,n=0;r=f[e+4>>2]|0;n=e+8|0;i=f[n>>2]|0;if((i|0)!=(r|0)){do i=i+-4|0;while((i|0)!=(r|0))
28
+ f[n>>2]=i}r=f[e>>2]|0;do if(r){i=f[e+16>>2]|0;if((i|0)==(r|0)){t[i+112>>0]=0;break}else{Iv(r);break}}while(0)return}function u_(e,i){e=e|0;i=i|0;var r=0;if(i>>>0>1073741823)Rv(e);r=e+128|0;if(i>>>0<29&(t[r>>0]|0)==0){t[r>>0]=1;r=e+16|0}else r=Lv(i<<2)|0;f[e+4>>2]=r;f[e>>2]=r;f[e+8>>2]=r+(i<<2);return}function c_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;do if((e|0)!=(i|0)){n=Ig()|0;a=f[n>>2]|0;f[n>>2]=0;t=+jy(e,s,Gb()|0);e=f[n>>2]|0;if(!e)f[n>>2]=a;if((f[s>>2]|0)!=(i|0)){f[r>>2]=4;t=0;break}if((e|0)==34)f[r>>2]=4}else{f[r>>2]=4;t=0}while(0)c=l;return+t}function d_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;do if((e|0)!=(i|0)){n=Ig()|0;a=f[n>>2]|0;f[n>>2]=0;t=+jy(e,s,Gb()|0);e=f[n>>2]|0;if(!e)f[n>>2]=a;if((f[s>>2]|0)!=(i|0)){f[r>>2]=4;t=0;break}if((e|0)==34)f[r>>2]=4}else{f[r>>2]=4;t=0}while(0)c=l;return+t}function h_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;do if((e|0)==(i|0)){f[r>>2]=4;t=0}else{n=Ig()|0;a=f[n>>2]|0;f[n>>2]=0;t=+jy(e,s,Gb()|0);e=f[n>>2]|0;if(!e)f[n>>2]=a;if((f[s>>2]|0)!=(i|0)){f[r>>2]=4;t=0;break}if((e|0)==34)f[r>>2]=4}while(0)c=l;return+t}function b_(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;do if((e|0)!=(i|0)){if((t[e>>0]|0)==45){f[r>>2]=4;n=0;e=0;break}a=Ig()|0;s=f[a>>2]|0;f[a>>2]=0;e=Cg(e,l,n,Gb()|0)|0;n=f[a>>2]|0;if(!n)f[a>>2]=s;if((f[l>>2]|0)!=(i|0)){f[r>>2]=4;n=0;e=0;break}if((n|0)==34){f[r>>2]=4;n=-1;e=-1}else n=R}else{f[r>>2]=4;n=0;e=0}while(0)R=n;c=o;return e|0}function k_(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;o=u;do if((e|0)!=(i|0)){if((t[e>>0]|0)==45){f[r>>2]=4;e=0;break}s=Ig()|0;l=f[s>>2]|0;f[s>>2]=0;e=Cg(e,o,n,Gb()|0)|0;n=R;a=f[s>>2]|0;if(!a)f[s>>2]=l;if((f[o>>2]|0)!=(i|0)){f[r>>2]=4;e=0;break}if(n>>>0>0|(n|0)==0&e>>>0>4294967295|(a|0)==34){f[r>>2]=4;e=-1;break}else break}else{f[r>>2]=4;e=0}while(0)c=u;return e|0}function w_(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;o=u;do if((e|0)!=(i|0)){if((t[e>>0]|0)==45){f[r>>2]=4;e=0;break}s=Ig()|0;l=f[s>>2]|0;f[s>>2]=0;e=Cg(e,o,n,Gb()|0)|0;n=R;a=f[s>>2]|0;if(!a)f[s>>2]=l;if((f[o>>2]|0)!=(i|0)){f[r>>2]=4;e=0;break}if(n>>>0>0|(n|0)==0&e>>>0>4294967295|(a|0)==34){f[r>>2]=4;e=-1;break}else break}else{f[r>>2]=4;e=0}while(0)c=u;return e|0}function m_(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;o=u;do if((e|0)!=(i|0)){if((t[e>>0]|0)==45){f[r>>2]=4;e=0;break}s=Ig()|0;l=f[s>>2]|0;f[s>>2]=0;e=Cg(e,o,n,Gb()|0)|0;n=R;a=f[s>>2]|0;if(!a)f[s>>2]=l;if((f[o>>2]|0)!=(i|0)){f[r>>2]=4;e=0;break}if(n>>>0>0|(n|0)==0&e>>>0>65535|(a|0)==34){f[r>>2]=4;e=-1;break}else{e=e&65535;break}}else{f[r>>2]=4;e=0}while(0)c=u;return e|0}function __(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;do if((e|0)!=(i|0)){a=Ig()|0;s=f[a>>2]|0;f[a>>2]=0;e=Pg(e,l,t,Gb()|0)|0;t=R;n=f[a>>2]|0;if(!n)f[a>>2]=s;if((f[l>>2]|0)!=(i|0)){f[r>>2]=4;t=0;e=0;break}if((n|0)==34){f[r>>2]=4;l=(t|0)>0|(t|0)==0&e>>>0>0;R=l?2147483647:-2147483648;c=o;return(l?-1:0)|0}}else{f[r>>2]=4;t=0;e=0}while(0)R=t;c=o;return e|0}function p_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;e:do if((e|0)==(i|0)){f[r>>2]=4;e=0}else{a=Ig()|0;s=f[a>>2]|0;f[a>>2]=0;e=Pg(e,l,t,Gb()|0)|0;t=R;n=f[a>>2]|0;if(!n)f[a>>2]=s;if((f[l>>2]|0)!=(i|0)){f[r>>2]=4;e=0;break}do if((n|0)==34){f[r>>2]=4;if((t|0)>0|(t|0)==0&e>>>0>0){e=2147483647;break e}}else{if((t|0)<-1|(t|0)==-1&e>>>0<2147483648){f[r>>2]=4;break}if((t|0)>0|(t|0)==0&e>>>0>2147483647){f[r>>2]=4;e=2147483647;break e}else break e}while(0)e=-2147483648}while(0)c=o;return e|0}function v_(){}function g_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=i-t-(r>>>0>e>>>0|0)>>>0;return(R=t,e-r>>>0|0)|0}function y_(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=e+r|0;if((r|0)>=20){i=i&255;s=e&3;l=i|i<<8|i<<16|i<<24;a=n&~3;if(s){s=e+4-s|0;while((e|0)<(s|0)){t[e>>0]=i;e=e+1|0}}while((e|0)<(a|0)){f[e>>2]=l;e=e+4|0}}while((e|0)<(n|0)){t[e>>0]=i;e=e+1|0}return e-r|0}function E_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=e+r>>>0;return(R=i+t+(r>>>0<e>>>0|0)>>>0,r|0)|0}function A_(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){R=i>>>r;return e>>>r|(i&(1<<r)-1)<<32-r}R=0;return i>>>r-32|0}function S_(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if((r|0)>=4096)return Qe(e|0,i|0,r|0)|0;n=e|0;if((e&3)==(i&3)){while(e&3){if(!r)return n|0;t[e>>0]=t[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}while((r|0)>=4){f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0;r=r-4|0}}while((r|0)>0){t[e>>0]=t[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}return n|0}function T_(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){R=i<<r|(e&(1<<r)-1<<32-r)>>>32-r;return e<<r}R=e<<r-32;return 0}function M_(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if((i|0)<(e|0)&(e|0)<(i+r|0)){n=e;i=i+r|0;e=e+r|0;while((r|0)>0){e=e-1|0;i=i-1|0;r=r-1|0;t[e>>0]=t[i>>0]|0}e=n}else S_(e,i,r)|0;return e|0}function C_(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){R=i>>r;return e>>>r|(i&(1<<r)-1)<<32-r}R=(i|0)<0?-1:0;return i>>r-32|0}function P_(e){e=e|0;var i=0;i=t[k+(e&255)>>0]|0;if((i|0)<8)return i|0;i=t[k+(e>>8&255)>>0]|0;if((i|0)<8)return i+8|0;i=t[k+(e>>16&255)>>0]|0;if((i|0)<8)return i+16|0;return(t[k+(e>>>24)>>0]|0)+24|0}function x_(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;f=e&65535;n=i&65535;r=re(n,f)|0;t=e>>>16;e=(r>>>16)+(re(n,t)|0)|0;n=i>>>16;i=re(n,f)|0;return(R=(e>>>16)+(re(n,t)|0)+(((e&65535)+i|0)>>>16)|0,e+i<<16|r&65535|0)|0}function D_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,s=0,l=0,o=0;o=i>>31|((i|0)<0?-1:0)<<1;l=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;s=g_(o^e,l^i,o,l)|0;a=R;e=f^o;i=n^l;return g_((B_(s,a,g_(f^r,n^t,f,n)|0,R,0)|0)^e,R^i,e,i)|0}function R_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;n=c;c=c+16|0;l=n|0;s=i>>31|((i|0)<0?-1:0)<<1;a=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;u=t>>31|((t|0)<0?-1:0)<<1;o=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=g_(s^e,a^i,s,a)|0;i=R;B_(e,i,g_(u^r,o^t,u,o)|0,R,l)|0;t=g_(f[l>>2]^s,f[l+4>>2]^a,s,a)|0;r=R;c=n;return(R=r,t)|0}function O_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=e;f=r;r=x_(n,f)|0;e=R;return(R=(re(i,f)|0)+(re(t,n)|0)+e|e&0,r|0|0)|0}function L_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return B_(e,i,r,t,0)|0}function I_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;a=c;c=c+16|0;n=a|0;B_(e,i,r,t,n)|0;c=a;return(R=f[n+4>>2]|0,f[n>>2]|0)|0}function B_(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;c=e;o=i;u=o;s=r;h=t;l=h;if(!u){a=(n|0)!=0;if(!l){if(a){f[n>>2]=(c>>>0)%(s>>>0);f[n+4>>2]=0}h=0;n=(c>>>0)/(s>>>0)>>>0;return(R=h,n)|0}else{if(!a){h=0;n=0;return(R=h,n)|0}f[n>>2]=e|0;f[n+4>>2]=i&0;h=0;n=0;return(R=h,n)|0}}a=(l|0)==0;do if(s){if(!a){a=(ne(l|0)|0)-(ne(u|0)|0)|0;if(a>>>0<=31){d=a+1|0;l=31-a|0;i=a-31>>31;s=d;e=c>>>(d>>>0)&i|u<<l;i=u>>>(d>>>0)&i;a=0;l=c<<l;break}if(!n){h=0;n=0;return(R=h,n)|0}f[n>>2]=e|0;f[n+4>>2]=o|i&0;h=0;n=0;return(R=h,n)|0}a=s-1|0;if(a&s){l=(ne(s|0)|0)+33-(ne(u|0)|0)|0;k=64-l|0;d=32-l|0;o=d>>31;b=l-32|0;i=b>>31;s=l;e=d-1>>31&u>>>(b>>>0)|(u<<d|c>>>(l>>>0))&i;i=i&u>>>(l>>>0);a=c<<k&o;l=(u<<k|c>>>(b>>>0))&o|c<<d&l-33>>31;break}if(n){f[n>>2]=a&c;f[n+4>>2]=0}if((s|0)==1){b=o|i&0;k=e|0|0;return(R=b,k)|0}else{k=P_(s|0)|0;b=u>>>(k>>>0)|0;k=u<<32-k|c>>>(k>>>0)|0;return(R=b,k)|0}}else{if(a){if(n){f[n>>2]=(u>>>0)%(s>>>0);f[n+4>>2]=0}b=0;k=(u>>>0)/(s>>>0)>>>0;return(R=b,k)|0}if(!c){if(n){f[n>>2]=0;f[n+4>>2]=(u>>>0)%(l>>>0)}b=0;k=(u>>>0)/(l>>>0)>>>0;return(R=b,k)|0}a=l-1|0;if(!(a&l)){if(n){f[n>>2]=e|0;f[n+4>>2]=a&u|i&0}b=0;k=u>>>((P_(l|0)|0)>>>0);return(R=b,k)|0}a=(ne(l|0)|0)-(ne(u|0)|0)|0;if(a>>>0<=30){i=a+1|0;l=31-a|0;s=i;e=u<<l|c>>>(i>>>0);i=u>>>(i>>>0);a=0;l=c<<l;break}if(!n){b=0;k=0;return(R=b,k)|0}f[n>>2]=e|0;f[n+4>>2]=o|i&0;b=0;k=0;return(R=b,k)|0}while(0)if(!s){u=l;o=0;l=0}else{d=r|0|0;c=h|t&0;u=E_(d|0,c|0,-1,-1)|0;r=R;o=l;l=0;do{t=o;o=a>>>31|o<<1;a=l|a<<1;t=e<<1|t>>>31|0;h=e>>>31|i<<1|0;g_(u,r,t,h)|0;k=R;b=k>>31|((k|0)<0?-1:0)<<1;l=b&1;e=g_(t,h,b&d,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&c)|0;i=R;s=s-1|0}while((s|0)!=0)u=o;o=0}s=0;if(n){f[n>>2]=e;f[n+4>>2]=i}b=(a|0)>>>31|(u|s)<<1|(s<<1|a>>>31)&0|o;k=(a<<1|0>>>31)&-2|l;return(R=b,k)|0}function N_(e,i,r,t,n,f,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;return rE[e&15](i|0,r|0,t|0,n|0,f|0,a|0,s|0)|0}function F_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;tE[e&15](i|0,r|0,t|0,n|0,f|0)}function j_(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=+a;return nE[e&3](i|0,r|0,t|0,n|0,f|0,+a)|0}function U_(e,i){e=e|0;i=i|0;fE[e&255](i|0)}function H_(e,i,r){e=e|0;i=i|0;r=r|0;aE[e&127](i|0,r|0)}function Y_(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return sE[e&63](i|0,r|0,t|0,n|0,f|0,a|0)|0}function q_(e,i){e=e|0;i=i|0;return lE[e&127](i|0)|0}function z_(e,i,r,t,n,f,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;return oE[e&3](i|0,r|0,t|0,n|0,f|0,a|0,s|0,l|0,o|0,u|0,c|0)|0}function X_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return uE[e&63](i|0,r|0,t|0)|0}function G_(e,i,r,t,n,f,a,s,l,o,u,c,d,h,b,k){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;d=d|0;h=h|0;b=b|0;k=k|0;cE[e&3](i|0,r|0,t|0,n|0,f|0,a|0,s|0,l|0,o|0,u|0,c|0,d|0,h|0,b|0,k|0)}function V_(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;dE[e&15](i|0,r|0,t|0,n|0,f|0,a|0)}function K_(e,i,r,t,n,f,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;hE[e&7](i|0,r|0,t|0,n|0,f|0,a|0,s|0)}function W_(e,i,r,t,n,f,a,s,l,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;bE[e&7](i|0,r|0,t|0,n|0,f|0,a|0,s|0,l|0,o|0,u|0)}function J_(e,i,r){e=e|0;i=i|0;r=r|0;return kE[e&63](i|0,r|0)|0}function Q_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return wE[e&31](i|0,r|0,t|0,n|0,f|0)|0}function Z_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return+mE[e&3](i|0,r|0,t|0)}function $_(e){e=e|0;return _E[e&15]()|0}function ep(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return pE[e&31](i|0,r|0,t|0,n|0)|0}function ip(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;vE[e&15](i|0,r|0,t|0)}function rp(e){e=e|0;gE[e&7]()}function tp(e,i,r,t,n,f,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;return yE[e&15](i|0,r|0,t|0,n|0,f|0,a|0,s|0,l|0)|0}function np(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;return EE[e&7](i|0,r|0,t|0,n|0,+f)|0}function fp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;AE[e&63](i|0,r|0,t|0,n|0)}function ap(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;fe(0);return 0}function sp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;fe(1)}function lp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;fe(2);return 0}function op(e){e=e|0;fe(3)}function up(e,i){e=e|0;i=i|0;fe(4)}function cp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;fe(5);return 0}function dp(e){e=e|0;fe(6);return 0}function hp(e){e=e|0;return fi(e|0)|0}function bp(e){e=e|0;return vi(e|0)|0}function kp(e){e=e|0;return ui(e|0)|0}function wp(e,i,r,t,n,f,a,s,l,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;fe(7);return 0}function mp(e,i,r){e=e|0;i=i|0;r=r|0;fe(8);return 0}function _p(e,i,r,t,n,f,a,s,l,o,u,c,d,h,b){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;d=d|0;h=h|0;b=b|0;fe(9)}function pp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;fe(10)}function vp(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;fe(11)}function gp(e,i,r,t,n,f,a,s,l,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;fe(12)}function yp(e,i){e=e|0;i=i|0;fe(13);return 0}function Ep(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;fe(14);return 0}function Ap(e,i,r){e=e|0;i=i|0;r=r|0;fe(15);return 0}function Sp(){fe(16);return 0}function Tp(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;fe(17);return 0}function Mp(e,i,r){e=e|0;i=i|0;r=r|0;fe(18)}function Cp(e,i,r){e=e|0;i=i|0;r=r|0;bi(e|0,i|0,r|0)}function Pp(){fe(19)}function xp(){_i()}function Dp(){Ze()}function Rp(){ki()}function Op(e,i,r,t,n,f,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;fe(20);return 0}function Lp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;fe(21);return 0}function Ip(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;fe(22)}function Bp(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+32|0;o=d;ov(o,255,0);u=e+152|0;if(((f[o+4>>2]|0)==(f[u>>2]|0)?(f[o+8>>2]|0)==(f[e+156>>2]|0):0)?(f[o+12>>2]|0)==(f[e+160>>2]|0):0){u=f[8900]|0;f[e+4580>>2]=u+(((f[8901]|0)-u|0)>>>1);c=d;return}r=e+4584|0;n=e+4588|0;a=f[n>>2]|0;i=f[r>>2]|0;s=a-i|0;if(s>>>0>=512){if(s>>>0>512?(l=i+512|0,(a|0)!=(l|0)):0)f[n>>2]=l}else{Yt(r,512-s|0);i=f[r>>2]|0}o=e+4580|0;f[o>>2]=i+256;l=e+160|0;a=e+156|0;s=-256;while(1){i=f[l>>2]|0;if((s|0)>(0-i|0)){r=f[a>>2]|0;if((s|0)>(0-r|0)){n=f[u>>2]|0;if((s|0)>(0-n|0))if((s|0)>=0){if((s|0)<1){t[(f[o>>2]|0)+s>>0]=0;s=1;continue}if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;t[(f[o>>2]|0)+s>>0]=i;s=s+1|0;if((s|0)==256)break}c=d;return}function Np(e){e=e|0;var i=0,r=0;f[e>>2]=35660;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}e=e+88|0;i=f[e>>2]|0;f[e>>2]=0;if(!i)return;fE[f[(f[i>>2]|0)+4>>2]&255](i);return}function Fp(e){e=e|0;var i=0,r=0;f[e>>2]=35660;i=f[e+4608>>2]|0;if(i){r=e+4612|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}f[e>>2]=36736;i=f[e+92>>2]|0;if(i){r=e+96|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i)}r=e+88|0;i=f[r>>2]|0;f[r>>2]=0;if(!i){Iv(e);return}fE[f[(f[i>>2]|0)+4>>2]&255](i);Iv(e);return}function jp(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;y=c;c=c+352|0;E=y+328|0;A=y+192|0;r=y+343|0;n=y+342|0;a=y+341|0;s=y+340|0;k=y+176|0;o=y+168|0;u=y+160|0;d=y+152|0;g=y;p=y+136|0;if((f[e+28>>2]|0)!=0?(f[e+20>>2]|0)!=1:0){_=e+4|0;v=e+32|0;l=f[v>>2]|0;if(!l){e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[r>>0]|0;Pe(44,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}e=f[e+12>>2]|0;if((e|0)==8)switch(l|0){case 1:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[n>>0]|0;Pe(45,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[a>>0]|0;Pe(46,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(48)|0;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];t[E>>0]=t[s>>0]|0;Pe(47,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=A+56|0;a=A+4|0;f[A>>2]=36160;f[l>>2]=36180;m=0;ce(62,A+56|0,a|0);y=m;m=0;if(y&1){S=Ye()|0;nh(l);$e(S|0)}f[A+128>>2]=0;f[A+132>>2]=-1;f[A>>2]=36200;f[A+56>>2]=36220;m=0;ue(180,a|0);y=m;m=0;do if(y&1)e=Ye()|0;else{f[a>>2]=36236;s=A+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[A+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);y=m;m=0;if(y&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,A|0,49007,21)|0;E=m;m=0;do if((!(E&1)?(m=0,h=ve(36,e|0,f[v>>2]|0)|0,E=m,m=0,!(E&1)):0)?(m=0,ke(28,h|0,50997,18)|0,E=m,m=0,!(E&1)):0){n=He(16)|0;m=0;ce(64,k|0,a|0);E=m;m=0;if(!(E&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,k|0);E=m;m=0;if(E&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(k);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=34;while(0)if((S|0)==34)e=Ye()|0;f[A>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}if((e|0)<=8){e=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,e|0,8,35648);S=m;m=0;if(!(S&1))bi(e|0,824,96);S=Ye()|0;Ue(e|0);$e(S|0)}r=16-e|0;switch(l|0){case 1:{e=Lv(60)|0;f[o>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[o>>2];f[E+4>>2]=f[o+4>>2];Pe(41,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 2:{e=Lv(60)|0;f[u>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];Pe(42,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}case 3:{e=Lv(60)|0;f[d>>2]=r;m=0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];Pe(43,e|0,A|0,_|0,E|0);S=m;m=0;if(!(S&1)){S=e;c=y;return S|0}S=Ye()|0;Iv(e);$e(S|0)}default:{l=g+56|0;a=g+4|0;f[g>>2]=36160;f[l>>2]=36180;m=0;ce(62,g+56|0,a|0);A=m;m=0;if(A&1){S=Ye()|0;nh(l);$e(S|0)}f[g+128>>2]=0;f[g+132>>2]=-1;f[g>>2]=36200;f[g+56>>2]=36220;m=0;ue(180,a|0);A=m;m=0;do if(A&1)e=Ye()|0;else{f[a>>2]=36236;s=g+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[g+52>>2]=16;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=0;ce(63,a|0,E|0);A=m;m=0;if(A&1){e=Ye()|0;Od(E);Od(s);ch(a);break}Od(E);m=0;e=ke(28,g|0,49007,21)|0;A=m;m=0;do if((!(A&1)?(m=0,b=ve(36,e|0,f[v>>2]|0)|0,A=m,m=0,!(A&1)):0)?(m=0,ke(28,b|0,50997,18)|0,A=m,m=0,!(A&1)):0){n=He(16)|0;m=0;ce(64,p|0,a|0);A=m;m=0;if(!(A&1)){if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Pe(36,n|0,9,35648,p|0);A=m;m=0;if(A&1)r=1;else{m=0;Se(6,n|0,824,96);m=0;r=0}e=Ye()|0;Od(p);if(!r)break}else e=Ye()|0;Ue(n|0)}else S=64;while(0)if((S|0)==64)e=Ye()|0;f[g>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(l);S=e;$e(S|0)}while(0)S=e;nh(l);$e(S|0)}}}r=f[i+4>>2]|0;n=Lv(16)|0;e=f[e+16>>2]|0;if(!r){S=f[i>>2]|0;f[n>>2]=36132;f[n+4>>2]=S;f[n+8>>2]=1;f[n+12>>2]=e;S=n;c=y;return S|0}else{f[n>>2]=36108;f[n+4>>2]=r;f[n+8>>2]=1;f[n+12>>2]=e;S=n;c=y;return S|0}return 0}function Up(e,i){e=e|0;i=i|0;var r=0,a=0,s=0,l=0,o=0,u=0,d=0;o=c;c=c+32|0;d=o;ov(d,f[e+128>>2]|0,f[e+136>>2]|0);u=f[i+4>>2]|0;l=f[i+8>>2]|0;l=(l|0)==0?f[d+8>>2]|0:l;s=f[i+12>>2]|0;s=(s|0)==0?f[d+12>>2]|0:s;r=f[i+16>>2]|0;a=f[d+16>>2]|0;f[e+176>>2]=(u|0)==0?f[d+4>>2]|0:u;f[e+180>>2]=l;f[e+184>>2]=s;Kp(e);s=e+132|0;i=(f[s>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;l=0;do{f[e+188+(l*12|0)>>2]=i;f[e+188+(l*12|0)+4>>2]=0;n[e+188+(l*12|0)+8>>1]=0;n[e+188+(l*12|0)+10>>1]=1;l=l+1|0}while((l|0)!=365)u=(f[s>>2]|0)+32|0;u=(u|0)<128?2:(u|0)/64|0;d=((r|0)==0?a:r)&255;f[e+4568>>2]=u;f[e+4572>>2]=0;t[e+4576>>0]=d;t[e+4577>>0]=1;t[e+4578>>0]=0;f[e+4580>>2]=u;f[e+4584>>2]=1;t[e+4588>>0]=d;t[e+4589>>0]=1;t[e+4590>>0]=0;f[e+4592>>2]=0;c=o;return}function Hp(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;l=e+88|0;s=f[i>>2]|0;f[i>>2]=0;i=f[l>>2]|0;f[l>>2]=s;if(i)fE[f[(f[i>>2]|0)+4>>2]&255](i);l=n+4|0;s=f[l>>2]|0;t[e+4620>>0]=a&1;i=e+156|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];Ct(e,n);Yp(e);i=f[e+116>>2]|0;e=f[e+112>>2]|0;while(1){a=i+-1|0;r=(t[a>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=a;e=e-r|0}}i=i-s|0;a=f[l>>2]|0;if(!a)return;f[l>>2]=a+i;n=n+8|0;f[n>>2]=(f[n>>2]|0)-i;return}function Yp(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;T=c;c=c+32|0;C=T+12|0;S=T;o=e+172|0;A=(f[o>>2]|0)+4|0;if((f[e+28>>2]|0)==1)u=f[e+20>>2]|0;else u=1;i=re(u<<1,A)|0;f[C>>2]=0;P=C+4|0;f[P>>2]=0;f[C+8>>2]=0;e:do if(i){if(!((i|0)<0?(m=0,ue(178,C|0),M=m,m=0,M&1):0))E=6;if((E|0)==6?(m=0,r=he(67,i|0)|0,M=m,m=0,!(M&1)):0){f[P>>2]=r;f[C>>2]=r;f[C+8>>2]=r+i;while(1){t[r>>0]=0;r=(f[P>>2]|0)+1|0;f[P>>2]=r;i=i+-1|0;if(!i)break e}}r=Ye()|0;i=f[C>>2]|0;if(!i)$e(r|0);if((f[P>>2]|0)!=(i|0))f[P>>2]=i;Iv(i);$e(r|0)}while(0)f[S>>2]=0;M=S+4|0;f[M>>2]=0;f[S+8>>2]=0;do if(!u)E=19;else{if(!(u>>>0>1073741823?(m=0,ue(178,S|0),y=m,m=0,y&1):0))E=17;if((E|0)==17?(n=u<<2,m=0,a=he(67,n|0)|0,y=m,m=0,!(y&1)):0){f[S>>2]=a;E=a+(u<<2)|0;f[S+8>>2]=E;y_(a|0,0,n|0)|0;f[M>>2]=E;E=19;break}r=Ye()|0;i=f[S>>2]|0;n=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-n|0)>>>2)<<2);Iv(i)}}while(0)if((E|0)==19){d=e+8|0;i=f[d>>2]|0;e:do if((i|0)>0){h=e+4596|0;b=re(u,A)|0;k=b+1|0;w=e+4600|0;_=e+160|0;p=e+168|0;v=e+164|0;g=e+156|0;y=e+88|0;l=e+4592|0;if((u|0)>0)s=0;else{s=0;while(1){a=f[C>>2]|0;r=a+1|0;f[h>>2]=r;n=a+k|0;f[w>>2]=n;if(!(s&1))r=k;else{f[h>>2]=n;f[w>>2]=r;r=1}u=f[_>>2]|0;if((u|0)<=(s|0)?(s|0)<((f[p>>2]|0)+u|0):0){u=f[y>>2]|0;m=0;Pe(f[(f[u>>2]|0)+8>>2]|0,u|0,a+(r+((f[g>>2]|0)-b))|0,f[v>>2]|0,A|0);u=m;m=0;if(u&1)break;i=f[d>>2]|0}s=s+1|0;if((s|0)>=(i|0)){E=50;break e}}r=Ye()|0;break}i:while(1){r=f[C>>2]|0;i=r+1|0;f[h>>2]=i;r=r+k|0;f[w>>2]=r;if(s&1){f[h>>2]=r;f[w>>2]=i;i=r}a=f[S>>2]|0;r=i;n=0;do{f[l>>2]=f[a+(n<<2)>>2];E=f[o>>2]|0;t[r+E>>0]=t[r+(E+-1)>>0]|0;t[(f[w>>2]|0)+-1>>0]=t[f[h>>2]>>0]|0;m=0;ce(83,e|0,0);E=m;m=0;if(E&1){E=38;break i}a=f[S>>2]|0;f[a+(n<<2)>>2]=f[l>>2];r=(f[h>>2]|0)+A|0;f[h>>2]=r;i=f[w>>2]|0;f[w>>2]=i+A;n=n+1|0}while((n|0)<(u|0))E=f[_>>2]|0;if(((E|0)<=(s|0)?(s|0)<((f[p>>2]|0)+E|0):0)?(E=f[y>>2]|0,m=0,Pe(f[(f[E>>2]|0)+8>>2]|0,E|0,i+(A+((f[g>>2]|0)-b))|0,f[v>>2]|0,A|0),E=m,m=0,E&1):0){E=30;break}s=s+1|0;if((s|0)>=(f[d>>2]|0)){E=50;break e}}if((E|0)==30){r=Ye()|0;break}else if((E|0)==38){r=Ye()|0;break}}else E=50;while(0)do if((E|0)==50){m=0;ue(183,e|0);e=m;m=0;if(e&1){r=Ye()|0;break}i=f[S>>2]|0;r=i;if(i){n=f[M>>2]|0;if((n|0)!=(i|0))f[M>>2]=n+(~((n+-4-r|0)>>>2)<<2);Iv(i)}i=f[C>>2]|0;if(!i){c=T;return}if((f[P>>2]|0)!=(i|0))f[P>>2]=i;Iv(i);c=T;return}while(0)i=f[S>>2]|0;n=i;if(i){a=f[M>>2]|0;if((a|0)!=(i|0))f[M>>2]=a+(~((a+-4-n|0)>>>2)<<2);Iv(i)}}i=f[C>>2]|0;if(!i)$e(r|0);if((f[P>>2]|0)!=(i|0))f[P>>2]=i;Iv(i);$e(r|0)}function qp(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0;k=e+4596|0;r=f[k>>2]|0;p=e+172|0;i=f[p>>2]|0;if((i|0)<=0)return;w=e+4600|0;m=e+4604|0;_=e+4592|0;u=r;l=a[r+-1>>0]|0;r=a[r>>0]|0;b=0;while(1){d=f[w>>2]|0;o=t[d+(b+-1)>>0]|0;h=o&255;s=b+1|0;n=a[u+s>>0]|0;c=f[m>>2]|0;u=r-l|0;l=l-h|0;c=((((t[c+(n-r)>>0]|0)*9|0)+(t[c+u>>0]|0)|0)*9|0)+(t[c+l>>0]|0)|0;d=d+b|0;if(!c){i=Xp(e,o,d,i-b|0)|0;r=i+b|0;if((r|0)!=(f[p>>2]|0)){h=Gp(e,h,a[(f[k>>2]|0)+r>>0]|0)|0;t[(f[w>>2]|0)+r>>0]=h;h=f[_>>2]|0;f[_>>2]=(h|0)<1?0:h+-1|0;i=i+1|0}s=i+b|0;n=f[k>>2]|0;r=a[n+(s+-1)>>0]|0;n=a[n+s>>0]|0}else{i=r-h>>31;if((i^l|0)<0)i=r;else i=h+((i^u|0)<0?0:u)|0;h=zp(e,c,a[d>>0]|0,i,0)|0;t[(f[w>>2]|0)+b>>0]=h}i=f[p>>2]|0;if((i|0)<=(s|0))break;u=f[k>>2]|0;l=r;r=n;b=s}return}function zp(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,_=0,p=0;p=i>>31;c=(p^i)-p|0;k=e+188+(c*12|0)+10|0;r=n[k>>1]|0;b=e+188+(c*12|0)|0;s=f[b>>2]|0;if((r|0)<(s|0))if((r<<1|0)<(s|0))if((r<<2|0)<(s|0))if((r<<3|0)<(s|0))if((r<<4|0)<(s|0)){i=5;while(1)if((r<<i|0)<(s|0))i=i+1|0;else break}else i=4;else i=3;else i=2;else i=1;else i=0;h=e+188+(c*12|0)+8|0;r=(n[h>>1]^p)-p+a|0;_=e+128|0;s=f[_>>2]|0;if((r&s|0)==(r|0))d=r;else d=s&~(r>>31);r=e+112|0;if((f[r>>2]|0)<8)Ut(e);s=e+108|0;a=f[s>>2]|0;l=a>>>24;o=f[2832+(i<<11)+(l<<3)+4>>2]|0;if(!o){u=f[e+148>>2]|0;s=f[e+140>>2]|0;r=wa(e)|0;if((r|0)<(u+-1-s|0)){if(i)r=(ma(e,i)|0)+(r<<i)|0}else r=(ma(e,s)|0)+1|0;r=r<<31>>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,r|0,5,35648);e=m;m=0;if(e&1){e=Ye()|0;Ue(r|0);$e(e|0)}else bi(r|0,824,96)}}else{f[r>>2]=(f[r>>2]|0)-o;f[s>>2]=a<<o;r=f[2832+(i<<11)+(l<<3)>>2]|0}u=e+136|0;a=f[u>>2]|0;if(!i){if(!a)s=(f[e+188+(c*12|0)+4>>2]<<1)+-1+(n[k>>1]|0)>>31;else s=0;o=s^r}else o=r;i=f[e+152>>2]|0;s=(f[b>>2]|0)+((o|0)>-1?o:0-o|0)|0;l=e+188+(c*12|0)+4|0;r=(f[l>>2]|0)+(re(a<<1|1,o)|0)|0;a=n[k>>1]|0;if((a|0)==(i|0)){s=s>>1;r=r>>1;a=i>>1}f[b>>2]=s;i=a+1|0;n[k>>1]=i;s=i+r|0;if((s|0)>=1){if((r|0)>0){r=r-i|0;k=n[h>>1]|0;n[h>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=n[h>>1]|0;n[h>>1]=(r&65535)-(r<<16>>16>-128&1);r=(s|0)>(~a|0)?s:0-a|0}f[l>>2]=r;i=f[u>>2]|0;a=i<<1|1;s=(re(a,(o^p)-p|0)|0)+d|0;if((s|0)>=(0-i|0)){r=f[_>>2]|0;if((r+i|0)<(s|0))s=s-(re(f[e+132>>2]|0,a)|0)|0}else{s=(re(f[e+132>>2]|0,a)|0)+s|0;r=f[_>>2]|0}if((s&r|0)==(s|0)){e=s;e=e&255;return e|0}e=r&~(s>>31);e=e&255;return e|0}function Xp(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0;o=e+112|0;u=e+108|0;c=e+4592|0;a=f[o>>2]|0;s=0;while(1){if((a|0)<1){Ut(e);a=f[o>>2]|0}l=f[u>>2]|0;a=a+-1|0;f[o>>2]=a;f[u>>2]=l<<1;if((l|0)>=0){d=8;break}l=f[c>>2]|0;h=1<<f[36476+(l<<2)>>2];b=n-s|0;b=(h|0)<(b|0)?h:b;s=b+s|0;if((b|0)==(h|0))f[c>>2]=(l|0)>30?31:l+1|0;if((s|0)==(n|0)){a=n;break}}if((d|0)==8)if((s|0)!=(n|0)){a=f[c>>2]|0;if((a+-4|0)>>>0<28)a=ma(e,f[36476+(a<<2)>>2]|0)|0;else a=0;a=a+s|0;if((a|0)>(n|0)){a=He(16)|0;if((t[8]|0)==0?(Be(8)|0)!=0:0){hi(72,35648,w|0)|0;ze(8)}m=0;Se(7,a|0,5,35648);b=m;m=0;if(b&1){b=Ye()|0;Ue(a|0);$e(b|0)}else bi(a|0,824,96)}}else a=n;if((a|0)<=0)return a|0;y_(r|0,i|0,a|0)|0;return a|0}function Gp(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;a=i-r|0;s=e+128|0;t=e+136|0;if((((a|0)>-1?a:0-a|0)|0)>(f[t>>2]|0)){i=re(Vp(e,e+4568|0)|0,r-i>>31|1)|0;n=f[t>>2]|0;a=n<<1|1;i=(re(i,a)|0)+r|0;if((i|0)>=(0-n|0)){t=f[s>>2]|0;if((t+n|0)<(i|0))i=i-(re(f[e+132>>2]|0,a)|0)|0}else{i=(re(f[e+132>>2]|0,a)|0)+i|0;t=f[s>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&255;return e|0}e=t&~(i>>31);e=e&255;return e|0}else{r=Vp(e,e+4580|0)|0;a=f[t>>2]|0;n=a<<1|1;i=(re(n,r)|0)+i|0;if((i|0)>=(0-a|0)){t=f[s>>2]|0;if((t+a|0)<(i|0))i=i-(re(f[e+132>>2]|0,n)|0)|0}else{i=(re(f[e+132>>2]|0,n)|0)+i|0;t=f[s>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&255;return e|0}e=t&~(i>>31);e=e&255;return e|0}return 0}function Vp(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0;d=i+9|0;r=a[d>>0]|0;l=i+4|0;s=(re(r>>>1,f[l>>2]|0)|0)+(f[i>>2]|0)|0;if((r|0)<(s|0)){n=0;do{r=r<<1;n=n+1|0}while((r|0)<(s|0))}else n=0;o=f[e+148>>2]|0;u=f[36476+(f[e+4592>>2]<<2)>>2]|0;r=f[e+140>>2]|0;s=wa(e)|0;do if((s|0)<(o+-2-u-r|0))if(!n){n=f[l>>2]|0;e=n+s|0;r=e&1;e=(r+e|0)/2|0;c=8;break}else{u=(ma(e,n)|0)+(s<<n)|0;n=f[l>>2]|0;s=u+n|0;o=s&1;r=o;l=1;s=(o+s|0)/2|0;break}else{s=(ma(e,r)|0)+1|0;o=f[l>>2]|0;e=s+o|0;r=e&1;e=(r+e|0)/2|0;if(!n){n=o;c=8}else{u=s;l=1;s=e;n=o}}while(0)if((c|0)==8){u=s;l=a[i+10>>0]<<1>>>0>=(a[d>>0]|0)>>>0;s=e}s=(r|0)!=0^l?s:0-s|0;if((s|0)<0){c=i+10|0;t[c>>0]=(a[c>>0]|0)+1}r=(u+1-n>>1)+(f[i>>2]|0)|0;f[i>>2]=r;n=t[d>>0]|0;if(n<<24>>24!=(t[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return s|0}f[i>>2]=r>>1;c=(n&255)>>>1;t[d>>0]=c;i=i+10|0;t[i>>0]=(a[i>>0]|0)>>>1;i=c;i=i&255;i=i+1|0;i=i&255;t[d>>0]=i;return s|0}function Kp(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0;k=c;c=c+32|0;n=k;b=e+136|0;e:do if(!(f[b>>2]|0)){r=f[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<<f[i>>2])+-1|0)?(ov(n,r,0),(f[n+4>>2]|0)==(f[e+176>>2]|0)):0)?(f[n+8>>2]|0)==(f[e+180>>2]|0):0)?(f[n+12>>2]|0)==(f[e+184>>2]|0):0)switch(f[i>>2]|0){case 8:{b=f[8900]|0;f[e+4604>>2]=b+(((f[8901]|0)-b|0)>>>1);c=k;return}case 10:{b=f[8903]|0;f[e+4604>>2]=b+(((f[8904]|0)-b|0)>>>1);c=k;return}case 12:{b=f[8906]|0;f[e+4604>>2]=b+(((f[8907]|0)-b|0)>>>1);c=k;return}case 16:{b=f[8909]|0;f[e+4604>>2]=b+(((f[8910]|0)-b|0)>>>1);c=k;return}default:break e}}else i=e+144|0;while(0)h=1<<f[i>>2];r=e+4608|0;n=h<<1;a=e+4612|0;s=f[a>>2]|0;i=f[r>>2]|0;l=s-i|0;if(n>>>0<=l>>>0){if(n>>>0<l>>>0?(o=i+n|0,(s|0)!=(o|0)):0)f[a>>2]=o}else{Yt(r,n-l|0);i=f[r>>2]|0}d=e+4604|0;f[d>>2]=i+h;i=0-h|0;if((h|0)<=(i|0)){c=k;return}o=e+184|0;u=e+180|0;l=e+176|0;s=i;do{i=f[o>>2]|0;if((s|0)>(0-i|0)){r=f[u>>2]|0;if((s|0)>(0-r|0)){n=f[l>>2]|0;if((s|0)>(0-n|0)){a=f[b>>2]|0;if((s|0)>=(0-a|0))if((a|0)<(s|0))if((n|0)<=(s|0))if((r|0)>(s|0))i=2;else i=(i|0)>(s|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;t[(f[d>>2]|0)+s>>0]=i;s=s+1|0}while((s|0)!=(h|0))c=k;return}function Wp(e){e=e|0;Iv(e);return}function Jp(e){e=e|0;return 50767}function Qp(e,i,r){e=e|0;i=i|0;r=r|0;Dd(e,50754,12);return}function Zp(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0;_=c;c=c+16|0;p=_;f[p>>2]=0;v=p+4|0;f[v>>2]=0;f[p+8>>2]=0;k=p+8|0;m=0;a=he(67,1)|0;b=m;m=0;e:do if((!(b&1)?(b=a+1|0,t[a>>0]=r,f[p>>2]=a,f[v>>2]=b,f[k>>2]=b,m=0,ce(84,p|0,i&65535|0),b=m,m=0,!(b&1)):0)?(m=0,ce(84,p|0,e&65535|0),b=m,m=0,!(b&1)):0){d=n&255;a=f[v>>2]|0;r=f[k>>2]|0;if(a>>>0>=r>>>0){i=f[p>>2]|0;e=i;l=a-e+1|0;if((l|0)<0){m=0;ue(178,p|0);b=m;m=0;if(b&1){w=52;break}e=f[p>>2]|0;r=f[k>>2]|0;i=e}u=i;a=r-u|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0<l>>>0?l:a;r=f[v>>2]|0;o=r-u|0;if(!a){a=0;l=0}else w=12}else{o=f[v>>2]|0;a=2147483647;r=o;o=o-u|0;w=12}if((w|0)==12){m=0;l=he(67,a|0)|0;b=m;m=0;if(b&1){w=52;break}}t[l+o>>0]=d;h=r-u|0;b=l+(o-h)|0;S_(b|0,i|0,h|0)|0;f[p>>2]=b;f[v>>2]=l+(o+1);f[k>>2]=l+a;if(e)Iv(e)}else{t[a>>0]=d;f[v>>2]=(f[v>>2]|0)+1}i:do if((n|0)>0){b=0;while(1){b=b+1|0;h=b&255;a=f[v>>2]|0;i=f[k>>2]|0;if(a>>>0>=i>>>0){e=f[p>>2]|0;r=e;l=a-r+1|0;if((l|0)<0){m=0;ue(178,p|0);d=m;m=0;if(d&1)break;e=f[p>>2]|0;r=e;i=f[k>>2]|0}d=e;a=i-d|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0<l>>>0?l:a;i=f[v>>2]|0;o=i-d|0;if(!a){u=0;l=0}else w=25}else{o=f[v>>2]|0;a=2147483647;i=o;o=o-d|0;w=25}if((w|0)==25){w=0;m=0;l=he(67,a|0)|0;u=m;m=0;if(u&1)break;else u=a}t[l+o>>0]=h;a=l+(o+1)|0;d=i-d|0;h=l+(o-d)|0;S_(h|0,e|0,d|0)|0;f[p>>2]=h;f[v>>2]=a;f[k>>2]=l+u;if(r){Iv(r);a=f[v>>2]|0}}else{t[a>>0]=h;a=(f[v>>2]|0)+1|0;f[v>>2]=a}r=f[k>>2]|0;if(a>>>0>=r>>>0){i=f[p>>2]|0;e=i;l=a-e+1|0;if((l|0)<0){m=0;ue(178,p|0);h=m;m=0;if(h&1)break;e=f[p>>2]|0;r=f[k>>2]|0;i=e}d=i;a=r-d|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0<l>>>0?l:a;l=f[v>>2]|0;o=l-d|0;if(!a){u=0;r=0}else w=36}else{o=f[v>>2]|0;a=2147483647;l=o;o=o-d|0;w=36}if((w|0)==36){w=0;m=0;r=he(67,a|0)|0;h=m;m=0;if(h&1)break;else u=a}t[r+o>>0]=17;a=r+(o+1)|0;d=l-d|0;h=r+(o-d)|0;S_(h|0,i|0,d|0)|0;f[p>>2]=h;f[v>>2]=a;f[k>>2]=r+u;if(e){Iv(e);a=f[v>>2]|0}}else{t[a>>0]=17;a=(f[v>>2]|0)+1|0;f[v>>2]=a}r=f[k>>2]|0;if(a>>>0>=r>>>0){i=f[p>>2]|0;e=i;l=a-e+1|0;if((l|0)<0){m=0;ue(178,p|0);h=m;m=0;if(h&1)break;e=f[p>>2]|0;r=f[k>>2]|0;i=e}u=i;a=r-u|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0<l>>>0?l:a;r=f[v>>2]|0;o=r-u|0;if(!a){a=0;l=0}else w=48}else{o=f[v>>2]|0;a=2147483647;r=o;o=o-u|0;w=48}if((w|0)==48){w=0;m=0;l=he(67,a|0)|0;h=m;m=0;if(h&1)break}t[l+o>>0]=0;d=r-u|0;h=l+(o-d)|0;S_(h|0,i|0,d|0)|0;f[p>>2]=h;f[v>>2]=l+(o+1);f[k>>2]=l+a;if(e)Iv(e)}else{t[a>>0]=0;f[v>>2]=(f[v>>2]|0)+1}if((b|0)>=(n|0))break i}s=Ye()|0;break e}while(0)m=0;o=he(67,20)|0;n=m;m=0;if(!(n&1)){f[o>>2]=36800;t[o+4>>0]=-9;e=o+8|0;f[e>>2]=0;l=o+12|0;f[l>>2]=0;r=o+16|0;f[r>>2]=0;a=f[v>>2]|0;n=f[p>>2]|0;i=a-n|0;do if((a|0)!=(n|0)){if(!((i|0)<0?(m=0,ue(178,e|0),n=m,m=0,n&1):0))w=62;if((w|0)==62?(m=0,s=he(67,i|0)|0,n=m,m=0,!(n&1)):0){f[l>>2]=s;f[e>>2]=s;f[r>>2]=s+i;a=f[p>>2]|0;r=f[v>>2]|0;if((a|0)==(r|0))break;do{t[s>>0]=t[a>>0]|0;s=(f[l>>2]|0)+1|0;f[l>>2]=s;a=a+1|0}while((a|0)!=(r|0))a=f[p>>2]|0;break}s=Ye()|0;a=f[e>>2]|0;if(a){if((f[l>>2]|0)!=(a|0))f[l>>2]=a;Iv(a)}Iv(o);break e}while(0)if(!a){c=_;return o|0}if((f[v>>2]|0)!=(a|0))f[v>>2]=a;Iv(a);c=_;return o|0}else w=52}else w=52;while(0)if((w|0)==52)s=Ye()|0;a=f[p>>2]|0;if(!a)$e(s|0);if((f[v>>2]|0)!=(a|0))f[v>>2]=a;Iv(a);$e(s|0);return 0}function $p(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0;v=c;c=c+32|0;w=v+28|0;y=v+16|0;p=v+4|0;_=v;f[y>>2]=0;E=y+4|0;f[E>>2]=0;f[y+8>>2]=0;b=Lv(5)|0;f[y>>2]=b;k=y+8|0;f[k>>2]=b+5;t[b>>0]=74;t[b+1>>0]=70;t[b+2>>0]=73;t[b+3>>0]=70;t[b+4>>0]=0;f[E>>2]=b+5;m=0;ce(84,y|0,f[e>>2]&65535|0);b=m;m=0;e:do if(!(b&1)){d=f[e+4>>2]&255;i=f[E>>2]|0;n=f[k>>2]|0;if(i>>>0>=n>>>0){a=f[y>>2]|0;s=a;l=i-s+1|0;if((l|0)<0){m=0;ue(178,y|0);b=m;m=0;if(b&1){g=43;break}s=f[y>>2]|0;n=f[k>>2]|0;a=s}u=a;i=n-u|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0<l>>>0?l:i;n=f[E>>2]|0;o=n-u|0;if(!i){i=0;l=0}else g=10}else{o=f[E>>2]|0;i=2147483647;n=o;o=o-u|0;g=10}if((g|0)==10){m=0;l=he(67,i|0)|0;b=m;m=0;if(b&1){g=43;break}}t[l+o>>0]=d;h=n-u|0;b=l+(o-h)|0;S_(b|0,a|0,h|0)|0;f[y>>2]=b;f[E>>2]=l+(o+1);f[k>>2]=l+i;if(s)Iv(s)}else{t[i>>0]=d;f[E>>2]=(f[E>>2]|0)+1}m=0;ce(84,y|0,f[e+8>>2]&65535|0);b=m;m=0;if(!(b&1)?(m=0,ce(84,y|0,f[e+12>>2]&65535|0),b=m,m=0,!(b&1)):0){b=e+16|0;h=f[b>>2]&255;i=f[E>>2]|0;a=f[k>>2]|0;if(i>>>0>=a>>>0){s=f[y>>2]|0;n=s;l=i-n+1|0;if((l|0)<0){m=0;ue(178,y|0);d=m;m=0;if(d&1){g=43;break}s=f[y>>2]|0;n=s;a=f[k>>2]|0}d=s;i=a-d|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0<l>>>0?l:i;l=f[E>>2]|0;o=l-d|0;if(!i){u=0;a=0}else g=23}else{o=f[E>>2]|0;i=2147483647;l=o;o=o-d|0;g=23}if((g|0)==23){m=0;a=he(67,i|0)|0;u=m;m=0;if(u&1){g=43;break}else u=i}t[a+o>>0]=h;i=a+(o+1)|0;d=l-d|0;h=a+(o-d)|0;S_(h|0,s|0,d|0)|0;f[y>>2]=h;f[E>>2]=i;f[k>>2]=a+u;if(n){Iv(n);i=f[E>>2]|0}}else{t[i>>0]=h;i=(f[E>>2]|0)+1|0;f[E>>2]=i}h=e+20|0;d=f[h>>2]&255;n=f[k>>2]|0;if(i>>>0>=n>>>0){a=f[y>>2]|0;s=a;l=i-s+1|0;if((l|0)<0){m=0;ue(178,y|0);u=m;m=0;if(u&1){g=43;break}s=f[y>>2]|0;n=f[k>>2]|0
29
+ ;a=s}u=a;i=n-u|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0<l>>>0?l:i;n=f[E>>2]|0;o=n-u|0;if(!i){i=0;l=0}else g=34}else{o=f[E>>2]|0;i=2147483647;n=o;o=o-u|0;g=34}if((g|0)==34){m=0;l=he(67,i|0)|0;A=m;m=0;if(A&1){g=43;break}}t[l+o>>0]=d;d=n-u|0;A=l+(o-d)|0;S_(A|0,a|0,d|0)|0;f[y>>2]=A;f[E>>2]=l+(o+1);f[k>>2]=l+i;if(s)Iv(s)}else{t[i>>0]=d;f[E>>2]=(f[E>>2]|0)+1}i=f[b>>2]|0;do if((i|0)>0){if(!(f[e+24>>2]|0)){f[_>>2]=f[E>>2];A=0+(re(i*3|0,f[h>>2]|0)|0)|0;m=0;f[w>>2]=f[_>>2];Ae(15,y|0,w|0,0,A|0)|0;A=m;m=0;if(A&1){g=43;break e}else break}n=He(16)|0;m=0;Se(5,p|0,50792,57);A=m;m=0;if(!(A&1)){m=0;i=Ee(1)|0;A=m;m=0;if(!(A&1)?(m=0,Pe(36,n|0,1,i|0,p|0),A=m,m=0,!(A&1)):0){m=0;Se(6,n|0,824,96);m=0;r=0}else r=1;i=Ye()|0;Od(p);if(!r){r=i;break e}}else i=Ye()|0;Ue(n|0);r=i;break e}while(0)m=0;o=he(67,20)|0;A=m;m=0;if(!(A&1)){f[o>>2]=36800;t[o+4>>0]=-32;s=o+8|0;f[s>>2]=0;l=o+12|0;f[l>>2]=0;n=o+16|0;f[n>>2]=0;i=f[E>>2]|0;A=f[y>>2]|0;a=i-A|0;do if((i|0)!=(A|0)){if(!((a|0)<0?(m=0,ue(178,s|0),A=m,m=0,A&1):0))g=53;if((g|0)==53?(m=0,r=he(67,a|0)|0,A=m,m=0,!(A&1)):0){f[l>>2]=r;f[s>>2]=r;f[n>>2]=r+a;i=f[y>>2]|0;n=f[E>>2]|0;if((i|0)==(n|0))break;do{t[r>>0]=t[i>>0]|0;r=(f[l>>2]|0)+1|0;f[l>>2]=r;i=i+1|0}while((i|0)!=(n|0))i=f[y>>2]|0;break}i=Ye()|0;r=f[s>>2]|0;if(r){if((f[l>>2]|0)!=(r|0))f[l>>2]=r;Iv(r)}Iv(o);g=44;break e}while(0)if(!i){c=v;return o|0}if((f[E>>2]|0)!=(i|0))f[E>>2]=i;Iv(i);c=v;return o|0}else g=43}else g=43}else g=43;while(0)if((g|0)==43){i=Ye()|0;g=44}if((g|0)==44)r=i;i=f[y>>2]|0;if(!i)$e(r|0);if((f[E>>2]|0)!=(i|0))f[E>>2]=i;Iv(i);$e(r|0);return 0}function ev(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0;o=c;c=c+16|0;d=o;f[d>>2]=0;h=d+4|0;f[h>>2]=0;f[d+8>>2]=0;m=0;i=he(67,1)|0;l=m;m=0;e:do if((((((!(l&1)?(l=i+1|0,t[i>>0]=1,f[d>>2]=i,f[h>>2]=l,f[d+8>>2]=l,m=0,ce(84,d|0,f[e>>2]&65535|0),l=m,m=0,!(l&1)):0)?(m=0,ce(84,d|0,f[e+4>>2]&65535|0),l=m,m=0,!(l&1)):0)?(m=0,ce(84,d|0,f[e+8>>2]&65535|0),l=m,m=0,!(l&1)):0)?(m=0,ce(84,d|0,f[e+12>>2]&65535|0),l=m,m=0,!(l&1)):0)?(m=0,ce(84,d|0,f[e+16>>2]&65535|0),l=m,m=0,!(l&1)):0)?(m=0,u=he(67,20)|0,l=m,m=0,!(l&1)):0){f[u>>2]=36800;t[u+4>>0]=-8;a=u+8|0;f[a>>2]=0;l=u+12|0;f[l>>2]=0;e=u+16|0;f[e>>2]=0;i=f[h>>2]|0;b=f[d>>2]|0;n=i-b|0;do if((i|0)!=(b|0)){if(!((n|0)<0?(m=0,ue(178,a|0),b=m,m=0,b&1):0))s=11;if((s|0)==11?(m=0,r=he(67,n|0)|0,b=m,m=0,!(b&1)):0){f[l>>2]=r;f[a>>2]=r;f[e>>2]=r+n;i=f[d>>2]|0;e=f[h>>2]|0;if((i|0)==(e|0))break;do{t[r>>0]=t[i>>0]|0;r=(f[l>>2]|0)+1|0;f[l>>2]=r;i=i+1|0}while((i|0)!=(e|0))i=f[d>>2]|0;break}r=Ye()|0;i=f[a>>2]|0;if(i){if((f[l>>2]|0)!=(i|0))f[l>>2]=i;Iv(i)}Iv(u);break e}while(0)if(!i){c=o;return u|0}if((f[h>>2]|0)!=(i|0))f[h>>2]=i;Iv(i);c=o;return u|0}else s=25;while(0)if((s|0)==25)r=Ye()|0;i=f[d>>2]|0;if(!i)$e(r|0);if((f[h>>2]|0)!=(i|0))f[h>>2]=i;Iv(i);$e(r|0);return 0}function iv(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0;s=Lv(5)|0;t[s>>0]=109;t[s+1>>0]=114;t[s+2>>0]=102;t[s+3>>0]=120;t[s+4>>0]=e;m=0;a=he(67,20)|0;n=m;m=0;if(n&1){a=Ye()|0;Iv(s);$e(a|0)}f[a>>2]=36800;t[a+4>>0]=-24;e=a+8|0;f[e>>2]=0;i=a+12|0;f[i>>2]=0;r=a+16|0;f[r>>2]=0;m=0;n=he(67,5)|0;l=m;m=0;if(!(l&1)){f[i>>2]=n;f[e>>2]=n;f[r>>2]=n+5;t[n>>0]=109;l=(f[i>>2]|0)+1|0;f[i>>2]=l;n=s+1|0;t[l>>0]=t[n>>0]|0;l=(f[i>>2]|0)+1|0;f[i>>2]=l;n=n+1|0;t[l>>0]=t[n>>0]|0;l=(f[i>>2]|0)+1|0;f[i>>2]=l;n=n+1|0;t[l>>0]=t[n>>0]|0;l=(f[i>>2]|0)+1|0;f[i>>2]=l;t[l>>0]=t[n+1>>0]|0;f[i>>2]=(f[i>>2]|0)+1;Iv(s);return a|0}l=Ye()|0;Iv(a);Iv(s);$e(l|0);return 0}function rv(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0;g=c;c=c+16|0;y=g;f[y>>2]=0;E=y+4|0;f[E>>2]=0;f[y+8>>2]=0;p=y+8|0;m=0;a=he(67,1)|0;_=m;m=0;e:do if(!(_&1)){o=a+1|0;_=o;t[a>>0]=i;f[y>>2]=a;f[E>>2]=_;f[p>>2]=_;if((i|0)>0){l=o;_=0;do{w=_+e&255;if(l>>>0>=o>>>0){a=f[y>>2]|0;u=a;l=l-u+1|0;if((l|0)<0){m=0;ue(178,y|0);k=m;m=0;if(k&1){v=28;break}u=f[y>>2]|0;o=f[p>>2]|0;k=u}else k=a;b=k;a=o-b|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0<l>>>0?l:a;o=f[E>>2]|0;d=o-b|0;if(!a){h=0;l=0}else v=13}else{d=f[E>>2]|0;a=2147483647;o=d;d=d-b|0;v=13}if((v|0)==13){v=0;m=0;l=he(67,a|0)|0;h=m;m=0;if(h&1){v=28;break}else h=a}t[l+d>>0]=w;a=l+(d+1)|0;b=o-b|0;w=l+(d-b)|0;S_(w|0,k|0,b|0)|0;f[y>>2]=w;f[E>>2]=a;f[p>>2]=l+h;if(u){Iv(u);a=f[E>>2]|0}}else{t[l>>0]=w;a=(f[E>>2]|0)+1|0;f[E>>2]=a}o=f[p>>2]|0;if(a>>>0>=o>>>0){u=f[y>>2]|0;l=u;d=a-l+1|0;if((d|0)<0){m=0;ue(178,y|0);w=m;m=0;if(w&1){v=28;break}u=f[y>>2]|0;l=u;o=f[p>>2]|0}b=u;a=o-b|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0<d>>>0?d:a;d=f[E>>2]|0;o=d-b|0;if(!a){a=0;h=0}else v=24}else{o=f[E>>2]|0;a=2147483647;d=o;o=o-b|0;v=24}if((v|0)==24){v=0;m=0;h=he(67,a|0)|0;w=m;m=0;if(w&1){v=28;break}}t[h+o>>0]=0;k=d-b|0;w=h+(o-k)|0;S_(w|0,u|0,k|0)|0;f[y>>2]=w;f[E>>2]=h+(o+1);f[p>>2]=h+a;if(l)Iv(l)}else{t[a>>0]=0;f[E>>2]=(f[E>>2]|0)+1}_=_+1|0;l=f[E>>2]|0;o=f[p>>2]|0}while((_|0)<(i|0))if((v|0)==28){s=Ye()|0;break}a=r&255;if(l>>>0<o>>>0){t[l>>0]=a;l=(f[E>>2]|0)+1|0;f[E>>2]=l}else v=37}else{l=o;a=r&255;v=37}if((v|0)==37){u=f[y>>2]|0;d=u;h=l-d+1|0;if((h|0)<0){m=0;ue(178,y|0);r=m;m=0;if(r&1){v=29;break}d=f[y>>2]|0;o=f[p>>2]|0;u=d}w=u;l=o-w|0;if(l>>>0<1073741823){l=l<<1;l=l>>>0<h>>>0?h:l;h=f[E>>2]|0;b=h-w|0;if(!l){k=0;o=0}else v=43}else{b=f[E>>2]|0;l=2147483647;h=b;b=b-w|0;v=43}if((v|0)==43){m=0;o=he(67,l|0)|0;r=m;m=0;if(r&1){v=29;break}else k=l}t[o+b>>0]=a;l=o+(b+1)|0;e=h-w|0;r=o+(b-e)|0;S_(r|0,u|0,e|0)|0;f[y>>2]=r;f[E>>2]=l;f[p>>2]=o+k;if(d){Iv(d);l=f[E>>2]|0}}w=n&255;a=f[p>>2]|0;if(l>>>0>=a>>>0){o=f[y>>2]|0;u=o;l=l-u+1|0;if((l|0)<0){m=0;ue(178,y|0);n=m;m=0;if(n&1){v=29;break}u=f[y>>2]|0;a=f[p>>2]|0;o=u}k=o;a=a-k|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0<l>>>0?l:a;d=f[E>>2]|0;h=d-k|0;if(!a){b=0;l=0}else v=54}else{h=f[E>>2]|0;a=2147483647;d=h;h=h-k|0;v=54}if((v|0)==54){m=0;l=he(67,a|0)|0;n=m;m=0;if(n&1){v=29;break}else b=a}t[l+h>>0]=w;a=l+(h+1)|0;r=d-k|0;n=l+(h-r)|0;S_(n|0,o|0,r|0)|0;f[y>>2]=n;f[E>>2]=a;f[p>>2]=l+b;if(u){Iv(u);a=f[E>>2]|0}}else{t[l>>0]=w;a=(f[E>>2]|0)+1|0;f[E>>2]=a}l=f[p>>2]|0;if(a>>>0>=l>>>0){o=f[y>>2]|0;u=o;d=a-u+1|0;if((d|0)<0){m=0;ue(178,y|0);n=m;m=0;if(n&1){v=29;break}u=f[y>>2]|0;l=f[p>>2]|0;o=u}b=o;a=l-b|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0<d>>>0?d:a;l=f[E>>2]|0;h=l-b|0;if(!a){a=0;d=0}else v=65}else{h=f[E>>2]|0;a=2147483647;l=h;h=h-b|0;v=65}if((v|0)==65){m=0;d=he(67,a|0)|0;n=m;m=0;if(n&1){v=29;break}}t[d+h>>0]=0;r=l-b|0;n=d+(h-r)|0;S_(n|0,o|0,r|0)|0;f[y>>2]=n;f[E>>2]=d+(h+1);f[p>>2]=d+a;if(u)Iv(u)}else{t[a>>0]=0;f[E>>2]=(f[E>>2]|0)+1}m=0;h=he(67,20)|0;p=m;m=0;if(!(p&1)){f[h>>2]=36800;t[h+4>>0]=-38;u=h+8|0;f[u>>2]=0;d=h+12|0;f[d>>2]=0;l=h+16|0;f[l>>2]=0;a=f[E>>2]|0;p=f[y>>2]|0;o=a-p|0;do if((a|0)!=(p|0)){if(!((o|0)<0?(m=0,ue(178,u|0),p=m,m=0,p&1):0))v=72;if((v|0)==72?(m=0,s=he(67,o|0)|0,p=m,m=0,!(p&1)):0){f[d>>2]=s;f[u>>2]=s;f[l>>2]=s+o;a=f[y>>2]|0;l=f[E>>2]|0;if((a|0)==(l|0))break;do{t[s>>0]=t[a>>0]|0;s=(f[d>>2]|0)+1|0;f[d>>2]=s;a=a+1|0}while((a|0)!=(l|0))a=f[y>>2]|0;break}s=Ye()|0;a=f[u>>2]|0;if(a){if((f[d>>2]|0)!=(a|0))f[d>>2]=a;Iv(a)}Iv(h);break e}while(0)if(!a){c=g;return h|0}if((f[E>>2]|0)!=(a|0))f[E>>2]=a;Iv(a);c=g;return h|0}else v=29}else v=29;while(0)if((v|0)==29)s=Ye()|0;a=f[y>>2]|0;if(!a)$e(s|0);if((f[E>>2]|0)!=(a|0))f[E>>2]=a;Iv(a);$e(s|0);return 0}function tv(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;h=(i&65535)>>>8&255;b=e+4|0;r=f[b>>2]|0;k=e+8|0;n=f[k>>2]|0;if(r>>>0>=n>>>0){a=f[e>>2]|0;s=a;l=r-s+1|0;if((l|0)<0){Rv(e);s=f[e>>2]|0;n=f[k>>2]|0;a=s}d=a;r=n-d|0;if(r>>>0<1073741823){r=r<<1;r=r>>>0<l>>>0?l:r;l=f[b>>2]|0;n=l-d|0;if(!r){c=0;u=0;o=n;r=l}else w=8}else{n=f[b>>2]|0;r=2147483647;l=n;n=n-d|0;w=8}if((w|0)==8){c=r;u=Lv(r)|0;o=n;r=l}t[u+o>>0]=h;n=u+(o+1)|0;d=r-d|0;h=u+(o-d)|0;S_(h|0,a|0,d|0)|0;f[e>>2]=h;f[b>>2]=n;f[k>>2]=u+c;if(s){Iv(s);n=f[b>>2]|0}}else{t[r>>0]=h;n=(f[b>>2]|0)+1|0;f[b>>2]=n}d=i&255;r=f[k>>2]|0;if(n>>>0<r>>>0){t[n>>0]=d;f[b>>2]=(f[b>>2]|0)+1;return}a=f[e>>2]|0;s=a;n=n-s+1|0;if((n|0)<0){Rv(e);s=f[e>>2]|0;r=f[k>>2]|0;a=s}c=a;r=r-c|0;if(r>>>0<1073741823){r=r<<1;r=r>>>0<n>>>0?n:r;l=f[b>>2]|0;n=l-c|0;if(!r){u=0;o=0;r=l}else w=18}else{n=f[b>>2]|0;r=2147483647;l=n;n=n-c|0;w=18}if((w|0)==18){u=r;o=Lv(r)|0;r=l}t[o+n>>0]=d;i=r-c|0;w=o+(n-i)|0;S_(w|0,a|0,i|0)|0;f[e>>2]=w;f[b>>2]=o+(n+1);f[k>>2]=o+u;if(!s)return;Iv(s);return}function nv(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;a=f[e>>2]|0;w=f[i>>2]|0;k=w;u=a;h=r;c=n-h|0;if((c|0)<=0){m=w;return m|0}b=e+8|0;i=f[b>>2]|0;m=e+4|0;d=f[m>>2]|0;s=d;if((c|0)<=(i-s|0)){o=s-k|0;if((c|0)>(o|0)){l=r+o|0;if((l|0)==(n|0))i=d;else{s=l;i=d;do{t[i>>0]=t[s>>0]|0;i=(f[m>>2]|0)+1|0;f[m>>2]=i;s=s+1|0}while((s|0)!=(n|0))}if((o|0)>0)o=i;else{m=w;return m|0}}else{o=d;l=n}a=o-(a+(c-u+k))|0;i=w+a|0;if(i>>>0<d>>>0){s=o;do{t[s>>0]=t[i>>0]|0;i=i+1|0;s=(f[m>>2]|0)+1|0;f[m>>2]=s}while((i|0)!=(d|0))}M_(o+(0-a)|0,w|0,a|0)|0;M_(w|0,r|0,l-h|0)|0;m=w;return m|0}s=s-u+c|0;if((s|0)<0){Rv(e);i=f[b>>2]|0;a=f[e>>2]|0}l=a;i=i-l|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0<s>>>0?s:i;s=k-l|0;if(!i){l=0;c=0}else o=15}else{i=2147483647;s=k-l|0;o=15}if((o|0)==15){l=i;c=Lv(i)|0}u=c+s|0;i=u;o=c+l|0;if((r|0)!=(n|0)){a=r;l=u;do{t[l>>0]=t[a>>0]|0;l=i+1|0;i=l;a=a+1|0}while((a|0)!=(n|0))a=f[e>>2]|0}r=k-a|0;n=c+(s-r)|0;S_(n|0,a|0,r|0)|0;k=(f[m>>2]|0)-k|0;r=i;S_(r|0,w|0,k|0)|0;i=f[e>>2]|0;f[e>>2]=n;f[m>>2]=r+k;f[b>>2]=o;if(!i){m=u;return m|0}Iv(i);m=u;return m|0}function fv(e){e=e|0;var i=0;f[e>>2]=36800;i=f[e+8>>2]|0;if(!i)return;e=e+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;Iv(i);return}function av(e){e=e|0;var i=0,r=0;f[e>>2]=36800;i=f[e+8>>2]|0;if(!i){Iv(e);return}r=e+12|0;if((f[r>>2]|0)!=(i|0))f[r>>2]=i;Iv(i);Iv(e);return}function sv(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;lv(i,-1);lv(i,t[e+4>>0]|0);a=e+12|0;n=e+8|0;e=(f[a>>2]|0)-(f[n>>2]|0)+2|0;lv(i,(e&65535)>>>8&255);lv(i,e&255);e=f[n>>2]|0;if((f[a>>2]|0)==(e|0))return;else r=0;do{lv(i,t[e+r>>0]|0);r=r+1|0;e=f[n>>2]|0}while(r>>>0<((f[a>>2]|0)-e|0)>>>0)return}function lv(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;a=f[e+4>>2]|0;if(a){r=a+24|0;n=f[r>>2]|0;if((n|0)==(f[a+28>>2]|0)){kE[f[(f[a>>2]|0)+52>>2]&63](a,i&255)|0;return}else{f[r>>2]=n+1;t[n>>0]=i;return}}r=e+16|0;n=f[r>>2]|0;if(n>>>0<(f[e+12>>2]|0)>>>0){f[r>>2]=n+1;t[(f[e+8>>2]|0)+n>>0]=i;return}r=He(16)|0;m=0;n=Ee(1)|0;i=m;m=0;if(i&1){i=Ye()|0;Ue(r|0);$e(i|0)}m=0;Se(7,r|0,4,n|0);i=m;m=0;if(i&1){i=Ye()|0;Ue(r|0);$e(i|0)}else bi(r|0,824,96)}function ov(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;n=(i|0)<4095?(i+128|0)/256|0:16;a=(r*3|0)+2+n|0;t=r+1|0;a=(a|0)<(t|0)|(a|0)>(i|0)?t:a;f[e+4>>2]=a;t=(n<<2|3)+(r*5|0)|0;t=(t|0)>(i|0)|(t|0)<(a|0)?a:t;f[e+8>>2]=t;r=(r*7|0)+4+(n*17|0)|0;f[e+12>>2]=(r|0)>(i|0)|(r|0)<(t|0)?t:r;f[e>>2]=i;f[e+16>>2]=64;return}function uv(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0;d=c;c=c+128|0;o=d+100|0;n=d+16|0;r=d+112|0;u=d+4|0;h=d;a=n;s=e+20|0;l=a+84|0;do{f[a>>2]=f[s>>2];a=a+4|0;s=s+4|0}while((a|0)<(l|0))f[n+16>>2]=f[e+4>>2];s=Wi(r,n,e+56|0)|0;r=f[(f[s>>2]|0)+16>>2]|0;e=e+8|0;m=0;f[o>>2]=f[e>>2];f[o+4>>2]=f[e+4>>2];f[o+8>>2]=f[e+8>>2];r=ve(r|0,s|0,o|0)|0;e=m;m=0;do if(e&1)r=Ye()|0;else{a=i+4|0;f[u>>2]=f[a>>2];f[u+4>>2]=f[a+4>>2];f[u+8>>2]=f[a+8>>2];a=i+16|0;e=f[a>>2]|0;o=u+8|0;f[o>>2]=(f[o>>2]|0)-e;o=u+4|0;f[o>>2]=(f[o>>2]|0)+e;o=f[(f[s>>2]|0)+12>>2]|0;f[h>>2]=r;m=0;r=Ae(o|0,s|0,h|0,u|0,((t[i>>0]|0)==0?0:(f[i+8>>2]|0)+e|0)|0)|0;u=m;m=0;if(u&1){r=Ye()|0;n=f[h>>2]|0;f[h>>2]=0;if(!n)break;fE[f[(f[n>>2]|0)+4>>2]&255](n);break}n=f[h>>2]|0;f[h>>2]=0;if(n)fE[f[(f[n>>2]|0)+4>>2]&255](n);if(!(f[i+4>>2]|0))f[a>>2]=(f[a>>2]|0)+r;if(!s){c=d;return}fE[f[(f[s>>2]|0)+4>>2]&255](s);c=d;return}while(0)if(!s)$e(r|0);fE[f[(f[s>>2]|0)+4>>2]&255](s);$e(r|0)}function cv(e,i){e=e|0;i=i|0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];t[e+12>>0]=0;i=e+16|0;e=i+100|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0))return}function dv(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0;g=c;c=c+32|0;v=g+4|0;k=g+16|0;y=g;hv(e);w=e+16|0;a=f[e+24>>2]|0;e:do if((a+-2|0)>>>0<=14){_=e+40|0;r=f[_>>2]|0;if(r>>>0>2)r=5;else{p=e+32|0;s=f[p>>2]|0;switch(s|0){case 0:{r=1;break e}case 4:{if((r|0)==2){r=2;break e}break}case 3:break;default:if(r){r=2;break e}}b=e+100|0;r=e+108|0;n=f[r>>2]|0;if((n|0)<1){n=f[w>>2]|0;f[r>>2]=n;r=f[e+20>>2]|0;f[e+112>>2]=r}else r=f[e+112>>2]|0;u=O_(r|0,((r|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;o=(a+7|0)/8|0;o=O_(u|0,R|0,o|0,((o|0)<0)<<31>>31|0)|0;u=i+4|0;r=f[u>>2]|0;l=i+8|0;if((r|0)!=0?(d=f[l>>2]|0,h=O_(s|0,((s|0)<0)<<31>>31|0,o|0,R|0)|0,a=R,0<(a|0)|0==(a|0)&d>>>0<h>>>0):0){r=He(16)|0;m=0;n=Ee(1)|0;y=m;m=0;if(!(y&1)?(m=0,Se(7,r|0,3,n|0),y=m,m=0,!(y&1)):0)bi(r|0,824,96);y=Ye()|0;Ue(r|0);$e(y|0)}d=e+52|0;h=e+12|0;if((s|0)>0)s=0;else{c=g;return}while(1){bv(e,(s|0)==0);n=Vi(k,w,d)|0;a=f[(f[n>>2]|0)+8>>2]|0;m=0;f[v>>2]=f[i>>2];f[v+4>>2]=f[i+4>>2];f[v+8>>2]=f[i+8>>2];a=ve(a|0,n|0,v|0)|0;E=m;m=0;if(E&1){a=32;break}E=f[(f[n>>2]|0)+16>>2]|0;f[y>>2]=a;m=0;le(E|0,n|0,y|0,b|0,e|0,(t[h>>0]|0)!=0|0);E=m;m=0;if(E&1){a=30;break}a=f[y>>2]|0;f[y>>2]=0;if(a)fE[f[(f[a>>2]|0)+4>>2]&255](a);if(!r)r=0;else{r=r+o|0;f[u>>2]=r;f[l>>2]=(f[l>>2]|0)-o}a=(f[_>>2]|0)==0;s=(a&1)+s|0;if(n)fE[f[(f[n>>2]|0)+4>>2]&255](n);if(!a){a=34;break}if((s|0)>=(f[p>>2]|0)){a=34;break}}if((a|0)==30){r=Ye()|0;a=f[y>>2]|0;f[y>>2]=0;if(a)fE[f[(f[a>>2]|0)+4>>2]&255](a)}else if((a|0)==32){r=Ye()|0;if(!n){E=r;$e(E|0)}}else if((a|0)==34){c=g;return}fE[f[(f[n>>2]|0)+4>>2]&255](n);E=r;$e(E|0)}}else r=2;while(0)n=He(16)|0;m=0;a=Ee(1)|0;E=m;m=0;if(!(E&1)?(m=0,Se(7,n|0,r|0,a|0),E=m,m=0,!(E&1)):0)bi(n|0,824,96);E=Ye()|0;Ue(n|0);$e(E|0)}function hv(e){e=e|0;var i=0,r=0,t=0,n=0;if((mv(e)|0)<<24>>24!=-40){i=He(16)|0;m=0;r=Ee(1)|0;n=m;m=0;if(!(n&1)?(m=0,Se(7,i|0,5,r|0),n=m,m=0,!(n&1)):0)bi(i|0,824,96);n=Ye()|0;Ue(i|0);$e(n|0)}i=mv(e)|0;if(i<<24>>24==-38)return;while(1){t=((wv(e)|0)&255)<<8;t=t|(wv(e)|0)&255;i=_v(e,i)|0;r=-2-i+t|0;if((r|0)<0)break;if((r|0)>0){i=t+-2-i|0;r=0;do{wv(e)|0;r=r+1|0}while((r|0)!=(i|0))}i=mv(e)|0;if(i<<24>>24==-38){n=8;break}}if((n|0)==8)return;i=He(16)|0;m=0;r=Ee(1)|0;n=m;m=0;if(!(n&1)?(m=0,Se(7,i|0,5,r|0),n=m,m=0,!(n&1)):0)bi(i|0,824,96);n=Ye()|0;Ue(i|0);$e(n|0)}function bv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;if(!i){if((wv(e)|0)<<24>>24!=-1){i=He(16)|0;m=0;r=Ee(1)|0;e=m;m=0;if(!(e&1)?(m=0,Se(7,i|0,12,r|0),e=m,m=0,!(e&1)):0)bi(i|0,824,96);e=Ye()|0;Ue(i|0);$e(e|0)}if((wv(e)|0)<<24>>24!=-38){i=He(16)|0;m=0;r=Ee(1)|0;e=m;m=0;if(!(e&1)?(m=0,Se(7,i|0,5,r|0),e=m,m=0,!(e&1)):0)bi(i|0,824,96);e=Ye()|0;Ue(i|0);$e(e|0)}}wv(e)|0;wv(e)|0;r=wv(e)|0;t=r&255;do if(r<<24>>24==1){wv(e)|0;r=0;n=20}else{if((t|0)==(f[e+32>>2]|0)){i=wv(e)|0;if(!(r<<24>>24))break;else{r=0;n=20;break}}i=He(16)|0;m=0;r=Ee(1)|0;e=m;m=0;if(!(e&1)?(m=0,Se(7,i|0,2,r|0),e=m,m=0,!(e&1)):0)bi(i|0,824,96);e=Ye()|0;Ue(i|0);$e(e|0)}while(0)if((n|0)==20)while(1){wv(e)|0;r=r+1|0;i=wv(e)|0;if((r|0)==(t|0))break;else n=20}f[e+36>>2]=i&255;n=wv(e)|0;r=e+40|0;f[r>>2]=n&255;if((n&255)>=3){i=He(16)|0;m=0;r=Ee(1)|0;e=m;m=0;if(!(e&1)?(m=0,Se(7,i|0,5,r|0),e=m,m=0,!(e&1)):0)bi(i|0,824,96);e=Ye()|0;Ue(i|0);$e(e|0)}if((wv(e)|0)<<24>>24){i=He(16)|0;m=0;r=Ee(1)|0;e=m;m=0;if(!(e&1)?(m=0,Se(7,i|0,5,r|0),e=m,m=0,!(e&1)):0)bi(i|0,824,96);e=Ye()|0;Ue(i|0);$e(e|0)}t=e+28|0;if(f[t>>2]|0)return;i=f[e+108>>2]|0;if(!i)i=f[e+16>>2]|0;if(!(f[r>>2]|0))r=1;else r=f[e+32>>2]|0;n=re(r,i)|0;f[t>>2]=re(n,((f[e+24>>2]|0)+7|0)/8|0)|0;return}function kv(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;if((r|0)<=0)return;h=i+4|0;b=i+8|0;w=0;do{k=wv(e)|0;n=f[h>>2]|0;a=f[b>>2]|0;if(n>>>0>=a>>>0){s=f[i>>2]|0;l=s;o=n-l+1|0;if((o|0)<0){Rv(i);l=f[i>>2]|0;a=f[b>>2]|0;s=l}d=s;n=a-d|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0<o>>>0?o:n;o=f[h>>2]|0;a=o-d|0;if(!n){c=0;u=0;n=o}else m=10}else{a=f[h>>2]|0;n=2147483647;o=a;a=a-d|0;m=10}if((m|0)==10){m=0;c=n;u=Lv(n)|0;n=o}t[u+a>>0]=k;d=n-d|0;k=u+(a-d)|0;S_(k|0,s|0,d|0)|0;f[i>>2]=k;f[h>>2]=u+(a+1);f[b>>2]=u+c;if(l)Iv(l)}else{t[n>>0]=k;f[h>>2]=(f[h>>2]|0)+1}w=w+1|0}while((w|0)!=(r|0))return}function wv(e){e=e|0;var i=0,r=0,n=0,s=0;r=f[e>>2]|0;if(r){e=r+12|0;i=f[e>>2]|0;if((i|0)==(f[r+16>>2]|0))e=lE[f[(f[r>>2]|0)+40>>2]&127](r)|0;else{f[e>>2]=i+1;e=a[i>>0]|0}s=e&255;return s|0}n=e+8|0;s=f[n>>2]|0;if(s){e=e+4|0;i=f[e>>2]|0;r=t[i>>0]|0;if(!i){s=r;return s|0}f[e>>2]=i+1;f[n>>2]=s+-1;s=r;return s|0}e=He(16)|0;m=0;i=Ee(1)|0;s=m;m=0;if(s&1){s=Ye()|0;Ue(e|0);$e(s|0)}m=0;Se(7,e|0,4,i|0);s=m;m=0;if(s&1){s=Ye()|0;Ue(e|0);$e(s|0)}else bi(e|0,824,96);return 0}function mv(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0;r=c;c=c+176|0;i=r+152|0;o=r+16|0;s=r;l=wv(e)|0;t=l&255;if(l<<24>>24==-1){do i=wv(e)|0;while(i<<24>>24==-1)c=r;return i|0}l=o+56|0;a=o+4|0;f[o>>2]=36160;f[l>>2]=36180;m=0;ce(62,o+56|0,a|0);n=m;m=0;if(n&1){o=Ye()|0;nh(l);$e(o|0)}f[o+128>>2]=0;f[o+132>>2]=-1;f[o>>2]=36200;f[o+56>>2]=36220;m=0;ue(180,a|0);n=m;m=0;do if(n&1)i=Ye()|0;else{f[a>>2]=36236;n=o+36|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[o+52>>2]=16;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;m=0;ce(63,a|0,i|0);r=m;m=0;if(r&1){o=Ye()|0;Od(i);Od(n);ch(a);i=o;break}Od(i);f[o+((f[(f[o>>2]|0)+-12>>2]|0)+76)>>2]=48;m=0;i=ke(28,o|0,50907,62)|0;r=m;m=0;if(!(r&1)?(r=i+((f[(f[i>>2]|0)+-12>>2]|0)+4)|0,f[r>>2]=f[r>>2]&-75|8,r=i+((f[(f[i>>2]|0)+-12>>2]|0)+4)|0,f[r>>2]=f[r>>2]|16384,f[i+((f[(f[i>>2]|0)+-12>>2]|0)+12)>>2]=2,m=0,ve(38,i|0,t|0)|0,t=m,m=0,!(t&1)):0){r=He(16)|0;m=0;ce(64,s|0,a|0);t=m;m=0;if(!(t&1)){m=0;i=Ee(1)|0;t=m;m=0;if(!(t&1)?(m=0,Pe(36,r|0,12,i|0,s|0),t=m,m=0,!(t&1)):0){m=0;Se(6,r|0,824,96);m=0;e=0}else e=1;i=Ye()|0;Od(s);if(!e){s=i;f[o>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(n);ch(a);nh(l);$e(s|0)}}else i=Ye()|0;Ue(r|0);s=i;f[o>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(n);ch(a);nh(l);$e(s|0)}s=Ye()|0;f[o>>2]=36200;f[l>>2]=36220;f[a>>2]=36236;Od(n);ch(a);nh(l);$e(s|0)}while(0)o=i;nh(l);$e(o|0);return 0}function _v(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0;r=c;c=c+320|0;l=r+300|0;d=r+152|0;o=r+288|0;h=r+16|0;u=r;switch(i<<24>>24){case-9:{f[e+24>>2]=(wv(e)|0)&255;b=((wv(e)|0)&255)<<8|(wv(e)|0)&255;f[e+16>>2]=((wv(e)|0)&255)<<8|(wv(e)|0)&255;f[e+20>>2]=b;f[e+32>>2]=(wv(e)|0)&255;b=6;c=r;return b|0}case-8:{b=pv(e)|0;c=r;return b|0}case-24:{b=vv(e)|0;c=r;return b|0}case-53:case-54:case-55:case-57:case-58:case-59:case-61:case-62:case-63:case-64:{s=d+56|0;n=d+4|0;f[d>>2]=36160;f[s>>2]=36180;m=0;ce(62,d+56|0,n|0);h=m;m=0;if(h&1){b=Ye()|0;nh(s);$e(b|0)}f[d+128>>2]=0;f[d+132>>2]=-1;f[d>>2]=36200;f[d+56>>2]=36220;m=0;ue(180,n|0);h=m;m=0;do if(h&1)e=Ye()|0;else{f[n>>2]=36236;a=d+36|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[d+52>>2]=16;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;m=0;ce(63,n|0,l|0);h=m;m=0;if(h&1){e=Ye()|0;Od(l);Od(a);ch(n);break}Od(l);m=0;e=ke(28,d|0,50970,26)|0;h=m;m=0;do if((!(h&1)?(m=0,t=ve(38,e|0,i&255|0)|0,h=m,m=0,!(h&1)):0)?(m=0,ke(28,t|0,50997,18)|0,h=m,m=0,!(h&1)):0){t=He(16)|0;m=0;ce(64,o|0,n|0);h=m;m=0;if(!(h&1)){m=0;e=Ee(1)|0;h=m;m=0;if(!(h&1)?(m=0,Pe(36,t|0,10,e|0,o|0),h=m,m=0,!(h&1)):0){m=0;Se(6,t|0,824,96);m=0;r=0}else r=1;e=Ye()|0;Od(o);if(!r)break}else e=Ye()|0;Ue(t|0)}else b=20;while(0)if((b|0)==20)e=Ye()|0;f[d>>2]=36200;f[s>>2]=36220;f[n>>2]=36236;Od(a);ch(n);nh(s);b=e;$e(b|0)}while(0)b=e;nh(s);$e(b|0)}case-25:case-32:case-2:{b=0;c=r;return b|0}default:{o=h+56|0;a=h+4|0;f[h>>2]=36160;f[o>>2]=36180;m=0;ce(62,h+56|0,a|0);d=m;m=0;if(d&1){b=Ye()|0;nh(o);$e(b|0)}f[h+128>>2]=0;f[h+132>>2]=-1;f[h>>2]=36200;f[h+56>>2]=36220;m=0;ue(180,a|0);d=m;m=0;do if(d&1)e=Ye()|0;else{f[a>>2]=36236;s=h+36|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;f[h+52>>2]=16;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;m=0;ce(63,a|0,l|0);d=m;m=0;if(d&1){e=Ye()|0;Od(l);Od(s);ch(a);break}Od(l);m=0;e=ke(28,h|0,51016,20)|0;d=m;m=0;do if((!(d&1)?(m=0,n=ve(38,e|0,i&255|0)|0,d=m,m=0,!(d&1)):0)?(m=0,ke(28,n|0,51037,13)|0,d=m,m=0,!(d&1)):0){t=He(16)|0;m=0;ce(64,u|0,a|0);d=m;m=0;if(!(d&1)){m=0;e=Ee(1)|0;d=m;m=0;if(!(d&1)?(m=0,Pe(36,t|0,11,e|0,u|0),d=m,m=0,!(d&1)):0){m=0;Se(6,t|0,824,96);m=0;r=0}else r=1;e=Ye()|0;Od(u);if(!r)break}else e=Ye()|0;Ue(t|0)}else b=40;while(0)if((b|0)==40)e=Ye()|0;f[h>>2]=36200;f[o>>2]=36220;f[a>>2]=36236;Od(s);ch(a);nh(o);b=e;$e(b|0)}while(0)b=e;nh(o);$e(b|0)}}return 0}function pv(e){e=e|0;var i=0;if((wv(e)|0)<<24>>24!=1){e=1;return e|0}i=((wv(e)|0)&255)<<8;f[e+52>>2]=i|(wv(e)|0)&255;i=((wv(e)|0)&255)<<8;f[e+56>>2]=i|(wv(e)|0)&255;i=((wv(e)|0)&255)<<8;f[e+60>>2]=i|(wv(e)|0)&255;i=((wv(e)|0)&255)<<8;f[e+64>>2]=i|(wv(e)|0)&255;i=((wv(e)|0)&255)<<8;f[e+68>>2]=i|(wv(e)|0)&255;e=11;return e|0}function vv(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;r=c;c=c+16|0;n=r;f[n>>2]=0;a=n+4|0;f[a>>2]=0;f[n+8>>2]=0;m=0;Se(9,e|0,n|0,4);i=m;m=0;e:do if(i&1)t=3;else{i=f[n>>2]|0;i:do if(!(Vy(i,51051,4)|0)){m=0;i=he(69,e|0)|0;s=m;m=0;if(s&1){t=3;break e}i=i&255;switch(i|0){case 3:case 2:case 1:case 0:{f[e+44>>2]=i;e=5;i=f[n>>2]|0;break i}case 5:case 4:{i=He(16)|0;m=0;e=Ee(1)|0;s=m;m=0;if(!(s&1)?(m=0,Se(7,i|0,7,e|0),s=m,m=0,!(s&1)):0){m=0;Se(6,i|0,824,96);m=0;t=3;break e}e=Ye()|0;Ue(i|0);break e}default:{i=He(16)|0;m=0;e=Ee(1)|0;s=m;m=0;if(!(s&1)?(m=0,Se(7,i|0,5,e|0),s=m,m=0,!(s&1)):0){m=0;Se(6,i|0,824,96);m=0;t=3;break e}e=Ye()|0;Ue(i|0);break e}}}else e=4;while(0)if(!i){c=r;return e|0}if((f[a>>2]|0)!=(i|0))f[a>>2]=i;Iv(i);c=r;return e|0}while(0)if((t|0)==3)e=Ye()|0;i=f[n>>2]|0;if(!i)$e(e|0);if((f[a>>2]|0)!=(i|0))f[a>>2]=i;Iv(i);$e(e|0);return 0}function gv(e){e=e|0;var i=0,r=0,t=0;t=f[(f[e>>2]|0)+-12>>2]|0;f[e+t>>2]=36200;i=e+(t+56)|0;f[i>>2]=36220;r=e+(t+4)|0;f[r>>2]=36236;Od(e+(t+36)|0);ch(r);nh(i);return}function yv(e){e=e|0;return}function Ev(e){e=e|0;Iv(e);return}function Av(e){e=e|0;t[e>>0]=0;e=e+4|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;return}function Sv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0;n=c;c=c+16|0;a=n;i=iv(i)|0;f[a>>2]=i;r=e+28|0;t=f[r>>2]|0;if(t>>>0<(f[e+32>>2]|0)>>>0){f[t>>2]=i;f[r>>2]=t+4;f[a>>2]=0;c=n;return}m=0;ce(57,e+24|0,a|0);e=m;m=0;if(e&1){i=Ye()|0;r=f[a>>2]|0;f[a>>2]=0;if(!r)$e(i|0);fE[f[(f[r>>2]|0)+4>>2]&255](r);$e(i|0)}else{i=f[a>>2]|0;f[a>>2]=0;if(!i){c=n;return}fE[f[(f[i>>2]|0)+4>>2]&255](i);c=n;return}}function Tv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0;t=e+4|0;f[t>>2]=f[i>>2];f[t+4>>2]=f[i+4>>2];f[t+8>>2]=f[i+8>>2];lv(e,-1);lv(e,-40);t=e+28|0;n=e+24|0;i=f[n>>2]|0;if((f[t>>2]|0)==(i|0)){lv(e,-1);lv(e,-39);e=e+16|0;e=f[e>>2]|0;return e|0}else r=0;do{a=f[i+(r<<2)>>2]|0;aE[f[(f[a>>2]|0)+8>>2]&127](a,e);r=r+1|0;i=f[n>>2]|0}while(r>>>0<(f[t>>2]|0)-i>>2>>>0)lv(e,-1);lv(e,-39);a=e+16|0;a=f[a>>2]|0;return a|0}function Mv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0;h=c;c=c+48|0;l=h+32|0;n=h+12|0;o=h+8|0;d=h+4|0;b=h;t=r+36|0;do if(((((f[t>>2]|0)==0?(f[r+40>>2]|0)==0:0)?(f[r+44>>2]|0)==0:0)?(f[r+48>>2]|0)==0:0)?(f[r+52>>2]|0)==0:0){t=f[r+8>>2]|0;if((t|0)<=12){a=e+28|0;s=e+32|0;break}ov(n,(1<<t)+-1|0,f[r+20>>2]|0);t=ev(n)|0;f[o>>2]=t;a=e+28|0;n=f[a>>2]|0;s=e+32|0;if(n>>>0<(f[s>>2]|0)>>>0){f[n>>2]=t;f[a>>2]=n+4;f[o>>2]=0;break}m=0;ce(57,e+24|0,o|0);l=m;m=0;if(!(l&1)){t=f[o>>2]|0;f[o>>2]=0;if(!t)break;fE[f[(f[t>>2]|0)+4>>2]&255](t);break}r=Ye()|0;t=f[o>>2]|0;f[o>>2]=0;if(!t){b=r;$e(b|0)}fE[f[(f[t>>2]|0)+4>>2]&255](t);b=r;$e(b|0)}else u=6;while(0)do if((u|0)==6){t=ev(t)|0;f[l>>2]=t;a=e+28|0;n=f[a>>2]|0;s=e+32|0;if(n>>>0<(f[s>>2]|0)>>>0){f[n>>2]=t;f[a>>2]=n+4;f[l>>2]=0;break}m=0;ce(57,e+24|0,l|0);u=m;m=0;if(!(u&1)){t=f[l>>2]|0;f[l>>2]=0;if(!t)break;fE[f[(f[t>>2]|0)+4>>2]&255](t);break}r=Ye()|0;t=f[l>>2]|0;f[l>>2]=0;if(!t){b=r;$e(b|0)}fE[f[(f[t>>2]|0)+4>>2]&255](t);b=r;$e(b|0)}while(0)t=e+20|0;n=(f[t>>2]|0)+1|0;f[t>>2]=n;t=f[r+24>>2]|0;l=(t|0)==0?1:f[r+16>>2]|0;t=rv(n,l,f[r+20>>2]|0,t)|0;f[d>>2]=t;n=f[a>>2]|0;do if(n>>>0<(f[s>>2]|0)>>>0){f[n>>2]=t;f[a>>2]=n+4;f[d>>2]=0}else{m=0;ce(57,e+24|0,d|0);u=m;m=0;if(!(u&1)){t=f[d>>2]|0;f[d>>2]=0;if(!t)break;fE[f[(f[t>>2]|0)+4>>2]&255](t);break}r=Ye()|0;t=f[d>>2]|0;f[d>>2]=0;if(!t){b=r;$e(b|0)}fE[f[(f[t>>2]|0)+4>>2]&255](t);b=r;$e(b|0)}while(0)o=Lv(104)|0;f[o>>2]=36820;f[o+4>>2]=l;n=o+8|0;f[n>>2]=f[i>>2];f[n+4>>2]=f[i+4>>2];f[n+8>>2]=f[i+8>>2];n=o+20|0;t=n+84|0;do{f[n>>2]=f[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(t|0))f[b>>2]=o;r=f[a>>2]|0;if(r>>>0<(f[s>>2]|0)>>>0){f[r>>2]=o;f[a>>2]=r+4;f[b>>2]=0;c=h;return}m=0;ce(57,e+24|0,b|0);e=m;m=0;if(e&1){r=Ye()|0;t=f[b>>2]|0;f[b>>2]=0;if(!t){b=r;$e(b|0)}fE[f[(f[t>>2]|0)+4>>2]&255](t);b=r;$e(b|0)}else{r=f[b>>2]|0;f[b>>2]=0;if(!r){c=h;return}fE[f[(f[r>>2]|0)+4>>2]&255](r);c=h;return}}function Cv(e,i,r,n,a,s,l,o,u,d,h){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;d=d|0;h=h|0;var b=0,k=0,w=0,m=0,_=0,p=0,v=0;w=c;c=c+96|0;k=w;b=Yi(e,i,k,0)|0;if(b){a=b;c=w;return a|0}t[k+32>>0]=0;_=f[k+8>>2]|0;v=f[k>>2]|0;p=f[k+4>>2]|0;b=re(p,v)|0;m=f[k+16>>2]|0;b=re(re(b,(_|0)<9?1:2)|0,m)|0;f[n>>2]=b;b=xc(b)|0;f[r>>2]=b;f[a>>2]=v;f[s>>2]=p;f[l>>2]=_;f[o>>2]=f[k+12>>2];f[u>>2]=m;f[d>>2]=f[k+20>>2];f[h>>2]=f[k+24>>2];a=qi(b,f[n>>2]|0,e,i,0,0)|0;c=w;return a|0}function Pv(e,i,r,t,n,a,s,l,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,d=0,h=0,b=0;h=c;c=c+96|0;u=h+4|0;s=h;d=u;b=d+84|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(b|0))f[u+16>>2]=a;f[u+8>>2]=n;f[u>>2]=r;f[u+4>>2]=t;f[l>>2]=xc(i)|0;f[s>>2]=0;r=Hi(l,i,s,e,i,u,0)|0;f[o>>2]=f[s>>2];c=h;return r|0}function xv(e,i){e=e|0;i=i|0;var r=0;r=c;c=c+16|0;f[r>>2]=i;i=f[9320]|0;Iy(i,e,r)|0;My(10,i)|0;Ie()}function Dv(e){e=e|0;je(51337,51366,1164,51442)}function Rv(e){e=e|0;je(51463,51486,303,51442)}function Ov(){var e=0,i=0;e=c;c=c+16|0;if(!(ai(37024,4)|0)){i=ri(f[9255]|0)|0;c=e;return i|0}else xv(51562,e);return 0}function Lv(e){e=e|0;var i=0;i=(e|0)==0?1:e;e=xc(i)|0;e:do if(!e){while(1){e=qv()|0;if(!e)break;gE[e&7]();e=xc(i)|0;if(e)break e}i=He(4)|0;f[i>>2]=36844;bi(i|0,592,78)}while(0)return e|0}function Iv(e){e=e|0;Dc(e);return}function Bv(e){e=e|0;Iv(e);return}function Nv(e){e=e|0;f[e>>2]=36844;return}function Fv(e){e=e|0;return}function jv(e){e=e|0;Iv(e);return}function Uv(e){e=e|0;return 51611}function Hv(e){e=e|0;var i=0;i=c;c=c+16|0;m=0;Te(e|0);e=m;m=0;if(!(e&1)){m=0;ce(85,51626,i|0);m=0}e=Ye(0)|0;Je(e|0)|0;m=0;ce(85,51666,i+8|0);m=0;e=Ye(0)|0;m=0;Te(3);i=m;m=0;if(i&1){i=Ye(0)|0;Fi(i)}else Fi(e)}function Yv(){var e=0,i=0,r=0;m=0;e=Ee(2)|0;r=m;m=0;if(r&1){r=Ye(0)|0;Fi(r)}if(((e|0)!=0?(i=f[e>>2]|0,(i|0)!=0):0)?(r=i+48|0,(f[r>>2]&-256|0)==1126902528?(f[r+4>>2]|0)==1129074247:0):0)Hv(f[i+12>>2]|0);r=f[9208]|0;f[9208]=r+0;Hv(r)}function qv(){var e=0;e=f[9214]|0;f[9214]=e+0;return e|0}function zv(e){e=e|0;return}function Xv(e){e=e|0;f[e>>2]=36868;Tg(e+4|0);return}function Gv(e){e=e|0;Xv(e);Iv(e);return}function Vv(e){e=e|0;return f[e+4>>2]|0}function Kv(e){e=e|0;return}function Wv(e){e=e|0;f[e>>2]=36888;return}function Jv(e){e=e|0;return}function Qv(e){e=e|0;Iv(e);return}function Zv(e){e=e|0;return 51716}function $v(e){e=e|0;return}function eg(e){e=e|0;return}function ig(e){e=e|0;return}function rg(e){e=e|0;Iv(e);return}function tg(e){e=e|0;Iv(e);return}function ng(e){e=e|0;Iv(e);return}function fg(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;s=c;c=c+64|0;a=s;if((e|0)!=(i|0))if((i|0)!=0?(n=cg(i,656,672,0)|0,(n|0)!=0):0){i=a;t=i+56|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(t|0))f[a>>2]=n;f[a+8>>2]=e;f[a+12>>2]=-1;f[a+48>>2]=1;AE[f[(f[n>>2]|0)+28>>2]&63](n,a,f[r>>2]|0,1);if((f[a+24>>2]|0)==1){f[r>>2]=f[a+16>>2];i=1}else i=0}else i=0;else i=1;c=s;return i|0}function ag(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0;e=i+16|0;a=f[e>>2]|0;do if(a){if((a|0)!=(r|0)){n=i+36|0;f[n>>2]=(f[n>>2]|0)+1;f[i+24>>2]=2;t[i+54>>0]=1;break}e=i+24|0;if((f[e>>2]|0)==2)f[e>>2]=n}else{f[e>>2]=r;f[i+24>>2]=n;f[i+36>>2]=1}while(0)return}function sg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((e|0)==(f[i+8>>2]|0))ag(0,i,r,t);return}function lg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((e|0)==(f[i+8>>2]|0))ag(0,i,r,t);else{e=f[e+8>>2]|0;AE[f[(f[e>>2]|0)+28>>2]&63](e,i,r,t)}return}function og(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;a=f[e+4>>2]|0;n=a>>8;if(a&1)n=f[(f[r>>2]|0)+n>>2]|0;e=f[e>>2]|0;AE[f[(f[e>>2]|0)+28>>2]&63](e,i,r+n|0,(a&2|0)!=0?t:2);return}function ug(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0;e:do if((e|0)!=(f[i+8>>2]|0)){s=f[e+12>>2]|0;a=e+16+(s<<3)|0;og(e+16|0,i,r,n);if((s|0)>1){s=i+54|0;e=e+24|0;do{og(e,i,r,n);if(t[s>>0]|0)break e;e=e+8|0}while(e>>>0<a>>>0)}}else ag(0,i,r,n);while(0)return}function cg(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0;m=c;c=c+64|0;w=m;k=f[e>>2]|0;b=e+(f[k+-8>>2]|0)|0;k=f[k+-4>>2]|0;f[w>>2]=r;f[w+4>>2]=e;f[w+8>>2]=i;f[w+12>>2]=a;a=w+16|0;e=w+20|0;i=w+24|0;s=w+28|0;l=w+32|0;o=w+40|0;u=(k|0)==(r|0);d=a;h=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(h|0))n[a+36>>1]=0;t[a+38>>0]=0;e:do if(u){f[w+48>>2]=1;dE[f[(f[r>>2]|0)+20>>2]&15](r,w,b,b,1,0);a=(f[i>>2]|0)==1?b:0}else{tE[f[(f[k>>2]|0)+24>>2]&15](k,w,b,1,0);switch(f[w+36>>2]|0){case 0:{a=(f[o>>2]|0)==1&(f[s>>2]|0)==1&(f[l>>2]|0)==1?f[e>>2]|0:0;break e}case 1:break;default:{a=0;break e}}if((f[i>>2]|0)!=1?!((f[o>>2]|0)==0&(f[s>>2]|0)==1&(f[l>>2]|0)==1):0){a=0;break}a=f[a>>2]|0}while(0)c=m;return a|0}function dg(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;t[i+53>>0]=1;do if((f[i+4>>2]|0)==(n|0)){t[i+52>>0]=1;n=i+16|0;e=f[n>>2]|0;if(!e){f[n>>2]=r;f[i+24>>2]=a;f[i+36>>2]=1;if(!((a|0)==1?(f[i+48>>2]|0)==1:0))break;t[i+54>>0]=1;break}if((e|0)!=(r|0)){a=i+36|0;f[a>>2]=(f[a>>2]|0)+1;t[i+54>>0]=1;break}e=i+24|0;n=f[e>>2]|0;if((n|0)==2){f[e>>2]=a;n=a}if((n|0)==1?(f[i+48>>2]|0)==1:0)t[i+54>>0]=1}while(0)return}function hg(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;e:do if((e|0)==(f[i+8>>2]|0)){if((f[i+4>>2]|0)==(r|0)?(s=i+28|0,(f[s>>2]|0)!=1):0)f[s>>2]=n}else{if((e|0)!=(f[i>>2]|0)){w=f[e+12>>2]|0;o=e+16+(w<<3)|0;kg(e+16|0,i,r,n,a);s=e+24|0;if((w|0)<=1)break;l=f[e+8>>2]|0;if((l&2|0)==0?(u=i+36|0,(f[u>>2]|0)!=1):0){if(!(l&1)){l=i+54|0;while(1){if(t[l>>0]|0)break e;if((f[u>>2]|0)==1)break e;kg(s,i,r,n,a);s=s+8|0;if(s>>>0>=o>>>0)break e}}l=i+24|0;e=i+54|0;while(1){if(t[e>>0]|0)break e;if((f[u>>2]|0)==1?(f[l>>2]|0)==1:0)break e;kg(s,i,r,n,a);s=s+8|0;if(s>>>0>=o>>>0)break e}}l=i+54|0;while(1){if(t[l>>0]|0)break e;kg(s,i,r,n,a);s=s+8|0;if(s>>>0>=o>>>0)break e}}if((f[i+16>>2]|0)!=(r|0)?(k=i+20|0,(f[k>>2]|0)!=(r|0)):0){f[i+32>>2]=n;d=i+44|0;if((f[d>>2]|0)==4)break;l=f[e+12>>2]|0;o=e+16+(l<<3)|0;u=i+52|0;n=i+53|0;h=i+54|0;c=e+8|0;b=i+24|0;i:do if((l|0)>0){l=0;s=0;e=e+16|0;while(1){t[u>>0]=0;t[n>>0]=0;bg(e,i,r,r,1,a);if(t[h>>0]|0){w=20;break i}do if(t[n>>0]|0){if(!(t[u>>0]|0))if(!(f[c>>2]&1)){s=1;w=20;break i}else{s=1;break}if((f[b>>2]|0)==1)break i;if(!(f[c>>2]&2))break i;else{l=1;s=1}}while(0)e=e+8|0;if(e>>>0>=o>>>0){w=20;break}}}else{l=0;s=0;w=20}while(0)do if((w|0)==20){if((!l?(f[k>>2]=r,r=i+40|0,f[r>>2]=(f[r>>2]|0)+1,(f[i+36>>2]|0)==1):0)?(f[b>>2]|0)==2:0){t[h>>0]=1;if(s)break}else w=24;if((w|0)==24?s:0)break;f[d>>2]=4;break e}while(0)f[d>>2]=3;break}if((n|0)==1)f[i+32>>2]=1}while(0)return}function bg(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0;l=f[e+4>>2]|0;s=l>>8;if(l&1)s=f[(f[t>>2]|0)+s>>2]|0;e=f[e>>2]|0;dE[f[(f[e>>2]|0)+20>>2]&15](e,i,r,t+s|0,(l&2|0)!=0?n:2,a);return}function kg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0;s=f[e+4>>2]|0;a=s>>8;if(s&1)a=f[(f[r>>2]|0)+a>>2]|0;e=f[e>>2]|0;tE[f[(f[e>>2]|0)+24>>2]&15](e,i,r+a|0,(s&2|0)!=0?t:2,n);return}function wg(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0;e:do if((e|0)==(f[i+8>>2]|0)){if((f[i+4>>2]|0)==(r|0)?(s=i+28|0,(f[s>>2]|0)!=1):0)f[s>>2]=n}else{if((e|0)!=(f[i>>2]|0)){o=f[e+8>>2]|0;tE[f[(f[o>>2]|0)+24>>2]&15](o,i,r,n,a);break}if((f[i+16>>2]|0)!=(r|0)?(l=i+20|0,(f[l>>2]|0)!=(r|0)):0){f[i+32>>2]=n;n=i+44|0;if((f[n>>2]|0)==4)break;s=i+52|0;t[s>>0]=0;u=i+53|0;t[u>>0]=0;e=f[e+8>>2]|0;dE[f[(f[e>>2]|0)+20>>2]&15](e,i,r,r,1,a);if(t[u>>0]|0){if(!(t[s>>0]|0)){s=1;o=13}}else{s=0;o=13}do if((o|0)==13){f[l>>2]=r;u=i+40|0;f[u>>2]=(f[u>>2]|0)+1;if((f[i+36>>2]|0)==1?(f[i+24>>2]|0)==2:0){t[i+54>>0]=1;if(s)break}else o=16;if((o|0)==16?s:0)break;f[n>>2]=4;break e}while(0)f[n>>2]=3;break}if((n|0)==1)f[i+32>>2]=1}while(0)return}function mg(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0;do if((e|0)==(f[i+8>>2]|0)){if((f[i+4>>2]|0)==(r|0)?(l=i+28|0,(f[l>>2]|0)!=1):0)f[l>>2]=n}else if((e|0)==(f[i>>2]|0)){if((f[i+16>>2]|0)!=(r|0)?(s=i+20|0,(f[s>>2]|0)!=(r|0)):0){f[i+32>>2]=n;f[s>>2]=r;a=i+40|0;f[a>>2]=(f[a>>2]|0)+1
30
+ ;if((f[i+36>>2]|0)==1?(f[i+24>>2]|0)==2:0)t[i+54>>0]=1;f[i+44>>2]=4;break}if((n|0)==1)f[i+32>>2]=1}while(0)return}function _g(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;if((e|0)==(f[i+8>>2]|0))dg(0,i,r,n,a);else{d=i+52|0;h=t[d>>0]|0;b=i+53|0;k=t[b>>0]|0;c=f[e+12>>2]|0;l=e+16+(c<<3)|0;t[d>>0]=0;t[b>>0]=0;bg(e+16|0,i,r,n,a,s);e:do if((c|0)>1){o=i+24|0;u=e+8|0;c=i+54|0;e=e+24|0;do{if(t[c>>0]|0)break e;if(!(t[d>>0]|0)){if((t[b>>0]|0)!=0?(f[u>>2]&1|0)==0:0)break e}else{if((f[o>>2]|0)==1)break e;if(!(f[u>>2]&2))break e}t[d>>0]=0;t[b>>0]=0;bg(e,i,r,n,a,s);e=e+8|0}while(e>>>0<l>>>0)}while(0)t[d>>0]=h;t[b>>0]=k}return}function pg(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;if((e|0)==(f[i+8>>2]|0))dg(0,i,r,t,n);else{e=f[e+8>>2]|0;dE[f[(f[e>>2]|0)+20>>2]&15](e,i,r,t,n,a)}return}function vg(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;if((e|0)==(f[i+8>>2]|0))dg(0,i,r,t,n);return}function gg(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=c;c=c+16|0;t=n;f[t>>2]=f[r>>2];e=uE[f[(f[e>>2]|0)+16>>2]&63](e,i,t)|0;if(e)f[r>>2]=f[t>>2];c=n;return e&1|0}function yg(e){e=e|0;if(!e)e=0;else e=(cg(e,656,704,0)|0)!=0;return e&1|0}function Eg(){var e=0;e=He(4)|0;Nv(e);bi(e|0,592,78)}function Ag(){var e=0,i=0,r=0,t=0,n=0,a=0,s=0,l=0;n=c;c=c+48|0;s=n+32|0;r=n+24|0;l=n+16|0;a=n;n=n+36|0;e=Ov()|0;if((e|0)!=0?(t=f[e>>2]|0,(t|0)!=0):0){e=t+48|0;i=f[e>>2]|0;e=f[e+4>>2]|0;if(!((i&-256|0)==1126902528&(e|0)==1129074247)){f[r>>2]=f[9257];xv(51919,r)}if((i|0)==1126902529&(e|0)==1129074247)e=f[t+44>>2]|0;else e=t+80|0;f[n>>2]=e;t=f[t>>2]|0;e=f[t+4>>2]|0;if(uE[f[(f[608>>2]|0)+16>>2]&63](608,t,n)|0){l=f[n>>2]|0;n=f[9257]|0;l=lE[f[(f[l>>2]|0)+8>>2]&127](l)|0;f[a>>2]=n;f[a+4>>2]=e;f[a+8>>2]=l;xv(51833,a)}else{f[l>>2]=f[9257];f[l+4>>2]=e;xv(51878,l)}}xv(51957,s)}function Sg(){var e=0;e=c;c=c+16|0;if(!(Le(37020,184)|0)){c=e;return}else xv(51730,e)}function Tg(e){e=e|0;var i=0,r=0;r=(f[e>>2]|0)+-4|0;i=f[r>>2]|0;f[r>>2]=i+-1;if((i+-1|0)<0)Iv((f[e>>2]|0)+-12|0);return}function Mg(e){e=e|0;var i=0;i=c;c=c+16|0;Dc(e);if(!(di(f[9255]|0,0)|0)){c=i;return}else xv(51780,i)}function Cg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Uy(e,i,r)|0;return e|0}function Pg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Hy(e,i,r)|0;return e|0}function xg(){return 37296}function Dg(){return 37300}function Rg(){return 37304}function Og(e){e=e|0;return((e|0)==32|(e+-9|0)>>>0<5)&1|0}function Lg(e){e=e|0;if((e+-48|0)>>>0<10)e=1;else e=((e|32)+-97|0)>>>0<6;return e&1|0}function Ig(){var e=0;if(!(f[9258]|0))e=37308;else e=f[(ni()|0)+60>>2]|0;return e|0}function Bg(e){e=e|0;var i=0,r=0;i=0;while(1){if((a[51978+i>>0]|0)==(e|0)){r=2;break}i=i+1|0;if((i|0)==87){i=87;e=52066;r=5;break}}if((r|0)==2)if(!i)e=52066;else{e=52066;r=5}if((r|0)==5)while(1){r=e;while(1){e=r+1|0;if(!(t[r>>0]|0))break;else r=e}i=i+-1|0;if(!i)break;else r=5}return e|0}function Ng(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,O=0,L=0,I=0,B=0,N=0,F=0;N=c;c=c+512|0;O=N;switch(i|0){case 0:{B=24;I=-149;T=4;break}case 1:{B=53;I=-1074;T=4;break}case 2:{B=53;I=-1074;T=4;break}default:n=0}e:do if((T|0)==4){P=e+4|0;C=e+100|0;do{i=f[P>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[P>>2]=i+1;i=a[i>>0]|0}else i=Ug(e)|0}while((Og(i)|0)!=0)i:do switch(i|0){case 43:case 45:{s=1-(((i|0)==45&1)<<1)|0;i=f[P>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[P>>2]=i+1;i=a[i>>0]|0;L=s;break i}else{i=Ug(e)|0;L=s;break i}}default:L=1}while(0)s=i;i=0;do{if((s|32|0)!=(t[53870+i>>0]|0))break;do if(i>>>0<7){s=f[P>>2]|0;if(s>>>0<(f[C>>2]|0)>>>0){f[P>>2]=s+1;s=a[s>>0]|0;break}else{s=Ug(e)|0;break}}while(0)i=i+1|0}while(i>>>0<8)i:do switch(i|0){case 8:break;case 3:{T=23;break}default:{o=(r|0)!=0;if(o&i>>>0>3)if((i|0)==8)break i;else{T=23;break i}r:do if(!i){i=0;do{if((s|32|0)!=(t[56747+i>>0]|0))break r;do if(i>>>0<2){s=f[P>>2]|0;if(s>>>0<(f[C>>2]|0)>>>0){f[P>>2]=s+1;s=a[s>>0]|0;break}else{s=Ug(e)|0;break}}while(0)i=i+1|0}while(i>>>0<3)}while(0)switch(i|0){case 3:{i=f[P>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[P>>2]=i+1;i=a[i>>0]|0}else i=Ug(e)|0;if((i|0)==40)i=1;else{if(!(f[C>>2]|0)){n=g;break e}f[P>>2]=(f[P>>2]|0)+-1;n=g;break e}while(1){s=f[P>>2]|0;if(s>>>0<(f[C>>2]|0)>>>0){f[P>>2]=s+1;s=a[s>>0]|0}else s=Ug(e)|0;if(!((s+-48|0)>>>0<10|(s+-65|0)>>>0<26)?!((s|0)==95|(s+-97|0)>>>0<26):0)break;i=i+1|0}if((s|0)==41){n=g;break e}s=(f[C>>2]|0)==0;if(!s)f[P>>2]=(f[P>>2]|0)+-1;if(!o){f[(Ig()|0)>>2]=22;jg(e,0);n=0;break e}if(!i){n=g;break e}while(1){i=i+-1|0;if(!s)f[P>>2]=(f[P>>2]|0)+-1;if(!i){n=g;break e}}}case 0:{do if((s|0)==48){i=f[P>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[P>>2]=i+1;i=a[i>>0]|0}else i=Ug(e)|0;if((i|32|0)!=120){if(!(f[C>>2]|0)){i=48;break}f[P>>2]=(f[P>>2]|0)+-1;i=48;break}i=f[P>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[P>>2]=i+1;i=a[i>>0]|0;o=0}else{i=Ug(e)|0;o=0}r:while(1){switch(i|0){case 46:{T=74;break r}case 48:break;default:{A=0;u=0;E=0;s=0;h=o;b=0;v=0;d=1;o=0;n=0;break r}}i=f[P>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[P>>2]=i+1;i=a[i>>0]|0;o=1;continue}else{i=Ug(e)|0;o=1;continue}}if((T|0)==74){i=f[P>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[P>>2]=i+1;i=a[i>>0]|0}else i=Ug(e)|0;if((i|0)==48){o=0;s=0;do{i=f[P>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[P>>2]=i+1;i=a[i>>0]|0}else i=Ug(e)|0;o=E_(o|0,s|0,-1,-1)|0;s=R}while((i|0)==48)A=0;u=0;E=o;h=1;b=1;v=0;d=1;o=0;n=0}else{A=0;u=0;E=0;s=0;h=o;b=1;v=0;d=1;o=0;n=0}}while(1){_=i+-48|0;k=i|32;if(_>>>0>=10){p=(i|0)==46;if(!(p|(k+-97|0)>>>0<6)){k=E;_=A;break}if(p)if(!b){p=u;s=A;_=A;b=1;k=v;l=d}else{k=E;_=A;i=46;break}else T=86}else T=86;if((T|0)==86){T=0;i=(i|0)>57?k+-87|0:_;do if(!((A|0)<0|(A|0)==0&u>>>0<8)){if((A|0)<0|(A|0)==0&u>>>0<14){m=d*.0625;k=v;l=m;n=n+m*+(i|0);break}if((v|0)!=0|(i|0)==0){k=v;l=d}else{k=1;l=d;n=n+d*.5}}else{k=v;l=d;o=i+(o<<4)|0}while(0)u=E_(u|0,A|0,1,0)|0;p=E;_=R;h=1}i=f[P>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[P>>2]=i+1;A=_;E=p;i=a[i>>0]|0;v=k;d=l;continue}else{A=_;E=p;i=Ug(e)|0;v=k;d=l;continue}}if(!h){i=(f[C>>2]|0)==0;if(!i)f[P>>2]=(f[P>>2]|0)+-1;if(r){if(!i?(S=f[P>>2]|0,f[P>>2]=S+-1,(b|0)!=0):0)f[P>>2]=S+-2}else jg(e,0);n=+(L|0)*0;break e}h=(b|0)==0;b=h?u:k;h=h?_:s;if((_|0)<0|(_|0)==0&u>>>0<8){s=_;do{o=o<<4;u=E_(u|0,s|0,1,0)|0;s=R}while((s|0)<0|(s|0)==0&u>>>0<8)}if((i|32|0)==112){s=Zy(e,r)|0;i=R;if((s|0)==0&(i|0)==-2147483648){if(!r){jg(e,0);n=0;break e}if(!(f[C>>2]|0)){s=0;i=0}else{f[P>>2]=(f[P>>2]|0)+-1;s=0;i=0}}}else if(!(f[C>>2]|0)){s=0;i=0}else{f[P>>2]=(f[P>>2]|0)+-1;s=0;i=0}O=T_(b|0,h|0,2)|0;O=E_(O|0,R|0,-32,-1)|0;i=E_(O|0,R|0,s|0,i|0)|0;s=R;if(!o){n=+(L|0)*0;break e}if((s|0)>0|(s|0)==0&i>>>0>(0-I|0)>>>0){f[(Ig()|0)>>2]=34;n=+(L|0)*1.7976931348623157e308*1.7976931348623157e308;break e}O=I+-106|0;D=((O|0)<0)<<31>>31;if((s|0)<(D|0)|(s|0)==(D|0)&i>>>0<O>>>0){f[(Ig()|0)>>2]=34;n=+(L|0)*2.2250738585072014e-308*2.2250738585072014e-308;break e}if((o|0)>-1){do{D=!(n>=.5);O=D&1|o<<1;o=O^1;n=n+(D?n:n+-1);i=E_(i|0,s|0,-1,-1)|0;s=R}while((O|0)>-1)u=i;d=n}else{u=i;d=n}i=g_(32,0,I|0,((I|0)<0)<<31>>31|0)|0;i=E_(u|0,s|0,i|0,R|0)|0;I=R;if(0>(I|0)|0==(I|0)&B>>>0>i>>>0)if((i|0)<0){i=0;T=127}else T=125;else{i=B;T=125}if((T|0)==125)if((i|0)<53)T=127;else{s=i;l=+(L|0);n=0}if((T|0)==127){n=+(L|0);s=i;l=n;n=+Qg(+ry(1,84-i|0),n)}B=(o&1|0)==0&(d!=0&(s|0)<32);n=l*(B?0:d)+(n+l*+(((B&1)+o|0)>>>0))-n;if(!(n!=0))f[(Ig()|0)>>2]=34;n=+ty(n,u);break e}else i=s;while(0)x=I+B|0;D=0-x|0;o=0;r:while(1){switch(i|0){case 46:{T=138;break r}case 48:break;default:{s=0;k=0;b=0;break r}}i=f[P>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[P>>2]=i+1;i=a[i>>0]|0;o=1;continue}else{i=Ug(e)|0;o=1;continue}}if((T|0)==138){i=f[P>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[P>>2]=i+1;i=a[i>>0]|0}else i=Ug(e)|0;if((i|0)==48){s=0;i=0;while(1){s=E_(s|0,i|0,-1,-1)|0;o=R;i=f[P>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[P>>2]=i+1;i=a[i>>0]|0}else i=Ug(e)|0;if((i|0)==48)i=o;else{k=o;o=1;b=1;break}}}else{s=0;k=0;b=1}}f[O>>2]=0;h=i+-48|0;u=(i|0)==46;r:do if(u|h>>>0<10){M=O+496|0;A=0;p=0;v=u;T=k;_=o;S=b;o=0;u=0;b=0;t:while(1){do if(v)if(!S){s=A;k=p;S=1}else{k=T;i=A;h=p;break t}else{v=E_(A|0,p|0,1,0)|0;p=R;E=(i|0)!=48;if((u|0)>=125){if(!E){k=T;A=v;break}f[M>>2]=f[M>>2]|1;k=T;A=v;break}k=O+(u<<2)|0;if(o)h=i+-48+((f[k>>2]|0)*10|0)|0;f[k>>2]=h;o=o+1|0;h=(o|0)==9;k=T;A=v;_=1;o=h?0:o;u=(h&1)+u|0;b=E?v:b}while(0)i=f[P>>2]|0;if(i>>>0<(f[C>>2]|0)>>>0){f[P>>2]=i+1;i=a[i>>0]|0}else i=Ug(e)|0;h=i+-48|0;v=(i|0)==46;if(!(v|h>>>0<10)){h=S;T=161;break r}else T=k}_=(_|0)!=0;T=169}else{A=0;p=0;_=o;h=b;o=0;u=0;b=0;T=161}while(0)do if((T|0)==161){M=(h|0)==0;s=M?A:s;k=M?p:k;_=(_|0)!=0;if(!((i|32|0)==101&_))if((i|0)>-1){i=A;h=p;T=169;break}else{i=A;h=p;T=171;break}h=Zy(e,r)|0;i=R;if((h|0)==0&(i|0)==-2147483648){if(!r){jg(e,0);n=0;break}if(!(f[C>>2]|0)){h=0;i=0}else{f[P>>2]=(f[P>>2]|0)+-1;h=0;i=0}}s=E_(h|0,i|0,s|0,k|0)|0;_=A;k=R;h=p;T=173}while(0)if((T|0)==169)if(f[C>>2]|0){f[P>>2]=(f[P>>2]|0)+-1;if(_){_=i;T=173}else T=172}else T=171;if((T|0)==171)if(_){_=i;T=173}else T=172;do if((T|0)==172){f[(Ig()|0)>>2]=22;jg(e,0);n=0}else if((T|0)==173){i=f[O>>2]|0;if(!i){n=+(L|0)*0;break}if(((h|0)<0|(h|0)==0&_>>>0<10)&((s|0)==(_|0)&(k|0)==(h|0))?B>>>0>30|(i>>>B|0)==0:0){n=+(L|0)*+(i>>>0);break}e=(I|0)/-2|0;P=((e|0)<0)<<31>>31;if((k|0)>(P|0)|(k|0)==(P|0)&s>>>0>e>>>0){f[(Ig()|0)>>2]=34;n=+(L|0)*1.7976931348623157e308*1.7976931348623157e308;break}e=I+-106|0;P=((e|0)<0)<<31>>31;if((k|0)<(P|0)|(k|0)==(P|0)&s>>>0<e>>>0){f[(Ig()|0)>>2]=34;n=+(L|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(o){if((o|0)<9){h=O+(u<<2)|0;i=f[h>>2]|0;do{i=i*10|0;o=o+1|0}while((o|0)!=9)f[h>>2]=i}u=u+1|0}if((b|0)<9?(b|0)<=(s|0)&(s|0)<18:0){if((s|0)==9){n=+(L|0)*+((f[O>>2]|0)>>>0);break}if((s|0)<9){n=+(L|0)*+((f[O>>2]|0)>>>0)/+(f[37312+(8-s<<2)>>2]|0);break}e=B+27+(re(s,-3)|0)|0;i=f[O>>2]|0;if((e|0)>30|(i>>>e|0)==0){n=+(L|0)*+(i>>>0)*+(f[37312+(s+-10<<2)>>2]|0);break}}i=(s|0)%9|0;if(!i){o=0;i=0}else{_=(s|0)>-1?i:i+9|0;h=f[37312+(8-_<<2)>>2]|0;if(u){b=1e9/(h|0)|0;o=0;i=0;k=0;do{C=O+(k<<2)|0;P=f[C>>2]|0;e=((P>>>0)/(h>>>0)|0)+i|0;f[C>>2]=e;i=re((P>>>0)%(h>>>0)|0,b)|0;e=(k|0)==(o|0)&(e|0)==0;k=k+1|0;s=e?s+-9|0:s;o=e?k&127:o}while((k|0)!=(u|0))if(i){f[O+(u<<2)>>2]=i;u=u+1|0}}else{o=0;u=0}i=0;s=9-_+s|0}r:while(1){p=(s|0)<18;v=(s|0)==18;E=O+(o<<2)|0;do{if(!p){if(!v)break r;if((f[E>>2]|0)>>>0>=9007199){s=18;break r}}h=0;b=u+127|0;while(1){_=b&127;k=O+(_<<2)|0;b=T_(f[k>>2]|0,0,29)|0;b=E_(b|0,R|0,h|0,0)|0;h=R;if(h>>>0>0|(h|0)==0&b>>>0>1e9){e=L_(b|0,h|0,1e9,0)|0;b=I_(b|0,h|0,1e9,0)|0;h=e}else h=0;f[k>>2]=b;e=(_|0)==(o|0);u=(_|0)!=(u+127&127|0)|e?u:(b|0)==0?_:u;if(e)break;else b=_+-1|0}i=i+-29|0}while((h|0)==0)o=o+127&127;if((o|0)==(u|0)){e=u+127&127;u=O+((u+126&127)<<2)|0;f[u>>2]=f[u>>2]|f[O+(e<<2)>>2];u=e}f[O+(o<<2)>>2]=h;s=s+9|0}r:while(1){A=u+1&127;E=O+((u+127&127)<<2)|0;while(1){p=(s|0)==18;v=(s|0)>27?9:1;_=p^1;while(1){b=o&127;k=(b|0)==(u|0);do if(!k){h=f[O+(b<<2)>>2]|0;if(h>>>0<9007199){T=219;break}if(h>>>0>9007199)break;h=o+1&127;if((h|0)==(u|0)){T=219;break}h=f[O+(h<<2)>>2]|0;if(h>>>0<254740991){T=219;break}if(!(h>>>0>254740991|_)){s=b;break r}}else T=219;while(0)if((T|0)==219?(T=0,p):0){T=220;break r}i=i+v|0;if((o|0)==(u|0))o=u;else break}_=(1<<v)+-1|0;p=1e9>>>v;b=o;h=0;k=o;while(1){P=O+(k<<2)|0;e=f[P>>2]|0;o=(e>>>v)+h|0;f[P>>2]=o;h=re(e&_,p)|0;o=(k|0)==(b|0)&(o|0)==0;k=k+1&127;s=o?s+-9|0:s;o=o?k:b;if((k|0)==(u|0))break;else b=o}if(!h)continue;if((A|0)!=(o|0))break;f[E>>2]=f[E>>2]|1}f[O+(u<<2)>>2]=h;u=A}if((T|0)==220)if(k){f[O+(A+-1<<2)>>2]=0;s=u;u=A}else s=b;n=+((f[O+(s<<2)>>2]|0)>>>0);s=o+1&127;if((s|0)==(u|0)){u=o+2&127;f[O+(u+-1<<2)>>2]=0}m=+(L|0);l=m*(n*1e9+ +((f[O+(s<<2)>>2]|0)>>>0));p=i+53|0;k=p-I|0;_=(k|0)<(B|0);s=_&1;b=_?(k|0)<0?0:k:B;if((b|0)<53){F=+Qg(+ry(1,105-b|0),l);d=+$g(l,+ry(1,53-b|0));w=F;n=d;d=F+(l-d)}else{w=0;n=0;d=l}h=o+2&127;do if((h|0)==(u|0))l=n;else{h=f[O+(h<<2)>>2]|0;do if(h>>>0>=5e8){if(h>>>0>5e8){n=m*.75+n;break}if((o+3&127|0)==(u|0)){n=m*.5+n;break}else{n=m*.75+n;break}}else{if((h|0)==0?(o+3&127|0)==(u|0):0)break;n=m*.25+n}while(0)if((53-b|0)<=1){l=n;break}if(+$g(n,1)!=0){l=n;break}l=n+1}while(0)n=d+l-w;do if((p&2147483647|0)>(-2-x|0)){if(+q(+n)>=9007199254740992){s=_&(b|0)==(k|0)?0:s;i=i+1|0;n=n*.5}if((i+50|0)<=(D|0)?!(l!=0&(s|0)!=0):0)break;f[(Ig()|0)>>2]=34}while(0)n=+ty(n,i)}while(0)break e}default:{if(f[C>>2]|0)f[P>>2]=(f[P>>2]|0)+-1;f[(Ig()|0)>>2]=22;jg(e,0);n=0;break e}}}}while(0)if((T|0)==23){s=(f[C>>2]|0)==0;if(!s)f[P>>2]=(f[P>>2]|0)+-1;if((r|0)!=0&i>>>0>3)do{if(!s)f[P>>2]=(f[P>>2]|0)+-1;i=i+-1|0}while(i>>>0>3)}n=+(L|0)*y}while(0)c=N;return+n}function Fg(e,i,r,n,s){e=e|0;i=i|0;r=r|0;n=n|0;s=s|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;e:do if(i>>>0>36){f[(Ig()|0)>>2]=22;s=0;n=0}else{m=e+4|0;w=e+100|0;do{l=f[m>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[m>>2]=l+1;l=a[l>>0]|0}else l=Ug(e)|0}while((Og(l)|0)!=0)i:do switch(l|0){case 43:case 45:{o=((l|0)==45)<<31>>31;l=f[m>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[m>>2]=l+1;l=a[l>>0]|0;k=o;break i}else{l=Ug(e)|0;k=o;break i}}default:k=0}while(0)o=(i|0)==0;do if((i&-17|0)==0&(l|0)==48){l=f[m>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[m>>2]=l+1;l=a[l>>0]|0}else l=Ug(e)|0;if((l|32|0)!=120)if(o){i=8;h=46;break}else{h=32;break}i=f[m>>2]|0;if(i>>>0<(f[w>>2]|0)>>>0){f[m>>2]=i+1;l=a[i>>0]|0}else l=Ug(e)|0;if((a[53879+(l+1)>>0]|0)>15){n=(f[w>>2]|0)==0;if(!n)f[m>>2]=(f[m>>2]|0)+-1;if(!r){jg(e,0);s=0;n=0;break e}if(n){s=0;n=0;break e}f[m>>2]=(f[m>>2]|0)+-1;s=0;n=0;break e}else{i=16;h=46}}else{i=o?10:i;if((a[53879+(l+1)>>0]|0)>>>0<i>>>0)h=32;else{if(f[w>>2]|0)f[m>>2]=(f[m>>2]|0)+-1;jg(e,0);f[(Ig()|0)>>2]=22;s=0;n=0;break e}}while(0)if((h|0)==32)if((i|0)==10){i=l+-48|0;if(i>>>0<10){l=0;while(1){o=(l*10|0)+i|0;i=f[m>>2]|0;if(i>>>0<(f[w>>2]|0)>>>0){f[m>>2]=i+1;l=a[i>>0]|0}else l=Ug(e)|0;i=l+-48|0;if(!(i>>>0<10&o>>>0<429496729)){i=o;break}else l=o}o=0}else{i=0;o=0}r=l+-48|0;if(r>>>0<10){while(1){u=O_(i|0,o|0,10,0)|0;c=R;d=((r|0)<0)<<31>>31;b=~d;if(c>>>0>b>>>0|(c|0)==(b|0)&u>>>0>~r>>>0){u=i;break}i=E_(u|0,c|0,r|0,d|0)|0;o=R;l=f[m>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[m>>2]=l+1;l=a[l>>0]|0}else l=Ug(e)|0;r=l+-48|0;if(!(r>>>0<10&(o>>>0<429496729|(o|0)==429496729&i>>>0<2576980378))){u=i;break}}if(r>>>0>9){l=u;i=k}else{i=10;h=72}}else{l=i;i=k}}else h=46;i:do if((h|0)==46){if(!(i+-1&i)){h=t[54136+((i*23|0)>>>5&7)>>0]|0;o=t[53879+(l+1)>>0]|0;r=o&255;if(r>>>0<i>>>0){l=0;while(1){u=r|l<<h;l=f[m>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[m>>2]=l+1;l=a[l>>0]|0}else l=Ug(e)|0;o=t[53879+(l+1)>>0]|0;r=o&255;if(!(u>>>0<134217728&r>>>0<i>>>0))break;else l=u}r=0}else{r=0;u=0}c=A_(-1,-1,h|0)|0;d=R;if((o&255)>>>0>=i>>>0|(r>>>0>d>>>0|(r|0)==(d|0)&u>>>0>c>>>0)){o=r;h=72;break}else l=r;while(1){u=T_(u|0,l|0,h|0)|0;r=R;u=o&255|u;l=f[m>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[m>>2]=l+1;l=a[l>>0]|0}else l=Ug(e)|0;o=t[53879+(l+1)>>0]|0;if((o&255)>>>0>=i>>>0|(r>>>0>d>>>0|(r|0)==(d|0)&u>>>0>c>>>0)){o=r;h=72;break i}else l=r}}o=t[53879+(l+1)>>0]|0;r=o&255;if(r>>>0<i>>>0){l=0;while(1){u=r+(re(l,i)|0)|0;l=f[m>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[m>>2]=l+1;l=a[l>>0]|0}else l=Ug(e)|0;o=t[53879+(l+1)>>0]|0;r=o&255;if(!(u>>>0<119304647&r>>>0<i>>>0))break;else l=u}r=0}else{u=0;r=0}if((o&255)>>>0<i>>>0){h=L_(-1,-1,i|0,0)|0;b=R;d=r;while(1){if(d>>>0>b>>>0|(d|0)==(b|0)&u>>>0>h>>>0){o=d;h=72;break i}r=O_(u|0,d|0,i|0,0)|0;c=R;o=o&255;if(c>>>0>4294967295|(c|0)==-1&r>>>0>~o>>>0){o=d;h=72;break i}u=E_(o|0,0,r|0,c|0)|0;r=R;l=f[m>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[m>>2]=l+1;l=a[l>>0]|0}else l=Ug(e)|0;o=t[53879+(l+1)>>0]|0;if((o&255)>>>0>=i>>>0){o=r;h=72;break}else d=r}}else{o=r;h=72}}while(0)if((h|0)==72)if((a[53879+(l+1)>>0]|0)>>>0<i>>>0){do{l=f[m>>2]|0;if(l>>>0<(f[w>>2]|0)>>>0){f[m>>2]=l+1;l=a[l>>0]|0}else l=Ug(e)|0}while((a[53879+(l+1)>>0]|0)>>>0<i>>>0)f[(Ig()|0)>>2]=34;o=s;l=n;i=(n&1|0)==0&0==0?k:0}else{l=u;i=k}if(f[w>>2]|0)f[m>>2]=(f[m>>2]|0)+-1;if(!(o>>>0<s>>>0|(o|0)==(s|0)&l>>>0<n>>>0)){if(!((n&1|0)!=0|0!=0|(i|0)!=0)){f[(Ig()|0)>>2]=34;n=E_(n|0,s|0,-1,-1)|0;s=R;break}if(o>>>0>s>>>0|(o|0)==(s|0)&l>>>0>n>>>0){f[(Ig()|0)>>2]=34;break}}n=((i|0)<0)<<31>>31;n=g_(l^i|0,o^n|0,i|0,n|0)|0;s=R}while(0)R=s;return n|0}function jg(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;f[e+104>>2]=i;r=f[e+4>>2]|0;t=f[e+8>>2]|0;n=t-r|0;f[e+108>>2]=n;if((i|0)!=0&(n|0)>(i|0))f[e+100>>2]=r+i;else f[e+100>>2]=t;return}function Ug(e){e=e|0;var i=0,r=0,n=0,s=0,l=0,o=0;r=e+104|0;l=f[r>>2]|0;if((l|0)!=0?(f[e+108>>2]|0)>=(l|0):0)o=4;else{i=Sy(e)|0;if((i|0)>=0){s=f[r>>2]|0;r=e+8|0;if(s){n=f[r>>2]|0;l=f[e+4>>2]|0;r=n;s=s-(f[e+108>>2]|0)+-1|0;if((r-l|0)>(s|0))f[e+100>>2]=l+s;else o=9}else{n=f[r>>2]|0;r=n;o=9}if((o|0)==9)f[e+100>>2]=r;r=f[e+4>>2]|0;if(n){e=e+108|0;f[e>>2]=n+1-r+(f[e>>2]|0)}r=r+-1|0;if((a[r>>0]|0|0)!=(i|0))t[r>>0]=i}else o=4}if((o|0)==4){f[e+100>>2]=0;i=-1}return i|0}function Hg(e){e=e|0;if(e>>>0>4294963200){f[(Ig()|0)>>2]=0-e;e=-1}return e|0}function Yg(e){e=e|0;return 0}function qg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return t|0}function zg(e,i){e=e|0;i=i|0;return-1|0}function Xg(e){e=e|0;Dc(e);return}function Gg(e,i){e=e|0;i=i|0;return(e+-48|0)>>>0<10|0}function Vg(e,i){e=e|0;i=i|0;return Lg(e)|0}function Kg(e,i,r){e=e|0;i=i|0;r=r|0;if(((t[i>>0]|0)!=0?(zy(i,58885)|0)!=0:0)?(zy(i,54145)|0)!=0:0)r=0;else if(!r)r=Rc(1,4)|0;return r|0}function Wg(e){e=e|0;var i=0,r=0;i=(ni()|0)+176|0;r=f[i>>2]|0;if(e)f[i>>2]=e;return r|0}function Jg(e,i){e=+e;i=+i;var r=0,t=0;u[h>>3]=e;t=f[h>>2]|0;r=f[h+4>>2]|0;u[h>>3]=i;r=f[h+4>>2]&-2147483648|r&2147483647;f[h>>2]=t;f[h+4>>2]=r;return+ +u[h>>3]}function Qg(e,i){e=+e;i=+i;return+ +Jg(e,i)}function Zg(e,i){e=+e;i=+i;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,c=0,d=0,b=0,k=0,w=0;u[h>>3]=e;r=f[h>>2]|0;c=f[h+4>>2]|0;u[h>>3]=i;d=f[h>>2]|0;b=f[h+4>>2]|0;t=A_(r|0,c|0,52)|0;t=t&2047;l=A_(d|0,b|0,52)|0;l=l&2047;k=c&-2147483648;s=T_(d|0,b|0,1)|0;o=R;e:do if(!((s|0)==0&(o|0)==0)?(a=b&2147483647,!(a>>>0>2146435072|(a|0)==2146435072&d>>>0>0|(t|0)==2047)):0){n=T_(r|0,c|0,1)|0;a=R;if(!(a>>>0>o>>>0|(a|0)==(o|0)&n>>>0>s>>>0))return+((n|0)==(s|0)&(a|0)==(o|0)?e*0:e);if(!t){t=T_(r|0,c|0,12)|0;n=R;if((n|0)>-1|(n|0)==-1&t>>>0>4294967295){a=t;t=0;do{t=t+-1|0;a=T_(a|0,n|0,1)|0;n=R}while((n|0)>-1|(n|0)==-1&a>>>0>4294967295)}else t=0;r=T_(r|0,c|0,1-t|0)|0;n=R}else n=c&1048575|1048576;if(!l){a=T_(d|0,b|0,12)|0;s=R;if((s|0)>-1|(s|0)==-1&a>>>0>4294967295){l=0;do{l=l+-1|0;a=T_(a|0,s|0,1)|0;s=R}while((s|0)>-1|(s|0)==-1&a>>>0>4294967295)}else l=0;d=T_(d|0,b|0,1-l|0)|0;c=R}else c=b&1048575|1048576;o=g_(r|0,n|0,d|0,c|0)|0;s=R;a=(s|0)>-1|(s|0)==-1&o>>>0>4294967295;i:do if((t|0)>(l|0)){while(1){if(a)if((r|0)==(d|0)&(n|0)==(c|0))break;else{r=o;n=s}r=T_(r|0,n|0,1)|0;n=R;t=t+-1|0;o=g_(r|0,n|0,d|0,c|0)|0;s=R;a=(s|0)>-1|(s|0)==-1&o>>>0>4294967295;if((t|0)<=(l|0))break i}i=e*0;break e}while(0)if(a)if((r|0)==(d|0)&(n|0)==(c|0)){i=e*0;break}else{n=s;r=o}if(n>>>0<1048576|(n|0)==1048576&r>>>0<0)do{r=T_(r|0,n|0,1)|0;n=R;t=t+-1|0}while(n>>>0<1048576|(n|0)==1048576&r>>>0<0)if((t|0)>0){b=E_(r|0,n|0,0,-1048576)|0;r=R;t=T_(t|0,0,52)|0;r=r|R;t=b|t}else{t=A_(r|0,n|0,1-t|0)|0;r=R}f[h>>2]=t;f[h+4>>2]=r|k;i=+u[h>>3]}else w=3;while(0)if((w|0)==3){i=e*i;i=i/i}return+i}function $g(e,i){e=+e;i=+i;return+ +Zg(e,i)}function ey(e,i){e=+e;i=i|0;var r=0,t=0,n=0;u[h>>3]=e;r=f[h>>2]|0;t=f[h+4>>2]|0;n=A_(r|0,t|0,52)|0;n=n&2047;switch(n|0){case 0:{if(e!=0){e=+ey(e*0x10000000000000000,i);r=(f[i>>2]|0)+-64|0}else r=0;f[i>>2]=r;break}case 2047:break;default:{f[i>>2]=n+-1022;f[h>>2]=r;f[h+4>>2]=t&-2146435073|1071644672;e=+u[h>>3]}}return+e}function iy(e,i){e=+e;i=i|0;return+ +ey(e,i)}function ry(e,i){e=+e;i=i|0;var r=0;if((i|0)>1023){e=e*8.98846567431158e307;r=i+-1023|0;if((r|0)>1023){r=i+-2046|0;r=(r|0)>1023?1023:r;e=e*8.98846567431158e307}}else if((i|0)<-1022){e=e*2.2250738585072014e-308;r=i+1022|0;if((r|0)<-1022){r=i+2044|0;r=(r|0)<-1022?-1022:r;e=e*2.2250738585072014e-308}}else r=i;r=T_(r+1023|0,0,52)|0;i=R;f[h>>2]=r;f[h+4>>2]=i;return+(e*+u[h>>3])}function ty(e,i){e=+e;i=i|0;return+ +ry(e,i)}function ny(e,i,r){e=e|0;i=i|0;r=r|0;return fy(0,e,i,(r|0)!=0?r:37344)|0}function fy(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0;u=c;c=c+16|0;a=u;l=(n|0)==0?37348:n;n=f[l>>2]|0;e:do if(!i)if(!n)n=0;else o=15;else{s=(e|0)==0?a:e;if(!r)n=-2;else{if(!n){n=t[i>>0]|0;a=n&255;if(n<<24>>24>-1){f[s>>2]=a;n=n<<24>>24!=0&1;break}n=a+-194|0;if(n>>>0>50){o=15;break}n=f[37076+(n<<2)>>2]|0;a=r+-1|0;if(a){i=i+1|0;o=9}}else{a=r;o=9}i:do if((o|0)==9){e=t[i>>0]|0;d=(e&255)>>>3;if((d+-16|d+(n>>26))>>>0>7){o=15;break e}while(1){i=i+1|0;n=(e&255)+-128|n<<6;a=a+-1|0;if((n|0)>=0)break;if(!a)break i;e=t[i>>0]|0;if((e&-64)<<24>>24!=-128){o=15;break e}}f[l>>2]=0;f[s>>2]=n;n=r-a|0;break e}while(0)f[l>>2]=n;n=-2}}while(0)if((o|0)==15){f[l>>2]=0;f[(Ig()|0)>>2]=84;n=-1}c=u;return n|0}function ay(e){e=e|0;if(!e)e=1;else e=(f[e>>2]|0)==0;return e&1|0}function sy(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0;b=c;c=c+1040|0;u=b+8|0;h=b;o=f[i>>2]|0;f[h>>2]=o;d=(e|0)!=0;t=d?t:256;e=d?e:u;a=o;e:do if((t|0)!=0&(o|0)!=0){l=t;o=a;t=0;while(1){a=r>>>2;s=a>>>0>=l>>>0;if(!(r>>>0>131|s)){a=o;break e}a=s?l:a;r=r-a|0;a=ly(e,h,a,n)|0;if((a|0)==-1){t=r;break}k=(e|0)==(u|0);o=k?0:a;s=l-o|0;e=k?e:e+(a<<2)|0;t=a+t|0;a=f[h>>2]|0;if((l|0)!=(o|0)&(a|0)!=0){l=s;o=a}else{l=s;break e}}r=t;l=0;a=f[h>>2]|0;t=-1}else{l=t;t=0}while(0)e:do if((a|0)!=0?(l|0)!=0&(r|0)!=0:0){s=a;a=e;while(1){e=fy(a,s,r,n)|0;if((e+2|0)>>>0<3)break;s=(f[h>>2]|0)+e|0;f[h>>2]=s;l=l+-1|0;t=t+1|0;if(!((l|0)!=0&(r|0)!=(e|0)))break e;else{r=r-e|0;a=a+4|0}}switch(e|0){case-1:{t=-1;break e}case 0:{f[h>>2]=0;break e}default:{f[n>>2]=0;break e}}}while(0)if(d)f[i>>2]=f[h>>2];c=b;return t|0}function ly(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var s=0,l=0,o=0,u=0,c=0,d=0;s=f[i>>2]|0;if((n|0)!=0?(l=f[n>>2]|0,(l|0)!=0):0)if(!e){n=r;o=s;d=16}else{f[n>>2]=0;c=e;n=r;u=l;d=37}else if(!e){n=r;d=7}else{l=e;n=r;d=6}e:while(1)if((d|0)==6){if(!n){d=26;break}else e=l;while(1){l=t[s>>0]|0;do if(((l&255)+-1|0)>>>0<127?n>>>0>4&(s&3|0)==0:0){o=s;while(1){s=f[o>>2]|0;if((s+-16843009|s)&-2139062144){l=s;s=o;d=32;break}f[e>>2]=s&255;f[e+4>>2]=a[o+1>>0];f[e+8>>2]=a[o+2>>0];s=o+4|0;l=e+16|0;f[e+12>>2]=a[o+3>>0];n=n+-4|0;if(n>>>0>4){e=l;o=s}else{d=31;break}}if((d|0)==31){e=l;l=t[s>>0]|0;break}else if((d|0)==32){l=l&255;break}}while(0)l=l&255;if((l+-1|0)>>>0>=127)break;s=s+1|0;f[e>>2]=l;n=n+-1|0;if(!n){d=26;break e}else e=e+4|0}l=l+-194|0;if(l>>>0>50){d=48;break}c=e;u=f[37076+(l<<2)>>2]|0;s=s+1|0;d=37;continue}else if((d|0)==7){l=t[s>>0]|0;if(((l&255)+-1|0)>>>0<127?(s&3|0)==0:0){l=f[s>>2]|0;if(!((l+-16843009|l)&-2139062144))do{s=s+4|0;n=n+-4|0;l=f[s>>2]|0}while(((l+-16843009|l)&-2139062144|0)==0)l=l&255}l=l&255;if((l+-1|0)>>>0<127){n=n+-1|0;s=s+1|0;d=7;continue}l=l+-194|0;if(l>>>0>50){d=48;break}l=f[37076+(l<<2)>>2]|0;o=s+1|0;d=16;continue}else if((d|0)==16){d=(a[o>>0]|0)>>>3;if((d+-16|d+(l>>26))>>>0>7){d=17;break}s=o+1|0;if(l&33554432){if((t[s>>0]&-64)<<24>>24!=-128){d=20;break}s=o+2|0;if(l&524288){if((t[s>>0]&-64)<<24>>24!=-128){d=23;break}s=o+3|0}}n=n+-1|0;d=7;continue}else if((d|0)==37){l=a[s>>0]|0;d=l>>>3;if((d+-16|d+(u>>26))>>>0>7){d=38;break}o=s+1|0;e=l+-128|u<<6;if((e|0)<0){l=a[o>>0]|0;if((l&192|0)!=128){d=41;break}o=s+2|0;e=l+-128|e<<6;if((e|0)<0){l=a[o>>0]|0;if((l&192|0)!=128){d=44;break}e=l+-128|e<<6;s=s+3|0}else s=o}else s=o;f[c>>2]=e;l=c+4|0;n=n+-1|0;d=6;continue}if((d|0)==17){s=o+-1|0;d=47}else if((d|0)==20){s=o+-1|0;d=47}else if((d|0)==23){s=o+-1|0;d=47}else if((d|0)==26)f[i>>2]=s;else if((d|0)==38){e=c;l=u;s=s+-1|0;d=47}else if((d|0)==41){n=c;r=s+-1|0;d=52}else if((d|0)==44){n=c;r=s+-1|0;d=52}if((d|0)==47)if(!l)d=48;else{n=e;r=s;d=52}if((d|0)==48)if(!(t[s>>0]|0)){if(e){f[e>>2]=0;f[i>>2]=0}r=r-n|0}else{n=e;r=s;d=52}if((d|0)==52){f[(Ig()|0)>>2]=84;if(!n)r=-1;else{f[i>>2]=r;r=-1}}return r|0}function oy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0;o=c;c=c+16|0;n=o;e:do if(!i)n=0;else{do if(r){l=(e|0)==0?n:e;n=t[i>>0]|0;e=n&255;if(n<<24>>24>-1){f[l>>2]=e;n=n<<24>>24!=0&1;break e}n=e+-194|0;if(n>>>0<=50){e=i+1|0;s=f[37076+(n<<2)>>2]|0;if(r>>>0<4?(s&-2147483648>>>((r*6|0)+-6|0)|0)!=0:0)break;n=a[e>>0]|0;r=n>>>3;if((r+-16|r+(s>>26))>>>0<=7){n=n+-128|s<<6;if((n|0)>=0){f[l>>2]=n;n=2;break e}e=a[i+2>>0]|0;if((e&192|0)==128){e=e+-128|n<<6;if((e|0)>=0){f[l>>2]=e;n=3;break e}n=a[i+3>>0]|0;if((n&192|0)==128){f[l>>2]=n+-128|e<<6;n=4;break e}}}}}while(0)f[(Ig()|0)>>2]=84;n=-1}while(0)c=o;return n|0}function uy(e,i,r){e=e|0;i=i|0;r=r|0;do if(e){if(i>>>0<128){t[e>>0]=i;e=1;break}if(i>>>0<2048){t[e>>0]=i>>>6|192;t[e+1>>0]=i&63|128;e=2;break}if(i>>>0<55296|(i&-8192|0)==57344){t[e>>0]=i>>>12|224;t[e+1>>0]=i>>>6&63|128;t[e+2>>0]=i&63|128;e=3;break}if((i+-65536|0)>>>0<1048576){t[e>>0]=i>>>18|240;t[e+1>>0]=i>>>12&63|128;t[e+2>>0]=i>>>6&63|128;t[e+3>>0]=i&63|128;e=4;break}else{f[(Ig()|0)>>2]=84;e=-1;break}}else e=1;while(0)return e|0}function cy(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0;d=c;c=c+272|0;l=d+8|0;u=d;s=f[i>>2]|0;f[u>>2]=s;o=(e|0)!=0;n=o?t:256;t=o?e:l;e=s;e:do if((n|0)!=0&(s|0)!=0){s=n;a=e;n=0;while(1){e=r>>>0>=s>>>0;if(!(e|r>>>0>32)){e=a;break e}e=e?s:r;r=r-e|0;e=dy(t,u,e,0)|0;if((e|0)==-1){n=r;break}b=(t|0)==(l|0);h=b?0:e;a=s-h|0;t=b?t:t+e|0;n=e+n|0;e=f[u>>2]|0;if((s|0)!=(h|0)&(e|0)!=0){s=a;a=e}else{s=a;break e}}r=n;s=0;e=f[u>>2]|0;n=-1}else{s=n;n=0}while(0)e:do if((e|0)!=0?(s|0)!=0&(r|0)!=0:0){a=e;e=t;while(1){t=uy(e,f[a>>2]|0,0)|0;if((t+1|0)>>>0<2)break;a=(f[u>>2]|0)+4|0;f[u>>2]=a;r=r+-1|0;n=n+1|0;if(!((s|0)!=(t|0)&(r|0)!=0))break e;else{s=s-t|0;e=e+t|0}}if(!t)f[u>>2]=0;else n=-1}while(0)if(o)f[i>>2]=f[u>>2];c=d;return n|0}function dy(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;e:do if(!e){e=f[i>>2]|0;n=f[e>>2]|0;if(!n)r=0;else{r=0;do{if(n>>>0>127){n=uy(l,n,0)|0;if((n|0)==-1){r=-1;break e}}else n=1;r=n+r|0;e=e+4|0;n=f[e>>2]|0}while((n|0)!=0)}}else{i:do if(r>>>0>3){n=r;a=f[i>>2]|0;while(1){s=f[a>>2]|0;if((s+-1|0)>>>0>126){if(!s)break;s=uy(e,s,0)|0;if((s|0)==-1){r=-1;break e}e=e+s|0;n=n-s|0}else{t[e>>0]=s;e=e+1|0;n=n+-1|0;a=f[i>>2]|0}a=a+4|0;f[i>>2]=a;if(n>>>0<=3)break i}t[e>>0]=0;f[i>>2]=0;r=r-n|0;break e}else n=r;while(0)if(n){a=f[i>>2]|0;while(1){s=f[a>>2]|0;if((s+-1|0)>>>0>126){if(!s){a=19;break}s=uy(l,s,0)|0;if((s|0)==-1){r=-1;break e}if(n>>>0<s>>>0){a=22;break}uy(e,f[a>>2]|0,0)|0;e=e+s|0;n=n-s|0}else{t[e>>0]=s;e=e+1|0;n=n+-1|0;a=f[i>>2]|0}a=a+4|0;f[i>>2]=a;if(!n)break e}if((a|0)==19){t[e>>0]=0;f[i>>2]=0;r=r-n|0;break}else if((a|0)==22){r=r-n|0;break}}}while(0)c=o;return r|0}function hy(e,i){e=e|0;i=i|0;if(!e)e=0;else e=uy(e,i,0)|0;return e|0}function by(e){e=e|0;return 0}function ky(e){e=e|0;return}function wy(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+16|0;u=d;o=i&255;t[u>>0]=o;n=e+16|0;s=f[n>>2]|0;if(!s)if(!(Ay(e)|0)){s=f[n>>2]|0;l=4}else r=-1;else l=4;do if((l|0)==4){n=e+20|0;l=f[n>>2]|0;if(l>>>0<s>>>0?(r=i&255,(r|0)!=(t[e+75>>0]|0)):0){f[n>>2]=l+1;t[l>>0]=o;break}if((uE[f[e+36>>2]&63](e,u,1)|0)==1)r=a[u>>0]|0;else r=-1}while(0)c=d;return r|0}function my(e){e=e|0;var i=0,r=0;i=c;c=c+16|0;r=i;f[r>>2]=f[e+60>>2];e=Hg(wi(6,r|0)|0)|0;c=i;return e|0}function _y(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0;d=c;c=c+48|0;s=d+16|0;a=d;n=d+32|0;f[n>>2]=i;l=n+4|0;u=e+48|0;h=f[u>>2]|0;f[l>>2]=r-((h|0)!=0&1);o=e+44|0;f[n+8>>2]=f[o>>2];f[n+12>>2]=h;if(!(f[9258]|0)){f[s>>2]=f[e+60>>2];f[s+4>>2]=n;f[s+8>>2]=2;n=Hg(Ai(145,s|0)|0)|0}else{mi(185,e|0);f[a>>2]=f[e+60>>2];f[a+4>>2]=n;f[a+8>>2]=2;n=Hg(Ai(145,a|0)|0)|0;oi(0)}if((n|0)>=1){l=f[l>>2]|0;if(n>>>0>l>>>0){s=f[o>>2]|0;a=e+4|0;f[a>>2]=s;f[e+8>>2]=s+(n-l);if(!(f[u>>2]|0))n=r;else{f[a>>2]=s+1;t[i+(r+-1)>>0]=t[s>>0]|0;n=r}}}else{f[e>>2]=f[e>>2]|n&48^16;f[e+8>>2]=0;f[e+4>>2]=0}c=d;return n|0}function py(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;n=c;c=c+32|0;a=n;t=n+20|0;f[a>>2]=f[e+60>>2];f[a+4>>2]=0;f[a+8>>2]=i;f[a+12>>2]=t;f[a+16>>2]=r;if((Hg(Ei(140,a|0)|0)|0)<0){f[t>>2]=-1;e=-1}else e=f[t>>2]|0;c=n;return e|0}function vy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;w=c;c=c+48|0;h=w+16|0;d=w;t=w+32|0;b=e+28|0;n=f[b>>2]|0;f[t>>2]=n;k=e+20|0;n=(f[k>>2]|0)-n|0;f[t+4>>2]=n;f[t+8>>2]=i;f[t+12>>2]=r;o=e+60|0;u=e+44|0;i=2;n=n+r|0;while(1){if(!(f[9258]|0)){f[h>>2]=f[o>>2];f[h+4>>2]=t;f[h+8>>2]=i;s=Hg(Si(146,h|0)|0)|0}else{mi(186,e|0);f[d>>2]=f[o>>2];f[d+4>>2]=t;f[d+8>>2]=i;s=Hg(Si(146,d|0)|0)|0;oi(0)}if((n|0)==(s|0)){n=6;break}if((s|0)<0){n=8;break}n=n-s|0;a=f[t+4>>2]|0;if(s>>>0<=a>>>0)if((i|0)==2){f[b>>2]=(f[b>>2]|0)+s;l=a;i=2}else l=a;else{l=f[u>>2]|0;f[b>>2]=l;f[k>>2]=l;l=f[t+12>>2]|0;s=s-a|0;t=t+8|0;i=i+-1|0}f[t>>2]=(f[t>>2]|0)+s;f[t+4>>2]=l-s}if((n|0)==6){h=f[u>>2]|0;f[e+16>>2]=h+(f[e+48>>2]|0);e=h;f[b>>2]=e;f[k>>2]=e}else if((n|0)==8){f[e+16>>2]=0;f[b>>2]=0;f[k>>2]=0;f[e>>2]=f[e>>2]|32;if((i|0)==2)r=0;else r=r-(f[t+4>>2]|0)|0}c=w;return r|0}function gy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;a=c;c=c+80|0;n=a;f[e+36>>2]=8;if((f[e>>2]&64|0)==0?(f[n>>2]=f[e+60>>2],f[n+4>>2]=21505,f[n+8>>2]=a+12,(si(54,n|0)|0)!=0):0)t[e+75>>0]=-1;n=vy(e,i,r)|0;c=a;return n|0}function yy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;t=e+84|0;a=f[t>>2]|0;s=r+256|0;n=Yy(a,0,s)|0;n=(n|0)==0?s:n-a|0;r=n>>>0<r>>>0?n:r;S_(i|0,a|0,r|0)|0;f[e+4>>2]=a+r;i=a+n|0;f[e+8>>2]=i;f[t>>2]=i;return r|0}function Ey(e){e=e|0;var i=0,r=0;i=e+74|0;r=t[i>>0]|0;t[i>>0]=r+255|r;i=e+20|0;r=e+44|0;if((f[i>>2]|0)>>>0>(f[r>>2]|0)>>>0)uE[f[e+36>>2]&63](e,0,0)|0;f[e+16>>2]=0;f[e+28>>2]=0;f[i>>2]=0;i=f[e>>2]|0;if(i&20)if(!(i&4))i=-1;else{f[e>>2]=i|32;i=-1}else{i=f[r>>2]|0;f[e+8>>2]=i;f[e+4>>2]=i;i=0}return i|0}function Ay(e){e=e|0;var i=0,r=0;i=e+74|0;r=t[i>>0]|0;t[i>>0]=r+255|r;i=f[e>>2]|0;if(!(i&8)){f[e+8>>2]=0;f[e+4>>2]=0;i=f[e+44>>2]|0;f[e+28>>2]=i;f[e+20>>2]=i;f[e+16>>2]=i+(f[e+48>>2]|0);i=0}else{f[e>>2]=i|32;i=-1}return i|0}function Sy(e){e=e|0;var i=0,r=0;r=c;c=c+16|0;i=r;if((f[e+8>>2]|0)==0?(Ey(e)|0)!=0:0)i=-1;else if((uE[f[e+32>>2]&63](e,i,1)|0)==1)i=a[i>>0]|0;else i=-1;c=r;return i|0}function Ty(e){e=e|0;var i=0,r=0;do if(e){if((f[e+76>>2]|0)<=-1){i=iE(e)|0;break}r=(by(e)|0)==0;i=iE(e)|0;if(!r)ky(e)}else{if(!(f[9323]|0))i=0;else i=Ty(f[9323]|0)|0;Oe(37060);e=f[9264]|0;if(e)do{if((f[e+76>>2]|0)>-1)r=by(e)|0;else r=0;if((f[e+20>>2]|0)>>>0>(f[e+28>>2]|0)>>>0)i=iE(e)|0|i;if(r)ky(e);e=f[e+56>>2]|0}while((e|0)!=0)li(37060)}while(0)return i|0}function My(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0;if((f[i+76>>2]|0)>=0?(by(i)|0)!=0:0){if((t[i+75>>0]|0)!=(e|0)?(n=i+20|0,a=f[n>>2]|0,a>>>0<(f[i+16>>2]|0)>>>0):0){f[n>>2]=a+1;t[a>>0]=e;r=e&255}else r=wy(i,e)|0;ky(i)}else l=3;do if((l|0)==3){if((t[i+75>>0]|0)!=(e|0)?(s=i+20|0,r=f[s>>2]|0,r>>>0<(f[i+16>>2]|0)>>>0):0){f[s>>2]=r+1;t[r>>0]=e;r=e&255;break}r=wy(i,e)|0}while(0)return r|0}function Cy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=r+16|0;a=f[n>>2]|0;if(!a)if(!(Ay(r)|0)){a=f[n>>2]|0;s=4}else n=0;else s=4;e:do if((s|0)==4){l=r+20|0;s=f[l>>2]|0;if((a-s|0)>>>0<i>>>0){n=uE[f[r+36>>2]&63](r,e,i)|0;break}i:do if((t[r+75>>0]|0)>-1){n=i;while(1){if(!n){a=s;n=0;break i}a=n+-1|0;if((t[e+a>>0]|0)==10)break;else n=a}if((uE[f[r+36>>2]&63](r,e,n)|0)>>>0<n>>>0)break e;i=i-n|0;e=e+n|0;a=f[l>>2]|0}else{a=s;n=0}while(0)S_(a|0,e|0,i|0)|0;f[l>>2]=(f[l>>2]|0)+i;n=n+i|0}while(0)return n|0}function Py(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;n=re(r,i)|0;if((f[t+76>>2]|0)>-1){a=(by(t)|0)==0;e=Cy(e,n,t)|0;if(!a)ky(t)}else e=Cy(e,n,t)|0;if((e|0)!=(n|0))r=(e>>>0)/(i>>>0)|0;return r|0}function xy(e){e=e|0;var i=0,r=0,t=0;if((f[e+76>>2]|0)>=0?(by(e)|0)!=0:0){i=e+4|0;r=f[i>>2]|0;if(r>>>0<(f[e+8>>2]|0)>>>0){f[i>>2]=r+1;i=a[r>>0]|0}else i=Sy(e)|0}else t=3;do if((t|0)==3){i=e+4|0;r=f[i>>2]|0;if(r>>>0<(f[e+8>>2]|0)>>>0){f[i>>2]=r+1;i=a[r>>0]|0;break}else{i=Sy(e)|0;break}}while(0)return i|0}function Dy(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;n=c;c=c+16|0;a=n;f[a>>2]=t;t=Ny(e,i,r,a)|0;c=n;return t|0}function Ry(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=c;c=c+16|0;n=t;f[n>>2]=r;r=Fy(e,i,n)|0;c=t;return r|0}function Oy(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;do if((e|0)!=-1){if((f[i+76>>2]|0)>-1)a=by(i)|0;else a=0;if(!((f[i+8>>2]|0)==0?(Ey(i)|0)!=0:0))s=6;if((s|0)==6?(r=i+4|0,n=f[r>>2]|0,n>>>0>((f[i+44>>2]|0)+-8|0)>>>0):0){s=n+-1|0;f[r>>2]=s;t[s>>0]=e;f[i>>2]=f[i>>2]&-17;if(!a)break;ky(i);break}if(a){ky(i);e=-1}else e=-1}else e=-1;while(0)return e|0}function Ly(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;t=l;n=xc(240)|0;do if(n){f[t>>2]=f[r>>2];t=Ny(n,240,i,t)|0;if(t>>>0<240){i=Oc(n,t+1|0)|0
31
+ ;f[e>>2]=(i|0)!=0?i:n;break}Dc(n);if((t|0)>=0?(s=t+1|0,a=xc(s)|0,f[e>>2]=a,(a|0)!=0):0)t=Ny(a,s,i,r)|0;else t=-1}else t=-1;while(0)c=l;return t|0}function Iy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;_=c;c=c+224|0;b=_+80|0;m=_+96|0;w=_;k=_+136|0;n=m;a=n+40|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(a|0))f[b>>2]=f[r>>2];if((yc(0,i,b,w,m)|0)<0)r=-1;else{if((f[e+76>>2]|0)>-1)d=by(e)|0;else d=0;r=f[e>>2]|0;h=r&32;if((t[e+74>>0]|0)<1)f[e>>2]=r&-33;r=e+48|0;if(!(f[r>>2]|0)){a=e+44|0;s=f[a>>2]|0;f[a>>2]=k;l=e+28|0;f[l>>2]=k;o=e+20|0;f[o>>2]=k;f[r>>2]=80;u=e+16|0;f[u>>2]=k+80;n=yc(e,i,b,w,m)|0;if(s){uE[f[e+36>>2]&63](e,0,0)|0;n=(f[o>>2]|0)==0?-1:n;f[a>>2]=s;f[r>>2]=0;f[u>>2]=0;f[l>>2]=0;f[o>>2]=0}}else n=yc(e,i,b,w,m)|0;r=f[e>>2]|0;f[e>>2]=r|h;if(d)ky(e);r=(r&32|0)==0?n:-1}c=_;return r|0}function By(e,i,r){e=e|0;i=i|0;r=r|0;var s=0,l=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0;H=c;c=c+304|0;O=H+16|0;I=H+8|0;L=H+33|0;B=H;A=H+32|0;if((f[e+76>>2]|0)>-1)U=by(e)|0;else U=0;s=t[i>>0]|0;e:do if(s<<24>>24){N=e+4|0;F=e+100|0;D=e+108|0;S=e+8|0;T=L+10|0;M=L+33|0;C=I+4|0;P=L+46|0;x=L+94|0;d=s;s=0;h=i;_=0;l=0;i=0;i:while(1){r:do if(!(Og(d&255)|0)){d=(t[h>>0]|0)==37;t:do if(d){w=h+1|0;b=t[w>>0]|0;n:do switch(b<<24>>24){case 37:break t;case 42:{E=0;b=h+2|0;break}default:{b=(b&255)+-48|0;if(b>>>0<10?(t[h+2>>0]|0)==36:0){f[O>>2]=f[r>>2];while(1){E=(f[O>>2]|0)+(4-1)&~(4-1);d=f[E>>2]|0;f[O>>2]=E+4;if(b>>>0>1)b=b+-1|0;else break}E=d;b=h+3|0;break n}b=(f[r>>2]|0)+(4-1)&~(4-1);E=f[b>>2]|0;f[r>>2]=b+4;b=w}}while(0)d=t[b>>0]|0;h=d&255;if((h+-48|0)>>>0<10){d=0;while(1){w=(d*10|0)+-48+h|0;b=b+1|0;d=t[b>>0]|0;h=d&255;if((h+-48|0)>>>0>=10)break;else d=w}}else w=0;if(d<<24>>24==109){b=b+1|0;m=t[b>>0]|0;d=(E|0)!=0&1;l=0;i=0}else{m=d;d=0}h=b+1|0;switch(m&255|0){case 104:{y=(t[h>>0]|0)==104;h=y?b+2|0:h;b=y?-2:-1;break}case 108:{y=(t[h>>0]|0)==108;h=y?b+2|0:h;b=y?3:1;break}case 106:{b=3;break}case 116:case 122:{b=1;break}case 76:{b=2;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:{h=b;b=0;break}default:{j=152;break i}}m=a[h>>0]|0;p=(m&47|0)==3;m=p?m|32:m;p=p?1:b;switch(m|0){case 99:{y=_;g=(w|0)<1?1:w;break}case 91:{y=_;g=w;break}case 110:{if(!E){b=_;break r}switch(p|0){case-2:{t[E>>0]=_;b=_;break r}case-1:{n[E>>1]=_;b=_;break r}case 0:{f[E>>2]=_;b=_;break r}case 1:{f[E>>2]=_;b=_;break r}case 3:{b=E;f[b>>2]=_;f[b+4>>2]=((_|0)<0)<<31>>31;b=_;break r}default:{b=_;break r}}}default:{jg(e,0);do{b=f[N>>2]|0;if(b>>>0<(f[F>>2]|0)>>>0){f[N>>2]=b+1;b=a[b>>0]|0}else b=Ug(e)|0}while((Og(b)|0)!=0)b=f[N>>2]|0;if(f[F>>2]|0){b=b+-1|0;f[N>>2]=b}y=(f[D>>2]|0)+_+b-(f[S>>2]|0)|0;g=w}}jg(e,g);b=f[N>>2]|0;w=f[F>>2]|0;if(b>>>0<w>>>0)f[N>>2]=b+1;else{if((Ug(e)|0)<0){j=152;break i}w=f[F>>2]|0}if(w)f[N>>2]=(f[N>>2]|0)+-1;n:do switch(m|0){case 91:case 99:case 115:{v=(m|0)==99;f:do if((m&239|0)==99){y_(L|0,-1,257)|0;t[L>>0]=0;if((m|0)==115){t[M>>0]=0;t[T>>0]=0;t[T+1>>0]=0;t[T+2>>0]=0;t[T+3>>0]=0;t[T+4>>0]=0}}else{Y=h+1|0;_=(t[Y>>0]|0)==94;b=_&1;m=_?Y:h;h=_?h+2|0:Y;y_(L|0,_&1|0,257)|0;t[L>>0]=0;switch(t[h>>0]|0){case 45:{_=(b^1)&255;t[P>>0]=_;h=m+2|0;break}case 93:{_=(b^1)&255;t[x>>0]=_;h=m+2|0;break}default:_=(b^1)&255}while(1){b=t[h>>0]|0;a:do switch(b<<24>>24){case 0:{j=152;break i}case 93:break f;case 45:{m=h+1|0;b=t[m>>0]|0;switch(b<<24>>24){case 93:case 0:{b=45;break a}default:{}}h=t[h+-1>>0]|0;if((h&255)<(b&255)){h=h&255;do{h=h+1|0;t[L+h>>0]=_;b=t[m>>0]|0}while((h|0)<(b&255|0))h=m}else h=m;break}default:{}}while(0)t[L+((b&255)+1)>>0]=_;h=h+1|0}}while(0)m=v?g+1|0:31;_=(p|0)==1;p=(d|0)!=0;f:do if(_){if(p){i=xc(m<<2)|0;if(!i){l=0;j=152;break i}}else i=E;f[I>>2]=0;f[C>>2]=0;l=0;a:while(1){w=(i|0)==0;do{s:while(1){b=f[N>>2]|0;if(b>>>0<(f[F>>2]|0)>>>0){f[N>>2]=b+1;b=a[b>>0]|0}else b=Ug(e)|0;if(!(t[L+(b+1)>>0]|0))break a;t[A>>0]=b;switch(fy(B,A,1,I)|0){case-1:{l=0;j=152;break i}case-2:break;default:break s}}if(!w){f[i+(l<<2)>>2]=f[B>>2];l=l+1|0}}while(!(p&(l|0)==(m|0)))l=m<<1|1;b=Oc(i,l<<2)|0;if(!b){l=0;j=152;break i}Y=m;m=l;i=b;l=Y}if(!(ay(I)|0)){l=0;j=152;break i}else{w=l;l=0}}else{if(p){l=xc(m)|0;if(!l){l=0;i=0;j=152;break i}else b=0;while(1){do{i=f[N>>2]|0;if(i>>>0<(f[F>>2]|0)>>>0){f[N>>2]=i+1;i=a[i>>0]|0}else i=Ug(e)|0;if(!(t[L+(i+1)>>0]|0)){w=b;i=0;break f}t[l+b>>0]=i;b=b+1|0}while((b|0)!=(m|0))i=m<<1|1;b=Oc(l,i)|0;if(!b){i=0;j=152;break i}else{Y=m;m=i;l=b;b=Y}}}if(!E){l=w;while(1){i=f[N>>2]|0;if(i>>>0<l>>>0){f[N>>2]=i+1;i=a[i>>0]|0}else i=Ug(e)|0;if(!(t[L+(i+1)>>0]|0)){w=0;l=0;i=0;break f}l=f[F>>2]|0}}else{l=0;while(1){i=f[N>>2]|0;if(i>>>0<w>>>0){f[N>>2]=i+1;i=a[i>>0]|0}else i=Ug(e)|0;if(!(t[L+(i+1)>>0]|0)){w=l;l=E;i=0;break f}t[E+l>>0]=i;w=f[F>>2]|0;l=l+1|0}}}while(0)b=f[N>>2]|0;if(f[F>>2]|0){b=b+-1|0;f[N>>2]=b}b=b-(f[S>>2]|0)+(f[D>>2]|0)|0;if(!b)break i;if(!((b|0)==(g|0)|v^1))break i;do if(p)if(_){f[E>>2]=i;break}else{f[E>>2]=l;break}while(0)if(!v){if(i)f[i+(w<<2)>>2]=0;if(!l){l=0;break n}t[l+w>>0]=0}break}case 120:case 88:case 112:{b=16;j=134;break}case 111:{b=8;j=134;break}case 117:case 100:{b=10;j=134;break}case 105:{b=0;j=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{k=+Ng(e,p,0);if((f[D>>2]|0)==((f[S>>2]|0)-(f[N>>2]|0)|0))break i;if(E)switch(p|0){case 0:{o[E>>2]=k;break n}case 1:{u[E>>3]=k;break n}case 2:{u[E>>3]=k;break n}default:break n}break}default:{}}while(0)n:do if((j|0)==134){j=0;b=Fg(e,b,0,-1,-1)|0;if((f[D>>2]|0)==((f[S>>2]|0)-(f[N>>2]|0)|0))break i;if((E|0)!=0&(m|0)==112){f[E>>2]=b;break}if(E)switch(p|0){case-2:{t[E>>0]=b;break n}case-1:{n[E>>1]=b;break n}case 0:{f[E>>2]=b;break n}case 1:{f[E>>2]=b;break n}case 3:{Y=E;f[Y>>2]=b;f[Y+4>>2]=R;break n}default:break n}}while(0)s=((E|0)!=0&1)+s|0;b=(f[D>>2]|0)+y+(f[N>>2]|0)-(f[S>>2]|0)|0;break r}while(0)h=h+(d&1)|0;jg(e,0);d=f[N>>2]|0;if(d>>>0<(f[F>>2]|0)>>>0){f[N>>2]=d+1;d=a[d>>0]|0}else d=Ug(e)|0;if((d|0)!=(a[h>>0]|0)){j=21;break i}b=_+1|0}else{while(1){d=h+1|0;if(!(Og(a[d>>0]|0)|0))break;else h=d}jg(e,0);do{d=f[N>>2]|0;if(d>>>0<(f[F>>2]|0)>>>0){f[N>>2]=d+1;d=a[d>>0]|0}else d=Ug(e)|0}while((Og(d)|0)!=0)d=f[N>>2]|0;if(f[F>>2]|0){d=d+-1|0;f[N>>2]=d}b=(f[D>>2]|0)+_+d-(f[S>>2]|0)|0}while(0)h=h+1|0;d=t[h>>0]|0;if(!(d<<24>>24))break e;else _=b}if((j|0)==21){if(f[F>>2]|0)f[N>>2]=(f[N>>2]|0)+-1;if((s|0)!=0|(d|0)>-1)break;else{s=0;j=153}}else if((j|0)==152)if(!s){s=d;j=153}if((j|0)==153){d=s;s=-1}if(d){Dc(l);Dc(i)}}else s=0;while(0)if(U)ky(e);c=H;return s|0}function Ny(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0;h=c;c=c+128|0;a=h+112|0;d=h;s=d;l=37352;o=s+112|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0))if((i+-1|0)>>>0>2147483646)if(!i){i=1;u=4}else{f[(Ig()|0)>>2]=75;i=-1}else{a=e;u=4}if((u|0)==4){u=-2-a|0;u=i>>>0>u>>>0?u:i;f[d+48>>2]=u;e=d+20|0;f[e>>2]=a;f[d+44>>2]=a;i=a+u|0;a=d+16|0;f[a>>2]=i;f[d+28>>2]=i;i=Iy(d,r,n)|0;if(u){r=f[e>>2]|0;t[r+(((r|0)==(f[a>>2]|0))<<31>>31)>>0]=0}}c=h;return i|0}function Fy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0;a=c;c=c+112|0;t=a;n=t;s=n+112|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(s|0))f[t+32>>2]=29;f[t+44>>2]=e;f[t+76>>2]=-1;f[t+84>>2]=e;s=By(t,i,r)|0;c=a;return s|0}function jy(e,i,r){e=e|0;i=i|0;r=r|0;return+ +Ac(e,i,2)}function Uy(e,i,r){e=e|0;i=i|0;r=r|0;e=Sc(e,i,r,-1,-1)|0;return e|0}function Hy(e,i,r){e=e|0;i=i|0;r=r|0;e=Sc(e,i,r,0,-2147483648)|0;return e|0}function Yy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;s=i&255;n=(r|0)!=0;e:do if(n&(e&3|0)!=0){a=i&255;while(1){if((t[e>>0]|0)==a<<24>>24){l=6;break e}e=e+1|0;r=r+-1|0;n=(r|0)!=0;if(!(n&(e&3|0)!=0)){l=5;break}}}else l=5;while(0)if((l|0)==5)if(n)l=6;else r=0;e:do if((l|0)==6){a=i&255;if((t[e>>0]|0)!=a<<24>>24){n=re(s,16843009)|0;i:do if(r>>>0>3)while(1){s=f[e>>2]^n;if((s&-2139062144^-2139062144)&s+-16843009)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){l=11;break i}}else l=11;while(0)if((l|0)==11)if(!r){r=0;break}while(1){if((t[e>>0]|0)==a<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}while(0)return((r|0)!=0?e:0)|0}function qy(e,i){e=e|0;i=i|0;var r=0,n=0;r=i;e:do if(!((r^e)&3)){if(r&3)do{r=t[i>>0]|0;t[e>>0]=r;if(!(r<<24>>24))break e;i=i+1|0;e=e+1|0}while((i&3|0)!=0)r=f[i>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){n=e;while(1){i=i+4|0;e=n+4|0;f[n>>2]=r;r=f[i>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009)break;else n=e}}n=8}else n=8;while(0)if((n|0)==8){n=t[i>>0]|0;t[e>>0]=n;if(n<<24>>24)do{i=i+1|0;e=e+1|0;n=t[i>>0]|0;t[e>>0]=n}while(n<<24>>24!=0)}return e|0}function zy(e,i){e=e|0;i=i|0;var r=0,n=0;n=t[e>>0]|0;r=t[i>>0]|0;if(n<<24>>24==0?1:n<<24>>24!=r<<24>>24)i=n;else{do{e=e+1|0;i=i+1|0;n=t[e>>0]|0;r=t[i>>0]|0}while(!(n<<24>>24==0?1:n<<24>>24!=r<<24>>24))i=n}return(i&255)-(r&255)|0}function Xy(e,i){e=e|0;i=i|0;qy(e,i)|0;return e|0}function Gy(e){e=e|0;var i=0,r=0,n=0;n=e;e:do if(!(n&3))r=4;else{i=e;e=n;while(1){if(!(t[i>>0]|0))break e;i=i+1|0;e=i;if(!(e&3)){e=i;r=4;break}}}while(0)if((r|0)==4){while(1){i=f[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009))e=e+4|0;else break}if((i&255)<<24>>24)do e=e+1|0;while((t[e>>0]|0)!=0)}return e-n|0}function Vy(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,f=0;if(!r)i=0;else{n=t[e>>0]|0;e:do if(!(n<<24>>24))n=0;else while(1){r=r+-1|0;f=t[i>>0]|0;if(!(n<<24>>24==f<<24>>24&((r|0)!=0&f<<24>>24!=0)))break e;e=e+1|0;i=i+1|0;n=t[e>>0]|0;if(!(n<<24>>24)){n=0;break}}while(0)i=(n&255)-(a[i>>0]|0)|0}return i|0}function Ky(e){e=e|0;var i=0;i=e;while(1)if(!(f[i>>2]|0))break;else i=i+4|0;return i-e>>2|0}function Wy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(r){t=e;while(1){r=r+-1|0;f[t>>2]=f[i>>2];if(!r)break;else{i=i+4|0;t=t+4|0}}}return e|0}function Jy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=(r|0)==0;if(e-i>>2>>>0<r>>>0){if(!t)do{r=r+-1|0;f[e+(r<<2)>>2]=f[i+(r<<2)>>2]}while((r|0)!=0)}else if(!t){t=i;i=e;while(1){r=r+-1|0;f[i>>2]=f[t>>2];if(!r)break;else{t=t+4|0;i=i+4|0}}}return e|0}function Qy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(r){t=e;while(1){r=r+-1|0;f[t>>2]=i;if(!r)break;else t=t+4|0}}return e|0}function Zy(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,s=0,l=0,o=0;l=e+4|0;r=f[l>>2]|0;o=e+100|0;if(r>>>0<(f[o>>2]|0)>>>0){f[l>>2]=r+1;r=a[r>>0]|0}else r=Ug(e)|0;switch(r|0){case 43:case 45:{t=(r|0)==45&1;r=f[l>>2]|0;if(r>>>0<(f[o>>2]|0)>>>0){f[l>>2]=r+1;r=a[r>>0]|0}else r=Ug(e)|0;if((i|0)!=0&(r+-48|0)>>>0>9?(f[o>>2]|0)!=0:0){f[l>>2]=(f[l>>2]|0)+-1;s=t}else s=t;break}default:s=0}if((r+-48|0)>>>0>9)if(!(f[o>>2]|0)){t=-2147483648;r=0}else{f[l>>2]=(f[l>>2]|0)+-1;t=-2147483648;r=0}else{t=0;do{t=r+-48+(t*10|0)|0;r=f[l>>2]|0;if(r>>>0<(f[o>>2]|0)>>>0){f[l>>2]=r+1;r=a[r>>0]|0}else r=Ug(e)|0}while((r+-48|0)>>>0<10&(t|0)<214748364)i=((t|0)<0)<<31>>31;if((r+-48|0)>>>0<10){do{i=O_(t|0,i|0,10,0)|0;t=R;r=E_(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;t=E_(r|0,R|0,i|0,t|0)|0;i=R;r=f[l>>2]|0;if(r>>>0<(f[o>>2]|0)>>>0){f[l>>2]=r+1;r=a[r>>0]|0}else r=Ug(e)|0}while((r+-48|0)>>>0<10&((i|0)<21474836|(i|0)==21474836&t>>>0<2061584302))n=t}else n=t;if((r+-48|0)>>>0<10)do{r=f[l>>2]|0;if(r>>>0<(f[o>>2]|0)>>>0){f[l>>2]=r+1;r=a[r>>0]|0}else r=Ug(e)|0}while((r+-48|0)>>>0<10)if(f[o>>2]|0)f[l>>2]=(f[l>>2]|0)+-1;e=(s|0)!=0;r=g_(0,0,n|0,i|0)|0;t=e?R:i;r=e?r:n}R=t;return r|0}function $y(e){e=e|0;if(!(f[e+68>>2]|0))ky(e);return}function eE(e){e=e|0;if(!(f[e+68>>2]|0))ky(e);return}function iE(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;i=e+20|0;a=e+28|0;if((f[i>>2]|0)>>>0>(f[a>>2]|0)>>>0?(uE[f[e+36>>2]&63](e,0,0)|0,(f[i>>2]|0)==0):0)i=-1;else{s=e+4|0;r=f[s>>2]|0;t=e+8|0;n=f[t>>2]|0;if(r>>>0<n>>>0)uE[f[e+40>>2]&63](e,r-n|0,1)|0;f[e+16>>2]=0;f[a>>2]=0;f[i>>2]=0;f[t>>2]=0;f[s>>2]=0;i=0}return i|0}var rE=[ap,ql,Vl,Yo,Go,Qo,$o,Nw,Kw,ap,ap,ap,ap,ap,ap,ap];var tE=[sp,Hp,Ds,ps,ss,Wa,Na,Sa,la,mg,wg,hg,sp,sp,sp,sp];var nE=[lp,tu,ou,lp];var fE=[op,Np,Fp,Ms,Cs,ks,ws,ts,ns,Xa,Ga,Oa,La,ga,ya,na,fa,Xf,Gf,Of,Lf,gf,yf,of,uf,Jn,Qn,fn,an,Xt,Gt,$i,er,gt,St,yt,$h,ib,eb,rb,zr,Xr,gv,Gr,Nr,Fr,br,kr,yr,Er,Pr,xr,Vr,Kr,et,it,st,lt,bt,kt,qt,zt,bn,kn,gn,yn,Cn,Pn,In,Bn,pa,va,Cd,Wp,fv,av,yv,Ev,Fv,jv,Xv,Gv,Jv,Qv,$v,rg,eg,ig,tg,ng,Th,zc,Jc,ch,id,sd,Td,Md,dh,Mh,Hh,qh,Yh,zh,Vh,Wh,Kh,Jh,sb,ob,lb,ub,mb,_b,th,pb,vb,gb,Eb,Fu,Mb,Cb,Rb,Ob,Vb,Kb,hk,bk,Ck,Pk,Xs,Gs,wl,ml,Ul,Yl,Xl,Gl,Wl,Jl,ao,so,_o,po,Po,xo,Uo,Ho,Wo,Jo,iu,ru,su,lu,hu,bu,_u,pu,Tu,Mu,rc,tc,Bw,gc,sw,lw,ow,uw,yb,Nu,Uu,dc,Hk,Wk,tw,nw,Av,hv,Rv,Zi,hh,Gh,Rt,ca,Mg,$y,eE,Nc,Xg,qo,Xo,ju,Gm,$m,e_,i_,r_,t_,n_,Od,Vd,Dc,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op,op];var aE=[up,Up,xs,_s,as,Ka,Ba,Aa,sa,Vf,If,Ef,cf,Zn,sn,Vt,ir,bh,sv,uv,Xc,Wc,rd,ad,Ph,$l,eo,io,ro,no,fo,uo,co,ho,bo,wo,mo,yo,Eo,Ao,So,Mo,Co,Oo,Lo,Io,Bo,Fo,jo,mu,yu,kw,mw,pw,ww,_w,vw,zi,Sv,cv,dv,bv,lh,lr,ur,tb,rh,Hd,Dt,Qt,qn,tf,kf,Mf,jf,Qf,ua,Ma,ja,Qa,os,gs,Os,qp,tv,xv,md,kd,ah,cb,wd,jd,Qd,Jd,bm,km,wm,mm,_m,pm,vc,vm,gm,ym,Em,Am,Sm,Tm,Mm,Cm,Pm,xm,Dm,Rm,Om,Lm,Im,Bm,Nm,Fm,jm,Um,Hm,Ym,zm,u_,up,up];var sE=[cp,Lb,Ib,Bb,Nb,Fb,jb,Ub,Hb,Yb,qb,zb,Wb,Jb,Qb,Zb,$b,ek,ik,rk,tk,nk,fk,vk,yk,Ok,js,Ks,Ws,Js,Zs,el,pl,vl,gl,El,Sl,au,du,Br,am,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp,cp];var lE=[dp,_h,ph,Hr,yh,Jp,Uv,Vv,Zv,my,Gc,Lh,Bh,Nh,Oh,Qc,Zc,td,gh,ld,od,hb,Vs,yw,Aw,Tw,Rw,Lw,Cw,xw,_l,Ew,Sw,Mw,Ow,Iw,Pw,Dw,Ql,Zl,to,lo,oo,ko,vo,go,To,Do,Ro,No,Nk,Fk,Uk,cw,hw,dw,bw,wc,mc,pc,Xk,Gk,Kk,$k,ew,rw,$p,Lv,sh,wv,Xh,Qh,hp,bp,kp,Wg,Ky,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp,dp];var oE=[wp,zo,Zo,wp];var uE=[mp,kh,vh,Ah,pd,vd,fg,Tc,vy,py,_y,gy,xh,Ih,Vc,jh,nd,Tb,Db,ku,vu,fc,sc,uc,Hu,Ku,Qu,ec,or,Ec,Yd,Kg,cm,hm,uy,oy,ny,Ly,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp,mp];var cE=[_p,fu,cu,_p];var dE=[pp,jr,vg,pg,_g,Dh,wh,wu,gu,pp,pp,pp,pp,pp,pp,pp];var hE=[vp,pk,Sk,Rk,Hs,vp,vp,vp];var bE=[gp,Vo,eu,nu,uu,gp,gp,gp];var kE=[yp,jp,Ps,ms,fs,Va,Ia,Ea,aa,Wf,Nf,Sf,hf,ef,on,Wt,tr,Yr,qr,Fh,Kc,$c,Uh,Eh,fd,ud,Sh,nc,ac,lc,Gu,Wu,Zu,Tv,Ki,Ji,fb,Bu,ab,Vg,Gg,Id,Kd,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp];var wE=[Ep,Ab,Pb,kk,wk,gk,Mk,xk,Dk,Fs,qs,cc,Bk,jk,ic,kc,_c,zk,Vk,Zk,iw,cy,sy,Ep,Ep,Ep,Ep,Ep,Ep,Ep,Ep,Ep];var mE=[Ap,h_,d_,c_];var _E=[Sp,Xi,Ov,Gb,Pu,xu,Du,xg,Rg,Dg,Sp,Sp,Sp,Sp,Sp,Sp];var pE=[Tp,Kf,Bf,Af,df,$n,ln,Kt,rr,oc,qu,zu,Xu,$u,Zp,nv,Vw,fm,ly,qg,fy,p_,__,m_,w_,k_,b_,Tp,Tp,Tp,Tp,Tp];var vE=[Mp,_d,Qp,bb,Mv,Dd,Cp,Sd,Nd,kv,yd,wb,om,um,dm,Xd];var gE=[Pp,xp,Ag,Dp,Sg,Rp,Eg,Pp];var yE=[Op,rl,Ml,Lk,Ik,hc,bc,Yk,qk,Jk,Qk,Op,Op,Op,Op,Op];var EE=[Lp,Ek,Tk,Us,Ys,Lp,Lp,Lp];var AE=[Ip,Tt,Mt,Et,At,Ur,wr,mr,Ar,Sr,Dr,Rr,Wr,Jr,rt,tt,ot,ut,wt,mt,wn,mn,En,An,xn,Dn,Nn,Fn,sg,lg,ug,Rh,mh,Sb,xb,Ni,Ad,nr,fr,ar,sr,cr,dr,hr,un,cn,dn,hn,Ip,Ip,Ip,Ip,Ip,Ip,Ip,Ip,Ip,Ip,Ip,Ip,Ip,Ip,Ip,Ip];return{_jpegls_encode:Pv,___cxa_can_catch:gg,_free:Dc,_jpegls_decode:Cv,___cxa_is_pointer_type:yg,_i64Add:E_,_memmove:M_,_i64Subtract:g_,_memset:y_,_malloc:xc,_memcpy:S_,_bitshift64Lshr:A_,_bitshift64Shl:T_,__GLOBAL__I_000101:Fc,__GLOBAL__sub_I_jpegls_cpp:Qi,__GLOBAL__sub_I_iostream_cpp:jc,runPostSets:v_,stackAlloc:Mi,stackSave:Ci,stackRestore:Pi,establishStackSpace:xi,setThrew:Di,setTempRet0:Li,getTempRet0:Ii,dynCall_iiiiiiii:N_,dynCall_viiiii:F_,dynCall_iiiiiid:j_,dynCall_vi:U_,dynCall_vii:H_,dynCall_iiiiiii:Y_,dynCall_ii:q_,dynCall_iiiiiiiiiiii:z_,dynCall_iiii:X_,dynCall_viiiiiiiiiiiiiii:G_,dynCall_viiiiii:V_,dynCall_viiiiiii:K_,dynCall_viiiiiiiiii:W_,dynCall_iii:J_,dynCall_iiiiii:Q_,dynCall_diii:Z_,dynCall_i:$_,dynCall_iiiii:ep,dynCall_viii:ip,dynCall_v:rp,dynCall_iiiiiiiii:tp,dynCall_iiiiid:np,dynCall_viiii:fp}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_jpegls_encode=Module._jpegls_encode=asm._jpegls_encode,___cxa_can_catch=Module.___cxa_can_catch=asm.___cxa_can_catch,_free=Module._free=asm._free,_jpegls_decode=Module._jpegls_decode=asm._jpegls_decode,___cxa_is_pointer_type=Module.___cxa_is_pointer_type=asm.___cxa_is_pointer_type,_i64Add=Module._i64Add=asm._i64Add,_memmove=Module._memmove=asm._memmove,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_memset=Module._memset=asm._memset,_malloc=Module._malloc=asm._malloc,_memcpy=Module._memcpy=asm._memcpy,runPostSets=Module.runPostSets=asm.runPostSets,__GLOBAL__sub_I_iostream_cpp=Module.__GLOBAL__sub_I_iostream_cpp=asm.__GLOBAL__sub_I_iostream_cpp,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,__GLOBAL__sub_I_jpegls_cpp=Module.__GLOBAL__sub_I_jpegls_cpp=asm.__GLOBAL__sub_I_jpegls_cpp,__GLOBAL__I_000101=Module.__GLOBAL__I_000101=asm.__GLOBAL__I_000101,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_iiiiiid=Module.dynCall_iiiiiid=asm.dynCall_iiiiiid,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiiiiiiiiiiiii=Module.dynCall_viiiiiiiiiiiiiii=asm.dynCall_viiiiiiiiiiiiiii,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_viiiiiii=Module.dynCall_viiiiiii=asm.dynCall_viiiiiii,dynCall_viiiiiiiiii=Module.dynCall_viiiiiiiiii=asm.dynCall_viiiiiiiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_iiiiiiiii=Module.dynCall_iiiiiiiii=asm.dynCall_iiiiiiiii,dynCall_iiiiid=Module.dynCall_iiiiid=asm.dynCall_iiiiid,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){function i(){for(var e=0;e<3;e++)t.push(0)}assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var r=e.length+1,t=[allocate(intArrayFromString(Module.thisProgram),"i8",0)];i();for(var n=0;n<r-1;n+=1)t.push(allocate(intArrayFromString(e[n]),"i8",0)),i();t.push(0),t=allocate(t,"i32",0);try{exit(Module._main(r,t,0),!0)}catch(e){if(e instanceof ExitStatus)return;if("SimulateInfiniteLoop"==e)return void(Module.noExitRuntime=!0);throw e&&"object"==typeof e&&e.stack&&Module.printErr("exception thrown: "+[e,e.stack]),e}finally{calledMain=!0}},Module.run=Module.run=run,Module.exit=Module.exit=exit;var abortDecorators=[];if(Module.abort=Module.abort=abort,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),Module};define("CharLS",["CharLS/build/charLS-FixedMemory-browser"],function(e){return e}),define("CharLS/build/charLS-FixedMemory-browser",function(){});var OpenJPEG=function(Module){function globalEval(e){eval.call(null,e)}function assert(e,i){e||abort("Assertion failed: "+i)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,i,r,t){switch(r=r||"i8","*"===r.charAt(r.length-1)&&(r="i32"),r){case"i1":HEAP8[e>>0]=i;break;case"i8":HEAP8[e>>0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,i,r){switch(i=i||"i8","*"===i.charAt(i.length-1)&&(i="i32"),i){case"i1":return HEAP8[e>>0];case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":return HEAP32[e>>2];case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+i)}return null}function allocate(e,i,r,t){var n,f;"number"==typeof e?(n=!0,f=e):(n=!1,f=e.length);var a,s="string"==typeof i?i:null;if(a=r==ALLOC_NONE?t:[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][void 0===r?ALLOC_STATIC:r](Math.max(f,s?1:i.length)),n){var l,t=a;for(assert(0==(3&a)),l=a+(f&-4);t<l;t+=4)HEAP32[t>>2]=0;for(l=a+f;t<l;)HEAP8[t++>>0]=0;return a}if("i8"===s)return e.subarray||e.slice?HEAPU8.set(e,a):HEAPU8.set(new Uint8Array(e),a),a;for(var o,u,c,d=0;d<f;){var h=e[d];"function"==typeof h&&(h=Runtime.getFunctionIndex(h)),o=s||i[d],0!==o?("i64"==o&&(o="i32"),setValue(a+d,h,o),c!==o&&(u=Runtime.getNativeTypeSize(o),c=o),d+=u):d++}return a}function getMemory(e){return staticSealed?void 0!==_sbrk&&!_sbrk.called||!runtimeInitialized?Runtime.dynamicAlloc(e):_malloc(e):Runtime.staticAlloc(e)}function Pointer_stringify(e,i){if(0===i||!e)return"";for(var r,t=0,n=0;;){if(r=HEAPU8[e+n>>0],t|=r,0==r&&!i)break;if(n++,i&&n==i)break}i||(i=n);var f="";if(t<128){for(var a;i>0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(i,1024))),f=f?f+a:a,e+=1024,i-=1024;return f}return Module.UTF8ToString(e)}function AsciiToString(e){for(var i="";;){var r=HEAP8[e++>>0];if(!r)return i;i+=String.fromCharCode(r)}}function stringToAscii(e,i){return writeAsciiToMemory(e,i,!1)}function UTF8ArrayToString(e,i){for(var r,t,n,f,a,s,l="";;){if(!(r=e[i++]))return l;if(128&r)if(t=63&e[i++],192!=(224&r))if(n=63&e[i++],224==(240&r)?r=(15&r)<<12|t<<6|n:(f=63&e[i++],240==(248&r)?r=(7&r)<<18|t<<12|n<<6|f:(a=63&e[i++],248==(252&r)?r=(3&r)<<24|t<<18|n<<12|f<<6|a:(s=63&e[i++],r=(1&r)<<30|t<<24|n<<18|f<<12|a<<6|s))),r<65536)l+=String.fromCharCode(r);else{var o=r-65536;l+=String.fromCharCode(55296|o>>10,56320|1023&o)}else l+=String.fromCharCode((31&r)<<6|t);else l+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,r,t){if(!(t>0))return 0;for(var n=r,f=r+t-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=f)break;i[r++]=s}else if(s<=2047){if(r+1>=f)break;i[r++]=192|s>>6,i[r++]=128|63&s}else if(s<=65535){if(r+2>=f)break;i[r++]=224|s>>12,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=2097151){if(r+3>=f)break;i[r++]=240|s>>18,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=67108863){if(r+4>=f)break;i[r++]=248|s>>24,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else{if(r+5>=f)break;i[r++]=252|s>>30,i[r++]=128|s>>24&63,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}}return i[r]=0,r-n}function stringToUTF8(e,i,r){return stringToUTF8Array(e,HEAPU8,i,r)}function lengthBytesUTF8(e){for(var i=0,r=0;r<e.length;++r){var t=e.charCodeAt(r);t>=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++r)),t<=127?++i:i+=t<=2047?2:t<=65535?3:t<=2097151?4:t<=67108863?5:6}return i}function UTF16ToString(e){for(var i=0,r="";;){var t=HEAP16[e+2*i>>1];if(0==t)return r;++i,r+=String.fromCharCode(t)}}function stringToUTF16(e,i,r){if(void 0===r&&(r=2147483647),r<2)return 0;r-=2;for(var t=i,n=r<2*e.length?r/2:e.length,f=0;f<n;++f){var a=e.charCodeAt(f);HEAP16[i>>1]=a,i+=2}return HEAP16[i>>1]=0,i-t}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var i=0,r="";;){var t=HEAP32[e+4*i>>2];if(0==t)return r;if(++i,t>=65536){var n=t-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(t)}}function stringToUTF32(e,i,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var t=i,n=t+r-4,f=0;f<e.length;++f){var a=e.charCodeAt(f);if(a>=55296&&a<=57343){a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f)}if(HEAP32[i>>2]=a,(i+=4)+4>n)break}return HEAP32[i>>2]=0,i-t}function lengthBytesUTF32(e){for(var i=0,r=0;r<e.length;++r){var t=e.charCodeAt(r);t>=55296&&t<=57343&&++r,i+=4}return i}function demangle(e){function i(){s++,"K"===e[s]&&s++;for(var i=[];"E"!==e[s];)if("S"!==e[s])if("C"!==e[s]){var r=parseInt(e.substr(s)),t=r.toString().length;if(!r||!t){s--;break}var n=e.substr(s+t,r);i.push(n),o.push(n),s+=t+r}else i.push(i[i.length-1]),s+=2;else{s++;var f=e.indexOf("_",s),a=e.substring(s,f)||0;i.push(o[a]||"?"),s=f+1}return s++,i}function r(t,n,f){n=n||1/0;var a,o="",c=[];if("N"===e[s]){if(a=i().join("::"),0===--n)return t?[a]:a}else{("K"===e[s]||u&&"L"===e[s])&&s++;var d=parseInt(e.substr(s));if(d){var h=d.toString().length;a=e.substr(s+h,d),s+=h+d}}if(u=!1,"I"===e[s]){s++;var b=r(!0);o+=r(!0,1,!0)[0]+" "+a+"<"+b.join(", ")+">"}else o=a;e:for(;s<e.length&&n-- >0;){var k=e[s++];if(k in l)c.push(l[k]);else switch(k){case"P":c.push(r(!0,1,!0)[0]+"*");break;case"R":c.push(r(!0,1,!0)[0]+"&");break;case"L":s++;var w=e.indexOf("E",s),d=w-s;c.push(e.substr(s,d)),s+=d+2;break;case"A":var d=parseInt(e.substr(s));if(s+=d.toString().length,"_"!==e[s])throw"?";s++,c.push(r(!0,1,!0)[0]+" ["+d+"]");break;case"E":break e;default:o+="?"+k;break e}}return f||1!==c.length||"void"!==c[0]||(c=[]),t?(o&&c.push(o+"?"),c):o+function(){return"("+c.join(", ")+")"}()}var t=!!Module.___cxa_demangle;if(t)try{var n=_malloc(e.length);writeStringToMemory(e.substr(1),n);var f=_malloc(4),a=Module.___cxa_demangle(n,0,0,f);if(0===getValue(f,"i32")&&a)return Pointer_stringify(a)}catch(e){}finally{n&&_free(n),f&&_free(f),a&&_free(a)}var s=3,l={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},o=[],u=!0,c=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}c=r()}catch(e){c+="?"}return c.indexOf("?")>=0&&!t&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),c}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,function(e){var i=demangle(e);return e===i?e:e+" ["+i+"]"})}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(i){e=i}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. 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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}function callRuntimeCallbacks(e){for(;e.length>0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[i.arg]):r(void 0===i.arg?null:i.arg)}else i()}}function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,i,r){var t=r>0?r:lengthBytesUTF8(e)+1,n=new Array(t),f=stringToUTF8Array(e,n,0,n.length);return i&&(n.length=f),n}function intArrayToString(e){for(var i=[],r=0;r<e.length;r++){var t=e[r];t>255&&(t&=255),i.push(String.fromCharCode(t))}return i.join("")}function writeStringToMemory(e,i,r){for(var t=intArrayFromString(e,r),n=0;n<t.length;){var f=t[n];HEAP8[i+n>>0]=f,n+=1}}function writeArrayToMemory(e,i){for(var r=0;r<e.length;r++)HEAP8[i++>>0]=e[r]}function writeAsciiToMemory(e,i,r){for(var t=0;t<e.length;++t)HEAP8[i++>>0]=e.charCodeAt(t);r||(HEAP8[i>>0]=0)}function unSign(e,i,r){return e>=0?e:i<=32?2*Math.abs(1<<i-1)+e:Math.pow(2,i)+e}function reSign(e,i,r){if(e<=0)return e;var t=i<=32?Math.abs(1<<i-1):Math.pow(2,i-1);return e>=t&&(i<=32||e>t)&&(e=-2*t+e),e}function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}function _abort(){Module.abort()}function ___lock(){}function ___unlock(){}function _emscripten_set_main_loop_timing(e,i){function r(e){e.source===window&&e.data===n&&(e.stopPropagation(),t.shift()())}if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){setTimeout(Browser.mainLoop.runner,i)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var t=[],n="__emcc";window.addEventListener("message",r,!0),window.setImmediate=function(e){t.push(e),window.postMessage(n,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(e,i,r,t,n){Module.noExitRuntime=!0,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=e,Browser.mainLoop.arg=t;var f=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var i=Date.now(),r=Browser.mainLoop.queue.shift();if(r.func(r.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,a=n%1==0?n-1:Math.floor(n)
32
+ ;r.counted?Browser.mainLoop.remainingBlockers=a:(a+=.5,Browser.mainLoop.remainingBlockers=(8*n+a)/9)}return console.log('main loop blocker "'+r.name+'" took '+(Date.now()-i)+" ms"),Browser.mainLoop.updateStatus(),void setTimeout(Browser.mainLoop.runner,0)}if(!(f<Browser.mainLoop.currentlyRunningMainloop)){if(Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0,1==Browser.mainLoop.timingMode&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0)return void Browser.mainLoop.scheduler();"timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("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(function(){void 0!==t?Runtime.dynCall("vi",e,[t]):Runtime.dynCall("v",e)}),f<Browser.mainLoop.currentlyRunningMainloop||("object"==typeof SDL&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Browser.mainLoop.scheduler())}}},n||(i&&i>0?_emscripten_set_main_loop_timing(0,1e3/i):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}function ___syscall54(e,i){SYSCALLS.varargs=i;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator?navigator.hardwareConcurrency||1:1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}function _pthread_cleanup_push(e,i){__ATEXIT__.push(function(){Runtime.dynCall("vi",e,[i])}),_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStr(),t=SYSCALLS.get(),n=SYSCALLS.get();return FS.open(r,t,n).fd}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _emscripten_memcpy_big(e,i,r){return HEAPU8.set(HEAPU8.subarray(i,i+r),e),e}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _sbrk(e){var i=_sbrk;i.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),i.called=!0,assert(Runtime.dynamicAlloc),i.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e){if(!i.alloc(e))return-1>>>0}return r}function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _pthread_self(){return 0}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get(),f=SYSCALLS.get(),a=SYSCALLS.get(),s=n;return assert(0===t),FS.llseek(r,s,a),HEAP32[f>>2]=r.position,r.getdents&&0===s&&0===a&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{var r=(SYSCALLS.get(),SYSCALLS.get()),t=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var f=___syscall146.buffer,a=0;a<t;a++){for(var s=HEAP32[r+8*a>>2],l=HEAP32[r+(8*a+4)>>2],o=0;o<l;o++){var u=HEAPU8[s+o];0===u||10===u?(Module.print(UTF8ArrayToString(f,0)),f.length=0):f.push(u)}n+=l}return n}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall221(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();switch(SYSCALLS.get()){case 0:var t=SYSCALLS.get();if(t<0)return-ERRNO_CODES.EINVAL;var n;return n=FS.open(r.path,r.flags,0,t),n.fd;case 1:case 2:return 0;case 3:return r.flags;case 4:var t=SYSCALLS.get();return r.flags|=t,0;case 12:case 12:var t=SYSCALLS.get();return HEAP16[t+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:return ___setErrNo(ERRNO_CODES.EINVAL),-1;default:return-ERRNO_CODES.EINVAL}}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall145(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get();return SYSCALLS.doReadv(r,t,n)}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function invoke_iiiiiiii(e,i,r,t,n,f,a,s){try{return Module.dynCall_iiiiiiii(e,i,r,t,n,f,a,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiii(e,i,r,t){try{return Module.dynCall_iiii(e,i,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_di(e,i){try{return Module.dynCall_di(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vi(e,i){try{Module.dynCall_vi(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vii(e,i,r){try{Module.dynCall_vii(e,i,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiii(e,i,r,t,n,f,a){try{return Module.dynCall_iiiiiii(e,i,r,t,n,f,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_ii(e,i){try{return Module.dynCall_ii(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viii(e,i,r,t){try{Module.dynCall_viii(e,i,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u,c){try{return Module.dynCall_iiiiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u,c)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiii(e,i,r,t,n){try{return Module.dynCall_iiiii(e,i,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iii(e,i,r){try{return Module.dynCall_iii(e,i,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiii(e,i,r,t,n,f){try{return Module.dynCall_iiiiii(e,i,r,t,n,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiii(e,i,r,t,n){try{Module.dynCall_viiii(e,i,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),i()},1)):i()))}function exit(e,i){if(!i||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",function(){process.exit(e)}),console.log(" "),setTimeout(function(){process.exit(e)},500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}function abort(e){void 0!==e?(Module.print(e),Module.printErr(e),e=JSON.stringify(e)):e="",ABORT=!0,EXITSTATUS=1;var i="abort("+e+") at "+stackTrace()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw abortDecorators&&abortDecorators.forEach(function(r){i=r(i,e)}),i}Module=Module||{};var Module;Module||(Module=(void 0!==OpenJPEG?OpenJPEG:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&"function"==typeof require&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=function(e){process.stdout.write(e+"\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\n")});var nodeFS=require("fs"),nodePath=require("path");Module.read=function(e,i){e=nodePath.normalize(e);var r=nodeFS.readFileSync(e);return r||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),r=nodeFS.readFileSync(e)),r&&!i&&(r=r.toString()),r},Module.readBinary=function(e){var i=Module.read(e,!0);return i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),void 0!==module&&(module.exports=Module),process.on("uncaughtException",function(e){if(!(e instanceof ExitStatus))throw e}),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var i=read(e,"binary");return assert("object"==typeof i),i},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var i=new XMLHttpRequest;return i.open("GET",e,!1),i.send(null),i.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){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("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var i=parseInt(e.substr(1));return assert(i%8==0),i/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,i){return"double"===i||"i64"===i?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},getAlignSize:function(e,i,r){return r||"i64"!=e&&"double"!=e?e?Math.min(i||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(i,8):8},dynCall:function(e,i,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,i),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,i)},functionPointers:[],addFunction:function(e){for(var i=0;i<Runtime.functionPointers.length;i++)if(!Runtime.functionPointers[i])return Runtime.functionPointers[i]=e,2*(1+i);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(e,i){assert(i),Runtime.funcWrappers[i]||(Runtime.funcWrappers[i]={});var r=Runtime.funcWrappers[i];return r[e]||(r[e]=function(){return Runtime.dynCall(i,e,arguments)}),r[e]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var i=STACKTOP;return STACKTOP=STACKTOP+e|0,STACKTOP=STACKTOP+15&-16,i},staticAlloc:function(e){var i=STATICTOP;return STATICTOP=STATICTOP+e|0,STATICTOP=STATICTOP+15&-16,i},dynamicAlloc:function(e){var i=DYNAMICTOP;if(DYNAMICTOP=DYNAMICTOP+e|0,(DYNAMICTOP=DYNAMICTOP+15&-16)>=TOTAL_MEMORY){if(!enlargeMemory())return DYNAMICTOP=i,0}return i},alignMemory:function(e,i){return e=Math.ceil(e/(i?i:16))*(i?i:16)},makeBigInt:function(e,i,r){return r?+(e>>>0)+4294967296*+(i>>>0):+(e>>>0)+4294967296*+(0|i)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9,globalScope=this,cwrap,ccall;!function(){function parseJSFunc(e){var i=e.toString().match(sourceRegex).slice(1);return{arguments:i[0],body:i[1],returnValue:i[2]}}var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var i=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;return null!==e&&void 0!==e&&0!==e&&(i=Runtime.stackAlloc(1+(e.length<<2)),writeStringToMemory(e,i)),i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,i,r,t,n){var f=getCFunc(e),a=[],s=0;if(t)for(var l=0;l<t.length;l++){var o=toC[r[l]];o?(0===s&&(s=Runtime.stackSave()),a[l]=o(t[l])):a[l]=t[l]}var u=f.apply(null,a);if("string"===i&&(u=Pointer_stringify(u)),0!==s){if(n&&n.async)return void EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(s)});Runtime.stackRestore(s)}return u};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,JSsource={};for(var fun in JSfuncs)JSfuncs.hasOwnProperty(fun)&&(JSsource[fun]=parseJSFunc(JSfuncs[fun]));cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(e){return"number"===e}),numericRet="string"!==returnType;if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(e,i){return"$"+i}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if("number"!==type){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"="+convertCode.returnValue+";"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){funcstr+="ret = "+parseJSFunc(function(){return Pointer_stringify}).returnValue+"(ret);"}return numericArgs||(funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}}(),Module.ccall=ccall,Module.cwrap=cwrap,Module.setValue=setValue,Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=0,Module.ALLOC_STACK=1,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=3,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;for(var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0,TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||6e8,totalMemory=65536;totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK;)totalMemory<16777216?totalMemory*=2:totalMemory+=16777216;totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=void 0,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&Math.imul(4294967295,5)===-5||(Math.imul=function(e,i){var r=e>>>16,t=65535&e,n=i>>>16,f=65535&i;return t*f+(r*f+t*n<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var i=0;i<32;i++)if(e&1<<31-i)return i;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+25664,__ATINIT__.push(),
33
+ allocate([131,192,202,161,69,182,251,63,127,251,58,112,206,136,234,63,127,251,58,112,206,136,234,63,131,192,202,161,69,182,251,63,225,122,20,174,71,225,252,63,94,186,73,12,2,43,249,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,6,64,0,0,0,0,0,128,21,64,92,143,194,245,40,92,37,64,215,163,112,61,10,87,53,64,246,40,92,143,194,85,69,64,133,235,81,184,30,85,85,64,102,102,102,102,102,86,101,64,205,204,204,204,204,84,117,64,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,173,250,92,109,197,254,230,63,86,125,174,182,98,127,237,63,199,75,55,137,65,96,249,63,242,210,77,98,16,88,8,64,250,126,106,188,116,19,24,64,133,235,81,184,30,5,40,64,0,0,0,0,0,0,56,64,92,143,194,245,40,252,71,64,236,81,184,30,133,251,87,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,113,61,10,215,163,112,255,63,104,145,237,124,63,181,16,64,117,147,24,4,86,206,32,64,102,102,102,102,102,230,48,64,236,81,184,30,133,235,64,64,92,143,194,245,40,236,80,64,154,153,153,153,153,233,96,64,154,153,153,153,153,233,112,64,51,51,51,51,51,231,128,64,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,164,112,61,10,215,163,0,64,236,81,184,30,133,235,14,64,119,190,159,26,47,157,32,64,174,71,225,122,20,46,49,64,123,20,174,71,225,90,65,64,246,40,92,143,194,101,81,64,154,153,153,153,153,105,97,64,154,153,153,153,153,105,113,64,154,153,153,153,153,105,129,64,0,0,0,0,0,0,0,0,4,0,0,0,67,80,82,76,0,0,0,0,0,0,0,0,76,82,67,80,0,0,0,0,3,0,0,0,80,67,82,76,0,0,0,0,1,0,0,0,82,76,67,80,0,0,0,0,2,0,0,0,82,80,67,76,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,144,255,0,0,12,0,0,0,1,0,0,0,82,255,0,0,20,0,0,0,2,0,0,0,83,255,0,0,20,0,0,0,3,0,0,0,94,255,0,0,20,0,0,0,4,0,0,0,92,255,0,0,20,0,0,0,5,0,0,0,93,255,0,0,20,0,0,0,6,0,0,0,95,255,0,0,20,0,0,0,7,0,0,0,81,255,0,0,2,0,0,0,8,0,0,0,85,255,0,0,4,0,0,0,9,0,0,0,87,255,0,0,4,0,0,0,10,0,0,0,88,255,0,0,16,0,0,0,11,0,0,0,96,255,0,0,4,0,0,0,12,0,0,0,97,255,0,0,16,0,0,0,13,0,0,0,145,255,0,0,0,0,0,0,0,0,0,0,99,255,0,0,4,0,0,0,14,0,0,0,100,255,0,0,20,0,0,0,15,0,0,0,116,255,0,0,20,0,0,0,16,0,0,0,120,255,0,0,4,0,0,0,17,0,0,0,117,255,0,0,20,0,0,0,18,0,0,0,119,255,0,0,20,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,32,32,80,106,20,0,0,0,112,121,116,102,21,0,0,0,104,50,112,106,22,0,0,0,114,100,104,105,23,0,0,0,114,108,111,99,24,0,0,0,99,99,112,98,25,0,0,0,114,108,99,112,26,0,0,0,112,97,109,99,27,0,0,0,102,101,100,99,28,0,0,0,1,86,0,0,0,0,0,0,164,4,0,0,180,4,0,0,1,86,0,0,1,0,0,0,180,4,0,0,164,4,0,0,1,52,0,0,0,0,0,0,196,4,0,0,68,5,0,0,1,52,0,0,1,0,0,0,212,4,0,0,84,5,0,0,1,24,0,0,0,0,0,0,228,4,0,0,164,5,0,0,1,24,0,0,1,0,0,0,244,4,0,0,180,5,0,0,193,10,0,0,0,0,0,0,4,5,0,0,4,6,0,0,193,10,0,0,1,0,0,0,20,5,0,0,20,6,0,0,33,5,0,0,0,0,0,0,36,5,0,0,36,8,0,0,33,5,0,0,1,0,0,0,52,5,0,0,52,8,0,0,33,2,0,0,0,0,0,0,68,9,0,0,164,8,0,0,33,2,0,0,1,0,0,0,84,9,0,0,180,8,0,0,1,86,0,0,0,0,0,0,100,5,0,0,84,5,0,0,1,86,0,0,1,0,0,0,116,5,0,0,68,5,0,0,1,84,0,0,0,0,0,0,132,5,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,5,0,0,84,6,0,0,1,72,0,0,0,0,0,0,164,5,0,0,68,6,0,0,1,72,0,0,1,0,0,0,180,5,0,0,84,6,0,0,1,56,0,0,0,0,0,0,196,5,0,0,68,6,0,0,1,56,0,0,1,0,0,0,212,5,0,0,84,6,0,0,1,48,0,0,0,0,0,0,228,5,0,0,164,6,0,0,1,48,0,0,1,0,0,0,244,5,0,0,180,6,0,0,1,36,0,0,0,0,0,0,4,6,0,0,196,6,0,0,1,36,0,0,1,0,0,0,20,6,0,0,212,6,0,0,1,28,0,0,0,0,0,0,36,6,0,0,4,7,0,0,1,28,0,0,1,0,0,0,52,6,0,0,20,7,0,0,1,22,0,0,0,0,0,0,36,8,0,0,36,7,0,0,1,22,0,0,1,0,0,0,52,8,0,0,52,7,0,0,1,86,0,0,0,0,0,0,100,6,0,0,84,6,0,0,1,86,0,0,1,0,0,0,116,6,0,0,68,6,0,0,1,84,0,0,0,0,0,0,132,6,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,6,0,0,84,6,0,0,1,81,0,0,0,0,0,0,164,6,0,0,100,6,0,0,1,81,0,0,1,0,0,0,180,6,0,0,116,6,0,0,1,72,0,0,0,0,0,0,196,6,0,0,132,6,0,0,1,72,0,0,1,0,0,0,212,6,0,0,148,6,0,0,1,56,0,0,0,0,0,0,228,6,0,0,164,6,0,0,1,56,0,0,1,0,0,0,244,6,0,0,180,6,0,0,1,52,0,0,0,0,0,0,4,7,0,0,196,6,0,0,1,52,0,0,1,0,0,0,20,7,0,0,212,6,0,0,1,48,0,0,0,0,0,0,36,7,0,0,228,6,0,0,1,48,0,0,1,0,0,0,52,7,0,0,244,6,0,0,1,40,0,0,0,0,0,0,68,7,0,0,228,6,0,0,1,40,0,0,1,0,0,0,84,7,0,0,244,6,0,0,1,36,0,0,0,0,0,0,100,7,0,0,4,7,0,0,1,36,0,0,1,0,0,0,116,7,0,0,20,7,0,0,1,34,0,0,0,0,0,0,132,7,0,0,36,7,0,0,1,34,0,0,1,0,0,0,148,7,0,0,52,7,0,0,1,28,0,0,0,0,0,0,164,7,0,0,68,7,0,0,1,28,0,0,1,0,0,0,180,7,0,0,84,7,0,0,1,24,0,0,0,0,0,0,196,7,0,0,100,7,0,0,1,24,0,0,1,0,0,0,212,7,0,0,116,7,0,0,1,22,0,0,0,0,0,0,228,7,0,0,132,7,0,0,1,22,0,0,1,0,0,0,244,7,0,0,148,7,0,0,1,20,0,0,0,0,0,0,4,8,0,0,164,7,0,0,1,20,0,0,1,0,0,0,20,8,0,0,180,7,0,0,1,18,0,0,0,0,0,0,36,8,0,0,196,7,0,0,1,18,0,0,1,0,0,0,52,8,0,0,212,7,0,0,1,17,0,0,0,0,0,0,68,8,0,0,228,7,0,0,1,17,0,0,1,0,0,0,84,8,0,0,244,7,0,0,193,10,0,0,0,0,0,0,100,8,0,0,4,8,0,0,193,10,0,0,1,0,0,0,116,8,0,0,20,8,0,0,193,9,0,0,0,0,0,0,132,8,0,0,36,8,0,0,193,9,0,0,1,0,0,0,148,8,0,0,52,8,0,0,161,8,0,0,0,0,0,0,164,8,0,0,68,8,0,0,161,8,0,0,1,0,0,0,180,8,0,0,84,8,0,0,33,5,0,0,0,0,0,0,196,8,0,0,100,8,0,0,33,5,0,0,1,0,0,0,212,8,0,0,116,8,0,0,65,4,0,0,0,0,0,0,228,8,0,0,132,8,0,0,65,4,0,0,1,0,0,0,244,8,0,0,148,8,0,0,161,2,0,0,0,0,0,0,4,9,0,0,164,8,0,0,161,2,0,0,1,0,0,0,20,9,0,0,180,8,0,0,33,2,0,0,0,0,0,0,36,9,0,0,196,8,0,0,33,2,0,0,1,0,0,0,52,9,0,0,212,8,0,0,65,1,0,0,0,0,0,0,68,9,0,0,228,8,0,0,65,1,0,0,1,0,0,0,84,9,0,0,244,8,0,0,17,1,0,0,0,0,0,0,100,9,0,0,4,9,0,0,17,1,0,0,1,0,0,0,116,9,0,0,20,9,0,0,133,0,0,0,0,0,0,0,132,9,0,0,36,9,0,0,133,0,0,0,1,0,0,0,148,9,0,0,52,9,0,0,73,0,0,0,0,0,0,0,164,9,0,0,68,9,0,0,73,0,0,0,1,0,0,0,180,9,0,0,84,9,0,0,37,0,0,0,0,0,0,0,196,9,0,0,100,9,0,0,37,0,0,0,1,0,0,0,212,9,0,0,116,9,0,0,21,0,0,0,0,0,0,0,228,9,0,0,132,9,0,0,21,0,0,0,1,0,0,0,244,9,0,0,148,9,0,0,9,0,0,0,0,0,0,0,4,10,0,0,164,9,0,0,9,0,0,0,1,0,0,0,20,10,0,0,180,9,0,0,5,0,0,0,0,0,0,0,36,10,0,0,196,9,0,0,5,0,0,0,1,0,0,0,52,10,0,0,212,9,0,0,1,0,0,0,0,0,0,0,36,10,0,0,228,9,0,0,1,0,0,0,1,0,0,0,52,10,0,0,244,9,0,0,1,86,0,0,0,0,0,0,68,10,0,0,68,10,0,0,1,86,0,0,1,0,0,0,84,10,0,0,84,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,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,2,0,0,0,3,0,0,0,38,94,0,0,0,4,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,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,64,4,32,0,32,2,128,0,128,8,16,0,16,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,128,1,0,3,128,4,0,6,128,7,0,9,128,10,0,12,128,13,0,15,128,16,0,18,128,19,0,21,128,22,0,24,128,25,0,27,128,28,0,30,128,31,0,33,128,34,0,36,128,37,0,39,128,40,0,42,128,43,0,45,128,46,0,48,128,49,0,51,128,52,0,54,128,55,0,57,128,58,0,60,128,61,0,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,0,81,128,82,0,84,128,85,0,87,128,88,0,90,128,91,0,93,128,94,0,96,128,97,0,99,128,100,0,102,128,103,0,105,128,106,0,108,128,109,0,111,128,112,0,114,128,115,0,117,128,118,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,128,38,128,39,128,40,128,41,0,43,0,44,0,45,128,46,128,47,0,49,0,50,128,51,128,52,0,54,0,55,128,56,0,58,0,59,128,60,0,62,128,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,128,81,0,83,128,84,0,86,0,88,128,89,0,91,0,93,128,94,128,96,0,98,0,100,128,101,128,103,0,105,0,107,0,109,128,110,128,112,128,114,128,116,0,118,0,120,0,122,0,124,0,126,0,24,128,23,0,23,128,22,0,22,128,21,0,21,128,20,0,20,128,19,0,19,128,18,0,18,128,17,0,17,128,16,0,16,128,15,0,15,128,14,0,14,128,13,0,13,128,12,0,12,128,11,0,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,0,5,128,4,0,4,128,3,0,3,128,2,0,2,128,1,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,1,128,1,0,2,128,2,0,3,128,3,0,4,128,4,0,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,0,11,128,11,0,12,128,12,0,13,128,13,0,14,128,14,0,15,128,15,0,16,128,16,0,17,128,17,0,18,128,18,0,19,128,19,0,20,128,20,0,21,128,21,0,22,128,22,0,23,128,23,0,32,0,31,0,30,0,29,0,28,0,27,128,26,128,25,128,24,128,23,0,23,0,22,0,21,128,20,128,19,0,19,0,18,128,17,128,16,0,16,0,15,128,14,0,14,0,13,128,12,0,12,128,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,128,5,0,5,128,4,0,4,0,4,128,3,0,3,0,3,128,2,128,2,0,2,0,2,128,1,128,1,0,1,0,1,0,1,128,0,128,0,128,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,116,104,101,32,100,101,99,111,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,104,101,97,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,33,0,91,69,82,82,79,82,93,32,37,115,0,83,116,114,101,97,109,32,114,101,97,99,104,101,100,32,105,116,115,32,101,110,100,32,33,10,0,69,114,114,111,114,32,111,110,32,119,114,105,116,105,110,103,32,115,116,114,101,97,109,33,10,0,83,116,114,101,97,109,32,101,114,114,111,114,33,10,0,50,46,49,46,48,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,115,101,116,117,112,95,100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,114,101,97,100,95,104,101,97,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,119,98,0,114,98,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,44,37,100,93,10,0,68,101,112,114,101,99,97,116,101,100,32,102,105,101,108,100,115,32,99,112,95,99,105,110,101,109,97,32,111,114,32,99,112,95,114,115,105,122,32,97,114,101,32,117,115,101,100,10,80,108,101,97,115,101,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,111,110,108,121,32,116,104,101,32,114,115,105,122,32,102,105,101,108,100,10,83,101,101,32,111,112,101,110,106,112,101,103,46,104,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,10,0,84,104,101,32,100,101,115,105,114,101,100,32,109,97,120,105,109,117,109,32,99,111,100,101,115,116,114,101,97,109,32,115,105,122,101,32,104,97,115,32,108,105,109,105,116,101,100,10,97,116,32,108,101,97,115,116,32,111,110,101,32,111,102,32,116,104,101,32,100,101,115,105,114,101,100,32,113,117,97,108,105,116,121,32,108,97,121,101,114,115,10,0,74,80,69,71,32,50,48,48,48,32,83,99,97,108,97,98,108,101,32,68,105,103,105,116,97,108,32,67,105,110,101,109,97,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,49,32,115,105,110,103,108,101,32,113,117,97,108,105,116,121,32,108,97,121,101,114,45,62,32,78,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,45,62,32,82,97,116,101,32,111,102,32,116,104,101,32,108,97,115,116,32,108,97,121,101,114,32,40,37,51,46,49,102,41,32,119,105,108,108,32,98,101,32,117,115,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,60,61,32,53,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,53,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,54,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,51,48,50,48,56,51,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,48,52,49,54,54,54,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,51,32,99,111,109,112,111,110,101,110,116,115,45,62,32,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,115,105,103,110,101,100,0,117,110,115,105,103,110,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,80,114,101,99,105,115,105,111,110,32,111,102,32,101,97,99,104,32,99,111,109,112,111,110,101,110,116,32,115,104,97,108,108,32,98,101,32,49,50,32,98,105,116,115,32,117,110,115,105,103,110,101,100,45,62,32,65,116,32,108,101,97,115,116,32,99,111,109,112,111,110,101,110,116,32,37,100,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,32,98,105,116,115,44,32,37,115,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,50,48,52,56,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,49,48,56,48,10,45,62,32,73,110,112,117,116,32,105,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,52,48,57,54,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,50,49,54,48,10,45,62,32,73,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,52,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,76,111,110,103,32,84,101,114,109,32,83,116,111,114,97,103,101,32,112,114,111,102,105,108,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,66,114,111,97,100,99,97,115,116,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,73,77,70,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,97,114,116,45,50,32,112,114,111,102,105,108,101,32,100,101,102,105,110,101,100,10,98,117,116,32,110,111,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,46,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,85,110,115,117,112,112,111,114,116,101,100,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,117,115,101,114,32,101,110,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,37,115,37,115,0,67,114,101,97,116,101,100,32,98,121,32,79,112,101,110,74,80,69,71,32,118,101,114,115,105,111,110,32,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,104,101,99,107,105,110,103,32,116,104,101,32,112,111,99,32,118,97,108,117,101,115,46,10,0,77,105,115,115,105,110,103,32,112,97,99,107,101,116,115,32,112,111,115,115,105,98,108,101,32,108,111,115,115,32,111,102,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,101,109,112,32,98,117,102,102,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,70,97,105,108,101,100,32,116,111,32,105,110,118,101,114,115,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,110,111,114,109,115,32,10,0,70,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,106,50,107,32,109,99,116,32,101,110,99,111,100,105,110,103,10,0,67,97,110,110,111,116,32,112,101,114,102,111,114,109,32,77,67,84,32,111,110,32,99,111,109,112,111,110,101,110,116,115,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,46,32,68,105,115,97,98,108,105,110,103,32,77,67,84,46,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,10,0,73,110,99,111,110,115,105,115,116,101,110,116,32,109,97,114,107,101,114,32,115,105,122,101,10,0,77,97,114,107,101,114,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,32,119,105,116,104,32,105,116,115,32,112,111,115,105,116,105,111,110,10,0,77,97,114,107,101,114,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,104,101,97,100,101,114,10,0,78,111,116,32,115,117,114,101,32,104,111,119,32,116,104,97,116,32,104,97,112,112,101,110,101,100,46,10,0,70,97,105,108,32,116,111,32,114,101,97,100,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,40,37,35,120,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,116,108,32,109,97,114,107,101,114,10,0,84,105,108,101,32,112,97,114,116,32,108,101,110,103,116,104,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,79,84,32,109,97,114,107,101,114,10,0,111,112,106,95,106,50,107,95,97,112,112,108,121,95,110,98,95,116,105,108,101,95,112,97,114,116,115,95,99,111,114,114,101,99,116,105,111,110,32,101,114,114,111,114,10,0,78,111,110,32,99,111,110,102,111,114,109,97,110,116,32,99,111,100,101,115,116,114,101,97,109,32,84,80,115,111,116,61,61,84,78,115,111,116,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,84,32,109,97,114,107,101,114,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,84,32,100,97,116,97,10,0,67,97,110,110,111,116,32,100,101,99,111,100,101,32,116,105,108,101,44,32,109,101,109,111,114,121,32,101,114,114,111,114,10,0,72,101,97,100,101,114,32,111,102,32,116,105,108,101,32,37,100,32,47,32,37,100,32,104,97,115,32,98,101,101,110,32,114,101,97,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,46,10,0,78,111,32,69,79,67,32,109,97,114,107,101,114,46,32,80,111,115,115,105,98,108,121,32,97,32,116,114,117,110,99,97,116,101,100,32,115,116,114,101,97,109,10,0,83,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,101,110,100,32,119,105,116,104,32,69,79,67,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,44,32,101,120,112,101,99,116,101,100,32,83,79,84,10,0,78,101,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,98,101,102,111,114,101,32,98,101,103,105,110,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,99,111,100,101,115,116,114,101,97,109,0,78,111,32,100,101,99,111,100,101,100,32,97,114,101,97,32,112,97,114,97,109,101,116,101,114,115,44,32,115,101,116,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,116,111,32,116,104,101,32,119,104,111,108,101,32,105,109,97,103,101,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,83,105,122,101,32,120,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,119,61,37,100,41,46,10,0,83,105,122,101,32,121,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,104,61,37,100,41,46,10,0,83,101,116,116,105,110,103,32,100,101,99,111,100,105,110,103,32,97,114,101,97,32,116,111,32,37,100,44,37,100,44,37,100,44,37,100,10,0,87,114,111,110,103,32,102,108,97,103,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,102,111,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,116,120,48,61,37,100,44,32,116,121,48,61,37,100,10,0,9,32,116,100,120,61,37,100,44,32,116,100,121,61,37,100,10,0,9,32,116,119,61,37,100,44,32,116,104,61,37,100,10,0,125,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,100,101,120,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,77,97,105,110,32,104,101,97,100,101,114,32,115,116,97,114,116,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,9,32,77,97,105,110,32,104,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),
34
+ allocate([97,100,101,114,32,101,110,100,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,0,9,32,77,97,114,107,101,114,32,108,105,115,116,58,32,123,10,0,9,9,32,116,121,112,101,61,37,35,120,44,32,112,111,115,61,37,108,108,105,44,32,108,101,110,61,37,100,10,0,9,32,125,10,0,9,32,84,105,108,101,32,105,110,100,101,120,58,32,123,10,0,9,9,32,110,98,32,111,102,32,116,105,108,101,45,112,97,114,116,32,105,110,32,116,105,108,101,32,91,37,100,93,61,37,100,10,0,9,9,9,32,116,105,108,101,45,112,97,114,116,91,37,100,93,58,32,115,116,97,114,95,112,111,115,61,37,108,108,105,44,32,101,110,100,95,104,101,97,100,101,114,61,37,108,108,105,44,32,101,110,100,95,112,111,115,61,37,108,108,105,46,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,73,109,97,103,101,32,105,110,102,111,32,123,10,0,37,115,32,120,48,61,37,100,44,32,121,48,61,37,100,10,0,37,115,32,120,49,61,37,100,44,32,121,49,61,37,100,10,0,37,115,32,110,117,109,99,111,109,112,115,61,37,100,10,0,37,115,9,32,99,111,109,112,111,110,101,110,116,32,37,100,32,123,10,0,37,115,125,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,99,111,109,112,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,37,115,32,100,120,61,37,100,44,32,100,121,61,37,100,10,0,37,115,32,112,114,101,99,61,37,100,10,0,37,115,32,115,103,110,100,61,37,100,10,0,87,101,32,110,101,101,100,32,97,110,32,105,109,97,103,101,32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,46,10,0,84,105,108,101,32,105,110,100,101,120,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,115,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116,32,37,100,32,40,109,97,120,32,61,32,37,100,41,32,10,0,82,101,115,111,108,117,116,105,111,110,32,102,97,99,116,111,114,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,114,101,115,111,108,117,116,105,111,110,32,105,110,32,116,104,101,32,99,111,109,112,111,110,101,110,116,46,10,0,84,104,101,32,103,105,118,101,110,32,116,105,108,101,32,105,110,100,101,120,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,0,116,105,108,101,32,110,117,109,98,101,114,32,37,100,32,47,32,37,100,10,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,101,110,99,111,100,101,32,97,108,108,32,116,105,108,101,115,10,0,83,105,122,101,32,109,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,116,105,108,101,32,100,97,116,97,32,97,110,100,32,115,101,110,116,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,104,101,97,100,101,114,46,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,114,101,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,111,115,116,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,105,108,101,32,67,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,66,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,84,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,79,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,116,104,101,32,67,79,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,80,79,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,84,76,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,81,99,100,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,83,73,90,32,109,97,114,107,101,114,10,0,78,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,105,115,32,116,111,111,32,104,105,103,104,32,105,110,32,99,111,109,112,97,114,105,115,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,105,108,101,115,10,0,67,97,110,110,111,116,32,101,110,99,111,100,101,32,116,105,108,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,111,110,101,32,116,105,108,101,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,101,101,107,32,102,117,110,99,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,84,105,108,101,32,37,100,47,37,100,32,104,97,115,32,98,101,101,110,32,100,101,99,111,100,101,100,46,10,0,73,109,97,103,101,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,117,112,100,97,116,101,100,32,119,105,116,104,32,116,105,108,101,32,37,100,46,10,10,0,84,105,108,101,32,114,101,97,100,44,32,100,101,99,111,100,101,100,32,97,110,100,32,117,112,100,97,116,101,100,32,105,115,32,110,111,116,32,116,104,101,32,100,101,115,105,114,101,100,32,111,110,101,32,40,37,100,32,118,115,32,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,115,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,9,32,100,101,102,97,117,108,116,32,116,105,108,101,32,123,10,0,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,32,112,114,103,61,37,35,120,10,0,9,9,32,110,117,109,108,97,121,101,114,115,61,37,100,10,0,9,9,32,109,99,116,61,37,120,10,0,9,9,32,99,111,109,112,32,37,100,32,123,10,0,9,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,9,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,61,37,100,10,0,9,9,9,32,99,98,108,107,119,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,104,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,115,116,121,61,37,35,120,10,0,9,9,9,32,113,109,102,98,105,100,61,37,100,10,0,9,9,9,32,112,114,101,99,99,105,110,116,115,105,122,101,32,40,119,44,104,41,61,0,40,37,100,44,37,100,41,32,0,9,9,9,32,113,110,116,115,116,121,61,37,100,10,0,9,9,9,32,110,117,109,103,98,105,116,115,61,37,100,10,0,9,9,9,32,115,116,101,112,115,105,122,101,115,32,40,109,44,101,41,61,0,9,9,9,32,114,111,105,115,104,105,102,116,61,37,100,10,0,9,9,32,125,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,79,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,115,116,97,103,101,115,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,100,97,116,97,32,115,112,97,110,110,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,99,111,108,108,101,99,116,105,111,110,115,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,116,104,101,114,32,116,104,97,110,32,97,114,114,97,121,32,100,101,99,111,114,114,101,108,97,116,105,111,110,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,105,110,100,105,120,32,115,104,117,102,102,108,101,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,111,117,116,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,105,110,100,105,120,101,115,10,0,67,114,114,111,114,32,114,101,97,100,105,110,103,32,67,66,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,99,116,32,100,97,116,97,32,119,105,116,104,105,110,32,109,117,108,116,105,112,108,101,32,77,67,84,32,114,101,99,111,114,100,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,77,67,84,32,109,97,114,107,101,114,115,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,82,71,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,58,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,104,97,118,101,32,98,101,101,110,32,112,114,101,118,105,111,117,115,108,121,32,102,111,117,110,100,32,105,110,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,40,80,80,77,32,109,97,114,107,101,114,41,46,10,0,90,112,112,116,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,77,32,109,97,114,107,101,114,10,0,90,112,112,109,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,84,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,105,108,108,101,103,97,108,32,45,62,32,37,100,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,110,117,109,98,101,114,32,111,102,32,112,97,114,97,109,101,116,101,114,115,32,40,32,37,100,32,118,115,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,101,103,97,116,105,118,101,32,111,114,32,122,101,114,111,32,105,109,97,103,101,32,115,105,122,101,32,40,37,100,32,120,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,110,118,97,108,105,100,32,116,105,108,101,32,115,105,122,101,32,40,116,100,120,58,32,37,100,44,32,116,100,121,58,32,37,100,41,10,0,80,114,101,118,101,110,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,32,40,120,49,58,32,37,100,44,32,121,49,58,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,108,108,101,103,97,108,32,116,105,108,101,32,111,102,102,115,101,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,83,73,90,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32,99,111,109,112,32,61,32,37,100,32,58,32,100,120,61,37,117,32,100,121,61,37,117,10,32,40,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,50,53,53,32,97,99,99,111,114,100,105,110,103,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,41,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,115,32,58,32,37,117,32,120,32,37,117,32,40,109,97,120,105,109,117,109,32,102,105,120,101,100,32,98,121,32,106,112,101,103,50,48,48,48,32,110,111,114,109,32,105,115,32,54,53,53,51,53,32,116,105,108,101,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,79,67,32,109,97,114,107,101,114,10,0,84,111,111,32,109,97,110,121,32,80,79,67,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,67,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,58,32,37,100,44,32,114,101,103,97,114,100,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,81,99,100,32,111,114,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,87,104,105,108,101,32,114,101,97,100,105,110,103,32,67,67,80,95,81,78,84,83,84,89,32,101,108,101,109,101,110,116,32,105,110,115,105,100,101,32,81,67,68,32,111,114,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,44,32,110,117,109,98,101,114,32,111,102,32,115,117,98,98,97,110,100,115,32,40,37,100,41,32,105,115,32,103,114,101,97,116,101,114,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,46,32,83,111,32,119,101,32,108,105,109,105,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,115,116,111,114,101,100,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,32,97,110,100,32,115,107,105,112,32,116,104,101,32,114,101,115,116,46,32,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,82,71,78,32,109,97,114,107,101,114,10,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,32,105,110,32,82,71,78,32,40,37,100,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,37,100,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,32,40,98,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,102,111,114,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,44,32,109,97,120,32,118,97,108,117,101,32,105,115,32,115,101,116,32,105,110,32,111,112,101,110,106,112,101,103,46,104,32,97,116,32,37,100,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,99,111,109,112,111,110,101,110,116,32,37,100,46,10,84,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,116,111,32,114,101,109,111,118,101,32,105,115,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,111,102,32,116,104,105,115,32,99,111,109,112,111,110,101,110,116,10,77,111,100,105,102,121,32,116,104,101,32,99,112,95,114,101,100,117,99,101,32,112,97,114,97,109,101,116,101,114,46,10,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,44,32,73,110,118,97,108,105,100,32,99,98,108,107,119,47,99,98,108,107,104,32,99,111,109,98,105,110,97,116,105,111,110,10,0,73,110,118,97,108,105,100,32,112,114,101,99,105,110,99,116,32,115,105,122,101,10,0,67,79,68,32,109,97,114,107,101,114,32,97,108,114,101,97,100,121,32,114,101,97,100,46,32,78,111,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,67,79,68,32,109,97,114,107,101,114,32,112,101,114,32,116,105,108,101,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,83,99,111,100,32,118,97,108,117,101,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,112,114,111,103,114,101,115,115,105,111,110,32,111,114,100,101,114,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,105,110,32,67,79,68,32,109,97,114,107,101,114,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,45,54,53,53,51,53,93,10,0,73,110,118,97,108,105,100,32,116,105,108,101,32,110,117,109,98,101,114,32,37,100,10,0,69,109,112,116,121,32,83,79,84,32,109,97,114,107,101,114,32,100,101,116,101,99,116,101,100,58,32,80,115,111,116,61,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,114,114,101,99,116,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,58,32,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,108,101,45,112,97,114,116,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,44,32,119,101,32,97,115,115,117,109,105,110,103,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,108,101,45,112,97,114,116,32,111,102,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,46,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,104,101,97,100,101,114,41,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,83,79,84,32,109,97,114,107,101,114,46,32,84,105,108,101,32,105,110,100,101,120,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,10,0,83,116,97,114,116,32,116,111,32,114,101,97,100,32,106,50,107,32,109,97,105,110,32,104,101,97,100,101,114,32,40,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,109,104,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,97,32,83,79,67,32,109,97,114,107,101,114,32,10,0,65,32,109,97,114,107,101,114,32,73,68,32,119,97,115,32,101,120,112,101,99,116,101,100,32,40,48,120,102,102,45,45,41,32,105,110,115,116,101,97,100,32,111,102,32,37,46,56,120,10,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,32,109,97,114,107,101,114,32,104,97,118,101,32,98,101,101,110,32,100,101,116,101,99,116,101,100,32,97,110,100,32,103,101,110,101,114,97,116,101,100,32,101,114,114,111,114,46,10,0,77,97,114,107,101,114,32,104,97,110,100,108,101,114,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,10,0,114,101,113,117,105,114,101,100,32,83,73,90,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,67,79,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,81,67,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,98,121,116,101,115,32,116,111,32,114,101,97,100,32,78,112,112,109,10,0,67,111,114,114,117,112,116,101,100,32,80,80,77,32,109,97,114,107,101,114,115,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,77,32,100,97,116,97,10,0,77,97,105,110,32,104,101,97,100,101,114,32,104,97,115,32,98,101,101,110,32,99,111,114,114,101,99,116,108,121,32,100,101,99,111,100,101,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,105,110,32,116,104,101,32,74,80,50,32,102,105,108,101,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,119,104,105,108,101,32,115,101,116,116,105,110,103,32,117,112,32,74,80,50,32,101,110,99,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,104,101,110,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,117,110,107,110,111,119,110,32,101,110,117,109,99,115,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,110,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,99,111,109,112,111,110,101,110,116,115,32,102,111,114,32,97,110,32,97,117,116,111,109,97,116,105,99,32,99,100,101,102,32,98,111,120,32,99,114,101,97,116,105,111,110,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,112,111,115,105,116,105,111,110,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,99,111,108,111,114,32,99,104,97,110,110,101,108,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,77,117,108,116,105,112,108,101,32,97,108,112,104,97,32,99,104,97,110,110,101,108,115,32,115,112,101,99,105,102,105,101,100,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,74,80,50,32,98,111,120,32,119,104,105,99,104,32,97,114,101,32,97,102,116,101,114,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,110,111,116,32,98,101,32,114,101,97,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,111,108,100,32,74,80,50,32,72,101,97,100,101,114,32,100,97,116,97,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,102,116,121,112,32,100,97,116,97,10,0,69,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,102,116,121,112,32,100,97,116,97,32,116,111,32,115,116,114,101,97,109,10,0,70,97,105,108,101,100,32,116,111,32,115,101,101,107,32,105,110,32,116,104,101,32,115,116,114,101,97,109,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,102,105,108,101,32,104,101,97,100,101,114,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,115,105,122,101,115,32,104,105,103,104,101,114,32,116,104,97,110,32,50,94,51,50,10,0,98,97,100,32,112,108,97,99,101,100,32,106,112,101,103,32,99,111,100,101,115,116,114,101,97,109,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,117,110,100,101,102,105,110,101,100,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,40,37,120,41,10,0,70,111,117,110,100,32,97,32,109,105,115,112,108,97,99,101,100,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,111,117,116,115,105,100,101,32,106,112,50,104,32,98,111,120,10,0,74,80,69,71,50,48,48,48,32,72,101,97,100,101,114,32,98,111,120,32,110,111,116,32,114,101,97,100,32,121,101,116,44,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,107,105,112,112,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,73,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,102,111,114,32,98,111,120,32,39,37,99,37,99,37,99,37,99,39,46,32,78,101,101,100,32,37,100,32,98,121,116,101,115,44,32,37,100,32,98,121,116,101,115,32,114,101,109,97,105,110,105,110,103,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,98,111,120,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,114,101,97,100,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,102,105,114,115,116,32,98,111,120,32,109,117,115,116,32,98,101,32,74,80,69,71,32,50,48,48,48,32,115,105,103,110,97,116,117,114,101,32,98,111,120,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,115,101,99,111,110,100,32,98,111,120,32,109,117,115,116,32,98,101,32,102,105,108,101,32,116,121,112,101,32,98,111,120,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,68,69,70,32,98,111,120,46,10,0,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,32,105,110,32,67,68,69,70,32,98,111,120,46,10,0,78,101,101,100,32,116,111,32,114,101,97,100,32,97,32,80,67,76,82,32,98,111,120,32,98,101,102,111,114,101,32,116,104,101,32,67,77,65,80,32,98,111,120,46,10,0,79,110,108,121,32,111,110,101,32,67,77,65,80,32,98,111,120,32,105,115,32,97,108,108,111,119,101,100,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,77,65,80,32,98,111,120,46,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,37,100,32,101,110,116,114,105,101,115,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,48,32,112,97,108,101,116,116,101,32,99,111,108,117,109,110,115,10,0,65,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,108,116,104,111,117,103,104,32,66,80,67,32,103,105,118,101,110,32,98,121,32,116,104,101,32,73,72,68,82,32,98,111,120,32,40,37,100,41,32,105,110,100,105,99,97,116,101,32,99,111,109,112,111,110,101,110,116,115,32,98,105,116,32,100,101,112,116,104,32,105,115,32,99,111,110,115,116,97,110,116,10,0,66,97,100,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,65,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,114,101,97,100,101,114,32,115,104,97,108,108,32,105,103,110,111,114,101,32,97,108,108,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,101,115,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,44,32,115,111,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,111,110,101,46,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,67,73,69,76,97,98,44,32,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,67,79,76,82,32,66,79,88,32,109,101,116,104,32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,118,97,108,117,101,32,40,37,100,41,44,32,115,111,32,119,101,32,119,105,108,108,32,105,103,110,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,46,32,10,0,66,97,100,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,40,105,104,100,114,41,10,0,74,80,50,32,73,72,68,82,32,98,111,120,58,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,102,105,108,101,32,40,37,100,41,32,10,0,84,104,101,32,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,56,32,98,121,116,101,115,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,88,76,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,49,54,32,98,121,116,101,115,10,0,66,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,98,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,110,111,32,39,105,104,100,114,39,32,98,111,120,46,10,0,84,104,101,32,102,116,121,112,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,115,101,99,111,110,100,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,70,84,89,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,105,116,104,32,70,84,89,80,32,66,111,120,10,0,84,104,101,32,115,105,103,110,97,116,117,114,101,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,83,105,103,110,97,116,117,114,101,32,58,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,97,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,32,40,62,61,32,37,100,41,46,10,0,73,110,99,111,109,112,108,101,116,101,32,99,104,97,110,110,101,108,32,100,101,102,105,110,105,116,105,111,110,115,46,10,0,85,110,101,120,112,101,99,116,101,100,32,79,79,77,46,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,47,112,97,108,101,116,116,101,32,105,110,100,101,120,32,102,111,114,32,100,105,114,101,99,116,32,109,97,112,112,105,110,103,32,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,105,115,32,109,97,112,112,101,100,32,116,119,105,99,101,46,10,0,68,105,114,101,99,116,32,117,115,101,32,97,116,32,35,37,100,32,104,111,119,101,118,101,114,32,112,99,111,108,61,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,100,111,101,115,110,39,116,32,104,97,118,101,32,97,32,109,97,112,112,105,110,103,46,10,0,67,111,109,112,111,110,101,110,116,32,109,97,112,112,105,110,103,32,115,101,101,109,115,32,119,114,111,110,103,46,32,84,114,121,105,110,103,32,116,111,32,99,111,114,114,101,99,116,46,10,0,84,105,108,101,115,32,100,111,110,39,116,32,97,108,108,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,100,105,109,101,110,115,105,111,110,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,40,37,100,41,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,97,32,77,67,84,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,116,105,108,101,115,32,114,101,113,117,105,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,114,101,115,111,108,117,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,114,101,115,111,108,117,116,105,111,110,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,98,97,110,100,32,112,114,101,99,105,110,116,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,101,99,105,110,99,116,32,99,111,100,101,98,108,111,99,107,32,101,108,101,109,101,110,116,10,0,78,111,32,105,110,99,108,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,32,105,109,115,98,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,10,0,116,103,116,95,99,114,101,97,116,101,32,116,114,101,101,45,62,110,117,109,110,111,100,101,115,32,61,61,32,48,44,32,110,111,32,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,32,110,111,100,101,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,116,97,103,32,116,114,101,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,97,32,110,101,119,32,118,97,108,105,100,97,116,105,111,110,32,112,114,111,99,101,100,117,114,101,10,0,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240),
35
+ allocate([7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,3,6,3,6,6,8,3,6,6,8,6,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,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,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,99,117,114,114,101,110,116,32,115,105,122,101,32,40,37,100,32,62,32,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,115,107,105,112,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480),allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,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,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+25118);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0),Module._i64Subtract=_i64Subtract;var _floorf=Math_floor;Module._bitshift64Ashr=_bitshift64Ashr;var _SItoF=!0;Module._memset=_memset;var _BDtoILow=!0,_ceilf=Math_ceil;Module._bitshift64Shl=_bitshift64Shl,Module._i64Add=_i64Add;var _floor=Math_floor,_sqrt=Math_sqrt,PATH=void 0,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 e=Browser.mainLoop.timingMode,i=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,i),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",i=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;i?i<r?Module.setStatus(e+" ("+(r-i)+"/"+r+")"):Module.setStatus(e):Module.setStatus("")}},runIter:function(e){if(!ABORT){if(Module.preMainLoop){if(Module.preMainLoop()===!1)return}try{e()}catch(e){if(e instanceof ExitStatus)return;throw e&&"object"==typeof e&&e.stack&&Module.printErr("exception thrown: "+[e,e.stack]),e}Module.postMainLoop&&Module.postMainLoop()}}},isFullScreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){function e(){Browser.pointerLock=document.pointerLockElement===t||document.mozPointerLockElement===t||document.webkitPointerLockElement===t||document.msPointerLockElement===t}if(Module.preloadPlugins||(Module.preloadPlugins=[]),!Browser.initted){Browser.initted=!0;try{new Blob,Browser.hasBlobConstructor=!0}catch(e){Browser.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Browser.hasBlobConstructor?null:console.log("warning: no BlobBuilder"),Browser.URLObject="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,Module.noImageDecoding||void 0!==Browser.URLObject||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var i={};i.canHandle=function(e){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},i.handle=function(e,i,r,t){var n=null;if(Browser.hasBlobConstructor)try{n=new Blob([e],{type:Browser.getMimetype(i)}),n.size!==e.length&&(n=new Blob([new Uint8Array(e).buffer],{type:Browser.getMimetype(i)}))}catch(e){Runtime.warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}if(!n){var f=new Browser.BlobBuilder;f.append(new Uint8Array(e).buffer),n=f.getBlob()}var a=Browser.URLObject.createObjectURL(n),s=new Image;s.onload=function(){assert(s.complete,"Image "+i+" could not be decoded");var t=document.createElement("canvas");t.width=s.width,t.height=s.height,t.getContext("2d").drawImage(s,0,0),Module.preloadedImages[i]=t,Browser.URLObject.revokeObjectURL(a),r&&r(e)},s.onerror=function(e){console.log("Image "+a+" could not be decoded"),t&&t()},s.src=a},Module.preloadPlugins.push(i);var r={};r.canHandle=function(e){return!Module.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},r.handle=function(e,i,r,t){function n(t){a||(a=!0,Module.preloadedAudios[i]=t,r&&r(e))}function f(){a||(a=!0,Module.preloadedAudios[i]=new Audio,t&&t())}var a=!1;if(!Browser.hasBlobConstructor)return f();try{var s=new Blob([e],{type:Browser.getMimetype(i)})}catch(e){return f()}var l=Browser.URLObject.createObjectURL(s),o=new Audio;o.addEventListener("canplaythrough",function(){n(o)},!1),o.onerror=function(r){a||(console.log("warning: browser could not fully decode audio "+i+", trying slower base64 approach"),o.src="data:audio/x-"+i.substr(-3)+";base64,"+function(e){for(var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",t=0,n=0,f=0;f<e.length;f++)for(t=t<<8|e[f],n+=8;n>=6;){var a=t>>n-6&63;n-=6,r+=i[a]}return 2==n?(r+=i[(3&t)<<4],r+="=="):4==n&&(r+=i[(15&t)<<2],r+="="),r}(e),n(o))},o.src=l,Browser.safeSetTimeout(function(){n(o)},1e4)},Module.preloadPlugins.push(r);var t=Module.canvas;t&&(t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock||t.msRequestPointerLock||function(){},t.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},t.exitPointerLock=t.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",e,!1),document.addEventListener("mozpointerlockchange",e,!1),document.addEventListener("webkitpointerlockchange",e,!1),document.addEventListener("mspointerlockchange",e,!1),Module.elementPointerLock&&t.addEventListener("click",function(e){!Browser.pointerLock&&t.requestPointerLock&&(t.requestPointerLock(),e.preventDefault())},!1))}},createContext:function(e,i,r,t){if(i&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,f;if(i){var a={antialias:!1,alpha:!1};if(t)for(var s in t)a[s]=t[s];f=GL.createContext(e,a),f&&(n=GL.getContext(f).GLctx),e.style.backgroundColor="black"}else n=e.getContext("2d");return n?(r&&(i||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=n,i&&GL.makeContextCurrent(f),Module.useWebGL=i,Browser.moduleContextCreatedCallbacks.forEach(function(e){e()}),Browser.init()),n):null},destroyContext:function(e,i,r){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,i,r){function t(){Browser.isFullScreen=!1;var e=n.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(n.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},n.cancelFullScreen=n.cancelFullScreen.bind(document),Browser.lockPointer&&n.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):(e.parentNode.insertBefore(n,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen),Browser.updateCanvasDimensions(n)}Browser.lockPointer=e,Browser.resizeCanvas=i,Browser.vrDevice=r,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var n=Module.canvas;Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",t,!1),document.addEventListener("mozfullscreenchange",t,!1),document.addEventListener("webkitfullscreenchange",t,!1),document.addEventListener("MSFullscreenChange",t,!1));var f=document.createElement("div");n.parentNode.insertBefore(f,n),f.appendChild(n),f.requestFullScreen=f.requestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullScreen?function(){f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?f.requestFullScreen({vrDisplay:r}):f.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var i=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=i+1e3/60;else for(;i+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-i,0);setTimeout(e,r)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach(function(e){e()})}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))})},safeSetTimeout:function(e,i){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))},i)},safeSetInterval:function(e,i){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&e()},i)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var i=0;switch(e.type){case"DOMMouseScroll":i=e.detail;break;case"mousewheel":i=e.wheelDelta;break;case"wheel":i=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return i},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var i=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,t=Module.canvas.height,n=void 0!==window.scrollX?window.scrollX:window.pageXOffset,f=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var a=e.touch;if(void 0===a)return;var s=a.pageX-(n+i.left),l=a.pageY-(f+i.top);s*=r/i.width,l*=t/i.height;var o={x:s,y:l};if("touchstart"===e.type)Browser.lastTouches[a.identifier]=o,Browser.touches[a.identifier]=o;else if("touchend"===e.type||"touchmove"===e.type){var u=Browser.touches[a.identifier];u||(u=o),Browser.lastTouches[a.identifier]=u,Browser.touches[a.identifier]=o}return}var c=e.pageX-(n+i.left),d=e.pageY-(f+i.top);c*=r/i.width,d*=t/i.height,Browser.mouseMovementX=c-Browser.mouseX,Browser.mouseMovementY=d-Browser.mouseY,Browser.mouseX=c,Browser.mouseY=d}},xhrLoad:function(e,i,r){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?i(t.response):r()},t.onerror=r,t.send(null)},asyncLoad:function(e,i,r,t){Browser.xhrLoad(e,function(r){assert(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),i(new Uint8Array(r)),t||removeRunDependency("al "+e)},function(i){if(!r)throw'Loading data file "'+e+'" failed.';r()}),t||addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach(function(i){i(e.width,e.height)})},setCanvasSize:function(e,i,r){var t=Module.canvas;Browser.updateCanvasDimensions(t,e,i),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,i,r){i&&r?(e.widthNative=i,e.heightNative=r):(i=e.widthNative,r=e.heightNative);var t=i,n=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(t/n<Module.forcedAspectRatio?t=Math.round(n*Module.forcedAspectRatio):n=Math.round(t/Module.forcedAspectRatio)),(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var f=Math.min(screen.width/t,screen.height/n);t=Math.round(t*f),n=Math.round(n*f)}Browser.resizeCanvas?(e.width!=t&&(e.width=t),e.height!=n&&(e.height=n),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=i&&(e.width=i),e.height!=r&&(e.height=r),void 0!==e.style&&(t!=i||n!=r?(e.style.setProperty("width",t+"px","important"),e.style.setProperty("height",n+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var e=Browser.nextWgetRequestHandle;return Browser.nextWgetRequestHandle++,e}},SYSCALLS={varargs:0,get:function(e){return SYSCALLS.varargs+=4,HEAP32[SYSCALLS.varargs-4>>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),i=SYSCALLS.get();return assert(e>=0?0===i:i===-1),e},getZero:function(){assert(0===SYSCALLS.get())}},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};Module._bitshift64Lshr=_bitshift64Lshr;var _BDtoIHigh=!0;Module._memcpy=_memcpy;var _llvm_pow_f64=Math_pow,_BItoD=!0;Module.requestFullScreen=function(e,i,r){Browser.requestFullScreen(e,i,r)},Module.requestAnimationFrame=function(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function(e,i,r){Browser.setCanvasSize(e,i,r)},Module.pauseMainLoop=function(){Browser.mainLoop.pause()},Module.resumeMainLoop=function(){Browser.mainLoop.resume()},Module.getUserMedia=function(){Browser.getUserMedia()},Module.createContext=function(e,i,r,t){return Browser.createContext(e,i,r,t)},STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX),assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",3);Module.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort:abort,assert:assert,invoke_iiiiiiii:invoke_iiiiiiii,invoke_iiii:invoke_iiii,invoke_di:invoke_di,invoke_vi:invoke_vi,invoke_vii:invoke_vii,invoke_iiiiiii:invoke_iiiiiii,invoke_ii:invoke_ii,invoke_viii:invoke_viii,invoke_iiiiiiiiiiii:invoke_iiiiiiiiiiii,invoke_iiiii:invoke_iiiii,invoke_iii:invoke_iii,invoke_iiiiii:invoke_iiiiii,invoke_viiii:invoke_viiii,_pthread_cleanup_pop:_pthread_cleanup_pop,___syscall221:___syscall221,_llvm_pow_f64:_llvm_pow_f64,_abort:_abort,_pthread_cleanup_push:_pthread_cleanup_push,_ceilf:_ceilf,_emscripten_set_main_loop_timing:_emscripten_set_main_loop_timing,_sbrk:_sbrk,_emscripten_memcpy_big:_emscripten_memcpy_big,_sysconf:_sysconf,___setErrNo:___setErrNo,_floor:_floor,_pthread_self:_pthread_self,_sqrt:_sqrt,_floorf:_floorf,___syscall54:___syscall54,___unlock:___unlock,_emscripten_set_main_loop:_emscripten_set_main_loop,___lock:___lock,___syscall6:___syscall6,___syscall5:___syscall5,_time:_time,___syscall140:___syscall140,___syscall145:___syscall145,___syscall146:___syscall146,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX,tempDoublePtr:tempDoublePtr,ABORT:ABORT,cttz_i8:cttz_i8};var asm=function(e,i,r){"use asm";var t=new e.Int8Array(r);var n=new e.Int16Array(r);var f=new e.Int32Array(r);var a=new e.Uint8Array(r);var s=new e.Uint16Array(r);var l=new e.Uint32Array(r);var o=new e.Float32Array(r);var u=new e.Float64Array(r);var c=i.STACKTOP|0;var d=i.STACK_MAX|0;var h=i.tempDoublePtr|0;var b=i.ABORT|0;var k=i.cttz_i8|0;var w=0;var m=0;var _=0;var p=0;var v=e.NaN,g=e.Infinity;var y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0;var D=0;var R=0;var O=0;var L=0;var I=0;var B=0;var N=0;var F=0;var j=0;var U=0;var H=e.Math.floor;var Y=e.Math.abs;var q=e.Math.sqrt;var z=e.Math.pow;var X=e.Math.cos;var G=e.Math.sin;var V=e.Math.tan;var K=e.Math.acos;var W=e.Math.asin;var J=e.Math.atan;var Q=e.Math.atan2;var Z=e.Math.exp;var $=e.Math.log;var ee=e.Math.ceil;var ie=e.Math.imul;var re=e.Math.min;var te=e.Math.clz32;var ne=i.abort;var fe=i.assert;var ae=i.invoke_iiiiiiii;var se=i.invoke_iiii;var le=i.invoke_di;var oe=i.invoke_vi;var ue=i.invoke_vii;var ce=i.invoke_iiiiiii;var de=i.invoke_ii;var he=i.invoke_viii;var be=i.invoke_iiiiiiiiiiii;var ke=i.invoke_iiiii;var we=i.invoke_iii;var me=i.invoke_iiiiii;var _e=i.invoke_viiii;var pe=i._pthread_cleanup_pop;var ve=i.___syscall221;var ge=i._llvm_pow_f64;var ye=i._abort;var Ee=i._pthread_cleanup_push;var Ae=i._ceilf;var Se=i._emscripten_set_main_loop_timing;var Te=i._sbrk;var Me=i._emscripten_memcpy_big;var Ce=i._sysconf;var Pe=i.___setErrNo;var xe=i._floor;var De=i._pthread_self;var Re=i._sqrt;var Oe=i._floorf;var Le=i.___syscall54
36
+ ;var Ie=i.___unlock;var Be=i._emscripten_set_main_loop;var Ne=i.___lock;var Fe=i.___syscall6;var je=i.___syscall5;var Ue=i._time;var He=i.___syscall140;var Ye=i.___syscall145;var qe=i.___syscall146;var ze=0;function Xe(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+48|0;n=d+32|0;u=d+28|0;f[n>>2]=r;if((f[e+8>>2]|0)==16)o=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else o=f[e+12>>2]|0;a=(f[e+80>>2]|0)+16|0;s=(f[a>>2]|0)>>>0<257?1:2;l=s+1|0;if(l>>>0>r>>>0){Ht(t,1,14585,d)|0;t=0;c=d;return t|0}f[n>>2]=r-l;ct(i,u,s);r=f[u>>2]|0;if(r>>>0>=(f[a>>2]|0)>>>0){Ht(t,1,14611,d+8|0)|0;t=0;c=d;return t|0}ct(i+s|0,(f[o+5584>>2]|0)+(r*1080|0)|0,1);if(!(mi(e,f[u>>2]|0,i+l|0,n,t)|0)){Ht(t,1,14585,d+16|0)|0;t=0;c=d;return t|0}if(!(f[n>>2]|0)){t=1;c=d;return t|0}Ht(t,1,14585,d+24|0)|0;t=0;c=d;return t|0}function Ge(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+32|0;l=o+8|0;n=o+20|0;s=f[(f[e+80>>2]|0)+16>>2]|0;a=s>>>0<257?1:2;if((a+2|0)!=(r|0)){Ht(t,1,14502,o)|0;l=0;c=o;return l|0}if((f[e+8>>2]|0)==16)e=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else e=f[e+12>>2]|0;ct(i,n,a);ct(i+a|0,o+16|0,1);r=f[n>>2]|0;if(r>>>0<s>>>0){ct(i+(a+1)|0,(f[e+5584>>2]|0)+(r*1080|0)+808|0,1);l=1;c=o;return l|0}else{f[l>>2]=r;f[l+4>>2]=s;Ht(t,1,14528,l)|0;l=0;c=o;return l|0}return 0}function Ve(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0;s=c;c=c+16|0;n=s+12|0;f[n>>2]=r;if(!(wi(e,0,i,n,t)|0)){Ht(t,1,14476,s)|0;a=0;c=s;return a|0}if(f[n>>2]|0){Ht(t,1,14476,s+8|0)|0;a=0;c=s;return a|0}if((f[e+8>>2]|0)==16)n=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else n=f[e+12>>2]|0;n=f[n+5584>>2]|0;r=e+80|0;if((f[(f[r>>2]|0)+16>>2]|0)>>>0<=1){a=1;c=s;return a|0}t=n+24|0;e=n+804|0;a=n+28|0;i=1;while(1){f[n+1104>>2]=f[t>>2];f[n+1884>>2]=f[e>>2];Nl(n+1108|0,a|0,776)|0;i=i+1|0;if(i>>>0>=(f[(f[r>>2]|0)+16>>2]|0)>>>0){n=1;break}else n=n+1080|0}c=s;return n|0}function Ke(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0;b=c;c=c+48|0;h=b+32|0;d=b+24|0;u=b+16|0;a=b+8|0;n=b;o=b+40|0;s=b+36|0;f[o>>2]=r;l=e+80|0;do if((f[(f[l>>2]|0)+16>>2]|0)>>>0<257){if(r){ct(i,s,1);a=i+1|0;i=r+-1|0;break}Ht(t,1,14129,n)|0;h=0;c=b;return h|0}else{if(r>>>0>=2){ct(i,s,2);a=i+2|0;i=r+-2|0;break}Ht(t,1,14129,a)|0;h=0;c=b;return h|0}while(0)f[o>>2]=i;n=f[s>>2]|0;i=f[(f[l>>2]|0)+16>>2]|0;if(n>>>0>=i>>>0){f[u>>2]=n;f[u+4>>2]=i;Ht(t,1,14155,u)|0;h=0;c=b;return h|0}if(!(wi(e,n,a,o,t)|0)){Ht(t,1,14129,d)|0;h=0;c=b;return h|0}if(!(f[o>>2]|0)){h=1;c=b;return h|0}Ht(t,1,14129,h)|0;h=0;c=b;return h|0}function We(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0;p=c;c=c+16|0;s=p+8|0;_=p+12|0;m=f[(f[e+80>>2]|0)+16>>2]|0;w=m>>>0<257?1:2;k=(w<<1)+5|0;a=(r>>>0)/(k>>>0)|0;if((a|0)==0|((r>>>0)%(k>>>0)|0|0)!=0){Ht(n,1,14085,p)|0;_=0;c=p;return _|0}if((f[e+8>>2]|0)==16)k=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else k=f[e+12>>2]|0;r=k+5636|0;e=t[r>>0]|0;if(!(e&4))b=0;else b=(f[k+420>>2]|0)+1|0;h=b+a|0;if(h>>>0>31){f[s>>2]=h;Ht(n,1,14111,s)|0;_=0;c=p;return _|0}t[r>>0]=e|4;if(b>>>0<h>>>0){n=w+1|0;d=k+8|0;s=w+3|0;l=w|4;o=l+w|0;u=o+1|0;e=i;a=b;r=k+424+(b*148|0)|0;while(1){ct(e,r,1);ct(e+1|0,r+4|0,w);i=r+8|0;ct(e+n|0,i,2);v=f[i>>2]|0;b=f[d>>2]|0;f[i>>2]=v>>>0<b>>>0?v:b;ct(e+s|0,r+12|0,1);i=r+16|0;ct(e+l|0,i,w);ct(e+o|0,_,1);f[r+36>>2]=f[_>>2];b=f[i>>2]|0;f[i>>2]=b>>>0<m>>>0?b:m;a=a+1|0;if(a>>>0>=h>>>0)break;else{e=e+u|0;r=r+148|0}}}f[k+420>>2]=h+-1;v=1;c=p;return v|0}function Je(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0;F=c;c=c+144|0;N=F+128|0;O=F+120|0;R=F+112|0;x=F+104|0;P=F+96|0;C=F+88|0;T=F+72|0;p=F+64|0;m=F+56|0;w=F+48|0;k=F+40|0;_=F+32|0;u=F+24|0;l=F+16|0;s=F+136|0;y=F+132|0;I=f[e+80>>2]|0;B=e+88|0;if(r>>>0<36){Ht(a,1,13440,F)|0;a=0;c=F;return a|0}L=r+-36|0;b=(L>>>0)/3|0;if((L>>>0)%3|0){Ht(a,1,13440,F+8|0)|0;a=0;c=F;return a|0}ct(i,s,2);n[B>>1]=f[s>>2];E=I+8|0;ct(i+2|0,E,4);M=I+12|0;ct(i+6|0,M,4);ct(i+10|0,I,4);h=I+4|0;ct(i+14|0,h,4);g=e+100|0;ct(i+18|0,g,4);S=e+104|0;ct(i+22|0,S,4);v=e+92|0;ct(i+26|0,v,4);A=e+96|0;ct(i+30|0,A,4);ct(i+34|0,s,2);o=i+36|0;r=f[s>>2]|0;if(r>>>0>=16385){f[l>>2]=r;Ht(a,1,13468,l)|0;a=0;c=F;return a|0}r=r&65535;L=I+16|0;f[L>>2]=r;if((r|0)!=(b|0)){f[u>>2]=r;f[u+4>>2]=b;Ht(a,1,13529,u)|0;a=0;c=F;return a|0}u=f[I>>2]|0;d=f[E>>2]|0;if(d>>>0>u>>>0){r=f[h>>2]|0;i=f[M>>2]|0;if(r>>>0<i>>>0){s=f[g>>2]|0;l=f[S>>2]|0;if(!(ie(l,s)|0)){f[k>>2]=s;f[k+4>>2]=l;Ht(a,1,13705,k)|0;a=0;c=F;return a|0}_=Yl(i|0,0,d|0,0)|0;if(!((_|0)==(ie(i,d)|0)&(D|0)==0)){f[w>>2]=d;f[w+4>>2]=i;Ht(a,1,13766,w)|0;a=0;c=F;return a|0}d=f[v>>2]|0;k=Il(d|0,0,s|0,0)|0;w=D;h=f[A>>2]|0;_=Il(h|0,0,l|0,0)|0;if(d>>>0<=u>>>0?h>>>0<=r>>>0&(k|0-w)>>>0>u>>>0&(_|0-D)>>>0>r>>>0:0){i=Fn(b,52)|0;b=I+24|0;f[b>>2]=i;if(!i){f[L>>2]=0;Ht(a,1,13852,p)|0;a=0;c=F;return a|0}e:do if(f[L>>2]|0){u=e+168|0;r=0;l=i;while(1){ct(o,y,1);f[l+24>>2]=(f[y>>2]&127)+1;f[l+32>>2]=(f[y>>2]|0)>>>7;ct(o+1|0,y,1);f[l>>2]=f[y>>2];ct(o+2|0,y,1);s=f[y>>2]|0;f[l+4>>2]=s;i=f[l>>2]|0;if((s+-1|0)>>>0>254|(i+-1|0)>>>0>254)break;f[l+36>>2]=0;f[l+40>>2]=f[u>>2];r=r+1|0;if(r>>>0>=(f[L>>2]|0)>>>0)break e;else{o=o+3|0;l=l+52|0}}f[T>>2]=r;f[T+4>>2]=i;f[T+8>>2]=s;Ht(a,1,13900,T)|0;a=0;c=F;return a|0}while(0)d=f[v>>2]|0;u=f[g>>2]|0;o=((f[E>>2]|0)+-1-d+u|0)/(u|0)|0;f[e+112>>2]=o;l=f[A>>2]|0;s=f[S>>2]|0;i=((f[M>>2]|0)+-1-l+s|0)/(s|0)|0;f[e+116>>2]=i;if(!((i|0)==0|(o|0)==0)?o>>>0<=(65535/(i>>>0)|0)>>>0:0){h=ie(o,i)|0;r=e+28|0;if(!(t[e+76>>0]&2)){f[r>>2]=0;f[e+32>>2]=0;f[e+36>>2]=o;f[e+40>>2]=i}else{f[r>>2]=(((f[r>>2]|0)-d|0)>>>0)/(u>>>0)|0;C=e+32|0;f[C>>2]=(((f[C>>2]|0)-l|0)>>>0)/(s>>>0)|0;C=e+36|0;f[C>>2]=((f[C>>2]|0)+-1-d+u|0)/(u|0)|0;C=e+40|0;f[C>>2]=((f[C>>2]|0)+-1-l+s|0)/(s|0)|0}C=Fn(h,5640)|0;o=e+164|0;f[o>>2]=C;if(!C){Ht(a,1,13852,P)|0;a=0;c=F;return a|0}P=Fn(f[L>>2]|0,1080)|0;i=e+12|0;f[(f[i>>2]|0)+5584>>2]=P;if(!P){Ht(a,1,13852,x)|0;a=0;c=F;return a|0}x=Fn(10,20)|0;r=f[i>>2]|0;f[r+5612>>2]=x;if(!x){Ht(a,1,13852,R)|0;a=0;c=F;return a|0}f[r+5620>>2]=10;R=Fn(10,20)|0;r=f[i>>2]|0;f[r+5624>>2]=R;if(!R){Ht(a,1,13852,O)|0;a=0;c=F;return a|0}f[r+5632>>2]=10;l=f[L>>2]|0;if(l){s=f[b>>2]|0;r=r+5584|0;i=0;do{if(!(f[s+(i*52|0)+32>>2]|0))f[(f[r>>2]|0)+(i*1080|0)+1076>>2]=1<<(f[s+(i*52|0)+24>>2]|0)+-1;i=i+1|0}while(i>>>0<l>>>0)}e:do if(h){r=f[o>>2]|0;O=Fn(l,1080)|0;f[r+5584>>2]=O;if(O){i=0;while(1){i=i+1|0;if(i>>>0>=h>>>0)break e;O=Fn(f[L>>2]|0,1080)|0;f[r+11224>>2]=O;if(!O)break;else r=r+5640|0}}Ht(a,1,13852,N)|0;a=0;c=F;return a|0}while(0)f[e+8>>2]=4;Vt(I,B);a=1;c=F;return a|0}f[C>>2]=o;f[C+4>>2]=i;Ht(a,1,14002,C)|0;a=0;c=F;return a|0}Ht(a,1,13808,m)|0;a=0;c=F;return a|0}}else{i=f[M>>2]|0;r=f[h>>2]|0}f[_>>2]=d-u;f[_+4>>2]=i-r;Ht(a,1,13643,_)|0;a=0;c=F;return a|0}function Qe(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=c;c=c+32|0;e=n+12|0;if(r>>>0<2){Ht(t,1,13414,n)|0;t=0;c=n;return t|0}ct(i,n+16|0,1);ct(i+1|0,e,1);i=f[e>>2]|0;if(!(((r+-2|0)>>>0)%(((i>>>5&2)+2+(i>>>4&3)|0)>>>0)|0)){t=1;c=n;return t|0}Ht(t,1,13414,n+8|0)|0;t=0;c=n;return t|0}function Ze(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=c;c=c+16|0;if(!r){Ht(t,1,13388,e)|0;i=0}else i=1;c=e;return i|0}function $e(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+32|0;l=o+8|0;s=o+12|0;if(!r){Ht(t,1,13362,o)|0;t=0;c=o;return t|0}ct(i,o+16|0,1);n=r+-1|0;if(!n){t=1;c=o;return t|0}else{a=0;e=0}do{i=i+1|0;ct(i,s,1);r=f[s>>2]|0;if(!(r&128))e=0;else e=(r&127|e)<<7;a=a+1|0}while((a|0)!=(n|0))if(!e){t=1;c=o;return t|0}Ht(t,1,13362,l)|0;t=0;c=o;return t|0}function ei(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0;k=c;c=c+48|0;b=k+32|0;u=k+24|0;s=k+16|0;a=k+8|0;h=k+36|0;if(r>>>0<2){Ht(n,1,13276,k)|0;b=0;c=k;return b|0}d=e+184|0;t[d>>0]=t[d>>0]|1;ct(i,h,1);d=i+1|0;o=r+-1|0;l=e+124|0;r=f[l>>2]|0;do if(r){a=e+120|0;i=f[h>>2]|0;if((f[a>>2]|0)>>>0<=i>>>0){e=i+1|0;i=Hn(r,e<<3)|0;if(i){f[l>>2]=i;r=f[a>>2]|0;Ol(i+(r<<3)|0,0,e-r<<3|0)|0;f[a>>2]=e;r=f[l>>2]|0;break}Ht(n,1,13302,s)|0;b=0;c=k;return b|0}}else{i=(f[h>>2]|0)+1|0;r=Fn(i,8)|0;f[l>>2]=r;if(r){f[e+120>>2]=i;break}Ht(n,1,13302,a)|0;b=0;c=k;return b|0}while(0)i=f[h>>2]|0;if(f[r+(i<<3)>>2]|0){f[u>>2]=i;Ht(n,1,13340,u)|0;b=0;c=k;return b|0}u=Nn(o)|0;r=f[h>>2]|0;i=f[l>>2]|0;f[i+(r<<3)>>2]=u;if(!u){Ht(n,1,13302,b)|0;b=0;c=k;return b|0}else{f[i+(r<<3)+4>>2]=o;Nl(f[i+(f[h>>2]<<3)>>2]|0,d|0,o|0)|0;b=1;c=k;return b|0}return 0}function ii(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0;m=c;c=c+48|0;w=m+40|0;b=m+32|0;o=m+24|0;l=m+16|0;k=m+44|0;if(r>>>0<2){Ht(n,1,13127,m)|0;w=0;c=m;return w|0}if(t[e+184>>0]&1){Ht(n,1,13153,m+8|0)|0;w=0;c=m;return w|0}s=f[e+200>>2]|0;a=f[e+164>>2]|0;h=a+(s*5640|0)+5636|0;t[h>>0]=t[h>>0]|2;ct(i,k,1);h=i+1|0;d=r+-1|0;u=a+(s*5640|0)+5164|0;i=f[u>>2]|0;do if(i){a=a+(s*5640|0)+5160|0;e=f[k>>2]|0;if((f[a>>2]|0)>>>0<=e>>>0){r=e+1|0;e=Hn(i,r<<3)|0;if(e){f[u>>2]=e;i=f[a>>2]|0;Ol(e+(i<<3)|0,0,r-i<<3|0)|0;f[a>>2]=r;i=f[u>>2]|0;break}Ht(n,1,8775,o)|0;w=0;c=m;return w|0}}else{e=(f[k>>2]|0)+1|0;i=Fn(e,8)|0;f[u>>2]=i;if(i){f[a+(s*5640|0)+5160>>2]=e;break}Ht(n,1,8775,l)|0;w=0;c=m;return w|0}while(0)e=f[k>>2]|0;if(f[i+(e<<3)>>2]|0){f[b>>2]=e;Ht(n,1,13254,b)|0;w=0;c=m;return w|0}b=Nn(d)|0;i=f[k>>2]|0;e=f[u>>2]|0;f[e+(i<<3)>>2]=b;if(!b){Ht(n,1,8775,w)|0;w=0;c=m;return w|0}else{f[e+(i<<3)+4>>2]=d;Nl(f[e+(f[k>>2]<<3)>>2]|0,h|0,d|0)|0;w=1;c=m;return w|0}return 0}function ri(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=c;c=c+16|0;if((f[(f[e+80>>2]|0)+16>>2]<<2|0)==(r|0)){t=1;c=i;return t|0}Ht(t,1,13101,i)|0;t=0;c=i;return t|0}function ti(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return 1}function ni(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;_=c;c=c+48|0;m=_+40|0;w=_+32|0;u=_+24|0;k=_+44|0;if((f[e+8>>2]|0)==16)l=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else l=f[e+12>>2]|0;if(r>>>0<2){Ht(t,1,12933,_)|0;m=0;c=_;return m|0}ct(i,k,2);if(f[k>>2]|0){Ht(t,2,12959,_+8|0)|0;m=1;c=_;return m|0}if(r>>>0<7){Ht(t,1,12933,_+16|0)|0;m=0;c=_;return m|0}ct(i+2|0,k,2);h=i+4|0;b=f[k>>2]&255;o=l+5612|0;n=f[o>>2]|0;d=l+5616|0;e=f[d>>2]|0;e:do if(!e){a=0;s=n}else{a=0;s=n;do{if((f[s+8>>2]|0)==(b|0))break e;s=s+20|0;a=a+1|0}while(a>>>0<e>>>0)}while(0)if((a|0)==(e|0)){a=l+5620|0;do if((e|0)==(f[a>>2]|0)){e=e+10|0;f[a>>2]=e;e=Hn(n,e*20|0)|0;if(e){f[o>>2]=e;n=f[d>>2]|0;Ol(e+(n*20|0)|0,0,((f[a>>2]|0)-n|0)*20|0)|0;n=f[o>>2]|0;e=f[d>>2]|0;break}Yn(f[o>>2]|0);f[o>>2]=0;f[a>>2]=0;f[d>>2]=0;Ht(t,1,13019,u)|0;m=0;c=_;return m|0}while(0)f[d>>2]=e+1;s=n+(e*20|0)|0}a=s+12|0;e=f[a>>2]|0;if(e){Yn(e);f[a>>2]=0}f[s+8>>2]=b;b=f[k>>2]|0;f[s+4>>2]=b>>>8&3;f[s>>2]=b>>>10&3;ct(h,k,2);if(f[k>>2]|0){Ht(t,2,13057,w)|0;m=1;c=_;return m|0}e=r+-6|0;n=Nn(e)|0;f[a>>2]=n;if(!n){Ht(t,1,12933,m)|0;m=0;c=_;return m|0}else{Nl(n|0,i+6|0,e|0)|0;f[s+16>>2]=e;m=1;c=_;return m|0}return 0}function fi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;l=c;c=c+32|0;n=l+16|0;s=l+12|0;e=e+80|0;a=f[(f[e>>2]|0)+16>>2]|0;if((a+2|0)!=(r|0)){Ht(t,1,12907,l)|0;s=0;c=l;return s|0}ct(i,n,2);if((f[n>>2]|0)!=(a|0)){Ht(t,1,12907,l+8|0)|0;s=0;c=l;return s|0}if(!a){s=1;c=l;return s|0}n=i+2|0;i=0;e=f[(f[e>>2]|0)+24>>2]|0;while(1){ct(n,s,1);f[e+32>>2]=(f[s>>2]|0)>>>7&1;f[e+24>>2]=(f[s>>2]&127)+1;i=i+1|0;if((i|0)==(a|0)){e=1;break}else{n=n+1|0;e=e+52|0}}c=l;return e|0}function ai(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0;I=c;c=c+144|0;L=I+120|0;O=I+112|0;R=I+104|0;D=I+96|0;x=I+88|0;P=I+80|0;C=I+72|0;M=I+64|0;T=I+56|0;S=I+48|0;k=I+40|0;b=I+32|0;d=I+24|0;E=I+136|0;v=I+132|0;g=I+128|0;y=I+124|0;if((f[e+8>>2]|0)==16)w=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else w=f[e+12>>2]|0;if(r>>>0<2){Ht(n,1,12567,I)|0;L=0;c=I;return L|0}ct(i,E,2);if(f[E>>2]|0){Ht(n,2,12593,I+8|0)|0;L=1;c=I;return L|0}if(r>>>0<7){Ht(n,1,12567,I+16|0)|0;L=0;c=I;return L|0}ct(i+2|0,v,1);h=i+3|0;u=w+5624|0;a=f[u>>2]|0;A=w+5628|0;e=f[A>>2]|0;e:do if(!e){l=0;s=a}else{o=f[v>>2]|0;l=0;s=a;do{if((f[s>>2]|0)==(o|0))break e;s=s+20|0;l=l+1|0}while(l>>>0<e>>>0)}while(0)if((l|0)==(e|0)){s=w+5632|0;do if((e|0)==(f[s>>2]|0)){e=e+10|0;f[s>>2]=e;e=Hn(a,e*20|0)|0;if(e){f[u>>2]=e;a=f[A>>2]|0;Ol(e+(a*20|0)|0,0,((f[s>>2]|0)-a|0)*20|0)|0;a=f[u>>2]|0;e=f[A>>2]|0;break}Yn(f[u>>2]|0);f[u>>2]=0;f[s>>2]=0;f[A>>2]=0;Ht(n,1,12639,d)|0;L=0;c=I;return L|0}while(0)s=a+(e*20|0)|0}f[s>>2]=f[v>>2];ct(h,E,2);if(f[E>>2]|0){Ht(n,2,12593,b)|0;L=1;c=I;return L|0}ct(i+5|0,g,2);a=f[g>>2]|0;if(a>>>0>1){Ht(n,2,12677,k)|0;L=1;c=I;return L|0}e=r+-7|0;e:do if(a){m=s+4|0;_=s+16|0;p=s+8|0;r=s+12|0;k=w+5612|0;b=w+5616|0;d=i+7|0;h=0;i:while(1){if(e>>>0<3){a=27;break}ct(d,E,1);if((f[E>>2]|0)!=1){a=29;break}ct(d+1|0,y,2);a=e+-3|0;l=f[y>>2]|0;o=(l>>>15)+1|0;l=l&32767;f[m>>2]=l;s=(ie(o,l)|0)+2|0;if(a>>>0<s>>>0){a=31;break}e=d+3|0;u=a-s|0;if(l){a=0;do{ct(e,E,o);if((f[E>>2]|0)!=(a|0)){a=34;break i}e=e+o|0;a=a+1|0}while(a>>>0<(f[m>>2]|0)>>>0)}ct(e,y,2);a=e+2|0;s=f[y>>2]|0;l=(s>>>15)+1|0;s=s&32767;f[y>>2]=s;if((s|0)!=(f[m>>2]|0)){a=37;break}e=(ie(l,s)|0)+3|0;if(u>>>0<e>>>0){a=39;break}e=u-e|0;if(s){s=0;do{ct(a,E,l);if((f[E>>2]|0)!=(s|0)){a=42;break i}a=a+l|0;s=s+1|0}while(s>>>0<(f[m>>2]|0)>>>0)}ct(a,E,3);d=a+3|0;t[_>>0]=((f[E>>2]|0)>>>16^1)&1|t[_>>0]&-2;f[p>>2]=0;f[r>>2]=0;u=f[E>>2]|0;s=u&255;f[v>>2]=s;if(s){l=f[b>>2]|0;if(!l){a=50;break}o=0;a=f[k>>2]|0;while(1){if((f[a+8>>2]|0)==(s|0))break;o=o+1|0;if(o>>>0>=l>>>0){a=50;break i}else a=a+20|0}f[p>>2]=a}s=u>>>8&255;f[v>>2]=s;if(s){l=f[b>>2]|0;if(!l){a=57;break}o=0;a=f[k>>2]|0;while(1){if((f[a+8>>2]|0)==(s|0))break;o=o+1|0;if(o>>>0>=l>>>0){a=57;break i}else a=a+20|0}f[r>>2]=a}h=h+1|0;if(h>>>0>=(f[g>>2]|0)>>>0)break e}if((a|0)==27){Ht(n,1,12567,S)|0;L=0;c=I;return L|0}else if((a|0)==29){Ht(n,2,12721,T)|0;L=1;c=I;return L|0}else if((a|0)==31){Ht(n,1,12567,M)|0;L=0;c=I;return L|0}else if((a|0)==34){Ht(n,2,12787,C)|0;L=1;c=I;return L|0}else if((a|0)==37){Ht(n,2,12841,P)|0;L=1;c=I;return L|0}else if((a|0)==39){Ht(n,1,12567,x)|0;L=0;c=I;return L|0}else if((a|0)==42){Ht(n,2,12787,D)|0;L=1;c=I;return L|0}else if((a|0)==50){Ht(n,1,12567,R)|0;L=0;c=I;return L|0}else if((a|0)==57){Ht(n,1,12567,O)|0;L=0;c=I;return L|0}}while(0)if(!e){f[A>>2]=(f[A>>2]|0)+1;L=1;c=I;return L|0}else{Ht(n,1,12567,L)|0;L=0;c=I;return L|0}return 0}function si(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;_=c;c=c+32|0;m=_+24|0;w=_+20|0;h=e+80|0;n=f[h>>2]|0;if((f[e+8>>2]|0)==16)a=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else a=f[e+12>>2]|0;if(!r){Ht(t,1,12486,_)|0;m=0;c=_;return m|0}ct(i,w,1);e=f[w>>2]|0;if(e>>>0>1){Ht(t,2,12512,_+8|0)|0;m=1;c=_;return m|0}if((e+1|0)!=(r|0)){Ht(t,2,12486,_+16|0)|0;m=0;c=_;return m|0}d=a+5584|0;e=f[n+16>>2]|0;if(e){r=0;t=f[d>>2]|0;while(1){f[t+1076>>2]=0;r=r+1|0;if(r>>>0>=e>>>0)break;else t=t+1080|0}}u=a+5604|0;e=f[u>>2]|0;if(e){Yn(e);f[u>>2]=0}if(!(f[w>>2]|0)){m=1;c=_;return m|0}o=a+5624|0;s=a+5628|0;l=0;while(1){i=i+1|0;ct(i,m,1);e=f[h>>2]|0;n=f[o>>2]|0;a=f[s>>2]|0;if(((a|0)!=0?!((a|0)==0?1:(f[n>>2]|0)!=(f[m>>2]|0)):0)?(b=f[n+4>>2]|0,k=e+16|0,(b|0)==(f[k>>2]|0)):0){e=f[n+8>>2]|0;if(e){r=ie(b,b)|0;a=ie(f[1036+(f[e>>2]<<2)>>2]|0,r)|0;if((f[e+16>>2]|0)!=(a|0)){e=0;r=32;break}t=Nn(r<<2)|0;f[u>>2]=t;if(!t){e=0;r=32;break}To[f[1052+(f[e>>2]<<2)>>2]&15](f[e+12>>2]|0,t,r)}e=f[n+12>>2]|0;if(e){r=f[k>>2]|0;a=ie(r,f[1036+(f[e>>2]<<2)>>2]|0)|0;if((f[e+16>>2]|0)!=(a|0)){e=0;r=32;break}a=Nn(r<<2)|0;if(!a){e=0;r=32;break}To[f[1068+(f[e>>2]<<2)>>2]&15](f[e+12>>2]|0,a,r);e=f[k>>2]|0;if(e){r=0;t=a;n=f[d>>2]|0;while(1){f[n+1076>>2]=f[t>>2];r=r+1|0;if((r|0)==(e|0))break;else{t=t+4|0;n=n+1080|0}}}Yn(a)}}l=l+1|0;if(l>>>0>=(f[w>>2]|0)>>>0){e=1;r=32;break}}if((r|0)==32){c=_;return e|0}return 0}function li(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){ct(e,n,2);f[i>>2]=f[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+2|0}}c=a;return}function oi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){ct(e,n,4);f[i>>2]=f[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}c=a;return}function ui(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){kt(e,n);f[i>>2]=~~+o[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}c=a;return}function ci(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){ht(e,n);f[i>>2]=~~+u[n>>3];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+8|0}}c=a;return}function di(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){ct(e,n,2);o[i>>2]=+((f[n>>2]|0)>>>0);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+2|0}}c=a;return}function hi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){ct(e,n,4);o[i>>2]=+((f[n>>2]|0)>>>0);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}c=a;return}function bi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=c;c=c+16|0;n=a;if(!r){c=a;return}t=0;while(1){kt(e,n);f[i>>2]=f[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}c=a;return}function ki(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=c;c=c+16|0;n=f;if(!r){c=f;return}t=0;while(1){ht(e,n);o[i>>2]=+u[n>>3];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+8|0}}c=f;return}function wi(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0;h=c;c=c+32|0;s=h+8|0;o=h+20|0;if((f[e+8>>2]|0)==16)e=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else e=f[e+12>>2]|0;d=f[e+5584>>2]|0;e=f[t>>2]|0;if(!e){Ht(n,1,14224,h)|0;i=0;c=h;return i|0}f[t>>2]=e+-1;ct(r,o,1);r=r+1|0;a=f[o>>2]&31;l=d+(i*1080|0)+24|0;f[l>>2]=a;f[d+(i*1080|0)+804>>2]=(f[o>>2]|0)>>>5;do if((a|0)==1){e=1;u=8}else{e=(f[t>>2]|0)>>>((a|0)!=0&1);if(e>>>0>97){f[s>>2]=e;f[s+4>>2]=97;f[s+8>>2]=97;Ht(n,2,14260,s)|0;a=f[l>>2]|0}n=(e|0)==0;if(a)if(n){e=0;u=20;break}else{u=8;break}if(!n){a=0;while(1){ct(r,o,1);if(a>>>0<97){f[d+(i*1080|0)+28+(a<<3)>>2]=(f[o>>2]|0)>>>3;f[d+(i*1080|0)+28+(a<<3)+4>>2]=0}a=a+1|0;if((a|0)==(e|0))break;else r=r+1|0}}e=(f[t>>2]|0)-e|0}while(0)if((u|0)==8){a=0;while(1){ct(r,o,2);if(a>>>0<97){f[d+(i*1080|0)+28+(a<<3)>>2]=(f[o>>2]|0)>>>11;f[d+(i*1080|0)+28+(a<<3)+4>>2]=f[o>>2]&2047}a=a+1|0;if((a|0)==(e|0)){u=20;break}else r=r+2|0}}if((u|0)==20)e=(f[t>>2]|0)-(e<<1)|0;f[t>>2]=e;if((f[l>>2]|0)!=1){i=1;c=h;return i|0}e=d+(i*1080|0)+28|0;r=d+(i*1080|0)+32|0;a=1;do{t=(f[e>>2]|0)-(((a+-1|0)>>>0)/3|0)|0;f[d+(i*1080|0)+28+(a<<3)>>2]=(t|0)>0?t:0;f[d+(i*1080|0)+28+(a<<3)+4>>2]=f[r>>2];a=a+1|0}while((a|0)!=97)e=1;c=h;return e|0}function mi(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0;m=c;c=c+48|0;k=m+40|0;u=m+32|0;o=m+16|0;l=m+8|0;b=m+44|0;s=e+8|0;if((f[s>>2]|0)==16)a=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else a=f[e+12>>2]|0;d=f[a+5584>>2]|0;if((f[t>>2]|0)>>>0<5){Ht(n,1,14664,m)|0;t=0;c=m;return t|0}h=d+(i*1080|0)+4|0;ct(r,h,1);a=(f[h>>2]|0)+1|0;f[h>>2]=a;if(a>>>0>33){f[l>>2]=a;f[l+4>>2]=33;Ht(n,1,14699,l)|0;t=0;c=m;return t|0}if((f[e+168>>2]|0)>>>0>=a>>>0){f[o>>2]=i;Ht(n,1,14776,o)|0;f[s>>2]=f[s>>2]|32768;t=0;c=m;return t|0}l=d+(i*1080|0)+8|0;ct(r+1|0,l,1);f[l>>2]=(f[l>>2]|0)+2;e=d+(i*1080|0)+12|0;ct(r+2|0,e,1);o=(f[e>>2]|0)+2|0;f[e>>2]=o;l=f[l>>2]|0;if(l>>>0>10|o>>>0>10|(l+o|0)>>>0>12){Ht(n,1,14934,m+24|0)|0;t=0;c=m;return t|0}ct(r+3|0,d+(i*1080|0)+16|0,1);ct(r+4|0,d+(i*1080|0)+20|0,1);s=(f[t>>2]|0)+-5|0;f[t>>2]=s;a=f[h>>2]|0;if(!(f[d+(i*1080|0)>>2]&1)){if(!a){t=1;c=m;return t|0}else a=0;do{f[d+(i*1080|0)+812+(a<<2)>>2]=15;f[d+(i*1080|0)+944+(a<<2)>>2]=15;a=a+1|0}while(a>>>0<(f[h>>2]|0)>>>0)a=1;c=m;return a|0}if(s>>>0<a>>>0){Ht(n,1,14664,u)|0;t=0;c=m;return t|0}do if(!a)a=0;else{e=0;s=r+5|0;while(1){ct(s,b,1);s=s+1|0;a=f[b>>2]|0;if((e|0)!=0?a>>>0<16|(a&15|0)==0:0)break;f[d+(i*1080|0)+812+(e<<2)>>2]=a&15;f[d+(i*1080|0)+944+(e<<2)>>2]=(f[b>>2]|0)>>>4;e=e+1|0;a=f[h>>2]|0;if(e>>>0>=a>>>0){w=22;break}}if((w|0)==22){s=f[t>>2]|0;break}Ht(n,1,15002,k)|0;t=0;c=m;return t|0}while(0)f[t>>2]=s-a;t=1;c=m;return t|0}function _i(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){ut(i,~~+o[e>>2]>>>0,2);t=t+1|0;if((t|0)==(r|0))break;else{i=i+2|0;e=e+4|0}}return}function pi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){ut(i,~~+o[e>>2]>>>0,4);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}return}function vi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){bt(i,+o[e>>2]);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}return}function gi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){dt(i,+o[e>>2]);t=t+1|0;if((t|0)==(r|0))break;else{i=i+8|0;e=e+4|0}}return}function yi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;l=c;c=c+16|0;if(!r){r=0;c=l;return r|0}if(!(lf(f[e>>2]|0,i,r,t)|0)){Ht(t,1,16303,l)|0;r=0;c=l;return r|0}if(f[e+128>>2]|0){r=1;c=l;return r|0}s=e+108|0;if(!(Hi(r,s,t)|0)){r=0;c=l;return r|0}i=f[e+48>>2]|0;e:do switch(i|0){case 16:{f[r+20>>2]=1;break}case 17:{f[r+20>>2]=2;break}case 18:{f[r+20>>2]=3;break}case 24:{f[r+20>>2]=4;break}default:{n=r+20|0;if((i|0)==12){f[n>>2]=5;break e}else{f[n>>2]=-1;break e}}}while(0)a=e+120|0;i=f[a>>2]|0;do if(i){if(f[i+12>>2]|0){Yi(r,s);break}Yn(f[i+4>>2]|0);Yn(f[(f[a>>2]|0)+8>>2]|0);Yn(f[f[a>>2]>>2]|0);i=f[a>>2]|0;n=f[i+12>>2]|0;if(n){Yn(n);i=f[a>>2]|0}Yn(i);f[a>>2]=0}while(0)if(f[e+116>>2]|0)qi(r,s,t);i=f[s>>2]|0;if(!i){r=1;c=l;return r|0}f[r+28>>2]=i;f[r+32>>2]=f[e+112>>2];f[s>>2]=0;r=1;c=l;return r|0}function Ei(e,i){e=e|0;i=i|0;zn(f[e>>2]|0,i);t[e+124>>0]=0;f[e+128>>2]=f[i+8248>>2]&1;return}function Ai(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0;y=c;c=c+80|0;g=y+64|0;_=y+56|0;b=y+48|0;m=y+40|0;w=y+32|0;k=y+24|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){i=0;c=y;return i|0}p=r+16|0;if(((f[p>>2]|0)+-1|0)>>>0>16383){Ht(t,1,16352,y)|0;i=0;c=y;return i|0}if(!(Vn(f[e>>2]|0,i,r,t)|0)){i=0;c=y;return i|0}f[e+56>>2]=1785737760;f[e+60>>2]=0;f[e+64>>2]=1;a=Nn(4)|0;s=e+68|0;f[s>>2]=a;if(!a){f[s>>2]=0;Ht(t,1,16421,y+8|0)|0;i=0;c=y;return i|0}f[a>>2]=1785737760;u=f[p>>2]|0;f[e+20>>2]=u;u=Nn(u*12|0)|0;a=e+72|0;f[a>>2]=u;if(!u){f[a>>2]=0;Ht(t,1,16421,y+16|0)|0;i=0;c=y;return i|0}f[e+16>>2]=(f[r+12>>2]|0)-(f[r+4>>2]|0);f[e+12>>2]=(f[r+8>>2]|0)-(f[r>>2]|0);v=r+24|0;d=f[v>>2]|0;l=f[d+24>>2]|0;o=f[d+32>>2]|0;a=e+24|0;f[a>>2]=l+-1+(o<<7);h=f[p>>2]|0;if(h>>>0>1){s=1;do{if((l|0)!=(f[d+(s*52|0)+24>>2]|0))f[a>>2]=255;s=s+1|0}while(s>>>0<h>>>0)}f[e+28>>2]=7;f[e+32>>2]=0;f[e+36>>2]=0;s=(h|0)==0;if(!s?(f[u+8>>2]=l+-1+(o<<7),h>>>0>1):0){a=1;do{f[u+(a*12|0)+8>>2]=(f[d+(a*52|0)+24>>2]|0)+-1+(f[d+(a*52|0)+32>>2]<<7);a=a+1|0}while(a>>>0<h>>>0)}a=e+40|0;e:do if(!(f[r+32>>2]|0)){f[a>>2]=1;switch(f[r+20>>2]|0){case 1:{f[e+48>>2]=16;break e}case 2:{f[e+48>>2]=17;break e}case 3:{f[e+48>>2]=18;break e}default:break e}}else{f[a>>2]=2;f[e+48>>2]=0}while(0)e:do if(!s){s=0;a=0;l=0;do{r=(n[d+(l*52|0)+48>>1]|0)==0;a=(r&1^1)+a|0;s=r?s:l;l=l+1|0}while(l>>>0<h>>>0)l=s;if((a|0)!=1){if(a>>>0<=1)break;Ht(t,2,16717,b)|0;break}switch(f[e+48>>2]|0){case 18:case 16:{s=3;break}case 17:{s=1;break}default:{Ht(t,2,16467,k)|0;break e}}if(h>>>0<(s+1|0)>>>0){Ht(t,2,16541,w)|0;break}if(l>>>0<s>>>0){Ht(t,2,16634,m)|0;break}m=Nn(8)|0;a=e+116|0;f[a>>2]=m;if(!m){Ht(t,1,16782,_)|0;i=0;c=y;return i|0}_=Nn((f[p>>2]|0)*6|0)|0;r=f[a>>2]|0;f[r>>2]=_;if(!_){Ht(t,1,16782,g)|0;i=0;c=y;return i|0}u=f[p>>2]|0;n[r+4>>1]=u;o=f[r>>2]|0;a=0;do{n[o+(a*6|0)>>1]=a;n[o+(a*6|0)+2>>1]=0;g=a;a=a+1|0;n[o+(g*6|0)+4>>1]=a}while((a|0)!=(s|0))if(s>>>0<u>>>0){l=f[v>>2]|0;do{g=(n[l+(s*52|0)+48>>1]|0)==0;n[o+(s*6|0)>>1]=s;a=o+(s*6|0)+2|0;if(g){n[a>>1]=-1;n[o+(s*6|0)+4>>1]=-1}else{n[a>>1]=1;n[(f[r>>2]|0)+(s*6|0)+4>>1]=0}s=s+1|0}while(s>>>0<u>>>0)}}while(0)f[e+52>>2]=0;f[e+44>>2]=0;f[e+96>>2]=f[i+18692>>2];i=1;c=y;return i|0}function Si(e,i,r){e=e|0;i=i|0;r=r|0;return cf(f[e>>2]|0,i,r)|0}function Ti(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;t=e+8|0;if(!(oa(f[t>>2]|0,52,r)|0)){r=0;return r|0}a=f[t>>2]|0;s=ua(a)|0;t=ca(a)|0;if(s){l=0;n=1;while(1){if(!n)n=0;else n=(vo[f[t>>2]&63](e,i,r)|0)!=0;l=l+1|0;if((l|0)==(s|0))break;else{t=t+4|0;n=n&1}}da(a);if(!n){r=0;return r|0}}else da(a);r=Wn(f[e>>2]|0,i,r)|0;return r|0}function Mi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;t=e+8|0;if(!(oa(f[t>>2]|0,53,r)|0)){r=0;return r|0}if(!(df(f[e>>2]|0,i,r)|0)){r=0;return r|0}l=f[t>>2]|0;a=ua(l)|0;t=ca(l)|0;if(!a)t=1;else{s=0;n=t;t=1;while(1){if(!t)t=0;else t=(vo[f[n>>2]&63](e,i,r)|0)!=0;t=t&1;s=s+1|0;if((s|0)==(a|0))break;else n=n+4|0}}da(l);r=t;return r|0}function Ci(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;n=e+4|0;if(!(oa(f[n>>2]|0,54,t)|0)){i=0;return i|0}s=f[n>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(vo[f[n>>2]&63](e,i,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}da(s);if(!a){i=0;return i|0}}else da(s);n=e+8|0;if(!(oa(f[n>>2]|0,55,t)|0)){i=0;return i|0}if(!(oa(f[n>>2]|0,56,t)|0)){i=0;return i|0}if(!(oa(f[n>>2]|0,57,t)|0)){i=0;return i|0}if((f[e+96>>2]|0)!=0?(oa(f[n>>2]|0,58,t)|0)==0:0){i=0;return i|0}if(!(oa(f[n>>2]|0,59,t)|0)){i=0;return i|0}s=f[n>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(vo[f[n>>2]&63](e,i,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}da(s);if(!a){i=0;return i|0}}else da(s);i=hf(f[e>>2]|0,i,r,t)|0;return i|0}function Pi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;u=i+8|0;if(!(oa(f[u>>2]|0,52,t)|0)){e=0;return e|0}s=f[i+4>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(vo[f[n>>2]&63](i,e,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}da(s);if(!a){e=0;return e|0}}else da(s);s=f[u>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(vo[f[n>>2]&63](i,e,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}da(s);if(!a){e=0;return e|0}}else da(s);e=Jn(e,f[i>>2]|0,r,t)|0;return e|0}function xi(e,i,r,t,n,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;return Zn(f[e>>2]|0,i,r,t,n,a,s,l,o,u,c)|0}function Di(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;return bf(f[e>>2]|0,i,r,t,n,a)|0}function Ri(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;return $n(f[e>>2]|0,i,r,t,n,a)|0}function Oi(e){e=e|0;var i=0,r=0,t=0;if(!e)return;Gn(f[e>>2]|0);f[e>>2]=0;i=e+72|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0}i=e+68|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0}i=e+108|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0}t=e+116|0;i=f[t>>2]|0;if(i){r=f[i>>2]|0;if(r){Yn(r);i=f[t>>2]|0;f[i>>2]=0}Yn(i);f[t>>2]=0}t=e+120|0;i=f[t>>2]|0;if(i){r=f[i+12>>2]|0;if(r){Yn(r);i=f[t>>2]|0;f[i+12>>2]=0}r=f[i+4>>2]|0;if(r){Yn(r);i=f[t>>2]|0;f[i+4>>2]=0}r=f[i+8>>2]|0;if(r){Yn(r);i=f[t>>2]|0;f[i+8>>2]=0}r=f[i>>2]|0;if(r){Yn(r);i=f[t>>2]|0;f[i>>2]=0}Yn(i);f[t>>2]=0}i=e+4|0;r=f[i>>2]|0;if(r){la(r);f[i>>2]=0}i=e+8|0;r=f[i>>2]|0;if(r){la(r);f[i>>2]=0}Yn(e);return}function Li(e,i,r,t,n,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;return ef(f[e>>2]|0,i,r,t,n,a,s)|0}function Ii(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0;l=c;c=c+16|0;if(!r){e=0;c=l;return e|0}Ht(t,2,16826,l)|0;if(!(of(f[e>>2]|0,i,r,t,n)|0)){Ht(t,1,16303,l+8|0)|0;e=0;c=l;return e|0}s=e+108|0;if(!(Hi(r,s,t)|0)){e=0;c=l;return e|0}n=f[e+48>>2]|0;e:do switch(n|0){case 16:{f[r+20>>2]=1;break}case 17:{f[r+20>>2]=2;break}case 18:{f[r+20>>2]=3;break}case 24:{f[r+20>>2]=4;break}default:{i=r+20|0;if((n|0)==12){f[i>>2]=5;break e}else{f[i>>2]=-1;break e}}}while(0)a=e+120|0;i=f[a>>2]|0;do if(i){if(f[i+12>>2]|0){Yi(r,s);break}Yn(f[i+4>>2]|0);Yn(f[(f[a>>2]|0)+8>>2]|0);Yn(f[f[a>>2]>>2]|0);i=f[a>>2]|0;n=f[i+12>>2]|0;if(n){Yn(n);i=f[a>>2]|0}Yn(i);f[a>>2]=0}while(0)if(f[e+116>>2]|0)qi(r,s,t);i=f[s>>2]|0;if(!i){e=1;c=l;return e|0}f[r+28>>2]=i;f[r+32>>2]=f[e+112>>2];f[s>>2]=0;e=1;c=l;return e|0}function Bi(e){e=e|0;var i=0;i=Fn(1,136)|0;if(!i)return i|0;if(!e){e=Xn()|0;f[i>>2]=e}else{e=rf()|0;f[i>>2]=e}if(!e){Oi(i);i=0;return i|0}e=i+108|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;t[e+16>>0]=0;e=sa()|0;f[i+4>>2]=e;if(!e){Oi(i);i=0;return i|0}e=sa()|0;f[i+8>>2]=e;if(e)return i|0;Oi(i);i=0;return i|0}function Ni(e,i,r){e=e|0;i=i|0;r=r|0;tf(f[e>>2]|0,i,r);return}function Fi(e){e=e|0;return sf(f[e>>2]|0)|0}function ji(e){e=e|0;return af(f[e>>2]|0)|0}function Ui(e,i,r){e=e|0;i=i|0;r=r|0;return uf(f[e>>2]|0,i,r)|0}function Hi(e,i,r){e=e|0;i=i|0;r=r|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0;M=c;c=c+80|0;T=M+72|0;S=M+64|0;A=M+56|0;E=M+48|0;y=M+40|0;g=M+32|0;v=M+24|0;_=M+16|0;b=M+8|0;h=M;l=f[i+8>>2]|0;e:do if(l){m=f[l>>2]|0;w=n[l+4>>1]|0;l=f[e+16>>2]|0;k=f[i+12>>2]|0;if((k|0)!=0?(f[k+12>>2]|0)!=0:0)i=a[k+18>>0]|0;else i=l;d=w<<16>>16==0;i:do if(!d){u=0;r:while(1){o=u&65535;l=s[m+(o*6|0)>>1]|0;if(l>>>0>=i>>>0){o=15;break}l=n[m+(o*6|0)+4>>1]|0;switch(l<<16>>16){case 0:case-1:break;default:{l=(l&65535)+-1|0;if(l>>>0>=i>>>0){o=18;break r}}}u=u+1<<16>>16;if((u&65535)>=(w&65535))break i}if((o|0)==15){f[h>>2]=l;f[h+4>>2]=i;Ht(r,1,19343,h)|0;r=0;c=M;return r|0}else if((o|0)==18){f[b>>2]=l;f[b+4>>2]=i;Ht(r,1,19343,b)|0;r=0;c=M;return r|0}}while(0)if(!i)l=k;else{i:do if(!d)while(1){i=i+-1|0;l=0;do{if((s[m+((l&65535)*6|0)>>1]|0)==(i|0))break;l=l+1<<16>>16}while((l&65535)<(w&65535))if(l<<16>>16==w<<16>>16)break i;if(!i){l=k;break e}}while(0)Ht(r,1,19380,_)|0;r=0;c=M;return r|0}}else l=f[i+12>>2]|0;while(0)if(!l){r=1;c=M;return r|0}p=f[l+12>>2]|0;if(!p){r=1;c=M;return r|0}k=t[l+18>>0]|0;_=k&255;m=k<<24>>24==0;if(m)l=1;else{u=e+16|0;i=0;d=0;l=1;do{i=s[p+(i<<2)>>1]|0;o=f[u>>2]|0;if(i>>>0>=o>>>0){f[v>>2]=i;f[v+4>>2]=o;Ht(r,1,19343,v)|0;l=0}d=d+1<<16>>16;i=d&65535}while(i>>>0<_>>>0)}w=Fn(_,4)|0;if(!w){Ht(r,1,19413,g)|0;r=0;c=M;return r|0}if(!m){h=0;b=0;do{o=t[p+(h<<2)+3>>0]|0;u=o&255;do if((o&255)<(k&255)){d=w+(u<<2)|0;i=t[p+(h<<2)+2>>0]|0;if((f[d>>2]|0)!=0&i<<24>>24==1){f[E>>2]=u;Ht(r,1,19486,E)|0;l=0;break}if(i<<24>>24!=0|o<<24>>24==0){f[d>>2]=1;break}else{f[A>>2]=h;f[A+4>>2]=u;Ht(r,1,19517,A)|0;l=0;break}}else{f[y>>2]=u;Ht(r,1,19430,y)|0;l=0}while(0)b=b+1<<16>>16;h=b&65535}while(h>>>0<_>>>0)if(!m){i=0;o=0;do{if((f[w+(i<<2)>>2]|0)==0?(t[p+(i<<2)+2>>0]|0)!=0:0){f[S>>2]=i;Ht(r,1,19553,S)|0;l=0}o=o+1<<16>>16;i=o&65535}while(i>>>0<_>>>0)}}if(!l){Yn(w);r=0;c=M;return r|0}e:do if(!((f[e+16>>2]|0)!=1|m)){l=0;i=0;while(1){i=i+1<<16>>16;if(!(f[w+(l<<2)>>2]|0))break;l=i&65535;if(l>>>0>=_>>>0)break e}f[T>>2]=l;Ht(r,2,19591,T)|0;if(!m){l=0;i=0;do{t[p+(l<<2)+2>>0]=1;t[p+(l<<2)+3>>0]=i;i=i+1<<16>>16;l=i&65535}while(l>>>0<_>>>0)}}while(0)Yn(w);r=1;c=M;return r|0}function Yi(e,i){e=e|0;i=i|0;var r=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0;y=i+12|0;i=f[y>>2]|0;d=f[i+8>>2]|0;b=f[i+4>>2]|0;w=f[i>>2]|0;m=f[i+12>>2]|0;i=t[i+18>>0]|0;_=e+24|0;p=f[_>>2]|0;v=i&255;g=Nn(v*52|0)|0;if(!g)return;h=i<<24>>24==0;if(!h){u=0;c=0;do{i=n[m+(u<<2)>>1]|0;if(!(t[m+(u<<2)+2>>0]|0)){i=i&65535;r=g+(u*52|0)|0;l=p+(i*52|0)|0;o=r+52|0;do{f[r>>2]=f[l>>2];r=r+4|0;l=l+4|0}while((r|0)<(o|0))}else{i=i&65535;r=g+((a[m+(u<<2)+3>>0]|0)*52|0)|0;l=p+(i*52|0)|0;o=r+52|0;do{f[r>>2]=f[l>>2];r=r+4|0;l=l+4|0}while((r|0)<(o|0))}o=Nn(ie(f[p+(i*52|0)+8>>2]<<2,f[p+(i*52|0)+12>>2]|0)|0)|0;f[g+(u*52|0)+44>>2]=o;if(!o){k=7;break}f[g+(u*52|0)+24>>2]=a[d+u>>0];f[g+(u*52|0)+32>>2]=a[b+u>>0];c=c+1<<16>>16;u=c&65535}while(u>>>0<v>>>0)if((k|0)==7){Yn(g);return}d=(s[(f[y>>2]|0)+16>>1]|0)+-1|0;if(!h){i=0;c=0;do{o=f[p+((s[m+(i<<2)>>1]|0)*52|0)+44>>2]|0;l=a[m+(i<<2)+3>>0]|0;u=ie(f[g+(l*52|0)+12>>2]|0,f[g+(l*52|0)+8>>2]|0)|0;if(!(t[m+(i<<2)+2>>0]|0)){i=f[g+(i*52|0)+44>>2]|0;if(u){r=0;do{f[i+(r<<2)>>2]=f[o+(r<<2)>>2];r=r+1|0}while((r|0)!=(u|0))}}else{i=f[g+(l*52|0)+44>>2]|0;if(u){r=0;do{k=f[o+(r<<2)>>2]|0;f[i+(r<<2)>>2]=f[w+((ie((k|0)<0?0:(k|0)>(d|0)?d:k,v)|0)+l<<2)>>2];r=r+1|0}while((r|0)!=(u|0))}}c=c+1<<16>>16;i=c&65535}while(i>>>0<v>>>0)}}r=e+16|0;l=f[r>>2]|0;if(l){i=0;o=0;do{i=f[p+(i*52|0)+44>>2]|0;if(i)Yn(i);o=o+1<<16>>16;i=o&65535}while(i>>>0<l>>>0)}Yn(p);f[_>>2]=g;f[r>>2]=v;Yn(f[(f[y>>2]|0)+4>>2]|0);Yn(f[(f[y>>2]|0)+8>>2]|0);Yn(f[f[y>>2]>>2]|0);i=f[y>>2]|0;r=f[i+12>>2]|0;if(r){Yn(r);i=f[y>>2]|0}Yn(i);f[y>>2]=0;return}function qi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0;A=c;c=c+80|0;y=A+8|0;g=A;v=A+16|0;E=i+8|0;t=f[E>>2]|0;i=f[t>>2]|0
37
+ ;p=n[t+4>>1]|0;if(p<<16>>16){_=e+16|0;b=e+24|0;w=1;m=0;while(1){k=n[i+(m*6|0)>>1]|0;h=k&65535;e=f[_>>2]|0;e:do if(h>>>0<e>>>0){t=n[i+(m*6|0)+4>>1]|0;switch(t<<16>>16){case-1:case 0:{n[(f[b>>2]|0)+(h*52|0)+48>>1]=n[i+(m*6|0)+2>>1]|0;break e}default:{}}o=(t&65535)+65535|0;d=o&65535;o=o&65535;if(o>>>0>=e>>>0){f[y>>2]=o;f[y+4>>2]=e;Ht(r,2,19302,y)|0;break}u=i+(m*6|0)+2|0;if((h|0)!=(o|0)?(n[u>>1]|0)==0:0){t=f[b>>2]|0;e=t+(h*52|0)|0;a=v;s=e;l=a+52|0;do{f[a>>2]=f[s>>2];a=a+4|0;s=s+4|0}while((a|0)<(l|0))a=e;s=t+(o*52|0)|0;l=a+52|0;do{f[a>>2]=f[s>>2];a=a+4|0;s=s+4|0}while((a|0)<(l|0))a=(f[b>>2]|0)+(o*52|0)|0;s=v;l=a+52|0;do{f[a>>2]=f[s>>2];a=a+4|0;s=s+4|0}while((a|0)<(l|0))if((m+1&65535)<(p&65535)){a=w;do{t=i+(a*6|0)|0;e=n[t>>1]|0;if(e<<16>>16!=k<<16>>16){if(e<<16>>16==d<<16>>16)n[t>>1]=k}else n[t>>1]=d;a=a+1|0}while((a&65535)<<16>>16!=p<<16>>16)}}n[(f[b>>2]|0)+(h*52|0)+48>>1]=n[u>>1]|0}else{f[g>>2]=h;f[g+4>>2]=e;Ht(r,2,19262,g)|0}while(0)m=m+1|0;if((m&65535)<<16>>16==p<<16>>16)break;else w=w+1|0}i=f[E>>2]|0;t=i;i=f[i>>2]|0}if(!i){y=t;Yn(y);f[E>>2]=0;c=A;return}else{Yn(i);y=f[E>>2]|0;Yn(y);f[E>>2]=0;c=A;return}}function zi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,R=0,O=0,L=0;L=c;c=c+192|0;A=L+152|0;E=L+144|0;y=L+136|0;g=L+128|0;v=L+120|0;P=L+88|0;_=L+80|0;w=L+64|0;k=L+48|0;R=L+40|0;S=L+32|0;x=L+24|0;p=L+16|0;m=L+8|0;h=L+176|0;b=L+168|0;C=L+156|0;t=Fn(1,1024)|0;if(!t){Ht(r,1,17098,L)|0;O=0;c=L;return O|0}d=h+4|0;T=C+4|0;M=e+100|0;u=1024;e:while(1){if((Ot(i,h,8,r)|0)!=8)break;while(1){ct(h,C,4);ct(d,T,4);switch(f[C>>2]|0){case 0:{n=Nt(i)|0;o=D;if((o|0)>0|(o|0)==0&n>>>0>4294967287){O=6;break e}f[C>>2]=n+8;l=8;break}case 1:{if((Ot(i,h,8,r)|0)!=8)break e;ct(h,b,4);if(f[b>>2]|0){O=10;break e}ct(d,C,4);l=16;break}default:l=8}a=f[T>>2]|0;if((a|0)==1785737827){O=13;break e}n=f[C>>2]|0;if(!n){O=17;break e}if(n>>>0<l>>>0){O=19;break e}if((a|0)==1783636e3){s=1084;a=l;O=22;break}if((a|0)==1718909296){s=1092;a=l;O=22;break}o=(a|0)==1785737832;i:do if((a|0)!=1768449138)if((a|0)!=1668246642)if((a|0)!=1651532643)if((a|0)!=1885564018)if((a|0)!=1668112752){s=(a|0)==1667523942?1148:0;n=n-l|0;if((a|0)<1785737832)switch(a|0){case 1667523942:{O=30;break i}default:{}}else switch(a|0){case 1785737832:{O=30;break i}default:{}}a=f[M>>2]|0;if(!(a&1)){O=45;break e}if(!(a&2)){O=47;break e}f[M>>2]=a|2147483647;o=Ft(i,n,0,r)|0;if(!((o|0)==(n|0)&(D|0)==0)){O=50;break e}}else{s=1140;O=28}else{s=1132;O=28}else{s=1124;O=28}else{s=1116;O=28}else{s=1108;O=28}while(0)if((O|0)==28){n=n-l|0;O=30}if((O|0)==30){O=0;if(o){s=1100;break}f[k>>2]=a>>>24;f[k+4>>2]=a>>>16&255;f[k+8>>2]=a>>>8&255;f[k+12>>2]=a&255;Ht(r,2,17282,k)|0;if(f[M>>2]&4)break;o=f[T>>2]|0;f[w>>2]=o>>>24;f[w+4>>2]=o>>>16&255;f[w+8>>2]=o>>>8&255;f[w+12>>2]=o&255;Ht(r,2,17333,w)|0;f[M>>2]=f[M>>2]|2147483647;o=Ft(i,n,0,r)|0;if(!((o|0)==(n|0)&(D|0)==0)){O=33;break e}}if((Ot(i,h,8,r)|0)!=8)break e}if((O|0)==22){O=0;n=n-a|0}o=Nt(i)|0;l=D;if(0>(l|0)|0==(l|0)&n>>>0>o>>>0){O=35;break}if(n>>>0>u>>>0){a=Hn(t,n)|0;if(!a){O=38;break}else{t=a;a=n}}else a=u;if((Ot(i,t,n,r)|0)!=(n|0)){O=40;break}if(!(Co[f[s+4>>2]&63](e,t,n,r)|0)){O=43;break}else u=a}switch(O|0){case 6:{Ht(r,1,17148,m)|0;break}case 10:{Ht(r,1,17148,p)|0;break}case 13:{n=f[M>>2]|0;if(!(n&4)){Ht(r,1,17190,x)|0;Yn(t);O=0;c=L;return O|0}else{f[M>>2]=n|8;Yn(t);O=1;c=L;return O|0}}case 17:{Ht(r,1,17218,S)|0;Yn(t);O=0;c=L;return O|0}case 19:{f[R>>2]=n;f[R+4>>2]=a;Ht(r,1,17256,R)|0;Yn(t);O=0;c=L;return O|0}case 33:{Ht(r,1,17399,_)|0;Yn(t);O=0;c=L;return O|0}case 35:{x=f[C>>2]|0;R=f[T>>2]|0;O=Nt(i)|0;f[P>>2]=x;f[P+4>>2]=R>>>24;f[P+8>>2]=R>>>16&255;f[P+12>>2]=R>>>8&255;f[P+16>>2]=R&255;f[P+20>>2]=n;f[P+24>>2]=O;Ht(r,1,17449,P)|0;Yn(t);O=0;c=L;return O|0}case 38:{Yn(t);Ht(r,1,17525,v)|0;O=0;c=L;return O|0}case 40:{Ht(r,1,17567,g)|0;Yn(t);O=0;c=L;return O|0}case 43:{Yn(t);O=0;c=L;return O|0}case 45:{Ht(r,1,17616,y)|0;Yn(t);O=0;c=L;return O|0}case 47:{Ht(r,1,17686,E)|0;Yn(t);O=0;c=L;return O|0}case 50:{Ht(r,1,17399,A)|0;Yn(t);O=0;c=L;return O|0}}Yn(t);O=1;c=L;return O|0}function Xi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;s=c;c=c+32|0;a=s+24|0;t=Bt(i)|0;n=D;e=e+80|0;l=e;l=Dl(t|0,n|0,f[l>>2]|0,f[l+4>>2]|0)|0;ut(a,l,4);ut(a+4|0,1785737827,4);if(!(jt(i,f[e>>2]|0,f[e+4>>2]|0,r)|0)){Ht(r,1,17067,s)|0;l=0;c=s;return l|0}if((Lt(i,a,8,r)|0)!=8){Ht(r,1,17067,s+8|0)|0;l=0;c=s;return l|0}if(jt(i,t,n,r)|0){l=1;c=s;return l|0}Ht(r,1,17067,s+16|0)|0;l=0;c=s;return l|0}function Gi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;r=((f[e>>2]|0)!=0?(f[e+104>>2]|f[e+100>>2]|0)==0:0)&(f[e+8>>2]|0)!=0&(f[e+4>>2]|0)!=0&(f[e+64>>2]|0)!=0&(f[e+16>>2]|0)!=0&(f[e+12>>2]|0)!=0&1;t=f[e+20>>2]|0;if(!t){a=r;e=e+40|0;e=f[e>>2]|0;e=e+-1|0;e=e>>>0<2;e=e&1;i=Ut(i)|0;i=i&a;e=i&e;return e|0}n=f[e+72>>2]|0;a=0;do{r=(f[n+(a*12|0)+8>>2]&126)>>>0<38&r;a=a+1|0}while(a>>>0<t>>>0)e=e+40|0;e=f[e>>2]|0;e=e+-1|0;e=e>>>0<2;e=e&1;i=Ut(i)|0;i=i&r;e=i&e;return e|0}function Vi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e=c;c=c+16|0;t=e;ut(t,12,4);ut(t+4|0,1783636e3,4);ut(t+8|0,218793738,4);r=(Lt(i,t,12,r)|0)==12&1;c=e;return r|0}function Ki(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;o=u+8|0;n=e+64|0;s=(f[n>>2]<<2)+16|0;l=Fn(1,s)|0;if(!l){Ht(r,1,16987,u)|0;o=0;c=u;return o|0}ut(l,s,4);ut(l+4|0,1718909296,4);ut(l+8|0,f[e+56>>2]|0,4);ut(l+12|0,f[e+60>>2]|0,4);a=l+16|0;if(f[n>>2]|0){e=e+68|0;t=0;do{ut(a,f[(f[e>>2]|0)+(t<<2)>>2]|0,4);t=t+1|0}while(t>>>0<(f[n>>2]|0)>>>0)}e=(Lt(i,l,s,r)|0)==(s|0);if(!e)Ht(r,1,17026,o)|0;Yn(l);o=e&1;c=u;return o|0}function Wi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0;w=c;c=c+80|0;b=w+16|0;d=w+8|0;o=w;n=w+24|0;u=w+72|0;t=n;a=t+48|0;do{f[t>>2]=0;t=t+4|0}while((t|0)<(a|0))k=(f[e+24>>2]|0)==255;f[n>>2]=2;t=n+12|0;if(k){f[t>>2]=3;f[n+24>>2]=4;t=3}else{f[t>>2]=4;t=2}if(!(f[e+116>>2]|0))k=t;else{f[n+(t*12|0)>>2]=5;k=t+1|0}ut(u+4|0,1785737832,4);s=0;l=n;t=8;while(1){a=l+8|0;m=Po[f[l>>2]&7](e,a)|0;f[l+4>>2]=m;if(!m){h=8;break}t=(f[a>>2]|0)+t|0;s=s+1|0;if((s|0)>=(k|0))break;else l=l+12|0}if((h|0)==8){Ht(r,1,16901,o)|0;a=0;while(1){t=f[n+4>>2]|0;if(t)Yn(t);a=a+1|0;if((a|0)>=(k|0)){t=0;break}else n=n+12|0}c=w;return t|0}ut(u,t,4);e:do if((Lt(i,u,8,r)|0)==8){t=0;a=n;while(1){m=a+8|0;h=Lt(i,f[a+4>>2]|0,f[m>>2]|0,r)|0;if((h|0)!=(f[m>>2]|0))break;t=t+1|0;if((t|0)>=(k|0)){t=1;break e}else a=a+12|0}Ht(r,1,16944,b)|0;t=0}else{Ht(r,1,16944,d)|0;t=0}while(0)s=0;while(1){a=f[n+4>>2]|0;if(a)Yn(a);s=s+1|0;if((s|0)>=(k|0))break;else n=n+12|0}c=w;return t|0}function Ji(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=Bt(i)|0;e=e+88|0;f[e>>2]=t;f[e+4>>2]=D;i=Ft(i,24,0,r)|0;return(i|0)==24&(D|0)==0&1|0}function Qi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=Bt(i)|0;e=e+80|0;f[e>>2]=t;f[e+4>>2]=D;i=Ft(i,8,0,r)|0;return(i|0)==8&(D|0)==0&1|0}function Zi(e,i){e=e|0;i=i|0;var r=0;r=Fn(1,22)|0;if(!r){i=0;return i|0}ut(r,22,4);ut(r+4|0,1768449138,4);ut(r+8|0,f[e+16>>2]|0,4);ut(r+12|0,f[e+12>>2]|0,4);ut(r+16|0,f[e+20>>2]|0,2);ut(r+18|0,f[e+24>>2]|0,1);ut(r+19|0,f[e+28>>2]|0,1);ut(r+20|0,f[e+32>>2]|0,1);ut(r+21|0,f[e+36>>2]|0,1);f[i>>2]=22;i=r;return i|0}function $i(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0;n=e+20|0;a=(f[n>>2]|0)+8|0;s=Fn(1,a)|0;if(!s){i=0;return i|0}ut(s,a,4);ut(s+4|0,1651532643,4);if(f[n>>2]|0){e=e+72|0;r=0;t=s+8|0;while(1){ut(t,f[(f[e>>2]|0)+(r*12|0)+8>>2]|0,1);r=r+1|0;if(r>>>0>=(f[n>>2]|0)>>>0)break;else t=t+1|0}}f[i>>2]=a;i=s;return i|0}function er(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,s=0,l=0,o=0;r=e+40|0;switch(f[r>>2]|0){case 1:{o=15;break}case 2:{o=(f[e+112>>2]|0)+11|0;break}default:{i=0;return i|0}}l=Fn(1,o)|0;if(!l){i=0;return i|0}ut(l,o,4);ut(l+4|0,1668246642,4);ut(l+8|0,f[r>>2]|0,1);ut(l+9|0,f[e+52>>2]|0,1);ut(l+10|0,f[e+44>>2]|0,1);n=l+11|0;switch(f[r>>2]|0){case 1:{ut(n,f[e+48>>2]|0,4);break}case 2:{s=e+112|0;if(f[s>>2]|0){e=e+108|0;t=0;r=n;while(1){ut(r,a[(f[e>>2]|0)+t>>0]|0,1);t=t+1|0;if(t>>>0>=(f[s>>2]|0)>>>0)break;else r=r+1|0}}break}default:{}}f[i>>2]=o;i=l;return i|0}function ir(e,i){e=e|0;i=i|0;var r=0,t=0,a=0,l=0,o=0,u=0;l=e+116|0;o=((s[(f[l>>2]|0)+4>>1]|0)*6|0)+10|0;u=Nn(o)|0;if(!u){i=0;return i|0}ut(u,o,4);ut(u+4|0,1667523942,4);ut(u+8|0,s[(f[l>>2]|0)+4>>1]|0,2);e=f[l>>2]|0;if(n[e+4>>1]|0){t=0;r=0;a=u+10|0;while(1){ut(a,s[(f[e>>2]|0)+(t*6|0)>>1]|0,2);ut(a+2|0,s[(f[f[l>>2]>>2]|0)+(t*6|0)+2>>1]|0,2);ut(a+4|0,s[(f[f[l>>2]>>2]|0)+(t*6|0)+4>>1]|0,2);r=r+1<<16>>16;e=f[l>>2]|0;if((r&65535)>=(s[e+4>>1]|0))break;else{t=r&65535;a=a+6|0}}}f[i>>2]=o;i=u;return i|0}function rr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;a=c;c=c+32|0;n=a+16|0;if((r|0)!=14){Ht(t,1,18507,a)|0;n=0;c=a;return n|0}ct(i,e+16|0,4);ct(i+4|0,e+12|0,4);r=e+20|0;ct(i+8|0,r,2);r=Fn(f[r>>2]|0,12)|0;f[e+72>>2]=r;if(!r){Ht(t,1,18540,a+8|0)|0;n=0;c=a;return n|0}ct(i+10|0,e+24|0,1);r=e+28|0;ct(i+11|0,r,1);r=f[r>>2]|0;if((r|0)!=7){f[n>>2]=r;Ht(t,4,18589,n)|0}ct(i+12|0,e+32|0,1);ct(i+13|0,e+36|0,1);n=1;c=a;return n|0}function tr(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0;E=c;c=c+80|0;l=E+40|0;p=E+32|0;u=E+24|0;o=E+16|0;v=E+72|0;_=E+68|0;k=E+64|0;w=E+60|0;h=E+56|0;m=E+52|0;b=E+48|0;d=E+44|0;if(r>>>0<3){Ht(n,1,18180,E)|0;y=0;c=E;return y|0}g=e+108|0;y=e+124|0;if(t[y>>0]|0){Ht(n,4,18212,E+8|0)|0;y=1;c=E;return y|0}s=e+40|0;ct(i,s,1);ct(i+1|0,e+52|0,1);ct(i+2|0,e+44|0,1);a=i+3|0;s=f[s>>2]|0;switch(s|0){case 1:{if(r>>>0<7){f[o>>2]=r;Ht(n,1,18321,o)|0;y=0;c=E;return y|0}s=e+48|0;if(r>>>0>7?(f[s>>2]|0)!=14:0){f[u>>2]=r;Ht(n,2,18321,u)|0}ct(a,s,4);if((f[s>>2]|0)==14){a=Nn(36)|0;f[a>>2]=14;f[b>>2]=0;f[h>>2]=0;f[k>>2]=0;f[m>>2]=0;f[w>>2]=0;f[_>>2]=0;f[d>>2]=4470064;s=a+4|0;f[s>>2]=1145390592;switch(r|0){case 35:{ct(i+7|0,_,4);ct(i+11|0,k,4);ct(i+15|0,w,4);ct(i+19|0,h,4);ct(i+23|0,m,4);ct(i+27|0,b,4);ct(i+31|0,d,4);f[s>>2]=0;break}case 7:break;default:{f[p>>2]=r;Ht(n,2,18357,p)|0}}f[a+8>>2]=f[_>>2];f[a+16>>2]=f[w>>2];f[a+24>>2]=f[m>>2];f[a+12>>2]=f[k>>2];f[a+20>>2]=f[h>>2];f[a+28>>2]=f[b>>2];f[a+32>>2]=f[d>>2];f[g>>2]=a;f[e+112>>2]=0}t[y>>0]=1;y=1;c=E;return y|0}case 2:{l=r+-3|0;s=e+112|0;f[s>>2]=l;e=Fn(1,l)|0;f[g>>2]=e;if(!e){f[s>>2]=0;y=0;c=E;return y|0}if((r|0)>3){s=0;while(1){ct(a,v,1);t[(f[g>>2]|0)+s>>0]=f[v>>2];s=s+1|0;if((s|0)==(l|0))break;else a=a+1|0}}t[y>>0]=1;y=1;c=E;return y|0}default:{if(s>>>0<=2){y=1;c=E;return y|0}f[l>>2]=s;Ht(n,4,18401,l)|0;y=1;c=E;return y|0}}return 0}function nr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;l=c;c=c+16|0;a=l;n=f[e+24>>2]|0;if((n|0)!=255){f[a>>2]=n;Ht(t,2,18034,a)|0}s=e+20|0;if((f[s>>2]|0)!=(r|0)){Ht(t,1,18148,l+8|0)|0;s=0;c=l;return s|0}if(!r){s=1;c=l;return s|0}a=e+72|0;n=0;while(1){ct(i,(f[a>>2]|0)+(n*12|0)+8|0,1);n=n+1|0;if(n>>>0>=(f[s>>2]|0)>>>0){i=1;break}else i=i+1|0}c=l;return i|0}function fr(e,i,r,s){e=e|0;i=i|0;r=r|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0;m=c;c=c+16|0;l=m;w=m+12|0;o=e+120|0;if(r>>>0<3|(f[o>>2]|0)!=0){r=0;c=m;return r|0}ct(i,w,2);u=f[w>>2]|0;k=u&65535;if((k+-1|0)>>>0>1023){f[l>>2]=k;Ht(s,1,17951,l)|0;r=0;c=m;return r|0}ct(i+2|0,w,1);b=f[w>>2]&65535;if(!b){Ht(s,1,17989,m+8|0)|0;r=0;c=m;return r|0}if((b+3|0)>>>0>r>>>0){r=0;c=m;return r|0}l=Nn(ie(k<<2,b)|0)|0;if(!l){r=0;c=m;return r|0}h=Nn(b)|0;if(!h){Yn(l);r=0;c=m;return r|0}d=Nn(b)|0;if(!d){Yn(l);Yn(h);r=0;c=m;return r|0}e=Nn(20)|0;if(!e){Yn(l);Yn(h);Yn(d);r=0;c=m;return r|0}f[e+4>>2]=d;f[e+8>>2]=h;f[e>>2]=l;n[e+16>>1]=u;t[e+18>>0]=f[w>>2];f[e+12>>2]=0;f[o>>2]=e;e=i+3|0;s=0;o=0;do{ct(e,w,1);e=e+1|0;t[h+s>>0]=(f[w>>2]&127)+1;t[d+s>>0]=(f[w>>2]|0)>>>7&1;o=o+1<<16>>16;s=o&65535}while(s>>>0<b>>>0)if(!k){r=1;c=m;return r|0}s=0;e:while(1){u=0;o=l;d=0;while(1){l=((a[h+u>>0]|0)+7|0)>>>3;l=l>>>0>4?4:l;if((e-i+l|0)>(r|0)){e=0;l=22;break e}ct(e,w,l);e=e+l|0;f[o>>2]=f[w>>2];l=o+4|0;d=d+1<<16>>16;u=d&65535;if(u>>>0>=b>>>0)break;else o=l}s=s+1<<16>>16;if((s&65535)>>>0>=k>>>0){e=1;l=22;break}}if((l|0)==22){c=m;return e|0}return 0}function ar(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,o=0,u=0;u=c;c=c+32|0;o=u+20|0;l=e+120|0;e=f[l>>2]|0;if(!e){Ht(a,1,17841,u)|0;o=0;c=u;return o|0}if(f[e+12>>2]|0){Ht(a,1,17887,u+8|0)|0;o=0;c=u;return o|0}s=t[e+18>>0]|0;e=(s&255)<<2;if(e>>>0>r>>>0){Ht(a,1,17918,u+16|0)|0;o=0;c=u;return o|0}a=Nn(e)|0;if(!a){o=0;c=u;return o|0}if(s<<24>>24){e=i;r=0;while(1){ct(e,o,2);n[a+(r<<2)>>1]=f[o>>2];ct(e+2|0,o,1);t[a+(r<<2)+2>>0]=f[o>>2];ct(e+3|0,o,1);t[a+(r<<2)+3>>0]=f[o>>2];r=r+1|0;if((r&255)<<24>>24==s<<24>>24)break;else e=e+4|0}}f[(f[l>>2]|0)+12>>2]=a;o=1;c=u;return o|0}function sr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var a=0,l=0,o=0,u=0;u=c;c=c+32|0;o=u+20|0;l=e+116|0;if(f[l>>2]|0){o=0;c=u;return o|0}if(r>>>0<2){Ht(t,1,17747,u)|0;o=0;c=u;return o|0}ct(i,o,2);e=f[o>>2]|0;a=e&65535;if(!a){Ht(t,1,17780,u+8|0)|0;o=0;c=u;return o|0}if(((a*6|0)+2|0)>>>0>r>>>0){Ht(t,1,17747,u+16|0)|0;o=0;c=u;return o|0}r=Nn(e*6|0)|0;if(!r){o=0;c=u;return o|0}e=Nn(8)|0;f[l>>2]=e;if(!e){Yn(r);o=0;c=u;return o|0}f[e>>2]=r;t=f[o>>2]&65535;n[e+4>>1]=t;if(!(t<<16>>16)){o=1;c=u;return o|0}else{a=0;e=i}do{i=a&65535;ct(e+2|0,o,2);n[r+(i*6|0)>>1]=f[o>>2];ct(e+4|0,o,2);e=e+6|0;n[r+(i*6|0)+2>>1]=f[o>>2];ct(e,o,2);n[r+(i*6|0)+4>>1]=f[o>>2];a=a+1<<16>>16}while((a&65535)<(s[(f[l>>2]|0)+4>>1]|0))e=1;c=u;return e|0}function lr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;a=c;c=c+32|0;n=a+20|0;e=e+100|0;if(f[e>>2]|0){Ht(t,1,19130,a)|0;t=0;c=a;return t|0}if((r|0)!=4){Ht(t,1,19184,a+8|0)|0;t=0;c=a;return t|0}ct(i,n,4);if((f[n>>2]|0)==218793738){f[e>>2]=f[e>>2]|1;t=1;c=a;return t|0}else{Ht(t,1,19218,a+16|0)|0;t=0;c=a;return t|0}return 0}function or(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;l=c;c=c+32|0;a=l+24|0;s=e+100|0;if((f[s>>2]|0)!=1){Ht(t,1,19011,l)|0;s=0;c=l;return s|0}if(r>>>0<8){Ht(t,1,19061,l+8|0)|0;s=0;c=l;return s|0}ct(i,e+56|0,4);ct(i+4|0,e+60|0,4);i=i+8|0;r=r+-8|0;if(r&3){Ht(t,1,19061,l+16|0)|0;s=0;c=l;return s|0}r=r>>>2;n=e+64|0;f[n>>2]=r;if(r){r=Fn(r,4)|0;f[e+68>>2]=r;if(!r){Ht(t,1,19097,a)|0;s=0;c=l;return s|0}if(f[n>>2]|0){e=e+68|0;r=0;while(1){ct(i,(f[e>>2]|0)+(r<<2)|0,4);r=r+1|0;if(r>>>0>=(f[n>>2]|0)>>>0)break;else i=i+4|0}}}f[s>>2]=f[s>>2]|2;s=1;c=l;return s|0}function ur(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0;T=c;c=c+96|0;A=T+72|0;_=T+64|0;m=T+56|0;w=T+48|0;y=T+40|0;g=T+32|0;v=T+24|0;p=T+16|0;k=T+8|0;h=T+80|0;b=T+76|0;E=e+100|0;if(!(f[E>>2]&2)){Ht(t,1,18679,T)|0;S=0;c=T;return S|0}d=e+104|0;f[d>>2]=0;do if(r){o=i;i=0;e:while(1){if(r>>>0<8){S=6;break}ct(o,h,4);n=f[h>>2]|0;ct(o+4|0,h,4);l=f[h>>2]|0;switch(n|0){case 0:{S=14;break e}case 1:{if(r>>>0<16){S=9;break e}ct(o+8|0,b,4);if(f[b>>2]|0){S=11;break e}ct(o+12|0,h,4);n=f[h>>2]|0;if(!n){S=13;break e}else a=16;break}default:a=8}if(n>>>0<a>>>0){S=16;break}if(r>>>0<n>>>0){S=19;break}s=(l|0)==1768449138;if(!s)if((l|0)!=1668246642)if((l|0)!=1651532643)if((l|0)!=1885564018)if((l|0)!=1668112752)if((l|0)==1667523942){u=1148;S=26}else f[d>>2]=f[d>>2]|2147483647;else{u=1140;S=26}else{u=1132;S=26}else{u=1124;S=26}else{u=1116;S=26}else{u=1108;S=26}if((S|0)==26?(S=0,(Co[f[u+4>>2]&63](e,o+a|0,n-a|0,t)|0)==0):0){i=0;S=32;break}i=s?1:i;if((r|0)==(n|0)){S=29;break}else{o=o+n|0;r=r-n|0}}if((S|0)==6)Ht(t,1,18724,k)|0;else if((S|0)==9)Ht(t,1,18764,p)|0;else if((S|0)==11)Ht(t,1,17148,v)|0;else if((S|0)==13)Ht(t,1,17218,g)|0;else if((S|0)==14)Ht(t,1,17218,y)|0;else if((S|0)==16)Ht(t,1,18808,w)|0;else if((S|0)==19){Ht(t,1,18880,_)|0;S=0;c=T;return S|0}else if((S|0)==29){if(!i)break;f[E>>2]=f[E>>2]|4;S=1;c=T;return S|0}else if((S|0)==32){c=T;return i|0}Ht(t,1,18837,m)|0;S=0;c=T;return S|0}while(0)Ht(t,1,18952,A)|0;S=0;c=T;return S|0}function cr(){return 8}function dr(){return 32}function hr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0;if(!t)return;else n=0;do{c=e+(n<<2)|0;l=f[c>>2]|0;o=i+(n<<2)|0;s=f[o>>2]|0;a=r+(n<<2)|0;u=f[a>>2]|0;f[c>>2]=(s<<1)+l+u>>2;f[o>>2]=u-s;f[a>>2]=l-s;n=n+1|0}while((n|0)!=(t|0))return}function br(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0;if(!t)return;else n=0;do{u=e+(n<<2)|0;o=i+(n<<2)|0;s=f[o>>2]|0;a=r+(n<<2)|0;c=f[a>>2]|0;l=(f[u>>2]|0)-(c+s>>2)|0;f[u>>2]=l+c;f[o>>2]=l;f[a>>2]=l+s;n=n+1|0}while((n|0)!=(t|0))return}function kr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0;if(!t)return;else n=0;do{b=e+(n<<2)|0;v=f[b>>2]|0;u=i+(n<<2)|0;p=f[u>>2]|0;a=r+(n<<2)|0;_=f[a>>2]|0;o=((v|0)<0)<<31>>31;w=Yl(v|0,o|0,2449,0)|0;w=Il(w|0,D|0,4096,0)|0;w=Bl(w|0,D|0,13)|0;l=((p|0)<0)<<31>>31;m=Yl(p|0,l|0,4809,0)|0;m=Il(m|0,D|0,4096,0)|0;m=Bl(m|0,D|0,13)|0;s=((_|0)<0)<<31>>31;k=Yl(_|0,s|0,934,0)|0;k=Il(k|0,D|0,4096,0)|0;k=Bl(k|0,D|0,13)|0;c=Yl(v|0,o|0,1382,0)|0;c=Il(c|0,D|0,4096,0)|0;c=Bl(c|0,D|0,13)|0;d=Yl(p|0,l|0,2714,0)|0;d=Il(d|0,D|0,4096,0)|0;d=Bl(d|0,D|0,13)|0;h=Ll(_|0,s|0,12)|0;h=Il(h|0,D|0,4096,0)|0;h=Bl(h|0,D|0,13)|0;o=Ll(v|0,o|0,12)|0;o=Il(o|0,D|0,4096,0)|0;o=Bl(o|0,D|0,13)|0;l=Yl(p|0,l|0,3430,0)|0;l=Il(l|0,D|0,4096,0)|0;l=Bl(l|0,D|0,13)|0;s=Yl(_|0,s|0,666,0)|0;s=Il(s|0,D|0,4096,0)|0;s=Bl(s|0,D|0,13)|0;f[b>>2]=m+w+k;f[u>>2]=h-(d+c);f[a>>2]=o-l-s;n=n+1|0}while((n|0)!=(t|0))return}function wr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,s=0,l=0,u=0,c=0;if(!t)return;else n=0;do{c=e+(n<<2)|0;s=+o[c>>2];l=i+(n<<2)|0;a=+o[l>>2];f=r+(n<<2)|0;u=+o[f>>2];o[c>>2]=s+u*1.4019999504089355;o[l>>2]=s-a*.3441300094127655-u*.714139997959137;o[f>>2]=s+a*1.7719999551773071;n=n+1|0}while((n|0)!=(t|0))return}function mr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;a=ie(t,t)|0;b=Nn(a+t<<2)|0;if(!b){t=0;return t|0}if(a){s=0;n=e;while(1){f[b+(s+t<<2)>>2]=~~(+o[n>>2]*8192);s=s+1|0;if((s|0)==(a|0))break;else n=n+4|0}}if(i){d=(t|0)==0;h=0;do{if(!d){n=0;do{f[b+(n<<2)>>2]=f[f[r+(n<<2)>>2]>>2];n=n+1|0}while((n|0)!=(t|0))if(!d){e=0;u=b;do{u=u+(t<<2)|0;a=r+(e<<2)|0;n=f[a>>2]|0;f[n>>2]=0;s=0;l=0;c=u;while(1){k=f[c>>2]|0;w=f[b+(l<<2)>>2]|0;k=Yl(w|0,((w|0)<0)<<31>>31|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Il(k|0,D|0,4096,0)|0;k=Bl(k|0,D|0,13)|0;s=k+s|0;f[n>>2]=s;l=l+1|0;if((l|0)==(t|0))break;else c=c+4|0}f[a>>2]=n+4;e=e+1|0}while((e|0)!=(t|0))}}h=h+1|0}while((h|0)!=(i|0))}Yn(b);w=1;return w|0}function _r(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,u=0,c=0,d=0,h=0,b=0;d=Nn(t<<3)|0;if(!d){t=0;return t|0}if(i){h=(t|0)==0;b=0;do{if(!h){n=0;do{f[d+(n<<2)>>2]=f[f[r+(n<<2)>>2]>>2];n=n+1|0}while((n|0)!=(t|0))if(!h){u=0;c=e;while(1){n=d+(u+t<<2)|0;o[n>>2]=0;a=0;s=0;l=c;while(1){a=a+ +o[l>>2]*+o[d+(s<<2)>>2];o[n>>2]=a;s=s+1|0;if((s|0)==(t|0))break;else l=l+4|0}s=r+(u<<2)|0;l=f[s>>2]|0;f[s>>2]=l+4;o[l>>2]=a;u=u+1|0;if((u|0)==(t|0))break;else c=c+(t<<2)|0}}}b=b+1|0}while((b|0)!=(i|0))}Yn(d);t=1;return t|0}function pr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,s=0,l=0;if(!i)return;else s=0;do{a=e+(s<<3)|0;u[a>>3]=0;t=0;n=0;f=s;while(1){l=+o[r+(f<<2)>>2];t=t+l*l;n=n+1|0;if((n|0)==(i|0))break;else f=f+i|0}u[a>>3]=+q(+t);s=s+1|0}while((s|0)!=(i|0))return}function vr(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0;D=c;c=c+32|0;M=D+28|0;y=D+24|0;E=D+20|0;A=D+16|0;S=D+12|0;T=D+8|0;o=D+4|0;u=D;n=i+76|0;P=f[n>>2]|0;C=P+(r*5640|0)+420|0;x=(f[C>>2]|0)+1|0;d=e+16|0;g=Nn((f[d>>2]|0)*528|0)|0;if(!g){x=0;c=D;return x|0}v=Nn(f[d>>2]<<2)|0;if(!v){Yn(g);x=0;c=D;return x|0}n=Tr(e,f[n>>2]|0,r)|0;if(!n){Yn(g);Yn(v);x=0;c=D;return x|0}a=f[d>>2]|0;if(a){s=0;l=g;while(1){f[v+(s<<2)>>2]=l;s=s+1|0;if(s>>>0>=a>>>0)break;else l=l+528|0}}Mr(e,i,r,E,A,S,T,o,u,y,M,v);_=f[y>>2]|0;w=ie(f[d>>2]|0,_)|0;m=ie(f[M>>2]|0,w)|0;p=P+(r*5640|0)+8|0;k=Fn(ie((f[p>>2]|0)+1|0,m)|0,2)|0;s=n+4|0;f[s>>2]=k;if(!k){Yn(g);Yn(v);a=f[s>>2]|0;if(a){Yn(a);f[s>>2]=0}if(x){e=n;h=0;while(1){d=e+196|0;a=f[d>>2]|0;if(a){i=e+192|0;s=f[i>>2]|0;if(s){u=0;while(1){l=a+12|0;o=f[l>>2]|0;if(o){Yn(o);f[l>>2]=0;s=f[i>>2]|0}u=u+1|0;if(u>>>0>=s>>>0)break;else a=a+16|0}a=f[d>>2]|0}Yn(a);f[d>>2]=0}h=h+1|0;if((h|0)==(x|0))break;else e=e+232|0}}Yn(n);x=0;c=D;return x|0}a=f[n+196>>2]|0;k=f[e+24>>2]|0;f[n+200>>2]=f[E>>2];f[n+204>>2]=f[S>>2];f[n+208>>2]=f[A>>2];f[n+212>>2]=f[T>>2];f[n+20>>2]=1;f[n+16>>2]=_;f[n+12>>2]=w;f[n+8>>2]=m;d=f[n+192>>2]|0;if(d){e=0;i=k;while(1){l=f[a+12>>2]|0;s=f[v+(e<<2)>>2]|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];u=f[a+8>>2]|0;if(u){o=0;while(1){f[l>>2]=f[s>>2];f[l+4>>2]=f[s+4>>2];f[l+8>>2]=f[s+8>>2];f[l+12>>2]=f[s+12>>2];o=o+1|0;if(o>>>0>=u>>>0)break;else{s=s+16|0;l=l+16|0}}}e=e+1|0;if(e>>>0>=d>>>0)break;else{a=a+16|0;i=i+52|0}}}if(x>>>0>1){d=n;b=1;do{a=f[d+428>>2]|0;f[d+432>>2]=f[E>>2];f[d+436>>2]=f[S>>2];f[d+440>>2]=f[A>>2];f[d+444>>2]=f[T>>2];f[d+252>>2]=1;f[d+248>>2]=_;f[d+244>>2]=w;f[d+240>>2]=m;e=f[d+424>>2]|0;if(e){h=0;i=k;while(1){l=f[a+12>>2]|0;s=f[v+(h<<2)>>2]|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];u=f[a+8>>2]|0;if(u){o=0;while(1){f[l>>2]=f[s>>2];f[l+4>>2]=f[s+4>>2];f[l+8>>2]=f[s+8>>2];f[l+12>>2]=f[s+12>>2];o=o+1|0;if(o>>>0>=u>>>0)break;else{s=s+16|0;l=l+16|0}}}h=h+1|0;if(h>>>0>=e>>>0)break;else{a=a+16|0;i=i+52|0}}}f[d+236>>2]=f[d+4>>2];d=d+232|0;b=b+1|0}while((b|0)!=(x|0))}Yn(g);Yn(v);d=f[y>>2]|0;if(!(t[P+(r*5640|0)+5636>>0]&4)){i=f[M>>2]|0;u=(f[C>>2]|0)+1|0;if(!u){x=n;c=D;return x|0}o=f[P+(r*5640|0)+4>>2]|0;a=f[p>>2]|0;s=n;l=0;while(1){f[s+80>>2]=o;f[s+40>>2]=1;f[s+44>>2]=0;f[s+48>>2]=0;f[s+64>>2]=0;f[s+68>>2]=0;f[s+56>>2]=i;f[s+60>>2]=f[s+192>>2];f[s+52>>2]=a;f[s+72>>2]=d;l=l+1|0;if((l|0)==(u|0))break;else s=s+232|0}c=D;return n|0}else{l=(f[C>>2]|0)+1|0;if(!l){x=n;c=D;return x|0}o=n;a=P+(r*5640|0)+424|0;s=0;while(1){f[o+80>>2]=f[a+36>>2];f[o+40>>2]=1;f[o+44>>2]=f[a>>2];f[o+48>>2]=f[a+4>>2];f[o+64>>2]=0;f[o+68>>2]=0;f[o+56>>2]=f[a+12>>2];f[o+60>>2]=f[a+16>>2];f[o+52>>2]=f[a+8>>2];f[o+72>>2]=d;s=s+1|0;if((s|0)==(l|0))break;else{o=o+232|0;a=a+148|0}}c=D;return n|0}return 0}function gr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;if(!e)return;r=e+4|0;t=f[r>>2]|0;if(t){Yn(t);f[r>>2]=0}if(i){u=e;c=0;while(1){o=u+196|0;r=f[o>>2]|0;if(r){l=u+192|0;t=f[l>>2]|0;if(t){s=0;while(1){n=r+12|0;a=f[n>>2]|0;if(a){Yn(a);f[n>>2]=0;t=f[l>>2]|0}s=s+1|0;if(s>>>0>=t>>>0)break;else r=r+16|0}r=f[o>>2]|0}Yn(r);f[o>>2]=0}c=c+1|0;if((c|0)==(i|0))break;else u=u+232|0}}Yn(e);return}function yr(e,i,r,s){e=e|0;i=i|0;r=r|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0;N=c;c=c+32|0;R=N+28|0;D=N+24|0;M=N+20|0;C=N+16|0;P=N+12|0;x=N+8|0;O=N+4|0;L=N;I=i+76|0;E=f[I>>2]|0;B=(f[E+(r*5640|0)+420>>2]|0)+1|0;T=e+16|0;S=Nn((f[T>>2]|0)*528|0)|0;if(!S){r=0;c=N;return r|0}A=Nn(f[T>>2]<<2)|0;if(!A){Yn(S);r=0;c=N;return r|0}l=Tr(e,f[I>>2]|0,r)|0;if(!l){Yn(S);Yn(A);r=0;c=N;return r|0}o=f[T>>2]|0;if(o){u=0;d=S;while(1){f[A+(u<<2)>>2]=d;u=u+1|0;if(u>>>0>=o>>>0)break;else d=d+528|0}}Mr(e,i,r,M,C,P,x,O,L,D,R,A);v=f[D>>2]|0;g=ie(f[T>>2]|0,v)|0;y=ie(f[R>>2]|0,g)|0;t[l>>0]=(a[i+93>>0]|0)>>>3&1;p=Fn(ie(f[E+(r*5640|0)+8>>2]|0,y)|0,2)|0;u=l+4|0;f[u>>2]=p;if(!p){Yn(S);Yn(A);o=f[u>>2]|0;if(o){Yn(o);f[u>>2]=0}if(B){w=l;m=0;while(1){k=w+196|0;o=f[k>>2]|0;if(o){b=w+192|0;u=f[b>>2]|0;if(u){h=0;while(1){d=o+12|0;e=f[d>>2]|0;if(e){Yn(e);f[d>>2]=0;u=f[b>>2]|0}h=h+1|0;if(h>>>0>=u>>>0)break;else o=o+16|0}o=f[k>>2]|0}Yn(o);f[k>>2]=0}m=m+1|0;if((m|0)==(B|0))break;else w=w+232|0}}Yn(l);r=0;c=N;return r|0}o=f[l+196>>2]|0;p=f[e+24>>2]|0;f[l+200>>2]=f[M>>2];f[l+204>>2]=f[P>>2];f[l+208>>2]=f[C>>2];f[l+212>>2]=f[x>>2];f[l+224>>2]=f[O>>2];f[l+228>>2]=f[L>>2];f[l+20>>2]=1;f[l+16>>2]=v;f[l+12>>2]=g;f[l+8>>2]=y;k=f[l+192>>2]|0;if(k){w=0;b=p;while(1){d=f[o+12>>2]|0;u=f[A+(w<<2)>>2]|0;f[o>>2]=f[b>>2];f[o+4>>2]=f[b+4>>2];h=f[o+8>>2]|0;if(h){e=0;while(1){f[d>>2]=f[u>>2];f[d+4>>2]=f[u+4>>2];f[d+8>>2]=f[u+8>>2];f[d+12>>2]=f[u+12>>2];e=e+1|0;if(e>>>0>=h>>>0)break;else{u=u+16|0;d=d+16|0}}}w=w+1|0;if(w>>>0>=k>>>0)break;else{o=o+16|0;b=b+52|0}}}if(B>>>0>1){k=l;_=1;do{o=f[k+428>>2]|0;f[k+432>>2]=f[M>>2];f[k+436>>2]=f[P>>2];f[k+440>>2]=f[C>>2];f[k+444>>2]=f[x>>2];f[k+456>>2]=f[O>>2];f[k+460>>2]=f[L>>2];f[k+252>>2]=1;f[k+248>>2]=v;f[k+244>>2]=g;f[k+240>>2]=y;w=f[k+424>>2]|0;if(w){m=0;b=p;while(1){d=f[o+12>>2]|0;u=f[A+(m<<2)>>2]|0;f[o>>2]=f[b>>2];f[o+4>>2]=f[b+4>>2];h=f[o+8>>2]|0;if(h){e=0;while(1){f[d>>2]=f[u>>2];f[d+4>>2]=f[u+4>>2];f[d+8>>2]=f[u+8>>2];f[d+12>>2]=f[u+12>>2];e=e+1|0;if(e>>>0>=h>>>0)break;else{u=u+16|0;d=d+16|0}}}m=m+1|0;if(m>>>0>=w>>>0)break;else{o=o+16|0;b=b+52|0}}}f[k+236>>2]=f[k+4>>2];k=k+232|0;_=_+1|0}while((_|0)!=(B|0))}Yn(S);Yn(A);do if(t[E+(r*5640|0)+5636>>0]&4){o=n[i>>1]|0;if((o&65535)>2){if(!((s|0)==1|(o&65535)<7))break}else if((s|0)!=1)break;Cr(f[I>>2]|0,r,f[M>>2]|0,f[C>>2]|0,f[P>>2]|0,f[x>>2]|0,f[D>>2]|0,f[O>>2]|0,f[L>>2]|0);r=l;c=N;return r|0}while(0)y=f[T>>2]|0;g=f[M>>2]|0;v=f[C>>2]|0;p=f[P>>2]|0;_=f[x>>2]|0;m=f[D>>2]|0;w=f[R>>2]|0;k=f[O>>2]|0;b=f[L>>2]|0;o=f[I>>2]|0;d=(f[o+(r*5640|0)+420>>2]|0)+1|0;if(!d){r=l;c=N;return r|0}e=f[o+(r*5640|0)+8>>2]|0;h=f[o+(r*5640|0)+4>>2]|0;o=o+(r*5640|0)+424|0;u=0;while(1){f[o+76>>2]=0;f[o+92>>2]=y;f[o+72>>2]=0;f[o+88>>2]=w;f[o+68>>2]=0;f[o+84>>2]=e;f[o+36>>2]=h;f[o+80>>2]=0;f[o+96>>2]=m;f[o+100>>2]=g;f[o+104>>2]=v;f[o+108>>2]=p;f[o+112>>2]=_;f[o+116>>2]=k;f[o+120>>2]=b;u=u+1|0;if((u|0)==(d|0))break;else o=o+148|0}c=N;return l|0}function Er(e,i,r,a,s,l,o){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0;Y=f[i+76>>2]|0;q=Y+(r*5640|0)+424+(a*148|0)+36|0;z=qn(f[q>>2]|0)|0;f[e+(a*232|0)+40>>2]=1;X=e+(a*232|0)+44|0;f[e+(a*232|0)+80>>2]=f[q>>2];do if(t[i+93>>0]&8){u=n[i>>1]|0;if((u&65535)>2){if(!((o|0)==1&(u&65535)>6|(u+-3&65535)<4))break}else if(!((o|0)==1|(u+-3&65535)<4))break;u=l+1|0;e:do if((u|0)<4){o=Y+(r*5640|0)+424+(a*148|0)+72|0;c=Y+(r*5640|0)+424+(a*148|0)+88|0;d=e+(a*232|0)+56|0;h=Y+(r*5640|0)+424+(a*148|0)+76|0;b=e+(a*232|0)+48|0;k=Y+(r*5640|0)+424+(a*148|0)+92|0;w=e+(a*232|0)+60|0;m=Y+(r*5640|0)+424+(a*148|0)+68|0;_=e+(a*232|0)+64|0;p=Y+(r*5640|0)+424+(a*148|0)+84|0;v=e+(a*232|0)+52|0;g=Y+(r*5640|0)+424+(a*148|0)+80|0;y=e+(a*232|0)+68|0;E=Y+(r*5640|0)+424+(a*148|0)+96|0;A=e+(a*232|0)+72|0;S=Y+(r*5640|0)+424+(a*148|0)+100|0;T=e+(a*232|0)+96|0;M=Y+(r*5640|0)+424+(a*148|0)+108|0;C=e+(a*232|0)+104|0;P=Y+(r*5640|0)+424+(a*148|0)+104|0;x=e+(a*232|0)+100|0;D=Y+(r*5640|0)+424+(a*148|0)+112|0;R=e+(a*232|0)+108|0;while(1){i:do switch(t[z+u>>0]|0){case 82:{f[X>>2]=f[o>>2];f[d>>2]=f[c>>2];break}case 67:{f[b>>2]=f[h>>2];f[w>>2]=f[k>>2];break}case 76:{f[_>>2]=f[m>>2];f[v>>2]=f[p>>2];break}case 80:if((f[q>>2]|0)>>>0<2){f[y>>2]=f[g>>2];f[A>>2]=f[E>>2];break i}else{f[T>>2]=f[S>>2];f[C>>2]=f[M>>2];f[x>>2]=f[P>>2];f[R>>2]=f[D>>2];break i}default:{}}while(0)u=u+1|0;if((u|0)==4)break e}}while(0)u=(l|0)>-1;if(!s){if(!u)return;d=Y+(r*5640|0)+424+(a*148|0)+76|0;h=Y+(r*5640|0)+424+(a*148|0)+132|0;b=e+(a*232|0)+48|0;k=e+(a*232|0)+60|0;w=Y+(r*5640|0)+424+(a*148|0)+72|0;m=Y+(r*5640|0)+424+(a*148|0)+128|0;_=e+(a*232|0)+56|0;p=Y+(r*5640|0)+424+(a*148|0)+68|0;v=Y+(r*5640|0)+424+(a*148|0)+124|0;g=e+(a*232|0)+64|0;y=e+(a*232|0)+52|0;E=Y+(r*5640|0)+424+(a*148|0)+80|0;A=Y+(r*5640|0)+424+(a*148|0)+136|0;S=e+(a*232|0)+68|0;T=e+(a*232|0)+72|0;M=Y+(r*5640|0)+424+(a*148|0)+100|0;C=Y+(r*5640|0)+424+(a*148|0)+140|0;P=Y+(r*5640|0)+424+(a*148|0)+108|0;x=Y+(r*5640|0)+424+(a*148|0)+144|0;D=e+(a*232|0)+96|0;R=Y+(r*5640|0)+424+(a*148|0)+116|0;s=e+(a*232|0)+100|0;O=e+(a*232|0)+104|0;c=Y+(r*5640|0)+424+(a*148|0)+120|0;o=e+(a*232|0)+108|0;u=l;while(1){e:do switch(t[z+u>>0]|0){case 67:{a=f[d>>2]|0;f[b>>2]=a;a=a+1|0;f[k>>2]=a;f[h>>2]=a;break}case 82:{a=f[w>>2]|0;f[X>>2]=a;a=a+1|0;f[_>>2]=a;f[m>>2]=a;break}case 76:{a=f[p>>2]|0;f[g>>2]=a;a=a+1|0;f[y>>2]=a;f[v>>2]=a;break}case 80:if((f[q>>2]|0)>>>0<2){a=f[E>>2]|0;f[S>>2]=a;a=a+1|0;f[T>>2]=a;f[A>>2]=a;break e}else{a=f[M>>2]|0;l=f[P>>2]|0;f[D>>2]=a;r=f[R>>2]|0;r=r+a-((a>>>0)%(r>>>0)|0)|0;f[s>>2]=r;f[O>>2]=l;a=f[c>>2]|0;a=a+l-((l>>>0)%(a>>>0)|0)|0;f[o>>2]=a;f[C>>2]=r;f[x>>2]=a;break e}default:{}}while(0)if((u|0)>0)u=u+-1|0;else break}return}if(!u)return;N=Y+(r*5640|0)+424+(a*148|0)+128|0;F=Y+(r*5640|0)+424+(a*148|0)+88|0;j=Y+(r*5640|0)+424+(a*148|0)+72|0;U=e+(a*232|0)+56|0;H=Y+(r*5640|0)+424+(a*148|0)+132|0;k=Y+(r*5640|0)+424+(a*148|0)+92|0;w=Y+(r*5640|0)+424+(a*148|0)+76|0;m=e+(a*232|0)+48|0;_=e+(a*232|0)+60|0;p=Y+(r*5640|0)+424+(a*148|0)+124|0;v=Y+(r*5640|0)+424+(a*148|0)+84|0;g=Y+(r*5640|0)+424+(a*148|0)+68|0;y=e+(a*232|0)+64|0;E=e+(a*232|0)+52|0;A=Y+(r*5640|0)+424+(a*148|0)+136|0;S=Y+(r*5640|0)+424+(a*148|0)+96|0;T=Y+(r*5640|0)+424+(a*148|0)+80|0;M=e+(a*232|0)+68|0;C=e+(a*232|0)+72|0;P=Y+(r*5640|0)+424+(a*148|0)+140|0;x=Y+(r*5640|0)+424+(a*148|0)+104|0;D=e+(a*232|0)+96|0;R=Y+(r*5640|0)+424+(a*148|0)+116|0;s=e+(a*232|0)+100|0;O=Y+(r*5640|0)+424+(a*148|0)+144|0;L=Y+(r*5640|0)+424+(a*148|0)+112|0;I=e+(a*232|0)+104|0;B=Y+(r*5640|0)+424+(a*148|0)+120|0;h=e+(a*232|0)+108|0;b=Y+(r*5640|0)+424+(a*148|0)+100|0;d=Y+(r*5640|0)+424+(a*148|0)+108|0;c=l;u=1;while(1){o=z+c|0;e:do switch(t[o>>0]|0){case 67:{l=f[H>>2]|0;f[m>>2]=l+-1;f[_>>2]=l;break}case 82:{l=f[N>>2]|0;f[X>>2]=l+-1;f[U>>2]=l;break}case 76:{l=f[p>>2]|0;f[y>>2]=l+-1;f[E>>2]=l;break}case 80:if((f[q>>2]|0)>>>0<2){l=f[A>>2]|0;f[M>>2]=l+-1;f[C>>2]=l;break e}else{l=f[P>>2]|0;Y=f[R>>2]|0;f[D>>2]=l-Y-((l>>>0)%(Y>>>0)|0);f[s>>2]=l;l=f[O>>2]|0;Y=f[B>>2]|0;f[I>>2]=l-Y-((l>>>0)%(Y>>>0)|0);f[h>>2]=l;break e}default:{}}while(0)e:do if((u|0)==1)switch(t[o>>0]|0){case 82:{u=f[N>>2]|0;if((u|0)!=(f[F>>2]|0)){f[X>>2]=u;u=u+1|0;f[U>>2]=u;f[N>>2]=u;u=0;break e}if(!(Pr(c+-1|0,i,r,a,z)|0)){u=0;break e}u=f[j>>2]|0;f[X>>2]=u;u=u+1|0;f[U>>2]=u;f[N>>2]=u;u=1;break e}case 67:{u=f[H>>2]|0;if((u|0)!=(f[k>>2]|0)){f[m>>2]=u;u=u+1|0;f[_>>2]=u;f[H>>2]=u;u=0;break e}if(!(Pr(c+-1|0,i,r,a,z)|0)){u=0;break e}u=f[w>>2]|0;f[m>>2]=u;u=u+1|0;f[_>>2]=u;f[H>>2]=u;u=1;break e}case 76:{u=f[p>>2]|0;if((u|0)!=(f[v>>2]|0)){f[y>>2]=u;u=u+1|0;f[E>>2]=u;f[p>>2]=u;u=0;break e}if(!(Pr(c+-1|0,i,r,a,z)|0)){u=0;break e}u=f[g>>2]|0;f[y>>2]=u;u=u+1|0;f[E>>2]=u;f[p>>2]=u;u=1;break e}case 80:{if((f[q>>2]|0)>>>0<2){u=f[A>>2]|0;if((u|0)!=(f[S>>2]|0)){f[M>>2]=u;u=u+1|0;f[C>>2]=u;f[A>>2]=u;u=0;break e}if(!(Pr(c+-1|0,i,r,a,z)|0)){u=0;break e}u=f[T>>2]|0;f[M>>2]=u;u=u+1|0;f[C>>2]=u;f[A>>2]=u;u=1;break e}u=f[P>>2]|0;if(u>>>0<(f[x>>2]|0)>>>0){f[D>>2]=u;l=f[R>>2]|0;u=l+u-((u>>>0)%(l>>>0)|0)|0;f[s>>2]=u;f[P>>2]=u;u=0;break e}o=f[O>>2]|0;if(o>>>0<(f[L>>2]|0)>>>0){f[I>>2]=o;l=f[B>>2]|0;u=0;o=l+o-((o>>>0)%(l>>>0)|0)|0}else{if(!(Pr(c+-1|0,i,r,a,z)|0)){u=0;break e}l=f[d>>2]|0;f[O>>2]=l;f[I>>2]=l;o=f[B>>2]|0;u=1;o=o+l-((l>>>0)%(o>>>0)|0)|0}f[h>>2]=o;f[O>>2]=o;Y=f[b>>2]|0;f[D>>2]=Y;l=f[R>>2]|0;l=l+Y-((Y>>>0)%(l>>>0)|0)|0;f[s>>2]=l;f[P>>2]=l;break e}default:{u=1;break e}}while(0)if((c|0)>0)c=c+-1|0;else break}return}while(0)f[X>>2]=f[Y+(r*5640|0)+424+(a*148|0)+72>>2];f[e+(a*232|0)+56>>2]=f[Y+(r*5640|0)+424+(a*148|0)+88>>2];f[e+(a*232|0)+48>>2]=f[Y+(r*5640|0)+424+(a*148|0)+76>>2];f[e+(a*232|0)+60>>2]=f[Y+(r*5640|0)+424+(a*148|0)+92>>2];f[e+(a*232|0)+64>>2]=f[Y+(r*5640|0)+424+(a*148|0)+68>>2];f[e+(a*232|0)+52>>2]=f[Y+(r*5640|0)+424+(a*148|0)+84>>2];f[e+(a*232|0)+68>>2]=f[Y+(r*5640|0)+424+(a*148|0)+80>>2];f[e+(a*232|0)+72>>2]=f[Y+(r*5640|0)+424+(a*148|0)+96>>2];f[e+(a*232|0)+96>>2]=f[Y+(r*5640|0)+424+(a*148|0)+100>>2];f[e+(a*232|0)+104>>2]=f[Y+(r*5640|0)+424+(a*148|0)+108>>2];f[e+(a*232|0)+100>>2]=f[Y+(r*5640|0)+424+(a*148|0)+104>>2];f[e+(a*232|0)+108>>2]=f[Y+(r*5640|0)+424+(a*148|0)+112>>2];return}function Ar(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0;L=f[i+76>>2]|0;B=f[i+24>>2]|0;j=(r>>>0)%(B>>>0)|0;B=(r>>>0)/(B>>>0)|0;N=f[i+4>>2]|0;O=f[i+12>>2]|0;R=(ie(O,j)|0)+N|0;F=f[e>>2]|0;F=(R|0)>(F|0)?R:F;N=(ie(O,j+1|0)|0)+N|0;j=f[e+8>>2]|0;j=(N|0)<(j|0)?N:j;N=f[i+8>>2]|0;O=f[i+16>>2]|0;R=(ie(O,B)|0)+N|0;I=f[e+4>>2]|0;I=(R|0)>(I|0)?R:I;N=(ie(O,B+1|0)|0)+N|0;B=f[e+12>>2]|0;B=(N|0)<(B|0)?N:B;N=f[e+16>>2]|0;if(!N){c=0;u=2147483647;o=2147483647;l=0}else{C=B+-1|0;P=j+-1|0;x=I+-1|0;R=F+-1|0;c=0;u=2147483647;o=2147483647;l=0;O=0;T=f[e+24>>2]|0;M=f[L+(r*5640|0)+5584>>2]|0;while(1){E=f[T>>2]|0;A=f[T+4>>2]|0;S=f[M+4>>2]|0;l=S>>>0>l>>>0?S:l;if(S){
38
+ g=(C+A|0)/(A|0)|0;p=(P+E|0)/(E|0)|0;m=(x+A|0)/(A|0)|0;k=(R+E|0)/(E|0)|0;k=Il(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;w=D;m=Il(m|0,((m|0)<0)<<31>>31|0,-1,-1)|0;_=D;p=Il(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;v=D;g=Il(g|0,((g|0)<0)<<31>>31|0,-1,-1)|0;y=D;i=0;b=0;while(1){d=f[M+812+(b<<2)>>2]|0;h=f[M+944+(b<<2)>>2]|0;a=i+-1+S|0;s=E<<a+d;U=A<<h+a;u=u>>>0<s>>>0?u:s;o=o>>>0<U>>>0?o:U;U=Ll(1,0,a|0)|0;s=D;i=Il(k|0,w|0,U|0,s|0)|0;i=Rl(i|0,D|0,a|0)|0;n=Il(m|0,_|0,U|0,s|0)|0;n=Rl(n|0,D|0,a|0)|0;e=Il(p|0,v|0,U|0,s|0)|0;e=Rl(e|0,D|0,a|0)|0;s=Il(g|0,y|0,U|0,s|0)|0;a=Rl(s|0,D|0,a|0)|0;s=Ll(1,0,h|0)|0;s=Il(s|0,D|0,-1,-1)|0;s=Il(s|0,D|0,a|0,((a|0)<0)<<31>>31|0)|0;s=Rl(s|0,D|0,h|0)|0;if((i|0)==(e|0))i=0;else{U=Ll(1,0,d|0)|0;U=Il(U|0,D|0,-1,-1)|0;U=Il(U|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;U=Rl(U|0,D|0,d|0)|0;i=(U<<d)-(i>>d<<d)>>d}e=ie(i,(n|0)==(a|0)?0:(s<<h)-(n>>h<<h)>>h)|0;c=e>>>0>c>>>0?e:c;e=b+1|0;if(e>>>0<S>>>0){i=~b;b=e}else break}}O=O+1|0;if(O>>>0>=N>>>0)break;else{T=T+52|0;M=M+1080|0}}}if(t[L+(r*5640|0)+5636>>0]&4){Cr(L,r,F,j,I,B,c,u,o);return}n=(f[L+(r*5640|0)+420>>2]|0)+1|0;if(!n)return;a=f[L+(r*5640|0)+8>>2]|0;s=f[L+(r*5640|0)+4>>2]|0;i=L+(r*5640|0)+424|0;e=0;while(1){f[i+76>>2]=0;f[i+92>>2]=N;f[i+72>>2]=0;f[i+88>>2]=l;f[i+68>>2]=0;f[i+84>>2]=a;f[i+36>>2]=s;f[i+80>>2]=0;f[i+96>>2]=c;f[i+100>>2]=F;f[i+104>>2]=j;f[i+108>>2]=I;f[i+112>>2]=B;f[i+116>>2]=u;f[i+120>>2]=o;e=e+1|0;if((e|0)==(n|0))break;else i=i+148|0}return}function Sr(e){e=e|0;var i=0,r=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0,W=0,J=0,Q=0,Z=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0,de=0,he=0,be=0,ke=0,we=0,me=0,_e=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Se=0,Te=0,Me=0,Ce=0,Pe=0,xe=0,De=0,Re=0,Oe=0,Le=0,Ie=0,Be=0,Ne=0,Fe=0,je=0,Ue=0,He=0,Ye=0,qe=0,ze=0,Xe=0,Ge=0,Ve=0,Ke=0,We=0,Je=0,Qe=0,Ze=0,$e=0,ei=0,ii=0,ri=0,ti=0,ni=0,fi=0,ai=0,si=0,li=0,oi=0,ui=0,ci=0,di=0,hi=0;switch(f[e+80>>2]|0){case 0:{i=e+40|0;if(!(f[i>>2]|0)){x=e+32|0;c=x;x=f[x>>2]|0;r=18}else{f[i>>2]=0;p=f[e+64>>2]|0;f[e+36>>2]=p;r=5}while(1){if((r|0)==5){if(p>>>0>=(f[e+52>>2]|0)>>>0){hi=0;r=153;break}S=f[e+44>>2]|0;f[e+28>>2]=S;r=7}else if((r|0)==18){o=x+1|0;f[c>>2]=o;s=c;r=14}while(1){if((r|0)==7){r=0;if(S>>>0>=(f[e+56>>2]|0)>>>0){r=21;break}T=f[e+48>>2]|0;k=e+24|0;f[k>>2]=T}else if((r|0)==14){if(o>>>0<(f[e+72>>2]|0)>>>0){r=16;break}D=e+24|0;h=D;D=f[D>>2]|0;r=19}while(1){if((r|0)==19){r=0;T=D+1|0;f[h>>2]=T;k=h}if(T>>>0>=(f[e+60>>2]|0)>>>0){r=20;break}M=f[e+196>>2]|0;C=f[e+28>>2]|0;if(C>>>0<(f[M+(T<<4)+8>>2]|0)>>>0)break;else{h=k;D=T;r=19}}if((r|0)==20){r=e+28|0;S=(f[r>>2]|0)+1|0;f[r>>2]=S;r=7;continue}i=f[M+(T<<4)+12>>2]|0;if(!(t[e>>0]|0))f[e+72>>2]=ie(f[i+(C<<4)+12>>2]|0,f[i+(C<<4)+8>>2]|0)|0;o=f[e+68>>2]|0;s=e+32|0;f[s>>2]=o;r=14}if((r|0)==16){r=0;P=ie(f[e+8>>2]|0,f[e+36>>2]|0)|0;P=(ie(f[e+12>>2]|0,f[e+28>>2]|0)|0)+P|0;P=P+(ie(f[e+16>>2]|0,f[e+24>>2]|0)|0)|0;P=P+(ie(f[e+20>>2]|0,o)|0)|0;P=(f[e+4>>2]|0)+(P<<1)|0;if(!(n[P>>1]|0))break;else{c=s;x=o;r=18;continue}}else if((r|0)==21){r=e+36|0;p=(f[r>>2]|0)+1|0;f[r>>2]=p;r=5;continue}}if((r|0)==153)return hi|0;n[P>>1]=1;e=1;return e|0}case 1:{i=e+40|0;if(!(f[i>>2]|0)){E=e+32|0;u=E;E=f[E>>2]|0;r=38}else{f[i>>2]=0;R=f[e+44>>2]|0;f[e+28>>2]=R;r=25}while(1){if((r|0)==25){if(R>>>0>=(f[e+56>>2]|0)>>>0){hi=0;r=153;break}m=f[e+64>>2]|0;f[e+36>>2]=m;r=27}else if((r|0)==38){l=E+1|0;f[u>>2]=l;a=u;r=34}while(1){if((r|0)==27){r=0;if(m>>>0>=(f[e+52>>2]|0)>>>0){r=41;break}_=f[e+48>>2]|0;b=e+24|0;f[b>>2]=_}else if((r|0)==34){if(l>>>0<(f[e+72>>2]|0)>>>0){r=36;break}A=e+24|0;d=A;A=f[A>>2]|0;r=39}while(1){if((r|0)==39){r=0;_=A+1|0;f[d>>2]=_;b=d}if(_>>>0>=(f[e+60>>2]|0)>>>0){r=40;break}v=f[e+196>>2]|0;g=f[e+28>>2]|0;if(g>>>0<(f[v+(_<<4)+8>>2]|0)>>>0)break;else{d=b;A=_;r=39}}if((r|0)==40){r=e+36|0;m=(f[r>>2]|0)+1|0;f[r>>2]=m;r=27;continue}i=f[v+(_<<4)+12>>2]|0;if(!(t[e>>0]|0))f[e+72>>2]=ie(f[i+(g<<4)+12>>2]|0,f[i+(g<<4)+8>>2]|0)|0;l=f[e+68>>2]|0;a=e+32|0;f[a>>2]=l;r=34}if((r|0)==36){r=0;y=ie(f[e+8>>2]|0,f[e+36>>2]|0)|0;y=(ie(f[e+12>>2]|0,f[e+28>>2]|0)|0)+y|0;y=y+(ie(f[e+16>>2]|0,f[e+24>>2]|0)|0)|0;y=y+(ie(f[e+20>>2]|0,l)|0)|0;y=(f[e+4>>2]|0)+(y<<1)|0;if(!(n[y>>1]|0))break;else{u=a;E=l;r=38;continue}}else if((r|0)==41){r=e+28|0;R=(f[r>>2]|0)+1|0;f[r>>2]=R;r=25;continue}}if((r|0)==153)return hi|0;n[y>>1]=1;e=1;return e|0}case 2:{i=e+40|0;if(!(f[i>>2]|0)){ci=e+36|0;Xe=ci;ci=f[ci>>2]|0;r=75}else{f[i>>2]=0;b=e+224|0;f[b>>2]=0;k=e+228|0;f[k>>2]=0;w=f[e+192>>2]|0;if(w){m=f[e+196>>2]|0;i=0;r=0;_=0;do{o=f[m+(_<<4)+8>>2]|0;if(o){u=f[m+(_<<4)+12>>2]|0;c=f[m+(_<<4)>>2]|0;d=f[m+(_<<4)+4>>2]|0;h=o+-1|0;a=0;l=0;while(1){s=h+a|0;ze=c<<s+(f[u+(l<<4)>>2]|0);s=d<<(f[u+(l<<4)+4>>2]|0)+s;i=(i|0)==0?ze:i>>>0<ze>>>0?i:ze;r=(r|0)==0?s:r>>>0<s>>>0?r:s;s=l+1|0;if((s|0)==(o|0))break;else{a=~l;l=s}}f[b>>2]=i;f[k>>2]=r}_=_+1|0}while((_|0)!=(w|0))}if(!(t[e>>0]|0)){f[e+104>>2]=f[e+204>>2];f[e+96>>2]=f[e+200>>2];f[e+108>>2]=f[e+212>>2];f[e+100>>2]=f[e+208>>2]}I=f[e+44>>2]|0;f[e+28>>2]=I;r=54}while(1){if((r|0)==54){if(I>>>0>=(f[e+56>>2]|0)>>>0){hi=0;r=153;break}We=f[e+104>>2]|0;f[e+220>>2]=We;r=56}else if((r|0)==75){oi=ci+1|0;f[Xe>>2]=oi;Ge=Xe;r=71}while(1){if((r|0)==56){if((We|0)>=(f[e+108>>2]|0)){r=79;break}Je=f[e+96>>2]|0;f[e+216>>2]=Je;r=58}else if((r|0)==71){if(oi>>>0<(f[e+52>>2]|0)>>>0){r=73;break}di=e+24|0;Ve=di;di=f[di>>2]|0;r=76}while(1){if((r|0)==58){if((Je|0)>=(f[e+100>>2]|0)){r=78;break}Qe=f[e+48>>2]|0;Ke=e+24|0;f[Ke>>2]=Qe}else if((r|0)==76){Qe=di+1|0;f[Ve>>2]=Qe;Ke=Ve}if(Qe>>>0>=(f[e+60>>2]|0)>>>0){Je=f[e+224>>2]|0;r=e+216|0;ze=f[r>>2]|0;Je=ze+Je-((ze|0)%(Je|0)|0)|0;f[r>>2]=Je;r=58;continue}r=f[e+196>>2]|0;d=f[e+28>>2]|0;i=f[r+(Qe<<4)+8>>2]|0;if(d>>>0>=i>>>0){Ve=Ke;di=Qe;r=76;continue}h=f[r+(Qe<<4)+12>>2]|0;l=i+~d|0;o=f[e+200>>2]|0;u=f[r+(Qe<<4)>>2]|0;Ze=u<<l;$e=(o+-1+Ze|0)/(Ze|0)|0;c=f[e+204>>2]|0;ze=f[r+(Qe<<4)+4>>2]|0;ei=ze<<l;ii=(c+-1+ei|0)/(ei|0)|0;ri=Ze+-1|0;i=(ri+(f[e+208>>2]|0)|0)/(Ze|0)|0;ti=ei+-1|0;r=(ti+(f[e+212>>2]|0)|0)/(ei|0)|0;ni=f[h+(d<<4)>>2]|0;a=ni+l|0;fi=f[h+(d<<4)+4>>2]|0;s=fi+l|0;ai=f[e+220>>2]|0;if((ai|0)%(ze<<s|0)|0){if((ai|0)!=(c|0)){Ve=Ke;di=Qe;r=76;continue}if(!((ii<<l|0)%(1<<s|0)|0)){Ve=Ke;di=Qe;r=76;continue}}si=f[e+216>>2]|0;if((si|0)%(u<<a|0)|0){if((si|0)!=(o|0)){Ve=Ke;di=Qe;r=76;continue}if(!(($e<<l|0)%(1<<a|0)|0)){Ve=Ke;di=Qe;r=76;continue}}li=f[h+(d<<4)+8>>2]|0;if(!li){Ve=Ke;di=Qe;r=76;continue}if((ii|0)==(r|0)|(($e|0)==(i|0)?1:(f[h+(d<<4)+12>>2]|0)==0)){Ve=Ke;di=Qe;r=76}else{r=70;break}}if((r|0)==70){f[e+32>>2]=(((ri+si|0)/(Ze|0)|0)>>ni)-($e>>ni)+(ie((((ti+ai|0)/(ei|0)|0)>>fi)-(ii>>fi)|0,li)|0);oi=f[e+64>>2]|0;Ge=e+36|0;f[Ge>>2]=oi;r=71;continue}else if((r|0)==78){We=f[e+228>>2]|0;r=e+220|0;ze=f[r>>2]|0;We=ze+We-((ze|0)%(We|0)|0)|0;f[r>>2]=We;r=56;continue}}if((r|0)==73){r=0;ui=ie(f[e+8>>2]|0,oi)|0;ui=(ie(f[e+12>>2]|0,f[e+28>>2]|0)|0)+ui|0;ui=ui+(ie(f[e+16>>2]|0,f[e+24>>2]|0)|0)|0;ui=ui+(ie(f[e+20>>2]|0,f[e+32>>2]|0)|0)|0;ui=(f[e+4>>2]|0)+(ui<<1)|0;if(!(n[ui>>1]|0))break;else{Xe=Ge;ci=oi;r=75;continue}}else if((r|0)==79){r=e+28|0;I=(f[r>>2]|0)+1|0;f[r>>2]=I;r=54;continue}}if((r|0)==153)return hi|0;n[ui>>1]=1;e=1;return e|0}case 3:{r=e+40|0;if(!(f[r>>2]|0)){qe=f[e+24>>2]|0;Be=e+36|0;ke=Be;Be=f[Be>>2]|0;je=qe;qe=(f[e+196>>2]|0)+(qe<<4)|0;r=113}else{f[r>>2]=0;b=e+224|0;f[b>>2]=0;k=e+228|0;f[k>>2]=0;w=f[e+192>>2]|0;if(w){m=f[e+196>>2]|0;i=0;r=0;_=0;do{o=f[m+(_<<4)+8>>2]|0;if(o){u=f[m+(_<<4)+12>>2]|0;c=f[m+(_<<4)>>2]|0;d=f[m+(_<<4)+4>>2]|0;h=o+-1|0;a=0;l=0;while(1){s=h+a|0;di=c<<s+(f[u+(l<<4)>>2]|0);s=d<<(f[u+(l<<4)+4>>2]|0)+s;i=(i|0)==0?di:i>>>0<di>>>0?i:di;r=(r|0)==0?s:r>>>0<s>>>0?r:s;s=l+1|0;if((s|0)==(o|0))break;else{a=~l;l=s}}f[b>>2]=i;f[k>>2]=r}_=_+1|0}while((_|0)!=(w|0))}if(!(t[e>>0]|0)){i=f[e+204>>2]|0;f[e+104>>2]=i;f[e+96>>2]=f[e+200>>2];f[e+108>>2]=f[e+212>>2];f[e+100>>2]=f[e+208>>2]}else i=f[e+104>>2]|0;f[e+220>>2]=i;r=93}while(1){if((r|0)==93){if((i|0)>=(f[e+108>>2]|0)){hi=0;r=153;break}pe=f[e+96>>2]|0;f[e+216>>2]=pe;r=95}else if((r|0)==113){Oe=Be+1|0;f[ke>>2]=Oe;we=ke;Le=je;Ye=qe;r=109}while(1){if((r|0)==95){if((pe|0)>=(f[e+100>>2]|0)){r=117;break}ve=f[e+48>>2]|0;f[e+24>>2]=ve;r=97}else if((r|0)==109){if(Oe>>>0<(f[e+52>>2]|0)>>>0){r=111;break}Ne=e+28|0;me=Ne;Ne=f[Ne>>2]|0;Ue=Le;ze=Ye;r=114}while(1){if((r|0)==97){if(ve>>>0>=(f[e+60>>2]|0)>>>0){r=116;break}He=(f[e+196>>2]|0)+(ve<<4)|0;ge=f[e+44>>2]|0;_e=e+28|0;f[_e>>2]=ge;Fe=ve}else if((r|0)==114){ge=Ne+1|0;f[me>>2]=ge;_e=me;Fe=Ue;He=ze}di=f[e+56>>2]|0;r=f[He+8>>2]|0;if(ge>>>0>=(di>>>0<r>>>0?di:r)>>>0){ve=Fe+1|0;f[e+24>>2]=ve;r=97;continue}h=f[He+12>>2]|0;r=r+~ge|0;a=f[e+200>>2]|0;s=f[He>>2]|0;ye=s<<r;Ee=(a+-1+ye|0)/(ye|0)|0;l=f[e+204>>2]|0;di=f[He+4>>2]|0;Ae=di<<r;Se=(l+-1+Ae|0)/(Ae|0)|0;Te=ye+-1|0;o=(Te+(f[e+208>>2]|0)|0)/(ye|0)|0;Me=Ae+-1|0;u=(Me+(f[e+212>>2]|0)|0)/(Ae|0)|0;Ce=f[h+(ge<<4)>>2]|0;c=Ce+r|0;Pe=f[h+(ge<<4)+4>>2]|0;d=Pe+r|0;xe=f[e+220>>2]|0;if((xe|0)%(di<<d|0)|0){if((xe|0)!=(l|0)){me=_e;Ne=ge;Ue=Fe;ze=He;r=114;continue}if(!((Se<<r|0)%(1<<d|0)|0)){me=_e;Ne=ge;Ue=Fe;ze=He;r=114;continue}}De=f[e+216>>2]|0;if((De|0)%(s<<c|0)|0){if((De|0)!=(a|0)){me=_e;Ne=ge;Ue=Fe;ze=He;r=114;continue}if(!((Ee<<r|0)%(1<<c|0)|0)){me=_e;Ne=ge;Ue=Fe;ze=He;r=114;continue}}Re=f[h+(ge<<4)+8>>2]|0;if(!Re){me=_e;Ne=ge;Ue=Fe;ze=He;r=114;continue}if((Se|0)==(u|0)|((Ee|0)==(o|0)?1:(f[h+(ge<<4)+12>>2]|0)==0)){me=_e;Ne=ge;Ue=Fe;ze=He;r=114}else{r=108;break}}if((r|0)==108){f[e+32>>2]=(((Te+De|0)/(ye|0)|0)>>Ce)-(Ee>>Ce)+(ie((((Me+xe|0)/(Ae|0)|0)>>Pe)-(Se>>Pe)|0,Re)|0);Oe=f[e+64>>2]|0;we=e+36|0;f[we>>2]=Oe;Le=Fe;Ye=He;r=109;continue}else if((r|0)==116){pe=f[e+224>>2]|0;r=e+216|0;di=f[r>>2]|0;pe=di+pe-((di|0)%(pe|0)|0)|0;f[r>>2]=pe;r=95;continue}}if((r|0)==111){r=0;Ie=ie(f[e+8>>2]|0,Oe)|0;Ie=(ie(f[e+12>>2]|0,f[e+28>>2]|0)|0)+Ie|0;Ie=Ie+(ie(f[e+16>>2]|0,Le)|0)|0;Ie=Ie+(ie(f[e+20>>2]|0,f[e+32>>2]|0)|0)|0;Ie=(f[e+4>>2]|0)+(Ie<<1)|0;if(!(n[Ie>>1]|0))break;else{ke=we;Be=Oe;je=Le;qe=Ye;r=113;continue}}else if((r|0)==117){i=f[e+228>>2]|0;r=e+220|0;di=f[r>>2]|0;i=di+i-((di|0)%(i|0)|0)|0;f[r>>2]=i;r=93;continue}}if((r|0)==153)return hi|0;n[Ie>>1]=1;e=1;return e|0}case 4:{i=e+40|0;if(!(f[i>>2]|0)){he=f[e+24>>2]|0;ne=e+36|0;B=ne;ne=f[ne>>2]|0;ae=he;he=(f[e+196>>2]|0)+(he<<4)|0;r=148}else{f[i>>2]=0;U=f[e+48>>2]|0;f[e+24>>2]=U;r=121}while(1){if((r|0)==121){if(U>>>0>=(f[e+60>>2]|0)>>>0){hi=0;r=153;break}i=f[e+196>>2]|0;w=i+(U<<4)|0;b=e+224|0;f[b>>2]=0;k=e+228|0;f[k>>2]=0;c=f[i+(U<<4)+8>>2]|0;if(c){d=f[i+(U<<4)+12>>2]|0;h=f[w>>2]|0;s=f[i+(U<<4)+4>>2]|0;l=c+-1|0;r=0;i=0;a=0;u=0;while(1){o=l+a|0;di=h<<o+(f[d+(u<<4)>>2]|0);o=s<<(f[d+(u<<4)+4>>2]|0)+o;r=(r|0)==0?di:r>>>0<di>>>0?r:di;i=(i|0)==0?o:i>>>0<o>>>0?i:o;o=u+1|0;if((o|0)==(c|0))break;else{a=~u;u=o}}f[b>>2]=r;f[k>>2]=i}if(!(t[e>>0]|0)){i=f[e+204>>2]|0;f[e+104>>2]=i;f[e+96>>2]=f[e+200>>2];f[e+108>>2]=f[e+212>>2];f[e+100>>2]=f[e+208>>2]}else i=f[e+104>>2]|0;f[e+220>>2]=i;O=i;L=U;r=130}else if((r|0)==148){ee=ne+1|0;f[B>>2]=ee;N=B;re=ae;de=he;r=144}while(1){if((r|0)==130){if((O|0)>=(f[e+108>>2]|0)){r=152;break}H=f[e+96>>2]|0;f[e+216>>2]=H;se=L;ue=w;r=132}else if((r|0)==144){if(ee>>>0<(f[e+52>>2]|0)>>>0){r=146;break}fe=e+28|0;F=fe;fe=f[fe>>2]|0;oe=re;be=de;r=149}while(1){if((r|0)==132){if((H|0)>=(f[e+100>>2]|0)){r=151;break}Y=f[e+44>>2]|0;j=e+28|0;f[j>>2]=Y;le=se;ce=ue}else if((r|0)==149){Y=fe+1|0;f[F>>2]=Y;j=F;le=oe;ce=be}di=f[e+56>>2]|0;i=f[ce+8>>2]|0;if(Y>>>0>=(di>>>0<i>>>0?di:i)>>>0){H=f[e+224>>2]|0;se=e+216|0;ue=f[se>>2]|0;H=ue+H-((ue|0)%(H|0)|0)|0;f[se>>2]=H;se=le;ue=ce;r=132;continue}d=f[ce+12>>2]|0;i=i+~Y|0;r=f[e+200>>2]|0;a=f[ce>>2]|0;q=a<<i;z=(r+-1+q|0)/(q|0)|0;s=f[e+204>>2]|0;di=f[ce+4>>2]|0;X=di<<i;G=(s+-1+X|0)/(X|0)|0;V=q+-1|0;l=(V+(f[e+208>>2]|0)|0)/(q|0)|0;K=X+-1|0;o=(K+(f[e+212>>2]|0)|0)/(X|0)|0;W=f[d+(Y<<4)>>2]|0;u=W+i|0;J=f[d+(Y<<4)+4>>2]|0;c=J+i|0;Q=f[e+220>>2]|0;if((Q|0)%(di<<c|0)|0){if((Q|0)!=(s|0)){F=j;fe=Y;oe=le;be=ce;r=149;continue}if(!((G<<i|0)%(1<<c|0)|0)){F=j;fe=Y;oe=le;be=ce;r=149;continue}}Z=f[e+216>>2]|0;if((Z|0)%(a<<u|0)|0){if((Z|0)!=(r|0)){F=j;fe=Y;oe=le;be=ce;r=149;continue}if(!((z<<i|0)%(1<<u|0)|0)){F=j;fe=Y;oe=le;be=ce;r=149;continue}}$=f[d+(Y<<4)+8>>2]|0;if(!$){F=j;fe=Y;oe=le;be=ce;r=149;continue}if((G|0)==(o|0)|((z|0)==(l|0)?1:(f[d+(Y<<4)+12>>2]|0)==0)){F=j;fe=Y;oe=le;be=ce;r=149}else{r=143;break}}if((r|0)==143){f[e+32>>2]=(((V+Z|0)/(q|0)|0)>>W)-(z>>W)+(ie((((K+Q|0)/(X|0)|0)>>J)-(G>>J)|0,$)|0);ee=f[e+64>>2]|0;N=e+36|0;f[N>>2]=ee;re=le;de=ce;r=144;continue}else if((r|0)==151){O=f[e+228>>2]|0;L=e+220|0;w=f[L>>2]|0;O=w+O-((w|0)%(O|0)|0)|0;f[L>>2]=O;L=se;w=ue;r=130;continue}}if((r|0)==146){r=0;te=ie(f[e+8>>2]|0,ee)|0;te=(ie(f[e+12>>2]|0,f[e+28>>2]|0)|0)+te|0;te=te+(ie(f[e+16>>2]|0,re)|0)|0;te=te+(ie(f[e+20>>2]|0,f[e+32>>2]|0)|0)|0;te=(f[e+4>>2]|0)+(te<<1)|0;if(!(n[te>>1]|0))break;else{B=N;ne=ee;ae=re;he=de;r=148;continue}}else if((r|0)==152){U=L+1|0;f[e+24>>2]=U;r=121;continue}}if((r|0)==153)return hi|0;n[te>>1]=1;e=1;return e|0}default:{e=0;return e|0}}return 0}function Tr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0;c=(f[i+(r*5640|0)+420>>2]|0)+1|0;t=Fn(c,232)|0;if(!t){c=0;return c|0}if(!c){c=t;return c|0}o=e+16|0;a=i+(r*5640|0)+5584|0;e=f[o>>2]|0;s=t;l=0;e:while(1){i=Fn(e,16)|0;n=s+196|0;f[n>>2]=i;if(!i){e=5;break}u=f[o>>2]|0;f[s+192>>2]=u;i:do if(!u)e=0;else{e=(f[a>>2]|0)+4|0;u=Fn(f[e>>2]|0,16)|0;f[i+12>>2]=u;if(!u){e=18;break e}else r=0;while(1){f[i+(r<<4)+8>>2]=f[e>>2];r=r+1|0;e=f[o>>2]|0;if(r>>>0>=e>>>0)break i;i=f[n>>2]|0;e=(f[a>>2]|0)+(r*1080|0)+4|0;u=Fn(f[e>>2]|0,16)|0;f[i+(r<<4)+12>>2]=u;if(!u){e=18;break e}}}while(0)l=l+1|0;if(l>>>0>=c>>>0){e=32;break}else s=s+232|0}if((e|0)==5){e=t+4|0;i=f[e>>2]|0;if(!i){o=t;u=0}else{Yn(i);f[e>>2]=0;o=t;u=0}while(1){l=o+196|0;e=f[l>>2]|0;if(e){s=o+192|0;i=f[s>>2]|0;if(i){a=0;while(1){r=e+12|0;n=f[r>>2]|0;if(n){Yn(n);f[r>>2]=0;i=f[s>>2]|0}a=a+1|0;if(a>>>0>=i>>>0)break;else e=e+16|0}e=f[l>>2]|0}Yn(e);f[l>>2]=0}u=u+1|0;if((u|0)==(c|0))break;else o=o+232|0}Yn(t);c=0;return c|0}else if((e|0)==18){e=t+4|0;i=f[e>>2]|0;if(!i){o=t;u=0}else{Yn(i);f[e>>2]=0;o=t;u=0}while(1){l=o+196|0;e=f[l>>2]|0;if(e){s=o+192|0;i=f[s>>2]|0;if(i){a=0;while(1){r=e+12|0;n=f[r>>2]|0;if(n){Yn(n);f[r>>2]=0;i=f[s>>2]|0}a=a+1|0;if(a>>>0>=i>>>0)break;else e=e+16|0}e=f[l>>2]|0}Yn(e);f[l>>2]=0}u=u+1|0;if((u|0)==(c|0))break;else o=o+232|0}Yn(t);c=0;return c|0}else if((e|0)==32)return t|0;return 0}function Mr(e,i,r,t,n,a,s,l,o,u,c,d){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;d=d|0;var h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,R=0,O=0,L=0,I=0,B=0;b=f[(f[i+76>>2]|0)+(r*5640|0)+5584>>2]|0;h=f[e+24>>2]|0;L=f[i+24>>2]|0;O=i+12|0;R=(ie(f[O>>2]|0,(r>>>0)%(L>>>0)|0)|0)+(f[i+4>>2]|0)|0;x=f[e>>2]|0;f[t>>2]=R>>>0>x>>>0?R:x;R=Il(f[O>>2]|0,0,R|0,0)|0;R=R|0-D;O=f[e+8>>2]|0;f[n>>2]=R>>>0<O>>>0?R:O;O=i+16|0;L=(ie(f[O>>2]|0,(r>>>0)/(L>>>0)|0)|0)+(f[i+8>>2]|0)|0;R=f[e+4>>2]|0;f[a>>2]=L>>>0>R>>>0?L:R;L=Il(f[O>>2]|0,0,L|0,0)|0;L=L|0-D;O=f[e+12>>2]|0;f[s>>2]=L>>>0<O>>>0?L:O;f[u>>2]=0;f[c>>2]=0;f[l>>2]=2147483647;f[o>>2]=2147483647;O=e+16|0;if(!(f[O>>2]|0))return;else L=0;while(1){m=f[d+(L<<2)>>2]|0;k=f[h>>2]|0;e=((f[t>>2]|0)+-1+k|0)/(k|0)|0;x=h+4|0;w=f[x>>2]|0;r=((f[a>>2]|0)+-1+w|0)/(w|0)|0;k=(k+-1+(f[n>>2]|0)|0)/(k|0)|0;w=(w+-1+(f[s>>2]|0)|0)/(w|0)|0;R=b+4|0;i=f[R>>2]|0;if(i>>>0>(f[c>>2]|0)>>>0){f[c>>2]=i;i=f[R>>2]|0}if(i){C=Il(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;P=D;T=Il(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;M=D;A=Il(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;S=D;y=Il(w|0,((w|0)<0)<<31>>31|0,-1,-1)|0;E=D;g=0;while(1){i=i+-1|0;k=f[b+812+(g<<2)>>2]|0;v=f[b+944+(g<<2)>>2]|0;f[m>>2]=k;f[m+4>>2]=v;_=f[h>>2]<<k+i;I=f[x>>2]<<v+i;e=f[l>>2]|0;f[l>>2]=(e|0)<(_|0)?e:_;_=f[o>>2]|0;f[o>>2]=(_|0)<(I|0)?_:I;I=Ll(1,0,i|0)|0;_=D;e=Il(C|0,P|0,I|0,_|0)|0;e=Rl(e|0,D|0,i|0)|0;w=Il(T|0,M|0,I|0,_|0)|0;w=Rl(w|0,D|0,i|0)|0;r=Il(A|0,S|0,I|0,_|0)|0;r=Rl(r|0,D|0,i|0)|0;_=Il(y|0,E|0,I|0,_|0)|0;_=Rl(_|0,D|0,i|0)|0;I=Ll(1,0,v|0)|0;p=D;B=Il(_|0,((_|0)<0)<<31>>31|0,-1,-1)|0;p=Il(B|0,D|0,I|0,p|0)|0;p=Rl(p|0,D|0,v|0)|0;if((e|0)==(r|0))e=0;else{r=Il(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;I=D;B=Ll(1,0,k|0)|0;B=Il(r|0,I|0,B|0,D|0)|0;B=Rl(B|0,D|0,k|0)|0;e=(B<<k)-(e>>k<<k)>>k}B=(w|0)==(_|0)?0:(p<<v)-(w>>v<<v)>>v;f[m+8>>2]=e;f[m+12>>2]=B;e=ie(e,B)|0;if(e>>>0>(f[u>>2]|0)>>>0)f[u>>2]=e;g=g+1|0;if(g>>>0>=(f[R>>2]|0)>>>0)break;else m=m+16|0}}L=L+1|0;if(L>>>0>=(f[O>>2]|0)>>>0)break;else{h=h+52|0;b=b+1080|0}}return}function Cr(e,i,r,t,n,a,s,l,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var u=0,c=0;u=(f[e+(i*5640|0)+420>>2]|0)+1|0;f[e+(i*5640|0)+500>>2]=f[e+(i*5640|0)+428>>2];f[e+(i*5640|0)+516>>2]=f[e+(i*5640|0)+440>>2];f[e+(i*5640|0)+496>>2]=f[e+(i*5640|0)+424>>2];f[e+(i*5640|0)+512>>2]=f[e+(i*5640|0)+436>>2];f[e+(i*5640|0)+508>>2]=f[e+(i*5640|0)+432>>2];f[e+(i*5640|0)+492>>2]=0;f[e+(i*5640|0)+460>>2]=f[e+(i*5640|0)+456>>2];f[e+(i*5640|0)+504>>2]=0;f[e+(i*5640|0)+520>>2]=s;f[e+(i*5640|0)+524>>2]=r;f[e+(i*5640|0)+528>>2]=t;f[e+(i*5640|0)+532>>2]=n;f[e+(i*5640|0)+536>>2]=a;f[e+(i*5640|0)+540>>2]=l;f[e+(i*5640|0)+544>>2]=o;if(u>>>0<=1)return;e=e+(i*5640|0)+572|0;i=1;while(1){f[e+76>>2]=f[e+4>>2];f[e+92>>2]=f[e+16>>2];f[e+72>>2]=f[e>>2];f[e+88>>2]=f[e+12>>2];c=f[e+8>>2]|0;f[e+84>>2]=c;f[e+36>>2]=f[e+32>>2];f[e+80>>2]=0;f[e+68>>2]=c>>>0>(f[e+-64>>2]|0)>>>0?c:0;f[e+96>>2]=s;f[e+100>>2]=r;f[e+104>>2]=t;f[e+108>>2]=n;f[e+112>>2]=a;f[e+116>>2]=l;f[e+120>>2]=o;i=i+1|0;if((i|0)==(u|0))break;else e=e+148|0}return}function Pr(e,i,r,n,a){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var s=0,l=0,o=0;o=f[i+76>>2]|0;if((e|0)>-1)s=e;else{r=0;return r|0}e:while(1){switch(t[a+s>>0]|0){case 82:{l=3;break e}case 67:{l=5;break e}case 76:{l=7;break e}case 80:{l=9;break e}default:{}}s=s+-1|0}if((l|0)==3)if((f[o+(r*5640|0)+424+(n*148|0)+128>>2]|0)==(f[o+(r*5640|0)+424+(n*148|0)+88>>2]|0))return(Pr(e+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}else if((l|0)==5)if((f[o+(r*5640|0)+424+(n*148|0)+132>>2]|0)==(f[o+(r*5640|0)+424+(n*148|0)+92>>2]|0))return(Pr(e+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}else if((l|0)==7)if((f[o+(r*5640|0)+424+(n*148|0)+124>>2]|0)==(f[o+(r*5640|0)+424+(n*148|0)+84>>2]|0))return(Pr(e+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}else if((l|0)==9){if((f[o+(r*5640|0)+424+(n*148|0)+36>>2]|0)>>>0<2)if((f[o+(r*5640|0)+424+(n*148|0)+136>>2]|0)==(f[o+(r*5640|0)+424+(n*148|0)+96>>2]|0))return(Pr(s+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}if((f[o+(r*5640|0)+424+(n*148|0)+140>>2]|0)!=(f[o+(r*5640|0)+424+(n*148|0)+104>>2]|0)){r=1;return r|0}if((f[o+(r*5640|0)+424+(n*148|0)+144>>2]|0)==(f[o+(r*5640|0)+424+(n*148|0)+112>>2]|0))return(Pr(s+-1|0,i,r,n,a)|0)!=0|0;else{r=1;return r|0}}return 0}function xr(e){e=e|0;var i=0,r=0;i=Fn(1,44)|0;if(!i){e=0;return e|0}r=i+40|0;t[r>>0]=t[r>>0]&-2|(e|0)!=0;e=Fn(1,4)|0;f[i+20>>2]=e;if(e){r=i;return r|0}Yn(i);r=0;return r|0}function Dr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0;U=c;c=c+1200|0;j=U;t=f[f[e+20>>2]>>2]|0;F=t+16|0;n=f[F>>2]|0;if(!n){c=U;return}I=t+20|0;B=(f[e+32>>2]|0)+8|0;N=(f[e+28>>2]|0)+88|0;O=e+24|0;L=(i|0)==0;D=(r|0)==0;R=i+-1|0;t=n;x=0;do{l=f[I>>2]|0;o=f[B>>2]|0;C=f[l+(x*52|0)+16>>2]|0;if(o){if(C){e=f[N>>2]|0;a=+((f[(f[(f[O>>2]|0)+24>>2]|0)+(x*52|0)+24>>2]|0)>>>0)*.0625;n=0;do{r=ie(C,n)|0;s=0;do{P=(r+s|0)*3|0;f[j+(n*120|0)+(s*12|0)>>2]=~~(+(f[e+(P<<2)>>2]|0)*a);f[j+(n*120|0)+(s*12|0)+4>>2]=~~(+(f[e+(P+1<<2)>>2]|0)*a);f[j+(n*120|0)+(s*12|0)+8>>2]=~~(+(f[e+(P+2<<2)>>2]|0)*a);s=s+1|0}while(s>>>0<C>>>0)n=n+1|0}while(n>>>0<o>>>0)P=9}}else P=9;if((P|0)==9){P=0;if(C){y=l+(x*52|0)+24|0;M=0;do{E=f[y>>2]|0;A=E+(M*136|0)+24|0;t=f[A>>2]|0;if(t){S=E+(M*136|0)+16|0;T=E+(M*136|0)+20|0;e=f[T>>2]|0;r=f[S>>2]|0;g=0;do{if(ie(e,r)|0){_=E+(M*136|0)+28+(g*36|0)+20|0;p=j+(i*120|0)+(M*12|0)+(g<<2)|0;v=j+(R*120|0)+(M*12|0)+(g<<2)|0;m=0;do{t=f[_>>2]|0;w=ie(f[t+(m*40|0)+20>>2]|0,f[t+(m*40|0)+16>>2]|0)|0;if(w){d=t+(m*40|0)+24|0;h=f[p>>2]|0;k=0;do{o=f[d>>2]|0;u=o+(k*52|0)|0;b=f[o+(k*52|0)+4>>2]|0;t=(f[(f[(f[O>>2]|0)+24>>2]|0)+(x*52|0)+24>>2]|0)-(f[o+(k*52|0)+28>>2]|0)|0;if(!L){e=f[v>>2]|0;r=h-e|0;if((e|0)<=(t|0)){r=r+(e-t)|0;r=(r|0)<0?0:r}}else{f[o+(k*52|0)+44>>2]=0;r=(h|0)>(t|0)?h-t|0:0}l=o+(k*52|0)+44|0;n=f[l>>2]|0;s=(n|0)==0;if(s)if(!r)r=0;else r=(r*3|0)+-2|0;else r=(r*3|0)+n|0;f[b+(i*24|0)>>2]=r-n;do if((r|0)!=(n|0)){e=f[o+(k*52|0)+8>>2]|0;t=f[e+((r+-1|0)*24|0)>>2]|0;if(s)f[b+(i*24|0)+16>>2]=f[u>>2];else{o=f[e+((n+-1|0)*24|0)>>2]|0;f[b+(i*24|0)+16>>2]=(f[u>>2]|0)+o;t=t-o|0}f[b+(i*24|0)+4>>2]=t;if(D)break;f[l>>2]=r}while(0)k=k+1|0}while(k>>>0<w>>>0)e=f[T>>2]|0;r=f[S>>2]|0}m=m+1|0}while(m>>>0<(ie(e,r)|0)>>>0)t=f[A>>2]|0}g=g+1|0}while(g>>>0<t>>>0)}M=M+1|0}while(M>>>0<C>>>0)t=f[F>>2]|0}}x=x+1|0}while(x>>>0<t>>>0)c=U;return}function Rr(e,i,r,t){e=e|0;i=i|0;r=+r;t=t|0;var n=0,a=0,s=0,l=0,o=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0;e=f[f[e+20>>2]>>2]|0;R=e+40+(i<<3)|0;u[R>>3]=0;O=e+16|0;n=f[O>>2]|0;if(!n)return;x=e+20|0;D=(i|0)==0;P=(t|0)==0;e=n;C=0;do{n=f[x>>2]|0;M=f[n+(C*52|0)+16>>2]|0;if(M){g=n+(C*52|0)+24|0;T=0;do{y=f[g>>2]|0;E=y+(T*136|0)+24|0;e=f[E>>2]|0;if(e){A=y+(T*136|0)+16|0;S=y+(T*136|0)+20|0;n=f[S>>2]|0;t=f[A>>2]|0;v=0;do{if(ie(n,t)|0){p=y+(T*136|0)+28+(v*36|0)+20|0;_=0;do{e=f[p>>2]|0;m=ie(f[e+(_*40|0)+20>>2]|0,f[e+(_*40|0)+16>>2]|0)|0;if(m){h=e+(_*40|0)+24|0;w=0;do{o=f[h>>2]|0;c=o+(w*52|0)|0;b=f[o+(w*52|0)+4>>2]|0;k=o+(w*52|0)+44|0;if(D){f[k>>2]=0;d=0}else d=f[k>>2]|0;t=f[o+(w*52|0)+48>>2]|0;if(d>>>0<t>>>0){s=f[o+(w*52|0)+8>>2]|0;e=d;l=d;do{n=f[s+(l*24|0)>>2]|0;a=+u[s+(l*24|0)+8>>3];if(e){I=e+-1|0;a=a-+u[s+(I*24|0)+8>>3];n=n-(f[s+(I*24|0)>>2]|0)|0}do if(!n){if(!(a!=0))break;e=l+1|0}else{if(!(r-a/+(n>>>0)<2.220446049250313e-16))break;e=l+1|0}while(0)l=l+1|0}while(l>>>0<t>>>0)s=e;f[b+(i*24|0)>>2]=s-d;if((s|0)!=(d|0)){t=s+-1|0;n=f[o+(w*52|0)+8>>2]|0;e=f[n+(t*24|0)>>2]|0;if(!d){f[b+(i*24|0)+16>>2]=f[c>>2];a=+u[n+(t*24|0)+8>>3]}else{d=d+-1|0;I=f[n+(d*24|0)>>2]|0;f[b+(i*24|0)+16>>2]=(f[c>>2]|0)+I;a=+u[n+(t*24|0)+8>>3]-+u[n+(d*24|0)+8>>3];e=e-I|0}f[b+(i*24|0)+4>>2]=e;u[b+(i*24|0)+8>>3]=a;u[R>>3]=a+ +u[R>>3];if(!P)f[k>>2]=s}else L=26}else{f[b+(i*24|0)>>2]=0;L=26}if((L|0)==26){L=0;u[b+(i*24|0)+8>>3]=0}w=w+1|0}while(w>>>0<m>>>0)n=f[S>>2]|0;t=f[A>>2]|0}_=_+1|0}while(_>>>0<(ie(n,t)|0)>>>0)e=f[E>>2]|0}v=v+1|0}while(v>>>0<e>>>0)}T=T+1|0}while(T>>>0<M>>>0)e=f[O>>2]|0}C=C+1|0}while(C>>>0<e>>>0)return}function Or(e,i,r,a,s){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;var l=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,X=0,G=0,V=0,K=0,W=0;K=c;c=c+800|0;V=K;q=f[e+28>>2]|0;X=f[f[e+20>>2]>>2]|0;G=f[e+32>>2]|0;U=X+24|0;f[U>>2]=0;H=f[X+16>>2]|0;if(!H){l=0;I=0;h=0;k=1.7976931348623157e308}else{F=f[X+20>>2]|0;j=f[(f[e+24>>2]|0)+24>>2]|0;l=0;Y=0;b=0;h=0;k=1.7976931348623157e308;do{L=F+(Y*52|0)+48|0;f[L>>2]=0;B=f[F+(Y*52|0)+16>>2]|0;if(!B)d=0;else{N=f[F+(Y*52|0)+24>>2]|0;d=0;O=0;do{x=f[N+(O*136|0)+24>>2]|0;if(x){D=ie(f[N+(O*136|0)+20>>2]|0,f[N+(O*136|0)+16>>2]|0)|0;R=(D|0)==0;P=0;do{if(!R){C=f[N+(O*136|0)+28+(P*36|0)+20>>2]|0;M=0;do{S=ie(f[C+(M*40|0)+20>>2]|0,f[C+(M*40|0)+16>>2]|0)|0;if(S){T=f[C+(M*40|0)+24>>2]|0;A=0;do{g=f[T+(A*52|0)+48>>2]|0;if(g){y=f[T+(A*52|0)+8>>2]|0;v=0;do{p=f[y+(v*24|0)>>2]|0;w=+u[y+(v*24|0)+8>>3];if(v){W=v+-1|0;w=w-+u[y+(W*24|0)+8>>3];p=p-(f[y+(W*24|0)>>2]|0)|0}do if(p){w=w/+(p|0);k=w<k?w:k;if(!(w>b))break;b=w}while(0)v=v+1|0}while(v>>>0<g>>>0)}W=ie((f[T+(A*52|0)+24>>2]|0)-(f[T+(A*52|0)+16>>2]|0)|0,(f[T+(A*52|0)+20>>2]|0)-(f[T+(A*52|0)+12>>2]|0)|0)|0;l=W+l|0;d=W+d|0;A=A+1|0}while(A>>>0<S>>>0)f[U>>2]=l;f[L>>2]=d}M=M+1|0}while(M>>>0<D>>>0)}P=P+1|0}while(P>>>0<x>>>0)}O=O+1|0}while(O>>>0<B>>>0)}I=+(1<<f[j+(Y*52|0)+24>>2]|0)+-1;h=h+ +(d|0)*(I*I);Y=Y+1|0}while(Y>>>0<H>>>0)I=b}L=(s|0)!=0;if(L){Y=f[e+36>>2]|0;H=f[s+88>>2]|0;f[H+(Y*592|0)+552>>2]=l;u[H+(Y*592|0)+560>>3]=+u[X+32>>3];l=G+8|0;W=Nn(f[l>>2]<<3)|0;f[H+(Y*592|0)>>2]=W;if(!W){W=0;c=K;return W|0}}else l=G+8|0;if(!(f[l>>2]|0)){W=1;c=K;return W|0}S=X+32|0;T=q+93|0;M=e+36|0;C=s+88|0;P=X+40|0;x=e+24|0;D=e+8|0;R=e+16|0;O=0;while(1){b=+o[G+20+(O<<2)>>2];if(b!=0){y=~~+ee(+b)>>>0;y=y>>>0<a>>>0?y:a}else y=a;_=+o[G+5184+(O<<2)>>2];E=+u[S>>3]-h/+z(10,+(_/10));W=t[T>>0]|0;if(!((W&1)!=0&b>0)?!((W&4)!=0&_>0):0)b=k;else{A=Ka(f[x>>2]|0,q)|0;if(!A){l=0;d=57;break}g=O+1|0;d=V+(O+-1<<3)|0;p=X+40+(O<<3)|0;if(!O){m=I;d=0;_=k;w=0;do{b=(_+m)*.5;Rr(e,0,b,0);do if(t[T>>0]&4){if(((n[q>>1]|0)+-3&65535)>=4){W=+u[P>>3]<E;m=W?b:m;_=W?_:b;w=W?b:w;break}if(!(Ga(A,f[M>>2]|0,X,g,i,r,y,s,f[D>>2]|0,f[e>>2]|0,f[R>>2]|0,0)|0))_=b;else{W=+u[P>>3]<E;m=W?b:m;_=W?_:b;w=W?b:w}}else{W=(Ga(A,f[M>>2]|0,X,g,i,r,y,s,f[D>>2]|0,f[e>>2]|0,f[R>>2]|0,0)|0)==0;m=W?m:b;_=W?b:_;w=W?w:b}while(0)d=d+1|0}while((d|0)!=128)}else{m=I;v=0;_=k;w=0;do{b=(_+m)*.5;Rr(e,O,b,0);do if(t[T>>0]&4){if(((n[q>>1]|0)+-3&65535)>=4){W=+u[d>>3]+ +u[p>>3]<E;m=W?b:m;_=W?_:b;w=W?b:w;break}if(!(Ga(A,f[M>>2]|0,X,g,i,r,y,s,f[D>>2]|0,f[e>>2]|0,f[R>>2]|0,0)|0))_=b;else{W=+u[d>>3]+ +u[p>>3]<E;m=W?b:m;_=W?_:b;w=W?b:w}}else{W=(Ga(A,f[M>>2]|0,X,g,i,r,y,s,f[D>>2]|0,f[e>>2]|0,f[R>>2]|0,0)|0)==0;m=W?m:b;_=W?b:_;w=W?w:b}while(0)v=v+1|0}while((v|0)!=128)}Wa(A);b=w==0?b:w}if(L)u[(f[(f[C>>2]|0)+((f[M>>2]|0)*592|0)>>2]|0)+(O<<3)>>3]=b;Rr(e,O,b,1);if(!O)b=+u[P>>3];else b=+u[V+(O+-1<<3)>>3]+ +u[X+40+(O<<3)>>3];u[V+(O<<3)>>3]=b;O=O+1|0;if(O>>>0>=(f[l>>2]|0)>>>0){l=1;d=57;break}}if((d|0)==57){c=K;return l|0}return 0}function Lr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;f[e+24>>2]=i;f[e+28>>2]=r;n=Fn(1,848)|0;t=e+20|0;f[f[t>>2]>>2]=n;if(!n){e=0;return e|0}n=i+16|0;a=Fn(f[n>>2]|0,52)|0;i=f[f[t>>2]>>2]|0;f[i+20>>2]=a;if(!a){a=0;return a|0}f[i+16>>2]=f[n>>2];f[e>>2]=f[r+84>>2];a=1;return a|0}function Ir(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0;if(!e)return;_=e+20|0;i=f[_>>2]|0;do if(i){m=(t[e+40>>0]&1)==0?3:4;r=f[i>>2]|0;if(r){b=r+20|0;u=r+16|0;if(f[u>>2]|0){d=0;h=f[b>>2]|0;while(1){c=h+24|0;i=f[c>>2]|0;if(i){l=f[h+28>>2]|0;o=(l>>>0)/136|0;if(l>>>0>135){l=0;while(1){s=i+48|0;r=f[s>>2]|0;if(r){n=f[i+52>>2]|0;a=(n>>>0)/40|0;if(n>>>0>39){n=0;while(1){p=r+32|0;ta(f[p>>2]|0);f[p>>2]=0;p=r+36|0;ta(f[p>>2]|0);f[p>>2]=0;yo[m&7](r);n=n+1|0;if(n>>>0>=a>>>0)break;else r=r+40|0}r=f[s>>2]|0}Yn(r);f[s>>2]=0}s=i+84|0;r=f[s>>2]|0;if(r){p=f[i+88>>2]|0;a=(p>>>0)/40|0;if(p>>>0>39){n=0;while(1){p=r+32|0;ta(f[p>>2]|0);f[p>>2]=0;p=r+36|0;ta(f[p>>2]|0);f[p>>2]=0;yo[m&7](r);n=n+1|0;if(n>>>0>=a>>>0)break;else r=r+40|0}r=f[s>>2]|0}Yn(r);f[s>>2]=0}s=i+120|0;r=f[s>>2]|0;if(r){p=f[i+124>>2]|0;a=(p>>>0)/40|0;if(p>>>0>39){n=0;while(1){p=r+32|0;ta(f[p>>2]|0);f[p>>2]=0;p=r+36|0;ta(f[p>>2]|0);f[p>>2]=0;yo[m&7](r);n=n+1|0;if(n>>>0>=a>>>0)break;else r=r+40|0}r=f[s>>2]|0}Yn(r);f[s>>2]=0}l=l+1|0;if(l>>>0>=o>>>0)break;else i=i+136|0}i=f[c>>2]|0}Yn(i);f[c>>2]=0}if((f[h+36>>2]|0)!=0?(k=h+32|0,w=f[k>>2]|0,(w|0)!=0):0){Un(w);f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0}d=d+1|0;if(d>>>0>=(f[u>>2]|0)>>>0)break;else h=h+52|0}}Yn(f[b>>2]|0);f[b>>2]=0;Yn(f[f[_>>2]>>2]|0);i=f[_>>2]|0;f[i>>2]=0;if(!i)break}Yn(i);f[_>>2]=0}while(0)Yn(e);return}function Br(e){e=e|0;var i=0,r=0,t=0,n=0,a=0;t=e+32|0;n=f[t>>2]|0;i=e+40|0;r=f[i>>2]|0;if(n){a=e+44|0;if(r>>>0<=(f[a>>2]|0)>>>0){e=1;return e|0}if(f[e+36>>2]|0){Un(n);n=jn(f[i>>2]|0)|0;f[t>>2]=n;if(!n){f[a>>2]=0;f[i>>2]=0;f[e+36>>2]=0;e=0;return e|0}else{f[a>>2]=f[i>>2];f[e+36>>2]=1;e=1;return e|0}}}a=jn(r)|0;f[t>>2]=a;if(!a){e=0;return e|0}f[e+44>>2]=f[i>>2];f[e+36>>2]=1;e=1;return e|0}function Nr(e,i,r){e=e|0;i=i|0;r=r|0;return Vr(e,i,1,1,52,r)|0}function Fr(e,i,r){e=e|0;i=i|0;r=r|0;return Vr(e,i,0,.5,56,r)|0}function jr(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0;r=f[e+24>>2]|0;n=f[r+16>>2]|0;if(!n){a=0;return a|0}a=0;i=0;t=f[r+24>>2]|0;r=f[(f[f[e+20>>2]>>2]|0)+20>>2]|0;while(1){l=f[t+24>>2]|0;l=((l&7|0)!=0&1)+(l>>>3)|0;s=f[r+24>>2]|0;e=(f[r+20>>2]|0)+-1|0;i=(ie(ie((l|0)==3?4:l,(f[s+(e*136|0)+8>>2]|0)-(f[s+(e*136|0)>>2]|0)|0)|0,(f[s+(e*136|0)+12>>2]|0)-(f[s+(e*136|0)+4>>2]|0)|0)|0)+i|0;a=a+1|0;if(a>>>0>=n>>>0)break;else{t=t+52|0;r=r+52|0}}return i|0}function Ur(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0;A=c;c=c+16|0;y=A;if(!(f[e+8>>2]|0)){f[e+36>>2]=i;v=e+28|0;l=f[(f[v>>2]|0)+76>>2]|0;E=e+32|0;f[E>>2]=l+(i*5640|0);g=(s|0)==0;p=e+20|0;if(!g){o=f[(f[f[p>>2]>>2]|0)+20>>2]|0;b=f[l+(i*5640|0)+5584>>2]|0;k=o+16|0;if(!(f[k>>2]|0)){o=s+88|0;l=0}else{u=f[o+24>>2]|0;o=s+88|0;d=f[o>>2]|0;h=0;l=0;do{_=u+(h*136|0)+16|0;f[d+(i*592|0)+20+(h<<2)>>2]=f[_>>2];m=u+(h*136|0)+20|0;f[d+(i*592|0)+152+(h<<2)>>2]=f[m>>2];l=(ie(f[m>>2]|0,f[_>>2]|0)|0)+l|0;f[d+(i*592|0)+284+(h<<2)>>2]=f[b+812+(h<<2)>>2];f[d+(i*592|0)+416+(h<<2)>>2]=f[b+944+(h<<2)>>2];h=h+1|0}while(h>>>0<(f[k>>2]|0)>>>0)}_=Fn(ie(ie(f[s+52>>2]|0,l)|0,f[s+56>>2]|0)|0,32)|0;f[(f[o>>2]|0)+(i*592|0)+548>>2]=_;if(!_){e=0;c=A;return e|0}}l=f[f[p>>2]>>2]|0;_=l+16|0;if(!(f[_>>2]|0)){h=f[E>>2]|0;u=0;o=f[l+20>>2]|0}else{h=f[E>>2]|0;o=f[l+20>>2]|0;i=0;w=f[h+5584>>2]|0;m=o;while(1){b=f[m+32>>2]|0;k=ie((f[m+12>>2]|0)-(f[m+4>>2]|0)|0,(f[m+8>>2]|0)-(f[m>>2]|0)|0)|0;l=(k|0)==0;if((f[w+20>>2]|0)==1){if(!l){u=w+1076|0;d=0;l=b;while(1){f[l>>2]=(f[l>>2]|0)-(f[u>>2]|0);d=d+1|0;if((d|0)==(k|0))break;else l=l+4|0}}}else if(!l){u=w+1076|0;d=0;l=b;while(1){f[l>>2]=(f[l>>2]|0)-(f[u>>2]|0)<<11;d=d+1|0;if((d|0)==(k|0))break;else l=l+4|0}}i=i+1|0;u=f[_>>2]|0;if(i>>>0>=u>>>0)break;else{w=w+1080|0;m=m+52|0}}}b=ie((f[o+12>>2]|0)-(f[o+4>>2]|0)|0,(f[o+8>>2]|0)-(f[o>>2]|0)|0)|0;e:do switch(f[h+16>>2]|0){case 0:break;case 2:{if(f[h+5608>>2]|0){d=Nn(u<<2)|0;if(!d){e=0;c=A;return e|0}l=f[_>>2]|0;if(!l)l=0;else{u=0;while(1){f[d+(u<<2)>>2]=f[o+32>>2];u=u+1|0;if((u|0)==(l|0))break;else o=o+52|0}}_=(mr(f[(f[E>>2]|0)+5608>>2]|0,b,d,l,f[(f[(f[e+24>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Yn(d);if(_){e=0;c=A;return e|0}}break}default:{u=f[o+32>>2]|0;d=f[o+84>>2]|0;l=f[o+136>>2]|0;if(!(f[(f[h+5584>>2]|0)+20>>2]|0)){kr(u,d,l,b);break e}else{hr(u,d,l,b);break e}}}while(0)l=f[f[p>>2]>>2]|0;o=l+16|0;e:do if(f[o>>2]|0){u=0;d=f[(f[E>>2]|0)+5584>>2]|0;l=f[l+20>>2]|0;i:while(1){switch(f[d+20>>2]|0){case 1:{if(!(ya(l)|0)){l=0;o=54;break i}break}case 0:{if(!(Ta(l)|0)){l=0;o=54;break i}break}default:{}}u=u+1|0;if(u>>>0>=(f[o>>2]|0)>>>0)break e;else{d=d+1080|0;l=l+52|0}}if((o|0)==54){c=A;return l|0}}while(0)l=f[E>>2]|0;o=ja(1)|0;if(!o){e=0;c=A;return e|0}do if((f[l+16>>2]|0)==1)if(!(f[(f[l+5584>>2]|0)+20>>2]|0)){u=dr()|0;d=3;break}else{u=cr()|0;d=3;break}else{u=f[l+5600>>2]|0;d=f[(f[e+24>>2]|0)+16>>2]|0}while(0)p=Ya(o,f[f[p>>2]>>2]|0,l,u,d)|0;Ua(o);if(!p){e=0;c=A;return e|0}l=f[v>>2]|0;f[y>>2]=0;if(!g)f[s+12>>2]=0;if(!(t[l+93>>0]&5)){if(f[(f[E>>2]|0)+8>>2]|0){l=0;do{Dr(e,l,1);l=l+1|0}while(l>>>0<(f[(f[E>>2]|0)+8>>2]|0)>>>0)}}else if(!(Or(e,r,y,a,s)|0)){e=0;c=A;return e|0}}if(s)f[s+12>>2]=1;l=Ka(f[e+24>>2]|0,f[e+28>>2]|0)|0;if(!l)l=1;else{e=Ga(l,f[e+36>>2]|0,f[f[e+20>>2]>>2]|0,f[(f[e+32>>2]|0)+8>>2]|0,r,n,a,s,f[e+4>>2]|0,f[e>>2]|0,f[e+16>>2]|0,1)|0;Wa(l);l=(e|0)==0}e=l&1^1;c=A;return e|0}function Hr(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0;v=c;c=c+16|0;d=v+8|0;u=v;l=v+12|0;s=e+36|0;f[s>>2]=t;p=f[e+28>>2]|0;k=e+32|0;f[k>>2]=(f[p+76>>2]|0)+(t*5640|0);f[l>>2]=0;b=e+24|0;t=Ka(f[b>>2]|0,p)|0;if(!t){p=0;c=v;return p|0}h=e+20|0;p=Va(t,f[s>>2]|0,f[f[h>>2]>>2]|0,i,l,r,n,a)|0;Wa(t);if(!p){p=0;c=v;return p|0}t=f[f[h>>2]>>2]|0;e=f[(f[k>>2]|0)+5584>>2]|0;s=f[t+20>>2]|0;r=ja(0)|0;if(!r){p=0;c=v;return p|0}l=t+16|0;e:do if(f[l>>2]|0){n=0;t=s;while(1){if(!(Ha(r,t,e)|0))break;n=n+1|0;if(n>>>0>=(f[l>>2]|0)>>>0)break e;else{e=e+1080|0;t=t+52|0}}Ua(r);p=0;c=v;return p|0}while(0)Ua(r);t=f[f[h>>2]>>2]|0;s=t+16|0;do if(f[s>>2]|0){l=0;n=f[(f[b>>2]|0)+24>>2]|0;r=f[(f[k>>2]|0)+5584>>2]|0;e=f[t+20>>2]|0;while(1){t=(f[n+36>>2]|0)+1|0;if((f[r+20>>2]|0)==1){if(!(Ea(e,t)|0)){t=0;e=49;break}}else if(!(xa(e,t)|0)){t=0;e=49;break}l=l+1|0;if(l>>>0>=(f[s>>2]|0)>>>0){e=14;break}else{n=n+52|0;r=r+1080|0;e=e+52|0}}if((e|0)==14){t=f[f[h>>2]>>2]|0;break}else if((e|0)==49){c=v;return t|0}}while(0)l=f[k>>2]|0;e=f[t+20>>2]|0;s=f[l+16>>2]|0;do if(s){i=ie((f[e+12>>2]|0)-(f[e+4>>2]|0)|0,(f[e+8>>2]|0)-(f[e>>2]|0)|0)|0
39
+ ;r=t+16|0;t=f[r>>2]|0;if(t>>>0<=2){f[d>>2]=t;Ht(a,1,19703,d)|0;break}if((ie((f[e+64>>2]|0)-(f[e+56>>2]|0)|0,(f[e+60>>2]|0)-(f[e+52>>2]|0)|0)|0)>=(i|0)?(ie((f[e+116>>2]|0)-(f[e+108>>2]|0)|0,(f[e+112>>2]|0)-(f[e+104>>2]|0)|0)|0)>=(i|0):0){if((s|0)!=2){t=f[e+32>>2]|0;if((f[(f[l+5584>>2]|0)+20>>2]|0)==1){br(t,f[e+84>>2]|0,f[e+136>>2]|0,i);break}else{wr(t,f[e+84>>2]|0,f[e+136>>2]|0,i);break}}n=l+5604|0;if(!(f[n>>2]|0))break;l=Nn(t<<2)|0;if(!l){p=0;c=v;return p|0}t=f[r>>2]|0;if(!t)t=0;else{s=0;while(1){f[l+(s<<2)>>2]=f[e+32>>2];s=s+1|0;if((s|0)==(t|0))break;else e=e+52|0}}p=(_r(f[n>>2]|0,i,l,t,f[(f[(f[b>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Yn(l);if(p)t=0;else break;c=v;return t|0}Ht(a,1,19642,u)|0;p=0;c=v;return p|0}while(0)t=f[f[h>>2]>>2]|0;_=t+16|0;if(!(f[_>>2]|0)){p=1;c=v;return p|0}p=0;m=f[(f[b>>2]|0)+24>>2]|0;w=f[(f[k>>2]|0)+5584>>2]|0;k=f[t+20>>2]|0;while(1){b=f[k+24>>2]|0;a=f[m+36>>2]|0;s=f[b+(a*136|0)+8>>2]|0;l=f[b+(a*136|0)>>2]|0;h=s-l|0;n=f[b+(a*136|0)+12>>2]|0;a=f[b+(a*136|0)+4>>2]|0;b=(f[k+8>>2]|0)-(f[k>>2]|0)-h|0;t=f[m+24>>2]|0;if(!(f[m+32>>2]|0)){t=1<<t;d=0}else{d=1<<t+-1;t=d;d=0-d|0}u=t+-1|0;t=f[k+32>>2]|0;e=(n|0)==(a|0);if((f[w+20>>2]|0)==1){if(!e){r=(s|0)==(l|0);i=w+1076|0;l=n-a|0;n=0;while(1){if(!r){e=0;s=t;while(1){a=(f[i>>2]|0)+(f[s>>2]|0)|0;f[s>>2]=(a|0)<(d|0)?d:(a|0)>(u|0)?u:a;e=e+1|0;if((e|0)==(h|0))break;else s=s+4|0}t=t+(h<<2)|0}n=n+1|0;if((n|0)==(l|0))break;else t=t+(b<<2)|0}}}else if(!e){r=(s|0)==(l|0);i=w+1076|0;l=n-a|0;n=0;while(1){if(!r){e=0;s=t;while(1){a=As(+o[s>>2])|0;a=(f[i>>2]|0)+a|0;f[s>>2]=(a|0)<(d|0)?d:(a|0)>(u|0)?u:a;e=e+1|0;if((e|0)==(h|0))break;else s=s+4|0}t=t+(h<<2)|0}n=n+1|0;if((n|0)==(l|0))break;else t=t+(b<<2)|0}}p=p+1|0;if(p>>>0>=(f[_>>2]|0)>>>0){t=1;break}else{m=m+52|0;w=w+1080|0;k=k+52|0}}c=v;return t|0}function Yr(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;w=e+24|0;d=f[w>>2]|0;s=f[d+16>>2]|0;c=(s|0)==0;if(c){w=1;return w|0}l=0;a=0;o=f[d+24>>2]|0;u=f[(f[f[e+20>>2]>>2]|0)+20>>2]|0;while(1){h=f[o+24>>2]|0;h=((h&7|0)!=0&1)+(h>>>3)|0;b=f[u+24>>2]|0;k=(f[u+20>>2]|0)+-1|0;a=(ie(ie((h|0)==3?4:h,(f[b+(k*136|0)+8>>2]|0)-(f[b+(k*136|0)>>2]|0)|0)|0,(f[b+(k*136|0)+12>>2]|0)-(f[b+(k*136|0)+4>>2]|0)|0)|0)+a|0;l=l+1|0;if((l|0)==(s|0))break;else{o=o+52|0;u=u+52|0}}a=a>>>0>r>>>0;if(a|c){w=a&1^1;return w|0}k=0;b=f[d+24>>2]|0;h=f[(f[f[e+20>>2]>>2]|0)+20>>2]|0;while(1){c=f[b+24>>2]|0;e=f[h+24>>2]|0;r=f[b+36>>2]|0;l=f[e+(r*136|0)+8>>2]|0;o=f[e+(r*136|0)>>2]|0;d=l-o|0;u=f[e+(r*136|0)+12>>2]|0;r=f[e+(r*136|0)+4>>2]|0;e=(f[h+8>>2]|0)-(f[h>>2]|0)-d|0;c=((c&7|0)!=0&1)+(c>>>3)|0;e:do switch(((c|0)==3?4:c)|0){case 1:{a=f[h+32>>2]|0;s=(u|0)==(r|0);if(!(f[b+32>>2]|0)){if(s)break e;c=(l|0)==(o|0);u=u-r|0;r=0;while(1){if(!c){o=i+d|0;l=0;s=a;while(1){t[i>>0]=f[s>>2];l=l+1|0;if((l|0)==(d|0))break;else{i=i+1|0;s=s+4|0}}i=o;a=a+(d<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}else{if(s)break e;c=(l|0)==(o|0);u=u-r|0;r=0;while(1){if(!c){o=i+d|0;l=0;s=a;while(1){t[i>>0]=f[s>>2];l=l+1|0;if((l|0)==(d|0))break;else{i=i+1|0;s=s+4|0}}i=o;a=a+(d<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}break}case 2:{a=f[h+32>>2]|0;s=(u|0)==(r|0);if(!(f[b+32>>2]|0)){if(!s){c=(l|0)==(o|0);u=u-r|0;r=0;while(1){if(!c){o=i+(d<<1)|0;l=0;s=a;while(1){n[i>>1]=f[s>>2];l=l+1|0;if((l|0)==(d|0))break;else{i=i+2|0;s=s+4|0}}i=o;a=a+(d<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}}else if(!s){c=(l|0)==(o|0);u=u-r|0;r=0;while(1){if(!c){o=i+(d<<1)|0;l=0;s=a;while(1){n[i>>1]=f[s>>2];l=l+1|0;if((l|0)==(d|0))break;else{i=i+2|0;s=s+4|0}}i=o;a=a+(d<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}break}case 4:{if((u|0)!=(r|0)){c=(l|0)==(o|0);u=u-r|0;r=0;a=f[h+32>>2]|0;while(1){if(!c){o=i+(d<<2)|0;l=0;s=a;while(1){f[i>>2]=f[s>>2];l=l+1|0;if((l|0)==(d|0))break;else{i=i+4|0;s=s+4|0}}i=o;a=a+(d<<2)|0}r=r+1|0;if((r|0)==(u|0))break;else a=a+(e<<2)|0}}break}default:{}}while(0)k=k+1|0;if(k>>>0>=(f[(f[w>>2]|0)+16>>2]|0)>>>0){i=1;break}else{b=b+52|0;h=h+52|0}}return i|0}function qr(e){e=e|0;var i=0,r=0,t=0,n=0,a=0;r=f[e+24>>2]|0;n=f[r+16>>2]|0;if(!n){a=0;return a|0}a=0;i=0;t=f[r+24>>2]|0;r=f[(f[f[e+20>>2]>>2]|0)+20>>2]|0;while(1){e=f[t+24>>2]|0;e=((e&7|0)!=0&1)+(e>>>3)|0;i=(ie(ie((f[r+12>>2]|0)-(f[r+4>>2]|0)|0,(f[r+8>>2]|0)-(f[r>>2]|0)|0)|0,(e|0)==3?4:e)|0)+i|0;a=a+1|0;if(a>>>0>=n>>>0)break;else{t=t+52|0;r=r+52|0}}return i|0}function zr(e,i,r){e=e|0;i=i|0;r=r|0;var l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0;b=f[e+24>>2]|0;w=b+16|0;o=f[w>>2]|0;h=(o|0)==0;if(h)l=0;else{u=0;l=0;c=f[b+24>>2]|0;d=f[(f[f[e+20>>2]>>2]|0)+20>>2]|0;while(1){k=f[c+24>>2]|0;k=((k&7|0)!=0&1)+(k>>>3)|0;l=(ie(ie((f[d+12>>2]|0)-(f[d+4>>2]|0)|0,(f[d+8>>2]|0)-(f[d>>2]|0)|0)|0,(k|0)==3?4:k)|0)+l|0;u=u+1|0;if((u|0)==(o|0))break;else{c=c+52|0;d=d+52|0}}}l=(l|0)!=(r|0);if(l|h){w=l&1^1;return w|0}k=0;h=f[b+24>>2]|0;r=f[(f[f[e+20>>2]>>2]|0)+20>>2]|0;while(1){e=f[h+24>>2]|0;l=(f[r+8>>2]|0)-(f[r>>2]|0)|0;o=(f[r+12>>2]|0)-(f[r+4>>2]|0)|0;d=ie(o,l)|0;e=((e&7|0)!=0&1)+(e>>>3)|0;e:do switch(((e|0)==3?4:e)|0){case 1:{o=f[r+32>>2]|0;l=(d|0)==0;if(!(f[h+32>>2]|0)){if(l)break e;else{u=0;l=o;o=i}while(1){f[l>>2]=a[o>>0];u=u+1|0;if((u|0)==(d|0))break;else{l=l+4|0;o=o+1|0}}i=i+d|0;break e}else{if(l)break e;else{u=0;l=o;o=i}while(1){f[l>>2]=t[o>>0];u=u+1|0;if((u|0)==(d|0))break;else{l=l+4|0;o=o+1|0}}i=i+d|0;break e}}case 2:{c=f[r+32>>2]|0;u=(d|0)==0;if(!(f[h+32>>2]|0)){if(!u){u=i+(ie(o<<1,l)|0)|0;o=0;l=c;while(1){f[l>>2]=s[i>>1];o=o+1|0;if((o|0)==(d|0))break;else{l=l+4|0;i=i+2|0}}i=u}}else if(!u){u=i+(ie(o<<1,l)|0)|0;o=0;l=c;while(1){f[l>>2]=n[i>>1];o=o+1|0;if((o|0)==(d|0))break;else{l=l+4|0;i=i+2|0}}i=u}break}case 4:{if(d){u=i+(ie(o<<2,l)|0)|0;l=0;o=f[r+32>>2]|0;while(1){f[o>>2]=f[i>>2];l=l+1|0;if((l|0)==(d|0))break;else{o=o+4|0;i=i+4|0}}i=u}break}default:{}}while(0)k=k+1|0;if(k>>>0>=(f[w>>2]|0)>>>0){i=1;break}else{h=h+52|0;r=r+52|0}}return i|0}function Xr(e){e=e|0;var i=0,r=0,t=0,n=0,a=0;a=e+24|0;i=f[a>>2]|0;if(!i)return;n=f[e+28>>2]|0;t=(n>>>0)/52|0;if(n>>>0>51){n=0;while(1){e=f[i>>2]|0;if(e){Yn(e+-1|0);f[i>>2]=0}e=i+4|0;r=f[e>>2]|0;if(r){Yn(r);f[e>>2]=0}e=i+8|0;r=f[e>>2]|0;if(r){Yn(r);f[e>>2]=0}n=n+1|0;if(n>>>0>=t>>>0)break;else i=i+52|0}i=f[a>>2]|0}Yn(i);f[a>>2]=0;return}function Gr(e){e=e|0;var i=0,r=0,t=0,n=0,a=0;a=e+24|0;i=f[a>>2]|0;if(!i)return;n=f[e+28>>2]|0;t=(n>>>0)/56|0;if(n>>>0>55){n=0;while(1){e=f[i>>2]|0;if(e){Yn(e);f[i>>2]=0}r=i+4|0;e=f[r>>2]|0;if(e){Yn(e);f[r>>2]=0}n=n+1|0;if(n>>>0>=t>>>0)break;else i=i+56|0}i=f[a>>2]|0}Yn(i);f[a>>2]=0;return}function Vr(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=+n;a=a|0;s=s|0;var l=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0,W=0,J=0,Q=0,Z=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0,de=0,he=0,be=0,ke=0,we=0,me=0,_e=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Se=0,Te=0,Me=0,Ce=0,Pe=0,xe=0,De=0,Re=0,Oe=0,Le=0,Ie=0,Be=0,Ne=0,Fe=0,je=0,Ue=0,He=0,Ye=0,qe=0,ze=0,Xe=0;ze=c;c=c+80|0;Ne=ze+64|0;Be=ze+56|0;je=ze+48|0;He=ze+40|0;Ue=ze+32|0;Ye=ze+24|0;Fe=ze+16|0;Ie=ze+8|0;l=f[e+28>>2]|0;Le=f[f[e+20>>2]>>2]|0;k=f[(f[l+76>>2]|0)+(i*5640|0)+5584>>2]|0;w=f[Le+20>>2]|0;h=f[e+24>>2]|0;b=f[h+24>>2]|0;De=f[l+24>>2]|0;d=f[l+12>>2]|0;Oe=(ie(d,(i>>>0)%(De>>>0)|0)|0)+(f[l+4>>2]|0)|0;u=f[h>>2]|0;u=Oe>>>0>u>>>0?Oe:u;f[Le>>2]=u;Oe=Il(d|0,0,Oe|0,0)|0;Oe=Oe|0-D;d=f[h+8>>2]|0;d=Oe>>>0<d>>>0?Oe:d;Oe=Le+8|0;f[Oe>>2]=d;Re=f[l+16>>2]|0;De=(ie(Re,(i>>>0)/(De>>>0)|0)|0)+(f[l+8>>2]|0)|0;i=f[h+4>>2]|0;i=De>>>0>i>>>0?De:i;xe=Le+4|0;f[xe>>2]=i;De=Il(Re|0,0,De|0,0)|0;De=De|0-D;h=f[h+12>>2]|0;h=De>>>0<h>>>0?De:h;De=Le+12|0;f[De>>2]=h;if(!(f[k+4>>2]|0)){Ht(s,1,19777,ze)|0;qe=0;c=ze;return qe|0}Re=Le+16|0;if(!(f[Re>>2]|0)){qe=1;c=ze;return qe|0}Pe=l+80|0;Ce=e+40|0;Me=(r|0)==0;l=i;Te=0;e:while(1){f[b+36>>2]=0;ge=f[b>>2]|0;i=(u+-1+ge|0)/(ge|0)|0;f[w>>2]=i;ye=f[b+4>>2]|0;l=(l+-1+ye|0)/(ye|0)|0;Se=w+4|0;f[Se>>2]=l;ge=(d+-1+ge|0)/(ge|0)|0;Ae=w+8|0;f[Ae>>2]=ge;ye=(h+-1+ye|0)/(ye|0)|0;Ee=w+12|0;f[Ee>>2]=ye;i=ge-i|0;l=ye-l|0;if((4294967295/(i>>>0)|0)>>>0<l>>>0){qe=6;break}i=ie(l,i)|0;if(i>>>0>1073741823){qe=8;break}d=i<<2;ge=f[k+4>>2]|0;ye=w+16|0;f[ye>>2]=ge;e=f[Pe>>2]|0;f[w+20>>2]=ge>>>0<e>>>0?1:ge-e|0;e=w+40|0;f[e>>2]=d;do if(t[Ce>>0]&1){r=w+32|0;u=f[r>>2]|0;if(u){l=w+44|0;if(d>>>0<=(f[l>>2]|0)>>>0)break;i=w+36|0;if(f[i>>2]|0){Un(u);ge=jn(f[e>>2]|0)|0;f[r>>2]=ge;if(!ge){qe=16;break e}f[l>>2]=f[e>>2];f[i>>2]=1;break}}ge=jn(d)|0;f[r>>2]=ge;if(!ge)break e;f[w+44>>2]=f[e>>2];f[w+36>>2]=1}while(0)r=(f[ye>>2]|0)*136|0;l=w+24|0;e=f[l>>2]|0;if(e){i=w+28|0;if(r>>>0>(f[i>>2]|0)>>>0){e=Hn(e,r)|0;if(!e){qe=24;break}f[l>>2]=e;ge=f[i>>2]|0;Ol(e+ge|0,0,r-ge|0)|0;f[i>>2]=r}}else{i=Nn(r)|0;f[l>>2]=i;if(!i){i=0;qe=87;break}f[w+28>>2]=r;Ol(i|0,0,r|0)|0}i=f[ye>>2]|0;ge=(f[k+20>>2]|0)==0?7:8;if(i){me=k+8|0;_e=k+12|0;pe=b+24|0;ve=k+804|0;we=f[l>>2]|0;l=k+28|0;e=0;while(1){be=i;ke=i+-1|0;ce=f[w>>2]|0;de=Ll(1,0,ke|0)|0;de=Il(de|0,D|0,-1,-1)|0;he=D;ce=Il(de|0,he|0,ce|0,((ce|0)<0)<<31>>31|0)|0;ce=Rl(ce|0,D|0,ke|0)|0;f[we>>2]=ce;r=f[Se>>2]|0;r=Il(de|0,he|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Rl(r|0,D|0,ke|0)|0;f[we+4>>2]=r;i=f[Ae>>2]|0;i=Il(de|0,he|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Rl(i|0,D|0,ke|0)|0;f[we+8>>2]=i;u=f[Ee>>2]|0;u=Il(de|0,he|0,u|0,((u|0)<0)<<31>>31|0)|0;u=Rl(u|0,D|0,ke|0)|0;f[we+12>>2]=u;m=f[k+812+(e<<2)>>2]|0;h=f[k+944+(e<<2)>>2]|0;_=ce>>m<<m;p=r>>h<<h;d=Ll(1,0,h|0)|0;d=Il(d|0,D|0,-1,-1)|0;d=Il(d|0,D|0,u|0,((u|0)<0)<<31>>31|0)|0;d=Rl(d|0,D|0,h|0)|0;if((ce|0)==(i|0))i=0;else{ce=Ll(1,0,m|0)|0;ce=Il(ce|0,D|0,-1,-1)|0;i=Il(ce|0,D|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Rl(i|0,D|0,m|0)|0;i=(i<<m)-_>>m}ce=we+16|0;f[ce>>2]=i;le=(r|0)==(u|0)?0:(d<<h)-p>>h;f[we+20>>2]=le;le=ie(le,i)|0;oe=le*40|0;ue=(e|0)==0;if(ue)i=1;else{_=Il(_|0,((_|0)<0)<<31>>31|0,1,0)|0;_=Bl(_|0,D|0,1)|0;p=Il(p|0,((p|0)<0)<<31>>31|0,1,0)|0;p=Bl(p|0,D|0,1)|0;i=3;h=h+-1|0;m=m+-1|0}se=we+24|0;f[se>>2]=i;z=f[me>>2]|0;z=z>>>0<m>>>0?z:m;X=f[_e>>2]|0;X=X>>>0<h>>>0?X:h;G=(le|0)!=0;V=(le|0)==0;K=1<<m;W=1<<h;J=Ll(1,0,z|0)|0;J=Il(J|0,D|0,-1,-1)|0;Q=D;Z=Ll(1,0,X|0)|0;Z=Il(Z|0,D|0,-1,-1)|0;$=D;ee=1<<z;re=1<<X;te=Ll(1,0,be|0)|0;te=Il(te|0,D|0,-1,-1)|0;ne=D;fe=0;ae=we+28|0;q=l;while(1){if(ue){i=f[w>>2]|0;i=Il(de|0,he|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Rl(i|0,D|0,ke|0)|0;l=f[Se>>2]|0;l=Il(de|0,he|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Rl(l|0,D|0,ke|0)|0;r=f[Ae>>2]|0;r=Il(de|0,he|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Rl(r|0,D|0,ke|0)|0;d=f[Ee>>2]|0;d=Il(de|0,he|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Rl(d|0,D|0,ke|0)|0;u=0}else{u=fe+1|0;i=f[w>>2]|0;U=Ll(u&1|0,0,ke|0)|0;U=Dl(te|0,ne|0,U|0,D|0)|0;d=D;i=Il(U|0,d|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Rl(i|0,D|0,be|0)|0;l=f[Se>>2]|0;H=Ll(u>>>1|0,0,ke|0)|0;H=Dl(te|0,ne|0,H|0,D|0)|0;Y=D;l=Il(H|0,Y|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Rl(l|0,D|0,be|0)|0;r=f[Ae>>2]|0;r=Il(U|0,d|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Rl(r|0,D|0,be|0)|0;d=f[Ee>>2]|0;d=Il(H|0,Y|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Rl(d|0,D|0,be|0)|0}f[ae+16>>2]=u;f[ae>>2]=i;Y=ae+4|0;f[Y>>2]=l;H=ae+8|0;f[H>>2]=r;U=ae+12|0;f[U>>2]=d;l=So[ge&15](u)|0;Xe=+(f[q+4>>2]|0)*.00048828125+1;o[ae+32>>2]=+Es(1,(f[pe>>2]|0)+l-(f[q>>2]|0)|0)*Xe*n;f[ae+28>>2]=(f[q>>2]|0)+-1+(f[ve>>2]|0);l=ae+20|0;r=f[l>>2]|0;if(!(G&(r|0)==0)){i=ae+24|0;if((f[i>>2]|0)>>>0<oe>>>0){r=Hn(r,oe)|0;if(!r){qe=41;break e}f[l>>2]=r;j=f[i>>2]|0;Ol(r+j|0,0,oe-j|0)|0;f[i>>2]=oe}}else{i=Nn(oe)|0;f[l>>2]=i;if(!i){i=0;qe=87;break e}Ol(i|0,0,oe|0)|0;f[ae+24>>2]=oe}if(!V){F=f[l>>2]|0;j=0;while(1){x=f[ce>>2]|0;I=(((j>>>0)%(x>>>0)|0)<<m)+_|0;x=(((j>>>0)/(x>>>0)|0)<<h)+p|0;R=I+K|0;O=x+W|0;L=f[ae>>2]|0;L=(I|0)>(L|0)?I:L;f[F>>2]=L;I=f[Y>>2]|0;I=(x|0)>(I|0)?x:I;x=F+4|0;f[x>>2]=I;N=f[H>>2]|0;N=(R|0)<(N|0)?R:N;R=F+8|0;f[R>>2]=N;u=f[U>>2]|0;u=(O|0)<(u|0)?O:u;O=F+12|0;f[O>>2]=u;L=L>>z<<z;I=I>>X<<X;N=Il(J|0,Q|0,N|0,((N|0)<0)<<31>>31|0)|0;N=Rl(N|0,D|0,z|0)|0;u=Il(Z|0,$|0,u|0,((u|0)<0)<<31>>31|0)|0;u=Rl(u|0,D|0,X|0)|0;N=(N<<z)-L>>z;B=F+16|0;f[B>>2]=N;u=(u<<X)-I>>X;v=F+20|0;f[v>>2]=u;N=ie(u,N)|0;u=ie(N,a)|0;l=F+24|0;r=f[l>>2]|0;do if((r|0)==0&(N|0)!=0){i=Nn(u)|0;f[l>>2]=i;if(!i){i=0;qe=87;break e}Ol(i|0,0,u|0)|0;f[F+28>>2]=u}else{i=F+28|0;if(u>>>0<=(f[i>>2]|0)>>>0)break;r=Hn(r,u)|0;if(!r){qe=50;break e}f[l>>2]=r;P=f[i>>2]|0;Ol(r+P|0,0,u-P|0)|0;f[i>>2]=u}while(0)d=F+32|0;i=f[d>>2]|0;r=f[B>>2]|0;u=f[v>>2]|0;if(!i)i=Kr(r,u,s)|0;else i=ra(i,r,u,s)|0;f[d>>2]=i;if(!i)Ht(s,2,19990,Be)|0;d=F+36|0;r=f[d>>2]|0;u=f[B>>2]|0;i=f[v>>2]|0;if(!r)i=Kr(u,i,s)|0;else i=ra(r,u,i,s)|0;f[d>>2]=i;if(!i)Ht(s,2,20012,Ne)|0;if(N){P=0;do{T=f[B>>2]|0;S=(((P>>>0)%(T>>>0)|0)<<z)+L|0;T=(((P>>>0)/(T>>>0)|0)<<X)+I|0;M=S+ee|0;C=T+re|0;do if(Me){i=f[l>>2]|0;r=i+(P*56|0)|0;u=f[r>>2]|0;if(!u){A=Nn(8192)|0;f[r>>2]=A;if(!A){i=0;qe=87;break e}f[i+(P*56|0)+32>>2]=8192;A=Fn(10,32)|0;f[i+(P*56|0)+4>>2]=A;if(!A){i=0;qe=87;break e}f[i+(P*56|0)+52>>2]=10}else{d=i+(P*56|0)+32|0;v=f[d>>2]|0;g=i+(P*56|0)+4|0;y=f[g>>2]|0;E=r;A=E+52|0;do{f[E>>2]=0;E=E+4|0}while((E|0)<(A|0))f[r>>2]=u;f[d>>2]=v;f[g>>2]=y}A=f[F>>2]|0;f[i+(P*56|0)+8>>2]=(S|0)>(A|0)?S:A;S=f[x>>2]|0;f[i+(P*56|0)+12>>2]=(T|0)>(S|0)?T:S;T=f[R>>2]|0;f[i+(P*56|0)+16>>2]=(M|0)<(T|0)?M:T;M=f[O>>2]|0;f[i+(P*56|0)+20>>2]=(C|0)<(M|0)?C:M}else{r=f[l>>2]|0;i=r+(P*52|0)+4|0;if((f[i>>2]|0)==0?(A=Fn(100,24)|0,f[i>>2]=A,(A|0)==0):0){i=0;qe=87;break e}i=r+(P*52|0)+8|0;if((f[i>>2]|0)==0?(A=Fn(100,24)|0,f[i>>2]=A,(A|0)==0):0){i=0;qe=87;break e}d=f[F>>2]|0;d=(S|0)>(d|0)?S:d;f[r+(P*52|0)+12>>2]=d;i=f[x>>2]|0;T=(T|0)>(i|0)?T:i;f[r+(P*52|0)+16>>2]=T;i=f[R>>2]|0;i=(M|0)<(i|0)?M:i;f[r+(P*52|0)+20>>2]=i;M=f[O>>2]|0;C=(C|0)<(M|0)?C:M;f[r+(P*52|0)+24>>2]=C;d=ie(C-T|0,i-d<<2)|0;i=r+(P*52|0)+36|0;if(d>>>0<=(f[i>>2]|0)>>>0)break;u=r+(P*52|0)|0;r=f[u>>2]|0;if(r)Yn(r+-1|0);r=Nn(d|1)|0;f[u>>2]=r;if(!r){qe=74;break e}f[i>>2]=d;t[r>>0]=0;f[u>>2]=(f[u>>2]|0)+1}while(0)P=P+1|0}while(P>>>0<N>>>0)}j=j+1|0;if(j>>>0>=le>>>0)break;else F=F+40|0}}l=q+8|0;fe=fe+1|0;if(fe>>>0>=(f[se>>2]|0)>>>0)break;else{ae=ae+36|0;q=l}}e=e+1|0;if(e>>>0<(f[ye>>2]|0)>>>0){i=ke;we=we+136|0}else break}}i=Te+1|0;if(i>>>0>=(f[Re>>2]|0)>>>0){i=1;qe=87;break}u=f[Le>>2]|0;l=f[xe>>2]|0;d=f[Oe>>2]|0;h=f[De>>2]|0;Te=i;b=b+52|0;k=k+1080|0;w=w+52|0}if((qe|0)==6){Ht(s,1,19816,Ie)|0;qe=0;c=ze;return qe|0}else if((qe|0)==8){Ht(s,1,19816,Fe)|0;qe=0;c=ze;return qe|0}else if((qe|0)==16){f[l>>2]=0;f[e>>2]=0;f[i>>2]=0}else if((qe|0)==24){Ht(s,1,19849,Ue)|0;Yn(f[l>>2]|0);f[l>>2]=0;f[i>>2]=0;qe=0;c=ze;return qe|0}else if((qe|0)==41){Ht(s,1,19889,He)|0;Yn(f[l>>2]|0);f[l>>2]=0;f[i>>2]=0;qe=0;c=ze;return qe|0}else if((qe|0)==50){Yn(f[l>>2]|0);f[l>>2]=0;f[i>>2]=0;Ht(s,1,19932,je)|0;qe=0;c=ze;return qe|0}else if((qe|0)==74){f[i>>2]=0;qe=0;c=ze;return qe|0}else if((qe|0)==87){c=ze;return i|0}Ht(s,1,19816,Ye)|0;qe=0;c=ze;return qe|0}function Kr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0;g=c;c=c+288|0;u=g+16|0;l=g+8|0;p=g+152|0;v=g+24|0;t=Fn(1,20)|0;if(!t){Ht(r,1,20034,g)|0;v=0;c=g;return v|0}f[t>>2]=e;d=t+4|0;f[d>>2]=i;f[p>>2]=e;f[v>>2]=i;o=t+8|0;f[o>>2]=0;n=0;s=0;while(1){_=ie(i,e)|0;e=(e+1|0)/2|0;a=s+1|0;f[p+(a<<2)>>2]=e;i=(i+1|0)/2|0;f[v+(a<<2)>>2]=i;n=n+_|0;if(_>>>0<=1)break;else s=a}f[o>>2]=n;if(!n){Yn(t);Ht(r,2,20072,l)|0;v=0;c=g;return v|0}n=Fn(n,16)|0;f[t+12>>2]=n;if(!n){Ht(r,1,20122,u)|0;Yn(t);v=0;c=g;return v|0}_=f[o>>2]|0;f[t+16>>2]=_<<4;i=n+((ie(f[d>>2]|0,f[t>>2]|0)|0)<<4)|0;if(!s)i=n;else{m=0;a=i;e=i;i=n;do{k=f[v+(m<<2)>>2]|0;e:do if((k|0)>0){w=f[p+(m<<2)>>2]|0;if((w|0)<=0){o=k+-1|0;r=0;while(1){b=(r&1|0)!=0|(r|0)==(o|0);l=b?a:e;e=b?a:e+(w<<4)|0;r=r+1|0;if((r|0)>=(k|0)){a=l;break e}else a=l}}b=((w+2+((w|0)<2?~w:-3)|0)>>>1)+1|0;d=k+-1|0;h=0;do{r=w;u=a;while(1){f[i>>2]=u;l=i+16|0;o=r;r=r+-2|0;if((r|0)>-1){f[l>>2]=u;i=i+32|0}else i=l;if((o|0)<=2)break;else u=u+16|0}u=a+(b<<4)|0;r=(h&1|0)!=0|(h|0)==(d|0);a=r?u:e;e=r?u:e+(w<<4)|0;h=h+1|0}while((h|0)<(k|0))}while(0)m=m+1|0}while((m|0)!=(s|0))}f[i>>2]=0;if(!_){v=t;c=g;return v|0}else i=0;while(1){f[n+4>>2]=999;f[n+8>>2]=0;f[n+12>>2]=0;i=i+1|0;if((i|0)==(_|0))break;else n=n+16|0}c=g;return t|0}function Wr(e){e=e|0;var i=0,r=0;if(!e)return;i=f[e+8>>2]|0;if(!i)return;r=0;e=f[e+12>>2]|0;while(1){f[e+4>>2]=999;f[e+8>>2]=0;f[e+12>>2]=0;r=r+1|0;if(r>>>0>=i>>>0)break;else e=e+16|0}return}function Jr(e){e=e|0;var i=0;i=c;c=c+e|0;c=c+15&-16;return i|0}function Qr(){return c|0}function Zr(e){e=e|0;c=e}function $r(e,i){e=e|0;i=i|0;c=e;d=i}function et(e,i){e=e|0;i=i|0;if(!w){w=e;m=i}}function it(e){e=e|0;t[h>>0]=t[e>>0];t[h+1>>0]=t[e+1>>0];t[h+2>>0]=t[e+2>>0];t[h+3>>0]=t[e+3>>0]}function rt(e){e=e|0;t[h>>0]=t[e>>0];t[h+1>>0]=t[e+1>>0];t[h+2>>0]=t[e+2>>0];t[h+3>>0]=t[e+3>>0];t[h+4>>0]=t[e+4>>0];t[h+5>>0]=t[e+5>>0];t[h+6>>0]=t[e+6>>0];t[h+7>>0]=t[e+7>>0]}function tt(e){e=e|0;D=e}function nt(){return D|0}function ft(e,i,r,t,n,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0;b=c;c=c+8272|0;o=b+16|0;d=b+12|0;l=b;f[d>>2]=0;if((f[e>>2]|0)==1375686655)h=rn(0)|0;else h=rn(2)|0;Jt(h,1,0)|0;Qt(h,2,0)|0;Zt(h,3,0)|0;tn(o);f[l>>2]=e;f[l+4>>2]=e;f[l+8>>2]=i;u=$t(l,1)|0;if(!(nn(h,o)|0)){tl(4476)|0;Tt(u);gn(h);a=1;c=b;return a|0}if(!(fn(u,h,d)|0)){tl(4528)|0;Tt(u);gn(h);Gt(f[d>>2]|0);a=1;c=b;return a|0}if(!(un(h,u,f[d>>2]|0,f[o+8228>>2]|0)|0)){tl(4578)|0;gn(h);Tt(u);Gt(f[d>>2]|0);a=1;c=b;return a|0}l=f[d>>2]|0;f[n>>2]=f[l+8>>2];f[a>>2]=f[l+12>>2];e=f[l+16>>2]|0;f[s>>2]=e;e=ie(ie(e<<2,f[n>>2]|0)|0,f[a>>2]|0)|0;f[t>>2]=e;t=yl(e)|0;f[r>>2]=t;switch(f[s>>2]|0){case 1:{Nl(t|0,f[(f[l+24>>2]|0)+44>>2]|0,e|0)|0;break}case 3:{if((ie(f[a>>2]|0,f[n>>2]|0)|0)>0){i=f[l+24>>2]|0;l=f[i+44>>2]|0;e=f[i+96>>2]|0;i=f[i+148>>2]|0;o=0;do{s=o*3|0;f[t+(s<<2)>>2]=f[l+(o<<2)>>2];f[t+(s+1<<2)>>2]=f[e+(o<<2)>>2];f[t+(s+2<<2)>>2]=f[i+(o<<2)>>2];o=o+1|0}while((o|0)<(ie(f[a>>2]|0,f[n>>2]|0)|0))}break}default:{}}Tt(u);gn(h);Gt(f[d>>2]|0);a=0;c=b;return a|0}function at(){return en()|0}function st(e,i){e=e|0;i=i|0;return}function lt(e,i){e=e|0;i=i|0;return}function ot(e,i){e=e|0;i=i|0;var r=0;i=c;c=c+16|0;r=i;f[r>>2]=e;rl(4625,r)|0;c=i;return}function ut(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0;s=c;c=c+16|0;a=s;f[a>>2]=i;if(!r){c=s;return}i=e;n=0;e=a+(r+-1)|0;while(1){t[i>>0]=t[e>>0]|0;n=n+1|0;if((n|0)==(r|0))break;else{i=i+1|0;e=e+-1|0}}c=s;return}function ct(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;f[i>>2]=0;if(!r)return;n=0;i=i+(r+-1)|0;while(1){t[i>>0]=t[e>>0]|0;n=n+1|0;if((n|0)==(r|0))break;else{e=e+1|0;i=i+-1|0}}return}function dt(e,i){e=e|0;i=+i;var r=0,n=0,a=0,s=0,l=0;r=c;c=c+16|0;s=r;u[s>>3]=i;s=s+8|0;u[h>>3]=i;n=f[h>>2]|0;a=f[h+4>>2]|0;l=Bl(n|0,a|0,56)|0;t[e>>0]=l;l=Bl(n|0,a|0,48)|0;t[e+1>>0]=l;l=Bl(n|0,a|0,40)|0;t[e+2>>0]=l;t[e+3>>0]=a;t[e+4>>0]=t[s+-5>>0]|0;t[e+5>>0]=t[s+-6>>0]|0;a=Bl(n|0,a|0,8)|0;t[e+6>>0]=a;t[e+7>>0]=n;c=r;return}function ht(e,i){e=e|0;i=i|0;var r=0;r=i+8|0;t[r+-1>>0]=t[e>>0]|0;t[r+-2>>0]=t[e+1>>0]|0;t[r+-3>>0]=t[e+2>>0]|0;t[r+-4>>0]=t[e+3>>0]|0;t[r+-5>>0]=t[e+4>>0]|0;t[r+-6>>0]=t[e+5>>0]|0;t[r+-7>>0]=t[e+6>>0]|0;t[i>>0]=t[e+7>>0]|0;return}function bt(e,i){e=e|0;i=+i;var r=0;r=(o[h>>2]=i,f[h>>2]|0);t[e>>0]=r>>>24;t[e+1>>0]=r>>>16;t[e+2>>0]=r>>>8;t[e+3>>0]=r;return}function kt(e,i){e=e|0;i=i|0;var r=0;r=i+4|0;t[r+-1>>0]=t[e>>0]|0;t[r+-2>>0]=t[e+1>>0]|0;t[r+-3>>0]=t[e+2>>0]|0;t[i>>0]=t[e+3>>0]|0;return}function wt(e,i){e=e|0;i=i|0;var r=0,t=0;t=Fn(1,72)|0;if(!t){i=0;return i|0}f[t+64>>2]=e;e=Nn(e)|0;f[t+32>>2]=e;if(!e){Yn(t);i=0;return i|0}f[t+36>>2]=e;e=t+68|0;r=f[e>>2]|0;if(!i){f[e>>2]=r|1;f[t+40>>2]=31;f[t+44>>2]=32}else{f[e>>2]=r|2;f[t+40>>2]=29;f[t+44>>2]=30}f[t+16>>2]=4;f[t+20>>2]=5;f[t+24>>2]=6;f[t+28>>2]=7;i=t;return i|0}function mt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0;h=c;c=c+16|0;d=h;n=e+48|0;a=f[n>>2]|0;if(a>>>0>=i>>>0){d=e+36|0;f[d>>2]=(f[d>>2]|0)+i;f[n>>2]=a-i;d=e+56|0;e=d;e=Il(f[e>>2]|0,f[e+4>>2]|0,i|0,r|0)|0;f[d>>2]=e;f[d+4>>2]=D;d=r;e=i;D=d;c=h;return e|0}u=e+68|0;if(f[u>>2]&4){d=e+36|0;f[d>>2]=(f[d>>2]|0)+a;f[n>>2]=0;e=e+56|0;d=e;d=Il(f[d>>2]|0,f[d+4>>2]|0,a|0,0)|0;f[e>>2]=d;f[e+4>>2]=D;e=(a|0)!=0;d=e?0:-1;e=e?a:-1;D=d;c=h;return e|0}if(!a){a=0;n=0}else{f[e+36>>2]=f[e+32>>2];i=Dl(i|0,r|0,a|0,0)|0;f[n>>2]=0;n=0;r=D}e:do if((r|0)>0|(r|0)==0&i>>>0>0){o=e+24|0;while(1){s=vo[f[o>>2]&63](i,r,f[e>>2]|0)|0;l=D;if((s|0)==-1&(l|0)==-1)break;i=Dl(i|0,r|0,s|0,l|0)|0;r=D;a=Il(s|0,l|0,a|0,n|0)|0;n=D;if(!((r|0)>0|(r|0)==0&i>>>0>0))break e}Ht(t,4,4636,d)|0;f[u>>2]=f[u>>2]|4;e=e+56|0;d=e;d=Il(f[d>>2]|0,f[d+4>>2]|0,a|0,n|0)|0;f[e>>2]=d;f[e+4>>2]=D;e=(a|0)!=0|(n|0)!=0;d=e?n:-1;e=e?a:-1;D=d;c=h;return e|0}while(0)d=e+56|0;e=d;e=Il(f[e>>2]|0,f[e+4>>2]|0,a|0,n|0)|0;f[d>>2]=e;f[d+4>>2]=D;d=n;e=a;D=d;c=h;return e|0}function _t(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;f[e+36>>2]=f[e+32>>2];f[e+48>>2]=0;a=(vo[f[e+28>>2]&63](i,r,f[e>>2]|0)|0)==0;t=e+68|0;n=f[t>>2]|0;if(a){f[t>>2]=n|4;a=0;return a|0}else{f[t>>2]=n&-5;a=e+56|0;f[a>>2]=i;f[a+4>>2]=r;a=1;return a|0}return 0}function pt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;m=c;c=c+16|0;w=m+8|0;d=m;k=e+68|0;if(f[k>>2]&8){w=-1;e=-1;D=w;c=m;return e|0}o=e+32|0;n=f[o>>2]|0;b=e+36|0;f[b>>2]=n;u=e+48|0;a=f[u>>2]|0;do if(a){l=e+20|0;while(1){s=vo[f[l>>2]&63](n,a,f[e>>2]|0)|0;if((s|0)==-1)break;n=(f[b>>2]|0)+s|0;f[b>>2]=n;_=f[u>>2]|0;a=_-s|0;f[u>>2]=a;if((_|0)==(s|0)){h=6;break}}if((h|0)==6){n=f[o>>2]|0;break}f[k>>2]=f[k>>2]|8;Ht(t,4,4662,d)|0;f[k>>2]=f[k>>2]|8;f[u>>2]=0;e=-1;_=-1;D=e;c=m;return _|0}while(0)f[b>>2]=n;e:do if((r|0)>0|(r|0)==0&i>>>0>0){o=e+24|0;a=0;n=0;while(1){s=vo[f[o>>2]&63](i,r,f[e>>2]|0)|0;l=D;if((s|0)==-1&(l|0)==-1)break;i=Dl(i|0,r|0,s|0,l|0)|0;r=D;a=Il(s|0,l|0,a|0,n|0)|0;n=D;if(!((r|0)>0|(r|0)==0&i>>>0>0))break e}Ht(t,4,4688,w)|0;f[k>>2]=f[k>>2]|8;_=e+56|0;e=_;e=Il(f[e>>2]|0,f[e+4>>2]|0,a|0,n|0)|0;f[_>>2]=e;f[_+4>>2]=D;_=(a|0)!=0|(n|0)!=0;e=_?n:-1;_=_?a:-1;D=e;c=m;return _|0}else{a=0;n=0}while(0)e=e+56|0;_=e;_=Il(f[_>>2]|0,f[_+4>>2]|0,a|0,n|0)|0;f[e>>2]=_;f[e+4>>2]=D;e=n;_=a;D=e;c=m;return _|0}function vt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;k=c;c=c+16|0;o=k;d=e+32|0;n=f[d>>2]|0;h=e+36|0;f[h>>2]=n;b=e+48|0;a=f[b>>2]|0;do if(!a)a=e;else{l=e+20|0;while(1){s=vo[f[l>>2]&63](n,a,f[e>>2]|0)|0;if((s|0)==-1)break;n=(f[h>>2]|0)+s|0;f[h>>2]=n;w=f[b>>2]|0;a=w-s|0;f[b>>2]=a;if((w|0)==(s|0)){u=6;break}}if((u|0)==6){a=e;n=f[d>>2]|0;break}w=e+68|0;f[w>>2]=f[w>>2]|8;Ht(t,4,4662,o)|0;f[w>>2]=f[w>>2]|8;w=0;c=k;return w|0}while(0)f[h>>2]=n;f[b>>2]=0;if(!(vo[f[e+28>>2]&63](i,r,f[a>>2]|0)|0)){w=e+68|0;f[w>>2]=f[w>>2]|8;w=0;c=k;return w|0}else{w=e+56|0;f[w>>2]=i;f[w+4>>2]=r;w=1;c=k;return w|0}return 0}function gt(e,i,r){e=e|0;i=i|0;r=r|0;return-1}function yt(e,i,r){e=e|0;i=i|0;r=r|0;return-1}function Et(e,i,r){e=e|0;i=i|0;r=r|0;D=-1;return-1}function At(e,i,r){e=e|0;i=i|0;r=r|0;return 0}function St(e){e=e|0;var i=0,r=0,t=0;t=Fn(1,72)|0;if(!t){e=0;return e|0}f[t+64>>2]=1048576;i=Nn(1048576)|0;f[t+32>>2]=i;if(!i){Yn(t);e=0;return e|0}f[t+36>>2]=i;i=t+68|0;r=f[i>>2]|0;if(!e){f[i>>2]=r|1;f[t+40>>2]=31;f[t+44>>2]=32}else{f[i>>2]=r|2;f[t+40>>2]=29;f[t+44>>2]=30}f[t+16>>2]=4;f[t+20>>2]=5;f[t+24>>2]=6;f[t+28>>2]=7;e=t;return e|0}function Tt(e){e=e|0;var i=0;if(!e)return;i=f[e+4>>2]|0;if(i)yo[i&7](f[e>>2]|0);i=e+32|0;Yn(f[i>>2]|0);f[i>>2]=0;Yn(e);return}function Mt(e,i){e=e|0;i=i|0;if(!e)return;if(!(f[e+68>>2]&2))return;f[e+16>>2]=i;return}function Ct(e,i){e=e|0;i=i|0;if(!e)return;f[e+28>>2]=i;return}function Pt(e,i){e=e|0;i=i|0;if(!e)return;if(!(f[e+68>>2]&1))return;f[e+20>>2]=i;return}function xt(e,i){e=e|0;i=i|0;if(!e)return;f[e+24>>2]=i;return}function Dt(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;f[e>>2]=i;f[e+4>>2]=r;return}function Rt(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;e=e+8|0;f[e>>2]=i;f[e+4>>2]=r;return}function Ot(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0;y=c;c=c+16|0;_=y+8|0;m=y;g=e+48|0;n=f[g>>2]|0;if(n>>>0>=r>>>0){v=e+36|0;Nl(i|0,f[v>>2]|0,r|0)|0;f[v>>2]=(f[v>>2]|0)+r;f[g>>2]=(f[g>>2]|0)-r;g=e+56|0;v=g;v=Il(f[v>>2]|0,f[v+4>>2]|0,r|0,0)|0;f[g>>2]=v;f[g+4>>2]=D;g=r;c=y;return g|0}p=e+68|0;if(f[p>>2]&4){v=e+36|0;Nl(i|0,f[v>>2]|0,n|0)|0;t=f[g>>2]|0;f[v>>2]=(f[v>>2]|0)+t;v=e+56|0;p=v;t=Il(f[p>>2]|0,f[p+4>>2]|0,t|0,0)|0;f[v>>2]=t;f[v+4>>2]=D;f[g>>2]=0;g=(n|0)!=0?n:-1;c=y;return g|0}if(!n){b=e+32|0;a=f[b>>2]|0;k=e+36|0;f[k>>2]=a;w=k;v=e+56|0;n=0}else{k=e+36|0;Nl(i|0,f[k>>2]|0,n|0)|0;b=e+32|0;a=f[b>>2]|0;f[k>>2]=a;w=f[g>>2]|0;v=e+56|0;d=v;d=Il(f[d>>2]|0,f[d+4>>2]|0,w|0,0)|0;h=v;f[h>>2]=d;f[h+4>>2]=D;f[g>>2]=0;r=r-w|0;i=i+w|0;w=k}d=e+64|0;h=e+16|0;u=i;s=a;while(1){i=f[d>>2]|0;a=f[h>>2]|0;if(r>>>0<i>>>0){a=vo[a&63](s,i,f[e>>2]|0)|0;f[g>>2]=a;if((a|0)==-1){a=11;break}if(a>>>0>=r>>>0){i=u;a=14;break}Nl(u|0,f[w>>2]|0,a|0)|0;s=f[b>>2]|0;f[k>>2]=s;i=f[g>>2]|0;l=v;l=Il(f[l>>2]|0,f[l+4>>2]|0,i|0,0)|0;o=D;n=a+n|0}else{i=vo[a&63](u,r,f[e>>2]|0)|0;f[g>>2]=i;if((i|0)==-1){a=16;break}n=i+n|0;if(i>>>0>=r>>>0){a=20;break}s=f[b>>2]|0;f[k>>2]=s;l=v;l=Il(f[l>>2]|0,f[l+4>>2]|0,i|0,0)|0;o=D}a=v;f[a>>2]=l;f[a+4>>2]=o;f[g>>2]=0;r=r-i|0;u=u+i|0}if((a|0)==11){Ht(t,4,4636,m)|0;f[g>>2]=0;f[p>>2]=f[p>>2]|4;g=(n|0)!=0?n:-1;c=y;return g|0}else if((a|0)==14){Nl(i|0,f[w>>2]|0,r|0)|0;f[w>>2]=(f[w>>2]|0)+r;f[g>>2]=(f[g>>2]|0)-r;t=v;t=Il(f[t>>2]|0,f[t+4>>2]|0,r|0,0)|0;g=v;f[g>>2]=t;f[g+4>>2]=D;g=n+r|0;c=y;return g|0}else if((a|0)==16){Ht(t,4,4636,_)|0;f[g>>2]=0;f[p>>2]=f[p>>2]|4;g=(n|0)!=0?n:-1;c=y;return g|0}else if((a|0)==20){t=v;t=Il(f[t>>2]|0,f[t+4>>2]|0,i|0,0)|0;f[v>>2]=t;f[v+4>>2]=D;f[k>>2]=f[b>>2];f[g>>2]=0;g=n;c=y;return g|0}return 0}function Lt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0;v=c;c=c+16|0;m=v;h=e+68|0;if(f[h>>2]&8){p=-1;c=v;return p|0}w=e+64|0;n=f[w>>2]|0;p=e+48|0;o=f[p>>2]|0;a=n-o|0;do if(a>>>0<r>>>0){b=e+32|0;s=e+36|0;k=e+20|0;l=e+56|0;u=n;d=a;n=0;e:while(1){if((u|0)==(o|0))a=f[b>>2]|0;else{Nl(f[s>>2]|0,i|0,d|0)|0;a=f[b>>2]|0;f[s>>2]=a;o=(f[p>>2]|0)+d|0;f[p>>2]=o;g=l;g=Il(f[g>>2]|0,f[g+4>>2]|0,d|0,0)|0;u=l;f[u>>2]=g;f[u+4>>2]=D;r=r-d|0;i=i+d|0;n=d+n|0}f[s>>2]=a;if(!o)o=0;else{do{u=vo[f[k>>2]&63](a,o,f[e>>2]|0)|0;if((u|0)==-1)break e;a=(f[s>>2]|0)+u|0;f[s>>2]=a;g=f[p>>2]|0;o=g-u|0;f[p>>2]=o}while((g|0)!=(u|0))a=f[b>>2]|0}f[s>>2]=a;u=f[w>>2]|0;d=u-o|0;if(r>>>0<=d>>>0){_=5;break}}if((_|0)==5)break;f[h>>2]=f[h>>2]|8;Ht(t,4,4662,m)|0;g=-1;c=v;return g|0}else{a=e+36|0;l=e+56|0;s=a;a=f[a>>2]|0;n=0}while(0)Nl(a|0,i|0,r|0)|0;f[s>>2]=(f[s>>2]|0)+r;f[p>>2]=(f[p>>2]|0)+r;p=l;p=Il(f[p>>2]|0,f[p+4>>2]|0,r|0,0)|0;g=l;f[g>>2]=p;f[g+4>>2]=D;g=n+r|0;c=v;return g|0}function It(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0;h=c;c=c+16|0;o=h;a=e+32|0;r=f[a>>2]|0;d=e+36|0;f[d>>2]=r;s=e+48|0;t=f[s>>2]|0;do if(t){l=e+20|0;while(1){n=vo[f[l>>2]&63](r,t,f[e>>2]|0)|0;if((n|0)==-1)break;r=(f[d>>2]|0)+n|0;f[d>>2]=r;b=f[s>>2]|0;t=b-n|0;f[s>>2]=t;if((b|0)==(n|0)){u=6;break}}if((u|0)==6){r=f[a>>2]|0;break}b=e+68|0;f[b>>2]=f[b>>2]|8;Ht(i,4,4662,o)|0;b=0;c=h;return b|0}while(0)f[d>>2]=r;b=1;c=h;return b|0}function Bt(e){e=e|0;e=e+56|0;D=f[e+4>>2]|0;return f[e>>2]|0}function Nt(e){e=e|0;var i=0,r=0;r=e+8|0;i=f[r>>2]|0;r=f[r+4>>2]|0;if((i|0)==0&(r|0)==0){r=0;e=0;D=r;return e|0}e=e+56|0;e=Dl(i|0,r|0,f[e>>2]|0,f[e+4>>2]|0)|0;r=D;D=r;return e|0}function Ft(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Co[f[e+40>>2]&63](e,i,r,t)|0;return e|0}function jt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Co[f[e+44>>2]&63](e,i,r,t)|0}function Ut(e){e=e|0;return(f[e+28>>2]|0)!=7|0}function Ht(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0;l=c;c=c+528|0;a=l;s=l+16|0;e:do if(e){switch(i|0){case 1:{i=e;n=e+12|0;break}case 2:{i=e+4|0;n=e+16|0;break}case 4:{i=e+8|0;n=e+20|0;break}default:{i=0;break e}}e=f[i>>2]|0;i=f[n>>2]|0;if(i)if(!r)i=1;else{Ol(s|0,0,512)|0;f[a>>2]=t;al(s,512,r,a)|0;Eo[i&7](s,e);i=1}else i=0}else i=0;while(0)c=l;return i|0}function Yt(e){e=e|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=4;f[e+20>>2]=4;f[e+16>>2]=4;return}function qt(e,i){e=e|0;i=i|0;return}function zt(){return Fn(1,36)|0}function Xt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0;t=Fn(1,36)|0;if(!t){l=t;return l|0}f[t+20>>2]=r;s=t+16|0;f[s>>2]=e;r=Fn(1,e*52|0)|0;l=t+24|0;f[l>>2]=r;if(!r){r=f[t+28>>2]|0;if(r)Yn(r);Yn(t);l=0;return l|0}if(!e){l=t;return l|0}n=0;while(1){f[r+(n*52|0)>>2]=f[i+(n*36|0)>>2];f[r+(n*52|0)+4>>2]=f[i+(n*36|0)+4>>2];o=f[i+(n*36|0)+8>>2]|0;f[r+(n*52|0)+8>>2]=o;u=f[i+(n*36|0)+12>>2]|0;f[r+(n*52|0)+12>>2]=u;f[r+(n*52|0)+16>>2]=f[i+(n*36|0)+16>>2];f[r+(n*52|0)+20>>2]=f[i+(n*36|0)+20>>2];f[r+(n*52|0)+24>>2]=f[i+(n*36|0)+24>>2];f[r+(n*52|0)+28>>2]=f[i+(n*36|0)+28>>2];f[r+(n*52|0)+32>>2]=f[i+(n*36|0)+32>>2];o=Fn(ie(u,o)|0,4)|0;f[r+(n*52|0)+44>>2]=o;n=n+1|0;if(!o)break;if(n>>>0>=e>>>0){a=22;break}r=f[l>>2]|0}if((a|0)==22)return t|0;r=f[l>>2]|0;if(r){n=f[s>>2]|0;if(n){i=0;while(1){r=f[r+(i*52|0)+44>>2]|0;if(r){Yn(r);n=f[s>>2]|0}i=i+1|0;if(i>>>0>=n>>>0)break;r=f[l>>2]|0}r=f[l>>2]|0}Yn(r)}r=f[t+28>>2]|0;if(r)Yn(r);Yn(t);u=0;return u|0}function Gt(e){e=e|0;var i=0,r=0,t=0,n=0,a=0;if(!e)return;n=e+24|0;i=f[n>>2]|0;if(i){a=e+16|0;r=f[a>>2]|0;if(r){t=0;while(1){i=f[i+(t*52|0)+44>>2]|0;if(i){Yn(i);r=f[a>>2]|0}t=t+1|0;if(t>>>0>=r>>>0)break;i=f[n>>2]|0}i=f[n>>2]|0}Yn(i)}i=f[e+28>>2]|0;if(i)Yn(i);Yn(e);return}function Vt(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0;r=f[i+4>>2]|0;t=f[e>>2]|0;a=f[i+8>>2]|0;s=f[e+4>>2]|0;n=f[i+12>>2]|0;c=(ie((f[i+24>>2]|0)+-1|0,n)|0)+r|0;l=f[i+16>>2]|0;o=(ie((f[i+28>>2]|0)+-1|0,l)|0)+a|0;i=Il(c|0,0,n|0,0)|0;i=i|0-D;n=f[e+8>>2]|0;l=Il(o|0,0,l|0,0)|0;l=l|0-D;o=f[e+12>>2]|0;c=f[e+16>>2]|0;if(!c)return;u=(r>>>0>t>>>0?r:t)+-1|0;a=(a>>>0>s>>>0?a:s)+-1|0;n=(i>>>0<n>>>0?i:n)+-1|0;r=(l>>>0<o>>>0?l:o)+-1|0;t=0;i=f[e+24>>2]|0;while(1){s=f[i>>2]|0;o=((u+s|0)>>>0)/(s>>>0)|0;b=f[i+4>>2]|0;e=((a+b|0)>>>0)/(b>>>0)|0;l=f[i+40>>2]|0;h=Ll(1,0,l|0)|0;d=D;s=Il((((n+s|0)>>>0)/(s>>>0)|0)-o|0,0,-1,-1)|0;s=Il(s|0,D|0,h|0,d|0)|0;s=Bl(s|0,D|0,l|0)|0;b=Il((((r+b|0)>>>0)/(b>>>0)|0)-e|0,0,-1,-1)|0;d=Il(b|0,D|0,h|0,d|0)|0;l=Bl(d|0,D|0,l|0)|0;f[i+8>>2]=s;f[i+12>>2]=l;f[i+16>>2]=o;f[i+20>>2]=e;t=t+1|0;if(t>>>0>=c>>>0)break;else i=i+52|0}return}function Kt(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];o=i+24|0;t=f[o>>2]|0;l=i+16|0;if(!t)r=o;else{r=f[l>>2]|0;if(!r)r=o;else{n=0;while(1){t=f[t+(n*52|0)+44>>2]|0;if(t){Yn(t);r=f[l>>2]|0}n=n+1|0;if(n>>>0>=r>>>0)break;t=f[o>>2]|0}r=o;t=f[o>>2]|0}Yn(t);f[o>>2]=0}t=f[e+16>>2]|0;f[l>>2]=t;t=Nn(t*52|0)|0;f[r>>2]=t;if(!t){f[o>>2]=0;f[l>>2]=0;return}if(f[l>>2]|0){s=e+24|0;a=0;do{r=t+(a*52|0)|0;t=(f[s>>2]|0)+(a*52|0)|0;n=r+52|0;do{f[r>>2]=f[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(n|0))t=f[o>>2]|0;f[t+(a*52|0)+44>>2]=0;a=a+1|0}while(a>>>0<(f[l>>2]|0)>>>0)}f[i+20>>2]=f[e+20>>2];n=e+32|0;r=f[n>>2]|0;a=i+32|0;f[a>>2]=r;if(!r){f[i+28>>2]=0;return}t=Nn(r)|0;r=i+28|0;f[r>>2]=t;if(!t){f[r>>2]=0;f[a>>2]=0;return}else{Nl(t|0,f[e+28>>2]|0,f[n>>2]|0)|0;return}}function Wt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=Fn(1,36)|0;if(!t){e=t;return e|0}f[t+20>>2]=r;f[t+16>>2]=e;r=Fn(e,52)|0;f[t+24>>2]=r;if(!r){r=f[t+28>>2]|0;if(r)Yn(r);Yn(t);e=0;return e|0}else{if(!e){e=t;return e|0}else n=0;do{f[r+(n*52|0)>>2]=f[i+(n*36|0)>>2];f[r+(n*52|0)+4>>2]=f[i+(n*36|0)+4>>2];f[r+(n*52|0)+8>>2]=f[i+(n*36|0)+8>>2];f[r+(n*52|0)+12>>2]=f[i+(n*36|0)+12>>2];f[r+(n*52|0)+16>>2]=f[i+(n*36|0)+16>>2];f[r+(n*52|0)+20>>2]=f[i+(n*36|0)+20>>2];f[r+(n*52|0)+24>>2]=f[i+(n*36|0)+24>>2];f[r+(n*52|0)+32>>2]=f[i+(n*36|0)+32>>2];f[r+(n*52|0)+44>>2]=0;n=n+1|0}while((n|0)!=(e|0))return t|0}return 0}function Jt(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}f[e+64>>2]=i;f[e+52>>2]=r;r=1;return r|0}function Qt(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}f[e+60>>2]=i;f[e+48>>2]=r;r=1;return r|0}function Zt(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}f[e+56>>2]=i;f[e+44>>2]=r;r=1;return r|0}function $t(e,i){e=e|0;i=i|0;var r=0;if(!e){e=0;return e|0}r=St(i)|0;if(!r){e=0;return e|0}Dt(r,e,0);Rt(r,f[e+8>>2]|0,0);if(!i)Pt(r,9);else Mt(r,8);xt(r,1);Ct(r,10);e=r;return e|0}function en(){return 4703}function rn(e){e=e|0;var i=0;i=Fn(1,84)|0;if(!i){e=0;return e|0}f[i+68>>2]=1;switch(e|0){case 0:{f[i+72>>2]=13;f[i+76>>2]=2;f[i+80>>2]=3;f[i+4>>2]=33;f[i+16>>2]=11;f[i>>2]=34;f[i+20>>2]=1;f[i+24>>2]=5;f[i+8>>2]=1;f[i+12>>2]=1;f[i+28>>2]=1;f[i+32>>2]=1;f[i+36>>2]=12;e=rf()|0;f[i+40>>2]=e;if(!e){Yn(i);e=0;return e|0}break}
40
+ case 2:{f[i+72>>2]=14;f[i+76>>2]=4;f[i+80>>2]=5;f[i+4>>2]=35;f[i+16>>2]=13;f[i>>2]=36;f[i+8>>2]=2;f[i+12>>2]=2;f[i+20>>2]=2;f[i+24>>2]=6;f[i+28>>2]=2;f[i+32>>2]=2;f[i+36>>2]=14;e=Bi(1)|0;f[i+40>>2]=e;if(!e){Yn(i);e=0;return e|0}break}default:{Yn(i);e=0;return e|0}}Yt(i+44|0);e=i;return e|0}function tn(e){e=e|0;if(!e)return;Ol(e|0,0,8248)|0;f[e+8200>>2]=-1;f[e+8204>>2]=-1;f[e+8248>>2]=0;return}function nn(e,i){e=e|0;i=i|0;var r=0;r=c;c=c+16|0;if(!((e|0)!=0&(i|0)!=0)){i=0;c=r;return i|0}if(!(f[e+68>>2]|0)){Ht(e+44|0,1,4709,r)|0;i=0;c=r;return i|0}else{Eo[f[e+24>>2]&7](f[e+40>>2]|0,i);i=1;c=r;return i|0}return 0}function fn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=c;c=c+16|0;if(!((e|0)!=0&(i|0)!=0)){e=0;c=t;return e|0}if(!(f[i+68>>2]|0)){Ht(i+44|0,1,4790,t)|0;e=0;c=t;return e|0}else{e=Co[f[i>>2]&63](e,f[i+40>>2]|0,r,i+44|0)|0;c=t;return e|0}return 0}function an(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(!(f[e+68>>2]|0)){i=0;return i|0}i=Co[f[e+4>>2]&63](f[e+40>>2]|0,i,r,e+44|0)|0;return i|0}function sn(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;if(!e){t=0;return t|0}if(!(f[e+68>>2]|0)){t=0;return t|0}t=po[f[e+28>>2]&3](f[e+40>>2]|0,i,r,t,n,a,e+44|0)|0;return t|0}function ln(e,i,r,t,n,a,s,l,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;if(!((r|0)!=0&((e|0)!=0&(i|0)!=0&(t|0)!=0))){l=0;return l|0}if(!(f[e+68>>2]|0)){l=0;return l|0}l=Mo[f[e+8>>2]&3](f[e+40>>2]|0,r,t,n,a,s,l,o,u,i,e+44|0)|0;return l|0}function on(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;if(!((e|0)!=0&(r|0)!=0&(n|0)!=0)){i=0;return i|0}if(!(f[e+68>>2]|0)){i=0;return i|0}i=Ao[f[e+12>>2]&7](f[e+40>>2]|0,i,r,t,n,e+44|0)|0;return i|0}function un(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if(!((e|0)!=0&(i|0)!=0)){t=0;return t|0}if(!(f[e+68>>2]|0)){t=0;return t|0}t=xo[f[e+32>>2]&3](f[e+40>>2]|0,i,r,e+44|0,t)|0;return t|0}function cn(e,i){e=e|0;i=i|0;if(!e){i=0;return i|0}i=vo[f[e+36>>2]&63](f[e+40>>2]|0,i,e+44|0)|0;return i|0}function dn(e){e=e|0;var i=0;i=Fn(1,84)|0;if(!i){e=0;return e|0}f[i+68>>2]=0;switch(e|0){case 0:{f[i+4>>2]=15;f[i+12>>2]=16;f[i>>2]=37;f[i+8>>2]=3;f[i+16>>2]=1;f[i+20>>2]=38;e=Xn()|0;f[i+40>>2]=e;if(!e){Yn(i);e=0;return e|0}break}case 2:{f[i+4>>2]=17;f[i+12>>2]=18;f[i>>2]=39;f[i+8>>2]=4;f[i+16>>2]=2;f[i+20>>2]=40;e=Bi(0)|0;f[i+40>>2]=e;if(!e){Yn(i);e=0;return e|0}break}default:{Yn(i);e=0;return e|0}}Yt(i+44|0);e=i;return e|0}function hn(e){e=e|0;if(!e)return;Ol(e|0,0,18708)|0;f[e+5592>>2]=6;f[e+18684>>2]=0;f[e+5596>>2]=64;f[e+5600>>2]=64;f[e+44>>2]=0;f[e+5612>>2]=-1;f[e+18188>>2]=1;f[e+18192>>2]=1;t[e+18688>>0]=0;f[e+18196>>2]=-1;f[e+18200>>2]=-1;o[e+4792>>2]=0;f[e+4788>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;f[e+18692>>2]=0;return}function bn(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){i=0;return i|0}if(f[e+68>>2]|0){i=0;return i|0}i=Co[f[e+20>>2]&63](f[e+40>>2]|0,i,r,e+44|0)|0;return i|0}function kn(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(r|0)!=0)){r=0;return r|0}if(f[e+68>>2]|0){r=0;return r|0}r=Co[f[e>>2]&63](f[e+40>>2]|0,r,i,e+44|0)|0;return r|0}function wn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(f[e+68>>2]|0){i=0;return i|0}i=vo[f[e+4>>2]&63](f[e+40>>2]|0,i,e+44|0)|0;return i|0}function mn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(f[e+68>>2]|0){i=0;return i|0}i=vo[f[e+12>>2]&63](f[e+40>>2]|0,i,e+44|0)|0;return i|0}function _n(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(!(f[e+68>>2]|0)){i=0;return i|0}i=vo[f[e+16>>2]&63](f[e+40>>2]|0,i,e+44|0)|0;return i|0}function pn(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var l=0,o=0,u=0;u=a<<2;l=ie(u,a)|0;o=e+18704|0;a=s[o>>1]|0;n[o>>1]=(a&32768|0)==0?-32512:(a|256)&65535;f[e+5608>>2]=1;t[e+18690>>0]=2;o=Nn(l+u|0)|0;a=e+18696|0;f[a>>2]=o;if(!o){r=0;return r|0}Nl(o|0,i|0,l|0)|0;Nl((f[a>>2]|0)+l|0,r|0,u|0)|0;r=1;return r|0}function vn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;if(!((r|0)!=0&((e|0)!=0&(n|0)!=0))){i=0;return i|0}if(f[e+68>>2]|0){i=0;return i|0}i=Ao[f[e+8>>2]&7](f[e+40>>2]|0,i,r,t,n,e+44|0)|0;return i|0}function gn(e){e=e|0;var i=0,r=0;if(!e)return;i=e+40|0;r=f[i>>2]|0;if(!(f[e+68>>2]|0))yo[f[e+16>>2]&7](r);else yo[f[e+20>>2]&7](r);f[i>>2]=0;Yn(e);return}function yn(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;To[f[e+72>>2]&15](f[e+40>>2]|0,i,r);return}function En(e){e=e|0;if(!e){e=0;return e|0}e=So[f[e+76>>2]&15](f[e+40>>2]|0)|0;return e|0}function An(e){e=e|0;var i=0,r=0;if(!e)return;i=f[e>>2]|0;r=f[i+48>>2]|0;if(r){Yn(r);i=f[e>>2]|0}Yn(i);f[e>>2]=0;return}function Sn(e){e=e|0;if(!e){e=0;return e|0}e=So[f[e+80>>2]&15](f[e+40>>2]|0)|0;return e|0}function Tn(e){e=e|0;var i=0;i=f[e>>2]|0;if(!i)return;Qn(i);f[e>>2]=0;return}function Mn(e,i){e=e|0;i=i|0;return Cn(e,1048576,i)|0}function Cn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!e){i=0;return i|0}t=qs(e,(r|0)==0?4869:4872)|0;if(!t){i=0;return i|0}e=wt(i,r)|0;if(!e){Hs(t)|0;i=0;return i|0}else{Dt(e,t,6);Js(t,0,2)|0;i=$s(t)|0;Js(t,0,0)|0;Rt(e,i,((i|0)<0)<<31>>31);Mt(e,19);Pt(e,20);xt(e,21);Ct(e,22);i=e;return i|0}return 0}function Pn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;a=(f[r>>2]|0)+(f[r+8>>2]|0)|0;r=r+4|0;t=f[r>>2]|0;n=a-t|0;if((a|0)==(t|0)){a=-1;return a|0}a=n>>>0>i>>>0?i:n;Nl(e|0,t|0,a|0)|0;f[r>>2]=(f[r>>2]|0)+a;return a|0}function xn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0;u=r+4|0;t=f[u>>2]|0;l=r+8|0;a=f[l>>2]|0;o=t-(f[r>>2]|0)|0;n=(a|0)==0?1:a;while(1)if((n-o|0)>>>0<i>>>0)n=n<<1;else{s=n;break}if((s|0)!=(a|0)){t=Nn(s)|0;if(!t){i=-1;return i|0}n=f[r>>2]|0;if(n){Nl(t|0,n|0,o|0)|0;Yn(f[r>>2]|0)}f[r>>2]=t;t=t+o|0;f[u>>2]=t;f[l>>2]=s}Nl(t|0,e|0,i|0)|0;f[u>>2]=(f[u>>2]|0)+i;return i|0}function Dn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;n=(f[i>>2]|0)+(f[i+8>>2]|0)|0;i=i+4|0;r=f[i>>2]|0;t=n-r|0;if((n|0)==(r|0)){n=-1;return n|0}f[i>>2]=r+e;n=t>>>0>e>>>0?e:t;return n|0}function Rn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=f[r+8>>2]|0;f[r+4>>2]=(f[r>>2]|0)+(0>(i|0)|0==(i|0)&t>>>0>e>>>0?e:t);return 1}function On(e,i,r){e=e|0;i=i|0;r=r|0;i=Vs(e,1,i,r)|0;return((i|0)!=0?i:-1)|0}function Ln(e,i,r){e=e|0;i=i|0;r=r|0;return il(e,1,i,r)|0}function In(e,i,r){e=e|0;i=i|0;r=r|0;r=(Js(r,e,1)|0)==0;D=r?i:-1;return(r?e:-1)|0}function Bn(e,i,r){e=e|0;i=i|0;r=r|0;return(Js(r,e,0)|0)==0|0}function Nn(e){e=e|0;if(!e)e=0;else e=yl(e)|0;return e|0}function Fn(e,i){e=e|0;i=i|0;if(!i)e=0;else e=Al(e,i)|0;return e|0}function jn(e){e=e|0;var i=0,r=0;r=c;c=c+16|0;i=r;do if(e)if(!(Tl(i,16,e)|0)){i=f[i>>2]|0;break}else{f[i>>2]=0;i=0;break}else i=0;while(0)c=r;return i|0}function Un(e){e=e|0;El(e);return}function Hn(e,i){e=e|0;i=i|0;if(!i)i=0;else i=Sl(e,i)|0;return i|0}function Yn(e){e=e|0;El(e);return}function qn(e){e=e|0;var i=0,r=0;i=696;while(1){r=f[i>>2]|0;if((r|0)==-1|(r|0)==(e|0))break;else i=i+12|0}return i+4|0}function zn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0))return;f[e+172>>2]=f[i+4>>2];f[e+168>>2]=f[i>>2];return}function Xn(){var e=0,i=0;e=Fn(1,208)|0;if(!e){e=0;return e|0}f[e>>2]=0;i=e+184|0;t[i>>0]=t[i>>0]&-3;i=Nn(1e3)|0;f[e+44>>2]=i;if(!i){Gn(e);i=0;return i|0}f[e+48>>2]=1e3;i=sa()|0;f[e+192>>2]=i;if(!i){Gn(e);i=0;return i|0}i=sa()|0;f[e+188>>2]=i;if(i){i=e;return i|0}Gn(e);i=0;return i|0}function Gn(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0;if(!e)return;if(!(f[e>>2]|0)){i=e+36|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0}i=e+24|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0;f[e+28>>2]=0}i=e+44|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0;f[e+48>>2]=0}}else{i=e+12|0;r=f[i>>2]|0;if(r){kf(r);Yn(f[i>>2]|0);f[i>>2]=0}i=e+16|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0;f[e+20>>2]=0}}Ir(f[e+204>>2]|0);i=e+88|0;s=e+164|0;r=f[s>>2]|0;if(r){n=ie(f[e+112>>2]|0,f[e+116>>2]|0)|0;if(n){a=0;while(1){kf(r);a=a+1|0;if((a|0)==(n|0))break;else r=r+5640|0}r=f[s>>2]|0}Yn(r);f[s>>2]=0}s=e+124|0;r=f[s>>2]|0;if(r){l=e+120|0;n=f[l>>2]|0;if(n){a=0;while(1){r=f[r+(a<<3)>>2]|0;if(r){Yn(r);n=f[l>>2]|0}a=a+1|0;if(a>>>0>=n>>>0)break;r=f[s>>2]|0}r=f[s>>2]|0}f[l>>2]=0;Yn(r);f[s>>2]=0}l=e+144|0;Yn(f[l>>2]|0);f[l>>2]=0;f[e+128>>2]=0;l=e+108|0;Yn(f[l>>2]|0);f[l>>2]=0;if(!(t[e+184>>0]&2)){l=e+176|0;Yn(f[l>>2]|0);f[l>>2]=0}r=i+100|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(r|0))l=e+188|0;la(f[l>>2]|0);f[l>>2]=0;la(f[e+192>>2]|0);f[l>>2]=0;l=e+196|0;Qn(f[l>>2]|0);f[l>>2]=0;l=e+80|0;Gt(f[l>>2]|0);f[l>>2]=0;l=e+84|0;Gt(f[l>>2]|0);f[l>>2]=0;Yn(e);return}function Vn(e,i,r,a){e=e|0;i=i|0;r=r|0;a=a|0;var s=0,l=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0,W=0,J=0,Q=0,Z=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0;ue=c;c=c+320|0;fe=ue+296|0;ne=ue+288|0;oe=ue+280|0;le=ue+272|0;se=ue+264|0;ae=ue+256|0;te=ue+248|0;re=ue+240|0;K=ue+232|0;G=ue+224|0;X=ue+216|0;z=ue+208|0;q=ue+200|0;Y=ue+192|0;U=ue+184|0;g=ue+176|0;v=ue+168|0;p=ue+160|0;_=ue+152|0;w=ue+144|0;L=ue+136|0;O=ue+128|0;F=ue+112|0;R=ue+104|0;D=ue+96|0;x=ue+88|0;C=ue+80|0;M=ue+72|0;T=ue+64|0;S=ue+56|0;A=ue+48|0;E=ue+32|0;y=ue+24|0;k=ue+16|0;d=ue+8|0;l=ue;B=ue+309|0;N=ue+300|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){a=0;c=ue;return a|0}ee=i+5592|0;s=f[ee>>2]|0;if((s+-1|0)>>>0>32){f[l>>2]=s;f[l+4>>2]=33;Ht(a,1,4875,l)|0;a=0;c=ue;return a|0}Z=e+112|0;f[Z>>2]=1;$=e+116|0;f[$>>2]=1;I=i+18704|0;do if(!(n[I>>1]|0)){switch(f[i+18676>>2]|0){case 1:{n[I>>1]=3;f[i+18700>>2]=1302083;f[i+18680>>2]=1041666;l=1;break}case 2:{n[I>>1]=3;f[i+18700>>2]=651041;f[i+18680>>2]=520833;l=1;break}case 3:{n[I>>1]=4;f[i+18700>>2]=1302083;f[i+18680>>2]=1041666;l=1;break}default:l=0}s=f[i+18684>>2]|0;e:do if((s|0)>=4)if((s|0)<33024){switch(s|0){case 4:break;default:{Q=13;break e}}n[I>>1]=4;break}else{switch(s|0){case 33024:break;default:{Q=13;break e}}n[I>>1]=-32512;break}else{switch(s|0){case 3:break;default:{Q=13;break e}}n[I>>1]=3}while(0)if((Q|0)==13?(l|0)==0:0)break;Ht(a,2,4931,d)|0}while(0)P=i+18700|0;s=f[P>>2]|0;do if((s|0)<1){m=+o[i+4792+((f[i+4788>>2]|0)+-1<<2)>>2];if(m>0){W=f[r+24>>2]|0;k=ie(f[W+8>>2]|0,f[r+16>>2]|0)|0;k=ie(k,f[W+12>>2]|0)|0;ce=+((ie(k,f[W+24>>2]|0)|0)>>>0);f[P>>2]=~~+H(+(ce/(m*8*+((f[W>>2]|0)>>>0)*+((f[W+4>>2]|0)>>>0))));break}else{f[P>>2]=0;break}}else{b=f[r+24>>2]|0;W=ie(f[b+8>>2]|0,f[r+16>>2]|0)|0;W=ie(W,f[b+12>>2]|0)|0;m=+((ie(W,f[b+24>>2]|0)|0)>>>0);s=ie(s<<3,f[b>>2]|0)|0;m=m/+((ie(s,f[b+4>>2]|0)|0)>>>0);b=i+4788|0;s=f[b>>2]|0;if(s){d=s;s=0;h=0;while(1){l=i+4792+(h<<2)|0;if(+o[l>>2]<m){o[l>>2]=m;l=f[b>>2]|0;s=1}else l=d;h=h+1|0;if(h>>>0>=l>>>0)break;else d=l}if(s)Ht(a,2,5068,k)|0}}while(0)s=n[I>>1]|0;e:do if((s+-3&65535)>=4){if(s<<16>>16==7){Ht(a,2,7228,w)|0;n[I>>1]=0;s=0;break}if((s+-256&65535)<524){Ht(a,2,7283,_)|0;n[I>>1]=0;s=0;break}if((s+-1024&65535)<1180){Ht(a,2,7331,p)|0;n[I>>1]=0;s=0;break}if(s<<16>>16<=-1)switch(s<<16>>16){case-32512:{s=-32512;break e}case-32768:{Ht(a,2,7373,v)|0;n[I>>1]=0;s=0;break e}default:{Ht(a,2,7461,g)|0;n[I>>1]=0;s=0;break e}}}else{if((s+-5&65535)<2){Ht(a,2,5160,y)|0;n[I>>1]=0;s=0;break}f[i>>2]=0;f[i+12>>2]=1;f[i+16>>2]=1;t[i+18689>>0]=67;t[i+18688>>0]=1;f[i+4>>2]=0;f[i+8>>2]=0;f[i+18180>>2]=0;f[i+18184>>2]=0;f[i+5596>>2]=32;f[i+5600>>2]=32;f[i+5604>>2]=0;f[i+5612>>2]=-1;f[i+18188>>2]=1;f[i+18192>>2]=1;f[i+5608>>2]=1;l=i+4788|0;d=f[l>>2]|0;if((d|0)>1){ce=+o[i+4792+(d+-1<<2)>>2];f[E>>2]=d;u[E+8>>3]=ce;Ht(a,2,5222,E)|0;f[i+4792>>2]=f[i+4792+((f[l>>2]|0)+-1<<2)>>2];f[l>>2]=1;s=n[I>>1]|0}i:do switch(s&65535|0){case 3:{s=f[ee>>2]|0;if((s|0)>6){f[A>>2]=s+1;Ht(a,2,5395,A)|0;f[ee>>2]=6;s=6}break}case 4:{s=f[ee>>2]|0;if((s|0)<2){f[S>>2]=s+1;Ht(a,2,5541,S)|0;f[ee>>2]=1;s=1;break i}if((s|0)>7){f[T>>2]=s+1;Ht(a,2,5695,T)|0;f[ee>>2]=7;s=7}break}default:s=f[ee>>2]|0}while(0)l=i+40|0;f[l>>2]=f[l>>2]|1;l=i+5620|0;f[l>>2]=s+-1;if((s|0)>1){s=0;do{f[i+5624+(s<<2)>>2]=256;f[i+5756+(s<<2)>>2]=256;s=s+1|0}while((s|0)<(f[l>>2]|0))}f[i+44>>2]=4;if((n[I>>1]|0)==4){s=f[ee>>2]|0;f[i+96>>2]=1;f[i+48>>2]=0;f[i+52>>2]=0;f[i+56>>2]=1;W=s+-1|0;f[i+60>>2]=W;f[i+64>>2]=3;f[i+80>>2]=4;f[i+244>>2]=1;f[i+196>>2]=W;f[i+200>>2]=0;f[i+204>>2]=1;f[i+208>>2]=s;f[i+212>>2]=3;f[i+228>>2]=4;s=2}else s=0;f[i+4784>>2]=s;f[i+20>>2]=1;s=f[P>>2]|0;if((s|0)>=1){if((s|0)>1302083){Ht(a,2,5998,C)|0;f[P>>2]=1302083}}else{f[P>>2]=1302083;Ht(a,2,5849,M)|0}s=i+18680|0;l=f[s>>2]|0;if((l|0)>=1){if((l|0)>1041666){Ht(a,2,6320,D)|0;f[s>>2]=1041666}}else{f[s>>2]=1041666;Ht(a,2,6171,x)|0}l=f[r+16>>2]|0;h=f[r+24>>2]|0;b=f[h+8>>2]|0;s=ie(b,l)|0;k=f[h+12>>2]|0;s=ie(s,k)|0;ce=+((ie(s,f[h+24>>2]|0)|0)>>>0);s=ie(f[P>>2]<<3,f[h>>2]|0)|0;o[i+4792>>2]=ce/+((ie(s,f[h+4>>2]|0)|0)>>>0);s=n[I>>1]|0;i:do if((l|0)==3){l=h+28|0;d=h+32|0;if(!((f[l>>2]|0)!=12|f[d>>2])){l=h+80|0;d=h+84|0;if(!((f[l>>2]|0)!=12|f[d>>2])){l=h+132|0;d=h+136|0;if(!((f[l>>2]|0)!=12|f[d>>2])){switch(s&65535|0){case 3:{if(k>>>0>1080|b>>>0>2048){f[O>>2]=b;f[O+4>>2]=k;Ht(a,2,6892,O)|0;break i}break}case 4:{if(k>>>0>2160|b>>>0>4096){f[L>>2]=b;f[L+4>>2]=k;Ht(a,2,7063,L)|0;break i}break}default:{}}break e}else{k=l;s=d;l=2}}else{k=l;s=d;l=1}}else{k=l;s=d;l=0}t[B>>0]=t[6659]|0;t[B+1>>0]=t[6660]|0;t[B+2>>0]=t[6661]|0;t[B+3>>0]=t[6662]|0;t[B+4>>0]=t[6663]|0;t[B+5>>0]=t[6664]|0;t[B+6>>0]=t[6665]|0;d=N;h=6666;b=d+9|0;do{t[d>>0]=t[h>>0]|0;d=d+1|0;h=h+1|0}while((d|0)<(b|0))W=(f[s>>2]|0)!=0?B:N;N=f[k>>2]|0;f[F>>2]=l;f[F+4>>2]=N;f[F+8>>2]=W;Ht(a,2,6675,F)|0}else{f[R>>2]=l;Ht(a,2,6493,R)|0}while(0)n[I>>1]=0;s=0}while(0)f[e+168>>2]=f[i+18680>>2];W=e+88|0;n[W>>1]=s;F=e+181|0;B=t[F>>0]&-2|f[i+20>>2]&1;t[F>>0]=B;N=i+24|0;B=(f[N>>2]&255)<<1&2|B&-3;t[F>>0]=B;t[F>>0]=B&-5|(f[i+28>>2]&255)<<2&4;do if((f[N>>2]|0)!=0?(j=i+32|0,(f[j>>2]|0)!=0):0){s=ie((f[i+4788>>2]|0)*12|0,f[ee>>2]|0)|0;l=Nn(s)|0;f[e+176>>2]=l;if(l){Nl(l|0,f[j>>2]|0,s|0)|0;break}Ht(a,1,7520,U)|0;a=0;c=ue;return a|0}while(0)h=e+100|0;f[h>>2]=f[i+12>>2];b=e+104|0;f[b>>2]=f[i+16>>2];d=e+92|0;f[d>>2]=f[i+4>>2];k=e+96|0;f[k>>2]=f[i+8>>2];l=i+36|0;s=f[l>>2]|0;do if(!s){s=en()|0;l=Nn((hl(s)|0)+29|0)|0;f[e+108>>2]=l;if(l){f[z>>2]=7697;f[z+4>>2]=s;nl(l,7692,z)|0;break}Ht(a,1,7646,q)|0;a=0;c=ue;return a|0}else{s=Nn((hl(s)|0)+1|0)|0;f[e+108>>2]=s;if(s){dl(s,f[l>>2]|0)|0;break}Ht(a,1,7592,Y)|0;a=0;c=ue;return a|0}while(0)s=(f[r+8>>2]|0)-(f[d>>2]|0)|0;l=f[r+12>>2]|0;if(!(f[i>>2]|0)){f[h>>2]=s;f[b>>2]=l-(f[k>>2]|0)}else{z=f[h>>2]|0;f[Z>>2]=(s+-1+z|0)/(z|0)|0;z=f[b>>2]|0;f[$>>2]=(l+-1-(f[k>>2]|0)+z|0)/(z|0)|0}if(t[i+18688>>0]|0){t[e+180>>0]=t[i+18689>>0]|0;t[F>>0]=t[F>>0]|8}z=Fn(ie(f[$>>2]|0,f[Z>>2]|0)|0,5640)|0;N=e+164|0;f[N>>2]=z;if(!z){Ht(a,1,7726,X)|0;a=0;c=ue;return a|0}B=i+4784|0;T=f[B>>2]|0;do if(T){y=i+48|0;M=f[ee>>2]|0;C=f[r+16>>2]|0;P=f[i+4788>>2]|0;x=ie(C,M)|0;D=Fn(ie(x,P)|0,4)|0;if(!D){Ht(a,1,7780,G)|0;break}d=f[y>>2]|0;_=i+60|0;s=f[_>>2]|0;if(d>>>0<s>>>0){w=ie(d,C)|0;p=i+52|0;v=i+64|0;g=i+56|0;l=f[v>>2]|0;while(1){h=f[p>>2]|0;if(h>>>0<l>>>0){s=f[g>>2]|0;k=h;b=h+w|0;while(1){if(!s)s=0;else{l=b;h=0;while(1){f[D+(l<<2)>>2]=1;h=h+1|0;s=f[g>>2]|0;if(h>>>0>=s>>>0)break;else l=l+x|0}l=f[v>>2]|0}k=k+1|0;if(k>>>0>=l>>>0)break;else b=b+1|0}s=f[_>>2]|0}d=d+1|0;if(d>>>0>=s>>>0)break;else w=w+C|0}}if(T>>>0>1){S=1;do{s=y;y=y+148|0;g=f[s+8>>2]|0;v=s+156|0;h=f[v>>2]|0;g=h>>>0>g>>>0?g:0;b=f[y>>2]|0;E=s+160|0;l=f[E>>2]|0;if(b>>>0<l>>>0){w=ie(b,C)|0;A=s+152|0;_=s+164|0;p=ie(g,x)|0;d=f[_>>2]|0;s=h;while(1){h=f[A>>2]|0;if(h>>>0<d>>>0){k=h;h=h+w|0;while(1){if(g>>>0<s>>>0){l=h+p|0;d=g;while(1){f[D+(l<<2)>>2]=1;d=d+1|0;s=f[v>>2]|0;if(d>>>0>=s>>>0)break;else l=l+x|0}d=f[_>>2]|0}k=k+1|0;if(k>>>0>=d>>>0)break;else h=h+1|0}l=f[E>>2]|0}b=b+1|0;if(b>>>0>=l>>>0)break;else w=w+C|0}}S=S+1|0}while((S|0)!=(T|0))}if((P|0)!=0?(V=(C|0)==0,(M|0)!=0):0){l=0;w=0;s=0;do{if(!V){k=l;b=0;while(1){d=0;h=k;while(1){s=(f[D+(h<<2)>>2]|0)!=1|s;d=d+1|0;if((d|0)==(C|0))break;else h=h+1|0}b=b+1|0;if((b|0)==(M|0))break;else k=k+C|0}l=x+l|0}w=w+1|0}while((w|0)!=(P|0))if(s)Ht(a,1,7828,K)|0}Yn(D)}while(0)e:do if(ie(f[$>>2]|0,f[Z>>2]|0)|0){y=i+4788|0;E=i+40|0;A=i+44|0;S=i+18690|0;T=r+16|0;l=i+18696|0;M=r+24|0;C=i+5596|0;P=i+5600|0;x=i+5604|0;D=i+5608|0;R=i+5612|0;O=i+5616|0;L=i+5620|0;I=0;i:while(1){w=f[N>>2]|0;_=w+(I*5640|0)|0;K=f[y>>2]|0;s=w+(I*5640|0)+8|0;f[s>>2]=K;if(K){d=((n[W>>1]|0)+-3&65535)<4;b=0;do{h=(t[F>>0]&4)==0;do if(!d)if(h){f[w+(I*5640|0)+20+(b<<2)>>2]=f[i+4792+(b<<2)>>2];break}else{f[w+(I*5640|0)+5184+(b<<2)>>2]=f[i+5192+(b<<2)>>2];break}else{if(!h)f[w+(I*5640|0)+5184+(b<<2)>>2]=f[i+5192+(b<<2)>>2];f[w+(I*5640|0)+20+(b<<2)>>2]=f[i+4792+(b<<2)>>2]}while(0)b=b+1|0}while(b>>>0<(f[s>>2]|0)>>>0)}f[_>>2]=f[E>>2];f[w+(I*5640|0)+4>>2]=f[A>>2];k=w+(I*5640|0)+16|0;f[k>>2]=t[S>>0];s=w+(I*5640|0)+5636|0;d=t[s>>0]|0;t[s>>0]=d&-5;if(!(f[B>>2]|0))f[w+(I*5640|0)+420>>2]=0;else{t[s>>0]=d|4;d=f[B>>2]|0;if(!d)s=0;else{h=I+1|0;b=0;s=0;do{if((h|0)==(f[i+48+(b*148|0)+48>>2]|0)){f[w+(I*5640|0)+424+(s*148|0)>>2]=f[i+48+(s*148|0)>>2];f[w+(I*5640|0)+424+(s*148|0)+4>>2]=f[i+48+(s*148|0)+4>>2];f[w+(I*5640|0)+424+(s*148|0)+8>>2]=f[i+48+(s*148|0)+8>>2];f[w+(I*5640|0)+424+(s*148|0)+12>>2]=f[i+48+(s*148|0)+12>>2];f[w+(I*5640|0)+424+(s*148|0)+16>>2]=f[i+48+(s*148|0)+16>>2];f[w+(I*5640|0)+424+(s*148|0)+32>>2]=f[i+48+(s*148|0)+32>>2];f[w+(I*5640|0)+424+(s*148|0)+48>>2]=f[i+48+(s*148|0)+48>>2];s=s+1|0}b=b+1|0}while(b>>>0<d>>>0)}f[w+(I*5640|0)+420>>2]=s+-1}K=Fn(f[T>>2]|0,1080)|0;g=w+(I*5640|0)+5584|0;f[g>>2]=K;if(!K){Q=149;break}do if(!(f[l>>2]|0)){r:do if((f[k>>2]|0)==1){s=f[T>>2]|0;if(s>>>0<=2){h=s;break}d=f[M>>2]|0;s=f[d>>2]|0;do if((s|0)==(f[d+52>>2]|0)){if((s|0)!=(f[d+104>>2]|0))break;s=f[d+4>>2]|0;if((s|0)!=(f[d+56>>2]|0))break;if((s|0)==(f[d+108>>2]|0)){Q=175;break r}}while(0)Ht(a,2,8224,fe)|0;f[k>>2]=0;Q=175}else Q=175;while(0)if((Q|0)==175){Q=0;h=f[T>>2]|0}if(!h)break;s=f[M>>2]|0;d=0;do{if(!(f[s+(d*52|0)+32>>2]|0))f[(f[g>>2]|0)+(d*1080|0)+1076>>2]=1<<(f[s+(d*52|0)+24>>2]|0)+-1;d=d+1|0}while(d>>>0<h>>>0)J=h;Q=166}else{h=f[T>>2]|0;h=ie(h<<2,h)|0;s=Nn(h)|0;b=(f[l>>2]|0)+h|0;if(!s){Q=152;break i}f[k>>2]=2;d=Nn(h)|0;f[w+(I*5640|0)+5608>>2]=d;if(!d){Q=154;break i}Nl(d|0,f[l>>2]|0,h|0)|0;Nl(s|0,f[l>>2]|0,h|0)|0;d=Nn(h)|0;h=w+(I*5640|0)+5604|0;f[h>>2]=d;if(!d){Q=156;break i}if(!(Fa(s,d,f[T>>2]|0)|0)){Q=158;break i}d=Nn(f[T>>2]<<3)|0;f[w+(I*5640|0)+5600>>2]=d;if(!d){Q=160;break i}pr(d,f[T>>2]|0,f[h>>2]|0);Yn(s);s=f[T>>2]|0;if(s){d=f[g>>2]|0;h=0;do{f[d+(h*1080|0)+1076>>2]=f[b+(h<<2)>>2];h=h+1|0}while(h>>>0<s>>>0)}if(!(Kn(_,r)|0)){Q=167;break i}J=f[T>>2]|0;Q=166}while(0)if((Q|0)==166?(Q=0,(J|0)!=0):0){v=0;do{_=f[g>>2]|0;p=_+(v*1080|0)|0;f[p>>2]=f[E>>2]&1;h=f[ee>>2]|0;b=_+(v*1080|0)+4|0;f[b>>2]=h;s=f[C>>2]|0;if((s|0)>1){d=0;do{s=s>>1;d=d+1|0}while((s|0)>1)s=d}else s=0;f[_+(v*1080|0)+8>>2]=s;s=f[P>>2]|0;if((s|0)>1){d=0;do{s=s>>1;d=d+1|0}while((s|0)>1)s=d}else s=0;f[_+(v*1080|0)+12>>2]=s;f[_+(v*1080|0)+16>>2]=f[x>>2];K=f[D>>2]|0;f[_+(v*1080|0)+20>>2]=(K|0)==0&1;f[_+(v*1080|0)+24>>2]=(K|0)!=0?2:0;f[_+(v*1080|0)+804>>2]=2;if((v|0)==(f[R>>2]|0))s=f[O>>2]|0;else s=0;f[_+(v*1080|0)+808>>2]=s;do if(!(f[E>>2]&1)){if(!h)break;else s=0;do{f[_+(v*1080|0)+812+(s<<2)>>2]=15;f[_+(v*1080|0)+944+(s<<2)>>2]=15;s=s+1|0}while(s>>>0<(f[b>>2]|0)>>>0)}else{if((h|0)>0){b=h;w=0}else break;while(1){k=b;b=b+-1|0;s=f[L>>2]|0;do if((w|0)<(s|0)){s=f[i+5624+(w<<2)>>2]|0;if((s|0)<1)f[_+(v*1080|0)+812+(b<<2)>>2]=1;else{if((s|0)>1){d=0;do{s=s>>1;d=d+1|0}while((s|0)>1)s=d}else s=0;f[_+(v*1080|0)+812+(b<<2)>>2]=s}s=f[i+5756+(w<<2)>>2]|0;if((s|0)<1){f[_+(v*1080|0)+944+(b<<2)>>2]=1;break}if((s|0)>1){d=0;do{s=s>>1;d=d+1|0}while((s|0)>1)s=d}else s=0;f[_+(v*1080|0)+944+(b<<2)>>2]=s}else{K=s+-1|0;d=w-K|0;s=f[i+5624+(K<<2)>>2]>>d;d=f[i+5756+(K<<2)>>2]>>d;if((s|0)<1)f[_+(v*1080|0)+812+(b<<2)>>2]=1;else{if((s|0)>1){h=0;do{s=s>>1;h=h+1|0}while((s|0)>1)s=h}else s=0;f[_+(v*1080|0)+812+(b<<2)>>2]=s}if((d|0)<1){f[_+(v*1080|0)+944+(b<<2)>>2]=1;break}if((d|0)>1){s=0;do{d=d>>1;s=s+1|0}while((d|0)>1)}else s=0;f[_+(v*1080|0)+944+(b<<2)>>2]=s}while(0)if((k|0)<=1)break;else w=w+1|0}}while(0)Pa(p,f[(f[M>>2]|0)+(v*52|0)+24>>2]|0);v=v+1|0}while(v>>>0<(f[T>>2]|0)>>>0)}I=I+1|0;if(I>>>0>=(ie(f[$>>2]|0,f[Z>>2]|0)|0)>>>0)break e}if((Q|0)==149){Ht(a,1,7867,re)|0;a=0;c=ue;return a|0}else if((Q|0)==152){Ht(a,1,7931,te)|0;a=0;c=ue;return a|0}else if((Q|0)==154){Yn(s);Ht(a,1,7974,ae)|0;a=0;c=ue;return a|0}else if((Q|0)==156){Yn(s);Ht(a,1,8032,se)|0;a=0;c=ue;return a|0}else if((Q|0)==158){Yn(s);Ht(a,1,8092,le)|0;a=0;c=ue;return a|0}else if((Q|0)==160){Yn(s);Ht(a,1,8140,oe)|0;a=0;c=ue;return a|0}else if((Q|0)==167){Ht(a,1,8190,ne)|0;a=0;c=ue;return a|0}}else l=i+18696|0;while(0)s=f[l>>2]|0;if(!s){a=1;c=ue;return a|0}Yn(s);f[l>>2]=0;a=1;c=ue;return a|0}function Kn(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;if((f[e+16>>2]|0)!=2){e=1;return e|0}d=e+5604|0;m=e+5616|0;r=f[m>>2]|0;h=e+5620|0;do if(f[d>>2]|0){do if((r|0)==(f[h>>2]|0)){r=r+10|0;f[h>>2]=r;n=e+5612|0;r=Hn(f[n>>2]|0,r*20|0)|0;if(r){f[n>>2]=r;w=f[m>>2]|0;Ol(r+(w*20|0)|0,0,((f[h>>2]|0)-w|0)*20|0)|0;r=f[m>>2]|0;break}Yn(f[n>>2]|0);f[n>>2]=0;f[h>>2]=0;f[m>>2]=0;e=0;return e|0}else n=e+5612|0;while(0)u=f[n>>2]|0;s=u+(r*20|0)|0;c=u+(r*20|0)+12|0;n=f[c>>2]|0;if(n){Yn(n);f[c>>2]=0}f[u+(r*20|0)+8>>2]=1;f[u+(r*20|0)+4>>2]=1;f[s>>2]=2;n=f[i+16>>2]|0;n=ie(n,n)|0;a=n<<2;l=Nn(a)|0;f[c>>2]=l;if(!l){e=0;return e|0}else{To[f[768+(f[s>>2]<<2)>>2]&15](f[d>>2]|0,l,n);f[u+(r*20|0)+16>>2]=a;r=(f[m>>2]|0)+1|0;f[m>>2]=r;l=2;break}}else{l=1;s=0}while(0)do if((r|0)==(f[h>>2]|0)){n=r+10|0;f[h>>2]=n;r=e+5612|0;n=Hn(f[r>>2]|0,n*20|0)|0;if(!n){Yn(f[r>>2]|0);f[r>>2]=0;f[h>>2]=0;f[m>>2]=0;e=0;return e|0}else{f[r>>2]=n;a=f[m>>2]|0;Ol(n+(a*20|0)|0,0,((f[h>>2]|0)-a|0)*20|0)|0;if(!s){s=0;break}s=n+((a+-1|0)*20|0)|0;break}}else r=e+5612|0;while(0)d=f[r>>2]|0;h=f[m>>2]|0;w=d+(h*20|0)|0;b=d+(h*20|0)+12|0;r=f[b>>2]|0;if(r){Yn(r);f[b>>2]=0}k=l+1|0;f[d+(h*20|0)+8>>2]=l;f[d+(h*20|0)+4>>2]=2;f[w>>2]=2;i=i+16|0;r=f[i>>2]|0;n=r<<2;c=Nn(n)|0;f[b>>2]=c;if(!c){e=0;return e|0}a=Nn(n)|0;if(!a){Yn(f[b>>2]|0);f[b>>2]=0;e=0;return e|0}if(r){l=0;u=a;c=f[e+5584>>2]|0;while(1){o[u>>2]=+(f[c+1076>>2]|0);l=l+1|0;if((l|0)==(r|0))break;else{u=u+4|0;c=c+1080|0}}}To[f[768+(f[w>>2]<<2)>>2]&15](a,f[b>>2]|0,r);Yn(a);f[d+(h*20|0)+16>>2]=n;f[m>>2]=(f[m>>2]|0)+1;l=e+5628|0;r=f[l>>2]|0;a=e+5632|0;do if((r|0)==(f[a>>2]|0)){r=r+10|0;f[a>>2]=r;n=e+5624|0;r=Hn(f[n>>2]|0,r*20|0)|0;if(r){f[n>>2]=r;e=f[l>>2]|0;Ol(r+(e*20|0)|0,0,((f[a>>2]|0)-e|0)*20|0)|0;r=f[l>>2]|0;break}Yn(f[n>>2]|0);f[n>>2]=0;f[a>>2]=0;f[l>>2]=0;e=0;return e|0}else n=e+5624|0;while(0)e=f[n>>2]|0;f[e+(r*20|0)+8>>2]=s;m=e+(r*20|0)+16|0;t[m>>0]=t[m>>0]|1;f[e+(r*20|0)+4>>2]=f[i>>2];f[e+(r*20|0)>>2]=k;f[e+(r*20|0)+12>>2]=w;f[l>>2]=(f[l>>2]|0)+1;e=1;return e|0}function Wn(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function Jn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;o=zt()|0;u=i+80|0;f[u>>2]=o;if(!o){u=0;return u|0}n=i+192|0;if((oa(f[n>>2]|0,23,t)|0)!=0?(oa(f[n>>2]|0,24,t)|0)!=0:0){s=f[n>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(vo[f[n>>2]&63](i,e,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}da(s);if(!a){Gt(f[u>>2]|0);f[u>>2]=0;u=0;return u|0}}else da(s);n=i+188|0;if((oa(f[n>>2]|0,25,t)|0)!=0?(oa(f[n>>2]|0,26,t)|0)!=0:0){s=f[n>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(vo[f[n>>2]&63](i,e,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}da(s);if(!a){Gt(f[u>>2]|0);f[u>>2]=0;u=0;return u|0}}else da(s);n=zt()|0;f[r>>2]=n;if(!n){u=0;return u|0}Kt(f[u>>2]|0,n);n=ie(f[i+116>>2]|0,f[i+112>>2]|0)|0;l=i+196|0;f[(f[l>>2]|0)+36>>2]=n;n=Fn(n,40)|0;a=f[l>>2]|0;f[a+40>>2]=n;if(!n){u=0;return u|0}if(!(f[a+36>>2]|0)){u=1;return u|0}s=0;while(1){f[n+(s*40|0)+28>>2]=100;f[n+(s*40|0)+20>>2]=0;u=Fn(100,24)|0;a=f[l>>2]|0;n=f[a+40>>2]|0;f[n+(s*40|0)+24>>2]=u;s=s+1|0;if(!u){n=0;a=30;break}if(s>>>0>=(f[a+36>>2]|0)>>>0){n=1;a=30;break}}if((a|0)==30)return n|0}Gt(f[u>>2]|0);f[u>>2]=0;u=0;return u|0}Gt(f[u>>2]|0);f[u>>2]=0;u=0;return u|0}function Qn(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;if(!e)return;i=e+28|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0}s=e+40|0;i=f[s>>2]|0;if(i){a=e+36|0;if(f[a>>2]|0){r=i;n=0;do{t=f[r+(n*40|0)+36>>2]|0;if(t){Yn(t);i=f[s>>2]|0;f[i+(n*40|0)+36>>2]=0;r=i}t=f[r+(n*40|0)+16>>2]|0;if(t){Yn(t);i=f[s>>2]|0;f[i+(n*40|0)+16>>2]=0;r=i}t=f[r+(n*40|0)+24>>2]|0;if(t){Yn(t);r=f[s>>2]|0;f[r+(n*40|0)+24>>2]=0;i=r}n=n+1|0}while(n>>>0<(f[a>>2]|0)>>>0)}Yn(i);f[s>>2]=0}Yn(e);return}function Zn(e,i,r,a,s,l,o,u,d,h,b){e=e|0;i=i|0;r=r|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;d=d|0;h=h|0;b=b|0;var k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0,W=0,J=0,Q=0,Z=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0,de=0,he=0,be=0,ke=0,we=0,me=0,_e=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Se=0,Te=0,Me=0,Ce=0,Pe=0;Pe=c;c=c+256|0;Ce=Pe+200|0;Me=Pe+192|0;Se=Pe+184|0;Ae=Pe+176|0;ke=Pe+168|0;be=Pe+160|0;he=Pe+152|0;de=Pe+144|0;ce=Pe+136|0;ue=Pe+128|0;le=Pe+120|0;se=Pe+112|0;ye=Pe+104|0;ve=Pe+96|0;ae=Pe+88|0;fe=Pe+80|0;ne=Pe+72|0;ge=Pe+64|0;te=Pe+56|0;re=Pe+48|0;_e=Pe+40|0;me=Pe+32|0;we=Pe+24|0;oe=Pe+16|0;ee=Pe+8|0;$=Pe;V=Pe+240|0;X=Pe+236|0;W=Pe+232|0;Q=Pe+228|0;Z=Pe+224|0;G=Pe+220|0;J=Pe+216|0;z=Pe+212|0;K=Pe+208|0;f[z>>2]=65424;Te=e+8|0;e:do switch(f[Te>>2]|0){case 256:{f[z>>2]=65497;k=e+76|0;Ee=117;break}case 8:{pe=e+76|0;if(!(t[pe>>0]&1)){U=e+200|0;H=e+164|0;Y=e+72|0;q=e+24|0;M=e+196|0;C=e+112|0;P=e+116|0;R=V+2|0;O=V+6|0;L=V+7|0;I=e+16|0;B=e+20|0;N=e+64|0;k=65424;i:while(1){r:do if((k|0)!=65427){while(1){T=Nt(h)|0;if((T|0)==0&(D|0)==0){Ee=7;break}if((Ot(h,f[I>>2]|0,2,b)|0)!=2){Ee=9;break i}ct(f[I>>2]|0,K,2);if((f[K>>2]|0)>>>0<2){Ee=11;break i}if((f[z>>2]|0)==32896?(T=Nt(h)|0,(T|0)==0&(D|0)==0):0){Ee=14;break}_=f[Te>>2]|0;k=f[K>>2]|0;if(_&16)f[q>>2]=-2-k+(f[q>>2]|0);w=k+-2|0;f[K>>2]=w;k=f[z>>2]|0;m=784;while(1){T=f[m>>2]|0;if((T|0)==0|(T|0)==(k|0)){A=m;break}else m=m+12|0}if(!(f[m+4>>2]&_)){Ee=20;break i}if(w>>>0>(f[B>>2]|0)>>>0){T=Nt(h)|0;S=D;if(0>(S|0)|0==(S|0)&w>>>0>T>>>0){Ee=24;break i}k=Hn(f[I>>2]|0,f[K>>2]|0)|0;if(!k){Ee=26;break i}f[I>>2]=k;w=f[K>>2]|0;f[B>>2]=w}else k=f[I>>2]|0;w=Ot(h,k,w,b)|0;if((w|0)!=(f[K>>2]|0)){Ee=29;break i}k=f[m+8>>2]|0;if(!k){Ee=31;break i}if(!(Co[k&63](e,f[I>>2]|0,w,b)|0)){Ee=33;break i}m=f[U>>2]|0;w=f[M>>2]|0;g=f[A>>2]|0;y=Bt(h)|0;E=f[K>>2]|0;y=y-E+-4|0;E=E+4|0;w=w+40|0;v=f[w>>2]|0;k=f[v+(m*40|0)+20>>2]|0;_=v+(m*40|0)+28|0;p=f[_>>2]|0;if((k+1|0)>>>0>p>>>0){p=~~(+(p>>>0)+100)>>>0;f[_>>2]=p;_=Hn(f[v+(m*40|0)+24>>2]|0,p*24|0)|0;p=f[w>>2]|0;k=p+(m*40|0)+24|0;if(!_){Ee=41;break i}f[k>>2]=_;w=p;k=f[p+(m*40|0)+20>>2]|0}else{w=v;_=f[v+(m*40|0)+24>>2]|0}n[_+(k*24|0)>>1]=g;T=_+(k*24|0)+8|0;f[T>>2]=y;f[T+4>>2]=((y|0)<0)<<31>>31;f[_+(k*24|0)+16>>2]=E;f[w+(m*40|0)+20>>2]=k+1;if((g|0)==65424?(x=f[w+(m*40|0)+16>>2]|0,(x|0)!=0):0){T=x+((f[w+(m*40|0)+12>>2]|0)*24|0)|0;f[T>>2]=y;f[T+4>>2]=0}do if((f[A>>2]|0)==65424){k=Bt(h)|0;k=-4-(f[K>>2]|0)+k|0;T=N;S=f[T+4>>2]|0;if(!(0>(S|0)|(0==(S|0)?k>>>0>(f[T>>2]|0)>>>0:0)))break;T=N;f[T>>2]=k;f[T+4>>2]=0}while(0)if(t[pe>>0]&4){Ee=46;break}if((Ot(h,f[I>>2]|0,2,b)|0)!=2){Ee=50;break i}ct(f[I>>2]|0,z,2);if((f[z>>2]|0)==65427)break r}if((Ee|0)==7){Ee=0;f[Te>>2]=64;break}else if((Ee|0)==14){Ee=0;f[Te>>2]=64;break}else if((Ee|0)==46){Ee=0;T=Ft(h,f[q>>2]|0,0,b)|0;if(!((D|0)==0?(T|0)==(f[q>>2]|0):0)){Ee=47;break i}f[z>>2]=65427;break}}while(0)T=Nt(h)|0;if((T|0)==0&(D|0)==0?(f[Te>>2]|0)==64:0){Ee=115;break}k=t[pe>>0]|0;if(!(k&4)){w=f[U>>2]|0;m=f[H>>2]|0;if(!(f[Y>>2]|0)){k=f[q>>2]|0;if(k>>>0>1){_=k+-2|0;f[q>>2]=_}else _=k}else{_=Nt(h)|0;_=Il(_|0,D|0,-2,0)|0;f[q>>2]=_}k=m+(w*5640|0)+5592|0;T=m+(w*5640|0)+5596|0;do if(!_)S=1;else{S=Nt(h)|0;A=D;if(0>(A|0)|0==(A|0)&_>>>0>S>>>0)Ht(b,2,8573,ae)|0;w=f[k>>2]|0;if(!w){S=Nn(f[q>>2]|0)|0;f[k>>2]=S;if(!S)break i;else{S=0;break}}w=Hn(w,(f[q>>2]|0)+(f[T>>2]|0)|0)|0;if(!w){Ee=65;break i}f[k>>2]=w;S=0}while(0)w=f[M>>2]|0;if(w){y=Bt(h)|0;_=D;A=Il(y|0,_|0,-2,-1)|0;m=f[U>>2]|0;w=w+40|0;v=f[w>>2]|0;g=f[v+(m*40|0)+12>>2]|0;p=f[v+(m*40|0)+16>>2]|0;E=p+(g*24|0)+8|0;f[E>>2]=A;f[E+4>>2]=D;E=f[q>>2]|0;_=Il(E|0,0,y|0,_|0)|0;g=p+(g*24|0)+16|0;f[g>>2]=_;f[g+4>>2]=D;E=E+2|0;g=f[v+(m*40|0)+20>>2]|0;_=v+(m*40|0)+28|0;p=f[_>>2]|0;if((g+1|0)>>>0>p>>>0){p=~~(+(p>>>0)+100)>>>0;f[_>>2]=p;_=Hn(f[v+(m*40|0)+24>>2]|0,p*24|0)|0;p=f[w>>2]|0;v=p+(m*40|0)+24|0;if(!_){k=v;Ee=74;break}f[v>>2]=_;y=p;w=f[p+(m*40|0)+20>>2]|0}else{y=v;_=f[v+(m*40|0)+24>>2]|0;w=g}n[_+(w*24|0)>>1]=-109;g=Rl(0,A|0,32)|0;A=_+(w*24|0)+8|0;f[A>>2]=g;f[A+4>>2]=D;f[_+(w*24|0)+16>>2]=E;f[y+(m*40|0)+20>>2]=w+1}if(!S)k=Ot(h,(f[k>>2]|0)+(f[T>>2]|0)|0,f[q>>2]|0,b)|0;else k=0;f[Te>>2]=(k|0)==(f[q>>2]|0)?8:64;f[T>>2]=(f[T>>2]|0)+k;k=t[pe>>0]|0;if((k&9)==1){t[pe>>0]=k|8;w=f[U>>2]|0;do if((Ut(h)|0)!=0?(F=Bt(h)|0,j=D,!((F|0)==-1&(j|0)==-1)):0){while(1){if((Ot(h,V,2,b)|0)!=2){Ee=81;break}ct(V,X,2);if((f[X>>2]|0)!=65424){Ee=83;break}if((Ot(h,V,2,b)|0)!=2){Ee=85;break}ct(V,W,2);if((f[W>>2]|0)!=10){Ee=87;break}f[W>>2]=8;k=Ot(h,V,8,b)|0;if((k|0)!=(f[W>>2]|0)){Ee=89;break}if((k|0)!=8){Ee=91;break}ct(V,Q,2);ct(R,Z,4);ct(O,G,1);ct(L,J,1);if((f[Q>>2]|0)==(w|0)){Ee=97;break}k=f[Z>>2]|0;if(k>>>0<14){Ee=94;break}Ee=k+-12|0;f[Z>>2]=Ee;Ee=Ft(h,Ee,0,b)|0;if(!((D|0)==0?(Ee|0)==(f[Z>>2]|0):0)){Ee=96;break}}if((Ee|0)==81){Ee=0;k=(jt(h,F,j,b)|0)!=0&1;w=0;break}else if((Ee|0)==83){Ee=0;k=(jt(h,F,j,b)|0)!=0&1;w=0;break}else if((Ee|0)==85){Ee=0;Ht(b,1,8295,se)|0;k=0;w=0;break}else if((Ee|0)==87){Ee=0;Ht(b,1,8313,le)|0;k=0;w=0;break}else if((Ee|0)==89){Ee=0;Ht(b,1,8295,ue)|0;k=0;w=0;break}else if((Ee|0)==91){Ee=0;Ht(b,1,8662,ce)|0;k=0;w=0;break}else if((Ee|0)==94){Ee=0;k=(jt(h,F,j,b)|0)!=0&1;w=0;break}else if((Ee|0)==96){Ee=0;k=(jt(h,F,j,b)|0)!=0&1;w=0;break}else if((Ee|0)==97){Ee=0;w=(f[G>>2]|0)==(f[J>>2]|0)&1;k=(jt(h,F,j,b)|0)!=0&1;break}}else{k=1;w=0}while(0)if(!k){Ee=99;break}if(w){k=ie(f[P>>2]|0,f[C>>2]|0)|0;t[pe>>0]=t[pe>>0]&-18|16;if(k){w=f[H>>2]|0;p=0;do{m=w+(p*5640|0)+5588|0;_=f[m>>2]|0;if(_)f[m>>2]=_+1;p=p+1|0}while((p|0)!=(k|0))}Ht(b,2,8734,he)|0}}if(!(t[pe>>0]&1)){if((Ot(h,f[I>>2]|0,2,b)|0)!=2){Ee=109;break}ct(f[I>>2]|0,z,2)}}else{t[pe>>0]=k&-6;f[Te>>2]=8;if((Ot(h,f[I>>2]|0,2,b)|0)!=2){Ee=113;break}ct(f[I>>2]|0,z,2)}k=f[z>>2]|0;if(!((k|0)!=65497&(t[pe>>0]&1)==0)){Ee=116;break}}switch(Ee|0){case 9:{Ht(b,1,8295,$)|0;b=0;c=Pe;return b|0}case 11:{Ht(b,1,8313,ee)|0;b=0;c=Pe;return b|0}case 20:{Ht(b,1,8339,oe)|0;b=0;c=Pe;return b|0}case 24:{Ht(b,1,8382,we)|0;b=0;c=Pe;return b|0}case 26:{Yn(f[I>>2]|0);f[I>>2]=0;f[B>>2]=0;Ht(b,1,8427,me)|0;b=0;c=Pe;return b|0}case 29:{Ht(b,1,8295,_e)|0;b=0;c=Pe;return b|0}case 31:{Ht(b,1,8461,re)|0;b=0;c=Pe;return b|0}case 33:{f[te>>2]=f[z>>2];Ht(b,1,8490,te)|0;b=0;c=Pe;return b|0}case 41:{Yn(f[k>>2]|0);Ce=f[w>>2]|0;f[Ce+(m*40|0)+24>>2]=0;f[Ce+(m*40|0)+28>>2]=0;f[Ce+(m*40|0)+20>>2]=0;Ht(b,1,8537,ge)|0;b=0;c=Pe;return b|0}case 47:{Ht(b,1,8295,ne)|0;b=0;c=Pe;return b|0}case 50:{Ht(b,1,8295,fe)|0;b=0;c=Pe;return b|0}case 65:{Yn(f[k>>2]|0);f[k>>2]=0;break}case 74:{Yn(f[k>>2]|0);Ce=f[w>>2]|0;f[Ce+(m*40|0)+24>>2]=0;f[Ce+(m*40|0)+28>>2]=0;f[Ce+(m*40|0)+20>>2]=0;Ht(b,1,8537,ye)|0;b=0;c=Pe;return b|0}case 99:{Ht(b,1,8688,de)|0;b=0;c=Pe;return b|0}case 109:{Ht(b,1,8295,be)|0;b=0;c=Pe;return b|0}case 113:{Ht(b,1,8295,ke)|0;b=0;c=Pe;return b|0}case 115:{k=f[z>>2]|0;Ee=116;break}}if((Ee|0)==116)if((k|0)==65497){k=pe;Ee=117;break e}else{k=pe;break e}Ht(b,1,8628,ve)|0;b=0;c=Pe;return b|0}else k=pe;break}default:{b=0;c=Pe;return b|0}}while(0)if((Ee|0)==117)if((f[Te>>2]|0)!=256){f[e+200>>2]=0;f[Te>>2]=256}if(!(t[k>>0]&1)){_=ie(f[e+112>>2]|0,f[e+116>>2]|0)|0;p=e+200|0;w=f[p>>2]|0;e:do if(w>>>0<_>>>0){k=w;m=(f[e+164>>2]|0)+(w*5640|0)|0;while(1){if(f[m+5592>>2]|0){w=k;break e}w=k+1|0;f[p>>2]=w;if(w>>>0<_>>>0){k=w;m=m+5640|0}else break}}while(0)if((w|0)==(_|0)){f[d>>2]=0;b=1;c=Pe;return b|0}}else{w=e+200|0;p=w;w=f[w>>2]|0}T=f[e+164>>2]|0;if(t[T+(w*5640|0)+5636>>0]&2){M=T+(w*5640|0)+5160|0;m=f[M>>2]|0;if(!m)k=0;else{_=f[T+(w*5640|0)+5164>>2]|0;v=0;k=0;do{k=(f[_+(v<<3)+4>>2]|0)+k|0;v=v+1|0}while((v|0)!=(m|0))}Ee=Nn(k)|0;S=T+(w*5640|0)+5172|0;f[S>>2]=Ee;if(!Ee){Ht(b,1,8775,Ae)|0;Ht(b,1,8813,Se)|0;b=0;c=Pe;return b|0}A=T+(w*5640|0)+5180|0;f[A>>2]=k;m=f[M>>2]|0;E=T+(w*5640|0)+5164|0;if(!m)k=f[E>>2]|0;else{k=f[E>>2]|0;g=k;y=0;v=0;while(1){_=f[g+(y<<3)>>2]|0;if(!_)_=g;else{Nl((f[S>>2]|0)+v|0,_|0,f[g+(y<<3)+4>>2]|0)|0;_=f[E>>2]|0;v=(f[_+(y<<3)+4>>2]|0)+v|0;Yn(f[_+(y<<3)>>2]|0);_=f[E>>2]|0;f[_+(y<<3)>>2]=0;f[_+(y<<3)+4>>2]=0;m=f[M>>2]|0;k=_}y=y+1|0;if(y>>>0>=m>>>0)break;else g=_}}f[M>>2]=0;Yn(k);f[E>>2]=0;f[T+(w*5640|0)+5168>>2]=f[S>>2]
41
+ ;f[T+(w*5640|0)+5176>>2]=f[A>>2];w=f[p>>2]|0}k=e+204|0;if(!(Fr(f[k>>2]|0,w,b)|0)){Ht(b,1,8839,Me)|0;b=0;c=Pe;return b|0}else{Me=ie(f[e+112>>2]|0,f[e+116>>2]|0)|0;f[Ce>>2]=(f[p>>2]|0)+1;f[Ce+4>>2]=Me;Ht(b,4,8873,Ce)|0;f[i>>2]=f[p>>2];f[d>>2]=1;f[r>>2]=jr(f[k>>2]|0)|0;b=f[f[(f[k>>2]|0)+20>>2]>>2]|0;f[a>>2]=f[b>>2];f[s>>2]=f[b+4>>2];f[l>>2]=f[b+8>>2];f[o>>2]=f[b+12>>2];f[u>>2]=f[b+16>>2];f[Te>>2]=f[Te>>2]|128;b=1;c=Pe;return b|0}return 0}function $n(e,i,r,n,a,s){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;var l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0;p=c;c=c+48|0;m=p+28|0;_=p+32|0;b=e+8|0;if(!(f[b>>2]&128)){a=0;c=p;return a|0}w=e+200|0;if((f[w>>2]|0)!=(i|0)){a=0;c=p;return a|0}l=f[e+164>>2]|0;h=l+(i*5640|0)|0;k=l+(i*5640|0)+5592|0;o=f[k>>2]|0;if(!o){kf(h);a=0;c=p;return a|0}u=e+204|0;d=l+(i*5640|0)+5596|0;if(!(Hr(f[u>>2]|0,o,f[d>>2]|0,i,f[e+196>>2]|0,s)|0)){kf(h);f[b>>2]=f[b>>2]|32768;Ht(s,1,8912,p)|0;a=0;c=p;return a|0}if(!(Yr(f[u>>2]|0,r,n)|0)){a=0;c=p;return a|0}l=f[k>>2]|0;if(l){Yn(l);f[k>>2]=0;f[d>>2]=0}k=e+76|0;t[k>>0]=t[k>>0]&-2;f[b>>2]=f[b>>2]&-129;k=Nt(a)|0;e=f[b>>2]|0;if((e|0)==256|(k|0)==0&(D|0)==0&(e|0)==64){a=1;c=p;return a|0}if((Ot(a,_,2,s)|0)!=2){Ht(s,2,8931,p+8|0)|0;a=1;c=p;return a|0}ct(_,m,2);switch(f[m>>2]|0){case 65497:{f[w>>2]=0;f[b>>2]=256;a=1;c=p;return a|0}case 65424:{a=1;c=p;return a|0}default:if((Nt(a)|0)==0&(D|0)==0){f[b>>2]=64;Ht(s,2,8975,p+16|0)|0;a=1;c=p;return a|0}else{Ht(s,1,9005,p+24|0)|0;a=0;c=p;return a|0}}return 0}function ef(e,i,r,n,a,s,l){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;S=c;c=c+112|0;A=S+96|0;E=S+88|0;y=S+80|0;g=S+72|0;v=S+64|0;_=S+56|0;m=S+48|0;b=S+40|0;h=S+32|0;d=S+24|0;u=S+16|0;k=f[e+80>>2]|0;if((f[e+8>>2]|0)!=8){Ht(l,1,9037,S)|0;l=0;c=S;return l|0}if(!(n|r|a|s)){Ht(l,4,9116,S+8|0)|0;f[e+28>>2]=0;f[e+32>>2]=0;f[e+36>>2]=f[e+112>>2];f[e+40>>2]=f[e+116>>2];l=1;c=S;return l|0}p=k+8|0;o=f[p>>2]|0;if(o>>>0<r>>>0){f[u>>2]=r;f[u+4>>2]=o;Ht(l,1,9185,u)|0;l=0;c=S;return l|0}o=f[k>>2]|0;if(o>>>0>r>>>0){f[d>>2]=r;f[d+4>>2]=o;Ht(l,2,9272,d)|0;o=0;r=f[k>>2]|0}else o=((r-(f[e+92>>2]|0)|0)>>>0)/((f[e+100>>2]|0)>>>0)|0;f[e+28>>2]=o;f[i>>2]=r;w=k+12|0;r=f[w>>2]|0;if(r>>>0<n>>>0){f[h>>2]=n;f[h+4>>2]=r;Ht(l,1,9360,h)|0;l=0;c=S;return l|0}u=k+4|0;r=f[u>>2]|0;if(r>>>0>n>>>0){f[b>>2]=n;f[b+4>>2]=r;Ht(l,2,9445,b)|0;r=0;n=f[u>>2]|0}else r=((n-(f[e+96>>2]|0)|0)>>>0)/((f[e+104>>2]|0)>>>0)|0;f[e+32>>2]=r;d=i+4|0;f[d>>2]=n;r=f[k>>2]|0;if(r>>>0>a>>>0){f[m>>2]=a;f[m+4>>2]=r;Ht(l,1,9531,m)|0;l=0;c=S;return l|0}r=f[p>>2]|0;if(r>>>0<a>>>0){f[_>>2]=a;f[_+4>>2]=r;Ht(l,2,9620,_)|0;r=f[e+112>>2]|0;a=f[p>>2]|0}else{r=f[e+100>>2]|0;r=(a+-1-(f[e+92>>2]|0)+r|0)/(r|0)|0}f[e+36>>2]=r;o=i+8|0;f[o>>2]=a;a=f[u>>2]|0;if(a>>>0>s>>>0){f[v>>2]=s;f[v+4>>2]=a;Ht(l,1,9708,v)|0;l=0;c=S;return l|0}a=f[w>>2]|0;if(a>>>0<s>>>0){f[g>>2]=s;f[g+4>>2]=a;Ht(l,2,9798,g)|0;r=f[w>>2]|0;a=f[e+116>>2]|0}else{a=f[e+104>>2]|0;r=s;a=(s+-1-(f[e+96>>2]|0)+a|0)/(a|0)|0}f[e+40>>2]=a;s=i+12|0;f[s>>2]=r;g=e+76|0;t[g>>0]=t[g>>0]|2;g=f[i+16>>2]|0;e=f[i>>2]|0;e:do if(g){n=f[d>>2]|0;p=n+-1|0;v=f[o>>2]|0;w=v+-1|0;m=e+-1|0;a=0;k=f[i+24>>2]|0;while(1){i=f[k>>2]|0;r=(m+i|0)/(i|0)|0;f[k+16>>2]=r;b=f[k+4>>2]|0;o=(p+b|0)/(b|0)|0;f[k+20>>2]=o;i=(w+i|0)/(i|0)|0;u=f[k+40>>2]|0;d=Ll(1,0,u|0)|0;h=D;i=Il(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;i=Il(i|0,D|0,d|0,h|0)|0;i=Rl(i|0,D|0,u|0)|0;r=Il(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;r=Il(r|0,D|0,d|0,h|0)|0;r=Rl(r|0,D|0,u|0)|0;r=i-r|0;if((r|0)<0){o=29;break}_=f[s>>2]|0;i=(b+-1+_|0)/(b|0)|0;f[k+8>>2]=r;i=Il(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;i=Il(i|0,D|0,d|0,h|0)|0;i=Rl(i|0,D|0,u|0)|0;r=Il(o|0,((o|0)<0)<<31>>31|0,-1,-1)|0;r=Il(r|0,D|0,d|0,h|0)|0;r=Rl(r|0,D|0,u|0)|0;r=i-r|0;if((r|0)<0){o=31;break}f[k+12>>2]=r;a=a+1|0;if(a>>>0>=g>>>0){r=v;a=_;break e}else k=k+52|0}if((o|0)==29){f[y>>2]=a;f[y+4>>2]=r;Ht(l,1,9887,y)|0;l=0;c=S;return l|0}else if((o|0)==31){f[E>>2]=a;f[E+4>>2]=r;Ht(l,1,9956,E)|0;l=0;c=S;return l|0}}else{n=f[d>>2]|0;r=f[o>>2]|0;a=f[s>>2]|0}while(0)f[A>>2]=e;f[A+4>>2]=n;f[A+8>>2]=r;f[A+12>>2]=a;Ht(l,4,10025,A)|0;l=1;c=S;return l|0}function rf(){var e=0,i=0,r=0;e=Fn(1,208)|0;if(!e){i=0;return i|0}f[e>>2]=1;i=e+184|0;t[i>>0]=t[i>>0]|2;i=Fn(1,5640)|0;f[e+12>>2]=i;if(!i){Gn(e);i=0;return i|0}i=Fn(1,1e3)|0;f[e+16>>2]=i;if(!i){Gn(e);i=0;return i|0}f[e+20>>2]=1e3;f[e+60>>2]=-1;i=e+64|0;f[i>>2]=0;f[i+4>>2]=0;i=Fn(1,48)|0;do if(i){f[i+32>>2]=100;f[i+24>>2]=0;r=Fn(100,24)|0;f[i+28>>2]=r;if(!r){Yn(i);break}f[i+40>>2]=0;f[e+196>>2]=i;r=sa()|0;f[e+192>>2]=r;if(!r){Gn(e);r=0;return r|0}r=sa()|0;f[e+188>>2]=r;if(r){r=e;return r|0}Gn(e);r=0;return r|0}while(0)f[e+196>>2]=0;Gn(e);r=0;return r|0}function tf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0;p=c;c=c+128|0;_=p+104|0;m=p+72|0;w=p+64|0;h=p+40|0;u=p+24|0;l=p+16|0;a=p+8|0;n=p;if(i&384){il(10063,11,1,r)|0;c=p;return}if((i&1|0)!=0?(t=f[e+80>>2]|0,(t|0)!=0):0)nf(t,0,r);if(i&2){il(10075,36,1,r)|0;t=f[e+96>>2]|0;f[n>>2]=f[e+92>>2];f[n+4>>2]=t;zs(r,10112,n)|0;n=f[e+104>>2]|0;f[a>>2]=f[e+100>>2];f[a+4>>2]=n;zs(r,10130,a)|0;a=f[e+116>>2]|0;f[l>>2]=f[e+112>>2];f[l+4>>2]=a;zs(r,10148,l)|0;vf(f[e+12>>2]|0,f[(f[e+80>>2]|0)+16>>2]|0,r);il(10164,2,1,r)|0}if((i&8|0)!=0?(o=ie(f[e+112>>2]|0,f[e+116>>2]|0)|0,(o|0)!=0):0){t=e+80|0;n=0;a=f[e+164>>2]|0;while(1){vf(a,f[(f[t>>2]|0)+16>>2]|0,r);n=n+1|0;if((n|0)==(o|0))break;else a=a+5640|0}}if(!(i&16)){c=p;return}l=f[e+196>>2]|0;il(10167,37,1,r)|0;o=l;i=f[o+4>>2]|0;t=l+8|0;e=f[t>>2]|0;t=f[t+4>>2]|0;a=u;f[a>>2]=f[o>>2];f[a+4>>2]=i;a=u+8|0;f[a>>2]=e;f[a+4>>2]=t;zs(r,10205,u)|0;il(10272,17,1,r)|0;a=l+28|0;t=f[a>>2]|0;e:do if((t|0)!=0?(d=l+24|0,(f[d>>2]|0)!=0):0){n=0;while(1){i=t+(n*24|0)+8|0;o=f[i>>2]|0;i=f[i+4>>2]|0;u=f[t+(n*24|0)+16>>2]|0;f[h>>2]=s[t+(n*24|0)>>1];e=h+8|0;f[e>>2]=o;f[e+4>>2]=i;f[h+16>>2]=u;zs(r,10290,h)|0;n=n+1|0;if(n>>>0>=(f[d>>2]|0)>>>0)break e;t=f[a>>2]|0}}while(0)il(10321,4,1,r)|0;i=l+40|0;a=f[i>>2]|0;if((a|0)!=0?(k=l+36|0,b=f[k>>2]|0,(b|0)!=0):0){n=0;t=0;do{t=(f[a+(n*40|0)+4>>2]|0)+t|0;n=n+1|0}while((n|0)!=(b|0))if(t){il(10326,16,1,r)|0;if(f[k>>2]|0){t=f[i>>2]|0;o=0;do{l=f[t+(o*40|0)+4>>2]|0;f[w>>2]=o;f[w+4>>2]=l;zs(r,10343,w)|0;t=f[i>>2]|0;n=f[t+(o*40|0)+16>>2]|0;e:do if(!((l|0)==0|(n|0)==0)){t=0;while(1){e=n+(t*24|0)|0;v=f[e>>2]|0;e=f[e+4>>2]|0;d=n+(t*24|0)+8|0;u=f[d>>2]|0;d=f[d+4>>2]|0;b=n+(t*24|0)+16|0;h=f[b>>2]|0;b=f[b+4>>2]|0;f[m>>2]=t;a=m+8|0;f[a>>2]=v;f[a+4>>2]=e;a=m+16|0;f[a>>2]=u;f[a+4>>2]=d;a=m+24|0;f[a>>2]=h;f[a+4>>2]=b;zs(r,10379,m)|0;a=t+1|0;t=f[i>>2]|0;if((a|0)==(l|0))break e;n=f[t+(o*40|0)+16>>2]|0;t=a}}while(0)n=f[t+(o*40|0)+24>>2]|0;e:do if((n|0)!=0?(f[t+(o*40|0)+20>>2]|0)!=0:0){t=0;while(1){b=n+(t*24|0)+8|0;h=f[b>>2]|0;b=f[b+4>>2]|0;a=f[n+(t*24|0)+16>>2]|0;f[_>>2]=s[n+(t*24|0)>>1];v=_+8|0;f[v>>2]=h;f[v+4>>2]=b;f[_+16>>2]=a;zs(r,10290,_)|0;a=t+1|0;t=f[i>>2]|0;if(a>>>0>=(f[t+(o*40|0)+20>>2]|0)>>>0)break e;n=f[t+(o*40|0)+24>>2]|0;t=a}}while(0)o=o+1|0}while(o>>>0<(f[k>>2]|0)>>>0)}il(10321,4,1,r)|0}}il(10164,2,1,r)|0;c=p;return}function nf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0;h=c;c=c+64|0;d=h+48|0;u=h+40|0;l=h+32|0;s=h+16|0;a=h;o=h+52|0;if(!i){il(10482,13,1,r)|0;t[o+1>>0]=0;n=9}else{il(10445,36,1,f[676]|0)|0;n=0}t[o>>0]=n;b=f[e>>2]|0;n=f[e+4>>2]|0;f[a>>2]=o;f[a+4>>2]=b;f[a+8>>2]=n;zs(r,10496,a)|0;a=f[e+8>>2]|0;n=f[e+12>>2]|0;f[s>>2]=o;f[s+4>>2]=a;f[s+8>>2]=n;zs(r,10513,s)|0;s=e+16|0;n=f[s>>2]|0;f[l>>2]=o;f[l+4>>2]=n;zs(r,10530,l)|0;n=e+24|0;if(!(f[n>>2]|0)){il(10164,2,1,r)|0;c=h;return}if(!(f[s>>2]|0)){il(10164,2,1,r)|0;c=h;return}else a=0;do{f[u>>2]=o;f[u+4>>2]=a;zs(r,10546,u)|0;ff((f[n>>2]|0)+(a*52|0)|0,i,r);f[d>>2]=o;zs(r,10566,d)|0;a=a+1|0}while(a>>>0<(f[s>>2]|0)>>>0)il(10164,2,1,r)|0;c=h;return}function ff(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0;u=c;c=c+48|0;o=u+24|0;l=u+16|0;s=u;a=u+32|0;n=(i|0)!=0;if(n){il(10571,41,1,f[676]|0)|0;i=0}else{t[a+1>>0]=9;t[a+2>>0]=0;i=9}t[a>>0]=i;d=f[e>>2]|0;i=f[e+4>>2]|0;f[s>>2]=a;f[s+4>>2]=d;f[s+8>>2]=i;zs(r,10613,s)|0;s=f[e+24>>2]|0;f[l>>2]=a;f[l+4>>2]=s;zs(r,10630,l)|0;l=f[e+32>>2]|0;f[o>>2]=a;f[o+4>>2]=l;zs(r,10642,o)|0;if(!n){c=u;return}il(10164,2,1,r)|0;c=u;return}function af(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+16|0;t=d;i=e+80|0;o=f[(f[i>>2]|0)+16>>2]|0;r=Fn(1,56)|0;f[t>>2]=r;if(!r){u=0;c=d;return u|0}f[r+24>>2]=f[(f[i>>2]|0)+16>>2];f[r>>2]=f[e+92>>2];f[r+4>>2]=f[e+96>>2];f[r+8>>2]=f[e+100>>2];f[r+12>>2]=f[e+104>>2];f[r+16>>2]=f[e+112>>2];f[r+20>>2]=f[e+116>>2];f[r+52>>2]=0;r=f[e+12>>2]|0;i=f[t>>2]|0;f[i+32>>2]=f[r>>2];f[i+36>>2]=f[r+4>>2];f[i+40>>2]=f[r+8>>2];f[i+44>>2]=f[r+16>>2];f[i+48>>2]=Fn(f[i+24>>2]|0,1080)|0;i=f[t>>2]|0;l=i+48|0;e=f[l>>2]|0;if(!e){An(t);u=0;c=d;return u|0}if(!o){u=i;c=d;return u|0}s=r+5584|0;r=0;while(1){a=f[s>>2]|0;f[e+(r*1080|0)+4>>2]=f[a+(r*1080|0)>>2];t=a+(r*1080|0)+4|0;n=f[t>>2]|0;f[e+(r*1080|0)+8>>2]=n;f[e+(r*1080|0)+12>>2]=f[a+(r*1080|0)+8>>2];f[e+(r*1080|0)+16>>2]=f[a+(r*1080|0)+12>>2];f[e+(r*1080|0)+20>>2]=f[a+(r*1080|0)+16>>2];f[e+(r*1080|0)+24>>2]=f[a+(r*1080|0)+20>>2];if(n>>>0<33){Nl(e+(r*1080|0)+948|0,a+(r*1080|0)+944|0,n|0)|0;Nl(e+(r*1080|0)+816|0,a+(r*1080|0)+812|0,f[t>>2]|0)|0}n=f[a+(r*1080|0)+24>>2]|0;f[e+(r*1080|0)+28>>2]=n;f[e+(r*1080|0)+808>>2]=f[a+(r*1080|0)+804>>2];if((n|0)!=1){n=(f[t>>2]|0)*3|0;t=n+-2|0;if((t|0)<97&(n|0)>2)u=10}else{t=1;u=10}if((u|0)==10){u=0;n=0;do{f[e+(r*1080|0)+32+(n<<2)>>2]=f[a+(r*1080|0)+28+(n<<3)+4>>2];f[e+(r*1080|0)+420+(n<<2)>>2]=f[a+(r*1080|0)+28+(n<<3)>>2];n=n+1|0}while((n|0)!=(t|0))}f[e+(r*1080|0)+812>>2]=f[a+(r*1080|0)+808>>2];r=r+1|0;if((r|0)==(o|0))break;e=f[l>>2]|0}c=d;return i|0}function sf(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0;i=Fn(1,48)|0;if(!i){u=0;return u|0}s=e+196|0;r=f[s>>2]|0;l=r;u=f[l+4>>2]|0;e=i;f[e>>2]=f[l>>2];f[e+4>>2]=u;e=r+8|0;u=f[e+4>>2]|0;l=i+8|0;f[l>>2]=f[e>>2];f[l+4>>2]=u;l=r+16|0;u=f[l+4>>2]|0;e=i+16|0;f[e>>2]=f[l>>2];f[e+4>>2]=u;r=f[r+24>>2]|0;e=i+24|0;f[e>>2]=r;r=Nn(r*24|0)|0;u=i+28|0;f[u>>2]=r;if(!r){Yn(i);u=0;return u|0}t=f[(f[s>>2]|0)+28>>2]|0;if(!t){Yn(r);f[u>>2]=0}else Nl(r|0,t|0,(f[e>>2]|0)*24|0)|0;e=f[(f[s>>2]|0)+36>>2]|0;a=i+36|0;f[a>>2]=e;e=Fn(e,40)|0;l=i+40|0;f[l>>2]=e;if(!e){Yn(f[u>>2]|0);Yn(i);u=0;return u|0}r=f[(f[s>>2]|0)+40>>2]|0;if(!r){Yn(e);f[l>>2]=0;u=i;return u|0}if(!(f[a>>2]|0)){u=i;return u|0}r=f[r+20>>2]|0;f[e+20>>2]=r;r=Nn(r*24|0)|0;e=f[l>>2]|0;f[e+24>>2]=r;e:do if(!r)r=0;else{n=r;r=0;while(1){t=f[(f[(f[s>>2]|0)+40>>2]|0)+(r*40|0)+24>>2]|0;if(!t){Yn(n);e=f[l>>2]|0;f[e+(r*40|0)+24>>2]=0}else{Nl(n|0,t|0,(f[e+(r*40|0)+20>>2]|0)*24|0)|0;e=f[l>>2]|0}t=f[(f[(f[s>>2]|0)+40>>2]|0)+(r*40|0)+4>>2]|0;f[e+(r*40|0)+4>>2]=t;t=Nn(t*24|0)|0;e=f[l>>2]|0;f[e+(r*40|0)+16>>2]=t;if(!t)break;n=f[(f[(f[s>>2]|0)+40>>2]|0)+(r*40|0)+16>>2]|0;if(!n){Yn(t);e=f[l>>2]|0;f[e+(r*40|0)+16>>2]=0}else{Nl(t|0,n|0,(f[e+(r*40|0)+4>>2]|0)*24|0)|0;e=f[l>>2]|0}f[e+(r*40|0)+32>>2]=0;f[e+(r*40|0)+36>>2]=0;r=r+1|0;if(r>>>0>=(f[a>>2]|0)>>>0){o=32;break}n=f[(f[(f[s>>2]|0)+40>>2]|0)+(r*40|0)+20>>2]|0;f[e+(r*40|0)+20>>2]=n;n=Nn(n*24|0)|0;e=f[l>>2]|0;f[e+(r*40|0)+24>>2]=n;if(!n)break e}if((o|0)==32)return i|0;if(r){Yn(f[e+24>>2]|0);Yn(f[(f[l>>2]|0)+16>>2]|0);if((r|0)!=1){e=1;do{Yn(f[(f[l>>2]|0)+(e*40|0)+24>>2]|0);Yn(f[(f[l>>2]|0)+(e*40|0)+16>>2]|0);e=e+1|0}while((e|0)!=(r|0))}e=f[l>>2]|0}Yn(e);Yn(f[u>>2]|0);Yn(i);u=0;return u|0}while(0)if(r){Yn(f[e+24>>2]|0);if((r|0)!=1){e=1;do{Yn(f[(f[l>>2]|0)+(e*40|0)+24>>2]|0);e=e+1|0}while((e|0)!=(r|0))}e=f[l>>2]|0}Yn(e);Yn(f[u>>2]|0);Yn(i);u=0;return u|0}function lf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;if(!r){r=0;return r|0}n=zt()|0;u=e+84|0;f[u>>2]=n;if(!n){r=0;return r|0}Kt(r,n);s=e+188|0;oa(f[s>>2]|0,27,t)|0;s=f[s>>2]|0;l=ua(s)|0;n=ca(s)|0;if(l){o=0;a=1;while(1){if(!a)a=0;else a=(vo[f[n>>2]&63](e,i,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{n=n+4|0;a=a&1}}da(s);if(!a){r=e+80|0;Gt(f[r>>2]|0);f[r>>2]=0;r=0;return r|0}}else da(s);l=f[r+16>>2]|0;if(!l){r=1;return r|0}s=f[(f[u>>2]|0)+24>>2]|0;n=f[r+24>>2]|0;a=0;do{f[n+(a*52|0)+36>>2]=f[s+(a*52|0)+36>>2];r=s+(a*52|0)+44|0;f[n+(a*52|0)+44>>2]=f[r>>2];f[r>>2]=0;a=a+1|0}while(a>>>0<l>>>0)n=1;return n|0}function of(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;p=c;c=c+16|0;l=p+8|0;if(!r){Ht(t,1,10654,p)|0;_=0;c=p;return _|0}a=f[e+112>>2]|0;s=ie(f[e+116>>2]|0,a)|0;if(s>>>0<=n>>>0){f[l>>2]=n;f[l+4>>2]=s+-1;Ht(t,1,10692,l)|0;_=0;c=p;return _|0}_=(n>>>0)%(a>>>0)|0;m=(n>>>0)/(a>>>0)|0;l=f[e+100>>2]|0;s=ie(l,_)|0;o=f[e+92>>2]|0;s=s+o|0;f[r>>2]=s;w=e+80|0;a=f[w>>2]|0;u=f[a>>2]|0;s=s>>>0<u>>>0?u:s;f[r>>2]=s;o=(ie(l,_+1|0)|0)+o|0;_=r+8|0;f[_>>2]=o;l=f[a+8>>2]|0;o=o>>>0>l>>>0?l:o;f[_>>2]=o;_=f[e+104>>2]|0;l=ie(_,m)|0;u=f[e+96>>2]|0;l=l+u|0;k=r+4|0;f[k>>2]=l;b=f[a+4>>2]|0;l=l>>>0<b>>>0?b:l;f[k>>2]=l;u=(ie(_,m+1|0)|0)+u|0;m=r+12|0;f[m>>2]=u;_=f[a+12>>2]|0;u=u>>>0>_>>>0?_:u;f[m>>2]=u;m=r+24|0;_=r+16|0;k=f[_>>2]|0;if(k){b=f[a+24>>2]|0;h=s+-1|0;d=l+-1|0;o=o+-1|0;a=u+-1|0;s=0;l=f[m>>2]|0;while(1){u=f[b+(s*52|0)+40>>2]|0;f[l+40>>2]=u;S=f[l>>2]|0;A=(h+S|0)/(S|0)|0;f[l+16>>2]=A;v=f[l+4>>2]|0;E=(d+v|0)/(v|0)|0;f[l+20>>2]=E;S=(o+S|0)/(S|0)|0;v=(a+v|0)/(v|0)|0;y=Ll(1,0,u|0)|0;g=D;S=Il(S|0,((S|0)<0)<<31>>31|0,-1,-1)|0;S=Il(S|0,D|0,y|0,g|0)|0;S=Rl(S|0,D|0,u|0)|0;A=Il(A|0,((A|0)<0)<<31>>31|0,-1,-1)|0;A=Il(A|0,D|0,y|0,g|0)|0;A=Rl(A|0,D|0,u|0)|0;f[l+8>>2]=S-A;v=Il(v|0,((v|0)<0)<<31>>31|0,-1,-1)|0;v=Il(v|0,D|0,y|0,g|0)|0;v=Rl(v|0,D|0,u|0)|0;E=Il(E|0,((E|0)<0)<<31>>31|0,-1,-1)|0;g=Il(E|0,D|0,y|0,g|0)|0;u=Rl(g|0,D|0,u|0)|0;f[l+12>>2]=v-u;s=s+1|0;if(s>>>0>=k>>>0)break;else l=l+52|0}}d=e+84|0;a=f[d>>2]|0;if(a)Gt(a);a=zt()|0;f[d>>2]=a;if(!a){S=0;c=p;return S|0}Kt(r,a);f[e+60>>2]=n;l=e+188|0;oa(f[l>>2]|0,28,t)|0;l=f[l>>2]|0;o=ua(l)|0;a=ca(l)|0;if(o){u=0;s=1;while(1){if(!s)s=0;else s=(vo[f[a>>2]&63](e,i,t)|0)!=0;u=u+1|0;if((u|0)==(o|0))break;else{a=a+4|0;s=s&1}}da(l);if(!s){Gt(f[w>>2]|0);f[w>>2]=0;S=0;c=p;return S|0}}else da(l);a=f[_>>2]|0;if(!a){S=1;c=p;return S|0}o=f[(f[d>>2]|0)+24>>2]|0;l=f[m>>2]|0;u=0;while(1){f[l+(u*52|0)+36>>2]=f[o+(u*52|0)+36>>2];s=f[l+(u*52|0)+44>>2]|0;if(!s)s=o;else{Yn(s);s=f[(f[d>>2]|0)+24>>2]|0;l=f[m>>2]|0;a=f[_>>2]|0}S=s+(u*52|0)+44|0;f[l+(u*52|0)+44>>2]=f[S>>2];f[S>>2]=0;u=u+1|0;if(u>>>0>=a>>>0){a=1;break}else o=s}c=p;return a|0}function uf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0;o=c;c=c+16|0;l=o;f[e+168>>2]=i;t=f[e+80>>2]|0;e:do if((((t|0)!=0?(s=f[t+24>>2]|0,(s|0)!=0):0)?(n=f[e+12>>2]|0,(n|0)!=0):0)?(a=f[n+5584>>2]|0,(a|0)!=0):0){t=f[t+16>>2]|0;if(!t)t=1;else{n=0;while(1){if((f[a+(n*1080|0)+4>>2]|0)>>>0<=i>>>0)break;f[s+(n*52|0)+40>>2]=i;n=n+1|0;if(n>>>0>=t>>>0){t=1;break e}}Ht(r,1,10753,l)|0;t=0}}else t=0;while(0)c=o;return t|0}function cf(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0;Y=c;c=c+48|0;U=Y+32|0;j=Y+24|0;F=Y+16|0;B=Y+8|0;N=Y;T=e+204|0;a=f[T>>2]|0;D=e+116|0;R=e+112|0;O=ie(f[R>>2]|0,f[D>>2]|0)|0;L=(O|0)==1;if(!O){H=1;c=Y;return H|0}I=e+200|0;M=e+12|0;C=e+164|0;P=e+8|0;x=a+20|0;A=a+24|0;S=0;a=0;u=0;e:while(1){if((f[I>>2]|0)!=(S|0)){H=5;break}y=S;S=S+1|0;E=ie(f[D>>2]|0,f[R>>2]|0)|0;f[B>>2]=S;f[B+4>>2]=E;Ht(r,4,10866,B)|0;f[M>>2]=0;E=f[T>>2]|0;f[E+12>>2]=f[(f[C>>2]|0)+(y*5640|0)+5588>>2];f[P>>2]=0;if(!(Nr(E,f[I>>2]|0,r)|0))break;s=f[T>>2]|0;if(f[(f[s+24>>2]|0)+16>>2]|0){o=0;do{l=f[(f[f[x>>2]>>2]|0)+20>>2]|0;if(L){f[l+(o*52|0)+32>>2]=f[(f[(f[A>>2]|0)+24>>2]|0)+(o*52|0)+44>>2];f[l+(o*52|0)+36>>2]=0}else{if(!(Br(l+(o*52|0)|0)|0)){H=14;break e}s=f[T>>2]|0}o=o+1|0}while(o>>>0<(f[(f[s+24>>2]|0)+16>>2]|0)>>>0)}E=qr(s)|0;if(!L){if(E>>>0>u>>>0){s=Hn(a,E)|0;if(!s){H=20;break}else{a=s;s=E}}else s=u;l=f[T>>2]|0;y=l+24|0;o=f[y>>2]|0;if(f[o+16>>2]|0){g=l+20|0;l=a;v=0;do{m=f[(f[f[g>>2]>>2]|0)+20>>2]|0;d=f[o+24>>2]|0;w=f[d+(v*52|0)+24>>2]|0;w=((w&7|0)!=0&1)+(w>>>3)|0;h=f[m+(v*52|0)+8>>2]|0;b=f[m+(v*52|0)>>2]|0;p=h-b|0;k=f[m+(v*52|0)+12>>2]|0;m=f[m+(v*52|0)+4>>2]|0;X=f[o>>2]|0;z=f[d+(v*52|0)>>2]|0;u=f[d+(v*52|0)+4>>2]|0;q=(z+~X+(f[o+8>>2]|0)|0)/(z|0)|0;_=q-p|0;o=b-((X+-1+z|0)/(z|0)|0)+(ie(q,m-(((f[o+4>>2]|0)+-1+u|0)/(u|0)|0)|0)|0)|0;o=(f[d+(v*52|0)+44>>2]|0)+(o<<2)|0;i:do switch(((w|0)==3?4:w)|0){case 1:{u=(k|0)==(m|0);if(!(f[d+(v*52|0)+32>>2]|0)){if(u)break i;w=(h|0)==(b|0);b=k-m|0;k=0;while(1){if(!w){u=0;d=l;h=o;while(1){t[d>>0]=f[h>>2];u=u+1|0;if((u|0)==(p|0))break;else{d=d+1|0;h=h+4|0}}l=l+p|0;o=o+(p<<2)|0}k=k+1|0;if((k|0)==(b|0))break;else o=o+(_<<2)|0}}else{if(u)break i;w=(h|0)==(b|0);b=k-m|0;k=0;while(1){if(!w){u=0;d=l;h=o;while(1){t[d>>0]=f[h>>2];u=u+1|0;if((u|0)==(p|0))break;else{d=d+1|0;h=h+4|0}}l=l+p|0;o=o+(p<<2)|0}k=k+1|0;if((k|0)==(b|0))break;else o=o+(_<<2)|0}}break}case 2:{u=(k|0)==(m|0);if(!(f[d+(v*52|0)+32>>2]|0)){if(!u){w=(h|0)==(b|0);b=k-m|0;k=0;while(1){if(!w){u=0;d=l;h=o;while(1){n[d>>1]=f[h>>2];u=u+1|0;if((u|0)==(p|0))break;else{d=d+2|0;h=h+4|0}}l=l+(p<<1)|0;o=o+(p<<2)|0}k=k+1|0;if((k|0)==(b|0))break;else o=o+(_<<2)|0}}}else if(!u){w=(h|0)==(b|0);b=k-m|0;k=0;while(1){if(!w){u=0;d=l;h=o;while(1){n[d>>1]=f[h>>2];u=u+1|0;if((u|0)==(p|0))break;else{d=d+2|0;h=h+4|0}}l=l+(p<<1)|0;o=o+(p<<2)|0}k=k+1|0;if((k|0)==(b|0))break;else o=o+(_<<2)|0}}break}case 4:{if((k|0)!=(m|0)){w=(h|0)==(b|0);b=k-m|0;k=0;while(1){if(!w){u=0;d=l;h=o;while(1){f[d>>2]=f[h>>2];u=u+1|0;if((u|0)==(p|0))break;else{d=d+4|0;h=h+4|0}}l=l+(p<<2)|0;o=o+(p<<2)|0}k=k+1|0;if((k|0)==(b|0))break;else o=o+(_<<2)|0}}break}default:{}}while(0)v=v+1|0;o=f[y>>2]|0}while(v>>>0<(f[o+16>>2]|0)>>>0)l=f[T>>2]|0}if(!(zr(l,a,E)|0)){H=63;break}}else s=u;if(!(Ef(e,i,r)|0)){H=65;break}if(S>>>0>=O>>>0){H=67;break}else u=s}if((H|0)==5)Ht(r,1,10829,N)|0;else if((H|0)==14){Ht(r,1,10887,F)|0;if(!a){X=0;c=Y;return X|0}Yn(a);X=0;c=Y;return X|0}else if((H|0)==20){if(a)Yn(a);Ht(r,1,10925,j)|0;X=0;c=Y;return X|0}else if((H|0)==63){Ht(r,1,10964,U)|0;Yn(a);X=0;c=Y;return X|0}else if((H|0)==65){if(!a){X=0;c=Y;return X|0}Yn(a);X=0;c=Y;return X|0}else if((H|0)==67){if(!a){X=1;c=Y;return X|0}Yn(a);X=1;c=Y;return X|0}if(!a){X=0;c=Y;return X|0}Yn(a);X=0;c=Y;return X|0}function df(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,s=0,l=0,o=0;t=e+188|0;if(!(oa(f[t>>2]|0,29,r)|0)){i=0;return i|0}if(((n[e+88>>1]|0)+-3&65535)<4?(oa(f[t>>2]|0,30,r)|0)==0:0){i=0;return i|0}if(!(oa(f[t>>2]|0,31,r)|0)){i=0;return i|0}if(!(oa(f[t>>2]|0,32,r)|0)){i=0;return i|0}if(!(oa(f[t>>2]|0,33,r)|0)){i=0;return i|0}o=f[t>>2]|0;s=ua(o)|0;t=ca(o)|0;if(!s)t=1;else{l=0;a=t;t=1;while(1){if(!t)t=0;else t=(vo[f[a>>2]&63](e,i,r)|0)!=0;t=t&1;l=l+1|0;if((l|0)==(s|0))break;else a=a+4|0}}da(o);i=t;return i|0}function hf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var a=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+16|0;a=zt()|0;o=e+80|0;f[o>>2]=a;if(!a){Ht(t,1,11011,d)|0;i=0;c=d;return i|0}Kt(r,a);l=f[r+24>>2]|0;if((l|0)!=0?(u=f[r+16>>2]|0,(u|0)!=0):0){s=0;do{r=l+(s*52|0)+44|0;a=f[r>>2]|0;if(a){f[(f[(f[o>>2]|0)+24>>2]|0)+(s*52|0)+44>>2]=a;f[r>>2]=0}s=s+1|0}while(s>>>0<u>>>0)}a=e+192|0;if(!(oa(f[a>>2]|0,34,t)|0)){i=0;c=d;return i|0}if(!(oa(f[a>>2]|0,35,t)|0)){i=0;c=d;return i|0}if(!(oa(f[a>>2]|0,36,t)|0)){i=0;c=d;return i|0}s=f[a>>2]|0;l=ua(s)|0;a=ca(s)|0;if(l){o=0;r=1;while(1){if(!r)r=0;else r=(vo[f[a>>2]&63](e,i,t)|0)!=0;o=o+1|0;if((o|0)==(l|0))break;else{a=a+4|0;r=r&1}}da(s);if(!r){i=0;c=d;return i|0}}else da(s);a=e+188|0;if(!(oa(f[a>>2]|0,37,t)|0)){i=0;c=d;return i|0}if(!(oa(f[a>>2]|0,38,t)|0)){i=0;c=d;return i|0}if(!(oa(f[a>>2]|0,39,t)|0)){i=0;c=d;return i|0}if(!(oa(f[a>>2]|0,40,t)|0)){i=0;c=d;return i|0}if(!(oa(f[a>>2]|0,41,t)|0)){i=0;c=d;return i|0}if(!(oa(f[a>>2]|0,42,t)|0)){i=0;c=d;return i|0}if(!(oa(f[a>>2]|0,43,t)|0)){i=0;c=d;return i|0}r=e+88|0;if(((n[r>>1]|0)+-3&65535)<4){if(!(oa(f[a>>2]|0,44,t)|0)){i=0;c=d;return i|0}if((n[r>>1]|0)==4?(oa(f[a>>2]|0,45,t)|0)==0:0){i=0;c=d;return i|0}}if(!(oa(f[a>>2]|0,46,t)|0)){i=0;c=d;return i|0}if((f[e+108>>2]|0)!=0?(oa(f[a>>2]|0,47,t)|0)==0:0){i=0;c=d;return i|0}if((n[r>>1]&256)!=0?(oa(f[a>>2]|0,48,t)|0)==0:0){i=0;c=d;return i|0}if((f[e+196>>2]|0)!=0?(oa(f[a>>2]|0,49,t)|0)==0:0){i=0;c=d;return i|0}if(!(oa(f[a>>2]|0,50,t)|0)){i=0;c=d;return i|0}if(!(oa(f[a>>2]|0,51,t)|0)){i=0;c=d;return i|0}o=f[a>>2]|0;s=ua(o)|0;a=ca(o)|0;if(!s)a=1;else{l=0;r=a;a=1;while(1){if(!a)a=0;else a=(vo[f[r>>2]&63](e,i,t)|0)!=0;a=a&1;l=l+1|0;if((l|0)==(s|0))break;else r=r+4|0}}da(o);i=a;c=d;return i|0}function bf(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;w=c;c=c+48|0;b=w+40|0;k=w+32|0;h=w+24|0;u=w+16|0;l=w+8|0;s=w;o=e+200|0;if((f[o>>2]|0)==(i|0)){d=ie(f[e+116>>2]|0,f[e+112>>2]|0)|0;f[l>>2]=i+1;f[l+4>>2]=d;Ht(a,4,10866,l)|0;f[e+12>>2]=0;d=e+204|0;l=f[d>>2]|0;f[l+12>>2]=f[(f[e+164>>2]|0)+(i*5640|0)+5588>>2];f[e+8>>2]=0;if(Nr(l,f[o>>2]|0,a)|0){s=f[d>>2]|0;e:do if(f[(f[s+24>>2]|0)+16>>2]|0){l=0;while(1){if(!(Br((f[(f[f[s+20>>2]>>2]|0)+20>>2]|0)+(l*52|0)|0)|0))break;l=l+1|0;s=f[d>>2]|0;if(l>>>0>=(f[(f[s+24>>2]|0)+16>>2]|0)>>>0)break e}Ht(a,1,10887,h)|0;k=0;c=w;return k|0}while(0)if(!(zr(s,r,t)|0)){Ht(a,1,10964,k)|0;k=0;c=w;return k|0}if(Ef(e,n,a)|0){k=1;c=w;return k|0}f[b>>2]=i;Ht(a,1,11101,b)|0;k=0;c=w;return k|0}}else Ht(a,1,10829,s)|0;f[u>>2]=i;Ht(a,1,11044,u)|0;k=0;c=w;return k|0}function kf(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0;if(!e)return;n=e+5164|0;i=f[n>>2]|0;if(i){a=e+5160|0;r=f[a>>2]|0;if(r){t=0;while(1){i=f[i+(t<<3)>>2]|0;if(i){Yn(i);r=f[a>>2]|0}t=t+1|0;if(t>>>0>=r>>>0)break;i=f[n>>2]|0}i=f[n>>2]|0}f[a>>2]=0;Yn(i);f[n>>2]=0}i=e+5172|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0}i=e+5584|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0}i=e+5608|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0}i=e+5604|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0}i=e+5624|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0;f[e+5632>>2]=0;f[e+5628>>2]=0}l=e+5612|0;i=f[l>>2]|0;if(i){s=e+5616|0;r=f[s>>2]|0;if(r){a=0;while(1){t=i+12|0;n=f[t>>2]|0;if(n){Yn(n);f[t>>2]=0;r=f[s>>2]|0}a=a+1|0;if(a>>>0>=r>>>0)break;else i=i+20|0}i=f[l>>2]|0}Yn(i);f[l>>2]=0}i=e+5600|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0}i=e+5592|0;r=f[i>>2]|0;if(!r)return;Yn(r);f[i>>2]=0;f[e+5596>>2]=0;return}function wf(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function mf(e,i,r){e=e|0;i=i|0;r=r|0;return(f[e+8>>2]|0)==0&(f[e+188>>2]|0)!=0&(f[e+192>>2]|0)!=0&1|0}function _f(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0,W=0,J=0;J=c;c=c+224|0;W=J+200|0;G=J+192|0;X=J+184|0;Y=J+176|0;H=J+168|0;U=J+160|0;F=J+152|0;N=J+144|0;B=J+136|0;P=J+128|0;I=J+120|0;C=J+112|0;M=J+104|0;T=J+96|0;S=J+88|0;A=J+80|0;L=J+72|0;O=J+64|0;E=J+56|0;y=J+48|0;g=J+40|0;x=J+32|0;k=J+24|0;d=J+16|0;u=J+8|0;j=J;z=J+216|0;a=J+204|0;R=J+212|0;v=J+208|0;K=e+8|0;f[K>>2]=1;e:do if((Ot(i,z,2,r)|0)==2?(ct(z,a,2),(f[a>>2]|0)==65359):0){f[K>>2]=2;b=Bt(i)|0;b=Il(b|0,D|0,-2,-1)|0;h=D;V=e+196|0;s=f[V>>2]|0;f[s>>2]=b;f[s+4>>2]=h;s=j;f[s>>2]=b;f[s+4>>2]=h;Ht(r,4,15766,j)|0;s=f[V>>2]|0;h=f[s>>2]|0;b=s+24|0;a=f[b>>2]|0;o=s+32|0;l=f[o>>2]|0;do if((a+1|0)>>>0>l>>>0){p=~~(+(l>>>0)+100)>>>0;f[o>>2]=p;a=s+28|0;s=Hn(f[a>>2]|0,p*24|0)|0;if(!s){Yn(f[a>>2]|0);f[a>>2]=0;f[o>>2]=0;f[b>>2]=0;Ht(r,1,15803,u)|0;break e}else{f[a>>2]=s;a=f[b>>2]|0;break}}else s=f[s+28>>2]|0;while(0)n[s+(a*24|0)>>1]=-177;_=Rl(0,h|0,32)|0;p=s+(a*24|0)+8|0;f[p>>2]=_;f[p+4>>2]=D;f[s+(a*24|0)+16>>2]=2;f[b>>2]=a+1;p=e+16|0;if((Ot(i,f[p>>2]|0,2,r)|0)!=2){Ht(r,1,8295,k)|0;r=0;c=J;return r|0}ct(f[p>>2]|0,R,2);a=f[R>>2]|0;if((a|0)!=65424){_=e+20|0;w=0;l=0;m=0;i:while(1){if(a>>>0<65280){q=14;break}else u=784;while(1){s=f[u>>2]|0;o=(s|0)==0;if(o|(s|0)==(a|0))break;else u=u+12|0}if(o){Ht(r,2,15914,g)|0;d=2;r:while(1){do{if((Ot(i,f[p>>2]|0,2,r)|0)!=2){q=20;break i}ct(f[p>>2]|0,j,2);a=f[j>>2]|0}while(a>>>0<65280)u=784;while(1){s=f[u>>2]|0;if((s|0)==0|(s|0)==(a|0)){o=u;a=u;break}else u=u+12|0}if(!(f[a+4>>2]&f[K>>2])){q=25;break i}if((s|0)>=65424){q=100;break}switch(s|0){case 0:break;default:{k=o;b=d;break r}}d=d+2|0}if((q|0)==100){q=0;switch(s|0){case 65424:{s=w;a=m;q=27;break i}default:{k=o;b=d}}}u=f[V>>2]|0;h=Bt(i)|0;h=h-b|0;o=u+24|0;a=f[o>>2]|0;s=u+32|0;d=f[s>>2]|0;if((a+1|0)>>>0>d>>>0){a=~~(+(d>>>0)+100)>>>0;f[s>>2]=a;u=u+28|0;a=Hn(f[u>>2]|0,a*24|0)|0;if(!a){l=u;a=u;q=32;break}f[u>>2]=a;s=a;a=f[o>>2]|0}else s=f[u+28>>2]|0;n[s+(a*24|0)>>1]=0;d=s+(a*24|0)+8|0;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;f[s+(a*24|0)+16>>2]=b;f[o>>2]=a+1;a=f[k>>2]|0;f[R>>2]=a;if((a|0)==65424){s=w;a=m;break}else o=784;while(1){s=f[o>>2]|0;if((s|0)==0|(s|0)==(a|0))break;else o=o+12|0}}else o=u;m=(s|0)==65361?1:m;w=(s|0)==65362?1:w;l=(s|0)==65372?1:l;if(!(f[o+4>>2]&f[K>>2])){q=38;break}if((Ot(i,f[p>>2]|0,2,r)|0)!=2){q=40;break}ct(f[p>>2]|0,v,2);s=(f[v>>2]|0)+-2|0;f[v>>2]=s;a=f[p>>2]|0;if(s>>>0>(f[_>>2]|0)>>>0){a=Hn(a,s)|0;if(!a){q=43;break}f[p>>2]=a;s=f[v>>2]|0;f[_>>2]=s}a=Ot(i,a,s,r)|0;if((a|0)!=(f[v>>2]|0)){q=46;break}if(!(Co[f[o+8>>2]&63](e,f[p>>2]|0,a,r)|0)){q=48;break}d=f[V>>2]|0;h=f[o>>2]|0;b=Bt(i)|0;k=f[v>>2]|0;b=-4-k+b|0;k=k+4|0;o=d+24|0;a=f[o>>2]|0;s=d+32|0;u=f[s>>2]|0;if((a+1|0)>>>0>u>>>0){a=~~(+(u>>>0)+100)>>>0;f[s>>2]=a;u=d+28|0;a=Hn(f[u>>2]|0,a*24|0)|0;if(!a){l=u;a=u;q=53;break}f[u>>2]=a;s=a;a=f[o>>2]|0}else s=f[d+28>>2]|0;n[s+(a*24|0)>>1]=h;h=s+(a*24|0)+8|0;f[h>>2]=b;f[h+4>>2]=((b|0)<0)<<31>>31;f[s+(a*24|0)+16>>2]=k;f[o>>2]=a+1;if((Ot(i,f[p>>2]|0,2,r)|0)!=2){q=55;break}ct(f[p>>2]|0,R,2);a=f[R>>2]|0;if((a|0)==65424){s=w;a=m;break}}switch(q|0){case 14:{f[x>>2]=a;Ht(r,1,15863,x)|0;r=0;c=J;return r|0}case 20:{Ht(r,1,8295,y)|0;q=34;break}case 25:{Ht(r,1,8339,E)|0;q=34;break}case 27:{f[R>>2]=65424;break}case 32:{Yn(f[a>>2]|0);f[l>>2]=0;f[s>>2]=0;f[o>>2]=0;Ht(r,1,15803,O)|0;q=34;break}case 38:{Ht(r,1,8339,A)|0;r=0;c=J;return r|0}case 40:{Ht(r,1,8295,S)|0;r=0;c=J;return r|0}case 43:{Yn(f[p>>2]|0);f[p>>2]=0;f[_>>2]=0;Ht(r,1,8427,T)|0;r=0;c=J;return r|0}case 46:{Ht(r,1,8295,M)|0;r=0;c=J;return r|0}case 48:{Ht(r,1,15985,C)|0;r=0;c=J;return r|0}case 53:{Yn(f[a>>2]|0);f[l>>2]=0;f[s>>2]=0;f[o>>2]=0;Ht(r,1,15803,I)|0;r=0;c=J;return r|0}case 55:{Ht(r,1,8295,P)|0;r=0;c=J;return r|0}}if((q|0)==34){Ht(r,1,15930,L)|0;r=0;c=J;return r|0}if(a){if(!s){Ht(r,1,16090,N)|0;r=0;c=J;return r|0}if(!l){Ht(r,1,16136,F)|0;r=0;c=J;return r|0}i:do if(t[e+184>>0]&1){_=e+120|0;do if(f[_>>2]|0){h=e+124|0;b=0;a=0;s=0;r:do{l=f[h>>2]|0;o=f[l+(b<<3)>>2]|0;t:do if(o){u=f[l+(b<<3)+4>>2]|0;l=a>>>0<u>>>0;d=l?0:a-u|0;if((u|0)==(a|0)|l^1)a=d;else{o=l?o+a|0:o;a=u-a|0;while(1){if(a>>>0<4){q=70;break r}ct(o,j,4);l=a+-4|0;a=f[j>>2]|0;s=a+s|0;if(l>>>0<a>>>0)break;if((l|0)==(a|0)){a=d;break t}else{o=o+(a+4)|0;a=l-a|0}}a=a-l|0}}while(0)b=b+1|0}while(b>>>0<(f[_>>2]|0)>>>0)if((q|0)==70){Ht(r,1,16182,U)|0;break}if(!a)q=77;else Ht(r,1,16213,H)|0}else{s=0;q=77}while(0)r:do if((q|0)==77){l=Nn(s)|0;k=e+144|0;f[k>>2]=l;if(!l){Ht(r,1,13302,Y)|0;break}w=e+132|0;f[w>>2]=s;o=f[_>>2]|0;m=e+124|0;do if(o){a=f[m>>2]|0;l=a;b=0;h=0;s=0;t:while(1){u=f[l+(b<<3)>>2]|0;if(!u)u=h;else{l=f[l+(b<<3)+4>>2]|0;a=(f[k>>2]|0)+s|0;n:do if(h>>>0<l>>>0){Nl(a|0,u|0,h|0)|0;s=s+h|0;if((l|0)==(h|0)){u=0;break}d=u+h|0;a=l-h|0;while(1){if(a>>>0<4){q=88;break t}ct(d,z,4);u=d+4|0;o=a+-4|0;l=f[z>>2]|0;a=(f[k>>2]|0)+s|0;if(o>>>0<l>>>0){l=u;break}Nl(a|0,u|0,l|0)|0;a=f[z>>2]|0;s=a+s|0;if((o|0)==(a|0)){u=0;break n}else{d=d+(a+4)|0;a=o-a|0}}Nl(a|0,l|0,o|0)|0;u=(f[z>>2]|0)-o|0;s=o+s|0}else{Nl(a|0,u|0,l|0)|0;u=h-l|0;s=l+s|0}while(0)Yn(f[(f[m>>2]|0)+(b<<3)>>2]|0);l=f[m>>2]|0;f[l+(b<<3)>>2]=0;f[l+(b<<3)+4>>2]=0;o=f[_>>2]|0;a=l}b=b+1|0;if(b>>>0>=o>>>0){q=94;break}else h=u}if((q|0)==88){Ht(r,1,16182,X)|0;break r}else if((q|0)==94){l=f[k>>2]|0;s=f[w>>2]|0;break}}else a=f[m>>2]|0;while(0)f[e+128>>2]=l;f[e+152>>2]=s;f[_>>2]=0;Yn(a);f[m>>2]=0;break i}while(0)Ht(r,1,16236,G)|0;r=0;c=J;return r|0}while(0)Ht(r,4,16262,W)|0;W=Bt(i)|0;r=(f[V>>2]|0)+8|0;f[r>>2]=W+-2;f[r+4>>2]=0;f[K>>2]=8;r=1;c=J;return r|0}}Ht(r,1,16044,B)|0;r=0;c=J;return r|0}while(0)Ht(r,1,15839,d)|0;r=0;c=J;return r|0}function pf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0;R=c;c=c+16|0;D=R;P=f[e+80>>2]|0;x=e+88|0;T=ie(f[e+112>>2]|0,f[e+116>>2]|0)|0;w=f[P+16>>2]|0;b=w*1080|0;k=f[e+12>>2]|0;w=ie(w<<2,w)|0;e:do if(T){m=k+5604|0;_=k+5620|0;p=k+5612|0;v=k+5616|0;g=k+5632|0;y=k+5624|0;E=k+5584|0;M=0;C=f[e+164>>2]|0;i:while(1){o=C+5584|0;A=f[o>>2]|0;Nl(C|0,k|0,5640)|0;i=C+5636|0;t[i>>0]=t[i>>0]&-4;f[C+5168>>2]=0;i=C+5604|0;f[i>>2]=0;u=C+5620|0;f[u>>2]=0;S=C+5612|0;f[S>>2]=0;d=C+5632|0;f[d>>2]=0;h=C+5624|0;f[h>>2]=0;f[o>>2]=A;if(f[m>>2]|0){n=Nn(w)|0;f[i>>2]=n;if(!n){i=0;n=25;break}Nl(n|0,f[m>>2]|0,w|0)|0}i=(f[_>>2]|0)*20|0;n=Nn(i)|0;f[S>>2]=n;if(!n){i=0;n=25;break}Nl(n|0,f[p>>2]|0,i|0)|0;i=f[v>>2]|0;if(i){s=0;l=f[S>>2]|0;o=f[p>>2]|0;while(1){a=o+12|0;if(f[a>>2]|0){i=o+16|0;n=Nn(f[i>>2]|0)|0;f[l+12>>2]=n;if(!n){i=0;n=25;break i}Nl(n|0,f[a>>2]|0,f[i>>2]|0)|0;i=f[v>>2]|0}f[u>>2]=(f[u>>2]|0)+1;s=s+1|0;if(s>>>0>=i>>>0)break;else{l=l+20|0;o=o+20|0}}}i=(f[g>>2]|0)*20|0;n=Nn(i)|0;f[h>>2]=n;if(!n){i=0;n=25;break}Nl(n|0,f[y>>2]|0,i|0)|0;f[d>>2]=f[g>>2];s=f[g>>2]|0;if(s){l=0;n=f[h>>2]|0;a=f[y>>2]|0;while(1){i=f[a+8>>2]|0;if(i)f[n+8>>2]=(f[S>>2]|0)+(((i-(f[p>>2]|0)|0)/20|0)*20|0);i=f[a+12>>2]|0;if(i)f[n+12>>2]=(f[S>>2]|0)+(((i-(f[p>>2]|0)|0)/20|0)*20|0);l=l+1|0;if(l>>>0>=s>>>0)break;else{n=n+20|0;a=a+20|0}}}Nl(A|0,f[E>>2]|0,b|0)|0;M=M+1|0;if(M>>>0>=T>>>0)break e;else C=C+5640|0}if((n|0)==25){c=R;return i|0}}while(0)n=xr(1)|0;i=e+204|0;f[i>>2]=n;if(!n){r=0;c=R;return r|0}if(Lr(n,P,x)|0){r=1;c=R;return r|0}Ir(f[i>>2]|0);f[i>>2]=0;Ht(r,1,8839,D)|0;r=0;c=R;return r|0}function vf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0;y=c;c=c+128|0;v=y+120|0;p=y+112|0;_=y+104|0;m=y+96|0;w=y+88|0;k=y+80|0;b=y+72|0;h=y+64|0;d=y+56|0;u=y+48|0;o=y+40|0;l=y+32|0;s=y+24|0;a=y+16|0;n=y+8|0;t=y;if(!e){c=y;return}il(12191,17,1,r)|0;f[t>>2]=f[e>>2];zs(r,12209,t)|0;f[n>>2]=f[e+4>>2];zs(r,12222,n)|0;f[a>>2]=f[e+8>>2];zs(r,12234,a)|0;f[s>>2]=f[e+16>>2];zs(r,12251,s)|0;if((i|0)>0){a=e+5584|0;s=0;do{n=f[a>>2]|0;f[l>>2]=s;zs(r,12262,l)|0;f[o>>2]=f[n+(s*1080|0)>>2];zs(r,12276,o)|0;e=n+(s*1080|0)+4|0;f[u>>2]=f[e>>2];zs(r,12290,u)|0;f[d>>2]=f[n+(s*1080|0)+8>>2];zs(r,12313,d)|0;f[h>>2]=f[n+(s*1080|0)+12>>2];zs(r,12329,h)|0;f[b>>2]=f[n+(s*1080|0)+16>>2];zs(r,12345,b)|0;f[k>>2]=f[n+(s*1080|0)+20>>2];zs(r,12362,k)|0;il(12377,23,1,r)|0;if(f[e>>2]|0){t=0;do{E=f[n+(s*1080|0)+944+(t<<2)>>2]|0;f[w>>2]=f[n+(s*1080|0)+812+(t<<2)>>2];f[w+4>>2]=E;zs(r,12401,w)|0;t=t+1|0}while(t>>>0<(f[e>>2]|0)>>>0)}Xs(10,r)|0;E=n+(s*1080|0)+24|0;f[m>>2]=f[E>>2];zs(r,12410,m)|0;f[_>>2]=f[n+(s*1080|0)+804>>2];zs(r,12425,_)|0;il(12442,20,1,r)|0;if((f[E>>2]|0)!=1){e=(f[e>>2]|0)*3|0;if((e|0)>2){e=e+-2|0;g=8}}else{e=1;g=8}if((g|0)==8){g=0;t=0;do{E=f[n+(s*1080|0)+28+(t<<3)>>2]|0;f[p>>2]=f[n+(s*1080|0)+28+(t<<3)+4>>2];f[p+4>>2]=E;zs(r,12401,p)|0;t=t+1|0}while((t|0)!=(e|0))}Xs(10,r)|0;f[v>>2]=f[n+(s*1080|0)+808>>2];zs(r,12463,v)|0;il(12480,5,1,r)|0;s=s+1|0}while((s|0)!=(i|0))}il(10321,4,1,r)|0;c=y;return}function gf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0;M=c;c=c+80|0;v=M+32|0;g=M+24|0;A=M+16|0;E=M+8|0;b=M+64|0;y=M+60|0;h=M+56|0;w=M+52|0;_=M+48|0;m=M+44|0;p=M+40|0;k=M+36|0;f[b>>2]=1;t=Nn(1e3)|0;if(!t){Ht(r,1,12127,M)|0;r=0;c=M;return r|0}S=e+116|0;T=e+112|0;o=e+204|0;u=e+84|0;d=e+8|0;n=1e3;l=0;while(1){if(!(Zn(e,y,h,w,_,m,p,k,b,i,r)|0)){a=5;break}if(!(f[b>>2]|0)){a=17;break}s=f[h>>2]|0;if(s>>>0>n>>>0){n=Hn(t,s)|0;if(!n){a=9;break}else{t=n;a=s}}else a=n;n=f[y>>2]|0;if(!($n(e,n,t,s,i,r)|0)){a=11;break}n=n+1|0;s=ie(f[T>>2]|0,f[S>>2]|0)|0;f[g>>2]=n;f[g+4>>2]=s;Ht(r,4,11986,g)|0;s=f[o>>2]|0;if(!($f(f[(f[f[s+20>>2]>>2]|0)+20>>2]|0,f[s+24>>2]|0,t,f[(f[u>>2]|0)+24>>2]|0)|0)){a=13;break}f[v>>2]=n;Ht(r,4,12016,v)|0;s=Nt(i)|0;if((s|0)==0&(D|0)==0?(f[d>>2]|0)==64:0){a=17;break}l=l+1|0;if((l|0)==(ie(f[T>>2]|0,f[S>>2]|0)|0)){a=17;break}else n=a}if((a|0)==5){Yn(t);r=0;c=M;return r|0}else if((a|0)==9){Yn(t);T=ie(f[T>>2]|0,f[S>>2]|0)|0;f[E>>2]=(f[y>>2]|0)+1;f[E+4>>2]=T;Ht(r,1,11946,E)|0;r=0;c=M;return r|0}else if((a|0)==11){Yn(t);T=ie(f[T>>2]|0,f[S>>2]|0)|0;f[A>>2]=n+1;f[A+4>>2]=T;Ht(r,1,12162,A)|0;r=0;c=M;return r|0}else if((a|0)==13){Yn(t);r=0
42
+ ;c=M;return r|0}else if((a|0)==17){Yn(t);r=1;c=M;return r|0}return 0}function yf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,R=0;R=c;c=c+96|0;A=R+56|0;C=R+48|0;E=R+40|0;S=R+32|0;P=R+24|0;o=R+16|0;l=R+8|0;m=R+92|0;M=R+88|0;w=R+84|0;p=R+80|0;g=R+76|0;v=R+72|0;y=R+68|0;_=R+64|0;f[m>>2]=1;t=Nn(1e3)|0;if(!t){Ht(r,1,11880,R)|0;x=0;c=R;return x|0}T=e+196|0;a=f[T>>2]|0;n=f[a+40>>2]|0;e:do if(!n){n=ie(f[e+116>>2]|0,f[e+112>>2]|0)|0;f[a+36>>2]=n;n=Fn(n,40)|0;a=f[T>>2]|0;f[a+40>>2]=n;i:do if(n){if(f[a+36>>2]|0){s=0;do{f[n+(s*40|0)+28>>2]=100;f[n+(s*40|0)+20>>2]=0;k=Fn(100,24)|0;a=f[T>>2]|0;n=f[a+40>>2]|0;f[n+(s*40|0)+24>>2]=k;s=s+1|0;if(!k)break i}while(s>>>0<(f[a+36>>2]|0)>>>0)}a=f[e+60>>2]|0;if(!n)break e;else{x=12;break e}}while(0)Yn(t);x=0;c=R;return x|0}else{a=f[e+60>>2]|0;x=12}while(0)if((x|0)==12)if(f[n+16>>2]|0){if(!(f[n+(a*40|0)+4>>2]|0)){k=e+64|0;k=Il(f[k>>2]|0,f[k+4>>2]|0,2,0)|0;if(!(_t(i,k,D,r)|0)){Ht(r,1,11918,l)|0;Yn(t);x=0;c=R;return x|0}}else{k=f[n+(a*40|0)+16>>2]|0;k=Il(f[k>>2]|0,f[k+4>>2]|0,2,0)|0;if(!(_t(i,k,D,r)|0)){Ht(r,1,11918,o)|0;Yn(t);x=0;c=R;return x|0}}n=e+8|0;if((f[n>>2]|0)==256)f[n>>2]=8}e:do if(Zn(e,M,w,p,g,v,y,_,m,i,r)|0){b=e+116|0;k=e+112|0;u=e+204|0;d=e+84|0;h=a+1|0;n=1e3;while(1){if(!(f[m>>2]|0))break;o=f[w>>2]|0;if(o>>>0>n>>>0){n=Hn(t,o)|0;if(!n){x=26;break}else{t=n;l=o}}else l=n;s=f[M>>2]|0;if(!($n(e,s,t,o,i,r)|0)){x=28;break}n=s+1|0;o=ie(f[k>>2]|0,f[b>>2]|0)|0;f[S>>2]=n;f[S+4>>2]=o;Ht(r,4,11986,S)|0;o=f[u>>2]|0;if(!($f(f[(f[f[o+20>>2]>>2]|0)+20>>2]|0,f[o+24>>2]|0,t,f[(f[d>>2]|0)+24>>2]|0)|0)){x=30;break}f[E>>2]=n;Ht(r,4,12016,E)|0;if((s|0)==(a|0)){x=32;break}f[A>>2]=n;f[A+4>>2]=h;Ht(r,2,12060,A)|0;if(!(Zn(e,M,w,p,g,v,y,_,m,i,r)|0))break e;else n=l}if((x|0)==26){Yn(t);x=ie(f[k>>2]|0,f[b>>2]|0)|0;f[P>>2]=(f[M>>2]|0)+1;f[P+4>>2]=x;Ht(r,1,11946,P)|0;x=0;c=R;return x|0}else if((x|0)==28){Yn(t);x=0;c=R;return x|0}else if((x|0)==30){Yn(t);x=0;c=R;return x|0}else if((x|0)==32){x=(f[T>>2]|0)+8|0;x=Il(f[x>>2]|0,f[x+4>>2]|0,2,0)|0;if(!(_t(i,x,D,r)|0)){Ht(r,1,11918,C)|0;Yn(t);x=0;c=R;return x|0}}Yn(t);x=1;c=R;return x|0}while(0)Yn(t);x=0;c=R;return x|0}function Ef(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0;O=c;c=c+32|0;P=O+16|0;p=O+8|0;u=O;C=O+20|0;x=f[e+40>>2]|0;R=e+36|0;h=f[R>>2]|0;b=e+204|0;o=f[b>>2]|0;f[o+16>>2]=0;M=e+8|0;f[M>>2]=0;f[C>>2]=0;ut(h,65424,2);ut(h+2|0,10,2);D=e+200|0;ut(h+4|0,f[D>>2]|0,2);S=e+12|0;ut(h+10|0,f[S>>2]|0,1);T=e+164|0;ut(h+11|0,f[(f[T>>2]|0)+((f[D>>2]|0)*5640|0)+5588>>2]|0,1);f[C>>2]=12;s=h+12|0;t=x+-12|0;d=e+88|0;if(((n[d>>1]|0)+-3&65535)>=4?(a=f[D>>2]|0,l=f[T>>2]|0,(f[l+(a*5640|0)+420>>2]|0)!=0):0){f[C>>2]=0;Wf(f[(f[e+80>>2]|0)+16>>2]|0,l,a,s,C);A=f[C>>2]|0;a=A+12|0;s=h+a|0;t=t-A|0}else a=12;f[C>>2]=0;ut(s,65427,2);f[o+4>>2]=f[M>>2];A=f[S>>2]|0;f[o+8>>2]=A;if(!A)f[(f[f[o+20>>2]>>2]|0)+840>>2]=0;f[C>>2]=0;if(!(Ur(o,f[D>>2]|0,s+2|0,C,t+-4|0,0)|0)){Ht(r,1,11860,u)|0;i=0;c=O;return i|0}t=(f[C>>2]|0)+2|0;f[C>>2]=t;t=t+a|0;ut(h+6|0,t,4);if(((n[d>>1]|0)+-3&65535)<4){A=e+28|0;ut(f[A>>2]|0,f[D>>2]|0,1);E=(f[A>>2]|0)+1|0;f[A>>2]=E;ut(E,t,4);f[A>>2]=(f[A>>2]|0)+4}a=h+t|0;A=x-t|0;g=f[b>>2]|0;y=e+88|0;m=f[T>>2]|0;_=f[D>>2]|0;d=Zf(y,0,_)|0;E=e+8|0;f[S>>2]=(f[S>>2]|0)+1;e:do if(d>>>0>1){h=g+4|0;b=g+8|0;k=g+20|0;w=e+28|0;l=a;a=A;t=0;u=1;while(1){f[E>>2]=u;f[C>>2]=0;ut(l,65424,2);ut(l+2|0,10,2);ut(l+4|0,f[D>>2]|0,2);ut(l+10|0,f[S>>2]|0,1);ut(l+11|0,f[(f[T>>2]|0)+((f[D>>2]|0)*5640|0)+5588>>2]|0,1);f[C>>2]=0;ut(l+12|0,65427,2);f[h>>2]=f[M>>2];o=f[S>>2]|0;f[b>>2]=o;if(!o)f[(f[f[k>>2]>>2]|0)+840>>2]=0;f[C>>2]=0;if(!(Ur(g,f[D>>2]|0,l+14|0,C,a+-16|0,0)|0))break;L=f[C>>2]|0;I=L+2|0;f[C>>2]=I;o=L+14|0;s=l+o|0;t=t+12+I|0;a=a+-12+(-2-L)|0;ut(l+6|0,o,4);if(((n[y>>1]|0)+-3&65535)<4){ut(f[w>>2]|0,f[D>>2]|0,1);I=(f[w>>2]|0)+1|0;f[w>>2]=I;ut(I,o,4);f[w>>2]=(f[w>>2]|0)+4}f[S>>2]=(f[S>>2]|0)+1;u=u+1|0;if(u>>>0>=d>>>0){v=12;break e}else l=s}Ht(r,1,11860,p)|0}else{s=a;a=A;t=0;v=12}while(0)e:do if((v|0)==12){k=m+(_*5640|0)+420|0;i:do if(f[k>>2]|0){w=g+16|0;m=g+4|0;_=g+8|0;p=g+20|0;b=e+28|0;h=1;r:while(1){f[w>>2]=h;d=Zf(y,h,f[D>>2]|0)|0;if(d){u=0;while(1){f[E>>2]=u;f[C>>2]=0;ut(s,65424,2);ut(s+2|0,10,2);ut(s+4|0,f[D>>2]|0,2);ut(s+10|0,f[S>>2]|0,1);ut(s+11|0,f[(f[T>>2]|0)+((f[D>>2]|0)*5640|0)+5588>>2]|0,1);f[C>>2]=0;ut(s+12|0,65427,2);f[m>>2]=f[M>>2];I=f[S>>2]|0;f[_>>2]=I;if(!I)f[(f[f[p>>2]>>2]|0)+840>>2]=0;f[C>>2]=0;if(!(Ur(g,f[D>>2]|0,s+14|0,C,a+-16|0,0)|0))break r;I=f[C>>2]|0;l=I+2|0;f[C>>2]=l;t=t+12+l|0;l=I+14|0;o=s+l|0;a=a+-12+(-2-I)|0;ut(s+6|0,l,4);if(((n[y>>1]|0)+-3&65535)<4){ut(f[b>>2]|0,f[D>>2]|0,1);I=(f[b>>2]|0)+1|0;f[b>>2]=I;ut(I,l,4);f[b>>2]=(f[b>>2]|0)+4}f[S>>2]=(f[S>>2]|0)+1;u=u+1|0;if(u>>>0>=d>>>0){s=o;break}else s=o}}h=h+1|0;if(h>>>0>(f[k>>2]|0)>>>0)break i}Ht(r,1,11860,P)|0;break e}while(0)I=t-A+x|0;if((Lt(i,f[R>>2]|0,I,r)|0)!=(I|0)){I=0;c=O;return I|0}f[D>>2]=(f[D>>2]|0)+1;I=1;c=O;return I|0}while(0)I=0;c=O;return I|0}function Af(e,i,r){e=e|0;i=i|0;r=r|0;e=e+44|0;ut(f[e>>2]|0,65497,2);if((Lt(i,f[e>>2]|0,2,r)|0)!=2){i=0;return i|0}i=(It(i,r)|0)!=0&1;return i|0}function Sf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;a=(f[e+32>>2]|0)*5|0;l=e+16|0;l=Il(f[l>>2]|0,f[l+4>>2]|0,6,0)|0;s=D;t=Bt(i)|0;n=D;if(!(jt(i,l,s,r)|0)){l=0;return l|0}if((Lt(i,f[e+24>>2]|0,a,r)|0)!=(a|0)){l=0;return l|0}l=(jt(i,t,n,r)|0)!=0&1;return l|0}function Tf(e,i,r){e=e|0;i=i|0;r=r|0;e=f[e+196>>2]|0;if(!e)return 1;i=Bt(i)|0;r=e;r=Dl(i|0,D|0,f[r>>2]|0,f[r+4>>2]|0)|0;i=e+16|0;f[i>>2]=r;f[i+4>>2]=D;return 1}function Mf(e,i,r){e=e|0;i=i|0;r=r|0;r=e+204|0;Ir(f[r>>2]|0);f[r>>2]=0;r=e+24|0;i=f[r>>2]|0;if(i){Yn(i);f[r>>2]=0;f[e+28>>2]=0}r=e+36|0;i=f[r>>2]|0;if(!i){e=e+40|0;f[e>>2]=0;return 1}Yn(i);f[r>>2]=0;e=e+40|0;f[e>>2]=0;return 1}function Cf(e,i,r){e=e|0;i=i|0;r=r|0;r=e+44|0;i=f[r>>2]|0;if(i){Yn(i);f[r>>2]=0}f[e+48>>2]=0;return 1}function Pf(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function xf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=c;c=c+32|0;t=(f[e+8>>2]|0)==0&(f[e+188>>2]|0)!=0&(f[e+192>>2]|0)!=0&1;i=(f[(f[(f[e+164>>2]|0)+5584>>2]|0)+4>>2]|0)+-1|0;if(i>>>0>31){Ht(r,1,11790,n)|0;r=0;c=n;return r|0}i=1<<i;if((f[e+100>>2]|0)>>>0<i>>>0){Ht(r,1,11790,n+8|0)|0;r=0;c=n;return r|0}if((f[e+104>>2]|0)>>>0>=i>>>0){r=t;c=n;return r|0}Ht(r,1,11790,n+16|0)|0;r=0;c=n;return r|0}function Df(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,a=0,s=0,l=0,o=0;if((n[e+88>>1]&-32256)<<16>>16!=-32256){o=1;return o|0}l=ie(f[e+112>>2]|0,f[e+116>>2]|0)|0;if(!l){o=1;return o|0}s=e+80|0;o=0;r=1;a=f[e+164>>2]|0;while(1){if((f[a+16>>2]|0)==2){r=(f[a+5608>>2]|0)!=0&r;e=f[(f[s>>2]|0)+16>>2]|0;if(e){t=0;i=f[a+5584>>2]|0;while(1){r=(f[i+20>>2]&1^1)&r;t=t+1|0;if(t>>>0>=e>>>0)break;else i=i+1080|0}}}o=o+1|0;if((o|0)==(l|0))break;else a=a+5640|0}return r|0}function Rf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0;a=e+88|0;s=e+32|0;l=f[e+80>>2]|0;o=ie(f[e+116>>2]|0,f[e+112>>2]|0)|0;f[s>>2]=0;if(!o)return 1;t=f[e+164>>2]|0;n=0;while(1){Ar(l,a,n);i=t+420|0;r=0;e=0;do{u=Zf(a,e,n)|0;f[s>>2]=(f[s>>2]|0)+u;r=u+r|0;e=e+1|0}while(e>>>0<=(f[i>>2]|0)>>>0)f[t+5588>>2]=r;n=n+1|0;if((n|0)==(o|0))break;else t=t+5640|0}return 1}function Of(e,i,r){e=e|0;i=i|0;r=r|0;e=f[e+44>>2]|0;ut(e,65359,2);return(Lt(i,e,2,r)|0)==2|0}function Lf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0;k=c;c=c+16|0;l=k;o=f[e+80>>2]|0;h=o+16|0;u=(f[h>>2]|0)*3|0;b=u+40|0;t=f[o+24>>2]|0;a=e+48|0;d=e+44|0;n=f[d>>2]|0;do if(b>>>0>(f[a>>2]|0)>>>0){n=Hn(n,b)|0;if(n){f[d>>2]=n;f[a>>2]=b;break}Yn(f[d>>2]|0);f[d>>2]=0;f[a>>2]=0;Ht(r,1,11752,l)|0;i=0;c=k;return i|0}while(0)ut(n,65361,2);ut(n+2|0,u+38|0,2);ut(n+4|0,s[e+88>>1]|0,2);ut(n+6|0,f[o+8>>2]|0,4);ut(n+10|0,f[o+12>>2]|0,4);ut(n+14|0,f[o>>2]|0,4);ut(n+18|0,f[o+4>>2]|0,4);ut(n+22|0,f[e+100>>2]|0,4);ut(n+26|0,f[e+104>>2]|0,4);ut(n+30|0,f[e+92>>2]|0,4);ut(n+34|0,f[e+96>>2]|0,4);ut(n+38|0,f[h>>2]|0,2);if(f[h>>2]|0){a=0;n=n+40|0;while(1){ut(n,(f[t+24>>2]|0)+-1+(f[t+32>>2]<<7)|0,1);ut(n+1|0,f[t>>2]|0,1);ut(n+2|0,f[t+4>>2]|0,1);a=a+1|0;if(a>>>0>=(f[h>>2]|0)>>>0)break;else{n=n+3|0;t=t+52|0}}}i=(Lt(i,f[d>>2]|0,b,r)|0)==(b|0)&1;c=k;return i|0}function If(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0;m=c;c=c+32|0;w=m+16|0;k=m+8|0;l=m;b=m+20|0;o=e+200|0;u=f[o>>2]|0;d=e+164|0;h=f[d>>2]|0;t=f[h+(u*5640|0)+5584>>2]|0;if(!(f[t>>2]&1))a=5;else a=(f[t+4>>2]|0)+5|0;s=a+9|0;f[b>>2]=s;n=e+48|0;e=e+44|0;t=f[e>>2]|0;do if(s>>>0>(f[n>>2]|0)>>>0){t=Hn(t,s)|0;if(t){f[e>>2]=t;f[n>>2]=s;break}Yn(f[e>>2]|0);f[e>>2]=0;f[n>>2]=0;Ht(r,1,11687,l)|0;w=0;c=m;return w|0}while(0)ut(t,65362,2);ut(t+2|0,a+7|0,2);ut(t+4|0,f[h+(u*5640|0)>>2]|0,1);ut(t+5|0,f[h+(u*5640|0)+4>>2]|0,1);ut(t+6|0,f[h+(u*5640|0)+8>>2]|0,2);ut(t+8|0,f[h+(u*5640|0)+16>>2]|0,1);f[b>>2]=a;if(!(Qf(f[d>>2]|0,f[o>>2]|0,t+9|0,b,r)|0)){Ht(r,1,11726,k)|0;w=0;c=m;return w|0}if(!(f[b>>2]|0)){w=(Lt(i,f[e>>2]|0,s,r)|0)==(s|0)&1;c=m;return w|0}else{Ht(r,1,11726,w)|0;w=0;c=m;return w|0}return 0}function Bf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0;k=c;c=c+32|0;b=k+16|0;h=k+8|0;l=k;u=k+20|0;o=e+200|0;d=e+164|0;t=f[(f[d>>2]|0)+((f[o>>2]|0)*5640|0)+5584>>2]|0;n=f[t+24>>2]|0;if((n|0)==1)t=1;else t=((f[t+4>>2]|0)*3|0)+-2|0;a=(n|0)==0?t+1|0:t<<1|1;s=a+4|0;f[u>>2]=s;n=e+48|0;e=e+44|0;t=f[e>>2]|0;do if(s>>>0>(f[n>>2]|0)>>>0){t=Hn(t,s)|0;if(t){f[e>>2]=t;f[n>>2]=s;break}Yn(f[e>>2]|0);f[e>>2]=0;f[n>>2]=0;Ht(r,1,11622,l)|0;b=0;c=k;return b|0}while(0)ut(t,65372,2);ut(t+2|0,a+2|0,2);f[u>>2]=a;if(!(Jf(f[d>>2]|0,f[o>>2]|0,0,t+4|0,u,r)|0)){Ht(r,1,11661,h)|0;b=0;c=k;return b|0}if(!(f[u>>2]|0)){b=(Lt(i,f[e>>2]|0,s,r)|0)==(s|0)&1;c=k;return b|0}else{Ht(r,1,11661,b)|0;b=0;c=k;return b|0}return 0}function Nf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0;y=c;c=c+16|0;v=y;m=y+4|0;b=e+80|0;t=f[(f[b>>2]|0)+16>>2]|0;if(t>>>0<=1){g=1;c=y;return g|0}_=e+164|0;p=e+200|0;w=e+48|0;h=e+44|0;d=1;while(1){s=f[_>>2]|0;o=f[p>>2]|0;a=f[s+(o*5640|0)+5584>>2]|0;l=f[a+(d*1080|0)>>2]|0;e:do if((((((f[a>>2]|0)==(l|0)?(k=f[a+4>>2]|0,(k|0)==(f[a+(d*1080|0)+4>>2]|0)):0)?(f[a+8>>2]|0)==(f[a+(d*1080|0)+8>>2]|0):0)?(f[a+12>>2]|0)==(f[a+(d*1080|0)+12>>2]|0):0)?(f[a+16>>2]|0)==(f[a+(d*1080|0)+16>>2]|0):0)?(f[a+20>>2]|0)==(f[a+(d*1080|0)+20>>2]|0):0){if(k){e=0;do{if((f[a+812+(e<<2)>>2]|0)!=(f[a+(d*1080|0)+812+(e<<2)>>2]|0)){g=13;break e}if((f[a+944+(e<<2)>>2]|0)!=(f[a+(d*1080|0)+944+(e<<2)>>2]|0)){g=13;break e}e=e+1|0}while(e>>>0<k>>>0)}}else g=13;while(0)if((g|0)==13){g=0;if(!(l&1))e=5;else e=(f[a+(d*1080|0)+4>>2]|0)+5|0;u=e+(t>>>0<257?6:7)|0;n=f[h>>2]|0;if(u>>>0>(f[w>>2]|0)>>>0){e=Hn(n,u)|0;if(!e){g=17;break}f[h>>2]=e;f[w>>2]=u;o=f[p>>2]|0;s=f[_>>2]|0;a=f[s+(o*5640|0)+5584>>2]|0;t=f[(f[b>>2]|0)+16>>2]|0;l=f[a+(d*1080|0)>>2]|0;n=e}t=t>>>0<257?1:2;if(!(l&1))e=5;else e=(f[a+(d*1080|0)+4>>2]|0)+5|0;ut(n,65363,2);ut(n+2|0,t+3+e|0,2);ut(n+4|0,d,t);l=t|4;ut(n+l|0,f[(f[s+(o*5640|0)+5584>>2]|0)+(d*1080|0)>>2]|0,1);f[m>>2]=e;Qf(f[_>>2]|0,f[p>>2]|0,n+(l+1)|0,m,r)|0;if((Lt(i,f[h>>2]|0,u,r)|0)!=(u|0)){e=0;g=24;break}t=f[(f[b>>2]|0)+16>>2]|0}d=d+1|0;if(d>>>0>=t>>>0){e=1;g=24;break}}if((g|0)==17){Yn(f[h>>2]|0);f[h>>2]=0;f[w>>2]=0;Ht(r,1,11548,v)|0;g=0;c=y;return g|0}else if((g|0)==24){c=y;return e|0}return 0}function Ff(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0;p=c;c=c+16|0;m=p;b=p+4|0;d=e+80|0;t=f[(f[d>>2]|0)+16>>2]|0;if(t>>>0<=1){_=1;c=p;return _|0}k=e+164|0;w=e+200|0;h=e+48|0;u=e+44|0;o=1;while(1){l=f[(f[k>>2]|0)+((f[w>>2]|0)*5640|0)+5584>>2]|0;a=f[l+24>>2]|0;s=f[l+(o*1080|0)+24>>2]|0;e:do if((a|0)==(s|0)?(f[l+804>>2]|0)==(f[l+(o*1080|0)+804>>2]|0):0){if((a|0)!=1){n=(f[l+4>>2]|0)*3|0;e=n+-2|0;if((n|0)!=((f[l+(o*1080|0)+4>>2]|0)*3|0)){_=14;break}if(!e)break}else e=1;n=0;do{if((f[l+28+(n<<3)>>2]|0)!=(f[l+(o*1080|0)+28+(n<<3)>>2]|0)){_=14;break e}n=n+1|0}while(n>>>0<e>>>0)if(a){n=0;do{if((f[l+28+(n<<3)+4>>2]|0)!=(f[l+(o*1080|0)+28+(n<<3)+4>>2]|0)){_=14;break e}n=n+1|0}while(n>>>0<e>>>0)}}else _=14;while(0)if((_|0)==14){_=0;if((s|0)==1)e=1;else e=((f[l+(o*1080|0)+4>>2]|0)*3|0)+-2|0;a=((s|0)==0?e+1|0:e<<1|1)+5+(t>>>0>256&1)|0;e=f[u>>2]|0;if(a>>>0>(f[h>>2]|0)>>>0){e=Hn(e,a)|0;if(!e){_=18;break}f[u>>2]=e;f[h>>2]=a;t=f[(f[k>>2]|0)+((f[w>>2]|0)*5640|0)+5584>>2]|0;n=f[t+(o*1080|0)+24>>2]|0}else{n=s;t=l}if((n|0)==1)t=1;else t=((f[t+(o*1080|0)+4>>2]|0)*3|0)+-2|0;n=(n|0)==0?t+1|0:t<<1|1;f[b>>2]=n+6;ut(e,65373,2);t=e+2|0;if((f[(f[d>>2]|0)+16>>2]|0)>>>0<257){ut(t,n+3|0,2);ut(e+4|0,o,1);e=e+5|0}else{ut(t,n+4|0,2);ut(e+4|0,o,2);e=e+6|0}f[b>>2]=n;Jf(f[k>>2]|0,f[w>>2]|0,o,e,b,r)|0;if((Lt(i,f[u>>2]|0,a,r)|0)!=(a|0)){e=0;_=28;break}t=f[(f[d>>2]|0)+16>>2]|0}o=o+1|0;if(o>>>0>=t>>>0){e=1;_=28;break}}if((_|0)==18){Yn(f[u>>2]|0);f[u>>2]=0;f[h>>2]=0;Ht(r,1,11476,m)|0;_=0;c=p;return _|0}else if((_|0)==28){c=p;return e|0}return 0}function jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;a=u;s=(f[e+32>>2]|0)*5|0;l=s+6|0;n=e+48|0;o=e+44|0;t=f[o>>2]|0;do if(l>>>0>(f[n>>2]|0)>>>0){t=Hn(t,l)|0;if(t){f[o>>2]=t;f[n>>2]=l;break}Yn(f[o>>2]|0);f[o>>2]=0;f[n>>2]=0;Ht(r,1,11437,a)|0;i=0;c=u;return i|0}while(0)a=Bt(i)|0;e=e+16|0;f[e>>2]=a;f[e+4>>2]=D;ut(t,65365,2);ut(t+2|0,s+4|0,2);ut(t+4|0,0,1);ut(t+5|0,80,1);i=(Lt(i,f[o>>2]|0,l,r)|0)==(l|0)&1;c=u;return i|0}function Uf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;w=c;c=c+16|0;l=w;k=w+4|0;f[k>>2]=0;d=e+200|0;t=f[d>>2]|0;u=e+164|0;n=f[u>>2]|0;o=e+80|0;s=f[(f[o>>2]|0)+16>>2]|0;b=(ie(s>>>0<257?7:9,(f[n+(t*5640|0)+420>>2]|0)+1|0)|0)+4|0;a=e+48|0;h=e+44|0;e=f[h>>2]|0;do if(b>>>0>(f[a>>2]|0)>>>0){t=Hn(e,b)|0;if(t){f[h>>2]=t;f[a>>2]=b;a=t;e=f[(f[o>>2]|0)+16>>2]|0;n=f[u>>2]|0;t=f[d>>2]|0;break}Yn(f[h>>2]|0);f[h>>2]=0;f[a>>2]=0;Ht(r,1,11398,l)|0;i=0;c=w;return i|0}else{a=e;e=s}while(0)Wf(e,n,t,a,k);i=(Lt(i,f[h>>2]|0,b,r)|0)==(b|0)&1;c=w;return i|0}function Hf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0;l=e+164|0;o=e+80|0;n=f[o>>2]|0;t=f[n+16>>2]|0;if(!t){i=1;return i|0}s=e+44|0;e=0;a=f[(f[l>>2]|0)+5584>>2]|0;while(1){if(f[a+808>>2]|0){u=f[(f[l>>2]|0)+5584>>2]|0;d=t>>>0<257?1:2;n=d+6|0;c=f[s>>2]|0;ut(c,65374,2);t=d|4;ut(c+2|0,t,2);ut(c+4|0,e,d);ut(c+t|0,0,1);ut(c+(t+1)|0,f[u+(e*1080|0)+808>>2]|0,1);if((Lt(i,f[s>>2]|0,n,r)|0)!=(n|0)){e=0;t=7;break}n=f[o>>2]|0}e=e+1|0;t=f[n+16>>2]|0;if(e>>>0>=t>>>0){e=1;t=7;break}else a=a+1080|0}if((t|0)==7)return e|0;return 0}function Yf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0;u=c;c=c+16|0;a=u;s=f[e+108>>2]|0;l=hl(s)|0;o=l+6|0;t=e+48|0;n=e+44|0;e=f[n>>2]|0;do if(o>>>0>(f[t>>2]|0)>>>0){e=Hn(e,o)|0;if(e){f[n>>2]=e;f[t>>2]=o;break}Yn(f[n>>2]|0);f[n>>2]=0;f[t>>2]=0;Ht(r,1,11355,a)|0;i=0;c=u;return i|0}while(0)ut(e,65380,2);ut(e+2|0,l+4|0,2);ut(e+4|0,1,2);Nl(e+6|0,s|0,l|0)|0;i=(Lt(i,f[n>>2]|0,o,r)|0)==(o|0)&1;c=u;return i|0}function qf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0;T=c;c=c+32|0;y=T+24|0;p=T+16|0;b=T+8|0;a=T;l=f[e+80>>2]|0;o=l+16|0;s=f[o>>2]|0;u=s+6|0;g=e+48|0;S=e+44|0;n=f[S>>2]|0;do if(u>>>0>(f[g>>2]|0)>>>0){n=Hn(n,u)|0;if(n){f[S>>2]=n;f[g>>2]=u;break}Yn(f[S>>2]|0);f[S>>2]=0;f[g>>2]=0;Ht(r,1,11199,a)|0;i=0;c=T;return i|0}while(0)ut(n,65400,2);ut(n+2|0,s+4|0,2);ut(n+4|0,f[o>>2]|0,2);if(f[o>>2]|0){s=0;a=f[l+24>>2]|0;n=n+6|0;while(1){ut(n,(f[a+24>>2]|0)+-1|f[a+32>>2]<<7,1);s=s+1|0;if(s>>>0>=(f[o>>2]|0)>>>0)break;else{a=a+52|0;n=n+1|0}}}if((Lt(i,f[S>>2]|0,u,r)|0)!=(u|0)){i=0;c=T;return i|0}w=e+200|0;h=f[w>>2]|0;m=e+164|0;d=f[m>>2]|0;a=d+(h*5640|0)+5616|0;e:do if(f[a>>2]|0){u=0;e=f[d+(h*5640|0)+5612>>2]|0;while(1){s=e+16|0;l=f[s>>2]|0;o=l+10|0;n=f[S>>2]|0;if(o>>>0>(f[g>>2]|0)>>>0){n=Hn(n,o)|0;if(!n)break;f[S>>2]=n;f[g>>2]=o}ut(n,65396,2);ut(n+2|0,l+8|0,2);ut(n+4|0,0,2);ut(n+6|0,f[e+4>>2]<<8|f[e+8>>2]&255|f[e>>2]<<10,2);ut(n+8|0,0,2);Nl(n+10|0,f[e+12>>2]|0,f[s>>2]|0)|0;if((Lt(i,f[S>>2]|0,o,r)|0)!=(o|0)){_=0;E=42;break}u=u+1|0;if(u>>>0>=(f[a>>2]|0)>>>0)break e;else e=e+20|0}if((E|0)==42){c=T;return _|0}Yn(f[S>>2]|0);f[S>>2]=0;f[g>>2]=0;Ht(r,1,11238,b)|0;i=0;c=T;return i|0}while(0)b=d+(h*5640|0)+5628|0;e:do if(f[b>>2]|0){k=0;d=f[d+(h*5640|0)+5624>>2]|0;while(1){u=d+4|0;a=f[u>>2]|0;l=a>>>0>255;o=l?2:1;l=l?32768:0;a=ie(o,a<<1)|0;e=a+19|0;n=f[S>>2]|0;if(e>>>0>(f[g>>2]|0)>>>0){n=Hn(n,e)|0;if(!n)break;f[S>>2]=n;f[g>>2]=e}ut(n,65397,2);ut(n+2|0,a+17|0,2);ut(n+4|0,0,2);ut(n+6|0,f[d>>2]|0,1);ut(n+7|0,0,2);ut(n+9|0,1,2);ut(n+11|0,1,1);ut(n+12|0,f[u>>2]|l,2);n=n+14|0;if(!(f[u>>2]|0))a=0;else{s=0;do{ut(n,s,o);n=n+o|0;s=s+1|0;a=f[u>>2]|0}while(s>>>0<a>>>0)}ut(n,a|l,2);n=n+2|0;if(!(f[u>>2]|0))s=n;else{a=0;do{ut(n,a,o);n=n+o|0;a=a+1|0}while(a>>>0<(f[u>>2]|0)>>>0)s=n}n=((t[d+16>>0]^1)&255)<<16&65536;a=f[d+8>>2]|0;if(a)n=f[a+8>>2]|n;a=f[d+12>>2]|0;if(a)n=f[a+8>>2]<<8|n;ut(s,n,3);if((Lt(i,f[S>>2]|0,e,r)|0)!=(e|0)){_=0;E=42;break}k=k+1|0;if(k>>>0>=(f[b>>2]|0)>>>0)break e;else d=d+20|0}if((E|0)==42){c=T;return _|0}Yn(f[S>>2]|0);f[S>>2]=0;f[g>>2]=0;Ht(r,1,11277,p)|0;i=0;c=T;return i|0}while(0)o=f[w>>2]|0;l=f[m>>2]|0;u=l+(o*5640|0)+5628|0;a=f[u>>2]|0;e=a+5|0;n=f[S>>2]|0;do if(e>>>0>(f[g>>2]|0)>>>0){n=Hn(n,e)|0;if(!n){Yn(f[S>>2]|0);f[S>>2]=0;f[g>>2]=0;Ht(r,1,11316,y)|0;v=1;break}else{f[S>>2]=n;f[g>>2]=e;A=n;E=37;break}}else{A=n;E=37}while(0)if((E|0)==37){ut(A,65399,2);ut(A+2|0,a+3|0,2);ut(A+4|0,f[u>>2]|0,1);if(f[u>>2]|0){s=0;a=A+5|0;n=f[l+(o*5640|0)+5624>>2]|0;while(1){ut(a,f[n>>2]|0,1);s=s+1|0;if(s>>>0>=(f[u>>2]|0)>>>0)break;else{a=a+1|0;n=n+20|0}}}v=(Lt(i,f[S>>2]|0,e,r)|0)!=(e|0)}i=v&1^1;c=T;return i|0}function zf(e,i,r){e=e|0;i=i|0;r=r|0;r=Bt(i)|0;i=(f[e+196>>2]|0)+8|0;f[i>>2]=r;f[i+4>>2]=D;return 1}function Xf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=c;c=c+16|0;i=xr(0)|0;t=e+204|0;f[t>>2]=i;if(!i){Ht(r,1,11159,n)|0;r=0;c=n;return r|0}if(Lr(i,f[e+80>>2]|0,e+88|0)|0){r=1;c=n;return r|0}Ir(f[t>>2]|0);f[t>>2]=0;r=0;c=n;return r|0}function Gf(e,i,r){e=e|0;i=i|0;r=r|0;var a=0,s=0,l=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0;U=e+80|0;P=f[U>>2]|0;H=e+164|0;s=f[H>>2]|0;j=P+24|0;x=f[j>>2]|0;r=f[x>>2]|0;a=f[x+4>>2]|0;F=P+16|0;x=ie(f[x+24>>2]|0,f[F>>2]|0)|0;C=Bt(i)|0;w=e+116|0;c=f[w>>2]|0;m=e+112|0;i=f[m>>2]|0;R=(+(C>>>0)+4294967296*+(D|0))/+((ie(i,c)|0)>>>0);C=(t[e+181>>0]&8)==0?1:2;if(c){_=e+92|0;v=e+100|0;g=e+96|0;A=e+104|0;S=P+4|0;T=P+8|0;M=P+12|0;E=+((ie(r<<3,a)|0)>>>0);d=i;r=i;k=0;i=s;do{b=k;k=k+1|0;if(!r)r=0;else{d=0;do{y=+go[C&3](i);c=f[i+8>>2]|0;y=y/+(c>>>0);Y=f[_>>2]|0;s=f[v>>2]|0;u=(ie(s,d)|0)+Y|0;r=f[P>>2]|0;r=(u|0)>(r|0)?u:r;u=f[g>>2]|0;l=f[A>>2]|0;q=(ie(l,b)|0)+u|0;a=f[S>>2]|0;a=(q|0)>(a|0)?q:a;d=d+1|0;Y=(ie(s,d)|0)+Y|0;s=f[T>>2]|0;s=(Y|0)<(s|0)?Y:s;u=(ie(l,k)|0)+u|0;l=f[M>>2]|0;l=(u|0)<(l|0)?u:l;u=i+20|0;h=+o[u>>2];if(h!=0)o[u>>2]=+((ie(ie(s-r|0,x)|0,l-a|0)|0)>>>0)/(E*h)-y;if(c>>>0>1){h=+((ie(ie(s-r|0,x)|0,l-a|0)|0)>>>0);r=1;a=i+24|0;while(1){p=+o[a>>2];if(p!=0)o[a>>2]=h/(E*p)-y;r=r+1|0;if(r>>>0>=c>>>0)break;else a=a+4|0}}i=i+5640|0;r=f[m>>2]|0}while(d>>>0<r>>>0)c=f[w>>2]|0;d=r}}while(k>>>0<c>>>0)if(!c)c=0;else{_=(d|0)==0;p=R+2;g=d>>>0>1?d:1;v=0;r=f[H>>2]|0;do{if(!_){k=r+16|0;w=0;m=r;while(1){i=m+20|0;h=+o[i>>2];if(h!=0?(E=h-R,o[i>>2]=E,E<30):0)o[i>>2]=30;l=m+24|0;i=f[m+8>>2]|0;b=i+-1|0;h=+o[l>>2];a=h!=0;if(b>>>0>1){u=k+(i<<2)|0;s=1;i=l;do{if(a?(E=h-R,o[i>>2]=E,L=+o[i+-4>>2],E<L+10):0)o[i>>2]=L+20;i=i+4|0;s=s+1|0;h=+o[i>>2];a=h!=0}while((s|0)!=(b|0))if(a){O=h;B=u;N=29}}else if(a){O=h;B=l;N=29}if((N|0)==29?(N=0,E=O-p,o[B>>2]=E,I=+o[B+-4>>2],E<I+10):0)o[B>>2]=I+20;w=w+1|0;if(w>>>0>=d>>>0)break;else{k=k+5640|0;m=m+5640|0}}r=r+(g*5640|0)|0}v=v+1|0}while(v>>>0<c>>>0)}}else{d=i;c=0}a=f[F>>2]|0;if(!a)v=0;else{s=(f[e+100>>2]|0)+-1|0;l=(f[e+104>>2]|0)+-1|0;u=0;i=f[j>>2]|0;r=0;while(1){q=f[i>>2]|0;Y=f[i+4>>2]|0;q=ie(((l+Y|0)>>>0)/(Y>>>0)|0,((s+q|0)>>>0)/(q>>>0)|0)|0;r=(ie(q,f[i+24>>2]|0)|0)+r|0;u=u+1|0;if(u>>>0>=a>>>0)break;else i=i+52|0}v=~~(+(r>>>0)*.1625)>>>0}b=f[(f[U>>2]|0)+16>>2]|0;w=b+-1|0;_=ie(c,d)|0;k=(_|0)==0;if(k)s=0;else{i=0;r=0;a=f[H>>2]|0;while(1){q=f[a+5588>>2]|0;r=r>>>0>q>>>0?r:q;i=i+1|0;if((i|0)==(_|0))break;else a=a+5640|0}s=r*12|0}m=e+88|0;if(((n[m>>1]|0)+-3&65535)>=4){if(k){i=0;r=0}else{d=(b|0)==0;u=0;r=0;do{if(!d){a=f[(f[H>>2]|0)+(u*5640|0)+5584>>2]|0;l=0;do{if(!(f[a+(l*1080|0)>>2]&1))i=5;else i=(f[a+(l*1080|0)+4>>2]|0)+5|0;r=r>>>0>i>>>0?r:i;l=l+1|0}while((l|0)!=(b|0))}u=u+1|0}while((u|0)!=(_|0))c=0;i=0;do{if(!d){l=f[(f[H>>2]|0)+(c*5640|0)+5584>>2]|0;u=0;do{if(!(f[l+(u*1080|0)>>2]&1))a=5;else a=(f[l+(u*1080|0)+4>>2]|0)+5|0;i=i>>>0>a>>>0?i:a;u=u+1|0}while((u|0)!=(b|0))}c=c+1|0}while((c|0)!=(_|0))}s=(ie(r+12+i|0,w)|0)+s|0}if(k)r=13;else{a=0;r=0;i=f[H>>2]|0;while(1){q=f[i+420>>2]|0;r=r>>>0>q>>>0?r:q;a=a+1|0;if((a|0)==(_|0))break;else i=i+5640|0}r=(r*9|0)+13|0}q=s+v+r|0;f[e+40>>2]=q;q=Nn(q)|0;f[e+36>>2]=q;if(!q){q=0;return q|0}if(((n[m>>1]|0)+-3&65535)>=4){q=1;return q|0}r=Nn((f[e+32>>2]|0)*5|0)|0;f[e+24>>2]=r;if(!r){q=0;return q|0}f[e+28>>2]=r;q=1;return q|0}function Vf(e){e=e|0;return 0}function Kf(e){e=e|0;return+ +((((f[e+5588>>2]|0)*14|0)+-14|0)>>>0)}function Wf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0;a=f[i+(r*5640|0)+5584>>2]|0;w=(f[i+(r*5640|0)+420>>2]|0)+1|0;o=e>>>0<257?1:2;k=ie(w,(o<<1)+5|0)|0;m=k+4|0;ut(t,65375,2);ut(t+2|0,k+2|0,2);if(!w){f[n>>2]=m;return}u=o+1|0;c=o+3|0;d=o|4;h=d+o|0;b=h+1|0;k=i+(r*5640|0)+8|0;s=a+4|0;l=0;t=t+4|0;a=i+(r*5640|0)+424|0;while(1){ut(t,f[a>>2]|0,1);ut(t+1|0,f[a+4>>2]|0,o);p=a+8|0;ut(t+u|0,f[p>>2]|0,2);i=a+12|0;ut(t+c|0,f[i>>2]|0,1);r=a+16|0;ut(t+d|0,f[r>>2]|0,o);ut(t+h|0,f[a+36>>2]|0,1);v=f[p>>2]|0;_=f[k>>2]|0;f[p>>2]=(v|0)<(_|0)?v:_;p=f[i>>2]|0;_=f[s>>2]|0;f[i>>2]=(p|0)<(_|0)?p:_;i=f[r>>2]|0;f[r>>2]=(i|0)<(e|0)?i:e;l=l+1|0;if((l|0)==(w|0))break;else{t=t+b|0;a=a+148|0}}f[n>>2]=m;return}function Jf(e,i,r,t,n,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;var s=0,l=0,o=0,u=0,d=0,h=0;h=c;c=c+16|0;o=h+8|0;l=h;u=f[e+(i*5640|0)+5584>>2]|0;i=f[u+(r*1080|0)+24>>2]|0;do if((i|0)!=1){e=(f[u+(r*1080|0)+4>>2]|0)*3|0;s=e+-2|0;if(!i){e=e+-1|0;if((f[n>>2]|0)>>>0<e>>>0){Ht(a,1,11515,l)|0;n=0;c=h;return n|0}else{ut(t,f[u+(r*1080|0)+804>>2]<<5,1);if(!s)break;else i=0;do{t=t+1|0;ut(t,f[u+(r*1080|0)+28+(i<<3)>>2]<<3,1);i=i+1|0}while((i|0)!=(s|0))}}else d=7}else{s=1;i=1;d=7}while(0)if((d|0)==7){e=s<<1|1;if((f[n>>2]|0)>>>0<e>>>0){Ht(a,1,11515,o)|0;n=0;c=h;return n|0}ut(t,(f[u+(r*1080|0)+804>>2]<<5)+i|0,1);if(s){t=t+1|0;i=0;while(1){ut(t,(f[u+(r*1080|0)+28+(i<<3)>>2]<<11)+(f[u+(r*1080|0)+28+(i<<3)+4>>2]|0)|0,2);i=i+1|0;if((i|0)==(s|0))break;else t=t+2|0}}}f[n>>2]=(f[n>>2]|0)-e;n=1;c=h;return n|0}function Qf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0;l=c;c=c+16|0;a=f[e+(i*5640|0)+5584>>2]|0;if((f[t>>2]|0)>>>0<5){Ht(n,1,11587,l)|0;t=0;c=l;return t|0}s=a+4|0;ut(r,(f[s>>2]|0)+-1|0,1);ut(r+1|0,(f[a+8>>2]|0)+-2|0,1);ut(r+2|0,(f[a+12>>2]|0)+-2|0,1);ut(r+3|0,f[a+16>>2]|0,1);ut(r+4|0,f[a+20>>2]|0,1);i=(f[t>>2]|0)+-5|0;f[t>>2]=i;if(!(f[a>>2]&1)){t=1;c=l;return t|0}e=f[s>>2]|0;if(i>>>0<e>>>0){Ht(n,1,11587,l+8|0)|0;t=0;c=l;return t|0}if(!e)e=0;else{i=r+5|0;r=0;while(1){ut(i,(f[a+944+(r<<2)>>2]<<4)+(f[a+812+(r<<2)>>2]|0)|0,1);r=r+1|0;e=f[s>>2]|0;if(r>>>0>=e>>>0)break;else i=i+1|0}i=f[t>>2]|0}f[t>>2]=i-e;t=1;c=l;return t|0}function Zf(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0,o=0,u=0,c=0,d=0;l=f[e+76>>2]|0;n=f[l+(r*5640|0)+4>>2]|0;s=696;while(1){d=f[s>>2]|0;if((d|0)==-1|(d|0)==(n|0))break;else s=s+12|0}if(!(t[e+93>>0]&8)){e=1;return e|0}d=a[e+92>>0]|0;o=l+(r*5640|0)+424+(i*148|0)+92|0;u=l+(r*5640|0)+424+(i*148|0)+88|0;c=l+(r*5640|0)+424+(i*148|0)+96|0;i=l+(r*5640|0)+424+(i*148|0)+84|0;l=t[s+4>>0]|0;switch(l|0){case 67:{n=f[o>>2]|0;break}case 82:{n=f[u>>2]|0;break}case 80:{n=f[c>>2]|0;break}case 76:{n=f[i>>2]|0;break}default:n=1}if((d|0)!=(l|0)){l=t[s+5>>0]|0;switch(l|0){case 67:{n=ie(f[o>>2]|0,n)|0;break}case 82:{n=ie(f[u>>2]|0,n)|0;break}case 80:{n=ie(f[c>>2]|0,n)|0;break}case 76:{n=ie(f[i>>2]|0,n)|0;break}default:{}}if((d|0)!=(l|0)){l=t[s+6>>0]|0;switch(l|0){case 67:{n=ie(f[o>>2]|0,n)|0;break}case 82:{n=ie(f[u>>2]|0,n)|0;break}case 80:{n=ie(f[c>>2]|0,n)|0;break}case 76:{n=ie(f[i>>2]|0,n)|0;break}default:{}}if((d|0)!=(l|0)){s=t[s+7>>0]|0;switch(s|0){case 67:{n=ie(f[o>>2]|0,n)|0;break}case 82:{n=ie(f[u>>2]|0,n)|0;break}case 80:{n=ie(f[c>>2]|0,n)|0;break}case 76:{n=ie(f[i>>2]|0,n)|0;break}default:{}}if((d|0)==(s|0))s=3;else{e=n;return e|0}}else s=2}else s=1}else s=0;f[e+84>>2]=s;e=n;return e|0}function $f(e,i,r,l){e=e|0;i=i|0;r=r|0;l=l|0;var o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0;M=i+16|0;if(!(f[M>>2]|0)){M=1;return M|0}T=0;S=f[i+24>>2]|0;while(1){u=l+44|0;o=f[u>>2]|0;c=l+8|0;if(!o){i=l+12|0;o=Fn(ie(f[i>>2]|0,f[c>>2]|0)|0,4)|0;f[u>>2]=o;if(!o){r=0;l=61;break}}else i=l+12|0;w=S+36|0;f[l+36>>2]=f[w>>2];E=f[S+24>>2]|0;p=f[e+24>>2]|0;w=f[w>>2]|0;E=((E&7|0)!=0&1)+(E>>>3)|0;E=(E|0)==3?4:E;h=f[p+(w*136|0)+8>>2]|0;d=f[p+(w*136|0)>>2]|0;g=h-d|0;_=f[p+(w*136|0)+12>>2]|0;w=f[p+(w*136|0)+4>>2]|0;p=_-w|0;u=f[l+16>>2]|0;k=f[l+40>>2]|0;b=Ll(1,0,k|0)|0;y=D;u=Il(u|0,0,-1,-1)|0;u=Il(u|0,D|0,b|0,y|0)|0;u=Bl(u|0,D|0,k|0)|0;m=Il(f[l+20>>2]|0,0,-1,-1)|0;y=Il(m|0,D|0,b|0,y|0)|0;k=Bl(y|0,D|0,k|0)|0;y=f[c>>2]|0;c=u+y|0;b=f[i>>2]|0;m=k+b|0;do if(u>>>0<d>>>0){i=d-u|0;if(h>>>0>c>>>0){A=c-d|0;v=0;d=g-A|0;h=i}else{v=0;d=0;h=i;A=g}}else{i=u-d|0;if(h>>>0>c>>>0){v=i;d=h-c|0;h=0;A=y;break}else{v=i;d=0;h=0;A=g-i|0;break}}while(0)do if(k>>>0<w>>>0){c=w-k|0;if(_>>>0>m>>>0){u=m-w|0;b=u;i=0;u=p-u|0}else{b=p;i=0;u=0}}else{i=k-w|0;if(_>>>0>m>>>0){u=_-m|0;c=0;break}else{b=p-i|0;u=0;c=0;break}}while(0)if((v|d|A|u|i|b|0)<0){r=0;l=61;break}i=(ie(i,g)|0)+v|0;w=v+d|0;m=(ie(u,g)|0)-v|0;k=y-A|0;o=o+((ie(y,c)|0)+h<<2)|0;switch(E|0){case 1:{r=r+i|0;i=(b|0)==0;if(!(f[S+32>>2]|0)){if(!i){d=(A|0)==0;h=0;i=o;while(1){if(!d){c=i+(A<<2)|0;u=0;o=r;while(1){f[i>>2]=a[o>>0];u=u+1|0;if((u|0)==(A|0))break;else{i=i+4|0;o=o+1|0}}i=c;r=r+A|0}r=r+w|0;h=h+1|0;if((h|0)==(b|0))break;else i=i+(k<<2)|0}}}else if(!i){d=(A|0)==0;h=0;i=o;while(1){if(!d){c=i+(A<<2)|0;u=0;o=r;while(1){f[i>>2]=t[o>>0];u=u+1|0;if((u|0)==(A|0))break;else{i=i+4|0;o=o+1|0}}i=c;r=r+A|0}r=r+w|0;h=h+1|0;if((h|0)==(b|0))break;else i=i+(k<<2)|0}}r=r+m|0;break}case 2:{r=r+(i<<1)|0;i=(b|0)==0;if(!(f[S+32>>2]|0)){if(!i){d=(A|0)==0;h=0;i=o;while(1){if(!d){c=i+(A<<2)|0;u=0;o=r;while(1){f[i>>2]=s[o>>1];u=u+1|0;if((u|0)==(A|0))break;else{i=i+4|0;o=o+2|0}}i=c;r=r+(A<<1)|0}r=r+(w<<1)|0;h=h+1|0;if((h|0)==(b|0))break;else i=i+(k<<2)|0}}}else if(!i){d=(A|0)==0;h=0;i=o;while(1){if(!d){c=i+(A<<2)|0;u=0;o=r;while(1){f[i>>2]=n[o>>1];u=u+1|0;if((u|0)==(A|0))break;else{i=i+4|0;o=o+2|0}}i=c;r=r+(A<<1)|0}r=r+(w<<1)|0;h=h+1|0;if((h|0)==(b|0))break;else i=i+(k<<2)|0}}r=r+(m<<1)|0;break}case 4:{r=r+(i<<2)|0;if(b){d=(A|0)==0;h=0;i=o;while(1){if(!d){c=i+(A<<2)|0;u=0;o=r;while(1){f[i>>2]=f[o>>2];u=u+1|0;if((u|0)==(A|0))break;else{i=i+4|0;o=o+4|0}}i=c;r=r+(A<<2)|0}r=r+(w<<2)|0;h=h+1|0;if((h|0)==(b|0))break;else i=i+(k<<2)|0}}r=r+(m<<2)|0;break}default:{}}T=T+1|0;if(T>>>0>=(f[M>>2]|0)>>>0){r=1;l=61;break}else{l=l+52|0;S=S+52|0;e=e+52|0}}if((l|0)==61)return r|0;return 0}function ea(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;S=c;c=c+112|0;E=S+88|0;v=S+80|0;g=S+72|0;p=S+64|0;w=S+56|0;k=S+48|0;d=S+40|0;o=S+32|0;l=S+24|0;s=S+16|0;m=S+100|0;_=S+96|0;y=S+92|0;f[_>>2]=0;A=e+200|0;if((r|0)!=8){Ht(n,1,8662,S)|0;Ht(n,1,8662,S+8|0)|0;n=0;c=S;return n|0}ct(i,A,2);ct(i+2|0,m,4);ct(i+6|0,y,1);ct(i+7|0,_,1);u=f[A>>2]|0;i=f[e+112>>2]|0;if(u>>>0>=(ie(f[e+116>>2]|0,i)|0)>>>0){f[s>>2]=u;Ht(n,1,15258,s)|0;n=0;c=S;return n|0}r=f[e+164>>2]|0;b=(u>>>0)%(i>>>0)|0;h=(u>>>0)/(i>>>0)|0;i=f[m>>2]|0;do if((i+-1|0)>>>0<13){if((i|0)==12){f[l>>2]=12;Ht(n,2,15282,l)|0;i=f[m>>2]|0;break}f[o>>2]=i;Ht(n,1,15319,o)|0;n=0;c=S;return n|0}while(0)if(!i){Ht(n,4,15380,d)|0;f[e+72>>2]=1}i=f[_>>2]|0;do if(!i)i=f[r+(u*5640|0)+5588>>2]|0;else{i=((a[e+76>>0]|0)>>>4&1)+i|0;f[_>>2]=i;s=r+(u*5640|0)+5588|0;l=f[s>>2]|0;r=f[y>>2]|0;if((l+-1|0)>>>0<r>>>0){f[k>>2]=r;f[k+4>>2]=l;Ht(n,1,15491,k)|0;f[e+72>>2]=1;n=0;c=S;return n|0}if(r>>>0<i>>>0){f[s>>2]=i;break}f[w>>2]=r;f[w+4>>2]=i;Ht(n,1,15590,w)|0;f[e+72>>2]=1;n=0;c=S;return n|0}while(0)if((i|0)!=0?(i|0)==((f[y>>2]|0)+1|0):0){w=e+76|0;t[w>>0]=t[w>>0]|1}f[e+24>>2]=(f[e+72>>2]|0)==0?(f[m>>2]|0)+-12|0:0;f[e+8>>2]=16;i=f[e+60>>2]|0;if((i|0)==-1){if((b>>>0>=(f[e+28>>2]|0)>>>0?b>>>0<(f[e+36>>2]|0)>>>0:0)?h>>>0>=(f[e+32>>2]|0)>>>0:0)i=(h>>>0>=(f[e+40>>2]|0)>>>0&1)<<2&255;else i=4;m=e+76|0;t[m>>0]=t[m>>0]&-5|i}else{m=e+76|0;t[m>>0]=((f[A>>2]|0)!=(i|0)&1)<<2&255|t[m>>0]&-5}o=e+196|0;i=f[o>>2]|0;if(!i){n=1;c=S;return n|0}l=f[A>>2]|0;i=f[i+40>>2]|0;f[i+(l*40|0)>>2]=l;f[i+(l*40|0)+12>>2]=f[y>>2];r=f[_>>2]|0;if(r){f[i+(l*40|0)+4>>2]=r;f[i+(l*40|0)+8>>2]=f[_>>2];i=f[i+(l*40|0)+16>>2]|0;if(!i){E=Fn(f[_>>2]|0,24)|0;f[(f[(f[o>>2]|0)+40>>2]|0)+((f[A>>2]|0)*40|0)+16>>2]=E;if(E){n=1;c=S;return n|0}Ht(n,1,15698,p)|0;n=0;c=S;return n|0}i=Hn(i,(f[_>>2]|0)*24|0)|0;r=(f[(f[o>>2]|0)+40>>2]|0)+((f[A>>2]|0)*40|0)+16|0;if(!i){Yn(f[r>>2]|0);f[(f[(f[o>>2]|0)+40>>2]|0)+((f[A>>2]|0)*40|0)+16>>2]=0;Ht(n,1,15698,g)|0;n=0;c=S;return n|0}else{f[r>>2]=i;n=1;c=S;return n|0}}if(!(f[i+(l*40|0)+16>>2]|0)){f[i+(l*40|0)+8>>2]=10;g=Fn(10,24)|0;r=f[A>>2]|0;i=f[(f[o>>2]|0)+40>>2]|0;f[i+(r*40|0)+16>>2]=g;if(!g){f[i+(r*40|0)+8>>2]=0;Ht(n,1,15698,v)|0;n=0;c=S;return n|0}else l=r}r=f[y>>2]|0;s=i+(l*40|0)+8|0;if(r>>>0<(f[s>>2]|0)>>>0){n=1;c=S;return n|0}r=r+1|0;f[s>>2]=r;i=Hn(f[i+(l*40|0)+16>>2]|0,r*24|0)|0;r=(f[(f[o>>2]|0)+40>>2]|0)+((f[A>>2]|0)*40|0)+16|0;if(!i){Yn(f[r>>2]|0);A=f[A>>2]|0;y=f[(f[o>>2]|0)+40>>2]|0;f[y+(A*40|0)+16>>2]=0;f[y+(A*40|0)+8>>2]=0;Ht(n,1,15698,E)|0;n=0;c=S;return n|0}else{f[r>>2]=i;n=1;c=S;return n|0}return 0}function ia(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;_=c;c=c+64|0;k=_+48|0;w=_+40|0;o=_+32|0;h=_+56|0;l=_+52|0;f[h>>2]=r;m=e+80|0;u=f[m>>2]|0;b=e+8|0;if((f[b>>2]|0)==16)d=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else d=f[e+12>>2]|0;a=d+5636|0;s=t[a>>0]|0;if(s&1){Ht(n,1,15025,_)|0;m=0;c=_;return m|0}t[a>>0]=s|1;if(r>>>0<5){Ht(n,1,15089,_+8|0)|0;m=0;c=_;return m|0}ct(i,d,1);if((f[d>>2]|0)>>>0>7){Ht(n,1,15115,_+16|0)|0;m=0;c=_;return m|0}ct(i+1|0,l,1);l=f[l>>2]|0;a=d+4|0;f[a>>2]=l;if((l|0)>4){Ht(n,1,15149,_+24|0)|0;f[a>>2]=-1}a=d+8|0;ct(i+2|0,a,2);a=f[a>>2]|0;if((a+-1|0)>>>0>65534){f[o>>2]=a;Ht(n,1,15190,o)|0;m=0;c=_;return m|0}o=f[e+172>>2]|0;f[d+12>>2]=(o|0)==0?a:o;ct(i+4|0,d+16|0,1);o=i+5|0;f[h>>2]=r+-5;l=f[u+16>>2]|0;if(l){i=f[d>>2]&1;a=f[d+5584>>2]|0;s=0;do{f[a+(s*1080|0)>>2]=i;s=s+1|0}while(s>>>0<l>>>0)}if(!(mi(e,0,o,h,n)|0)){Ht(n,1,15089,w)|0;m=0;c=_;return m|0}if(f[h>>2]|0){Ht(n,1,15089,k)|0;m=0;c=_;return m|0}if((f[b>>2]|0)==16)a=(f[e+164>>2]|0)+((f[e+200>>2]|0)*5640|0)|0;else a=f[e+12>>2]|0;a=f[a+5584>>2]|0;r=a+4|0;s=f[r>>2]|0;d=s<<2;if((f[(f[m>>2]|0)+16>>2]|0)>>>0<=1){m=1;c=_;return m|0}h=a+8|0;b=a+12|0;e=a+16|0;n=a+20|0;k=a+812|0;w=a+944|0;f[a+1084>>2]=s;l=f[h>>2]|0;f[a+1088>>2]=l;i=f[b>>2]|0;f[a+1092>>2]=i;o=f[e>>2]|0;f[a+1096>>2]=o;u=f[n>>2]|0;f[a+1100>>2]=u;Nl(a+1892|0,k|0,d|0)|0;Nl(a+2024|0,w|0,d|0)|0;if((f[(f[m>>2]|0)+16>>2]|0)>>>0<=2){m=1;c=_;return m|0}f[a+2164>>2]=s;f[a+2168>>2]=l;f[a+2172>>2]=i;f[a+2176>>2]=o;f[a+2180>>2]=u;Nl(a+2972|0,k|0,d|0)|0;Nl(a+3104|0,w|0,d|0)|0;if((f[(f[m>>2]|0)+16>>2]|0)>>>0>3)s=3;else{m=1;c=_;return m|0}while(1){l=f[h>>2]|0;i=f[b>>2]|0;o=f[e>>2]|0;u=f[n>>2]|0;f[a+3244>>2]=f[r>>2];f[a+3248>>2]=l;f[a+3252>>2]=i;f[a+3256>>2]=o;f[a+3260>>2]=u;Nl(a+4052|0,k|0,d|0)|0;Nl(a+4184|0,w|0,d|0)|0;s=s+1|0;if(s>>>0>=(f[(f[m>>2]|0)+16>>2]|0)>>>0){a=1;break}else a=a+1080|0}c=_;return a|0}function ra(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0;v=c;c=c+272|0;h=v;_=v+136|0;p=v+8|0;if(!e){p=0;c=v;return p|0}d=e+4|0;if((f[e>>2]|0)==(i|0)?(f[d>>2]|0)==(r|0):0)n=e+8|0;else{f[e>>2]=i;f[d>>2]=r;f[_>>2]=i;f[p>>2]=r;n=e+8|0;f[n>>2]=0;a=0;l=r;o=i;u=0;while(1){m=ie(l,o)|0;o=(o+1|0)/2|0;s=u+1|0;f[_+(s<<2)>>2]=o;l=(l+1|0)/2|0;f[p+(s<<2)>>2]=l;a=a+m|0;if(m>>>0<=1)break;else u=s}f[n>>2]=a
43
+ ;if(!a){n=e+12|0;a=f[n>>2]|0;if(a){Yn(a);f[n>>2]=0}Yn(e);p=0;c=v;return p|0}s=a<<4;l=e+16|0;o=e+12|0;do if(s>>>0>(f[l>>2]|0)>>>0){a=Hn(f[o>>2]|0,s)|0;if(a){f[o>>2]=a;r=f[l>>2]|0;Ol(a+r|0,0,s-r|0)|0;f[l>>2]=s;r=f[d>>2]|0;i=f[e>>2]|0;break}Ht(t,1,20166,h)|0;n=f[o>>2]|0;if(n){Yn(n);f[o>>2]=0}Yn(e);p=0;c=v;return p|0}while(0)a=f[o>>2]|0;i=a+((ie(r,i)|0)<<4)|0;if(u){m=0;r=i;do{k=f[p+(m<<2)>>2]|0;e:do if((k|0)>0){w=f[_+(m<<2)>>2]|0;if((w|0)<=0){s=k+-1|0;l=0;while(1){b=(l&1|0)!=0|(l|0)==(s|0);o=b?r:i+(w<<4)|0;r=b?r:i;l=l+1|0;if((l|0)>=(k|0)){i=o;break e}else i=o}}b=((w+2+((w|0)<2?~w:-3)|0)>>>1)+1|0;t=k+-1|0;h=0;while(1){d=w;o=r;while(1){f[a>>2]=o;s=a+16|0;l=d;d=d+-2|0;if((d|0)>-1){f[s>>2]=o;a=a+32|0}else a=s;if((l|0)<=2)break;else o=o+16|0}r=r+(b<<4)|0;d=(h&1|0)!=0|(h|0)==(t|0);s=d?r:i+(w<<4)|0;r=d?r:i;h=h+1|0;if((h|0)>=(k|0)){i=s;break}else i=s}}while(0)m=m+1|0}while((m|0)!=(u|0))}f[a>>2]=0}n=f[n>>2]|0;if(!n){p=e;c=v;return p|0}a=0;i=f[e+12>>2]|0;while(1){f[i+4>>2]=999;f[i+8>>2]=0;f[i+12>>2]=0;a=a+1|0;if((a|0)==(n|0))break;else i=i+16|0}c=v;return e|0}function ta(e){e=e|0;var i=0,r=0;if(!e)return;i=e+12|0;r=f[i>>2]|0;if(r){Yn(r);f[i>>2]=0}Yn(e);return}function na(e,i,r){e=e|0;i=i|0;r=r|0;i=(f[e+12>>2]|0)+(i<<4)|0;if(!i)return;while(1){e=i+4|0;if((f[e>>2]|0)<=(r|0)){i=4;break}f[e>>2]=r;i=f[i>>2]|0;if(!i){i=4;break}}if((i|0)==4)return}function fa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+128|0;l=o;r=(f[i+12>>2]|0)+(r<<4)|0;if(!(f[r>>2]|0)){n=0;a=l}else{n=r;i=l;while(1){a=i+4|0;f[i>>2]=r;r=f[n>>2]|0;if(!(f[r>>2]|0)){n=0;break}else{n=r;i=a}}}while(1){s=r+8|0;i=f[s>>2]|0;if((n|0)>(i|0)){f[s>>2]=n;i=n}e:do if((i|0)<(t|0)){n=r+4|0;while(1){if((i|0)>=(f[n>>2]|0))break;_a(e,0,1);i=i+1|0;if((i|0)>=(t|0)){r=i;break e}}r=r+12|0;if(!(f[r>>2]|0)){_a(e,1,1);f[r>>2]=1;r=i}else r=i}else r=i;while(0)f[s>>2]=r;if((a|0)==(l|0))break;s=a+-4|0;n=r;r=f[s>>2]|0;a=s}c=o;return}function aa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0;o=c;c=c+128|0;l=o;r=(f[i+12>>2]|0)+(r<<4)|0;if(!(f[r>>2]|0)){i=0;a=l}else{n=r;i=l;while(1){a=i+4|0;f[i>>2]=r;r=f[n>>2]|0;if(!(f[r>>2]|0)){i=0;break}else{n=r;i=a}}}while(1){s=r+8|0;n=f[s>>2]|0;if((i|0)>(n|0))f[s>>2]=i;else i=n;r=r+4|0;e:do if((i|0)<(t|0)){while(1){if((i|0)>=(f[r>>2]|0))break e;if(pa(e,1)|0)break;i=i+1|0;if((i|0)>=(t|0))break e}f[r>>2]=i}while(0)f[s>>2]=i;if((a|0)==(l|0))break;s=a+-4|0;r=f[s>>2]|0;a=s}c=o;return(f[r>>2]|0)<(t|0)|0}function sa(){var e=0,i=0;e=Fn(1,12)|0;if(!e){e=0;return e|0}f[e+4>>2]=10;i=Fn(10,4)|0;f[e+8>>2]=i;if(i){i=e;return i|0}Yn(e);i=0;return i|0}function la(e){e=e|0;var i=0;if(!e)return;i=f[e+8>>2]|0;if(i)Yn(i);Yn(e);return}function oa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;l=c;c=c+16|0;s=l;a=e+4|0;n=f[a>>2]|0;t=f[e>>2]|0;do if((n|0)==(t|0)){n=n+10|0;f[a>>2]=n;t=e+8|0;n=Hn(f[t>>2]|0,n<<2)|0;if(n){f[t>>2]=n;t=f[e>>2]|0;break}Yn(f[t>>2]|0);f[a>>2]=0;f[e>>2]=0;Ht(r,1,20214,s)|0;e=0;c=l;return e|0}else n=f[e+8>>2]|0;while(0)f[n+(t<<2)>>2]=i;f[e>>2]=t+1;e=1;c=l;return e|0}function ua(e){e=e|0;return f[e>>2]|0}function ca(e){e=e|0;return f[e+8>>2]|0}function da(e){e=e|0;f[e>>2]=0;return}function ha(){return Nn(20)|0}function ba(e){e=e|0;if(!e)return;Yn(e);return}function ka(e){e=e|0;return(f[e+8>>2]|0)-(f[e>>2]|0)|0}function wa(e,i,r){e=e|0;i=i|0;r=r|0;f[e>>2]=i;f[e+4>>2]=i+r;f[e+8>>2]=i;f[e+12>>2]=0;f[e+16>>2]=8;return}function ma(e,i,r){e=e|0;i=i|0;r=r|0;f[e>>2]=i;f[e+4>>2]=i+r;f[e+8>>2]=i;f[e+12>>2]=0;f[e+16>>2]=0;return}function _a(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0;if(!r)return;u=e+16|0;c=e+12|0;d=e+8|0;s=e+4|0;e=f[u>>2]|0;o=r+-1|0;do{l=i>>>o&1;if(!e){a=f[c>>2]|0;e=a<<8&65280;f[c>>2]=e;e=(e|0)==65280?7:8;f[u>>2]=e;n=f[d>>2]|0;if(n>>>0<(f[s>>2]|0)>>>0){f[d>>2]=n+1;t[n>>0]=a;e=f[u>>2]|0}}e=e+-1|0;f[u>>2]=e;f[c>>2]=l<<e|f[c>>2];o=o+-1|0}while(o>>>0<r>>>0)return}function pa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,s=0,l=0,o=0,u=0,c=0;if(!i){i=0;return i|0}o=e+16|0;u=e+12|0;c=e+8|0;s=e+4|0;r=f[o>>2]|0;t=f[u>>2]|0;l=i+-1|0;e=0;do{if(!r){n=t<<8&65280;f[u>>2]=n;r=(n|0)==65280?7:8;f[o>>2]=r;t=f[c>>2]|0;if(t>>>0<(f[s>>2]|0)>>>0){f[c>>2]=t+1;t=a[t>>0]|0|n;f[u>>2]=t}else t=n}r=r+-1|0;f[o>>2]=r;e=((t>>>r&1)<<l)+e|0;l=l+-1|0}while(l>>>0<i>>>0)return e|0}function va(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0;n=e+12|0;i=f[n>>2]|0;l=i<<8&65280;f[n>>2]=l;a=e+16|0;f[a>>2]=(l|0)==65280?7:8;l=e+8|0;r=f[l>>2]|0;s=e+4|0;if(r>>>0>=(f[s>>2]|0)>>>0){l=0;return l|0}f[l>>2]=r+1;t[r>>0]=i;if((f[a>>2]|0)!=7){l=1;return l|0}i=f[n>>2]|0;e=i<<8&65280;f[n>>2]=e;f[a>>2]=(e|0)==65280?7:8;e=f[l>>2]|0;if(e>>>0>=(f[s>>2]|0)>>>0){l=0;return l|0}f[l>>2]=e+1;t[e>>0]=i;l=1;return l|0}function ga(e){e=e|0;var i=0,r=0,t=0,n=0,s=0;s=e+12|0;i=f[s>>2]|0;do if((i&255|0)==255){t=i<<8&65280;f[s>>2]=t;i=e+16|0;f[i>>2]=(t|0)==65280?7:8;n=e+8|0;r=f[n>>2]|0;if(r>>>0<(f[e+4>>2]|0)>>>0){f[n>>2]=r+1;f[s>>2]=a[r>>0]|0|t;break}else{e=0;return e|0}}else i=e+16|0;while(0)f[i>>2]=0;e=1;return e|0}function ya(e){e=e|0;return Ra(e,1)|0}function Ea(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0;P=c;c=c+32|0;M=P+16|0;C=P;o=f[e+24>>2]|0;l=(f[o+8>>2]|0)-(f[o>>2]|0)|0;s=(f[o+12>>2]|0)-(f[o+4>>2]|0)|0;T=(f[e+8>>2]|0)-(f[e>>2]|0)|0;if((i|0)==1){C=1;c=P;return C|0}a=i+-1|0;n=(a|0)==0;if(n)i=0;else{r=o;t=a;i=0;do{S=r;r=r+136|0;A=(f[S+144>>2]|0)-(f[r>>2]|0)|0;i=i>>>0<A>>>0?A:i;S=(f[S+148>>2]|0)-(f[S+140>>2]|0)|0;i=i>>>0<S>>>0?S:i;t=t+-1|0}while((t|0)!=0)i=i<<2}S=jn(i)|0;f[M>>2]=S;if(!S){C=0;c=P;return C|0}f[C>>2]=S;if(!n){_=e+32|0;p=M+8|0;v=C+8|0;g=M+4|0;y=M+12|0;E=C+4|0;A=C+12|0;do{w=f[_>>2]|0;h=o;o=o+136|0;f[p>>2]=l;f[v>>2]=s;b=f[h+144>>2]|0;k=f[o>>2]|0;t=l;l=b-k|0;i=f[h+148>>2]|0;h=h+140|0;m=f[h>>2]|0;r=s;s=i-m|0;f[g>>2]=l-t;f[y>>2]=(k|0)%2|0;m=(i|0)==(m|0);if(!m){d=l<<2;i=0;while(1){e=ie(i,T)|0;u=w+(e<<2)|0;if(t){r=u;n=S+(f[y>>2]<<2)|0;while(1){t=t+-1|0;f[n>>2]=f[r>>2];if(!t)break;else{r=r+4|0;n=n+8|0}}}r=f[g>>2]|0;if(r){t=w+((f[p>>2]|0)+e<<2)|0;n=S+(1-(f[y>>2]|0)<<2)|0;while(1){r=r+-1|0;f[n>>2]=f[t>>2];if(!r)break;else{t=t+4|0;n=n+8|0}}}Oa(M);Nl(u|0,S|0,d|0)|0;i=i+1|0;if((i|0)==(s|0))break;t=f[p>>2]|0}r=f[v>>2]|0;i=f[h>>2]|0}f[E>>2]=s-r;f[A>>2]=(i|0)%2|0;e:do if((b|0)!=(k|0)){i=0;while(1){if(r){t=w+(i<<2)|0;n=S+(f[A>>2]<<2)|0;while(1){r=r+-1|0;f[n>>2]=f[t>>2];if(!r)break;else{t=t+(T<<2)|0;n=n+8|0}}}r=f[E>>2]|0;if(r){t=w+((ie(f[v>>2]|0,T)|0)+i<<2)|0;n=S+(1-(f[A>>2]|0)<<2)|0;while(1){r=r+-1|0;f[n>>2]=f[t>>2];if(!r)break;else{t=t+(T<<2)|0;n=n+8|0}}}Oa(C);if(!m){r=0;do{f[w+((ie(r,T)|0)+i<<2)>>2]=f[S+(r<<2)>>2];r=r+1|0}while((r|0)!=(s|0))}i=i+1|0;if((i|0)==(l|0))break e;r=f[v>>2]|0}}while(0)a=a+-1|0}while((a|0)!=0)}Un(S);C=1;c=P;return C|0}function Aa(e){e=e|0;if(!e){e=0;return e|0}e=(e+-1|0)>>>0<2?1:2;return e|0}function Sa(e,i){e=e|0;i=i|0;return+ +u[56+(i*80|0)+(e<<3)>>3]}function Ta(e){e=e|0;return Ra(e,2)|0}function Ma(e){e=e|0;return 0}function Ca(e,i){e=e|0;i=i|0;return+ +u[376+(i*80|0)+(e<<3)>>3]}function Pa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,c=0,d=0,h=0,b=0;o=e+4|0;c=((f[o>>2]|0)*3|0)+-2|0;if(!c)return;d=e+20|0;h=e+24|0;b=0;do{if(!b){t=0;n=0}else{n=b+-1|0;t=((n>>>0)/3|0)+1|0;n=((n>>>0)%3|0)+1|0}if((n|0)==0|(f[d>>2]|0)==0)a=0;else a=(n+-1|0)>>>0<2?1:2;if(!(f[h>>2]|0))r=1;else r=+(1<<a|0)/+u[376+(n*80|0)+((f[o>>2]|0)+~t<<3)>>3];l=~~+H(+(r*8192));s=a+i|0;if((l|0)>1){t=l;n=0;while(1){t=t>>1;if((t|0)<=1)break;else n=n+1|0}a=l;t=0;do{a=a>>1;t=t+1|0}while((a|0)>1)n=n+-12|0}else{n=-13;t=0}a=11-t|0;f[e+28+(b<<3)+4>>2]=((a|0)<0?l>>0-a:l<<a)&2047;f[e+28+(b<<3)>>2]=s-n;b=b+1|0}while((b|0)!=(c|0))return}function xa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0;X=c;c=c+32|0;Y=X+16|0;q=X;d=f[e+24>>2]|0;h=f[d+8>>2]|0;b=f[d>>2]|0;o=f[d+12>>2]|0;u=f[d+4>>2]|0;H=e+8|0;s=f[H>>2]|0;l=f[e>>2]|0;U=s-l|0;a=i+-1|0;n=(a|0)==0;if(n)i=80;else{r=d;t=a;i=0;do{j=r;r=r+136|0;F=(f[j+144>>2]|0)-(f[r>>2]|0)|0;i=i>>>0<F>>>0?F:i;j=(f[j+148>>2]|0)-(f[j+140>>2]|0)|0;i=i>>>0<j>>>0?j:i;t=t+-1|0}while((t|0)!=0)i=(i<<4)+80|0}j=jn(i)|0;f[Y>>2]=j;if(!j){z=0;c=X;return z|0}f[q>>2]=j;e:do if(!n){A=e+32|0;S=e+12|0;T=e+4|0;M=Y+8|0;C=q+8|0;P=Y+4|0;x=Y+12|0;D=q+4|0;R=q+12|0;O=U<<1;L=U<<2;I=U*3|0;N=l<<2;F=s<<2;B=N-F|0;N=F-N|0;F=s-l<<2;i=a;r=j;a=s;t=l;m=o-u|0;n=d;s=h-b|0;while(1){_=f[A>>2]|0;t=ie((f[S>>2]|0)-(f[T>>2]|0)|0,a-t|0)|0;f[M>>2]=s;f[C>>2]=m;y=n+136|0;k=f[n+144>>2]|0;w=f[y>>2]|0;E=k-w|0;v=f[n+148>>2]|0;h=n+140|0;p=f[h>>2]|0;g=v-p|0;f[P>>2]=E-s;f[x>>2]=(w|0)%2|0;if((g|0)>3){a=(E|0)>0;s=(v+-4-p|0)>>>2;d=ie(B,s)|0;s=_+(N+(ie(F,s)|0)<<2)|0;l=_;o=t;u=g;while(1){Ia(Y,l,U,o);Ba(Y);if(a){n=E;do{b=n;n=n+-1|0;f[l+(n<<2)>>2]=f[j+(n<<4)>>2];f[l+(n+U<<2)>>2]=f[j+(n<<4)+4>>2];f[l+(n+O<<2)>>2]=f[j+(n<<4)+8>>2];f[l+(n+I<<2)>>2]=f[j+(n<<4)+12>>2]}while((b|0)>1)}u=u+-4|0;if((u|0)<=3)break;else{l=l+(L<<2)|0;o=o-L|0}}t=B+t+d|0}else s=_;a=g&3;i:do if(!a)z=21;else{Ia(Y,s,U,t);Ba(Y);if((E|0)>0)t=E;else{o=g-m|0;f[D>>2]=o;a=(f[h>>2]|0)%2|0;f[R>>2]=a;u=m;l=_;break}while(1){n=t;t=t+-1|0;switch(a|0){case 3:{f[s+(t+O<<2)>>2]=f[j+(t<<4)+8>>2];z=18;break}case 2:{z=18;break}case 1:{z=19;break}default:{}}if((z|0)==18){f[s+(t+U<<2)>>2]=f[j+(t<<4)+4>>2];z=19}if((z|0)==19){z=0;f[s+(t<<2)>>2]=f[j+(t<<4)>>2]}if((n|0)<=1){z=21;break i}}}while(0)if((z|0)==21){z=0;o=g-m|0;f[D>>2]=o;a=(f[h>>2]|0)%2|0;f[R>>2]=a;if((E|0)>3){b=(v|0)==(p|0);k=k+-4-w|0;h=f[C>>2]|0;u=(h|0)>0;l=1-a|0;d=(o|0)>0;n=_;s=E;while(1){if(u){t=0;do{m=r+((t<<1)+a<<4)|0;w=n+((ie(t,U)|0)<<2)|0;f[m>>2]=f[w>>2];f[m+4>>2]=f[w+4>>2];f[m+8>>2]=f[w+8>>2];f[m+12>>2]=f[w+12>>2];t=t+1|0}while((t|0)!=(h|0))}if(d){t=0;do{m=r+(l+(t<<1)<<4)|0;w=n+((ie(t+h|0,U)|0)<<2)|0;f[m>>2]=f[w>>2];f[m+4>>2]=f[w+4>>2];f[m+8>>2]=f[w+8>>2];f[m+12>>2]=f[w+12>>2];t=t+1|0}while((t|0)!=(o|0))}Ba(q);if(!b){r=f[q>>2]|0;t=0;do{m=n+((ie(t,U)|0)<<2)|0;w=r+(t<<4)|0;f[m>>2]=f[w>>2];f[m+4>>2]=f[w+4>>2];f[m+8>>2]=f[w+8>>2];f[m+12>>2]=f[w+12>>2];t=t+1|0}while((t|0)!=(g|0))}s=s+-4|0;if((s|0)<=3)break;else n=n+16|0}u=h;l=_+((k+4&-4)<<2)|0}else{u=m;l=_}}s=E&3;if(s){r=f[q>>2]|0;if((u|0)>0){t=s<<2;n=0;do{Nl(r+((n<<1)+a<<4)|0,l+((ie(n,U)|0)<<2)|0,t|0)|0;n=n+1|0}while((n|0)!=(u|0))}t=1-a|0;if((o|0)>0){n=s<<2;a=0;do{Nl(r+(t+(a<<1)<<4)|0,l+((ie(a+u|0,U)|0)<<2)|0,n|0)|0;a=a+1|0}while((a|0)!=(o|0))}Ba(q);if((v|0)!=(p|0)){t=s<<2;n=0;do{Nl(l+((ie(n,U)|0)<<2)|0,r+(n<<4)|0,t|0)|0;n=n+1|0}while((n|0)!=(g|0))}}i=i+-1|0;if(!i)break e;a=f[H>>2]|0;t=f[e>>2]|0;m=g;n=y;s=E}}while(0)Un(j);z=1;c=X;return z|0}function Da(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;if(!t){t=(i|0)>0;if(!(t|(r|0)>1))return;if(t){t=e+((r<<1)+-2<<2)|0;n=0;do{o=n;n=n+1|0;u=e+((o<<1|1)<<2)|0;f[u>>2]=(f[u>>2]|0)-((f[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(f[((o|0)<(r|0)?e+(o<<1<<2)|0:t)>>2]|0)>>1)}while((n|0)!=(i|0))}if((r|0)<=0)return;n=e+4|0;a=(i<<1)+-1|0;s=0;do{if((s|0)<1)t=n;else t=e+((((s|0)>(i|0)?i:s)<<1)+-1<<2)|0;u=e+(s<<1<<2)|0;f[u>>2]=((f[t>>2]|0)+2+(f[e+(((s|0)<(i|0)?s<<1|1:a)<<2)>>2]|0)>>2)+(f[u>>2]|0);s=s+1|0}while((s|0)!=(r|0))return}if((i|0)==1&(r|0)==0){f[e>>2]=f[e>>2]<<1;return}if((i|0)>0){n=e+4|0;a=(r<<1)+-1|0;s=e+(a<<2)|0;u=0;do{l=u<<1;o=f[e+(((u|0)<(r|0)?l|1:a)<<2)>>2]|0;if((u|0)>=1)if((u|0)>(r|0))t=s;else t=e+(l+-1<<2)|0;else t=n;l=e+(l<<2)|0;f[l>>2]=(f[l>>2]|0)-((f[t>>2]|0)+o>>1);u=u+1|0}while((u|0)!=(i|0))}if((r|0)<=0)return;t=e+((i<<1)+-2<<2)|0;n=0;do{o=n;n=n+1|0;u=e+((o<<1|1)<<2)|0;f[u>>2]=((f[((o|0)<(i|0)?e+(o<<1<<2)|0:t)>>2]|0)+2+(f[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)>>2)+(f[u>>2]|0)}while((n|0)!=(r|0))return}function Ra(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0;y=(f[e+8>>2]|0)-(f[e>>2]|0)|0;a=f[e+16>>2]|0;l=a+-1|0;E=f[e+32>>2]|0;s=f[e+24>>2]|0;n=(l|0)==0;if(n)e=0;else{r=s;t=l;e=0;do{g=r;r=r+136|0;v=(f[g+144>>2]|0)-(f[r>>2]|0)|0;e=e>>>0<v>>>0?v:e;g=(f[g+148>>2]|0)-(f[g+140>>2]|0)|0;e=e>>>0<g>>>0?g:e;t=t+-1|0}while((t|0)!=0)e=e<<2}g=Nn(e)|0;if(!((e|0)==0|(g|0)!=0)){i=0;return i|0}if(!n){p=a+-2|0;v=p;e=s+(l*136|0)|0;p=s+(p*136|0)|0;while(1){w=f[e>>2]|0;_=(f[e+8>>2]|0)-w|0;d=f[e+4>>2]|0;b=(f[e+12>>2]|0)-d|0;k=(f[p+8>>2]|0)-(f[p>>2]|0)|0;e=f[p+12>>2]|0;r=f[p+4>>2]|0;c=e-r|0;w=w&1;d=d&1;h=b-c|0;m=(_|0)>0;e:do if(m){n=(e|0)==(r|0);l=(b|0)==(c|0);o=g+((d^1)<<2)|0;u=ie(c,y)|0;s=g+(d<<2)|0;if((b|0)>0){a=0;while(1){r=E+(a<<2)|0;e=0;do{f[g+(e<<2)>>2]=f[E+((ie(e,y)|0)+a<<2)>>2];e=e+1|0}while((e|0)!=(b|0))Do[i&3](g,h,c,d);if(!n){t=c;e=s;while(1){t=t+-1|0;f[r>>2]=f[e>>2];if(!t)break;else{r=r+(y<<2)|0;e=e+8|0}}}if(!l){e=h;r=E+(a+u<<2)|0;t=o;while(1){e=e+-1|0;f[r>>2]=f[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}}a=a+1|0;if((a|0)==(_|0))break e}}if(n){r=0;while(1){Do[i&3](g,h,c,d);if(!l){e=h;t=E+(r+u<<2)|0;n=o;while(1){e=e+-1|0;f[t>>2]=f[n>>2];if(!e)break;else{t=t+(y<<2)|0;n=n+8|0}}}r=r+1|0;if((r|0)==(_|0))break e}}else n=0;do{Do[i&3](g,h,c,d);e=c;r=E+(n<<2)|0;t=s;while(1){e=e+-1|0;f[r>>2]=f[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}if(!l){e=h;r=E+(n+u<<2)|0;t=o;while(1){e=e+-1|0;f[r>>2]=f[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}}n=n+1|0}while((n|0)!=(_|0))}while(0)a=_-k|0;if((b|0)>0){s=(k|0)>0;l=g+(w<<2)|0;o=(a|0)>0;u=g+((w^1)<<2)|0;c=0;do{n=ie(c,y)|0;r=E+(n<<2)|0;if(m){e=0;do{f[g+(e<<2)>>2]=f[E+(e+n<<2)>>2];e=e+1|0}while((e|0)!=(_|0))}Do[i&3](g,a,k,w);if(s){t=0;e=l;while(1){f[r>>2]=f[e>>2];t=t+1|0;if((t|0)==(k|0))break;else{r=r+4|0;e=e+8|0}}}if(o){t=0;e=E+(n+k<<2)|0;r=u;while(1){f[e>>2]=f[r>>2];t=t+1|0;if((t|0)==(a|0))break;else{e=e+4|0;r=r+8|0}}}c=c+1|0}while((c|0)!=(b|0))}if(!v)break;else{e=p;v=v+-1|0;p=p+-136|0}}}Yn(g);i=1;return i|0}function Oa(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0;l=f[e>>2]|0;o=f[e+4>>2]|0;u=f[e+8>>2]|0;if(!(f[e+12>>2]|0)){t=(o|0)>0;if(!(t|(u|0)>1))return;if((u|0)>0){i=l+4|0;r=(o<<1)+-1|0;n=0;do{if((n|0)<1)e=i;else e=l+((((n|0)>(o|0)?o:n)<<1)+-1<<2)|0;a=n<<1;s=l+(a<<2)|0;f[s>>2]=(f[s>>2]|0)-((f[e>>2]|0)+2+(f[l+(((n|0)<(o|0)?a|1:r)<<2)>>2]|0)>>2);n=n+1|0}while((n|0)!=(u|0))}if(!t)return;e=l+((u<<1)+-2<<2)|0;i=0;do{a=i<<1;n=i;i=i+1|0;s=l+((a|1)<<2)|0;f[s>>2]=((f[((i|0)<(u|0)?l+(i<<1<<2)|0:e)>>2]|0)+(f[((n|0)<(u|0)?l+(a<<2)|0:e)>>2]|0)>>1)+(f[s>>2]|0)}while((i|0)!=(o|0))return}if((o|0)==1&(u|0)==0){f[l>>2]=(f[l>>2]|0)/2|0;return}if((u|0)>0){e=l+((o<<1)+-2<<2)|0;i=0;do{a=i<<1;n=i;i=i+1|0;s=l+((a|1)<<2)|0;f[s>>2]=(f[s>>2]|0)-((f[((n|0)<(o|0)?l+(a<<2)|0:e)>>2]|0)+2+(f[((i|0)<(o|0)?l+(i<<1<<2)|0:e)>>2]|0)>>2)}while((i|0)!=(u|0))}if((o|0)<=0)return;i=l+4|0;r=(u<<1)+-1|0;t=l+(r<<2)|0;s=0;do{n=s<<1;a=f[l+(((s|0)<(u|0)?n|1:r)<<2)>>2]|0;if((s|0)>=1)if((s|0)>(u|0))e=t;else e=l+(n+-1<<2)|0;else e=i;n=l+(n<<2)|0;f[n>>2]=((f[e>>2]|0)+a>>1)+(f[n>>2]|0);s=s+1|0}while((s|0)!=(o|0))return}function La(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0;if(!t){o=(i|0)>0;if(!(o|(r|0)>1))return;if(o){t=e+((r<<1)+-2<<2)|0;n=0;do{d=n;n=n+1|0;c=(f[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(f[((d|0)<(r|0)?e+(d<<1<<2)|0:t)>>2]|0)|0;c=Yl(c|0,((c|0)<0)<<31>>31|0,12993,0)|0;c=Il(c|0,D|0,4096,0)|0;c=Bl(c|0,D|0,13)|0;d=e+((d<<1|1)<<2)|0;f[d>>2]=(f[d>>2]|0)-c}while((n|0)!=(i|0))}l=(r|0)>0;if(l){n=e+4|0;a=(i<<1)+-1|0;s=0;do{if((s|0)<1)t=n;else t=e+((((s|0)>(i|0)?i:s)<<1)+-1<<2)|0;c=(f[e+(((s|0)<(i|0)?s<<1|1:a)<<2)>>2]|0)+(f[t>>2]|0)|0;c=Yl(c|0,((c|0)<0)<<31>>31|0,434,0)|0;c=Il(c|0,D|0,4096,0)|0;c=Bl(c|0,D|0,13)|0;d=e+(s<<1<<2)|0;f[d>>2]=(f[d>>2]|0)-c;s=s+1|0}while((s|0)!=(r|0))}if(o){t=e+((r<<1)+-2<<2)|0;n=0;do{d=n;n=n+1|0;c=(f[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(f[((d|0)<(r|0)?e+(d<<1<<2)|0:t)>>2]|0)|0;c=Yl(c|0,((c|0)<0)<<31>>31|0,7233,0)|0;c=Il(c|0,D|0,4096,0)|0;c=Bl(c|0,D|0,13)|0;d=e+((d<<1|1)<<2)|0;f[d>>2]=c+(f[d>>2]|0)}while((n|0)!=(i|0))}if(l){n=e+4|0;a=(i<<1)+-1|0;s=0;do{if((s|0)<1)t=n;else t=e+((((s|0)>(i|0)?i:s)<<1)+-1<<2)|0;c=(f[e+(((s|0)<(i|0)?s<<1|1:a)<<2)>>2]|0)+(f[t>>2]|0)|0;c=Yl(c|0,((c|0)<0)<<31>>31|0,3633,0)|0;c=Il(c|0,D|0,4096,0)|0;c=Bl(c|0,D|0,13)|0;d=e+(s<<1<<2)|0;f[d>>2]=c+(f[d>>2]|0);s=s+1|0}while((s|0)!=(r|0))}if(o){t=0;do{d=e+((t<<1|1)<<2)|0;c=f[d>>2]|0;c=Yl(c|0,((c|0)<0)<<31>>31|0,5038,0)|0;c=Il(c|0,D|0,4096,0)|0;c=Bl(c|0,D|0,13)|0;f[d>>2]=c;t=t+1|0}while((t|0)!=(i|0))}if(l)t=0;else return;do{i=e+(t<<1<<2)|0;d=f[i>>2]|0;d=Yl(d|0,((d|0)<0)<<31>>31|0,6659,0)|0;d=Il(d|0,D|0,4096,0)|0;d=Bl(d|0,D|0,13)|0;f[i>>2]=d;t=t+1|0}while((t|0)!=(r|0))return}d=(r|0)>0;if(!((i|0)>1|d))return;c=(i|0)>0;if(c){n=e+4|0;a=(r<<1)+-1|0;s=e+(a<<2)|0;u=0;do{l=u<<1;o=f[e+(((u|0)<(r|0)?l|1:a)<<2)>>2]|0;if((u|0)>=1)if((u|0)>(r|0))t=s;else t=e+(l+-1<<2)|0;else t=n;t=(f[t>>2]|0)+o|0;t=Yl(t|0,((t|0)<0)<<31>>31|0,12993,0)|0;t=Il(t|0,D|0,4096,0)|0;t=Bl(t|0,D|0,13)|0;o=e+(l<<2)|0;f[o>>2]=(f[o>>2]|0)-t;u=u+1|0}while((u|0)!=(i|0))}if(d){t=e+((i<<1)+-2<<2)|0;n=0;do{u=n;n=n+1|0;o=(f[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)+(f[((u|0)<(i|0)?e+(u<<1<<2)|0:t)>>2]|0)|0;o=Yl(o|0,((o|0)<0)<<31>>31|0,434,0)|0;o=Il(o|0,D|0,4096,0)|0;o=Bl(o|0,D|0,13)|0;u=e+((u<<1|1)<<2)|0;f[u>>2]=(f[u>>2]|0)-o}while((n|0)!=(r|0))}if(c){n=e+4|0;a=(r<<1)+-1|0;s=e+(a<<2)|0;u=0;do{l=u<<1;o=f[e+(((u|0)<(r|0)?l|1:a)<<2)>>2]|0;if((u|0)>=1)if((u|0)>(r|0))t=s;else t=e+(l+-1<<2)|0;else t=n;t=(f[t>>2]|0)+o|0;t=Yl(t|0,((t|0)<0)<<31>>31|0,7233,0)|0;t=Il(t|0,D|0,4096,0)|0;t=Bl(t|0,D|0,13)|0;o=e+(l<<2)|0;f[o>>2]=t+(f[o>>2]|0);u=u+1|0}while((u|0)!=(i|0))}if(d){t=e+((i<<1)+-2<<2)|0;n=0;do{u=n;n=n+1|0;o=(f[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)+(f[((u|0)<(i|0)?e+(u<<1<<2)|0:t)>>2]|0)|0;o=Yl(o|0,((o|0)<0)<<31>>31|0,3633,0)|0;o=Il(o|0,D|0,4096,0)|0;o=Bl(o|0,D|0,13)|0;u=e+((u<<1|1)<<2)|0;f[u>>2]=o+(f[u>>2]|0)}while((n|0)!=(r|0))}if(c){t=0;do{c=e+(t<<1<<2)|0;u=f[c>>2]|0;u=Yl(u|0,((u|0)<0)<<31>>31|0,5038,0)|0;u=Il(u|0,D|0,4096,0)|0;u=Bl(u|0,D|0,13)|0;f[c>>2]=u;t=t+1|0}while((t|0)!=(i|0))}if(d)t=0;else return;do{i=e+((t<<1|1)<<2)|0;d=f[i>>2]|0;d=Yl(d|0,((d|0)<0)<<31>>31|0,6659,0)|0;d=Il(d|0,D|0,4096,0)|0;d=Bl(d|0,D|0,13)|0;f[i>>2]=d;t=t+1|0}while((t|0)!=(r|0))return}function Ia(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0;d=f[e>>2]|0;l=f[e+12>>2]|0;w=f[e+8>>2]|0;h=r*3|0;c=1-l|0;u=e+4|0;o=w;e=0;while(1){s=d+(l<<4)|0;if(((o+h|0)<(t|0)?(i&15|0)==0:0)?((s|r)&15|0)==0:0){if((o|0)>0){n=0;do{s=n<<3;f[d+(l<<4)+(s<<2)>>2]=f[i+(n<<2)>>2];a=n+r|0;f[d+(l<<4)+((s|1)<<2)>>2]=f[i+(a<<2)>>2];a=a+r|0;f[d+(l<<4)+((s|2)<<2)>>2]=f[i+(a<<2)>>2];f[d+(l<<4)+((s|3)<<2)>>2]=f[i+(a+r<<2)>>2];n=n+1|0}while((n|0)!=(o|0))}}else m=3;if((m|0)==3?(m=0,(o|0)>0):0){s=0;do{n=s<<3;f[d+(l<<4)+(n<<2)>>2]=f[i+(s<<2)>>2];a=s+r|0;if(((a|0)<(t|0)?(f[d+(l<<4)+((n|1)<<2)>>2]=f[i+(a<<2)>>2],b=a+r|0,(b|0)<(t|0)):0)?(f[d+(l<<4)+((n|2)<<2)>>2]=f[i+(b<<2)>>2],k=b+r|0,(k|0)<(t|0)):0)f[d+(l<<4)+((n|3)<<2)>>2]=f[i+(k<<2)>>2];s=s+1|0}while((s|0)!=(o|0))}e=e+1|0;if((e|0)==2)break;else{i=i+(w<<2)|0;t=t-w|0;l=c;o=f[u>>2]|0}}return}function Ba(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,u=0,c=0,d=0,h=0,b=0,k=0;do if(!(f[e+12>>2]|0)){r=f[e+8>>2]|0;if((f[e+4>>2]|0)>0){i=f[e>>2]|0;if((r|0)>0){s=0;n=1;l=9;break}else{s=0;a=1;break}}if((r|0)>1){t=0;n=1;l=7}else return}else{r=f[e+8>>2]|0;if((r|0)<=0)if((f[e+4>>2]|0)>1){i=f[e>>2]|0;s=1;a=0;break}else return;else{t=1;n=0;l=7}}while(0)if((l|0)==7){i=f[e>>2]|0;s=t;l=9}if((l|0)==9){t=0;do{l=t<<3;b=i+(s<<4)+(l<<2)|0;d=i+(s<<4)+((l|1)<<2)|0;h=+o[d>>2];a=i+(s<<4)+((l|2)<<2)|0;c=+o[a>>2];l=i+(s<<4)+((l|3)<<2)|0;u=+o[l>>2];o[b>>2]=+o[b>>2]*1.2301740646362305;o[d>>2]=h*1.2301740646362305;o[a>>2]=c*1.2301740646362305;o[l>>2]=u*1.2301740646362305;t=t+1|0}while((t|0)!=(r|0))a=n}t=f[e+4>>2]|0;if((t|0)>0){n=0;do{b=n<<3;l=i+(a<<4)+(b<<2)|0;e=i+(a<<4)+((b|1)<<2)|0;u=+o[e>>2];d=i+(a<<4)+((b|2)<<2)|0;c=+o[d>>2];b=i+(a<<4)+((b|3)<<2)|0;h=+o[b>>2];o[l>>2]=+o[l>>2]*1.625732421875;o[e>>2]=u*1.625732421875;o[d>>2]=c*1.625732421875;o[b>>2]=h*1.625732421875;n=n+1|0}while((n|0)!=(t|0))}k=i+(a<<4)|0;n=i+(s+1<<4)|0;l=t-s|0;l=(r|0)<(l|0)?r:l;Na(k,n,r,l,-.4435068666934967);e=i+(s<<4)|0;d=i+(a+1<<4)|0;b=r-a|0;b=(t|0)<(b|0)?t:b;Na(e,d,t,b,-.8829110860824585);Na(k,n,r,l,.05298011749982834);Na(e,d,t,b,1.5861343145370483);return}function Na(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0,a=0,s=0,l=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0;if((t|0)>0){d=t<<1;c=d+-2|0;a=+o[e>>2];s=+o[e+4>>2];l=+o[e+8>>2];f=+o[e+12>>2];e=i;u=0;while(1){y=e+-16|0;p=e+-12|0;g=+o[p>>2];w=e+-8|0;_=+o[w>>2];h=e+-4|0;k=+o[h>>2];E=a;a=+o[e>>2];v=s;s=+o[e+4>>2];m=l;l=+o[e+8>>2];b=f;f=+o[e+12>>2];o[y>>2]=+o[y>>2]+(E+a)*n;o[p>>2]=g+(v+s)*n;o[w>>2]=_+(m+l)*n;o[h>>2]=k+(b+f)*n;u=u+1|0;if((u|0)==(t|0))break;else e=e+32|0}e=i+(c<<4)|0;i=i+(d<<4)|0}if((t|0)>=(r|0))return;f=n+n;a=f*+o[e>>2];s=f*+o[e+4>>2];l=f*+o[e+8>>2];f=f*+o[e+12>>2];while(1){h=i+-16|0;w=i+-12|0;v=+o[w>>2];p=i+-8|0;g=+o[p>>2];y=i+-4|0;E=+o[y>>2];o[h>>2]=a+ +o[h>>2];o[w>>2]=s+v;o[p>>2]=l+g;o[y>>2]=f+E;t=t+1|0;if((t|0)==(r|0))break;else i=i+32|0}return}function Fa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0;E=r<<2;A=Nn(r<<4)|0;if(!A){e=0;return e|0}S=A+E|0;Ol(A|0,0,E|0)|0;g=r+-1|0;v=(r|0)==0;if(!v){t=0;n=A;while(1){f[n>>2]=t;t=t+1|0;if((t|0)==(r|0))break;else n=n+4|0}}e:do if(g){w=g;l=0;t=0;m=e;_=1;p=A;while(1){u=m+(l<<2)|0;if(l>>>0<r>>>0){s=l;n=u;a=0}else break;while(1){b=+o[n>>2];b=b>0?b:-b;y=b>a;t=y?s:t;a=y?b:a;s=s+1|0;if((s|0)==(r|0))break;else n=n+(r<<2)|0}if(a==0)break;if((t|0)!=(l|0)){y=t-l|0;k=p+(y<<2)|0;h=f[p>>2]|0;f[p>>2]=f[k>>2];f[k>>2]=h;y=m+((ie(y,r)|0)<<2)|0;Nl(S|0,y|0,E|0)|0;Nl(y|0,m|0,E|0)|0;Nl(m|0,S|0,E|0)|0}n=l;k=l+1|0;b=+o[u>>2];if(_>>>0<r>>>0){c=m+(k<<2)|0;h=k+w|0;d=_;s=m+(n+r<<2)|0;while(1){a=+o[s>>2]/b;o[s>>2]=a;n=_;l=s;u=c;while(1){l=l+4|0;o[l>>2]=+o[l>>2]-a*+o[u>>2];n=n+1|0;if((n|0)==(r|0))break;else u=u+4|0}d=d+1|0;if((d|0)==(r|0))break;else s=s+(h<<2)|0}}if(k>>>0<g>>>0){w=w+-1|0;l=k;m=m+(r<<2)|0;_=_+1|0;p=p+4|0}else break e}Yn(A);e=0;return e|0}while(0)t=r<<1;y=S+(t<<2)|0;if(!v){v=S+(g+r<<2)|0;w=S+(t+g<<2)|0;m=e+((ie(r,r)|0)+-1<<2)|0;_=~r;p=0;k=i;while(1){Ol(S|0,0,E|0)|0;o[S+(p<<2)>>2]=1;l=0;u=1;c=A;d=y;h=e;while(1){if(!l)a=0;else{t=1;n=y;s=h;a=0;while(1){a=a+ +o[s>>2]*+o[n>>2];t=t+1|0;if((t|0)==(u|0))break;else{n=n+4|0;s=s+4|0}}}o[d>>2]=+o[S+(f[c>>2]<<2)>>2]-a;l=l+1|0;if((l|0)==(r|0)){l=r;u=v;c=y;d=w;h=m;break}else{u=u+1|0;c=c+4|0;d=d+4|0;h=h+(r<<2)|0}}while(1){t=l;l=l+-1|0;b=+o[h>>2];if(t>>>0<r>>>0){n=c;s=h;a=0;while(1){s=s+4|0;a=a+ +o[s>>2]*+o[n>>2];t=t+1|0;if((t|0)==(r|0))break;else n=n+4|0}}else a=0;c=c+-4|0;o[u>>2]=(+o[d>>2]-a)/b;if(!l){t=0;n=k;break}else{u=u+-4|0;d=d+-4|0;h=h+(_<<2)|0}}while(1){f[n>>2]=f[S+(t+r<<2)>>2];t=t+1|0;if((t|0)==(r|0))break;else n=n+(r<<2)|0}p=p+1|0;if((p|0)==(r|0))break;else k=k+4|0}}Yn(A);e=1;return e|0}function ja(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;a=Fn(1,44)|0;if(!a){a=0;return a|0}s=Za()|0;f[a>>2]=s;if(!s){$a(0);f[a>>2]=0;s=a+4|0;ks(f[s>>2]|0);f[s>>2]=0;if((f[a+40>>2]|0)==0?(r=a+8|0,i=f[r>>2]|0,(i|0)!=0):0){Un(i);f[r>>2]=0}i=a+12|0;r=f[i>>2]|0;if(r){Un(r);f[i>>2]=0}Yn(a);s=0;return s|0}s=bs()|0;i=a+4|0;f[i>>2]=s;if(s){f[a+40>>2]=e;s=a;return s|0}$a(f[a>>2]|0);f[a>>2]=0;ks(f[i>>2]|0);f[i>>2]=0;if((f[a+40>>2]|0)==0?(t=a+8|0,n=f[t>>2]|0,(n|0)!=0):0){Un(n);f[t>>2]=0}i=a+12|0;r=f[i>>2]|0;if(r){Un(r);f[i>>2]=0}Yn(a);s=0;return s|0}function Ua(e){e=e|0;var i=0,r=0,t=0;if(!e)return;$a(f[e>>2]|0);f[e>>2]=0;t=e+4|0;ks(f[t>>2]|0);f[t>>2]=0;if((f[e+40>>2]|0)==0?(i=e+8|0,r=f[i>>2]|0,(r|0)!=0):0){Un(r);f[i>>2]=0}i=e+12|0;r=f[i>>2]|0;if(r){Un(r);f[i>>2]=0}Yn(e);return}function Ha(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,l=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0,W=0,J=0,Q=0,Z=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0,de=0,he=0,be=0,ke=0,we=0,me=0,_e=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Se=0,Te=0,Me=0,Ce=0,Pe=0;Ae=(f[i+8>>2]|0)-(f[i>>2]|0)|0;Se=i+20|0;t=f[Se>>2]|0;if(!t){e=1;return e|0}Te=i+24|0;Me=r+808|0;Ce=r+16|0;pe=e+4|0;ge=e+8|0;ye=e+16|0;Ee=e+20|0;_e=r+20|0;ke=i+32|0;we=e+32|0;me=e+12|0;r=t;be=0;e:while(1){de=f[Te>>2]|0;he=de+(be*136|0)+24|0;i=f[he>>2]|0;if(i){oe=de+(be*136|0)+16|0;ue=de+(be*136|0)+20|0;ce=be+-1|0;r=f[ue>>2]|0;t=f[oe>>2]|0;le=0;do{if(ie(r,t)|0){te=de+(be*136|0)+28+(le*36|0)+20|0;ne=de+(be*136|0)+28+(le*36|0)+16|0;fe=de+(be*136|0)+28+(le*36|0)|0;ae=de+(be*136|0)+28+(le*36|0)+4|0;se=de+(be*136|0)+28+(le*36|0)+32|0;re=0;do{i=f[te>>2]|0;$=i+(re*40|0)+16|0;ee=i+(re*40|0)+20|0;if(ie(f[ee>>2]|0,f[$>>2]|0)|0){Q=i+(re*40|0)+24|0;Z=0;do{r=f[Q>>2]|0;z=f[ne>>2]|0;l=f[Me>>2]|0;i=f[Ce>>2]|0;X=f[pe>>2]|0;G=f[e>>2]|0;V=r+(Z*56|0)+8|0;J=r+(Z*56|0)+12|0;if(!(qa(e,(f[r+(Z*56|0)+16>>2]|0)-(f[V>>2]|0)|0,(f[r+(Z*56|0)+20>>2]|0)-(f[J>>2]|0)|0)|0)){r=0;R=201;break e}K=r+(Z*56|0)+24|0;u=f[K>>2]|0;ss(G);ls(G,18,0,46);ls(G,17,0,3);ls(G,0,0,4);W=r+(Z*56|0)+48|0;t=f[W>>2]|0;if(t){j=r+(Z*56|0)+4|0;U=(i&1|0)!=0;H=(i&2|0)==0;Y=(i&8|0)==0;q=z<<8;F=(i&32|0)==0;i=u+l|0;r=2;N=0;do{u=f[j>>2]|0;B=U&(r>>>0<2?(i|0)<=((f[K>>2]|0)+-4|0):0);l=f[u+(N<<5)>>2]|0;if(l){t=(f[l>>2]|0)+(f[u+(N<<5)+4>>2]|0)|0;l=f[u+(N<<5)+16>>2]|0;if(!B){if(!(ds(G,t,l)|0)){r=0;R=201;break e}}else ws(X,t,l);L=u+(N<<5)+12|0;i:do if(f[L>>2]|0){I=H|B;O=0;while(1){r:do switch(r|0){case 0:{if(B){y=1<<i;y=y>>1|y;l=f[Ee>>2]|0;if(!l)break r;g=0-y|0;t=f[ye>>2]|0;v=0;while(1){p=v;v=v+4|0;if(!t)t=0;else{w=(p|0)==-4;m=p|3;_=0;do{t:do if(!w)if(Y){b=p;do{if(b>>>0>=(f[Ee>>2]|0)>>>0)break t;d=b;b=b+1|0;t=(ie(f[we>>2]|0,b)|0)+_|0;l=t+1|0;u=f[me>>2]|0;c=u+(l<<1)|0;d=(ie(f[ye>>2]|0,d)|0)+_|0;d=(f[ge>>2]|0)+(d<<2)|0;h=f[pe>>2]|0;R=n[c>>1]|0;if((R&255|0)!=0&(R&20480|0)==0){if(ms(h)|0){P=ms(h)|0;f[d>>2]=(P|0)!=0?g:y;D=f[we>>2]|0;R=u+(l-D<<1)|0;x=u+(D+l<<1)|0;C=u+(l+~D<<1)|0;n[C>>1]=s[C>>1]|2;n[R>>1]=n[R>>1]|n[3436+(P<<1)>>1];R=t+2|0;C=u+(R-D<<1)|0;n[C>>1]=s[C>>1]|4;C=u+(t<<1)|0;n[C>>1]=n[C>>1]|n[3436+(P+2<<1)>>1];n[c>>1]=s[c>>1]|4096;C=u+(R<<1)|0;n[C>>1]=n[C>>1]|n[3436+(P+4<<1)>>1];C=u+(D+t<<1)|0;n[C>>1]=s[C>>1]|1;n[x>>1]=n[x>>1]|n[3436+(P+6<<1)>>1];R=u+(D+R<<1)|0;n[R>>1]=s[R>>1]|8}n[c>>1]=s[c>>1]|16384}}while(b>>>0<v>>>0)}else{k=p;do{t=f[Ee>>2]|0;if(k>>>0>=t>>>0)break t;D=k;k=k+1|0;l=(ie(f[we>>2]|0,k)|0)+_|0;u=l+1|0;c=f[me>>2]|0;d=c+(u<<1)|0;h=(ie(f[ye>>2]|0,D)|0)+_|0;h=(f[ge>>2]|0)+(h<<2)|0;b=f[pe>>2]|0;R=n[d>>1]|0;R=(D|0)==(m|0)|(D|0)==(t+-1|0)?R&-1095:R;if((R&255|0)!=0&(R&20480|0)==0){if(ms(b)|0){P=ms(b)|0;f[h>>2]=(P|0)!=0?g:y;D=f[we>>2]|0;R=c+(u-D<<1)|0;x=c+(D+u<<1)|0;C=c+(u+~D<<1)|0;n[C>>1]=s[C>>1]|2;n[R>>1]=n[R>>1]|n[3436+(P<<1)>>1];R=l+2|0;C=c+(R-D<<1)|0;n[C>>1]=s[C>>1]|4;C=c+(l<<1)|0;n[C>>1]=n[C>>1]|n[3436+(P+2<<1)>>1];n[d>>1]=s[d>>1]|4096;C=c+(R<<1)|0;n[C>>1]=n[C>>1]|n[3436+(P+4<<1)>>1];C=c+(D+l<<1)|0;n[C>>1]=s[C>>1]|1;n[x>>1]=n[x>>1]|n[3436+(P+6<<1)>>1];R=c+(D+R<<1)|0;n[R>>1]=s[R>>1]|8}n[d>>1]=s[d>>1]|16384}}while(k>>>0<v>>>0)}while(0)_=_+1|0;t=f[ye>>2]|0}while(_>>>0<t>>>0)l=f[Ee>>2]|0}if(v>>>0>=l>>>0){R=163;break r}}}if(Y){u=f[ge>>2]|0;c=(f[me>>2]|0)+2|0;m=1<<i;m=m>>1|m;t=f[Ee>>2]|0;l=f[ye>>2]|0;if(t>>>0>3){b=l;h=0;while(1){if(!l){l=b;d=0}else{l=0;do{R=(f[we>>2]|0)+l|0;za(e,c+(R<<1)|0,u+(l<<2)|0,z,m);t=(f[ye>>2]|0)+l|0;R=(f[we>>2]|0)+R|0;za(e,c+(R<<1)|0,u+(t<<2)|0,z,m);t=(f[ye>>2]|0)+t|0;R=(f[we>>2]|0)+R|0;za(e,c+(R<<1)|0,u+(t<<2)|0,z,m);za(e,c+((f[we>>2]|0)+R<<1)|0,u+((f[ye>>2]|0)+t<<2)|0,z,m);l=l+1|0;t=f[ye>>2]|0}while(l>>>0<t>>>0)l=t;d=t;t=f[Ee>>2]|0}u=u+(d<<2<<2)|0;c=c+(f[we>>2]<<2<<1)|0;h=h+4|0;if(h>>>0<(t&-4)>>>0){b=l;l=d}else{w=c;k=h;break}}}else{w=c;k=0}if(!l){R=163;break r}else b=0;while(1){if(k>>>0<t>>>0){c=u+(b<<2)|0;d=w+(b<<1)|0;h=k;while(1){d=d+(f[we>>2]<<1)|0;za(e,d,c,z,m);l=f[ye>>2]|0;h=h+1|0;t=f[Ee>>2]|0;if(h>>>0>=t>>>0)break;else c=c+(l<<2)|0}}b=b+1|0;if(b>>>0>=l>>>0){R=163;break r}}}y=1<<i;y=y>>1|y;t=f[Ee>>2]|0;if(!t){R=163;break r}E=0-y|0;l=f[ye>>2]|0;c=l;g=0;while(1){v=g;g=g+4|0;do if(!l){u=c;l=0}else{p=v|3;if((v|0)==-4){u=c;l=c;break}else _=0;do{m=v;do{t=f[Ee>>2]|0;if(m>>>0>=t>>>0)break;R=m;m=m+1|0;c=(ie(f[we>>2]|0,m)|0)+_|0;d=c+1|0;h=f[me>>2]|0;b=h+(d<<1)|0;k=(ie(f[ye>>2]|0,R)|0)+_|0;k=(f[ge>>2]|0)+(k<<2)|0;w=f[e>>2]|0;l=n[b>>1]|0;t=(R|0)==(p|0)|(R|0)==(t+-1|0)?l&-1095:l;l=t&255;if((l|0)!=0&(t&20480|0)==0){u=w+100|0;f[u>>2]=w+24+(a[20267+(l|q)>>0]<<2);if(hs(w)|0){D=t>>>4&255;f[u>>2]=w+24+(a[21291+D>>0]<<2);R=hs(w)|0;D=a[21547+D>>0]|0;P=D^R;f[k>>2]=(R|0)!=(D|0)?E:y;D=f[we>>2]|0;R=h+(d-D<<1)|0;x=h+(D+d<<1)|0;C=h+(d+~D<<1)|0;n[C>>1]=s[C>>1]|2;n[R>>1]=n[R>>1]|n[3436+(P<<1)>>1];R=c+2|0;C=h+(R-D<<1)|0;n[C>>1]=s[C>>1]|4;C=h+(c<<1)|0;n[C>>1]=n[C>>1]|n[3436+(P+2<<1)>>1];n[b>>1]=s[b>>1]|4096;C=h+(R<<1)|0;n[C>>1]=n[C>>1]|n[3436+(P+4<<1)>>1];C=h+(D+c<<1)|0;n[C>>1]=s[C>>1]|1;n[x>>1]=n[x>>1]|n[3436+(P+6<<1)>>1];R=h+(D+R<<1)|0;n[R>>1]=s[R>>1]|8}n[b>>1]=s[b>>1]|16384}}while(m>>>0<g>>>0)_=_+1|0;t=f[ye>>2]|0}while(_>>>0<t>>>0)u=t;l=t;t=f[Ee>>2]|0}while(0)if(g>>>0>=t>>>0){R=163;break}else c=u}break}case 1:{if(B){w=1<<i>>1;m=(i|0)>0?0-w|0:-1;l=f[Ee>>2]|0;if(!l)break r;u=f[ye>>2]|0;t=u;k=0;while(1){b=k;k=k+4|0;if(!u){c=t;u=0}else{h=(b|0)==-4;d=0;do{c=d;d=d+1|0;if(!h){u=b;do{if(u>>>0>=(f[Ee>>2]|0)>>>0)break;l=u;u=u+1|0;t=(ie(f[we>>2]|0,u)|0)+d|0;t=(f[me>>2]|0)+(t<<1)|0;l=(ie(f[ye>>2]|0,l)|0)+c|0;l=(f[ge>>2]|0)+(l<<2)|0;if((n[t>>1]&20480)==4096){D=(ms(f[pe>>2]|0)|0)!=0;D=D?w:m;R=f[l>>2]|0;f[l>>2]=((R|0)<0?0-D|0:D)+R;n[t>>1]=s[t>>1]|8192}}while(u>>>0<k>>>0)t=f[ye>>2]|0}}while(d>>>0<t>>>0)c=t;u=t;l=f[Ee>>2]|0}if(k>>>0>=l>>>0){R=163;break r}else t=c}}if(!Y){p=1<<i>>1;v=(i|0)>0?0-p|0:-1;t=f[Ee>>2]|0;if(!t){R=163;break r}l=f[ye>>2]|0;u=l;_=0;while(1){m=_;_=_+4|0;if(!l)l=0;else{k=(m|0)==-4;w=m|3;t=u;b=0;do{h=b;b=b+1|0;if(!k){c=m;do{t=f[Ee>>2]|0;if(c>>>0>=t>>>0)break;D=c;c=c+1|0;l=(ie(f[we>>2]|0,c)|0)+b|0;l=(f[me>>2]|0)+(l<<1)|0;u=(ie(f[ye>>2]|0,D)|0)+h|0;u=(f[ge>>2]|0)+(u<<2)|0;d=f[e>>2]|0;R=n[l>>1]|0;t=(D|0)==(w|0)|(D|0)==(t+-1|0)?R&-1095:R;if((t&20480|0)==4096){f[d+100>>2]=d+24+(((t&8192|0)!=0?16:(t&255|0)!=0?15:14)<<2);D=(hs(d)|0)!=0;D=D?p:v;R=f[u>>2]|0;f[u>>2]=((R|0)<0?0-D|0:D)+R;n[l>>1]=s[l>>1]|8192}}while(c>>>0<_>>>0)t=f[ye>>2]|0}}while(b>>>0<t>>>0)u=t;l=t;t=f[Ee>>2]|0}if(_>>>0>=t>>>0){R=163;break r}}}u=f[ge>>2]|0;c=(f[me>>2]|0)+2|0;g=1<<i>>1;y=(i|0)>0?0-g|0:-1;t=f[Ee>>2]|0;l=f[ye>>2]|0;if(t>>>0>3){h=l;p=c;v=0;while(1){if(!l){l=h;d=0}else{t=h;_=0;do{l=u+(_<<2)|0;h=f[we>>2]|0;k=h+_|0;c=p+(k<<1)|0;b=f[e>>2]|0;d=n[c>>1]|0;if((d&20480|0)==4096){f[b+100>>2]=b+24+(((d&8192|0)!=0?16:(d&255|0)!=0?15:14)<<2);h=(hs(b)|0)!=0;h=h?g:y;t=f[l>>2]|0;f[l>>2]=((t|0)<0?0-h|0:h)+t;n[c>>1]=s[c>>1]|8192;t=f[ye>>2]|0;l=f[we>>2]|0;h=f[e>>2]|0}else{l=h;h=b}w=t+_|0;b=u+(w<<2)|0;m=l+k|0;c=p+(m<<1)|0;d=n[c>>1]|0;if((d&20480|0)==4096){f[h+100>>2]=h+24+(((d&8192|0)!=0?16:(d&255|0)!=0?15:14)<<2);l=(hs(h)|0)!=0;l=l?g:y;t=f[b>>2]|0;f[b>>2]=((t|0)<0?0-l|0:l)+t;n[c>>1]=s[c>>1]|8192;t=f[ye>>2]|0;l=f[we>>2]|0;h=f[e>>2]|0}k=t+w|0;b=u+(k<<2)|0;w=l+m|0;c=p+(w<<1)|0;d=n[c>>1]|0;if((d&20480|0)==4096){f[h+100>>2]=h+24+(((d&8192|0)!=0?16:(d&255|0)!=0?15:14)<<2);l=(hs(h)|0)!=0;l=l?g:y;t=f[b>>2]|0;f[b>>2]=((t|0)<0?0-l|0:l)+t;n[c>>1]=s[c>>1]|8192;t=f[ye>>2]|0;l=f[we>>2]|0;h=f[e>>2]|0}d=u+(t+k<<2)|0;l=p+(l+w<<1)|0;c=n[l>>1]|0;if((c&20480|0)==4096){f[h+100>>2]=h+24+(((c&8192|0)!=0?16:(c&255|0)!=0?15:14)<<2);R=(hs(h)|0)!=0;R=R?g:y;t=f[d>>2]|0;f[d>>2]=((t|0)<0?0-R|0:R)+t;n[l>>1]=s[l>>1]|8192;t=f[ye>>2]|0}_=_+1|0}while(_>>>0<t>>>0)l=t;d=t;t=f[Ee>>2]|0}u=u+(d<<2<<2)|0;c=p+(f[we>>2]<<2<<1)|0;b=v+4|0;if(b>>>0<(t&-4)>>>0){h=l;l=d;p=c;v=b}else{_=b;break}}}else _=0;if(!l){R=163;break r}else m=0;do{if(_>>>0<t>>>0){b=u+(m<<2)|0;k=c+(m<<1)|0;w=_;while(1){k=k+(f[we>>2]<<1)|0;h=f[e>>2]|0;d=n[k>>1]|0;if((d&20480|0)==4096){f[h+100>>2]=h+24+(((d&8192|0)!=0?16:(d&255|0)!=0?15:14)<<2);t=(hs(h)|0)!=0;t=t?g:y;d=f[b>>2]|0;f[b>>2]=((d|0)<0?0-t|0:t)+d;n[k>>1]=s[k>>1]|8192;d=f[ye>>2]|0;t=f[Ee>>2]|0}else d=l;w=w+1|0;if(w>>>0>=t>>>0){l=d;break}else{l=d;b=b+(d<<2)|0}}}m=m+1|0}while(m>>>0<l>>>0)R=163;break}case 2:{x=f[e>>2]|0;D=1<<i;D=D>>1|D;do if(Y){u=f[ge>>2]|0;c=(f[me>>2]|0)+2|0;l=f[Ee>>2]|0;if(l>>>0>3){y=x+92|0;E=x+100|0;A=x+96|0;S=0-D|0;d=f[ye>>2]|0;t=d;b=0;while(1){if(!d)d=0;else{m=b|1;_=m+1|0;p=b|3;v=m+3|0;g=0;do{t=f[we>>2]|0;l=g;g=g+1|0;P=(ie(t,m)|0)+g|0;R=f[me>>2]|0;P=n[R+((ie(t,_)|0)+g<<1)>>1]|n[R+(P<<1)>>1];P=P|n[R+((ie(t,p)|0)+g<<1)>>1];t:do if(!((P|n[R+((ie(t,v)|0)+g<<1)>>1])&20735)){f[E>>2]=y;if(!(hs(x)|0))break;f[E>>2]=A;k=(hs(x)|0)<<1
44
+ ;k=k|(hs(x)|0);if(k>>>0>=4)break;w=u+((ie(f[ye>>2]|0,k)|0)+l<<2)|0;l=c+((ie(f[we>>2]|0,k)|0)+l<<1)|0;h=k;while(1){if(h>>>0>=(f[Ee>>2]|0)>>>0)break t;t=f[we>>2]|0;d=l;l=l+(t<<1)|0;if((h|0)==(k|0)){R=f[e>>2]|0;P=(s[l>>1]|0)>>>4&255;f[R+100>>2]=R+24+(a[21291+P>>0]<<2);R=hs(R)|0;P=a[21547+P>>0]|0;M=P^R;f[w>>2]=(R|0)!=(P|0)?S:D;P=f[we>>2]|0;R=d+(t-P<<1)|0;C=d+(P+t<<1)|0;T=d+(t+~P<<1)|0;n[T>>1]=s[T>>1]|2;n[R>>1]=n[R>>1]|n[3436+(M<<1)>>1];R=t+1|0;T=d+(R-P<<1)|0;n[T>>1]=s[T>>1]|4;T=t+-1|0;t=d+(T<<1)|0;n[t>>1]=n[t>>1]|n[3436+(M+2<<1)>>1];n[l>>1]=s[l>>1]|4096;t=d+(R<<1)|0;n[t>>1]=n[t>>1]|n[3436+(M+4<<1)>>1];T=d+(P+T<<1)|0;n[T>>1]=s[T>>1]|1;n[C>>1]=n[C>>1]|n[3436+(M+6<<1)>>1];R=d+(P+R<<1)|0;n[R>>1]=s[R>>1]|8;n[l>>1]=s[l>>1]&49151}else Xa(e,l,w,z,D);h=h+1|0;if(h>>>0>=4)break;else w=w+(f[ye>>2]<<2)|0}}else{P=t+l|0;Xa(e,c+(P<<1)|0,u+(l<<2)|0,z,D);R=(f[ye>>2]|0)+l|0;P=(f[we>>2]|0)+P|0;Xa(e,c+(P<<1)|0,u+(R<<2)|0,z,D);R=(f[ye>>2]|0)+R|0;P=(f[we>>2]|0)+P|0;Xa(e,c+(P<<1)|0,u+(R<<2)|0,z,D);Xa(e,c+((f[we>>2]|0)+P<<1)|0,u+((f[ye>>2]|0)+R<<2)|0,z,D)}while(0)t=f[ye>>2]|0}while(g>>>0<t>>>0)d=t;l=f[Ee>>2]|0}u=u+(d<<2<<2)|0;c=c+(f[we>>2]<<2<<1)|0;b=b+4|0;if(b>>>0>=(l&-4)>>>0){w=u;k=c;break}}}else{t=f[ye>>2]|0;w=u;k=c;b=0}if(!t)break;else h=0;do{if(b>>>0<l>>>0){u=w+(h<<2)|0;c=k+(h<<1)|0;d=b;while(1){c=c+(f[we>>2]<<1)|0;Xa(e,c,u,z,D);t=f[ye>>2]|0;d=d+1|0;l=f[Ee>>2]|0;if(d>>>0>=l>>>0)break;else u=u+(t<<2)|0}}h=h+1|0}while(h>>>0<t>>>0)}else{t=f[Ee>>2]|0;if(!t)break;T=x+92|0;M=x+100|0;C=x+96|0;P=0-D|0;l=f[ye>>2]|0;S=0;while(1){if(!l){u=S+4|0;l=0}else{g=S|3;y=S|1;E=y+1|0;A=y+3|0;u=S+4|0;v=0;while(1){do if(g>>>0<t>>>0){t=f[we>>2]|0;c=v+1|0;p=(ie(t,y)|0)+c|0;l=f[me>>2]|0;if(n[l+(p<<1)>>1]&20735){p=0;t=0;R=127;break}if(n[l+((ie(t,E)|0)+c<<1)>>1]&20735){p=0;t=0;R=127;break}if(n[l+((ie(t,g)|0)+c<<1)>>1]&20735){p=0;t=0;R=127;break}if(n[l+((ie(t,A)|0)+c<<1)>>1]&20665){p=0;t=0;R=127;break}f[M>>2]=T;if(!(hs(x)|0))break;f[M>>2]=C;t=(hs(x)|0)<<1;p=1;t=t|(hs(x)|0);R=127}else{p=0;t=0;R=127}while(0)if((R|0)==127){R=0;c=t+S|0;t:do if(c>>>0<u>>>0){_=c;do{t=f[Ee>>2]|0;if(_>>>0>=t>>>0)break t;Pe=_;_=_+1|0;d=(ie(f[we>>2]|0,_)|0)+v|0;h=d+1|0;b=f[me>>2]|0;k=b+(h<<1)|0;w=(ie(f[ye>>2]|0,Pe)|0)+v|0;w=(f[ge>>2]|0)+(w<<2)|0;m=f[e>>2]|0;l=n[k>>1]|0;l=(Pe|0)==(g|0)|(Pe|0)==(t+-1|0)?l&-1095:l;do if(!(p&(Pe|0)==(c|0))){if(l&20480)break;t=m+100|0;f[t>>2]=m+24+(a[20267+(l&255|q)>>0]<<2);if(hs(m)|0)R=133}else{t=m+100|0;R=133}while(0)if((R|0)==133){R=0;l=l>>>4&255;f[t>>2]=m+24+(a[21291+l>>0]<<2);Pe=hs(m)|0;m=a[21547+l>>0]|0;l=m^Pe;f[w>>2]=(Pe|0)!=(m|0)?P:D;m=f[we>>2]|0;Pe=b+(h-m<<1)|0;w=b+(m+h<<1)|0;h=b+(h+~m<<1)|0;n[h>>1]=s[h>>1]|2;n[Pe>>1]=n[Pe>>1]|n[3436+(l<<1)>>1];Pe=d+2|0;h=b+(Pe-m<<1)|0;n[h>>1]=s[h>>1]|4;h=b+(d<<1)|0;n[h>>1]=n[h>>1]|n[3436+(l+2<<1)>>1];n[k>>1]=s[k>>1]|4096;h=b+(Pe<<1)|0;n[h>>1]=n[h>>1]|n[3436+(l+4<<1)>>1];h=b+(m+d<<1)|0;n[h>>1]=s[h>>1]|1;n[w>>1]=n[w>>1]|n[3436+(l+6<<1)>>1];Pe=b+(m+Pe<<1)|0;n[Pe>>1]=s[Pe>>1]|8}n[k>>1]=s[k>>1]&49151}while(_>>>0<u>>>0)}while(0)c=v+1|0}l=f[ye>>2]|0;t=f[Ee>>2]|0;if(c>>>0<l>>>0)v=c;else break}}if(u>>>0<t>>>0)S=u;else break}}while(0)if(F){R=163;break r}f[x+100>>2]=x+96;hs(x)|0;hs(x)|0;hs(x)|0;hs(x)|0;R=163;break}default:R=163}while(0)do if((R|0)==163){R=0;if(I)break;ss(G);ls(G,18,0,46);ls(G,17,0,3);ls(G,0,0,4)}while(0)r=r+1|0;Pe=(r|0)==3;i=(Pe<<31>>31)+i|0;r=Pe?0:r;O=O+1|0;if(O>>>0>=(f[L>>2]|0)>>>0)break i}}while(0)t=f[W>>2]|0}N=N+1|0}while(N>>>0<t>>>0)}r=(f[V>>2]|0)-(f[fe>>2]|0)|0;i=(f[J>>2]|0)-(f[ae>>2]|0)|0;t=f[ne>>2]|0;if(t&1){Pe=f[Te>>2]|0;r=(f[Pe+(ce*136|0)+8>>2]|0)+r-(f[Pe+(ce*136|0)>>2]|0)|0}if(t&2){Pe=f[Te>>2]|0;i=(f[Pe+(ce*136|0)+12>>2]|0)+i-(f[Pe+(ce*136|0)+4>>2]|0)|0}k=f[ge>>2]|0;w=f[ye>>2]|0;m=f[Ee>>2]|0;t=f[Me>>2]|0;if((t|0)!=0?(ve=1<<t,(m|0)!=0):0){t=(w|0)==0;b=0;do{if(!t){l=ie(b,w)|0;h=0;do{u=k+(h+l<<2)|0;c=f[u>>2]|0;d=(c|0)>-1?c:0-c|0;if((d|0)>=(ve|0)){Pe=d>>f[Me>>2];f[u>>2]=(c|0)<0?0-Pe|0:Pe}h=h+1|0}while((h|0)!=(w|0))}b=b+1|0}while((b|0)!=(m|0))}h=(ie(i,Ae)|0)+r|0;b=f[ke>>2]|0;r=(m|0)==0;if((f[_e>>2]|0)==1){if(!r){r=(w|0)==0;u=0;do{if(!r){i=ie(u,w)|0;t=(ie(u,Ae)|0)+h|0;l=0;do{f[b+(t+l<<2)>>2]=(f[k+(l+i<<2)>>2]|0)/2|0;l=l+1|0}while((l|0)!=(w|0))}u=u+1|0}while((u|0)!=(m|0))}}else if(!r){d=(w|0)==0;r=k;c=0;u=b+(h<<2)|0;while(1){if(!d){i=r;t=0;l=u;while(1){o[l>>2]=+(f[i>>2]|0)*+o[se>>2];t=t+1|0;if((t|0)==(w|0))break;else{i=i+4|0;l=l+4|0}}r=r+(w<<2)|0}c=c+1|0;if((c|0)==(m|0))break;else u=u+(Ae<<2)|0}}Z=Z+1|0}while(Z>>>0<(ie(f[ee>>2]|0,f[$>>2]|0)|0)>>>0)r=f[ue>>2]|0;t=f[oe>>2]|0}re=re+1|0}while(re>>>0<(ie(r,t)|0)>>>0)i=f[he>>2]|0}le=le+1|0}while(le>>>0<i>>>0)r=f[Se>>2]|0}be=be+1|0;if(be>>>0>=r>>>0){r=1;R=201;break}}if((R|0)==201)return r|0;return 0}function Ya(e,i,r,l,c){e=e|0;i=i|0;r=r|0;l=l|0;c=c|0;var d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0,W=0,J=0,Q=0,Z=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0,le=0,oe=0,ue=0,ce=0,de=0,he=0,be=0,ke=0,we=0,me=0,_e=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Se=0,Te=0,Me=0,Ce=0,Pe=0,xe=0,De=0,Re=0,Oe=0,Le=0,Ie=0,Be=0,Ne=0,Fe=0,je=0,Ue=0,He=0,Ye=0,qe=0,ze=0,Xe=0,Ge=0,Ve=0,Ke=0,We=0,Je=0,Qe=0,Ze=0,$e=0;Je=i+32|0;u[Je>>3]=0;Qe=i+16|0;d=f[Qe>>2]|0;if(!d){Ze=1;return Ze|0}We=i+20|0;ze=r+5584|0;Xe=e+16|0;Ge=e+20|0;Ve=e+8|0;Ke=e+36|0;He=(l|0)!=0;Ye=e+32|0;qe=e+12|0;i=d;Ue=0;e:while(1){r=f[We>>2]|0;d=f[ze>>2]|0;Fe=(f[r+(Ue*52|0)+8>>2]|0)-(f[r+(Ue*52|0)>>2]|0)|0;je=r+(Ue*52|0)+16|0;h=f[je>>2]|0;if(h){Ne=r+(Ue*52|0)+24|0;Ie=r+(Ue*52|0)+32|0;Be=d+(Ue*1080|0)+20|0;Re=d+(Ue*1080|0)+16|0;Le=He&Ue>>>0<c>>>0;Oe=l+(Ue<<3)|0;i=h;De=0;do{Pe=f[Ne>>2]|0;xe=Pe+(De*136|0)+24|0;r=f[xe>>2]|0;if(r){Se=Pe+(De*136|0)+16|0;Te=Pe+(De*136|0)+20|0;Me=~De;Ce=De+-1|0;i=f[Te>>2]|0;d=f[Se>>2]|0;Ae=0;do{Ee=Pe+(De*136|0)+28+(Ae*36|0)+32|0;if(ie(i,d)|0){me=67108864/(~~+H(+(+o[Ee>>2]*8192))|0)|0;_e=Pe+(De*136|0)+28+(Ae*36|0)+20|0;pe=Pe+(De*136|0)+28+(Ae*36|0)|0;ve=Pe+(De*136|0)+28+(Ae*36|0)+4|0;ge=Pe+(De*136|0)+28+(Ae*36|0)+16|0;ye=((me|0)<0)<<31>>31;we=0;do{r=f[_e>>2]|0;be=r+(we*40|0)+16|0;ke=r+(we*40|0)+20|0;if(ie(f[ke>>2]|0,f[be>>2]|0)|0){de=r+(we*40|0)+24|0;he=0;do{ce=f[de>>2]|0;h=f[ce+(he*52|0)+12>>2]|0;i=h-(f[pe>>2]|0)|0;b=f[ce+(he*52|0)+16>>2]|0;r=b-(f[ve>>2]|0)|0;d=f[ge>>2]|0;if(d&1){ue=f[Ne>>2]|0;i=(f[ue+(Ce*136|0)+8>>2]|0)+i-(f[ue+(Ce*136|0)>>2]|0)|0}if(d&2){ue=f[Ne>>2]|0;r=(f[ue+(Ce*136|0)+12>>2]|0)+r-(f[ue+(Ce*136|0)+4>>2]|0)|0}if(!(qa(e,(f[ce+(he*52|0)+20>>2]|0)-h|0,(f[ce+(he*52|0)+24>>2]|0)-b|0)|0)){i=0;Ze=173;break e}k=f[Xe>>2]|0;w=f[Ge>>2]|0;m=Fe-k|0;v=(ie(r,Fe)|0)+i|0;g=f[Ie>>2]|0;f[Ve>>2]=g+(v<<2);f[Ke>>2]=Fe;i=(w|0)==0;if((f[Be>>2]|0)==1){if(!i){h=(k|0)==0;b=0;i=0;while(1){if(!h){r=0;d=i;while(1){ue=g+(d+v<<2)|0;f[ue>>2]=f[ue>>2]<<6;r=r+1|0;if((r|0)==(k|0))break;else d=d+1|0}i=k+i|0}b=b+1|0;if((b|0)==(w|0))break;else i=i+m|0}}}else if(!i){h=(k|0)==0;b=0;i=0;while(1){if(!h){r=0;d=i;while(1){ue=g+(d+v<<2)|0;oe=f[ue>>2]|0;oe=Yl(oe|0,((oe|0)<0)<<31>>31|0,me|0,ye|0)|0;oe=Il(oe|0,D|0,4096,0)|0;oe=Bl(oe|0,D|0,18)|0;f[ue>>2]=oe;r=r+1|0;if((r|0)==(k|0))break;else d=d+1|0}i=k+i|0}b=b+1|0;if((b|0)==(w|0))break;else i=i+m|0}}ae=f[ge>>2]|0;se=(f[je>>2]|0)+Me|0;m=f[Be>>2]|0;le=+o[Ee>>2];oe=f[Re>>2]|0;ue=f[e>>2]|0;h=f[Xe>>2]|0;do if(!h)i=0;else{b=f[Ge>>2]|0;k=(b|0)==0;w=0;i=0;do{if(!k){r=f[Ke>>2]|0;d=0;do{fe=f[g+(v+((ie(d,r)|0)+w)<<2)>>2]|0;fe=(fe|0)>-1?fe:0-fe|0;i=(i|0)>(fe|0)?i:fe;d=d+1|0}while((d|0)!=(b|0))}w=w+1|0}while((w|0)!=(h|0))if(!i){i=0;break}if((i|0)>1){r=i;i=0}else{i=-5;break}while(1){r=r>>1;if((r|0)<=1)break;else i=i+1|0}i=i+-4|0}while(0)ne=ce+(he*52|0)+28|0;f[ne>>2]=i;i=i+-1|0;ss(ue);ls(ue,18,0,46);ls(ue,17,0,3);ls(ue,0,0,4);fe=ce+(he*52|0)|0;is(ue,f[fe>>2]|0);i:do if((i|0)>-1){re=ce+(he*52|0)+8|0;K=oe&1;te=(K|0)!=0;W=(m|0)==1;J=(oe&4|0)==0;K=(K|0)==0;Q=(oe&2|0)==0;Z=(oe&8|0)==0;$=ae<<8;ee=(oe&32|0)==0;r=0;X=i;G=0;i=0;V=2;while(1){z=f[re>>2]|0;L=te&(V>>>0<2?(X|0)<((f[ne>>2]|0)+-4|0):0);r:do switch(V|0){case 0:{R=1<<X+6;r=f[Ge>>2]|0;if(!r){h=0;break r}O=(X|0)==0;b=f[Xe>>2]|0;d=b;h=0;x=0;do{P=x;x=x+4|0;if(!d)d=0;else{M=(P|0)==-4;C=P|3;d=b;T=0;do{if(!M){S=P;do{r=f[Ge>>2]|0;if(S>>>0>=r>>>0)break;do if(Z)r=0;else{if((S|0)==(C|0)){r=1;break}r=(S|0)==(r+-1|0)}while(0)k=S;S=S+1|0;v=(ie(f[Ye>>2]|0,S)|0)+T|0;g=v+1|0;y=f[qe>>2]|0;A=y+(g<<1)|0;k=(ie(f[Ke>>2]|0,k)|0)+T|0;k=(f[Ve>>2]|0)+(k<<2)|0;E=f[e>>2]|0;w=n[A>>1]|0;w=r?w&-1095:w;r=w&255;if((r|0)!=0&(w&20480|0)==0){d=f[k>>2]|0;d=(((d|0)<0?0-d|0:d)&R|0)!=0;b=d&1;m=E+100|0;f[m>>2]=E+24+(a[20267+(r|$)>>0]<<2);if(L)fs(E,b);else rs(E,b);if(d){r=f[k>>2]|0;d=r>>>31;r=(r|0)<0?0-r|0:r;if(O)r=3708+((r&127)<<1)|0;else r=3452+((r>>>X&127)<<1)|0;h=(n[r>>1]|0)+h|0;r=w>>>4&255;f[m>>2]=E+24+(a[21291+r>>0]<<2);if(L)fs(E,d);else rs(E,a[21547+r>>0]^d);Y=f[Ye>>2]|0;q=y+(g-Y<<1)|0;U=y+(Y+g<<1)|0;j=y+(g+~Y<<1)|0;n[j>>1]=s[j>>1]|2;n[q>>1]=n[q>>1]|n[3436+(d<<1)>>1];q=v+2|0;j=y+(q-Y<<1)|0;n[j>>1]=s[j>>1]|4;j=y+(v<<1)|0;n[j>>1]=n[j>>1]|n[3436+((d|2)<<1)>>1];n[A>>1]=s[A>>1]|4096;j=y+(q<<1)|0;n[j>>1]=n[j>>1]|n[3436+((d|4)<<1)>>1];j=y+(Y+v<<1)|0;n[j>>1]=s[j>>1]|1;n[U>>1]=n[U>>1]|n[3436+((d|6)<<1)>>1];q=y+(Y+q<<1)|0;n[q>>1]=s[q>>1]|8}n[A>>1]=s[A>>1]|16384}}while(S>>>0<x>>>0)d=f[Xe>>2]|0}T=T+1|0}while(T>>>0<d>>>0)r=f[Ge>>2]|0;b=d}}while(x>>>0<r>>>0)break}case 1:{T=1<<X+6;r=f[Ge>>2]|0;if(!r){h=0;break r}M=(X|0)==0;b=f[Xe>>2]|0;d=b;h=0;S=0;do{A=S;S=S+4|0;if(!d)d=0;else{y=(A|0)==-4;E=A|3;d=b;g=0;do{v=g;g=g+1|0;if(!y){m=A;do{r=f[Ge>>2]|0;if(m>>>0>=r>>>0)break;do if(Z)r=0;else{if((m|0)==(E|0)){r=1;break}r=(m|0)==(r+-1|0)}while(0)d=m;m=m+1|0;k=(ie(f[Ye>>2]|0,m)|0)+g|0;k=(f[qe>>2]|0)+(k<<1)|0;w=f[e>>2]|0;b=n[k>>1]|0;b=r?b&-1095:b;if((b&20480|0)==4096){d=f[(f[Ve>>2]|0)+((ie(f[Ke>>2]|0,d)|0)+v<<2)>>2]|0;d=(d|0)<0?0-d|0:d;if(M)r=4220+((d&127)<<1)|0;else r=3964+((d>>>X&127)<<1)|0;h=(n[r>>1]|0)+h|0;r=(d&T|0)!=0&1;f[w+100>>2]=w+24+(((b&8192|0)!=0?16:(b&255|0)!=0?15:14)<<2);if(L)fs(w,r);else rs(w,r);n[k>>1]=s[k>>1]|8192}}while(m>>>0<S>>>0)d=f[Xe>>2]|0}}while(g>>>0<d>>>0)r=f[Ge>>2]|0;b=d}}while(S>>>0<r>>>0)break}case 2:{N=f[e>>2]|0;F=1<<X+6;d=f[Ge>>2]|0;if(!d)r=0;else{j=N+92|0;U=N+100|0;Y=N+96|0;q=(X|0)==0;h=f[Xe>>2]|0;r=0;B=0;while(1){if(!h){b=B+4|0;h=0}else{C=B|3;P=B|1;x=P+1|0;R=P+3|0;b=B+4|0;O=B+1|0;L=B+2|0;I=B+3|0;M=0;while(1){do if(C>>>0<d>>>0){d=f[Ye>>2]|0;w=M+1|0;k=(ie(d,P)|0)+w|0;h=f[qe>>2]|0;k=n[h+(k<<1)>>1]|0;if(Z){T=n[h+((ie(d,x)|0)+w<<1)>>1]|k;T=T|n[h+((ie(d,C)|0)+w<<1)>>1];d=((T|n[h+((ie(d,R)|0)+w<<1)>>1])&20735)==0&1}else{do if(!(k&20735)){if(n[h+((ie(d,x)|0)+w<<1)>>1]&20735){d=1;break}if(n[h+((ie(d,C)|0)+w<<1)>>1]&20735){d=1;break}d=(n[h+((ie(d,R)|0)+w<<1)>>1]&20665)!=0}else d=1;while(0)d=d&1^1}if(!d){T=0;d=0;Ze=109;break}d=f[Ke>>2]|0;h=f[Ve>>2]|0;T=f[h+((ie(d,B)|0)+M<<2)>>2]|0;do if(!(((T|0)<0?0-T|0:T)&F)){T=f[h+((ie(d,O)|0)+M<<2)>>2]|0;if(((T|0)<0?0-T|0:T)&F){d=1;break}T=f[h+((ie(d,L)|0)+M<<2)>>2]|0;if(((T|0)<0?0-T|0:T)&F){d=2;break}d=f[h+((ie(d,I)|0)+M<<2)>>2]|0;d=(((d|0)<0?0-d|0:d)&F|0)==0?4:3}else d=0;while(0)f[U>>2]=j;rs(N,(d|0)!=4&1);if((d|0)==4){k=w;break}f[U>>2]=Y;rs(N,d>>>1);rs(N,d&1);T=1;Ze=109}else{T=0;d=0;Ze=109}while(0)if((Ze|0)==109){Ze=0;S=d+B|0;t:do if(S>>>0<b>>>0){A=S;do{d=f[Ge>>2]|0;if(A>>>0>=d>>>0)break t;do if(Z)d=0;else{if((A|0)==(C|0)){d=1;break}d=(A|0)==(d+-1|0)}while(0)$e=A;A=A+1|0;m=(ie(f[Ye>>2]|0,A)|0)+M|0;v=m+1|0;g=f[qe>>2]|0;E=g+(v<<1)|0;h=(ie(f[Ke>>2]|0,$e)|0)+M|0;h=(f[Ve>>2]|0)+(h<<2)|0;y=f[e>>2]|0;k=n[E>>1]|0;w=d?k&-1095:k;do if(!(T&($e|0)==(S|0))){if(k&20480)break;f[y+100>>2]=y+24+(a[20267+(w&255|$)>>0]<<2);$e=f[h>>2]|0;$e=((($e|0)<0?0-$e|0:$e)&F|0)!=0;rs(y,$e&1);if($e)Ze=117}else Ze=117;while(0)if((Ze|0)==117){Ze=0;h=f[h>>2]|0;d=(h|0)<0?0-h|0:h;if(q)d=3708+((d&127)<<1)|0;else d=3452+((d>>>X&127)<<1)|0;r=(n[d>>1]|0)+r|0;$e=w>>>4&255;f[y+100>>2]=y+24+(a[21291+$e>>0]<<2);k=h>>>31;rs(y,a[21547+$e>>0]^k);y=f[Ye>>2]|0;$e=g+(v-y<<1)|0;w=g+(y+v<<1)|0;v=g+(v+~y<<1)|0;n[v>>1]=s[v>>1]|2;n[$e>>1]=n[$e>>1]|n[3436+(k<<1)>>1];$e=m+2|0;v=g+($e-y<<1)|0;n[v>>1]=s[v>>1]|4;v=g+(m<<1)|0;n[v>>1]=n[v>>1]|n[3436+((k|2)<<1)>>1];n[E>>1]=s[E>>1]|4096;v=g+($e<<1)|0;n[v>>1]=n[v>>1]|n[3436+((k|4)<<1)>>1];v=g+(y+m<<1)|0;n[v>>1]=s[v>>1]|1;n[w>>1]=n[w>>1]|n[3436+((k|6)<<1)>>1];$e=g+(y+$e<<1)|0;n[$e>>1]=s[$e>>1]|8}n[E>>1]=s[E>>1]&49151}while(A>>>0<b>>>0)}while(0)k=M+1|0}h=f[Xe>>2]|0;d=f[Ge>>2]|0;if(k>>>0<h>>>0)M=k;else break}}if(b>>>0<d>>>0)B=b;else break}}if(ee){h=r;break r}cs(ue);h=r;break}default:h=r}while(0)if(Le)_=+u[Oe>>3];else _=1;if(W)p=+Sa(se,ae);else p=+Ca(se,ae);p=+(1<<X|0)*(le*(_*p));p=p*(+(h|0)*p*.0001220703125);G=G+p;u[Je>>3]=+u[Je>>3]+p;do if(J)Ze=137;else{if((X|0)<1&(V|0)==2){Ze=137;break}ts(ue);d=z+(i*24|0)+20|0;r=t[d>>0]|1;t[d>>0]=r;d=1}while(0)do if((Ze|0)==137){r=(f[ne>>2]|0)+-4|0;if((V|0)!=0&(X|0)<(r|0))if(K)Ze=141;else Ze=140;else if(K|((V|0)!=2|(X|0)!=(r|0)))Ze=141;else Ze=140;if((Ze|0)==140){Ze=0;ts(ue);d=z+(i*24|0)+20|0;r=t[d>>0]|1;t[d>>0]=r;d=1;break}else if((Ze|0)==141){Ze=0;d=z+(i*24|0)+20|0;r=t[d>>0]&-2;t[d>>0]=r;d=3;break}}while(0)q=V+1|0;$e=(q|0)==3;V=$e?0:q;X=($e<<31>>31)+X|0;do if((X|0)>0&(r&1)!=0)if(te&(V>>>0<2?(X|0)<((f[ne>>2]|0)+-4|0):0)){ns(ue);break}else{os(ue);break}while(0)u[z+(i*24|0)+8>>3]=G;f[z+(i*24|0)>>2]=(es(ue)|0)+d;if(!Q)as(ue);i=i+1|0;if((X|0)<=-1)break i;else r=h}}else i=0;while(0)do if(!(oe&16)){if(oe&1)break;ts(ue)}else us(ue);while(0)w=ce+(he*52|0)+48|0;f[w>>2]=i;if(i){h=ce+(he*52|0)+8|0;k=0;do{b=f[h>>2]|0;r=b+(k*24|0)|0;$e=f[r>>2]|0;if($e>>>0>(es(ue)|0)>>>0){i=es(ue)|0;f[r>>2]=i}else i=f[r>>2]|0;do if(i>>>0>1){d=i+-1|0;if((t[(f[fe>>2]|0)+d>>0]|0)!=-1)break;f[r>>2]=d;i=d}while(0)if(!k)r=0;else r=f[(f[h>>2]|0)+((k+-1|0)*24|0)>>2]|0;f[b+(k*24|0)+16>>2]=i-r;k=k+1|0}while(k>>>0<(f[w>>2]|0)>>>0)}he=he+1|0}while(he>>>0<(ie(f[ke>>2]|0,f[be>>2]|0)|0)>>>0)i=f[Te>>2]|0;d=f[Se>>2]|0}we=we+1|0}while(we>>>0<(ie(i,d)|0)>>>0)r=f[xe>>2]|0}Ae=Ae+1|0}while(Ae>>>0<r>>>0)i=f[je>>2]|0}De=De+1|0}while(De>>>0<i>>>0)i=f[Qe>>2]|0}Ue=Ue+1|0;if(Ue>>>0>=i>>>0){i=1;Ze=173;break}}if((Ze|0)==173)return i|0;return 0}function qa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0;a=ie(r,i)|0;if(!(f[e+40>>2]|0)){s=e+24|0;l=e+8|0;t=f[l>>2]|0;do if(a>>>0>(f[s>>2]|0)>>>0){Un(t);n=a<<2;t=jn(n)|0;f[l>>2]=t;if(!t){i=0;return i|0}else{f[s>>2]=a;break}}else n=a<<2;while(0)Ol(t|0,0,n|0)|0}a=i+2|0;f[e+32>>2]=a;a=ie(r+2|0,a)|0;s=e+28|0;l=e+12|0;t=f[l>>2]|0;do if(a>>>0>(f[s>>2]|0)>>>0){Un(t);n=a<<1;t=jn(n)|0;f[l>>2]=t;if(!t){i=0;return i|0}else{f[s>>2]=a;break}}else n=a<<1;while(0)Ol(t|0,0,n|0)|0;f[e+16>>2]=i;f[e+20>>2]=r;i=1;return i|0}function za(e,i,r,t,l){e=e|0;i=i|0;r=r|0;t=t|0;l=l|0;var o=0,u=0,c=0,d=0;o=f[e>>2]|0;c=n[i>>1]|0;d=c&255;if(!((d|0)!=0&(c&20480|0)==0))return;u=o+100|0;f[u>>2]=o+24+(a[20267+(d|t<<8)>>0]<<2);if(hs(o)|0){t=c>>>4&255;f[u>>2]=o+24+(a[21291+t>>0]<<2);c=hs(o)|0;t=a[21547+t>>0]|0;d=t^c;f[r>>2]=(c|0)!=(t|0)?0-l|0:l;e=f[e+32>>2]|0;l=i+(0-e<<1)|0;t=i+(e<<1)|0;r=i+(~e<<1)|0;n[r>>1]=s[r>>1]|2;n[l>>1]=n[l>>1]|n[3436+(d<<1)>>1];l=i+(1-e<<1)|0;n[l>>1]=s[l>>1]|4;l=i+-2|0;n[l>>1]=n[l>>1]|n[3436+(d+2<<1)>>1];n[i>>1]=s[i>>1]|4096;l=i+2|0;n[l>>1]=n[l>>1]|n[3436+(d+4<<1)>>1];l=i+(e+-1<<1)|0;n[l>>1]=s[l>>1]|1;n[t>>1]=n[t>>1]|n[3436+(d+6<<1)>>1];e=i+(e+1<<1)|0;n[e>>1]=s[e>>1]|8}n[i>>1]=s[i>>1]|16384;return}function Xa(e,i,r,t,l){e=e|0;i=i|0;r=r|0;t=t|0;l=l|0;var o=0,u=0,c=0;o=f[e>>2]|0;c=n[i>>1]|0;if(c&20480){e=n[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;n[i>>1]=e;return}u=o+100|0;f[u>>2]=o+24+(a[20267+(c&255|t<<8)>>0]<<2);if(!(hs(o)|0)){e=n[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;n[i>>1]=e;return}t=c>>>4&255;f[u>>2]=o+24+(a[21291+t>>0]<<2);u=hs(o)|0;t=a[21547+t>>0]|0;c=t^u;f[r>>2]=(u|0)!=(t|0)?0-l|0:l;e=f[e+32>>2]|0;l=i+(0-e<<1)|0;t=i+(e<<1)|0;r=i+(~e<<1)|0;n[r>>1]=s[r>>1]|2;n[l>>1]=n[l>>1]|n[3436+(c<<1)>>1];l=i+(1-e<<1)|0;n[l>>1]=s[l>>1]|4;l=i+-2|0;n[l>>1]=n[l>>1]|n[3436+(c+2<<1)>>1];n[i>>1]=s[i>>1]|4096;l=i+2|0;n[l>>1]=n[l>>1]|n[3436+(c+4<<1)>>1];l=i+(e+-1<<1)|0;n[l>>1]=s[l>>1]|1;n[t>>1]=n[t>>1]|n[3436+(c+6<<1)>>1];e=i+(e+1<<1)|0;n[e>>1]=s[e>>1]|8;e=n[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;n[i>>1]=e;return}function Ga(e,i,r,t,s,l,o,u,d,h,b,k){e=e|0;i=i|0;r=r|0;t=t|0;s=s|0;l=l|0;o=o|0;u=u|0;d=d|0;h=h|0;b=b|0;k=k|0;var w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,R=0,O=0,L=0;L=c;c=c+16|0;O=L;f[O>>2]=0;w=f[e>>2]|0;C=f[e+4>>2]|0;e=f[C+76>>2]|0;x=e+(i*5640|0)|0;_=(n[C>>1]|0)==4?2:1;p=C+80|0;if(!(f[p>>2]|0))m=1;else m=f[w+16>>2]|0;R=(f[e+(i*5640|0)+420>>2]|0)+1|0;P=yr(w,C,i,k)|0;if(!P){i=0;c=L;return i|0}f[l>>2]=0;e:do if(!k){if(m){e=0;i:while(1){k=0;b=P;w=0;while(1){Er(P,C,i,w,e,h,0);if((f[b+80>>2]|0)==-1){e=9;break i}d=b+36|0;r:while(1){do if(!(Sr(b)|0))break r;while((f[d>>2]|0)>>>0>=t>>>0)f[O>>2]=0;if(!(Ja(i,r,x,b,s,O,o,u)|0)){e=13;break i}M=f[O>>2]|0;f[l>>2]=(f[l>>2]|0)+M;o=o-M|0;k=M+k|0;s=s+M|0}M=f[p>>2]|0;if((M|0)!=0&k>>>0>M>>>0){e=17;break i}w=w+1|0;if(w>>>0<_>>>0)b=b+232|0;else break}e=e+1|0;if(e>>>0>=m>>>0)break e}if((e|0)==9){gr(P,R);i=0;c=L;return i|0}else if((e|0)==13){gr(P,R);i=0;c=L;return i|0}else if((e|0)==17){gr(P,R);i=0;c=L;return i|0}}}else{Er(P,C,i,b,d,h,k);S=P+(b*232|0)|0;if((f[P+(b*232|0)+80>>2]|0)==-1){gr(P,R);i=0;c=L;return i|0}h=P+(b*232|0)+36|0;v=(u|0)==0;g=r+840|0;y=u+12|0;E=u+8|0;A=u+88|0;p=C+93|0;_=e+(i*5640|0)+5636|0;while(1){do if(!(Sr(S)|0))break e;while((f[h>>2]|0)>>>0>=t>>>0)f[O>>2]=0;if(!(Ja(i,r,x,S,s,O,o,u)|0))break;m=f[O>>2]|0;s=s+m|0;o=o-m|0;f[l>>2]=(f[l>>2]|0)+m;if(!v){if(!(f[y>>2]|0))e=f[E>>2]|0;else{w=f[A>>2]|0;e=f[E>>2]|0;b=f[w+(i*592|0)+548>>2]|0;k=b+(e<<5)|0;if(!e){d=(f[w+(i*592|0)+12>>2]|0)+1|0;w=((d|0)<0)<<31>>31;C=k;f[C>>2]=d;f[C+4>>2]=w}else{if((((a[_>>0]|0)>>>2|(a[p>>0]|0)>>>3)&1)!=0?(M=k,T=f[M>>2]|0,M=f[M+4>>2]|0,!((T|0)==0&(M|0)==0)):0){d=T;w=M}else{d=b+(e+-1<<5)+16|0;d=Il(f[d>>2]|0,f[d+4>>2]|0,1,0)|0;w=D}C=k;f[C>>2]=d;f[C+4>>2]=w}k=Il(d|0,w|0,-1,-1)|0;d=D;m=Il(k|0,d|0,m|0,0)|0;C=b+(e<<5)+16|0;f[C>>2]=m;f[C+4>>2]=D;C=b+(e<<5)+8|0;m=C;m=Il(k|0,d|0,f[m>>2]|0,f[m+4>>2]|0)|0;f[C>>2]=m;f[C+4>>2]=D}f[E>>2]=e+1}f[g>>2]=(f[g>>2]|0)+1}gr(P,R);i=0;c=L;return i|0}while(0)gr(P,R);i=1;c=L;return i|0}function Va(e,i,r,t,n,a,s,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;a=a|0;s=s|0;l=l|0;var o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0,W=0,J=0,Q=0,Z=0,$=0;Z=c;c=c+112|0;K=Z+64|0;W=Z+32|0;z=Z;q=Z+96|0;Y=Z+92|0;o=f[e>>2]|0;F=e+4|0;Q=f[F>>2]|0;s=f[Q+76>>2]|0;U=s+(i*5640|0)|0;H=s+(i*5640|0)+420|0;J=(f[H>>2]|0)+1|0;Q=vr(o,Q,i)|0;if(!Q){$=0;c=Z;return $|0}j=o+16|0;N=s+(i*5640|0)+12|0;B=r+20|0;I=o+24|0;i=a;e=t;O=Q;L=0;e:while(1){if((f[O+80>>2]|0)==-1){$=4;break}s=Nn(f[j>>2]<<2)|0;if(!s){$=6;break}Ol(s|0,1,f[j>>2]<<2|0)|0;if(Sr(O)|0){a=O+24|0;r=O+28|0;R=O+36|0;o=O+32|0;D=i;x=e;while(1){if((f[N>>2]|0)>>>0>(f[R>>2]|0)>>>0){i=f[a>>2]|0;e=f[B>>2]|0;if((f[r>>2]|0)>>>0<(f[e+(i*52|0)+20>>2]|0)>>>0){f[s+(i<<2)>>2]=0;P=f[F>>2]|0;f[Y>>2]=0;if(!(Qa(P,e,U,O,q,x,Y,D,l)|0)){$=45;break e}C=f[Y>>2]|0;if(!(f[q>>2]|0))e=C;else{M=D-C|0;S=x+C|0;f[Y>>2]=0;i=f[r>>2]|0;u=f[(f[B>>2]|0)+((f[a>>2]|0)*52|0)+24>>2]|0;E=u+(i*136|0)+24|0;e=f[E>>2]|0;i:do if(!e){e=S;$=43}else{A=x+D|0;d=e;P=0;y=u+(i*136|0)+28|0;u=S;r:while(1){e=f[o>>2]|0;i=f[y+20>>2]|0;if(((f[y+8>>2]|0)!=(f[y>>2]|0)?(f[y+12>>2]|0)!=(f[y+4>>2]|0):0)?(V=ie(f[i+(e*40|0)+20>>2]|0,f[i+(e*40|0)+16>>2]|0)|0,(V|0)!=0):0){T=0;e=f[i+(e*40|0)+24>>2]|0;k=u;while(1){v=e+40|0;if(!(f[v>>2]|0))i=k;else{g=e+44|0;i=f[g>>2]|0;do if(!i){b=f[e+4>>2]|0;f[g>>2]=1;f[e+36>>2]=0}else{u=i+-1|0;d=f[e+4>>2]|0;if((f[d+(u<<5)+8>>2]|0)!=(f[d+(u<<5)+20>>2]|0)){b=d+(u<<5)|0;break}f[g>>2]=i+1;b=d+(i<<5)|0}while(0)p=e+36|0;i=e+32|0;_=k;h=b+28|0;u=f[h>>2]|0;if((u+_|0)>>>0<_>>>0|(k+u|0)>>>0>A>>>0){i=P;e=T;break r}d=f[p>>2]|0;_=k;m=b;while(1){b=u+d|0;if(b>>>0<d>>>0){i=P;e=T;$=29;break e}k=f[e>>2]|0;if(b>>>0>(f[i>>2]|0)>>>0){u=Hn(k,b)|0;if(!u){$=32;break e}d=f[p>>2]|0;w=f[h>>2]|0;f[i>>2]=w+d;f[e>>2]=u;k=u;u=w}Nl(k+d|0,_|0,u|0)|0;u=m+8|0;d=f[u>>2]|0;if(!d){f[m>>2]=e;b=f[p>>2]|0;f[m+4>>2]=b}else b=f[p>>2]|0;k=f[h>>2]|0;w=_;_=_+k|0;h=f[m+24>>2]|0;d=h+d|0;f[u>>2]=d;u=f[v>>2]|0;f[v>>2]=u-h;f[m+12>>2]=d;d=k+b|0;f[p>>2]=d;b=m+16|0;f[b>>2]=(f[b>>2]|0)+k;if((u|0)==(h|0)){i=_;break}f[g>>2]=(f[g>>2]|0)+1;b=_;h=m+60|0;u=f[h>>2]|0;if((u+b|0)>>>0<b>>>0?1:(w+(u+k)|0)>>>0>A>>>0){i=P;e=T;break r}else m=m+32|0}f[e+48>>2]=f[g>>2]}T=T+1|0;if(T>>>0>=V>>>0){e=i;break}else{e=e+56|0;k=i}}i=f[E>>2]|0}else{i=d;e=u}P=P+1|0;if(P>>>0>=i>>>0){$=43;break i}else{d=i;y=y+36|0;u=e}}S=f[o>>2]|0;T=f[r>>2]|0;P=f[a>>2]|0;f[z>>2]=u;f[z+4>>2]=M;f[z+8>>2]=e;f[z+12>>2]=S;f[z+16>>2]=i;f[z+20>>2]=T;f[z+24>>2]=P;Ht(l,2,21803,z)|0;e=f[Y>>2]|0}while(0)if(($|0)==43){$=0;e=e-S|0;f[Y>>2]=e}e=e+C|0}u=f[a>>2]|0;C=f[r>>2]|0;i=(f[I>>2]|0)+(u*52|0)+36|0;P=f[i>>2]|0;f[i>>2]=C>>>0>P>>>0?C:P;i=e}else $=47}else{e=f[B>>2]|0;$=47}if(($|0)==47){$=0;P=f[F>>2]|0;f[Y>>2]=0;if(!(Qa(P,e,U,O,q,x,Y,D,l)|0)){$=69;break e}v=f[Y>>2]|0;if(!(f[q>>2]|0))e=v;else{u=D-v|0;y=f[r>>2]|0;E=f[a>>2]|0;e=f[(f[B>>2]|0)+(E*52|0)+24>>2]|0;f[Y>>2]=0;p=f[e+(y*136|0)+24>>2]|0;if(!p)e=0;else{g=f[o>>2]|0;i=0;_=e+(y*136|0)+28|0;while(1){d=f[_+20>>2]|0;if(((f[_+8>>2]|0)!=(f[_>>2]|0)?(f[_+12>>2]|0)!=(f[_+4>>2]|0):0)?(X=ie(f[d+(g*40|0)+20>>2]|0,f[d+(g*40|0)+16>>2]|0)|0,(X|0)!=0):0){e=0;m=f[d+(g*40|0)+24>>2]|0;while(1){k=m+40|0;i:do if(f[k>>2]|0){w=m+44|0;d=f[w>>2]|0;do if(!d){b=f[m+4>>2]|0;f[w>>2]=1;f[m+36>>2]=0}else{h=d+-1|0;b=f[m+4>>2]|0;if((f[b+(h<<5)+8>>2]|0)!=(f[b+(h<<5)+20>>2]|0)){b=b+(h<<5)|0;break}f[w>>2]=d+1;b=b+(d<<5)|0}while(0)P=f[Y>>2]|0;d=f[b+28>>2]|0;h=d+P|0;if(h>>>0<P>>>0|h>>>0>u>>>0){a=g;r=y;o=E;$=65;break e}while(1){f[Y>>2]=h;P=f[b+24>>2]|0;C=b+8|0;f[C>>2]=(f[C>>2]|0)+P;C=f[k>>2]|0;f[k>>2]=C-P;if((C|0)==(P|0))break i;f[w>>2]=(f[w>>2]|0)+1;P=f[Y>>2]|0;d=f[b+60>>2]|0;h=d+P|0;if(h>>>0<P>>>0|h>>>0>u>>>0){a=g;r=y;o=E;$=65;break e}else b=b+32|0}}while(0)e=e+1|0;if(e>>>0>=X>>>0)break;else m=m+56|0}}i=i+1|0;if(i>>>0>=p>>>0)break;else _=_+36|0}e=f[Y>>2]|0}e=e+v|0}u=f[a>>2]|0;i=e}if((f[s+(u<<2)>>2]|0)!=0?(G=(f[I>>2]|0)+(u*52|0)+36|0,(f[G>>2]|0)==0):0)f[G>>2]=(f[(f[B>>2]|0)+(u*52|0)+20>>2]|0)+-1;e=x+i|0;i=D-i|0;if(!(Sr(O)|0))break;else{D=i;x=e}}}Yn(s);L=L+1|0;if(L>>>0>(f[H>>2]|0)>>>0){s=e;$=75;break}else O=O+232|0}if(($|0)==4){gr(Q,J);$=0;c=Z;return $|0}else if(($|0)==6){gr(Q,J);$=0;c=Z;return $|0}else if(($|0)==29){n=f[o>>2]|0;t=f[r>>2]|0;K=f[a>>2]|0;f[W>>2]=u;f[W+4>>2]=d;f[W+8>>2]=~u;f[W+12>>2]=e;f[W+16>>2]=n;f[W+20>>2]=i;f[W+24>>2]=t;f[W+28>>2]=K;Ht(l,1,21888,W)|0;$=45}else if(($|0)==32){Yn(f[e>>2]|0);f[e>>2]=0;f[i>>2]=0;$=45}else if(($|0)==65){f[K>>2]=d;f[K+4>>2]=u;f[K+8>>2]=e;f[K+12>>2]=a;f[K+16>>2]=i;f[K+20>>2]=r;f[K+24>>2]=o;Ht(l,1,21987,K)|0;$=69}else if(($|0)==75){gr(Q,J);f[n>>2]=s-t;$=1;c=Z;return $|0}if(($|0)==45){gr(Q,J);Yn(s);$=0;c=Z;return $|0}else if(($|0)==69){gr(Q,J);Yn(s);$=0;c=Z;return $|0}return 0}function Ka(e,i){e=e|0;i=i|0;var r=0;r=Fn(1,8)|0;if(!r){e=0;return e|0}f[r>>2]=e;f[r+4>>2]=i;e=r;return e|0}function Wa(e){e=e|0;if(!e)return;Yn(e);return}function Ja(e,i,r,n,a,s,l,o){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;var c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0;_=f[n+28>>2]|0;I=f[n+32>>2]|0;B=f[n+36>>2]|0;m=f[(f[i+20>>2]|0)+((f[n+24>>2]|0)*52|0)+24>>2]|0;if(!(f[r>>2]&2))R=a;else{t[a>>0]=-1;t[a+1>>0]=-111;t[a+2>>0]=0;t[a+3>>0]=4;R=i+840|0;t[a+4>>0]=(f[R>>2]|0)>>>8;t[a+5>>0]=f[R>>2];l=l+-6|0;R=a+6|0}if((B|0)==0?(w=m+(_*136|0)+24|0,(f[w>>2]|0)!=0):0){b=m+(_*136|0)+28|0;k=0;while(1){n=f[b+20>>2]|0;Wr(f[n+(I*40|0)+32>>2]|0);d=n+(I*40|0)+36|0;Wr(f[d>>2]|0);h=ie(f[n+(I*40|0)+20>>2]|0,f[n+(I*40|0)+16>>2]|0)|0;if(h){n=n+(I*40|0)+24|0;i=b+28|0;c=0;do{O=f[n>>2]|0;f[O+(c*52|0)+40>>2]=0;na(f[d>>2]|0,c,(f[i>>2]|0)-(f[O+(c*52|0)+28>>2]|0)|0);c=c+1|0}while((c|0)!=(h|0))}k=k+1|0;if(k>>>0>=(f[w>>2]|0)>>>0)break;else b=b+36|0}}x=ha()|0;if(!x){s=0;return s|0}wa(x,R,l);_a(x,1,1);D=m+(_*136|0)+28|0;O=m+(_*136|0)+24|0;if(f[O>>2]|0){T=B+1|0;C=D;P=0;while(1){h=f[C+20>>2]|0;M=ie(f[h+(I*40|0)+20>>2]|0,f[h+(I*40|0)+16>>2]|0)|0;b=h+(I*40|0)+24|0;n=(M|0)==0;if(!n){i=h+(I*40|0)+32|0;c=f[b>>2]|0;d=0;while(1){if((f[c+40>>2]|0)==0?(f[(f[c+4>>2]|0)+(B*24|0)>>2]|0)!=0:0)na(f[i>>2]|0,d,B);d=d+1|0;if((d|0)==(M|0))break;else c=c+52|0}if(!n){S=h+(I*40|0)+32|0;A=h+(I*40|0)+36|0;y=f[b>>2]|0;E=0;while(1){n=(f[y+4>>2]|0)+(B*24|0)|0;g=y+40|0;if(!(f[g>>2]|0))fa(x,f[S>>2]|0,E,T);else _a(x,(f[n>>2]|0)!=0&1,1);i=f[n>>2]|0;if(i){if(!(f[g>>2]|0)){f[y+32>>2]=3;fa(x,f[A>>2]|0,E,999);i=f[n>>2]|0}e:do switch(i|0){case 1:{_a(x,0,1);break}case 2:{_a(x,2,2);break}default:{if(i>>>0<6){_a(x,i+-3|12,4);break e}if(i>>>0<37){_a(x,i+-6|480,9);break e}if(i>>>0<165)_a(x,i+-37|65408,16)}}while(0)b=f[g>>2]|0;i=f[n>>2]|0;v=i+b|0;p=y+8|0;if(b>>>0<v>>>0){_=y+32|0;w=b+-1+i|0;d=0;h=0;c=0;m=(f[p>>2]|0)+(b*24|0)|0;while(1){c=c+1|0;h=(f[m+16>>2]|0)+h|0;if((t[m+20>>0]&1)!=0|(b|0)==(w|0)){if((h|0)>1){i=0;do{h=h>>1;i=i+1|0}while((h|0)>1)}else i=0;k=f[_>>2]|0;if((c|0)>1){h=0;do{c=c>>1;h=h+1|0}while((c|0)>1)c=h}else c=0;h=i+1-k-c|0;d=(d|0)>(h|0)?d:h;h=0;c=0}b=b+1|0;if((b|0)==(v|0))break;else m=m+24|0}if((d|0)>0){i=d;while(1){_a(x,1,1);if((i|0)>1)i=i+-1|0;else{i=h;break}}}else i=h}else{d=0;i=0;c=0}_a(x,0,1);w=y+32|0;f[w>>2]=(f[w>>2]|0)+d;d=f[g>>2]|0;if(d>>>0<v>>>0){k=(f[p>>2]|0)+(d*24|0)|0;while(1){c=c+1|0;h=(f[k+16>>2]|0)+i|0;if((t[k+20>>0]&1)==0?(d|0)!=((f[g>>2]|0)+-1+(f[n>>2]|0)|0):0)i=h;else{b=f[w>>2]|0;if((c|0)>1){i=0;do{c=c>>1;i=i+1|0}while((c|0)>1)}else i=0;_a(x,h,i+b|0);i=0;c=0}d=d+1|0;if((d|0)==(v|0))break;else k=k+24|0}}}E=E+1|0;if((E|0)==(M|0))break;else y=y+52|0}}}P=P+1|0;if(P>>>0>=(f[O>>2]|0)>>>0)break;else C=C+36|0}}if(!(va(x)|0)){ba(x);s=0;return s|0}i=ka(x)|0;n=R+i|0;l=l-i|0;ba(x);if(f[r>>2]&4){t[n>>0]=-1;t[R+(i+1)>>0]=-110;l=l+-2|0;n=R+(i+2)|0}p=(o|0)!=0;if(p?(f[o+12>>2]|0)!=0:0){R=n-a|0;r=(f[(f[o+88>>2]|0)+(e*592|0)+548>>2]|0)+(f[o+8>>2]<<5)+8|0;f[r>>2]=R;f[r+4>>2]=((R|0)<0)<<31>>31}i=f[O>>2]|0;e:do if(i){v=o+12|0;g=o+8|0;y=o+88|0;m=D;_=0;i:while(1){c=f[m+20>>2]|0;w=ie(f[c+(I*40|0)+20>>2]|0,f[c+(I*40|0)+16>>2]|0)|0;c=f[c+(I*40|0)+24>>2]|0;if(w){if(p){k=0;while(1){b=f[c+4>>2]|0;i=b+(B*24|0)|0;if(f[i>>2]|0){d=b+(B*24|0)+4|0;h=f[d>>2]|0;if(h>>>0>l>>>0){n=0;l=81;break i}Nl(n|0,f[b+(B*24|0)+16>>2]|0,h|0)|0;r=c+40|0;f[r>>2]=(f[r>>2]|0)+(f[i>>2]|0);r=f[d>>2]|0;n=n+r|0;l=l-r|0;if((f[v>>2]|0)!=0?(r=(f[(f[y>>2]|0)+(e*592|0)+548>>2]|0)+(f[g>>2]<<5)+24|0,L=+u[b+(B*24|0)+8>>3]+ +u[r>>3],u[r>>3]=L,+u[o>>3]<L):0)u[o>>3]=L}k=k+1|0;if(k>>>0>=w>>>0)break;else c=c+52|0}}else{k=0;while(1){i=f[c+4>>2]|0;d=i+(B*24|0)|0;if(f[d>>2]|0){h=i+(B*24|0)+4|0;b=f[h>>2]|0;if(b>>>0>l>>>0){n=0;l=81;break i}Nl(n|0,f[i+(B*24|0)+16>>2]|0,b|0)|0;r=c+40|0;f[r>>2]=(f[r>>2]|0)+(f[d>>2]|0);r=f[h>>2]|0;l=l-r|0;n=n+r|0}k=k+1|0;if(k>>>0>=w>>>0)break;else c=c+52|0}}i=f[O>>2]|0}_=_+1|0;if(_>>>0>=i>>>0)break e;else m=m+36|0}if((l|0)==81)return n|0}while(0)f[s>>2]=n-a+(f[s>>2]|0);s=1;return s|0}function Qa(e,i,r,n,a,s,l,o,u){e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;var d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0;j=c;c=c+64|0;N=j+40|0;B=j+32|0;E=j+24|0;y=j+16|0;v=j+8|0;p=j;g=j+48|0;F=j+44|0;f[F>>2]=s;S=f[n+28>>2]|0;I=n+24|0;A=f[i+((f[I>>2]|0)*52|0)+24>>2]|0;O=n+36|0;if((f[O>>2]|0)==0?(_=A+(S*136|0)+24|0,d=f[_>>2]|0,(d|0)!=0):0){m=n+32|0;k=0;w=A+(S*136|0)+28|0;while(1){i=f[m>>2]|0;h=f[w+20>>2]|0;if((f[w+8>>2]|0)!=(f[w>>2]|0)?(f[w+12>>2]|0)!=(f[w+4>>2]|0):0){Wr(f[h+(i*40|0)+32>>2]|0);Wr(f[h+(i*40|0)+36>>2]|0);d=ie(f[h+(i*40|0)+20>>2]|0,f[h+(i*40|0)+16>>2]|0)|0;if(d){b=0;i=f[h+(i*40|0)+24>>2]|0;while(1){f[i+44>>2]=0;f[i+48>>2]=0;b=b+1|0;if((b|0)==(d|0))break;else i=i+56|0}}d=f[_>>2]|0}k=k+1|0;if(k>>>0>=d>>>0)break;else w=w+36|0}}do if(f[r>>2]&2){if(o>>>0<6){Ht(u,2,22072,p)|0;break}i=f[F>>2]|0;if((t[i>>0]|0)==-1?(t[i+1>>0]|0)==-111:0){f[F>>2]=i+6;break}Ht(u,2,22114,v)|0}while(0)R=ha()|0;if(!R){s=0;c=j;return s|0}do if(!(t[e+96>>0]&1))if(!(t[r+5636>>0]&2)){x=f[F>>2]|0;f[g>>2]=s+o-x;D=F;break}else{D=r+5168|0;x=f[D>>2]|0;g=r+5180|0;break}else{D=e+40|0;x=f[D>>2]|0;g=e+44|0}while(0)ma(R,x,f[g>>2]|0);if(!(pa(R,1)|0)){ga(R)|0;d=ka(R)|0;i=x+d|0;ba(R);do if(f[r>>2]&4){if(((f[g>>2]|0)-i+(f[D>>2]|0)|0)>>>0<2){Ht(u,2,22135,y)|0;break}if((t[i>>0]|0)==-1?(t[x+(d+1)>>0]|0)==-110:0){i=x+(d+2)|0;break}Ht(u,2,22177,E)|0}while(0)f[g>>2]=(f[g>>2]|0)+((f[D>>2]|0)-i);f[D>>2]=i;f[a>>2]=0;f[l>>2]=(f[F>>2]|0)-s;s=1;c=j;return s|0}P=A+(S*136|0)+24|0;i=f[P>>2]|0;e:do if(i){M=n+32|0;C=r+5584|0;T=0;A=A+(S*136|0)+28|0;i:while(1){d=f[M>>2]|0;h=f[A+20>>2]|0;if(((f[A+8>>2]|0)!=(f[A>>2]|0)?(f[A+12>>2]|0)!=(f[A+4>>2]|0):0)?(L=ie(f[h+(d*40|0)+20>>2]|0,f[h+(d*40|0)+16>>2]|0)|0,(L|0)!=0):0){e=h+(d*40|0)+32|0;n=h+(d*40|0)+36|0;y=A+28|0;E=0;o=f[h+(d*40|0)+24>>2]|0;while(1){d=o+44|0;if(!(f[d>>2]|0))i=aa(R,f[e>>2]|0,E,(f[O>>2]|0)+1|0)|0;else i=pa(R,1)|0;r:do if(!i)f[o+40>>2]=0;else{if(!(f[d>>2]|0)){i=0;while(1)if(!(aa(R,f[n>>2]|0,E,i)|0))i=i+1|0;else break;f[o+24>>2]=1-i+(f[y>>2]|0);f[o+28>>2]=3}do if(pa(R,1)|0)if(pa(R,1)|0){i=pa(R,2)|0;if((i|0)!=3){i=i+3|0;break}i=pa(R,5)|0;if((i|0)==31){i=(pa(R,7)|0)+37|0;break}else{i=i+6|0;break}}else i=2;else i=1;while(0)p=o+40|0;f[p>>2]=i;i=0;while(1)if(!(pa(R,1)|0))break;else i=i+1|0;v=o+28|0;f[v>>2]=(f[v>>2]|0)+i;d=f[d>>2]|0;do if(!d){h=f[(f[C>>2]|0)+((f[I>>2]|0)*1080|0)+16>>2]|0;i=o+52|0;if(!(f[i>>2]|0)){f[i>>2]=10;b=o+4|0;d=Hn(f[b>>2]|0,320)|0;if(!d){d=i;h=b;i=b;b=66;break i}f[b>>2]=d}else d=f[o+4>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;f[d+28>>2]=0;if(h&4){f[d+20>>2]=1;d=0;break}d=d+20|0;if(!(h&1)){f[d>>2]=109;d=0;break}else{f[d>>2]=10;d=0;break}}else{w=d+-1|0;m=o+4|0;h=f[m>>2]|0;if((f[h+(w<<5)+8>>2]|0)!=(f[h+(w<<5)+20>>2]|0)){i=o+52|0;d=w;break}k=f[(f[C>>2]|0)+((f[I>>2]|0)*1080|0)+16>>2]|0;i=o+52|0;b=f[i>>2]|0;if((d+1|0)>>>0>b>>>0){S=b+10|0;f[i>>2]=S;h=Hn(h,S<<5)|0;if(!h){h=m;d=i;i=m;b=77;break i}f[m>>2]=h}S=h+(d<<5)|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;f[S+16>>2]=0;f[S+20>>2]=0;f[S+24>>2]=0;f[S+28>>2]=0;if(k&4){f[h+(d<<5)+20>>2]=1;break}if(!(k&1)){f[h+(d<<5)+20>>2]=109;break}else{S=f[h+(w<<5)+20>>2]|0;f[h+(d<<5)+20>>2]=(S|0)==1|(S|0)==10?2:1;break}}while(0)_=o+4|0;w=f[p>>2]|0;while(1){k=f[_>>2]|0;h=(f[k+(d<<5)+20>>2]|0)-(f[k+(d<<5)+8>>2]|0)|0;h=(h|0)<(w|0)?h:w;f[k+(d<<5)+24>>2]=h;k=f[v>>2]|0;if(h>>>0>1){b=0;while(1){b=b+1|0;if(h>>>0>3)h=h>>>1;else{h=b;break}}}else h=0;k=pa(R,h+k|0)|0;h=f[_>>2]|0;f[h+(d<<5)+28>>2]=k;k=w-(f[h+(d<<5)+24>>2]|0)|0;if((k|0)<=0)break r;w=d+1|0;m=f[(f[C>>2]|0)+((f[I>>2]|0)*1080|0)+16>>2]|0;b=f[i>>2]|0;if((d+2|0)>>>0>b>>>0){S=b+10|0;f[i>>2]=S;h=Hn(h,S<<5)|0;if(!h){h=_;d=_;b=90;break i}f[_>>2]=h}S=h+(w<<5)|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;f[S+16>>2]=0;f[S+20>>2]=0;f[S+24>>2]=0;f[S+28>>2]=0;if(m&4){f[h+(w<<5)+20>>2]=1;d=w;w=k;continue}if(!(m&1)){f[h+(w<<5)+20>>2]=109;d=w;w=k;continue}else{S=f[h+(d<<5)+20>>2]|0;f[h+(w<<5)+20>>2]=(S|0)==1|(S|0)==10?2:1;d=w;w=k;continue}}}while(0)E=E+1|0;if(E>>>0>=L>>>0)break;else o=o+56|0}i=f[P>>2]|0}T=T+1|0;if(T>>>0>=i>>>0)break e;else A=A+36|0}if((b|0)==66){Yn(f[i>>2]|0);f[h>>2]=0;f[d>>2]=0;ba(R);s=0;c=j;return s|0}else if((b|0)==77){Yn(f[i>>2]|0);f[h>>2]=0;f[d>>2]=0;ba(R);s=0;c=j;return s|0}else if((b|0)==90){Yn(f[d>>2]|0);f[h>>2]=0;f[i>>2]=0;ba(R);s=0;c=j;return s|0}}while(0)if(!(ga(R)|0)){ba(R);s=0;c=j;return s|0}d=ka(R)|0;i=x+d|0;ba(R);do if(f[r>>2]&4){if(((f[g>>2]|0)-i+(f[D>>2]|0)|0)>>>0<2){Ht(u,2,22135,B)|0;break}if((t[i>>0]|0)==-1?(t[x+(d+1)>>0]|0)==-110:0){i=x+(d+2)|0;break}Ht(u,2,22177,N)|0}while(0)f[g>>2]=(f[g>>2]|0)+((f[D>>2]|0)-i);f[D>>2]=i;f[a>>2]=1;f[l>>2]=(f[F>>2]|0)-s;s=1;c=j;return s|0}function Za(){return Nn(104)|0}function $a(e){e=e|0;if(!e)return;Yn(e);return}function es(e){e=e|0;return(f[e+12>>2]|0)-(f[e+16>>2]|0)|0}function is(e,i){e=e|0;i=i|0;var r=0,n=0;f[e+100>>2]=e+24;f[e+4>>2]=32768;f[e>>2]=0;n=i+-1|0;f[e+12>>2]=n;r=e+8|0;f[r>>2]=12;f[r>>2]=(t[n>>0]|0)==-1?13:12;f[e+16>>2]=i;return}function rs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0;a=f[e+100>>2]|0;s=f[a>>2]|0;o=(f[s+4>>2]|0)==(i|0);n=f[s>>2]|0;u=e+4|0;i=(f[u>>2]|0)-n|0;f[u>>2]=i;if(!o){if(i>>>0<n>>>0){o=(f[e>>2]|0)+n|0;f[e>>2]=o;n=i;i=o;o=e}else{f[u>>2]=n;i=f[e>>2]|0;o=e}f[a>>2]=f[s+12>>2];l=e+8|0;s=e+12|0;a=i;i=f[l>>2]|0;while(1){n=n<<1;f[u>>2]=n;r=a<<1;f[o>>2]=r;i=i+-1|0;f[l>>2]=i;if(!i){i=f[s>>2]|0;n=t[i>>0]|0;do if(n<<24>>24!=-1){
45
+ if(!(r&134217728)){r=i+1|0;f[s>>2]=r;t[r>>0]=a>>>18;r=f[o>>2]&524287;f[o>>2]=r;f[l>>2]=8;i=8;break}t[i>>0]=n+1<<24>>24;i=f[s>>2]|0;if((t[i>>0]|0)==-1){e=f[o>>2]&134217727;f[o>>2]=e;r=i+1|0;f[s>>2]=r;t[r>>0]=e>>>20;r=f[o>>2]&1048575;f[o>>2]=r;f[l>>2]=7;i=7;break}else{r=i+1|0;f[s>>2]=r;t[r>>0]=(f[o>>2]|0)>>>19;r=f[o>>2]&524287;f[o>>2]=r;f[l>>2]=8;i=8;break}}else{r=i+1|0;f[s>>2]=r;t[r>>0]=a>>>19;r=f[o>>2]&1048575;f[o>>2]=r;f[l>>2]=7;i=7}while(0)n=f[u>>2]|0}if(!(n&32768))a=r;else break}return}if(i&32768){f[e>>2]=(f[e>>2]|0)+n;return}if(i>>>0<n>>>0){f[u>>2]=n;r=f[e>>2]|0;o=e}else{r=(f[e>>2]|0)+n|0;f[e>>2]=r;n=i;o=e}f[a>>2]=f[s+8>>2];l=e+8|0;s=e+12|0;a=r;i=f[l>>2]|0;while(1){n=n<<1;f[u>>2]=n;r=a<<1;f[o>>2]=r;i=i+-1|0;f[l>>2]=i;if(!i){i=f[s>>2]|0;n=t[i>>0]|0;do if(n<<24>>24!=-1){if(!(r&134217728)){r=i+1|0;f[s>>2]=r;t[r>>0]=a>>>18;r=f[o>>2]&524287;f[o>>2]=r;f[l>>2]=8;i=8;break}t[i>>0]=n+1<<24>>24;i=f[s>>2]|0;if((t[i>>0]|0)==-1){e=f[o>>2]&134217727;f[o>>2]=e;r=i+1|0;f[s>>2]=r;t[r>>0]=e>>>20;r=f[o>>2]&1048575;f[o>>2]=r;f[l>>2]=7;i=7;break}else{r=i+1|0;f[s>>2]=r;t[r>>0]=(f[o>>2]|0)>>>19;r=f[o>>2]&524287;f[o>>2]=r;f[l>>2]=8;i=8;break}}else{r=i+1|0;f[s>>2]=r;t[r>>0]=a>>>19;r=f[o>>2]&1048575;f[o>>2]=r;f[l>>2]=7;i=7}while(0)n=f[u>>2]|0}if(!(n&32768))a=r;else break}return}function ts(e){e=e|0;var i=0,r=0,n=0,a=0,s=0;s=f[e>>2]|0;n=s|65535;a=e+8|0;n=(n>>>0<((f[e+4>>2]|0)+s|0)>>>0?n:n+-32768|0)<<f[a>>2];f[e>>2]=n;s=e+12|0;i=f[s>>2]|0;r=t[i>>0]|0;do if(r<<24>>24!=-1){if(!(n&134217728)){i=i+1|0;f[s>>2]=i;t[i>>0]=n>>>19;i=f[e>>2]&524287;f[e>>2]=i;f[a>>2]=8;r=8;break}t[i>>0]=r+1<<24>>24;i=f[s>>2]|0;if((t[i>>0]|0)==-1){r=f[e>>2]&134217727;f[e>>2]=r;i=i+1|0;f[s>>2]=i;t[i>>0]=r>>>20;i=f[e>>2]&1048575;f[e>>2]=i;f[a>>2]=7;r=7;break}else{i=i+1|0;f[s>>2]=i;t[i>>0]=(f[e>>2]|0)>>>19;i=f[e>>2]&524287;f[e>>2]=i;f[a>>2]=8;r=8;break}}else{i=i+1|0;f[s>>2]=i;t[i>>0]=n>>>20;i=f[e>>2]&1048575;f[e>>2]=i;f[a>>2]=7;r=7}while(0)i=i<<r;f[e>>2]=i;r=f[s>>2]|0;n=t[r>>0]|0;do if(n<<24>>24!=-1){if(!(i&134217728)){n=r+1|0;f[s>>2]=n;t[n>>0]=i>>>19;f[e>>2]=f[e>>2]&524287;f[a>>2]=8;break}t[r>>0]=n+1<<24>>24;i=f[s>>2]|0;if((t[i>>0]|0)==-1){r=f[e>>2]&134217727;f[e>>2]=r;n=i+1|0;f[s>>2]=n;t[n>>0]=r>>>20;f[e>>2]=f[e>>2]&1048575;f[a>>2]=7;break}else{n=i+1|0;f[s>>2]=n;t[n>>0]=(f[e>>2]|0)>>>19;f[e>>2]=f[e>>2]&524287;f[a>>2]=8;break}}else{n=r+1|0;f[s>>2]=n;t[n>>0]=i>>>20;f[e>>2]=f[e>>2]&1048575;f[a>>2]=7}while(0)i=f[s>>2]|0;if((t[i>>0]|0)==-1)return;f[s>>2]=i+1;return}function ns(e){e=e|0;f[e>>2]=0;f[e+8>>2]=8;return}function fs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;r=e+8|0;n=(f[r>>2]|0)+-1|0;f[r>>2]=n;i=(i<<n)+(f[e>>2]|0)|0;f[e>>2]=i;if(n)return;n=e+12|0;a=(f[n>>2]|0)+1|0;f[n>>2]=a;t[a>>0]=i;f[r>>2]=8;f[r>>2]=(t[f[n>>2]>>0]|0)==-1?7:8;f[e>>2]=0;return}function as(e){e=e|0;f[e+28>>2]=1156;f[e+32>>2]=1156;f[e+36>>2]=1156;f[e+40>>2]=1156;f[e+44>>2]=1156;f[e+48>>2]=1156;f[e+52>>2]=1156;f[e+56>>2]=1156;f[e+60>>2]=1156;f[e+64>>2]=1156;f[e+68>>2]=1156;f[e+72>>2]=1156;f[e+76>>2]=1156;f[e+80>>2]=1156;f[e+84>>2]=1156;f[e+88>>2]=1156;f[e+96>>2]=2628;f[e+92>>2]=1252;f[e+24>>2]=1284;return}function ss(e){e=e|0;f[e+24>>2]=1156;f[e+28>>2]=1156;f[e+32>>2]=1156;f[e+36>>2]=1156;f[e+40>>2]=1156;f[e+44>>2]=1156;f[e+48>>2]=1156;f[e+52>>2]=1156;f[e+56>>2]=1156;f[e+60>>2]=1156;f[e+64>>2]=1156;f[e+68>>2]=1156;f[e+72>>2]=1156;f[e+76>>2]=1156;f[e+80>>2]=1156;f[e+84>>2]=1156;f[e+88>>2]=1156;f[e+92>>2]=1156;f[e+96>>2]=1156;return}function ls(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;f[e+24+(i<<2)>>2]=1156+((t<<1)+r<<4);return}function os(e){e=e|0;var i=0,r=0;f[e+100>>2]=e+24;f[e+4>>2]=32768;f[e>>2]=0;i=e+8|0;f[i>>2]=12;r=e+12|0;e=(f[r>>2]|0)+-1|0;f[r>>2]=e;if((t[e>>0]|0)!=-1)return;f[i>>2]=13;return}function us(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0;l=e+8|0;i=f[l>>2]|0;n=12-i|0;if((n|0)>0){a=e+12|0;r=f[e>>2]|0;do{i=r<<i;f[e>>2]=i;f[l>>2]=0;r=f[a>>2]|0;s=t[r>>0]|0;do if(s<<24>>24!=-1){if(!(i&134217728)){r=r+1|0;f[a>>2]=r;t[r>>0]=i>>>19;r=f[e>>2]&524287;f[e>>2]=r;f[l>>2]=8;i=8;break}t[r>>0]=s+1<<24>>24;i=f[a>>2]|0;if((t[i>>0]|0)==-1){s=f[e>>2]&134217727;f[e>>2]=s;r=i+1|0;f[a>>2]=r;t[r>>0]=s>>>20;r=f[e>>2]&1048575;f[e>>2]=r;f[l>>2]=7;i=7;break}else{r=i+1|0;f[a>>2]=r;t[r>>0]=(f[e>>2]|0)>>>19;r=f[e>>2]&524287;f[e>>2]=r;f[l>>2]=8;i=8;break}}else{r=r+1|0;f[a>>2]=r;t[r>>0]=i>>>20;r=f[e>>2]&1048575;f[e>>2]=r;f[l>>2]=7;i=7}while(0)n=n-i|0}while((n|0)>0)}else a=e+12|0;i=f[a>>2]|0;r=t[i>>0]|0;if(r<<24>>24==-1)return;n=f[e>>2]|0;if(!(n&134217728)){s=i+1|0;f[a>>2]=s;t[s>>0]=n>>>19;f[e>>2]=f[e>>2]&524287;f[l>>2]=8;return}t[i>>0]=r+1<<24>>24;i=f[a>>2]|0;if((t[i>>0]|0)==-1){n=f[e>>2]&134217727;f[e>>2]=n;s=i+1|0;f[a>>2]=s;t[s>>0]=n>>>20;f[e>>2]=f[e>>2]&1048575;f[l>>2]=7;return}else{s=i+1|0;f[a>>2]=s;t[s>>0]=(f[e>>2]|0)>>>19;f[e>>2]=f[e>>2]&524287;f[l>>2]=8;return}}function cs(e){e=e|0;f[e+100>>2]=e+96;rs(e,1);rs(e,0);rs(e,1);rs(e,0);return}function ds(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0;f[e+100>>2]=e+24;f[e+16>>2]=i;f[e+20>>2]=i+r;s=e+12|0;f[s>>2]=i;do if(r){l=a[i>>0]<<16;f[e>>2]=l;n=i+1|0;if((r|0)==1)r=255;else r=a[n>>0]|0;if((t[i>>0]|0)!=-1){f[s>>2]=n;n=l|r<<8;f[e>>2]=n;r=e+8|0;f[r>>2]=8;s=e;l=1;break}if(r>>>0>143){n=l|65280;f[e>>2]=n;r=e+8|0;f[r>>2]=8;s=e;l=1;break}else{f[s>>2]=n;n=l+(r<<9)|0;f[e>>2]=n;r=e+8|0;f[r>>2]=7;s=e;l=0;break}}else{f[e>>2]=16776960;r=e+8|0;f[r>>2]=8;n=16776960;s=e;l=1}while(0)f[s>>2]=n<<7;f[r>>2]=l;f[e+4>>2]=32768;return 1}function hs(e){e=e|0;var i=0,r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;r=f[e+100>>2]|0;n=f[r>>2]|0;o=f[n>>2]|0;h=e+4|0;l=(f[h>>2]|0)-o|0;f[h>>2]=l;s=f[e>>2]|0;if(s>>>16>>>0<o>>>0){f[h>>2]=o;i=f[n+4>>2]|0;if(l>>>0<o>>>0)f[r>>2]=f[n+8>>2];else{f[r>>2]=f[n+12>>2];i=1-i|0}u=e+8|0;c=e+12|0;d=e+20|0;n=f[u>>2]|0;r=s;do{do if(!n){s=f[c>>2]|0;n=f[d>>2]|0;if((s|0)==(n|0)){r=r+65280|0;f[e>>2]=r;f[u>>2]=8;n=8;break}l=s+1|0;if((l|0)==(n|0))n=255;else n=a[l>>0]|0;if((t[s>>0]|0)!=-1){f[c>>2]=l;r=r+(n<<8)|0;f[e>>2]=r;f[u>>2]=8;n=8;break}if(n>>>0>143){r=r+65280|0;f[e>>2]=r;f[u>>2]=8;n=8;break}else{f[c>>2]=l;r=r+(n<<9)|0;f[e>>2]=r;f[u>>2]=7;n=7;break}}while(0)o=o<<1;f[h>>2]=o;r=r<<1;f[e>>2]=r;n=n+-1|0;f[u>>2]=n}while(o>>>0<32768)return i|0}s=s-(o<<16)|0;f[e>>2]=s;if(l&32768){e=f[n+4>>2]|0;return e|0}i=f[n+4>>2]|0;if(o>>>0>l>>>0){f[r>>2]=f[n+12>>2];i=1-i|0}else f[r>>2]=f[n+8>>2];u=e+8|0;c=e+12|0;d=e+20|0;n=f[u>>2]|0;r=s;o=l;do{do if(!n){s=f[c>>2]|0;n=f[d>>2]|0;if((s|0)==(n|0)){r=r+65280|0;f[e>>2]=r;f[u>>2]=8;n=8;break}l=s+1|0;if((l|0)==(n|0))n=255;else n=a[l>>0]|0;if((t[s>>0]|0)!=-1){f[c>>2]=l;r=r+(n<<8)|0;f[e>>2]=r;f[u>>2]=8;n=8;break}if(n>>>0>143){r=r+65280|0;f[e>>2]=r;f[u>>2]=8;n=8;break}else{f[c>>2]=l;r=r+(n<<9)|0;f[e>>2]=r;f[u>>2]=7;n=7;break}}while(0)o=o<<1;f[h>>2]=o;r=r<<1;f[e>>2]=r;n=n+-1|0;f[u>>2]=n}while(o>>>0<32768)return i|0}function bs(){return Nn(28)|0}function ks(e){e=e|0;if(!e)return;Yn(e);return}function ws(e,i,r){e=e|0;i=i|0;r=r|0;f[e+20>>2]=i;f[e+8>>2]=r;f[e+12>>2]=0;t[e>>0]=0;f[e+4>>2]=0;return}function ms(e){e=e|0;var i=0,r=0,n=0,a=0,s=0;a=e+4|0;i=f[a>>2]|0;do if(!i){f[a>>2]=8;r=e+12|0;n=f[r>>2]|0;if((n|0)==(f[e+8>>2]|0)){t[e>>0]=-1;i=8;r=-1;break}if((t[e>>0]|0)==-1){f[a>>2]=7;i=7}else i=8;s=t[(f[e+20>>2]|0)+n>>0]|0;t[e>>0]=s;f[r>>2]=n+1;r=s}else r=t[e>>0]|0;while(0)s=i+-1|0;f[a>>2]=s;return(r&255)>>>s&1|0}function _s(){var e=0;if(!(f[665]|0))e=2712;else e=f[(De()|0)+60>>2]|0;return e|0}function ps(e){e=e|0;var i=0,r=0;i=0;while(1){if((a[22198+i>>0]|0)==(e|0)){r=2;break}i=i+1|0;if((i|0)==87){i=87;e=22286;r=5;break}}if((r|0)==2)if(!i)e=22286;else{e=22286;r=5}if((r|0)==5)while(1){r=e;while(1){e=r+1|0;if(!(t[r>>0]|0))break;else r=e}i=i+-1|0;if(!i)break;else r=5}return e|0}function vs(e){e=e|0;if(e>>>0>4294963200){f[(_s()|0)>>2]=0-e;e=-1}return e|0}function gs(e,i){e=+e;i=i|0;var r=0,t=0,n=0;u[h>>3]=e;r=f[h>>2]|0;t=f[h+4>>2]|0;n=Bl(r|0,t|0,52)|0;n=n&2047;switch(n|0){case 0:{if(e!=0){e=+gs(e*0x10000000000000000,i);r=(f[i>>2]|0)+-64|0}else r=0;f[i>>2]=r;break}case 2047:break;default:{f[i>>2]=n+-1022;f[h>>2]=r;f[h+4>>2]=t&-2146435073|1071644672;e=+u[h>>3]}}return+e}function ys(e,i){e=+e;i=i|0;return+ +gs(e,i)}function Es(e,i){e=+e;i=i|0;return+ +Ts(e,i)}function As(e){e=+e;return~~+Ss(e)|0}function Ss(e){e=+e;var i=0;i=(o[h>>2]=e,f[h>>2]|0);if((i&2130706432)>>>0<=1249902592){i=(i|0)<0;e=i?e+-8388608+8388608:e+8388608+-8388608;if(e==0)e=i?-0:0}return+e}function Ts(e,i){e=+e;i=i|0;var r=0;if((i|0)>1023){e=e*8.98846567431158e307;r=i+-1023|0;if((r|0)>1023){r=i+-2046|0;r=(r|0)>1023?1023:r;e=e*8.98846567431158e307}}else if((i|0)<-1022){e=e*2.2250738585072014e-308;r=i+1022|0;if((r|0)<-1022){r=i+2044|0;r=(r|0)<-1022?-1022:r;e=e*2.2250738585072014e-308}}else r=i;r=Ll(r+1023|0,0,52)|0;i=D;f[h>>2]=r;f[h+4>>2]=i;return+(e*+u[h>>3])}function Ms(e,i,r){e=e|0;i=i|0;r=r|0;do if(e){if(i>>>0<128){t[e>>0]=i;e=1;break}if(i>>>0<2048){t[e>>0]=i>>>6|192;t[e+1>>0]=i&63|128;e=2;break}if(i>>>0<55296|(i&-8192|0)==57344){t[e>>0]=i>>>12|224;t[e+1>>0]=i>>>6&63|128;t[e+2>>0]=i&63|128;e=3;break}if((i+-65536|0)>>>0<1048576){t[e>>0]=i>>>18|240;t[e+1>>0]=i>>>12&63|128;t[e+2>>0]=i>>>6&63|128;t[e+3>>0]=i&63|128;e=4;break}else{f[(_s()|0)>>2]=84;e=-1;break}}else e=1;while(0)return e|0}function Cs(e,i){e=e|0;i=i|0;if(!e)e=0;else e=Ms(e,i,0)|0;return e|0}function Ps(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0;b=c;c=c+112|0;h=b+40|0;u=b+24|0;o=b+16|0;a=b;d=b+52|0;n=t[i>>0]|0;if(ll(24090,n<<24>>24,4)|0){r=yl(1144)|0;if(!r)r=0;else{s=r;l=s+112|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(l|0))if(!(ul(i,43)|0))f[r>>2]=n<<24>>24==114?8:4;if(ul(i,101)|0){f[a>>2]=e;f[a+4>>2]=2;f[a+8>>2]=1;ve(221,a|0)|0;n=t[i>>0]|0}if(n<<24>>24==97){f[o>>2]=e;f[o+4>>2]=3;n=ve(221,o|0)|0;if(!(n&1024)){f[u>>2]=e;f[u+4>>2]=4;f[u+8>>2]=n|1024;ve(221,u|0)|0}i=f[r>>2]|128;f[r>>2]=i}else i=f[r>>2]|0;f[r+60>>2]=e;f[r+44>>2]=r+120;f[r+48>>2]=1024;n=r+75|0;t[n>>0]=-1;if((i&8|0)==0?(f[h>>2]=e,f[h+4>>2]=21505,f[h+8>>2]=d,(Le(54,h|0)|0)==0):0)t[n>>0]=10;f[r+32>>2]=60;f[r+36>>2]=61;f[r+40>>2]=3;f[r+12>>2]=1;if(!(f[666]|0))f[r+76>>2]=-1;Ne(2688);n=f[671]|0;f[r+56>>2]=n;if(n)f[n+52>>2]=r;f[671]=r;Ie(2688)}}else{f[(_s()|0)>>2]=22;r=0}c=b;return r|0}function xs(e){e=e|0;var i=0,r=0,n=0;r=(ul(e,43)|0)==0;i=t[e>>0]|0;r=r?i<<24>>24!=114&1:2;n=(ul(e,120)|0)==0;r=n?r:r|128;e=(ul(e,101)|0)==0;e=e?r:r|524288;e=i<<24>>24==114?e:e|64;e=i<<24>>24==119?e|512:e;return(i<<24>>24==97?e|1024:e)|0}function Ds(e){e=e|0;return 0}function Rs(e){e=e|0;return}function Os(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+16|0;u=d;o=i&255;t[u>>0]=o;n=e+16|0;s=f[n>>2]|0;if(!s)if(!(Us(e)|0)){s=f[n>>2]|0;l=4}else r=-1;else l=4;do if((l|0)==4){n=e+20|0;l=f[n>>2]|0;if(l>>>0<s>>>0?(r=i&255,(r|0)!=(t[e+75>>0]|0)):0){f[n>>2]=l+1;t[l>>0]=o;break}if((vo[f[e+36>>2]&63](e,u,1)|0)==1)r=a[u>>0]|0;else r=-1}while(0)c=d;return r|0}function Ls(e){e=e|0;var i=0,r=0;i=c;c=c+16|0;r=i;f[r>>2]=f[e+60>>2];e=vs(Fe(6,r|0)|0)|0;c=i;return e|0}function Is(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0;d=c;c=c+48|0;s=d+16|0;a=d;n=d+32|0;f[n>>2]=i;l=n+4|0;u=e+48|0;h=f[u>>2]|0;f[l>>2]=r-((h|0)!=0&1);o=e+44|0;f[n+8>>2]=f[o>>2];f[n+12>>2]=h;if(!(f[665]|0)){f[s>>2]=f[e+60>>2];f[s+4>>2]=n;f[s+8>>2]=2;n=vs(Ye(145,s|0)|0)|0}else{Ee(5,e|0);f[a>>2]=f[e+60>>2];f[a+4>>2]=n;f[a+8>>2]=2;n=vs(Ye(145,a|0)|0)|0;pe(0)}if((n|0)>=1){l=f[l>>2]|0;if(n>>>0>l>>>0){s=f[o>>2]|0;a=e+4|0;f[a>>2]=s;f[e+8>>2]=s+(n-l);if(!(f[u>>2]|0))n=r;else{f[a>>2]=s+1;t[i+(r+-1)>>0]=t[s>>0]|0;n=r}}}else{f[e>>2]=f[e>>2]|n&48^16;f[e+8>>2]=0;f[e+4>>2]=0}c=d;return n|0}function Bs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;n=c;c=c+32|0;a=n;t=n+20|0;f[a>>2]=f[e+60>>2];f[a+4>>2]=0;f[a+8>>2]=i;f[a+12>>2]=t;f[a+16>>2]=r;if((vs(He(140,a|0)|0)|0)<0){f[t>>2]=-1;e=-1}else e=f[t>>2]|0;c=n;return e|0}function Ns(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;w=c;c=c+48|0;h=w+16|0;d=w;t=w+32|0;b=e+28|0;n=f[b>>2]|0;f[t>>2]=n;k=e+20|0;n=(f[k>>2]|0)-n|0;f[t+4>>2]=n;f[t+8>>2]=i;f[t+12>>2]=r;o=e+60|0;u=e+44|0;i=2;n=n+r|0;while(1){if(!(f[665]|0)){f[h>>2]=f[o>>2];f[h+4>>2]=t;f[h+8>>2]=i;s=vs(qe(146,h|0)|0)|0}else{Ee(6,e|0);f[d>>2]=f[o>>2];f[d+4>>2]=t;f[d+8>>2]=i;s=vs(qe(146,d|0)|0)|0;pe(0)}if((n|0)==(s|0)){n=6;break}if((s|0)<0){n=8;break}n=n-s|0;a=f[t+4>>2]|0;if(s>>>0<=a>>>0)if((i|0)==2){f[b>>2]=(f[b>>2]|0)+s;l=a;i=2}else l=a;else{l=f[u>>2]|0;f[b>>2]=l;f[k>>2]=l;l=f[t+12>>2]|0;s=s-a|0;t=t+8|0;i=i+-1|0}f[t>>2]=(f[t>>2]|0)+s;f[t+4>>2]=l-s}if((n|0)==6){h=f[u>>2]|0;f[e+16>>2]=h+(f[e+48>>2]|0);e=h;f[b>>2]=e;f[k>>2]=e}else if((n|0)==8){f[e+16>>2]=0;f[b>>2]=0;f[k>>2]=0;f[e>>2]=f[e>>2]|32;if((i|0)==2)r=0;else r=r-(f[t+4>>2]|0)|0}c=w;return r|0}function Fs(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;a=c;c=c+80|0;n=a;f[e+36>>2]=61;if((f[e>>2]&64|0)==0?(f[n>>2]=f[e+60>>2],f[n+4>>2]=21505,f[n+8>>2]=a+12,(Le(54,n|0)|0)!=0):0)t[e+75>>0]=-1;n=Ns(e,i,r)|0;c=a;return n|0}function js(e){e=e|0;var i=0,r=0;i=e+74|0;r=t[i>>0]|0;t[i>>0]=r+255|r;i=e+20|0;r=e+44|0;if((f[i>>2]|0)>>>0>(f[r>>2]|0)>>>0)vo[f[e+36>>2]&63](e,0,0)|0;f[e+16>>2]=0;f[e+28>>2]=0;f[i>>2]=0;i=f[e>>2]|0;if(i&20)if(!(i&4))i=-1;else{f[e>>2]=i|32;i=-1}else{i=f[r>>2]|0;f[e+8>>2]=i;f[e+4>>2]=i;i=0}return i|0}function Us(e){e=e|0;var i=0,r=0;i=e+74|0;r=t[i>>0]|0;t[i>>0]=r+255|r;i=f[e>>2]|0;if(!(i&8)){f[e+8>>2]=0;f[e+4>>2]=0;i=f[e+44>>2]|0;f[e+28>>2]=i;f[e+20>>2]=i;f[e+16>>2]=i+(f[e+48>>2]|0);i=0}else{f[e>>2]=i|32;i=-1}return i|0}function Hs(e){e=e|0;var i=0,r=0,t=0;t=(f[e>>2]&1|0)!=0;if(!t){Ne(2688);r=f[e+52>>2]|0;i=e+56|0;if(r)f[r+56>>2]=f[i>>2];i=f[i>>2]|0;if(i)f[i+52>>2]=r;if((f[671]|0)==(e|0))f[671]=i;Ie(2688)}i=Ys(e)|0;i=So[f[e+12>>2]&15](e)|0|i;r=f[e+92>>2]|0;if(r)El(r);if(!t)El(e);return i|0}function Ys(e){e=e|0;var i=0,r=0;do if(e){if((f[e+76>>2]|0)<=-1){i=wl(e)|0;break}r=(Ds(e)|0)==0;i=wl(e)|0;if(!r)Rs(e)}else{if(!(f[677]|0))i=0;else i=Ys(f[677]|0)|0;Ne(2688);e=f[671]|0;if(e)do{if((f[e+76>>2]|0)>-1)r=Ds(e)|0;else r=0;if((f[e+20>>2]|0)>>>0>(f[e+28>>2]|0)>>>0)i=wl(e)|0|i;if(r)Rs(e);e=f[e+56>>2]|0}while((e|0)!=0)Ie(2688)}while(0)return i|0}function qs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;a=c;c=c+32|0;n=a+16|0;r=a;if(ll(24090,t[i>>0]|0,4)|0){s=xs(i)|0|32768;f[r>>2]=e;f[r+4>>2]=s;f[r+8>>2]=438;r=vs(je(5,r|0)|0)|0;if((r|0)>=0){e=Ps(r,i)|0;if(!e){f[n>>2]=r;Fe(6,n|0)|0;e=0}}else e=0}else{f[(_s()|0)>>2]=22;e=0}c=a;return e|0}function zs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=c;c=c+16|0;n=t;f[n>>2]=r;r=fl(e,i,n)|0;c=t;return r|0}function Xs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0;if((f[i+76>>2]|0)>=0?(Ds(i)|0)!=0:0){if((t[i+75>>0]|0)!=(e|0)?(n=i+20|0,a=f[n>>2]|0,a>>>0<(f[i+16>>2]|0)>>>0):0){f[n>>2]=a+1;t[a>>0]=e;r=e&255}else r=Os(i,e)|0;Rs(i)}else l=3;do if((l|0)==3){if((t[i+75>>0]|0)!=(e|0)?(s=i+20|0,r=f[s>>2]|0,r>>>0<(f[i+16>>2]|0)>>>0):0){f[s>>2]=r+1;t[r>>0]=e;r=e&255;break}r=Os(i,e)|0}while(0)return r|0}function Gs(e,i){e=e|0;i=i|0;return(il(e,hl(e)|0,1,i)|0)+-1|0}function Vs(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0;o=ie(r,i)|0;if((f[n+76>>2]|0)>-1)u=Ds(n)|0;else u=0;a=n+74|0;s=t[a>>0]|0;t[a>>0]=s+255|s;a=n+4|0;s=f[a>>2]|0;l=(f[n+8>>2]|0)-s|0;if((l|0)>0){l=l>>>0<o>>>0?l:o;Nl(e|0,s|0,l|0)|0;f[a>>2]=s+l;e=e+l|0;a=o-l|0}else a=o;e:do if(!a)c=13;else{l=n+32|0;s=a;while(1){if(js(n)|0){r=s;break}a=vo[f[l>>2]&63](n,e,s)|0;if((a+1|0)>>>0<2){r=s;break}if((s|0)==(a|0)){c=13;break e}else{e=e+a|0;s=s-a|0}}if(u)Rs(n);r=((o-r|0)>>>0)/(i>>>0)|0}while(0)if((c|0)==13)if(u)Rs(n);return r|0}function Ks(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if((r|0)==1)i=i-(f[e+8>>2]|0)+(f[e+4>>2]|0)|0;n=e+20|0;t=e+28|0;if((f[n>>2]|0)>>>0>(f[t>>2]|0)>>>0?(vo[f[e+36>>2]&63](e,0,0)|0,(f[n>>2]|0)==0):0)i=-1;else{f[e+16>>2]=0;f[t>>2]=0;f[n>>2]=0;if((vo[f[e+40>>2]&63](e,i,r)|0)<0)i=-1;else{f[e+8>>2]=0;f[e+4>>2]=0;f[e>>2]=f[e>>2]&-17;i=0}}return i|0}function Ws(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((f[e+76>>2]|0)>-1){t=(Ds(e)|0)==0;i=Ks(e,i,r)|0;if(!t)Rs(e)}else i=Ks(e,i,r)|0;return i|0}function Js(e,i,r){e=e|0;i=i|0;r=r|0;return Ws(e,i,r)|0}function Qs(e){e=e|0;var i=0;if(!(f[e>>2]&128))i=1;else i=(f[e+20>>2]|0)>>>0>(f[e+28>>2]|0)>>>0?2:1;i=vo[f[e+40>>2]&63](e,0,i)|0;if((i|0)>=0)i=i-(f[e+8>>2]|0)+(f[e+4>>2]|0)+(f[e+20>>2]|0)-(f[e+28>>2]|0)|0;return i|0}function Zs(e){e=e|0;var i=0;if((f[e+76>>2]|0)>-1){i=(Ds(e)|0)==0;e=Qs(e)|0}else e=Qs(e)|0;return e|0}function $s(e){e=e|0;return Zs(e)|0}function el(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=r+16|0;a=f[n>>2]|0;if(!a)if(!(Us(r)|0)){a=f[n>>2]|0;s=4}else n=0;else s=4;e:do if((s|0)==4){l=r+20|0;s=f[l>>2]|0;if((a-s|0)>>>0<i>>>0){n=vo[f[r+36>>2]&63](r,e,i)|0;break}i:do if((t[r+75>>0]|0)>-1){n=i;while(1){if(!n){a=s;n=0;break i}a=n+-1|0;if((t[e+a>>0]|0)==10)break;else n=a}if((vo[f[r+36>>2]&63](r,e,n)|0)>>>0<n>>>0)break e;i=i-n|0;e=e+n|0;a=f[l>>2]|0}else{a=s;n=0}while(0)Nl(a|0,e|0,i|0)|0;f[l>>2]=(f[l>>2]|0)+i;n=n+i|0}while(0)return n|0}function il(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;n=ie(r,i)|0;if((f[t+76>>2]|0)>-1){a=(Ds(t)|0)==0;e=el(e,n,t)|0;if(!a)Rs(t)}else e=el(e,n,t)|0;if((e|0)!=(n|0))r=(e>>>0)/(i>>>0)|0;return r|0}function rl(e,i){e=e|0;i=i|0;var r=0,t=0;r=c;c=c+16|0;t=r;f[t>>2]=i;i=fl(f[676]|0,e,t)|0;c=r;return i|0}function tl(e){e=e|0;var i=0,r=0,n=0,a=0;n=f[676]|0;if((f[n+76>>2]|0)>-1)a=Ds(n)|0;else a=0;do if((Gs(e,n)|0)<0)i=1;else{if((t[n+75>>0]|0)!=10?(i=n+20|0,r=f[i>>2]|0,r>>>0<(f[n+16>>2]|0)>>>0):0){f[i>>2]=r+1;t[r>>0]=10;i=0;break}i=(Os(n,10)|0)<0}while(0)if(a)Rs(n);return i<<31>>31|0}function nl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=c;c=c+16|0;n=t;f[n>>2]=r;r=sl(e,i,n)|0;c=t;return r|0}function fl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;_=c;c=c+224|0;b=_+80|0;m=_+96|0;w=_;k=_+136|0;n=m;a=n+40|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(a|0))f[b>>2]=f[r>>2];if((ml(0,i,b,w,m)|0)<0)r=-1;else{if((f[e+76>>2]|0)>-1)d=Ds(e)|0;else d=0;r=f[e>>2]|0;h=r&32;if((t[e+74>>0]|0)<1)f[e>>2]=r&-33;r=e+48|0;if(!(f[r>>2]|0)){a=e+44|0;s=f[a>>2]|0;f[a>>2]=k;l=e+28|0;f[l>>2]=k;o=e+20|0;f[o>>2]=k;f[r>>2]=80;u=e+16|0;f[u>>2]=k+80;n=ml(e,i,b,w,m)|0;if(s){vo[f[e+36>>2]&63](e,0,0)|0;n=(f[o>>2]|0)==0?-1:n;f[a>>2]=s;f[r>>2]=0;f[u>>2]=0;f[l>>2]=0;f[o>>2]=0}}else n=ml(e,i,b,w,m)|0;r=f[e>>2]|0;f[e>>2]=r|h;if(d)Rs(e);r=(r&32|0)==0?n:-1}c=_;return r|0}function al(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0;h=c;c=c+128|0;a=h+112|0;d=h;s=d;l=2716;o=s+112|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0))if((i+-1|0)>>>0>2147483646)if(!i){i=1;u=4}else{f[(_s()|0)>>2]=75;i=-1}else{a=e;u=4}if((u|0)==4){u=-2-a|0;u=i>>>0>u>>>0?u:i;f[d+48>>2]=u;e=d+20|0;f[e>>2]=a;f[d+44>>2]=a;i=a+u|0;a=d+16|0;f[a>>2]=i;f[d+28>>2]=i;i=fl(d,r,n)|0;if(u){r=f[e>>2]|0;t[r+(((r|0)==(f[a>>2]|0))<<31>>31)>>0]=0}}c=h;return i|0}function sl(e,i,r){e=e|0;i=i|0;r=r|0;return al(e,2147483647,i,r)|0}function ll(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;s=i&255;n=(r|0)!=0;e:do if(n&(e&3|0)!=0){a=i&255;while(1){if((t[e>>0]|0)==a<<24>>24){l=6;break e}e=e+1|0;r=r+-1|0;n=(r|0)!=0;if(!(n&(e&3|0)!=0)){l=5;break}}}else l=5;while(0)if((l|0)==5)if(n)l=6;else r=0;e:do if((l|0)==6){a=i&255;if((t[e>>0]|0)!=a<<24>>24){n=ie(s,16843009)|0;i:do if(r>>>0>3)while(1){s=f[e>>2]^n;if((s&-2139062144^-2139062144)&s+-16843009)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){l=11;break i}}else l=11;while(0)if((l|0)==11)if(!r){r=0;break}while(1){if((t[e>>0]|0)==a<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}while(0)return((r|0)!=0?e:0)|0}function ol(e,i){e=e|0;i=i|0;var r=0,n=0;r=i;e:do if(!((r^e)&3)){if(r&3)do{r=t[i>>0]|0;t[e>>0]=r;if(!(r<<24>>24))break e;i=i+1|0;e=e+1|0}while((i&3|0)!=0)r=f[i>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){n=e;while(1){i=i+4|0;e=n+4|0;f[n>>2]=r;r=f[i>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009)break;else n=e}}n=8}else n=8;while(0)if((n|0)==8){n=t[i>>0]|0;t[e>>0]=n;if(n<<24>>24)do{i=i+1|0;e=e+1|0;n=t[i>>0]|0;t[e>>0]=n}while(n<<24>>24!=0)}return e|0}function ul(e,i){e=e|0;i=i|0;e=cl(e,i)|0;return((t[e>>0]|0)==(i&255)<<24>>24?e:0)|0}function cl(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;n=i&255;e:do if(!n)e=e+(hl(e)|0)|0;else{if(e&3){r=i&255;do{a=t[e>>0]|0;if(a<<24>>24==0?1:a<<24>>24==r<<24>>24)break e;e=e+1|0}while((e&3|0)!=0)}n=ie(n,16843009)|0;r=f[e>>2]|0;i:do if(!((r&-2139062144^-2139062144)&r+-16843009))do{a=r^n;if((a&-2139062144^-2139062144)&a+-16843009)break i;e=e+4|0;r=f[e>>2]|0}while(((r&-2139062144^-2139062144)&r+-16843009|0)==0)while(0)r=i&255;while(1){a=t[e>>0]|0;if(a<<24>>24==0?1:a<<24>>24==r<<24>>24)break;else e=e+1|0}}while(0)return e|0}function dl(e,i){e=e|0;i=i|0;ol(e,i)|0;return e|0}function hl(e){e=e|0;var i=0,r=0,n=0;n=e;e:do if(!(n&3))r=4;else{i=e;e=n;while(1){if(!(t[i>>0]|0))break e;i=i+1|0;e=i;if(!(e&3)){e=i;r=4;break}}}while(0)if((r|0)==4){while(1){i=f[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009))e=e+4|0;else break}if((i&255)<<24>>24)do e=e+1|0;while((t[e>>0]|0)!=0)}return e-n|0}function bl(e){e=e|0;if(!(f[e+68>>2]|0))Rs(e);return}function kl(e){e=e|0;if(!(f[e+68>>2]|0))Rs(e);return}function wl(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;i=e+20|0;a=e+28|0;if((f[i>>2]|0)>>>0>(f[a>>2]|0)>>>0?(vo[f[e+36>>2]&63](e,0,0)|0,(f[i>>2]|0)==0):0)i=-1;else{s=e+4|0;r=f[s>>2]|0;t=e+8|0;n=f[t>>2]|0;if(r>>>0<n>>>0)vo[f[e+40>>2]&63](e,r-n|0,1)|0;f[e+16>>2]=0;f[a>>2]=0;f[i>>2]=0;f[t>>2]=0;f[s>>2]=0;i=0}return i|0}function ml(e,i,r,s,l){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;var o=0,d=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0,W=0,J=0,Q=0,Z=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0;se=c;c=c+624|0;re=se+24|0;ne=se+16|0;te=se+588|0;J=se+576|0;ee=se;V=se+536|0;ae=se+8|0;fe=se+528|0;F=(e|0)!=0;j=V+40|0;G=j;V=V+39|0;K=ae+4|0;W=J+12|0;J=J+11|0;Q=te;Z=W;$=Z-Q|0;U=-2-Q|0;H=Z+2|0;Y=re+288|0;q=te+9|0;z=q;X=te+8|0;o=0;y=i;d=0;i=0;e:while(1){do if((o|0)>-1)if((d|0)>(2147483647-o|0)){f[(_s()|0)>>2]=75;o=-1;break}else{o=d+o|0;break}while(0)d=t[y>>0]|0;if(!(d<<24>>24)){N=245;break}else b=y;i:while(1){switch(d<<24>>24){case 37:{d=b;N=9;break i}case 0:{d=b;break i}default:{}}B=b+1|0;d=t[B>>0]|0;b=B}i:do if((N|0)==9)while(1){N=0;if((t[d+1>>0]|0)!=37)break i;b=b+1|0;d=d+2|0;if((t[d>>0]|0)==37)N=9;else break}while(0)A=b-y|0;if(F?(f[e>>2]&32|0)==0:0)el(y,A,e)|0;if((b|0)!=(y|0)){y=d;d=A;continue}m=d+1|0;b=t[m>>0]|0;k=(b<<24>>24)+-48|0;if(k>>>0<10){B=(t[d+2>>0]|0)==36;m=B?d+3|0:m;b=t[m>>0]|0;v=B?k:-1;i=B?1:i}else v=-1;d=b<<24>>24;i:do if((d&-32|0)==32){k=0;while(1){if(!(1<<d+-32&75913)){_=k;d=m;break i}k=1<<(b<<24>>24)+-32|k;m=m+1|0;b=t[m>>0]|0;d=b<<24>>24;if((d&-32|0)!=32){_=k;d=m;break}}}else{_=0;d=m}while(0)do if(b<<24>>24==42){k=d+1|0;b=(t[k>>0]|0)+-48|0;if(b>>>0<10?(t[d+2>>0]|0)==36:0){f[l+(b<<2)>>2]=10;i=1;d=d+3|0;b=f[s+((t[k>>0]|0)+-48<<3)>>2]|0}else{if(i){o=-1;break e}if(!F){E=_;d=k;i=0;B=0;break}i=(f[r>>2]|0)+(4-1)&~(4-1);b=f[i>>2]|0;f[r>>2]=i+4;i=0;d=k}if((b|0)<0){E=_|8192;B=0-b|0}else{E=_;B=b}}else{k=(b<<24>>24)+-48|0;if(k>>>0<10){b=0;do{b=(b*10|0)+k|0;d=d+1|0;k=(t[d>>0]|0)+-48|0}while(k>>>0<10)if((b|0)<0){o=-1;break e}else{E=_;B=b}}else{E=_;B=0}}while(0)i:do if((t[d>>0]|0)==46){k=d+1|0;b=t[k>>0]|0;if(b<<24>>24!=42){m=(b<<24>>24)+-48|0;if(m>>>0<10){d=k;b=0}else{d=k;m=0;break}while(1){b=(b*10|0)+m|0;d=d+1|0;m=(t[d>>0]|0)+-48|0;if(m>>>0>=10){m=b;break i}}}k=d+2|0;b=(t[k>>0]|0)+-48|0;if(b>>>0<10?(t[d+3>>0]|0)==36:0){f[l+(b<<2)>>2]=10;d=d+4|0;m=f[s+((t[k>>0]|0)+-48<<3)>>2]|0;break}if(i){o=-1;break e}if(F){d=(f[r>>2]|0)+(4-1)&~(4-1);m=f[d>>2]|0;f[r>>2]=d+4;d=k}else{d=k;m=0}}else m=-1;while(0)p=0;while(1){b=(t[d>>0]|0)+-65|0;if(b>>>0>57){o=-1;break e}k=d+1|0;b=t[25126+(p*58|0)+b>>0]|0;_=b&255;if((_+-1|0)>>>0<8){d=k;p=_}else{I=k;break}}if(!(b<<24>>24)){o=-1;break}k=(v|0)>-1;do if(b<<24>>24==19)if(k){o=-1;break e}else N=52;else{if(k){f[l+(v<<2)>>2]=_;O=s+(v<<3)|0;L=f[O+4>>2]|0;N=ee;f[N>>2]=f[O>>2];f[N+4>>2]=L;N=52;break}if(!F){o=0;break e}pl(ee,_,r)}while(0)if((N|0)==52?(N=0,!F):0){y=I;d=A;continue}v=t[d>>0]|0;v=(p|0)!=0&(v&15|0)==3?v&-33:v;k=E&-65537;L=(E&8192|0)==0?E:k;i:do switch(v|0){case 110:switch(p|0){case 0:{f[f[ee>>2]>>2]=o;y=I;d=A;continue e}case 1:{f[f[ee>>2]>>2]=o;y=I;d=A;continue e}case 2:{y=f[ee>>2]|0;f[y>>2]=o;f[y+4>>2]=((o|0)<0)<<31>>31;y=I;d=A;continue e}case 3:{n[f[ee>>2]>>1]=o;y=I;d=A;continue e}case 4:{t[f[ee>>2]>>0]=o;y=I;d=A;continue e}case 6:{f[f[ee>>2]>>2]=o;y=I;d=A;continue e}case 7:{y=f[ee>>2]|0;f[y>>2]=o;f[y+4>>2]=((o|0)<0)<<31>>31;y=I;d=A;continue e}default:{y=I;d=A;continue e}}case 112:{p=L|8;m=m>>>0>8?m:8;v=120;N=64;break}case 88:case 120:{p=L;N=64;break}case 111:{k=ee;b=f[k>>2]|0;k=f[k+4>>2]|0;if((b|0)==0&(k|0)==0)d=j;else{d=j;do{d=d+-1|0;t[d>>0]=b&7|48;b=Bl(b|0,k|0,3)|0;k=D}while(!((b|0)==0&(k|0)==0))}if(!(L&8)){b=L;p=0;_=25606;N=77}else{p=G-d+1|0;b=L;m=(m|0)<(p|0)?p:m;p=0;_=25606;N=77}break}case 105:case 100:{b=ee;d=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)<0){d=Dl(0,0,d|0,b|0)|0;b=D;k=ee;f[k>>2]=d;f[k+4>>2]=b;k=1;_=25606;N=76;break i}if(!(L&2048)){_=L&1;k=_;_=(_|0)==0?25606:25608;N=76}else{k=1;_=25607;N=76}break}case 117:{b=ee;d=f[b>>2]|0;b=f[b+4>>2]|0;k=0;_=25606;N=76;break}case 99:{t[V>>0]=f[ee>>2];y=V;b=1;p=0;v=25606;d=j;break}case 109:{d=ps(f[(_s()|0)>>2]|0)|0;N=82;break}case 115:{d=f[ee>>2]|0;d=(d|0)!=0?d:25616;N=82;break}case 67:{f[ae>>2]=f[ee>>2];f[K>>2]=0;f[ee>>2]=ae;m=-1;N=86;break}case 83:{if(!m){gl(e,32,B,0,L);d=0;N=98}else N=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{w=+u[ee>>3];f[ne>>2]=0;u[h>>3]=w;if((f[h+4>>2]|0)>=0)if(!(L&2048)){O=L&1;R=O;O=(O|0)==0?25624:25629}else{R=1;O=25626}else{w=-w;R=1;O=25623}u[h>>3]=w;x=f[h+4>>2]&2146435072;do if(x>>>0<2146435072|(x|0)==2146435072&0<0){g=+ys(w,ne)*2;b=g!=0;if(b)f[ne>>2]=(f[ne>>2]|0)+-1;C=v|32;if((C|0)==97){y=v&32;A=(y|0)==0?O:O+9|0;E=R|2;d=12-m|0;do if(!(m>>>0>11|(d|0)==0)){w=8;do{d=d+-1|0;w=w*16}while((d|0)!=0)if((t[A>>0]|0)==45){w=-(w+(-g-w));break}else{w=g+w-w;break}}else w=g;while(0)b=f[ne>>2]|0;d=(b|0)<0?0-b|0:b;d=vl(d,((d|0)<0)<<31>>31,W)|0;if((d|0)==(W|0)){t[J>>0]=48;d=J}t[d+-1>>0]=(b>>31&2)+43;p=d+-2|0;t[p>>0]=v+15;_=(m|0)<1;k=(L&8|0)==0;b=te;while(1){O=~~w;d=b+1|0;t[b>>0]=a[25590+O>>0]|y;w=(w-+(O|0))*16;do if((d-Q|0)==1){if(k&(_&w==0))break;t[d>>0]=46;d=b+2|0}while(0)if(!(w!=0))break;else b=d}m=(m|0)!=0&(U+d|0)<(m|0)?H+m-p|0:$-p+d|0;k=m+E|0;gl(e,32,B,k,L);if(!(f[e>>2]&32))el(A,E,e)|0;gl(e,48,B,k,L^65536);d=d-Q|0;if(!(f[e>>2]&32))el(te,d,e)|0;b=Z-p|0;gl(e,48,m-(d+b)|0,0,0);if(!(f[e>>2]&32))el(p,b,e)|0;gl(e,32,B,k,L^8192);d=(k|0)<(B|0)?B:k;break}d=(m|0)<0?6:m;if(b){b=(f[ne>>2]|0)+-28|0;f[ne>>2]=b;w=g*268435456}else{w=g;b=f[ne>>2]|0}x=(b|0)<0?re:Y;P=x;b=x;do{M=~~w>>>0;f[b>>2]=M;b=b+4|0;w=(w-+(M>>>0))*1e9}while(w!=0)k=b;b=f[ne>>2]|0;if((b|0)>0){_=x;while(1){p=(b|0)>29?29:b;m=k+-4|0;do if(m>>>0<_>>>0)m=_;else{b=0;do{M=Ll(f[m>>2]|0,0,p|0)|0;M=Il(M|0,D|0,b|0,0)|0;b=D;T=zl(M|0,b|0,1e9,0)|0;f[m>>2]=T;b=ql(M|0,b|0,1e9,0)|0;m=m+-4|0}while(m>>>0>=_>>>0)if(!b){m=_;break}m=_+-4|0;f[m>>2]=b}while(0)while(1){if(k>>>0<=m>>>0)break;b=k+-4|0;if(!(f[b>>2]|0))k=b;else break}b=(f[ne>>2]|0)-p|0;f[ne>>2]=b;if((b|0)>0)_=m;else break}}else m=x;if((b|0)<0){A=((d+25|0)/9|0)+1|0;S=(C|0)==102;y=m;while(1){E=0-b|0;E=(E|0)>9?9:E;do if(y>>>0<k>>>0){b=(1<<E)+-1|0;_=1e9>>>E;m=0;p=y;do{M=f[p>>2]|0;f[p>>2]=(M>>>E)+m;m=ie(M&b,_)|0;p=p+4|0}while(p>>>0<k>>>0)b=(f[y>>2]|0)==0?y+4|0:y;if(!m){m=b;break}f[k>>2]=m;m=b;k=k+4|0}else m=(f[y>>2]|0)==0?y+4|0:y;while(0)b=S?x:m;k=(k-b>>2|0)>(A|0)?b+(A<<2)|0:k;b=(f[ne>>2]|0)+E|0;f[ne>>2]=b;if((b|0)>=0){y=m;break}else y=m}}else y=m;do if(y>>>0<k>>>0){b=(P-y>>2)*9|0;_=f[y>>2]|0;if(_>>>0<10)break;else m=10;do{m=m*10|0;b=b+1|0}while(_>>>0>=m>>>0)}else b=0;while(0)T=(C|0)==103;M=(d|0)!=0;m=d-((C|0)!=102?b:0)+((M&T)<<31>>31)|0;if((m|0)<(((k-P>>2)*9|0)+-9|0)){p=m+9216|0;S=(p|0)/9|0;m=x+(S+-1023<<2)|0;p=((p|0)%9|0)+1|0;if((p|0)<9){_=10;do{_=_*10|0;p=p+1|0}while((p|0)!=9)}else _=10;E=f[m>>2]|0;A=(E>>>0)%(_>>>0)|0;if((A|0)==0?(x+(S+-1022<<2)|0)==(k|0):0)_=y;else N=163;do if((N|0)==163){N=0;g=(((E>>>0)/(_>>>0)|0)&1|0)==0?9007199254740992:9007199254740994;p=(_|0)/2|0;do if(A>>>0<p>>>0)w=.5;else{if((A|0)==(p|0)?(x+(S+-1022<<2)|0)==(k|0):0){w=1;break}w=1.5}while(0)do if(R){if((t[O>>0]|0)!=45)break;g=-g;w=-w}while(0)p=E-A|0;f[m>>2]=p;if(!(g+w!=g)){_=y;break}C=p+_|0;f[m>>2]=C;if(C>>>0>999999999){b=y;while(1){_=m+-4|0;f[m>>2]=0;if(_>>>0<b>>>0){b=b+-4|0;f[b>>2]=0}C=(f[_>>2]|0)+1|0;f[_>>2]=C;if(C>>>0>999999999)m=_;else{y=b;m=_;break}}}b=(P-y>>2)*9|0;p=f[y>>2]|0;if(p>>>0<10){_=y;break}else _=10;do{_=_*10|0;b=b+1|0}while(p>>>0>=_>>>0)_=y}while(0)C=m+4|0;y=_;k=k>>>0>C>>>0?C:k}A=0-b|0;while(1){if(k>>>0<=y>>>0){S=0;C=k;break}m=k+-4|0;if(!(f[m>>2]|0))k=m;else{S=1;C=k;break}}do if(T){d=(M&1^1)+d|0;if((d|0)>(b|0)&(b|0)>-5){v=v+-1|0;d=d+-1-b|0}else{v=v+-2|0;d=d+-1|0}k=L&8;if(k)break;do if(S){k=f[C+-4>>2]|0;if(!k){m=9;break}if(!((k>>>0)%10|0)){_=10;m=0}else{m=0;break}do{_=_*10|0;m=m+1|0}while(((k>>>0)%(_>>>0)|0|0)==0)}else m=9;while(0)k=((C-P>>2)*9|0)+-9|0;if((v|32|0)==102){k=k-m|0;k=(k|0)<0?0:k;d=(d|0)<(k|0)?d:k;k=0;break}else{k=k+b-m|0;k=(k|0)<0?0:k;d=(d|0)<(k|0)?d:k;k=0;break}}else k=L&8;while(0)E=d|k;_=(E|0)!=0&1;p=(v|32|0)==102;if(p){b=(b|0)>0?b:0;v=0}else{m=(b|0)<0?A:b;m=vl(m,((m|0)<0)<<31>>31,W)|0;if((Z-m|0)<2)do{m=m+-1|0;t[m>>0]=48}while((Z-m|0)<2)t[m+-1>>0]=(b>>31&2)+43;P=m+-2|0;t[P>>0]=v;b=Z-P|0;v=P}A=R+1+d+_+b|0;gl(e,32,B,A,L);if(!(f[e>>2]&32))el(O,R,e)|0;gl(e,48,B,A,L^65536);do if(p){m=y>>>0>x>>>0?x:y;b=m;do{k=vl(f[b>>2]|0,0,q)|0;do if((b|0)==(m|0)){if((k|0)!=(q|0))break;t[X>>0]=48;k=X}else{if(k>>>0<=te>>>0)break;do{k=k+-1|0;t[k>>0]=48}while(k>>>0>te>>>0)}while(0)if(!(f[e>>2]&32))el(k,z-k|0,e)|0;b=b+4|0}while(b>>>0<=x>>>0)do if(E){if(f[e>>2]&32)break;el(25658,1,e)|0}while(0)if((d|0)>0&b>>>0<C>>>0){k=b;while(1){b=vl(f[k>>2]|0,0,q)|0;if(b>>>0>te>>>0)do{b=b+-1|0;t[b>>0]=48}while(b>>>0>te>>>0)if(!(f[e>>2]&32))el(b,(d|0)>9?9:d,e)|0;k=k+4|0;b=d+-9|0;if(!((d|0)>9&k>>>0<C>>>0)){d=b;break}else d=b}}gl(e,48,d+9|0,9,0)}else{p=S?C:y+4|0;if((d|0)>-1){_=(k|0)==0;m=y;do{b=vl(f[m>>2]|0,0,q)|0;if((b|0)==(q|0)){t[X>>0]=48;b=X}do if((m|0)==(y|0)){k=b+1|0;if(!(f[e>>2]&32))el(b,1,e)|0;if(_&(d|0)<1){b=k;break}if(f[e>>2]&32){b=k;break}el(25658,1,e)|0;b=k}else{if(b>>>0<=te>>>0)break;do{b=b+-1|0;t[b>>0]=48}while(b>>>0>te>>>0)}while(0)k=z-b|0;if(!(f[e>>2]&32))el(b,(d|0)>(k|0)?k:d,e)|0;d=d-k|0;m=m+4|0}while(m>>>0<p>>>0&(d|0)>-1)}gl(e,48,d+18|0,18,0);if(f[e>>2]&32)break;el(v,Z-v|0,e)|0}while(0)gl(e,32,B,A,L^8192);d=(A|0)<(B|0)?B:A}else{p=(v&32|0)!=0;_=w!=w|0!=0;b=_?0:R;m=b+3|0;gl(e,32,B,m,k);d=f[e>>2]|0;if(!(d&32)){el(O,b,e)|0;d=f[e>>2]|0}if(!(d&32))el(_?p?25650:25654:p?25642:25646,3,e)|0;gl(e,32,B,m,L^8192);d=(m|0)<(B|0)?B:m}while(0)y=I;continue e}default:{k=L;b=m;p=0;v=25606;d=j}}while(0)i:do if((N|0)==64){k=ee;b=f[k>>2]|0;k=f[k+4>>2]|0;_=v&32;if(!((b|0)==0&(k|0)==0)){d=j;do{d=d+-1|0;t[d>>0]=a[25590+(b&15)>>0]|_;b=Bl(b|0,k|0,4)|0;k=D}while(!((b|0)==0&(k|0)==0))N=ee;if((p&8|0)==0|(f[N>>2]|0)==0&(f[N+4>>2]|0)==0){b=p;p=0;_=25606;N=77}else{b=p;p=2;_=25606+(v>>4)|0;N=77}}else{d=j;b=p;p=0;_=25606;N=77}}else if((N|0)==76){d=vl(d,b,j)|0;b=L;p=k;N=77}else if((N|0)==82){N=0;L=ll(d,0,m)|0;O=(L|0)==0;y=d;b=O?m:L-d|0;p=0;v=25606;d=O?d+m|0:L}else if((N|0)==86){N=0;b=0;d=0;_=f[ee>>2]|0;while(1){k=f[_>>2]|0;if(!k)break;d=Cs(fe,k)|0;if((d|0)<0|d>>>0>(m-b|0)>>>0)break;b=d+b|0;if(m>>>0>b>>>0)_=_+4|0;else break}if((d|0)<0){o=-1;break e}gl(e,32,B,b,L);if(!b){d=0;N=98}else{k=0;m=f[ee>>2]|0;while(1){d=f[m>>2]|0;if(!d){d=b;N=98;break i}d=Cs(fe,d)|0;k=d+k|0;if((k|0)>(b|0)){d=b;N=98;break i}if(!(f[e>>2]&32))el(fe,d,e)|0;if(k>>>0>=b>>>0){d=b;N=98;break}else m=m+4|0}}}while(0)if((N|0)==98){N=0;gl(e,32,B,d,L^8192);y=I;d=(B|0)>(d|0)?B:d;continue}if((N|0)==77){N=0;k=(m|0)>-1?b&-65537:b;b=ee;b=(f[b>>2]|0)!=0|(f[b+4>>2]|0)!=0;if((m|0)!=0|b){b=(b&1^1)+(G-d)|0;y=d;b=(m|0)>(b|0)?m:b;v=_;d=j}else{y=j;b=0;v=_;d=j}}_=d-y|0;b=(b|0)<(_|0)?_:b;m=p+b|0;d=(B|0)<(m|0)?m:B;gl(e,32,d,m,k);if(!(f[e>>2]&32))el(v,p,e)|0;gl(e,48,d,m,k^65536);gl(e,48,b,_,0);if(!(f[e>>2]&32))el(y,_,e)|0;gl(e,32,d,m,k^8192);y=I}e:do if((N|0)==245)if(!e)if(i){o=1;while(1){i=f[l+(o<<2)>>2]|0;if(!i)break;pl(s+(o<<3)|0,i,r);o=o+1|0;if((o|0)>=10){o=1;break e}}if((o|0)<10)while(1){if(f[l+(o<<2)>>2]|0){o=-1;break e}o=o+1|0;if((o|0)>=10){o=1;break}}else o=1}else o=0;while(0)c=se;return o|0}function _l(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=e+20|0;n=f[t>>2]|0;e=(f[e+16>>2]|0)-n|0;e=e>>>0>r>>>0?r:e;Nl(n|0,i|0,e|0)|0;f[t>>2]=(f[t>>2]|0)+e;return r|0}
46
+ function pl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;e:do if(i>>>0<=20)do switch(i|0){case 9:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;f[e>>2]=i;break e}case 10:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;t=e;f[t>>2]=i;f[t+4>>2]=((i|0)<0)<<31>>31;break e}case 11:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;t=e;f[t>>2]=i;f[t+4>>2]=0;break e}case 12:{t=(f[r>>2]|0)+(8-1)&~(8-1);i=t;n=f[i>>2]|0;i=f[i+4>>2]|0;f[r>>2]=t+8;t=e;f[t>>2]=n;f[t+4>>2]=i;break e}case 13:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;t=(t&65535)<<16>>16;n=e;f[n>>2]=t;f[n+4>>2]=((t|0)<0)<<31>>31;break e}case 14:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;n=e;f[n>>2]=t&65535;f[n+4>>2]=0;break e}case 15:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;t=(t&255)<<24>>24;n=e;f[n>>2]=t;f[n+4>>2]=((t|0)<0)<<31>>31;break e}case 16:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;n=e;f[n>>2]=t&255;f[n+4>>2]=0;break e}case 17:{n=(f[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];f[r>>2]=n+8;u[e>>3]=a;break e}case 18:{n=(f[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];f[r>>2]=n+8;u[e>>3]=a;break e}default:break e}while(0)while(0)return}function vl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if(i>>>0>0|(i|0)==0&e>>>0>4294967295)while(1){n=zl(e|0,i|0,10,0)|0;r=r+-1|0;t[r>>0]=n|48;n=ql(e|0,i|0,10,0)|0;if(i>>>0>9|(i|0)==9&e>>>0>4294967295){e=n;i=D}else{e=n;break}}if(e)while(1){r=r+-1|0;t[r>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return r|0}function gl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0;l=c;c=c+256|0;s=l;do if((r|0)>(t|0)&(n&73728|0)==0){n=r-t|0;Ol(s|0,i|0,(n>>>0>256?256:n)|0)|0;i=f[e>>2]|0;a=(i&32|0)==0;if(n>>>0>255){t=r-t|0;do{if(a){el(s,256,e)|0;i=f[e>>2]|0}n=n+-256|0;a=(i&32|0)==0}while(n>>>0>255)if(a)n=t&255;else break}else if(!a)break;el(s,n,e)|0}while(0)c=l;return}function yl(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,R=0,O=0,L=0,I=0,B=0,N=0,F=0;do if(e>>>0<245){b=e>>>0<11?16:e+11&-8;e=b>>>3;l=f[735]|0;r=l>>>e;if(r&3){e=(r&1^1)+e|0;t=e<<1;r=2980+(t<<2)|0;t=2980+(t+2<<2)|0;n=f[t>>2]|0;a=n+8|0;s=f[a>>2]|0;do if((r|0)!=(s|0)){if(s>>>0<(f[739]|0)>>>0)ye();i=s+12|0;if((f[i>>2]|0)==(n|0)){f[i>>2]=r;f[t>>2]=s;break}else ye()}else f[735]=l&~(1<<e);while(0)F=e<<3;f[n+4>>2]=F|3;F=n+(F|4)|0;f[F>>2]=f[F>>2]|1;F=a;return F|0}s=f[737]|0;if(b>>>0>s>>>0){if(r){t=2<<e;t=r<<e&(t|0-t);t=(t&0-t)+-1|0;o=t>>>12&16;t=t>>>o;n=t>>>5&8;t=t>>>n;a=t>>>2&4;t=t>>>a;r=t>>>1&2;t=t>>>r;e=t>>>1&1;e=(n|o|a|r|e)+(t>>>e)|0;t=e<<1;r=2980+(t<<2)|0;t=2980+(t+2<<2)|0;a=f[t>>2]|0;o=a+8|0;n=f[o>>2]|0;do if((r|0)!=(n|0)){if(n>>>0<(f[739]|0)>>>0)ye();i=n+12|0;if((f[i>>2]|0)==(a|0)){f[i>>2]=r;f[t>>2]=n;u=f[737]|0;break}else ye()}else{f[735]=l&~(1<<e);u=s}while(0)F=e<<3;s=F-b|0;f[a+4>>2]=b|3;l=a+b|0;f[a+(b|4)>>2]=s|1;f[a+F>>2]=s;if(u){n=f[740]|0;r=u>>>3;i=r<<1;t=2980+(i<<2)|0;e=f[735]|0;r=1<<r;if(e&r){e=2980+(i+2<<2)|0;i=f[e>>2]|0;if(i>>>0<(f[739]|0)>>>0)ye();else{c=e;d=i}}else{f[735]=e|r;c=2980+(i+2<<2)|0;d=t}f[c>>2]=n;f[d+12>>2]=n;f[n+8>>2]=d;f[n+12>>2]=t}f[737]=s;f[740]=l;F=o;return F|0}e=f[736]|0;if(e){r=(e&0-e)+-1|0;N=r>>>12&16;r=r>>>N;B=r>>>5&8;r=r>>>B;F=r>>>2&4;r=r>>>F;e=r>>>1&2;r=r>>>e;t=r>>>1&1;t=f[3244+((B|N|F|e|t)+(r>>>t)<<2)>>2]|0;r=(f[t+4>>2]&-8)-b|0;e=t;while(1){i=f[e+16>>2]|0;if(!i){i=f[e+20>>2]|0;if(!i){o=r;break}}e=(f[i+4>>2]&-8)-b|0;F=e>>>0<r>>>0;r=F?e:r;e=i;t=F?i:t}a=f[739]|0;if(t>>>0<a>>>0)ye();l=t+b|0;if(t>>>0>=l>>>0)ye();s=f[t+24>>2]|0;r=f[t+12>>2]|0;do if((r|0)==(t|0)){e=t+20|0;i=f[e>>2]|0;if(!i){e=t+16|0;i=f[e>>2]|0;if(!i){h=0;break}}while(1){r=i+20|0;n=f[r>>2]|0;if(n){i=n;e=r;continue}r=i+16|0;n=f[r>>2]|0;if(!n)break;else{i=n;e=r}}if(e>>>0<a>>>0)ye();else{f[e>>2]=0;h=i;break}}else{n=f[t+8>>2]|0;if(n>>>0<a>>>0)ye();i=n+12|0;if((f[i>>2]|0)!=(t|0))ye();e=r+8|0;if((f[e>>2]|0)==(t|0)){f[i>>2]=r;f[e>>2]=n;h=r;break}else ye()}while(0)do if(s){i=f[t+28>>2]|0;e=3244+(i<<2)|0;if((t|0)==(f[e>>2]|0)){f[e>>2]=h;if(!h){f[736]=f[736]&~(1<<i);break}}else{if(s>>>0<(f[739]|0)>>>0)ye();i=s+16|0;if((f[i>>2]|0)==(t|0))f[i>>2]=h;else f[s+20>>2]=h;if(!h)break}e=f[739]|0;if(h>>>0<e>>>0)ye();f[h+24>>2]=s;i=f[t+16>>2]|0;do if(i)if(i>>>0<e>>>0)ye();else{f[h+16>>2]=i;f[i+24>>2]=h;break}while(0)i=f[t+20>>2]|0;if(i)if(i>>>0<(f[739]|0)>>>0)ye();else{f[h+20>>2]=i;f[i+24>>2]=h;break}}while(0)if(o>>>0<16){F=o+b|0;f[t+4>>2]=F|3;F=t+(F+4)|0;f[F>>2]=f[F>>2]|1}else{f[t+4>>2]=b|3;f[t+(b|4)>>2]=o|1;f[t+(o+b)>>2]=o;i=f[737]|0;if(i){a=f[740]|0;r=i>>>3;i=r<<1;n=2980+(i<<2)|0;e=f[735]|0;r=1<<r;if(e&r){i=2980+(i+2<<2)|0;e=f[i>>2]|0;if(e>>>0<(f[739]|0)>>>0)ye();else{k=i;w=e}}else{f[735]=e|r;k=2980+(i+2<<2)|0;w=n}f[k>>2]=a;f[w+12>>2]=a;f[a+8>>2]=w;f[a+12>>2]=n}f[737]=o;f[740]=l}F=t+8|0;return F|0}else w=b}else w=b}else if(e>>>0<=4294967231){e=e+11|0;d=e&-8;c=f[736]|0;if(c){r=0-d|0;e=e>>>8;if(e)if(d>>>0>16777215)u=31;else{w=(e+1048320|0)>>>16&8;g=e<<w;k=(g+520192|0)>>>16&4;g=g<<k;u=(g+245760|0)>>>16&2;u=14-(k|w|u)+(g<<u>>>15)|0;u=d>>>(u+7|0)&1|u<<1}else u=0;e=f[3244+(u<<2)>>2]|0;e:do if(!e){n=0;e=0;g=86}else{s=r;n=0;l=d<<((u|0)==31?0:25-(u>>>1)|0);o=e;e=0;while(1){a=f[o+4>>2]&-8;r=a-d|0;if(r>>>0<s>>>0)if((a|0)==(d|0)){a=o;e=o;g=90;break e}else e=o;else r=s;g=f[o+20>>2]|0;o=f[o+16+(l>>>31<<2)>>2]|0;n=(g|0)==0|(g|0)==(o|0)?n:g;if(!o){g=86;break}else{s=r;l=l<<1}}}while(0)if((g|0)==86){if((n|0)==0&(e|0)==0){e=2<<u;e=c&(e|0-e);if(!e){w=d;break}e=(e&0-e)+-1|0;h=e>>>12&16;e=e>>>h;c=e>>>5&8;e=e>>>c;k=e>>>2&4;e=e>>>k;w=e>>>1&2;e=e>>>w;n=e>>>1&1;n=f[3244+((c|h|k|w|n)+(e>>>n)<<2)>>2]|0;e=0}if(!n){l=r;o=e}else{a=n;g=90}}if((g|0)==90)while(1){g=0;w=(f[a+4>>2]&-8)-d|0;n=w>>>0<r>>>0;r=n?w:r;e=n?a:e;n=f[a+16>>2]|0;if(n){a=n;g=90;continue}a=f[a+20>>2]|0;if(!a){l=r;o=e;break}else g=90}if((o|0)!=0?l>>>0<((f[737]|0)-d|0)>>>0:0){n=f[739]|0;if(o>>>0<n>>>0)ye();s=o+d|0;if(o>>>0>=s>>>0)ye();a=f[o+24>>2]|0;r=f[o+12>>2]|0;do if((r|0)==(o|0)){e=o+20|0;i=f[e>>2]|0;if(!i){e=o+16|0;i=f[e>>2]|0;if(!i){b=0;break}}while(1){r=i+20|0;t=f[r>>2]|0;if(t){i=t;e=r;continue}r=i+16|0;t=f[r>>2]|0;if(!t)break;else{i=t;e=r}}if(e>>>0<n>>>0)ye();else{f[e>>2]=0;b=i;break}}else{t=f[o+8>>2]|0;if(t>>>0<n>>>0)ye();i=t+12|0;if((f[i>>2]|0)!=(o|0))ye();e=r+8|0;if((f[e>>2]|0)==(o|0)){f[i>>2]=r;f[e>>2]=t;b=r;break}else ye()}while(0)do if(a){i=f[o+28>>2]|0;e=3244+(i<<2)|0;if((o|0)==(f[e>>2]|0)){f[e>>2]=b;if(!b){f[736]=f[736]&~(1<<i);break}}else{if(a>>>0<(f[739]|0)>>>0)ye();i=a+16|0;if((f[i>>2]|0)==(o|0))f[i>>2]=b;else f[a+20>>2]=b;if(!b)break}e=f[739]|0;if(b>>>0<e>>>0)ye();f[b+24>>2]=a;i=f[o+16>>2]|0;do if(i)if(i>>>0<e>>>0)ye();else{f[b+16>>2]=i;f[i+24>>2]=b;break}while(0)i=f[o+20>>2]|0;if(i)if(i>>>0<(f[739]|0)>>>0)ye();else{f[b+20>>2]=i;f[i+24>>2]=b;break}}while(0)e:do if(l>>>0>=16){f[o+4>>2]=d|3;f[o+(d|4)>>2]=l|1;f[o+(l+d)>>2]=l;i=l>>>3;if(l>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=f[735]|0;i=1<<i;if(r&i){i=2980+(e+2<<2)|0;e=f[i>>2]|0;if(e>>>0<(f[739]|0)>>>0)ye();else{_=i;p=e}}else{f[735]=r|i;_=2980+(e+2<<2)|0;p=t}f[_>>2]=s;f[p+12>>2]=s;f[o+(d+8)>>2]=p;f[o+(d+12)>>2]=t;break}i=l>>>8;if(i)if(l>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<<N;B=(F+520192|0)>>>16&4;F=F<<B;t=(F+245760|0)>>>16&2;t=14-(B|N|t)+(F<<t>>>15)|0;t=l>>>(t+7|0)&1|t<<1}else t=0;i=3244+(t<<2)|0;f[o+(d+28)>>2]=t;f[o+(d+20)>>2]=0;f[o+(d+16)>>2]=0;e=f[736]|0;r=1<<t;if(!(e&r)){f[736]=e|r;f[i>>2]=s;f[o+(d+24)>>2]=i;f[o+(d+12)>>2]=s;f[o+(d+8)>>2]=s;break}i=f[i>>2]|0;i:do if((f[i+4>>2]&-8|0)!=(l|0)){t=l<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(l|0)){A=r;break i}else{t=t<<1;i=r}}if(e>>>0<(f[739]|0)>>>0)ye();else{f[e>>2]=s;f[o+(d+24)>>2]=i;f[o+(d+12)>>2]=s;f[o+(d+8)>>2]=s;break e}}else A=i;while(0)i=A+8|0;e=f[i>>2]|0;F=f[739]|0;if(e>>>0>=F>>>0&A>>>0>=F>>>0){f[e+12>>2]=s;f[i>>2]=s;f[o+(d+8)>>2]=e;f[o+(d+12)>>2]=A;f[o+(d+24)>>2]=0;break}else ye()}else{F=l+d|0;f[o+4>>2]=F|3;F=o+(F+4)|0;f[F>>2]=f[F>>2]|1}while(0)F=o+8|0;return F|0}else w=d}else w=d}else w=-1;while(0)r=f[737]|0;if(r>>>0>=w>>>0){i=r-w|0;e=f[740]|0;if(i>>>0>15){f[740]=e+w;f[737]=i;f[e+(w+4)>>2]=i|1;f[e+r>>2]=i;f[e+4>>2]=w|3}else{f[737]=0;f[740]=0;f[e+4>>2]=r|3;F=e+(r+4)|0;f[F>>2]=f[F>>2]|1}F=e+8|0;return F|0}e=f[738]|0;if(e>>>0>w>>>0){N=e-w|0;f[738]=N;F=f[741]|0;f[741]=F+w;f[F+(w+4)>>2]=N|1;f[F+4>>2]=w|3;F=F+8|0;return F|0}do if(!(f[853]|0)){e=Ce(30)|0;if(!(e+-1&e)){f[855]=e;f[854]=e;f[856]=-1;f[857]=-1;f[858]=0;f[846]=0;f[853]=(Ue(0)|0)&-16^1431655768;break}else ye()}while(0)o=w+48|0;l=f[855]|0;u=w+47|0;s=l+u|0;l=0-l|0;c=s&l;if(c>>>0<=w>>>0){F=0;return F|0}e=f[845]|0;if((e|0)!=0?(p=f[843]|0,A=p+c|0,A>>>0<=p>>>0|A>>>0>e>>>0):0){F=0;return F|0}e:do if(!(f[846]&4)){e=f[741]|0;i:do if(e){n=3388;while(1){r=f[n>>2]|0;if(r>>>0<=e>>>0?(m=n+4|0,(r+(f[m>>2]|0)|0)>>>0>e>>>0):0){a=n;e=m;break}n=f[n+8>>2]|0;if(!n){g=174;break i}}r=s-(f[738]|0)&l;if(r>>>0<2147483647){n=Te(r|0)|0;A=(n|0)==((f[a>>2]|0)+(f[e>>2]|0)|0);e=A?r:0;if(A){if((n|0)!=(-1|0)){y=n;k=e;g=194;break e}}else g=184}else e=0}else g=174;while(0)do if((g|0)==174){a=Te(0)|0;if((a|0)!=(-1|0)){e=a;r=f[854]|0;n=r+-1|0;if(!(n&e))r=c;else r=c-e+(n+e&0-r)|0;e=f[843]|0;n=e+r|0;if(r>>>0>w>>>0&r>>>0<2147483647){A=f[845]|0;if((A|0)!=0?n>>>0<=e>>>0|n>>>0>A>>>0:0){e=0;break}n=Te(r|0)|0;A=(n|0)==(a|0);e=A?r:0;if(A){y=a;k=e;g=194;break e}else g=184}else e=0}else e=0}while(0)i:do if((g|0)==184){a=0-r|0;do if(o>>>0>r>>>0&(r>>>0<2147483647&(n|0)!=(-1|0))?(v=f[855]|0,v=u-r+v&0-v,v>>>0<2147483647):0)if((Te(v|0)|0)==(-1|0)){Te(a|0)|0;break i}else{r=v+r|0;break}while(0)if((n|0)!=(-1|0)){y=n;k=r;g=194;break e}}while(0)f[846]=f[846]|4;g=191}else{e=0;g=191}while(0)if((((g|0)==191?c>>>0<2147483647:0)?(y=Te(c|0)|0,E=Te(0)|0,y>>>0<E>>>0&((y|0)!=(-1|0)&(E|0)!=(-1|0))):0)?(S=E-y|0,T=S>>>0>(w+40|0)>>>0,T):0){k=T?S:e;g=194}if((g|0)==194){e=(f[843]|0)+k|0;f[843]=e;if(e>>>0>(f[844]|0)>>>0)f[844]=e;s=f[741]|0;e:do if(s){a=3388;do{e=f[a>>2]|0;r=a+4|0;n=f[r>>2]|0;if((y|0)==(e+n|0)){M=e;C=r;P=n;x=a;g=204;break}a=f[a+8>>2]|0}while((a|0)!=0)if(((g|0)==204?(f[x+12>>2]&8|0)==0:0)?s>>>0<y>>>0&s>>>0>=M>>>0:0){f[C>>2]=P+k;F=(f[738]|0)+k|0;N=s+8|0;N=(N&7|0)==0?0:0-N&7;B=F-N|0;f[741]=s+N;f[738]=B;f[s+(N+4)>>2]=B|1;f[s+(F+4)>>2]=40;f[742]=f[857];break}e=f[739]|0;if(y>>>0<e>>>0){f[739]=y;e=y}r=y+k|0;a=3388;while(1){if((f[a>>2]|0)==(r|0)){n=a;r=a;g=212;break}a=f[a+8>>2]|0;if(!a){r=3388;break}}if((g|0)==212)if(!(f[r+12>>2]&8)){f[n>>2]=y;h=r+4|0;f[h>>2]=(f[h>>2]|0)+k;h=y+8|0;h=(h&7|0)==0?0:0-h&7;u=y+(k+8)|0;u=(u&7|0)==0?0:0-u&7;i=y+(u+k)|0;d=h+w|0;b=y+d|0;c=i-(y+h)-w|0;f[y+(h+4)>>2]=w|3;i:do if((i|0)!=(s|0)){if((i|0)==(f[740]|0)){F=(f[737]|0)+c|0;f[737]=F;f[740]=b;f[y+(d+4)>>2]=F|1;f[y+(F+d)>>2]=F;break}l=k+4|0;r=f[y+(l+u)>>2]|0;if((r&3|0)==1){o=r&-8;a=r>>>3;r:do if(r>>>0>=256){s=f[y+((u|24)+k)>>2]|0;t=f[y+(k+12+u)>>2]|0;do if((t|0)==(i|0)){n=u|16;t=y+(l+n)|0;r=f[t>>2]|0;if(!r){t=y+(n+k)|0;r=f[t>>2]|0;if(!r){I=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0<e>>>0)ye();else{f[t>>2]=0;I=r;break}}else{n=f[y+((u|8)+k)>>2]|0;if(n>>>0<e>>>0)ye();e=n+12|0;if((f[e>>2]|0)!=(i|0))ye();r=t+8|0;if((f[r>>2]|0)==(i|0)){f[e>>2]=t;f[r>>2]=n;I=t;break}else ye()}while(0)if(!s)break;e=f[y+(k+28+u)>>2]|0;r=3244+(e<<2)|0;do if((i|0)!=(f[r>>2]|0)){if(s>>>0<(f[739]|0)>>>0)ye();e=s+16|0;if((f[e>>2]|0)==(i|0))f[e>>2]=I;else f[s+20>>2]=I;if(!I)break r}else{f[r>>2]=I;if(I)break;f[736]=f[736]&~(1<<e);break r}while(0)r=f[739]|0;if(I>>>0<r>>>0)ye();f[I+24>>2]=s;i=u|16;e=f[y+(i+k)>>2]|0;do if(e)if(e>>>0<r>>>0)ye();else{f[I+16>>2]=e;f[e+24>>2]=I;break}while(0)i=f[y+(l+i)>>2]|0;if(!i)break;if(i>>>0<(f[739]|0)>>>0)ye();else{f[I+20>>2]=i;f[i+24>>2]=I;break}}else{t=f[y+((u|8)+k)>>2]|0;n=f[y+(k+12+u)>>2]|0;r=2980+(a<<1<<2)|0;do if((t|0)!=(r|0)){if(t>>>0<e>>>0)ye();if((f[t+12>>2]|0)==(i|0))break;ye()}while(0)if((n|0)==(t|0)){f[735]=f[735]&~(1<<a);break}do if((n|0)==(r|0))D=n+8|0;else{if(n>>>0<e>>>0)ye();e=n+8|0;if((f[e>>2]|0)==(i|0)){D=e;break}ye()}while(0)f[t+12>>2]=n;f[D>>2]=t}while(0)i=y+((o|u)+k)|0;n=o+c|0}else n=c;i=i+4|0;f[i>>2]=f[i>>2]&-2;f[y+(d+4)>>2]=n|1;f[y+(n+d)>>2]=n;i=n>>>3;if(n>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=f[735]|0;i=1<<i;do if(!(r&i)){f[735]=r|i;B=2980+(e+2<<2)|0;N=t}else{i=2980+(e+2<<2)|0;e=f[i>>2]|0;if(e>>>0>=(f[739]|0)>>>0){B=i;N=e;break}ye()}while(0)f[B>>2]=b;f[N+12>>2]=b;f[y+(d+8)>>2]=N;f[y+(d+12)>>2]=t;break}i=n>>>8;do if(!i)t=0;else{if(n>>>0>16777215){t=31;break}B=(i+1048320|0)>>>16&8;N=i<<B;I=(N+520192|0)>>>16&4;N=N<<I;t=(N+245760|0)>>>16&2;t=14-(I|B|t)+(N<<t>>>15)|0;t=n>>>(t+7|0)&1|t<<1}while(0)i=3244+(t<<2)|0;f[y+(d+28)>>2]=t;f[y+(d+20)>>2]=0;f[y+(d+16)>>2]=0;e=f[736]|0;r=1<<t;if(!(e&r)){f[736]=e|r;f[i>>2]=b;f[y+(d+24)>>2]=i;f[y+(d+12)>>2]=b;f[y+(d+8)>>2]=b;break}i=f[i>>2]|0;r:do if((f[i+4>>2]&-8|0)!=(n|0)){t=n<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(n|0)){F=r;break r}else{t=t<<1;i=r}}if(e>>>0<(f[739]|0)>>>0)ye();else{f[e>>2]=b;f[y+(d+24)>>2]=i;f[y+(d+12)>>2]=b;f[y+(d+8)>>2]=b;break i}}else F=i;while(0)i=F+8|0;e=f[i>>2]|0;N=f[739]|0;if(e>>>0>=N>>>0&F>>>0>=N>>>0){f[e+12>>2]=b;f[i>>2]=b;f[y+(d+8)>>2]=e;f[y+(d+12)>>2]=F;f[y+(d+24)>>2]=0;break}else ye()}else{F=(f[738]|0)+c|0;f[738]=F;f[741]=b;f[y+(d+4)>>2]=F|1}while(0)F=y+(h|8)|0;return F|0}else r=3388;while(1){e=f[r>>2]|0;if(e>>>0<=s>>>0?(i=f[r+4>>2]|0,t=e+i|0,t>>>0>s>>>0):0)break;r=f[r+8>>2]|0}n=e+(i+-39)|0;e=e+(i+-47+((n&7|0)==0?0:0-n&7))|0;n=s+16|0;e=e>>>0<n>>>0?s:e;i=e+8|0;r=y+8|0;r=(r&7|0)==0?0:0-r&7;F=k+-40-r|0;f[741]=y+r;f[738]=F;f[y+(r+4)>>2]=F|1;f[y+(k+-36)>>2]=40;f[742]=f[857];r=e+4|0;f[r>>2]=27;f[i>>2]=f[847];f[i+4>>2]=f[848];f[i+8>>2]=f[849];f[i+12>>2]=f[850];f[847]=y;f[848]=k;f[850]=0;f[849]=i;i=e+28|0;f[i>>2]=7;if((e+32|0)>>>0<t>>>0)do{F=i;i=i+4|0;f[i>>2]=7}while((F+8|0)>>>0<t>>>0)if((e|0)!=(s|0)){a=e-s|0;f[r>>2]=f[r>>2]&-2;f[s+4>>2]=a|1;f[e>>2]=a;i=a>>>3;if(a>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=f[735]|0;i=1<<i;if(r&i){i=2980+(e+2<<2)|0;e=f[i>>2]|0;if(e>>>0<(f[739]|0)>>>0)ye();else{R=i;O=e}}else{f[735]=r|i;R=2980+(e+2<<2)|0;O=t}f[R>>2]=s;f[O+12>>2]=s;f[s+8>>2]=O;f[s+12>>2]=t;break}i=a>>>8;if(i)if(a>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<<N;B=(F+520192|0)>>>16&4;F=F<<B;t=(F+245760|0)>>>16&2;t=14-(B|N|t)+(F<<t>>>15)|0;t=a>>>(t+7|0)&1|t<<1}else t=0;r=3244+(t<<2)|0;f[s+28>>2]=t;f[s+20>>2]=0;f[n>>2]=0;i=f[736]|0;e=1<<t;if(!(i&e)){f[736]=i|e;f[r>>2]=s;f[s+24>>2]=r;f[s+12>>2]=s;f[s+8>>2]=s;break}i=f[r>>2]|0;i:do if((f[i+4>>2]&-8|0)!=(a|0)){t=a<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(a|0)){L=r;break i}else{t=t<<1;i=r}}if(e>>>0<(f[739]|0)>>>0)ye();else{f[e>>2]=s;f[s+24>>2]=i;f[s+12>>2]=s;f[s+8>>2]=s;break e}}else L=i;while(0)i=L+8|0;e=f[i>>2]|0;F=f[739]|0;if(e>>>0>=F>>>0&L>>>0>=F>>>0){f[e+12>>2]=s;f[i>>2]=s;f[s+8>>2]=e;f[s+12>>2]=L;f[s+24>>2]=0;break}else ye()}}else{F=f[739]|0;if((F|0)==0|y>>>0<F>>>0)f[739]=y;f[847]=y;f[848]=k;f[850]=0;f[744]=f[853];f[743]=-1;i=0;do{F=i<<1;N=2980+(F<<2)|0;f[2980+(F+3<<2)>>2]=N;f[2980+(F+2<<2)>>2]=N;i=i+1|0}while((i|0)!=32)F=y+8|0;F=(F&7|0)==0?0:0-F&7;N=k+-40-F|0;f[741]=y+F;f[738]=N;f[y+(F+4)>>2]=N|1;f[y+(k+-36)>>2]=40;f[742]=f[857]}while(0)i=f[738]|0;if(i>>>0>w>>>0){N=i-w|0;f[738]=N;F=f[741]|0;f[741]=F+w;f[F+(w+4)>>2]=N|1;f[F+4>>2]=w|3;F=F+8|0;return F|0}}f[(_s()|0)>>2]=12;F=0;return F|0}function El(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0;if(!e)return;i=e+-8|0;l=f[739]|0;if(i>>>0<l>>>0)ye();r=f[e+-4>>2]|0;t=r&3;if((t|0)==1)ye();b=r&-8;w=e+(b+-8)|0;do if(!(r&1)){i=f[i>>2]|0;if(!t)return;o=-8-i|0;c=e+o|0;d=i+b|0;if(c>>>0<l>>>0)ye();if((c|0)==(f[740]|0)){i=e+(b+-4)|0;r=f[i>>2]|0;if((r&3|0)!=3){v=c;a=d;break}f[737]=d;f[i>>2]=r&-2;f[e+(o+4)>>2]=d|1;f[w>>2]=d;return}n=i>>>3;if(i>>>0<256){t=f[e+(o+8)>>2]|0;r=f[e+(o+12)>>2]|0;i=2980+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<l>>>0)ye();if((f[t+12>>2]|0)!=(c|0))ye()}if((r|0)==(t|0)){f[735]=f[735]&~(1<<n);v=c;a=d;break}if((r|0)!=(i|0)){if(r>>>0<l>>>0)ye();i=r+8|0;if((f[i>>2]|0)==(c|0))s=i;else ye()}else s=r+8|0;f[t+12>>2]=r;f[s>>2]=t;v=c;a=d;break}s=f[e+(o+24)>>2]|0;t=f[e+(o+12)>>2]|0;do if((t|0)==(c|0)){r=e+(o+20)|0;i=f[r>>2]|0;if(!i){r=e+(o+16)|0;i=f[r>>2]|0;if(!i){u=0;break}}while(1){t=i+20|0;n=f[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=f[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<l>>>0)ye();else{f[r>>2]=0;u=i;break}}else{n=f[e+(o+8)>>2]|0;if(n>>>0<l>>>0)ye();i=n+12|0;if((f[i>>2]|0)!=(c|0))ye();r=t+8|0;if((f[r>>2]|0)==(c|0)){f[i>>2]=t;f[r>>2]=n;u=t;break}else ye()}while(0)if(s){i=f[e+(o+28)>>2]|0;r=3244+(i<<2)|0;if((c|0)==(f[r>>2]|0)){f[r>>2]=u;if(!u){f[736]=f[736]&~(1<<i);v=c;a=d;break}}else{if(s>>>0<(f[739]|0)>>>0)ye();i=s+16|0;if((f[i>>2]|0)==(c|0))f[i>>2]=u;else f[s+20>>2]=u;if(!u){v=c;a=d;break}}r=f[739]|0;if(u>>>0<r>>>0)ye();f[u+24>>2]=s;i=f[e+(o+16)>>2]|0;do if(i)if(i>>>0<r>>>0)ye();else{f[u+16>>2]=i;f[i+24>>2]=u;break}while(0)i=f[e+(o+20)>>2]|0;if(i)if(i>>>0<(f[739]|0)>>>0)ye();else{f[u+20>>2]=i;f[i+24>>2]=u;v=c;a=d;break}else{v=c;a=d}}else{v=c;a=d}}else{v=i;a=b}while(0)if(v>>>0>=w>>>0)ye();i=e+(b+-4)|0;r=f[i>>2]|0;if(!(r&1))ye();if(!(r&2)){if((w|0)==(f[741]|0)){p=(f[738]|0)+a|0;f[738]=p;f[741]=v;f[v+4>>2]=p|1;if((v|0)!=(f[740]|0))return;f[740]=0;f[737]=0;return}if((w|0)==(f[740]|0)){p=(f[737]|0)+a|0;f[737]=p;f[740]=v;f[v+4>>2]=p|1;f[v+p>>2]=p;return}a=(r&-8)+a|0;n=r>>>3;do if(r>>>0>=256){s=f[e+(b+16)>>2]|0;i=f[e+(b|4)>>2]|0;do if((i|0)==(w|0)){r=e+(b+12)|0;i=f[r>>2]|0;if(!i){r=e+(b+8)|0;i=f[r>>2]|0;if(!i){k=0;break}}while(1){t=i+20|0;n=f[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=f[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<(f[739]|0)>>>0)ye();else{f[r>>2]=0;k=i;break}}else{r=f[e+b>>2]|0;if(r>>>0<(f[739]|0)>>>0)ye();t=r+12|0;if((f[t>>2]|0)!=(w|0))ye();n=i+8|0;if((f[n>>2]|0)==(w|0)){f[t>>2]=i;f[n>>2]=r;k=i;break}else ye()}while(0)if(s){i=f[e+(b+20)>>2]|0;r=3244+(i<<2)|0;if((w|0)==(f[r>>2]|0)){f[r>>2]=k;if(!k){f[736]=f[736]&~(1<<i);break}}else{if(s>>>0<(f[739]|0)>>>0)ye();i=s+16|0;if((f[i>>2]|0)==(w|0))f[i>>2]=k;else f[s+20>>2]=k;if(!k)break}r=f[739]|0;if(k>>>0<r>>>0)ye();f[k+24>>2]=s;i=f[e+(b+8)>>2]|0;do if(i)if(i>>>0<r>>>0)ye();else{f[k+16>>2]=i;f[i+24>>2]=k;break}while(0)i=f[e+(b+12)>>2]|0;if(i)if(i>>>0<(f[739]|0)>>>0)ye();else{f[k+20>>2]=i;f[i+24>>2]=k;break}}}else{t=f[e+b>>2]|0;r=f[e+(b|4)>>2]|0;i=2980+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<(f[739]|0)>>>0)ye();if((f[t+12>>2]|0)!=(w|0))ye()}if((r|0)==(t|0)){f[735]=f[735]&~(1<<n);break}if((r|0)!=(i|0)){if(r>>>0<(f[739]|0)>>>0)ye();i=r+8|0;if((f[i>>2]|0)==(w|0))h=i;else ye()}else h=r+8|0;f[t+12>>2]=r;f[h>>2]=t}while(0)f[v+4>>2]=a|1;f[v+a>>2]=a;if((v|0)==(f[740]|0)){f[737]=a;return}}else{f[i>>2]=r&-2;f[v+4>>2]=a|1;f[v+a>>2]=a}i=a>>>3;if(a>>>0<256){r=i<<1;n=2980+(r<<2)|0;t=f[735]|0;i=1<<i;if(t&i){i=2980+(r+2<<2)|0;r=f[i>>2]|0;if(r>>>0<(f[739]|0)>>>0)ye();else{m=i;_=r}}else{f[735]=t|i;m=2980+(r+2<<2)|0;_=n}f[m>>2]=v;f[_+12>>2]=v;f[v+8>>2]=_;f[v+12>>2]=n;return}i=a>>>8;if(i)if(a>>>0>16777215)n=31;else{m=(i+1048320|0)>>>16&8;_=i<<m;w=(_+520192|0)>>>16&4;_=_<<w;n=(_+245760|0)>>>16&2;n=14-(w|m|n)+(_<<n>>>15)|0;n=a>>>(n+7|0)&1|n<<1}else n=0;i=3244+(n<<2)|0;f[v+28>>2]=n;f[v+20>>2]=0;f[v+16>>2]=0;r=f[736]|0;t=1<<n;e:do if(r&t){i=f[i>>2]|0;i:do if((f[i+4>>2]&-8|0)!=(a|0)){n=a<<((n|0)==31?0:25-(n>>>1)|0);while(1){r=i+16+(n>>>31<<2)|0;t=f[r>>2]|0;if(!t)break;if((f[t+4>>2]&-8|0)==(a|0)){p=t;break i}else{n=n<<1;i=t}}if(r>>>0<(f[739]|0)>>>0)ye();else{f[r>>2]=v;f[v+24>>2]=i;f[v+12>>2]=v;f[v+8>>2]=v;break e}}else p=i;while(0)i=p+8|0;r=f[i>>2]|0;_=f[739]|0;if(r>>>0>=_>>>0&p>>>0>=_>>>0){f[r+12>>2]=v;f[i>>2]=v;f[v+8>>2]=r;f[v+12>>2]=p;f[v+24>>2]=0;break}else ye()}else{f[736]=r|t;f[i>>2]=v;f[v+24>>2]=i;f[v+12>>2]=v;f[v+8>>2]=v}while(0)v=(f[743]|0)+-1|0;f[743]=v;if(!v)i=3396;else return;while(1){i=f[i>>2]|0;if(!i)break;else i=i+8|0}f[743]=-1;return}function Al(e,i){e=e|0;i=i|0;var r=0;if(e){r=ie(i,e)|0;if((i|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(i|0)?r:-1}else r=0;i=yl(r)|0;if(!i)return i|0;if(!(f[i+-4>>2]&3))return i|0;Ol(i|0,0,r|0)|0;return i|0}function Sl(e,i){e=e|0;i=i|0;var r=0,t=0;if(!e){e=yl(i)|0;return e|0}if(i>>>0>4294967231){f[(_s()|0)>>2]=12;e=0;return e|0}r=Ml(e+-8|0,i>>>0<11?16:i+11&-8)|0;if(r){e=r+8|0;return e|0}r=yl(i)|0;if(!r){e=0;return e|0}t=f[e+-4>>2]|0;t=(t&-8)-((t&3|0)==0?8:4)|0;Nl(r|0,e|0,(t>>>0<i>>>0?t:i)|0)|0;El(e);e=r;return e|0}function Tl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;do if((i|0)!=8){t=i>>>2;if((i&3|0)!=0|(t|0)==0){e=22;return e|0}if(t+1073741823&t){e=22;return e|0}if((-64-i|0)>>>0<r>>>0){e=12;return e|0}else{t=Cl(i>>>0<16?16:i,r)|0;break}}else t=yl(r)|0;while(0)if(!t){e=12;return e|0}f[e>>2]=t;e=0;return e|0}function Ml(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;b=e+4|0;k=f[b>>2]|0;o=k&-8;c=e+o|0;l=f[739]|0;r=k&3;if(!((r|0)!=1&e>>>0>=l>>>0&e>>>0<c>>>0))ye();t=e+(o|4)|0;n=f[t>>2]|0;if(!(n&1))ye();if(!r){if(i>>>0<256){e=0;return e|0}if(o>>>0>=(i+4|0)>>>0?(o-i|0)>>>0<=f[855]<<1>>>0:0)return e|0;e=0;return e|0}if(o>>>0>=i>>>0){r=o-i|0;if(r>>>0<=15)return e|0;f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=r|3;f[t>>2]=f[t>>2]|1;Pl(e+i|0,r);return e|0}if((c|0)==(f[741]|0)){r=(f[738]|0)+o|0;if(r>>>0<=i>>>0){e=0;return e|0}h=r-i|0;f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=h|1;f[741]=e+i;f[738]=h;return e|0}if((c|0)==(f[740]|0)){t=(f[737]|0)+o|0;if(t>>>0<i>>>0){e=0;return e|0}r=t-i|0;if(r>>>0>15){f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=r|1;f[e+t>>2]=r;t=e+(t+4)|0;f[t>>2]=f[t>>2]&-2;t=e+i|0}else{f[b>>2]=k&1|t|2;t=e+(t+4)|0;f[t>>2]=f[t>>2]|1;t=0;r=0}f[737]=r;f[740]=t;return e|0}if(n&2){e=0;return e|0}d=(n&-8)+o|0;if(d>>>0<i>>>0){e=0;return e|0}h=d-i|0;a=n>>>3;do if(n>>>0>=256){s=f[e+(o+24)>>2]|0;a=f[e+(o+12)>>2]|0;do if((a|0)==(c|0)){t=e+(o+20)|0;r=f[t>>2]|0;if(!r){t=e+(o+16)|0;r=f[t>>2]|0;if(!r){u=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0<l>>>0)ye();else{f[t>>2]=0;u=r;break}}else{n=f[e+(o+8)>>2]|0;if(n>>>0<l>>>0)ye();r=n+12|0;if((f[r>>2]|0)!=(c|0))ye();t=a+8|0;if((f[t>>2]|0)==(c|0)){f[r>>2]=a;f[t>>2]=n;u=a;break}else ye()}while(0)if(s){r=f[e+(o+28)>>2]|0;t=3244+(r<<2)|0;if((c|0)==(f[t>>2]|0)){f[t>>2]=u;if(!u){f[736]=f[736]&~(1<<r);break}}else{if(s>>>0<(f[739]|0)>>>0)ye();r=s+16|0;if((f[r>>2]|0)==(c|0))f[r>>2]=u;else f[s+20>>2]=u;if(!u)break}t=f[739]|0;if(u>>>0<t>>>0)ye();f[u+24>>2]=s;r=f[e+(o+16)>>2]|0;do if(r)if(r>>>0<t>>>0)ye();else{f[u+16>>2]=r;f[r+24>>2]=u;break}while(0)r=f[e+(o+20)>>2]|0;if(r)if(r>>>0<(f[739]|0)>>>0)ye();else{f[u+20>>2]=r;f[r+24>>2]=u;break}}}else{n=f[e+(o+8)>>2]|0;t=f[e+(o+12)>>2]|0;r=2980+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<l>>>0)ye();if((f[n+12>>2]|0)!=(c|0))ye()}if((t|0)==(n|0)){f[735]=f[735]&~(1<<a);break}if((t|0)!=(r|0)){if(t>>>0<l>>>0)ye();r=t+8|0;if((f[r>>2]|0)==(c|0))s=r;else ye()}else s=t+8|0;f[n+12>>2]=t;f[s>>2]=n}while(0)if(h>>>0<16){f[b>>2]=d|k&1|2;i=e+(d|4)|0;f[i>>2]=f[i>>2]|1;return e|0}else{f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=h|3;k=e+(d|4)|0;f[k>>2]=f[k>>2]|1;Pl(e+i|0,h);return e|0}return 0}function Cl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0;e=e>>>0<16?16:e;if(e+-1&e){r=16;while(1)if(r>>>0<e>>>0)r=r<<1;else{e=r;break}}if((-64-e|0)>>>0<=i>>>0){f[(_s()|0)>>2]=12;l=0;return l|0}s=i>>>0<11?16:i+11&-8;t=yl(s+12+e|0)|0;if(!t){l=0;return l|0}i=t+-8|0;r=e+-1|0;do if(t&r){n=t+r&0-e;r=n+-8|0;a=i;n=(r-a|0)>>>0>15?r:n+(e+-8)|0;a=n-a|0;e=t+-4|0;t=f[e>>2]|0;r=(t&-8)-a|0;if(!(t&3)){f[n>>2]=(f[i>>2]|0)+a;f[n+4>>2]=r;i=n;break}else{t=n+4|0;f[t>>2]=r|f[t>>2]&1|2;r=n+(r+4)|0;f[r>>2]=f[r>>2]|1;f[e>>2]=a|f[e>>2]&1|2;f[t>>2]=f[t>>2]|1;Pl(i,a);i=n;break}}while(0)e=i+4|0;r=f[e>>2]|0;if((r&3|0)!=0?(l=r&-8,l>>>0>(s+16|0)>>>0):0){a=l-s|0;f[e>>2]=s|r&1|2;f[i+(s|4)>>2]=a|3;l=i+(l|4)|0;f[l>>2]=f[l>>2]|1;Pl(i+s|0,a)}l=i+8|0;return l|0}function Pl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0;w=e+i|0;r=f[e+4>>2]|0;do if(!(r&1)){u=f[e>>2]|0;if(!(r&3))return;h=e+(0-u)|0;d=u+i|0;o=f[739]|0;if(h>>>0<o>>>0)ye();if((h|0)==(f[740]|0)){t=e+(i+4)|0;r=f[t>>2]|0;if((r&3|0)!=3){p=h;s=d;break}f[737]=d;f[t>>2]=r&-2;f[e+(4-u)>>2]=d|1;f[w>>2]=d;return}a=u>>>3;if(u>>>0<256){n=f[e+(8-u)>>2]|0;t=f[e+(12-u)>>2]|0;r=2980+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<o>>>0)ye();if((f[n+12>>2]|0)!=(h|0))ye()}if((t|0)==(n|0)){f[735]=f[735]&~(1<<a);p=h;s=d;break}if((t|0)!=(r|0)){if(t>>>0<o>>>0)ye();r=t+8|0;if((f[r>>2]|0)==(h|0))l=r;else ye()}else l=t+8|0;f[n+12>>2]=t;f[l>>2]=n;p=h;s=d;break}l=f[e+(24-u)>>2]|0;n=f[e+(12-u)>>2]|0;do if((n|0)==(h|0)){n=16-u|0;t=e+(n+4)|0;r=f[t>>2]|0;if(!r){t=e+n|0;r=f[t>>2]|0;if(!r){c=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0<o>>>0)ye();else{f[t>>2]=0;c=r;break}}else{a=f[e+(8-u)>>2]|0;if(a>>>0<o>>>0)ye();r=a+12|0;if((f[r>>2]|0)!=(h|0))ye();t=n+8|0;if((f[t>>2]|0)==(h|0)){f[r>>2]=n;f[t>>2]=a;c=n;break}else ye()}while(0)if(l){r=f[e+(28-u)>>2]|0;t=3244+(r<<2)|0;if((h|0)==(f[t>>2]|0)){f[t>>2]=c;if(!c){f[736]=f[736]&~(1<<r);p=h;s=d;break}}else{if(l>>>0<(f[739]|0)>>>0)ye();r=l+16|0;if((f[r>>2]|0)==(h|0))f[r>>2]=c;else f[l+20>>2]=c;if(!c){p=h;s=d;break}}n=f[739]|0;if(c>>>0<n>>>0)ye();f[c+24>>2]=l;r=16-u|0;t=f[e+r>>2]|0;do if(t)if(t>>>0<n>>>0)ye();else{f[c+16>>2]=t;f[t+24>>2]=c;break}while(0)r=f[e+(r+4)>>2]|0;if(r)if(r>>>0<(f[739]|0)>>>0)ye();else{f[c+20>>2]=r;f[r+24>>2]=c;p=h;s=d;break}else{p=h;s=d}}else{p=h;s=d}}else{p=e;s=i}while(0)o=f[739]|0;if(w>>>0<o>>>0)ye();r=e+(i+4)|0;t=f[r>>2]|0;if(!(t&2)){if((w|0)==(f[741]|0)){_=(f[738]|0)+s|0;f[738]=_;f[741]=p;f[p+4>>2]=_|1;if((p|0)!=(f[740]|0))return;f[740]=0;f[737]=0;return}if((w|0)==(f[740]|0)){_=(f[737]|0)+s|0;f[737]=_;f[740]=p;f[p+4>>2]=_|1;f[p+_>>2]=_;return}s=(t&-8)+s|0;a=t>>>3;do if(t>>>0>=256){l=f[e+(i+24)>>2]|0;n=f[e+(i+12)>>2]|0;do if((n|0)==(w|0)){t=e+(i+20)|0;r=f[t>>2]|0;if(!r){t=e+(i+16)|0;r=f[t>>2]|0;if(!r){k=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0<o>>>0)ye();else{f[t>>2]=0;k=r;break}}else{a=f[e+(i+8)>>2]|0;if(a>>>0<o>>>0)ye();r=a+12|0;if((f[r>>2]|0)!=(w|0))ye();t=n+8|0;if((f[t>>2]|0)==(w|0)){f[r>>2]=n;f[t>>2]=a;k=n;break}else ye()}while(0)if(l){r=f[e+(i+28)>>2]|0;t=3244+(r<<2)|0;if((w|0)==(f[t>>2]|0)){f[t>>2]=k;if(!k){f[736]=f[736]&~(1<<r);break}}else{if(l>>>0<(f[739]|0)>>>0)ye();r=l+16|0;if((f[r>>2]|0)==(w|0))f[r>>2]=k;else f[l+20>>2]=k;if(!k)break}t=f[739]|0;if(k>>>0<t>>>0)ye();f[k+24>>2]=l;r=f[e+(i+16)>>2]|0;do if(r)if(r>>>0<t>>>0)ye();else{f[k+16>>2]=r;f[r+24>>2]=k;break}while(0)r=f[e+(i+20)>>2]|0;if(r)if(r>>>0<(f[739]|0)>>>0)ye();else{f[k+20>>2]=r;f[r+24>>2]=k;break}}}else{n=f[e+(i+8)>>2]|0;t=f[e+(i+12)>>2]|0;r=2980+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<o>>>0)ye();if((f[n+12>>2]|0)!=(w|0))ye()}if((t|0)==(n|0)){f[735]=f[735]&~(1<<a);break}if((t|0)!=(r|0)){if(t>>>0<o>>>0)ye();r=t+8|0;if((f[r>>2]|0)==(w|0))b=r;else ye()}else b=t+8|0;f[n+12>>2]=t;f[b>>2]=n}while(0)f[p+4>>2]=s|1;f[p+s>>2]=s;if((p|0)==(f[740]|0)){f[737]=s;return}}else{f[r>>2]=t&-2;f[p+4>>2]=s|1;f[p+s>>2]=s}r=s>>>3;if(s>>>0<256){t=r<<1;a=2980+(t<<2)|0;n=f[735]|0;r=1<<r;if(n&r){r=2980+(t+2<<2)|0;t=f[r>>2]|0;if(t>>>0<(f[739]|0)>>>0)ye();else{m=r;_=t}}else{f[735]=n|r;m=2980+(t+2<<2)|0;_=a}f[m>>2]=p;f[_+12>>2]=p;f[p+8>>2]=_;f[p+12>>2]=a;return}r=s>>>8;if(r)if(s>>>0>16777215)a=31;else{m=(r+1048320|0)>>>16&8;_=r<<m;w=(_+520192|0)>>>16&4;_=_<<w;a=(_+245760|0)>>>16&2;a=14-(w|m|a)+(_<<a>>>15)|0;a=s>>>(a+7|0)&1|a<<1}else a=0;r=3244+(a<<2)|0;f[p+28>>2]=a;f[p+20>>2]=0;f[p+16>>2]=0;t=f[736]|0;n=1<<a;if(!(t&n)){f[736]=t|n;f[r>>2]=p;f[p+24>>2]=r;f[p+12>>2]=p;f[p+8>>2]=p;return}r=f[r>>2]|0;e:do if((f[r+4>>2]&-8|0)!=(s|0)){a=s<<((a|0)==31?0:25-(a>>>1)|0);while(1){t=r+16+(a>>>31<<2)|0;n=f[t>>2]|0;if(!n)break;if((f[n+4>>2]&-8|0)==(s|0)){r=n;break e}else{a=a<<1;r=n}}if(t>>>0<(f[739]|0)>>>0)ye();f[t>>2]=p;f[p+24>>2]=r;f[p+12>>2]=p;f[p+8>>2]=p;return}while(0)t=r+8|0;n=f[t>>2]|0;_=f[739]|0;if(!(n>>>0>=_>>>0&r>>>0>=_>>>0))ye();f[n+12>>2]=p;f[t>>2]=p;f[p+8>>2]=n;f[p+12>>2]=r;f[p+24>>2]=0;return}function xl(){}function Dl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=i-t-(r>>>0>e>>>0|0)>>>0;return(D=t,e-r>>>0|0)|0}function Rl(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){D=i>>r;return e>>>r|(i&(1<<r)-1)<<32-r}D=(i|0)<0?-1:0;return i>>r-32|0}function Ol(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=e+r|0;if((r|0)>=20){i=i&255;s=e&3;l=i|i<<8|i<<16|i<<24;a=n&~3;if(s){s=e+4-s|0;while((e|0)<(s|0)){t[e>>0]=i;e=e+1|0}}while((e|0)<(a|0)){f[e>>2]=l;e=e+4|0}}while((e|0)<(n|0)){t[e>>0]=i;e=e+1|0}return e-r|0}function Ll(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){D=i<<r|(e&(1<<r)-1<<32-r)>>>32-r;return e<<r}D=e<<r-32;return 0}function Il(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=e+r>>>0;return(D=i+t+(r>>>0<e>>>0|0)>>>0,r|0)|0}function Bl(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){D=i>>>r;return e>>>r|(i&(1<<r)-1)<<32-r}D=0;return i>>>r-32|0}function Nl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if((r|0)>=4096)return Me(e|0,i|0,r|0)|0;n=e|0;if((e&3)==(i&3)){while(e&3){if(!r)return n|0;t[e>>0]=t[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}while((r|0)>=4){f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0;r=r-4|0}}while((r|0)>0){t[e>>0]=t[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}return n|0}function Fl(e){e=e|0;var i=0;i=t[k+(e&255)>>0]|0;if((i|0)<8)return i|0;i=t[k+(e>>8&255)>>0]|0;if((i|0)<8)return i+8|0;i=t[k+(e>>16&255)>>0]|0;if((i|0)<8)return i+16|0;return(t[k+(e>>>24)>>0]|0)+24|0}function jl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;f=e&65535;n=i&65535;r=ie(n,f)|0;t=e>>>16;e=(r>>>16)+(ie(n,t)|0)|0;n=i>>>16;i=ie(n,f)|0;return(D=(e>>>16)+(ie(n,t)|0)+(((e&65535)+i|0)>>>16)|0,e+i<<16|r&65535|0)|0}function Ul(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,s=0,l=0,o=0;o=i>>31|((i|0)<0?-1:0)<<1;l=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;s=Dl(o^e,l^i,o,l)|0;a=D;e=f^o;i=n^l;return Dl((Xl(s,a,Dl(f^r,n^t,f,n)|0,D,0)|0)^e,D^i,e,i)|0}function Hl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;n=c;c=c+16|0;l=n|0;s=i>>31|((i|0)<0?-1:0)<<1;a=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;u=t>>31|((t|0)<0?-1:0)<<1;o=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=Dl(s^e,a^i,s,a)|0;i=D;Xl(e,i,Dl(u^r,o^t,u,o)|0,D,l)|0;t=Dl(f[l>>2]^s,f[l+4>>2]^a,s,a)|0;r=D;c=n;return(D=r,t)|0}function Yl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=e;f=r;r=jl(n,f)|0;e=D;return(D=(ie(i,f)|0)+(ie(t,n)|0)+e|e&0,r|0|0)|0}function ql(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Xl(e,i,r,t,0)|0}function zl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;a=c;c=c+16|0;n=a|0;Xl(e,i,r,t,n)|0;c=a;return(D=f[n+4>>2]|0,f[n>>2]|0)|0}function Xl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;c=e;o=i;u=o;s=r;h=t;l=h;if(!u){a=(n|0)!=0;if(!l){if(a){f[n>>2]=(c>>>0)%(s>>>0);f[n+4>>2]=0}h=0;n=(c>>>0)/(s>>>0)>>>0;return(D=h,n)|0}else{if(!a){h=0;n=0;return(D=h,n)|0}f[n>>2]=e|0;f[n+4>>2]=i&0;h=0;n=0;return(D=h,n)|0}}a=(l|0)==0;do if(s){if(!a){a=(te(l|0)|0)-(te(u|0)|0)|0;if(a>>>0<=31){d=a+1|0;l=31-a|0;i=a-31>>31;s=d;e=c>>>(d>>>0)&i|u<<l;i=u>>>(d>>>0)&i;a=0;l=c<<l;break}if(!n){h=0;n=0;return(D=h,n)|0}f[n>>2]=e|0;f[n+4>>2]=o|i&0;h=0;n=0;return(D=h,n)|0}a=s-1|0;if(a&s){l=(te(s|0)|0)+33-(te(u|0)|0)|0;k=64-l|0;d=32-l|0;o=d>>31;b=l-32|0;i=b>>31;s=l;e=d-1>>31&u>>>(b>>>0)|(u<<d|c>>>(l>>>0))&i;i=i&u>>>(l>>>0);a=c<<k&o;l=(u<<k|c>>>(b>>>0))&o|c<<d&l-33>>31;break}if(n){f[n>>2]=a&c;f[n+4>>2]=0}if((s|0)==1){b=o|i&0;k=e|0|0;return(D=b,k)|0}else{k=Fl(s|0)|0;b=u>>>(k>>>0)|0;k=u<<32-k|c>>>(k>>>0)|0;return(D=b,k)|0}}else{if(a){if(n){f[n>>2]=(u>>>0)%(s>>>0);f[n+4>>2]=0}b=0;k=(u>>>0)/(s>>>0)>>>0;return(D=b,k)|0}if(!c){if(n){f[n>>2]=0;f[n+4>>2]=(u>>>0)%(l>>>0)}b=0;k=(u>>>0)/(l>>>0)>>>0;return(D=b,k)|0}a=l-1|0;if(!(a&l)){if(n){f[n>>2]=e|0;f[n+4>>2]=a&u|i&0}b=0;k=u>>>((Fl(l|0)|0)>>>0);return(D=b,k)|0}a=(te(l|0)|0)-(te(u|0)|0)|0;if(a>>>0<=30){i=a+1|0;l=31-a|0;s=i;e=u<<l|c>>>(i>>>0);i=u>>>(i>>>0);a=0;l=c<<l;break}if(!n){b=0;k=0;return(D=b,k)|0}f[n>>2]=e|0;f[n+4>>2]=o|i&0;b=0;k=0;return(D=b,k)|0}while(0)if(!s){u=l;o=0;l=0}else{d=r|0|0;c=h|t&0;u=Il(d|0,c|0,-1,-1)|0;r=D;o=l;l=0;do{t=o;o=a>>>31|o<<1;a=l|a<<1;t=e<<1|t>>>31|0;h=e>>>31|i<<1|0;Dl(u,r,t,h)|0;k=D;b=k>>31|((k|0)<0?-1:0)<<1;l=b&1;e=Dl(t,h,b&d,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&c)|0;i=D;s=s-1|0}while((s|0)!=0)u=o;o=0}s=0;if(n){f[n>>2]=e;f[n+4>>2]=i}b=(a|0)>>>31|(u|s)<<1|(s<<1|a>>>31)&0|o
47
+ ;k=(a<<1|0>>>31)&-2|l;return(D=b,k)|0}function Gl(e,i,r,t,n,f,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;return po[e&3](i|0,r|0,t|0,n|0,f|0,a|0,s|0)|0}function Vl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return vo[e&63](i|0,r|0,t|0)|0}function Kl(e,i){e=e|0;i=i|0;return+go[e&3](i|0)}function Wl(e,i){e=e|0;i=i|0;yo[e&7](i|0)}function Jl(e,i,r){e=e|0;i=i|0;r=r|0;Eo[e&7](i|0,r|0)}function Ql(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return Ao[e&7](i|0,r|0,t|0,n|0,f|0,a|0)|0}function Zl(e,i){e=e|0;i=i|0;return So[e&15](i|0)|0}function $l(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;To[e&15](i|0,r|0,t|0)}function eo(e,i,r,t,n,f,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;return Mo[e&3](i|0,r|0,t|0,n|0,f|0,a|0,s|0,l|0,o|0,u|0,c|0)|0}function io(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return Co[e&63](i|0,r|0,t|0,n|0)|0}function ro(e,i,r){e=e|0;i=i|0;r=r|0;return Po[e&7](i|0,r|0)|0}function to(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return xo[e&3](i|0,r|0,t|0,n|0,f|0)|0}function no(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;Do[e&3](i|0,r|0,t|0,n|0)}function fo(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;ne(0);return 0}function ao(e,i,r){e=e|0;i=i|0;r=r|0;ne(1);return 0}function so(e){e=e|0;ne(2);return 0}function lo(e){e=e|0;ne(3)}function oo(e,i){e=e|0;i=i|0;ne(4)}function uo(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;ne(5);return 0}function co(e){e=e|0;ne(6);return 0}function ho(e,i,r){e=e|0;i=i|0;r=r|0;ne(7)}function bo(e,i,r,t,n,f,a,s,l,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;ne(8);return 0}function ko(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;ne(9);return 0}function wo(e,i){e=e|0;i=i|0;ne(10);return 0}function mo(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;ne(11);return 0}function _o(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;ne(12)}var po=[fo,ef,Li,fo];var vo=[ao,_l,Fs,Bs,gt,yt,Et,At,Pn,xn,Rn,Wn,uf,Ti,Ui,cf,df,Si,Mi,On,Ln,In,Bn,wf,mf,_f,pf,gf,yf,Af,Sf,Tf,Mf,Cf,Pf,xf,Df,Rf,Of,Lf,If,Bf,Nf,Ff,jf,Uf,Hf,Yf,qf,zf,Xf,Gf,zi,Xi,Gi,Vi,Ki,Wi,Ji,Qi,Is,Ns,ao,ao];var go=[so,Vf,Kf,so];var yo=[lo,Gn,Oi,Xr,Gr,bl,kl,lo];var Eo=[oo,st,lt,ot,qt,zn,Ei,oo];var Ao=[uo,$n,Ri,bf,Di,uo,uo,uo];var So=[co,Ls,af,sf,ji,Fi,Hs,Ma,Aa,co,co,co,co,co,co,co];var To=[ho,_i,pi,vi,gi,di,hi,bi,ki,li,oi,ui,ci,tf,Ni,ho];var Mo=[bo,Zn,xi,bo];var Co=[ko,ea,ia,Xe,Ge,Ve,Ke,We,Je,Qe,Ze,$e,ei,ii,ri,ti,ni,fi,ai,si,lr,or,ur,rr,tr,nr,fr,ar,sr,mt,_t,pt,vt,lf,Jn,yi,Pi,hf,Vn,Ci,Ai,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko];var Po=[wo,Dn,Zi,$i,er,ir,wo,wo];var xo=[mo,of,Ii,mo];var Do=[_o,Da,La,_o];return{_opj_stream_destroy:Tt,_opj_stream_set_read_function:Mt,_opj_read_tile_header:ln,_opj_set_warning_handler:Qt,_opj_destroy_cstr_info:An,_opj_image_create:Xt,_opj_set_error_handler:Zt,_opj_stream_set_user_data:Dt,_opj_end_decompress:_n,_bitshift64Lshr:Bl,_opj_stream_set_seek_function:Ct,_opj_decode:an,_opj_set_decoded_resolution_factor:cn,_i64Add:Il,_opj_stream_create_default_file_stream:Mn,_opj_encode:wn,_bitshift64Ashr:Rl,_opj_get_decoded_tile:un,_memset:Ol,_opj_version:en,_memcpy:Nl,_opj_destroy_cstr_index:Tn,_opj_stream_set_user_data_length:Rt,_opj_stream_set_skip_function:xt,_opj_image_destroy:Gt,_opj_stream_create_file_stream:Cn,_opj_setup_encoder:bn,_opj_stream_default_create:St,_bitshift64Shl:Ll,_opj_stream_create:wt,_jp2_version:at,_i64Subtract:Dl,_opj_get_cstr_index:Sn,_opj_set_default_decoder_parameters:tn,_opj_read_header:fn,_opj_get_cstr_info:En,_opj_set_default_encoder_parameters:hn,_opj_set_decode_area:sn,_opj_stream_set_write_function:Pt,_opj_dump_codec:yn,_opj_create_decompress:rn,_opj_decode_tile_data:on,_free:El,_opj_image_tile_create:Wt,_opj_set_MCT:pn,_opj_set_info_handler:Jt,_opj_start_compress:kn,_opj_write_tile:vn,_opj_setup_decoder:nn,_malloc:yl,_opj_end_compress:mn,_opj_destroy_codec:gn,_jp2_decode:ft,_opj_stream_create_buffer_stream:$t,_opj_create_compress:dn,runPostSets:xl,stackAlloc:Jr,stackSave:Qr,stackRestore:Zr,establishStackSpace:$r,setThrew:et,setTempRet0:tt,getTempRet0:nt,dynCall_iiiiiiii:Gl,dynCall_iiii:Vl,dynCall_di:Kl,dynCall_vi:Wl,dynCall_vii:Jl,dynCall_iiiiiii:Ql,dynCall_ii:Zl,dynCall_viii:$l,dynCall_iiiiiiiiiiii:eo,dynCall_iiiii:io,dynCall_iii:ro,dynCall_iiiiii:to,dynCall_viiii:no}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_opj_stream_destroy=Module._opj_stream_destroy=asm._opj_stream_destroy,_opj_stream_set_read_function=Module._opj_stream_set_read_function=asm._opj_stream_set_read_function,_opj_read_tile_header=Module._opj_read_tile_header=asm._opj_read_tile_header,_opj_set_warning_handler=Module._opj_set_warning_handler=asm._opj_set_warning_handler,_opj_destroy_cstr_info=Module._opj_destroy_cstr_info=asm._opj_destroy_cstr_info,_opj_image_create=Module._opj_image_create=asm._opj_image_create,_opj_set_error_handler=Module._opj_set_error_handler=asm._opj_set_error_handler,_opj_image_tile_create=Module._opj_image_tile_create=asm._opj_image_tile_create,_opj_end_decompress=Module._opj_end_decompress=asm._opj_end_decompress,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_opj_stream_set_seek_function=Module._opj_stream_set_seek_function=asm._opj_stream_set_seek_function,_opj_decode=Module._opj_decode=asm._opj_decode,_opj_set_decoded_resolution_factor=Module._opj_set_decoded_resolution_factor=asm._opj_set_decoded_resolution_factor,_opj_stream_create_default_file_stream=Module._opj_stream_create_default_file_stream=asm._opj_stream_create_default_file_stream,_opj_set_default_decoder_parameters=Module._opj_set_default_decoder_parameters=asm._opj_set_default_decoder_parameters,_bitshift64Ashr=Module._bitshift64Ashr=asm._bitshift64Ashr,_opj_get_decoded_tile=Module._opj_get_decoded_tile=asm._opj_get_decoded_tile,_memset=Module._memset=asm._memset,_opj_version=Module._opj_version=asm._opj_version,_memcpy=Module._memcpy=asm._memcpy,_opj_destroy_cstr_index=Module._opj_destroy_cstr_index=asm._opj_destroy_cstr_index,_opj_stream_set_user_data_length=Module._opj_stream_set_user_data_length=asm._opj_stream_set_user_data_length,_opj_stream_set_skip_function=Module._opj_stream_set_skip_function=asm._opj_stream_set_skip_function,_opj_image_destroy=Module._opj_image_destroy=asm._opj_image_destroy,_opj_stream_create_file_stream=Module._opj_stream_create_file_stream=asm._opj_stream_create_file_stream,_opj_setup_encoder=Module._opj_setup_encoder=asm._opj_setup_encoder,_opj_stream_default_create=Module._opj_stream_default_create=asm._opj_stream_default_create,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_opj_stream_create=Module._opj_stream_create=asm._opj_stream_create,_jp2_version=Module._jp2_version=asm._jp2_version,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_opj_get_cstr_index=Module._opj_get_cstr_index=asm._opj_get_cstr_index,_opj_encode=Module._opj_encode=asm._opj_encode,_i64Add=Module._i64Add=asm._i64Add,_opj_get_cstr_info=Module._opj_get_cstr_info=asm._opj_get_cstr_info,_opj_set_default_encoder_parameters=Module._opj_set_default_encoder_parameters=asm._opj_set_default_encoder_parameters,_opj_set_decode_area=Module._opj_set_decode_area=asm._opj_set_decode_area,_opj_stream_set_write_function=Module._opj_stream_set_write_function=asm._opj_stream_set_write_function,_opj_dump_codec=Module._opj_dump_codec=asm._opj_dump_codec,_opj_read_header=Module._opj_read_header=asm._opj_read_header,_opj_create_decompress=Module._opj_create_decompress=asm._opj_create_decompress,_opj_decode_tile_data=Module._opj_decode_tile_data=asm._opj_decode_tile_data,_opj_set_info_handler=Module._opj_set_info_handler=asm._opj_set_info_handler,_opj_stream_set_user_data=Module._opj_stream_set_user_data=asm._opj_stream_set_user_data,_opj_set_MCT=Module._opj_set_MCT=asm._opj_set_MCT,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,_opj_start_compress=Module._opj_start_compress=asm._opj_start_compress,_opj_write_tile=Module._opj_write_tile=asm._opj_write_tile,_opj_setup_decoder=Module._opj_setup_decoder=asm._opj_setup_decoder,_malloc=Module._malloc=asm._malloc,_opj_end_compress=Module._opj_end_compress=asm._opj_end_compress,_opj_destroy_codec=Module._opj_destroy_codec=asm._opj_destroy_codec,_jp2_decode=Module._jp2_decode=asm._jp2_decode,_opj_stream_create_buffer_stream=Module._opj_stream_create_buffer_stream=asm._opj_stream_create_buffer_stream,_opj_create_compress=Module._opj_create_compress=asm._opj_create_compress,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){function i(){for(var e=0;e<3;e++)t.push(0)}assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var r=e.length+1,t=[allocate(intArrayFromString(Module.thisProgram),"i8",0)];i();for(var n=0;n<r-1;n+=1)t.push(allocate(intArrayFromString(e[n]),"i8",0)),i();t.push(0),t=allocate(t,"i32",0);try{exit(Module._main(r,t,0),!0)}catch(e){if(e instanceof ExitStatus)return;if("SimulateInfiniteLoop"==e)return void(Module.noExitRuntime=!0);throw e&&"object"==typeof e&&e.stack&&Module.printErr("exception thrown: "+[e,e.stack]),e}finally{calledMain=!0}},Module.run=Module.run=run,Module.exit=Module.exit=exit;var abortDecorators=[];if(Module.abort=Module.abort=abort,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),Module};define("OpenJPEG",["OpenJPEG/build/openJPEG-FixedMemory-browser"],function(e){return e}),define("OpenJPEG/build/openJPEG-FixedMemory-browser",function(){}),define("x_ite/Browser/Texturing3D/DICOMParser",["dicom-parser","lib/jpeg/jpeg","jpegLossless","CharLS","OpenJPEG","x_ite/DEBUG"],function(e,i,r,t,n,f){"use strict";function a(){this.dicom={dicom:!1}}var t=void 0,n=void 0;return a.prototype={parse:function(i){try{for(var r=new Uint8Array(i.length),t=0,n=i.length;t<n;++t)r[t]=i.charCodeAt(t);this.dataSet=e.parseDicom(r),this.dicom.dicom=!0}catch(e){return console.log(e),this.dicom.dicom=!1,this.dicom}return this.getPhotometricInterpretation(),this.getComponents(),this.getWidth(),this.getHeight(),this.getDepth(),this.getBitsAllocated(),this.getBitsStored(),this.getPixelRepresentation(),this.getPlanarConfiguration(),this.getTansferSyntax(),this.getPixelData(),f&&console.log(this),this.dicom},getPhotometricInterpretation:function(){this.photometricInterpretation=this.dataSet.string("x00280004")},getComponents:function(){this.dicom.components=this.dataSet.uint16("x00280002")},getWidth:function(){this.dicom.width=this.dataSet.uint16("x00280011")},getHeight:function(){this.dicom.height=this.dataSet.uint16("x00280010")},getDepth:function(){this.dataSet.elements.x00280008?this.dicom.depth=this.dataSet.intString("x00280008"):this.dicom.depth=1},getBitsAllocated:function(){this.bitsAllocated=this.dataSet.uint16("x00280100")},getBitsStored:function(){this.bitsStored=this.dataSet.uint16("x00280101")},getPixelRepresentation:function(){this.pixelRepresentation=this.dataSet.uint16("x00280103")||0},getPlanarConfiguration:function(){this.planarConfiguration=this.dataSet.uint16("x00280006")||0},getTansferSyntax:function(){this.transferSyntax=this.dataSet.string("x00020010")},getPixelData:function(){var e=this.dicom,i=this.dataSet.elements.x7fe00010||this.dataSet.elements.x7fe00008,r="PALETTE COLOR"===this.photometricInterpretation?3:this.dicom.components,t=e.width*e.height*r,n=t*e.depth,f=new Uint8Array(n);if(this.getFrames(i).forEach(function(e,i){switch(this.transferSyntax){case"1.2.840.10008.1.2":case"1.2.840.10008.1.2.1":case"1.2.840.10008.1.2.1.99":e=this.decodeLittleEndian(e);break;case"1.2.840.10008.1.2.2":e=this.decodeBigEndian(e);break;case"1.2.840.10008.1.2.5":e=this.decodeRLE(e);break;case"1.2.840.10008.1.2.4.50":case"1.2.840.10008.1.2.4.51":e=this.decodeJPEGBaseline(e);break;case"1.2.840.10008.1.2.4.57":case"1.2.840.10008.1.2.4.70":e=this.decodeJPEGLossless(e);break;case"1.2.840.10008.1.2.4.80":case"1.2.840.10008.1.2.4.81":e=this.decodeJPEGLS(e);break;case"1.2.840.10008.1.2.4.90":case"1.2.840.10008.1.2.4.91":e=this.decodeJPEG2000(e);break;case"1.2.840.10008.1.2.4.52":case"1.2.840.10008.1.2.4.53":case"1.2.840.10008.1.2.4.54":case"1.2.840.10008.1.2.4.55":case"1.2.840.10008.1.2.4.56":case"1.2.840.10008.1.2.4.58":case"1.2.840.10008.1.2.4.59":case"1.2.840.10008.1.2.4.60":case"1.2.840.10008.1.2.4.61":case"1.2.840.10008.1.2.4.62":case"1.2.840.10008.1.2.4.63":case"1.2.840.10008.1.2.4.64":case"1.2.840.10008.1.2.4.65":case"1.2.840.10008.1.2.4.66":case"1.2.840.10008.1.2.4.92":case"1.2.840.10008.1.2.4.93":throw new Error("DICOM: this JPEG encoding ("+this.transferSyntax+") is not supported.");default:throw new Error("DICOM: unsupported transfer syntax '"+this.transferSyntax+"'.")}if(e=this.getTypedArray(e),1===this.pixelRepresentation&&void 0!==this.bitsStored)for(var n=32-this.bitsStored,a=0,s=e.length;a<s;++a)e[a]=e[a]<<n>>n;switch(this.photometricInterpretation){case"MONOCHROME1":case"MONOCHROME2":break;case"RGB":case"YBR_RCT":case"YBR_ICT":case"YBR_FULL_422":1===this.planarConfiguration&&(e=this.convertRGBColorByPlane(e));break;case"YBR_FULL":e=0===this.planarConfiguration?this.convertYBRFullByPixel(e):this.convertYBRFullByPlane(e);break;case"PALETTE COLOR":e=this.convertPaletteColor(e);break;default:throw new Error("DICOM: unsupported image type '"+this.photometricInterpretation+"'.")}e=this.flipImage(e,r);for(var l=this.getNormalizeOffsetAndFactor(e),o=i*t,a=0,s=e.length;a<s;++a,++o)f[o]=(e[a]-l.offset)*l.factor},this),"MONOCHROME1"===this.photometricInterpretation)for(var a=0,s=f.length;a<s;++a)f[a]=255-f[a];e.components=r,e.data=f},getFrames:function(i){var r=[];if(i.encapsulatedPixelData)if(i.basicOffsetTable.length)for(var t=0,n=this.dicom.depth;t<n;++t)r.push(e.readEncapsulatedImageFrame(this.dataSet,i,t));else if(this.dicom.depth!==i.fragments.length)for(var f=e.createJPEGBasicOffsetTable(this.dataSet,i),t=0,n=this.dicom.depth;t<n;++t)r.push(e.readEncapsulatedImageFrame(this.dataSet,i,t,f));else for(var t=0,n=this.dicom.depth;t<n;++t)r.push(e.readEncapsulatedPixelDataFromFragments(this.dataSet,i,t));else{var a=this.dicom.width*this.dicom.height*this.dicom.components;switch(this.bitsAllocated){case 1:for(var t=0,n=this.dicom.depth;t<n;++t){var s=i.dataOffset+t*a/8;r.push(this.unpackBinaryFrame(this.dataSet.byteArray,s,a))}this.bitsAllocated=8;break;case 8:case 16:case 32:for(var l=this.bitsAllocated/8,t=0,n=this.dicom.depth;t<n;++t){var s=i.dataOffset+t*a*l;r.push(new Uint8Array(this.dataSet.byteArray.buffer,s,a*l))}break;default:throw new Error("DICOM: unsupported pixel format.")}}return r},getTypedArray:function(e){switch(this.bitsAllocated){case 8:return new(this.pixelRepresentation?Int8Array:Uint8Array)(e.buffer,e.byteOffset,e.length);case 16:return new(this.pixelRepresentation?Int16Array:Uint16Array)(e.buffer,e.byteOffset,e.length/2);case 32:return new Float32Array(e.buffer,e.byteOffset,e.length/4);default:throw new Error("DICOM: unsupported pixel format.")}},flipImage:function(e,i){for(var r=this.dicom.width,t=this.dicom.height,n=new e.constructor(e.length),f=0;f<t;++f)for(var a=i*r*(t-1-f),s=i*r*f,l=0,o=i*r;l<o;++l)n[s+l]=e[a+l];return n},getNormalizeOffsetAndFactor:function(e){for(var i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,t=0,n=e.length;t<n;++t)i=Math.min(i,e[t]),r=Math.max(r,e[t]);var f=r-i;return{offset:i,factor:f?1/f*255:0}},unpackBinaryFrame:function(e,i,r){for(var t=new Uint8Array(r),n=0;n<r;++n){var f=Math.floor(n/8),a=e[f+i],s=n%8;t[n]=function(e,i){return e&1<<i}(a,s)?1:0}return t},decodeLittleEndian:function(e){var i=e.buffer,r=e.byteOffset,t=e.length;return 16===this.bitsAllocated?(r%2&&(i=i.slice(r),r=0),new Uint8Array(i,r,t)):32===this.bitsAllocated?(r%4&&(i=i.slice(r),r=0),new Uint8Array(i,r,t)):e},decodeBigEndian:function(e){if(16===this.bitsAllocated){var i=e.buffer,r=e.byteOffset,t=e.length;r%2&&(i=i.slice(r),r=0),e=new Uint16Array(i,r,t/2);for(var n=0,f=e.length;n<f;++n)e[n]=function(e){return(255&e)<<8|e>>8&255}(e[n]);return new Uint8Array(i,r,t)}return e},decodeRLE:function(e){if(8===this.bitsAllocated)return this.planarConfiguration?this.decodeRLE8Planar(e):this.decodeRLE8(e);if(16===this.bitsAllocated)return this.decodeRLE16(e);throw new Error("DICOM: unsupported pixel format for RLE.")},decodeRLE8:function(e){const i=e,r=this.dicom.width*this.dicom.height,t=this.dicom.components,n=new ArrayBuffer(r*this.dicom.components),f=new DataView(i.buffer,i.byteOffset),a=new Int8Array(i.buffer,i.byteOffset),s=new Int8Array(n);let l=0;const o=f.getInt32(0,!0);for(let e=0;e<o;++e){l=e;let n=f.getInt32(4*(e+1),!0),u=f.getInt32(4*(e+2),!0);0===u&&(u=i.length);const c=r*o;for(;n<u;){const e=a[n++];if(e>=0&&e<=127)for(let i=0;i<e+1&&l<c;++i)s[l]=a[n++],l+=t;else if(e<=-1&&e>=-127){const i=a[n++];for(let r=0;r<1-e&&l<c;++r)s[l]=i,l+=t}}}return s},decodeRLE8Planar:function(e){const i=e,r=this.dicom.width*this.dicom.height,t=new ArrayBuffer(r*this.dicom.components),n=new DataView(i.buffer,i.byteOffset),f=new Int8Array(i.buffer,i.byteOffset),a=new Int8Array(t);let s=0;const l=n.getInt32(0,!0);for(let e=0;e<l;++e){s=e*r;let t=n.getInt32(4*(e+1),!0),o=n.getInt32(4*(e+2),!0);0===o&&(o=i.length);const u=r*l;for(;t<o;){const e=f[t++];if(e>=0&&e<=127)for(let i=0;i<e+1&&s<u;++i)a[s]=f[t++],++s;else if(e<=-1&&e>=-127){const i=f[t++];for(let r=0;r<1-e&&s<u;++r)a[s]=i,++s}}}return a},decodeRLE16:function(e){const i=e,r=this.dicom.width*this.dicom.height,t=new ArrayBuffer(r*this.dicom.components*2),n=new DataView(i.buffer,i.byteOffset),f=new Int8Array(i.buffer,i.byteOffset),a=new Int8Array(t),s=n.getInt32(0,!0);for(let e=0;e<s;++e){let t=0;const s=0===e?1:0;let l=n.getInt32(4*(e+1),!0),o=n.getInt32(4*(e+2),!0);for(0===o&&(o=i.length);l<o;){const e=f[l++];if(e>=0&&e<=127)for(let i=0;i<e+1&&t<r;++i)a[2*t+s]=f[l++],++t;else if(e<=-1&&e>=-127){const i=f[l++];for(let n=0;n<1-e&&t<r;++n)a[2*t+s]=i,++t}}}return a},decodeJPEGBaseline:function(e){var i=new JpegImage;i.parse(e),i.colorTransform=!0;var r=i.getData(this.dicom.width,this.dicom.height);return this.bitsAllocated=8,r},decodeJPEGLossless:function(e){var i=new r.lossless.Decoder,t=i.decompress(e);return new Uint8Array(t)},decodeJPEGLS:function(e){var i=this.jpegLSDecode(e,1===this.pixelRepresentation);if(0!==i.result&&6!==i.result)throw new Error(`DICOM: JPEG-LS decoder failed to decode frame (error code ${i.result}).`);return new Uint8Array(i.pixelData.buffer)},jpegLSDecode:function(e,i){t=t||CharLS();const r=t._malloc(e.length);t.writeArrayToMemory(e,r);const n=t._malloc(4),f=t._malloc(4),a=t._malloc(4),s=t._malloc(4),l=t._malloc(4),o=t._malloc(4),u=t._malloc(4),c=t._malloc(4),d=t._malloc(4),h=t.ccall("jpegls_decode","number",["number","number","number","number","number","number","number","number","number","number","number"],[r,e.length,n,f,a,s,l,o,c,u,d]),b={result:h,width:t.getValue(a,"i32"),height:t.getValue(s,"i32"),bitsPerSample:t.getValue(l,"i32"),stride:t.getValue(o,"i32"),components:t.getValue(c,"i32"),allowedLossyError:t.getValue(u,"i32"),interleaveMode:t.getValue(d,"i32"),pixelData:void 0},k=t.getValue(n,"*");return b.bitsPerSample<=8?(b.pixelData=new Uint8Array(b.width*b.height*b.components),b.pixelData.set(new Uint8Array(t.HEAP8.buffer,k,b.pixelData.length))):i?(b.pixelData=new Int16Array(b.width*b.height*b.components),b.pixelData.set(new Int16Array(t.HEAP16.buffer,k,b.pixelData.length))):(b.pixelData=new Uint16Array(b.width*b.height*b.components),b.pixelData.set(new Uint16Array(t.HEAP16.buffer,k,b.pixelData.length))),t._free(r),t._free(k),t._free(n),t._free(f),t._free(a),t._free(s),t._free(l),t._free(o),t._free(c),t._free(d),b},decodeJPEG2000:function(e){var i=this.bitsAllocated<=8?1:2,r=1===this.pixelRepresentation,t=this.decodeOpenJPEG(e,i,r);return t.nbChannels>1&&(this.photometricInterpretation="RGB"),new Uint8Array(t.pixelData.buffer)},decodeOpenJPEG:function(e,i,r){n=n||OpenJPEG();const t=n._malloc(e.length);n.writeArrayToMemory(e,t);const f=n._malloc(4),a=n._malloc(4),s=n._malloc(4),l=n._malloc(4),o=n._malloc(4),u=(new Date).getTime();if(0!==n.ccall("jp2_decode","number",["number","number","number","number","number","number","number"],[t,e.length,f,a,s,l,o]))return console.log("[opj_decode] decoding failed!"),n._free(t),n._free(n.getValue(f,"*")),n._free(s),n._free(l),n._free(a),void n._free(o);const c=n.getValue(f,"*"),d={length:n.getValue(a,"i32"),sx:n.getValue(s,"i32"),sy:n.getValue(l,"i32"),nbChannels:n.getValue(o,"i32"),perf_timetodecode:void 0,pixelData:void 0},h=d.sx*d.sy*d.nbChannels,b=new Int32Array(n.HEAP32.buffer,c,h);if(1===i)if(Uint8Array.from)d.pixelData=Uint8Array.from(b);else{d.pixelData=new Uint8Array(h);for(let e=0;e<h;e++)d.pixelData[e]=b[e]}else if(r)if(Int16Array.from)d.pixelData=Int16Array.from(b);else{d.pixelData=new Int16Array(h);for(let e=0;e<h;e++)d.pixelData[e]=b[e]}else if(Uint16Array.from)d.pixelData=Uint16Array.from(b);else{d.pixelData=new Uint16Array(h);for(let e=0;e<h;e++)d.pixelData[e]=b[e]}const k=(new Date).getTime();return d.perf_timetodecode=k-u,n._free(t),n._free(f),n._free(c),n._free(a),n._free(s),n._free(l),n._free(o),d},convertRGBColorByPlane:function(e){if(e.length%3!=0)throw new Error("DICOM: convertRGBColorByPlane: RGB buffer length must be divisble by 3.");for(var i=e.length/3,r=0,t=0,n=i,f=2*i,a=new e.constructor(e.length),s=0;s<i;++s)a[r++]=e[t++],a[r++]=e[n++],a[r++]=e[f++];return a},convertYBRFullByPixel:function(e){if(e.length%3!=0)throw new Error("DICOM: convertYBRFullByPixel: YBR buffer length must be divisble by 3.");console.log(e);for(var i=e.length/3,r=0,t=0,n=new e.constructor(e.length),f=0;f<i;++f){var a=e[r++],s=e[r++],l=e[r++];n[t++]=a+1.402*(l-128),n[t++]=a-.34414*(s-128)-.71414*(l-128),n[t++]=a+1.772*(s-128)}return n},convertYBRFullByPlane:function(e){if(e.length%3!=0)throw new Error("DICOM: convertYBRFullByPlane: YBR buffer length must be divisble by 3.");for(var i=e.length/3,r=0,t=0,n=i,f=2*i,a=new e.constructor(e.length),s=0;s<i;++s){var l=e[t++],o=e[n++],u=e[f++];a[r++]=l+1.402*(u-128),a[r++]=l-.34414*(o-128)-.71414*(u-128),a[r++]=l+1.772*(o-128)}return a},convertPaletteColor:function(e){function i(e,i){if(e.cleaned)return e.cleaned;const r=e.length,t=new Uint8ClampedArray(r);for(let n=0;n<r;++n)t[n]=e[n]>>i;return e.cleaned=t,t}const r=this.getLUT(),t=this.dicom.width*this.dicom.height,n=r.redPaletteColorLookupTableData,f=r.greenPaletteColorLookupTableData,a=r.bluePaletteColorLookupTableData,s=r.redPaletteColorLookupTableData.length;let l=0,o=0;const u=r.redPaletteColorLookupTableDescriptor[1],c=8===r.redPaletteColorLookupTableDescriptor[2]?0:8,d=i(n,c),h=i(f,c),b=i(a,c);let k=new Uint8Array(3*e.length);for(let i=0;i<t;++i){let i=e[l++];i<u?i=0:i>u+s-1?i=s-1:i-=u,k[o++]=d[i],k[o++]=h[i],k[o++]=b[i]}return k},getLUT:function(){return this.LUT?this.LUT:(this.LUT={},this.populatePaletteColorLut(this.dataSet,this.LUT),this.LUT)},populatePaletteColorLut:function(e,i){i.redPaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281101"),i.greenPaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281102"),i.bluePaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281103"),0===i.redPaletteColorLookupTableDescriptor[0]&&(i.redPaletteColorLookupTableDescriptor[0]=65536,i.greenPaletteColorLookupTableDescriptor[0]=65536,i.bluePaletteColorLookupTableDescriptor[0]=65536);const r=i.redPaletteColorLookupTableDescriptor[0],t=e.elements.x00281201,n=t.length===r?8:16;i.redPaletteColorLookupTableDescriptor[2]!==n&&(i.redPaletteColorLookupTableDescriptor[2]=n,i.greenPaletteColorLookupTableDescriptor[2]=n,i.bluePaletteColorLookupTableDescriptor[2]=n),i.redPaletteColorLookupTableData=this.getLutData(e,"x00281201",i.redPaletteColorLookupTableDescriptor),i.greenPaletteColorLookupTableData=this.getLutData(e,"x00281202",i.greenPaletteColorLookupTableDescriptor),i.bluePaletteColorLookupTableData=this.getLutData(e,"x00281203",i.bluePaletteColorLookupTableDescriptor)},getLutDescriptor:function(e,i){if(e.elements[i]&&6===e.elements[i].length)return[e.uint16(i,0),e.uint16(i,1),e.uint16(i,2)]},getLutData:function(e,i,r){const t=[],n=e.elements[i];for(let f=0;f<r[0];++f)16===r[2]?t[f]=e.uint16(i,f):t[f]=e.byteArray[f+n.dataOffset];return t}},a}),define("x_ite/Components/Texturing3D/ImageTexture3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing3D/X3DTexture3DNode","x_ite/Components/Networking/X3DUrlObject","x_ite/Bits/X3DConstants","x_ite/Browser/Texturing3D/NRRDParser","x_ite/Browser/Texturing3D/DICOMParser","x_ite/InputOutput/FileLoader"],function(e,i,r,t,n,f,a,s,l){"use strict";function o(i){t.call(this,i),n.call(this,i),this.addType(f.ImageTexture3D),this.addChildObjects("buffer",new e.MFString)}return o.prototype=Object.assign(Object.create(t.prototype),n.prototype,{constructor:o,fieldDefinitions:new r([new i(f.inputOutput,"metadata",new e.SFNode),new i(f.inputOutput,"description",new e.SFString),new i(f.inputOutput,"url",new e.MFString),new i(f.inputOutput,"autoRefresh",new e.SFTime),new i(f.inputOutput,"autoRefreshTimeLimit",new e.SFTime(3600)),new i(f.initializeOnly,"repeatS",new e.SFBool),new i(f.initializeOnly,"repeatT",new e.SFBool),new i(f.initializeOnly,"repeatR",new e.SFBool),new i(f.initializeOnly,"textureProperties",new e.SFNode)]),getTypeName:function(){return"ImageTexture3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"texture"},initialize:function(){t.prototype.initialize.call(this),n.prototype.initialize.call(this),this.url_.addInterest("set_url__",this),this.buffer_.addInterest("set_buffer__",this),this.set_url__()},set_url__:function(){this.setLoadState(f.NOT_STARTED_STATE),this.requestImmediateLoad()},requestImmediateLoad:function(e=!0){this.checkLoadState()!==f.COMPLETE_STATE&&this.checkLoadState()!==f.IN_PROGRESS_STATE&&(this.setCache(e),this.setLoadState(f.IN_PROGRESS_STATE),this.buffer_=this.url_)},getInternalType:function(e){var i=this.getBrowser().getContext();switch(e){case 1:return i.LUMINANCE;case 2:return i.LUMINANCE_ALPHA;case 3:return i.RGB;case 4:return i.RGBA}},set_buffer__:function(){new l(this).loadBinaryDocument(this.buffer_,function(e){if(null!==e){var i=(new a).parse(e);if(i.nrrd){var r=this.getInternalType(i.components);return this.setTexture(i.width,i.height,i.depth,!1,r,i.data),void this.setLoadState(f.COMPLETE_STATE)}var t=(new s).parse(e);if(t.dicom){var r=this.getInternalType(t.components);return this.setTexture(t.width,t.height,t.depth,!1,r,t.data),void this.setLoadState(f.COMPLETE_STATE)}throw new Error("ImageTexture3D: no appropriate file type handler found.")}this.setLoadState(f.FAILED_STATE),this.clearTexture()}.bind(this))}}),o}),define("x_ite/Components/Texturing3D/PixelTexture3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing3D/X3DTexture3DNode","x_ite/Bits/X3DConstants"],function(e,i,r,t,n){"use strict";function f(i){t.call(this,i),this.addType(n.PixelTexture3D),this.addChildObjects("loadState",new e.SFInt32(n.NOT_STARTED_STATE))}return f.prototype=Object.assign(Object.create(t.prototype),{constructor:f,fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"description",new e.SFString),new i(n.inputOutput,"image",new e.MFInt32(0,0,0,0)),new i(n.initializeOnly,"repeatS",new e.SFBool),new i(n.initializeOnly,"repeatT",new e.SFBool),new i(n.initializeOnly,"repeatR",new e.SFBool),new i(n.initializeOnly,"textureProperties",new e.SFNode)]),getTypeName:function(){return"PixelTexture3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"texture"},initialize:function(){t.prototype.initialize.call(this),this.image_.addInterest("set_image__",this),this.set_image__()},checkLoadState:function(){return this.loadState_.getValue()},set_image__:function(){return function(){var e=this.image_;if(e.length<4)return this.clearTexture(),void(this.loadState_=n.FAILED_STATE);var i=this.getBrowser().getContext(),r=e[0],t=e[1],f=e[2],a=e[3],s=!(1&r),l=t*f*a;switch(r){case 1:for(var o=i.LUMINANCE,u=new Uint8Array(l),c=4,d=4+l,h=0;c<d;++c)u[h++]=e[c];break;case 2:for(var o=i.LUMINANCE_ALPHA,u=new Uint8Array(2*l),c=4,d=4+l,h=0;c<d;++c){var b=e[c];u[h++]=b>>>8&255,u[h++]=255&b}break;case 3:for(var o=i.RGB,u=new Uint8Array(3*l),c=4,d=4+l,h=0;c<d;++c){var b=e[c];u[h++]=b>>>16&255,u[h++]=b>>>8&255,u[h++]=255&b}break;case 4:for(var o=i.RGBA,u=new Uint8Array(4*l),c=4,d=4+l,h=0;c<d;++c){var b=e[c];u[h++]=b>>>24&255,u[h++]=b>>>16&255,u[h++]=b>>>8&255,u[h++]=255&b}break;default:return this.clearTexture(),void(this.loadState_=n.FAILED_STATE)}this.setTexture(t,f,a,s,o,u),this.loadState_=n.COMPLETE_STATE}}()}),f}),define("x_ite/Components/Texturing3D/TextureCoordinate3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing/X3DSingleTextureCoordinateNode","x_ite/Bits/X3DConstants","standard/Math/Numbers/Vector4"],function(e,i,r,t,n,f){"use strict";function a(e){t.call(this,e),this.addType(n.TextureCoordinate3D)}return a.prototype=Object.assign(Object.create(t.prototype),{constructor:a,fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"mapping",new e.SFString),new i(n.inputOutput,"point",new e.MFVec3f)]),getTypeName:function(){return"TextureCoordinate3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"texCoord"},initialize:function(){t.prototype.initialize.call(this),this.point_.addInterest("set_point__",this),this.set_point__()},set_point__:function(){this.point=this.point_.getValue(),this.length=this.point_.length},isEmpty:function(){return 0===this.length},getSize:function(){return this.length},get1Point:function(e,i){if(e>=0&&e<this.length){const r=this.point;return e*=3,i.set(r[e],r[e+1],r[e+2],1)}if(e>=0&&this.length){const r=this.point;return e%=this.length,e*=3,i.set(r[e],r[e+1],r[e+2],1)}return i.set(0,0,0,1)},addTexCoordToChannel:function(e,i){if(e>=0&&e<this.length){const r=this.point;e*=3,i.push(r[e],r[e+1],r[e+2],1)}else if(e>=0&&this.length){const r=this.point;e%=this.length,e*=3,i.push(r[e],r[e+1],r[e+2],1)}else i.push(0,0,0,1)},getTexCoord:function(e){const i=this.point;for(let r=0,t=0,n=this.length;r<n;++r,t+=3)e[r]=new f(i[t],i[t+1],i[t+2],1);return e.length=this.length,e}}),a}),define("x_ite/Components/Texturing3D/TextureCoordinate4D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing/X3DSingleTextureCoordinateNode","x_ite/Bits/X3DConstants","standard/Math/Numbers/Vector4"],function(e,i,r,t,n,f){"use strict";function a(e){t.call(this,e),this.addType(n.TextureCoordinate4D)}return a.prototype=Object.assign(Object.create(t.prototype),{constructor:a,
48
+ fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"mapping",new e.SFString),new i(n.inputOutput,"point",new e.MFVec4f)]),getTypeName:function(){return"TextureCoordinate4D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"texCoord"},initialize:function(){t.prototype.initialize.call(this),this.point_.addInterest("set_point__",this),this.set_point__()},set_point__:function(){this.point=this.point_.getValue(),this.length=this.point_.length},isEmpty:function(){return 0===this.length},getSize:function(){return this.length},get1Point:function(e,i){if(e>=0&&e<this.length){const r=this.point;return e*=4,i.set(r[e],r[e+1],r[e+2],r[e+3])}if(e>=0&&this.length){const r=this.point;return e%=this.length,e*=4,i.set(r[e],r[e+1],r[e+2],r[e+3])}return i.set(0,0,0,1)},addTexCoordToChannel:function(e,i){if(e>=0&&e<this.length){const r=this.point;e*=4,i.push(r[e],r[e+1],r[e+2],r[e+3])}else if(e>=0&&this.length){const r=this.point;e%=this.length,e*=4,i.push(r[e],r[e+1],r[e+2],r[e+3])}else i.push(0,0,0,1)},getTexCoord:function(e){const i=this.point;for(let r=0,t=0,n=this.length;r<n;++r,t+=4)e[r]=new f(i[t],i[t+1],i[t+2],i[t+3]);return e.length=this.length,e}}),a}),define("x_ite/Components/Texturing3D/TextureTransform3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing/X3DSingleTextureTransformNode","x_ite/Bits/X3DConstants","standard/Math/Numbers/Vector3","standard/Math/Numbers/Rotation4","standard/Math/Numbers/Matrix4"],function(e,i,r,t,n,f,a,s){"use strict";function l(e){t.call(this,e),this.addType(n.TextureTransform3D),this.matrix=new s}return l.prototype=Object.assign(Object.create(t.prototype),{constructor:l,fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"mapping",new e.SFString),new i(n.inputOutput,"translation",new e.SFVec3f),new i(n.inputOutput,"rotation",new e.SFRotation),new i(n.inputOutput,"scale",new e.SFVec3f(1,1,1)),new i(n.inputOutput,"center",new e.SFVec3f)]),getTypeName:function(){return"TextureTransform3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"textureTransform"},initialize:function(){t.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},getMatrix:function(){return this.matrix},eventsProcessed:function(){const e=new f(0,0,0);return function(){const i=this.translation_.getValue(),r=this.rotation_.getValue(),t=this.scale_.getValue(),n=this.center_.getValue(),s=this.matrix;s.identity(),n.equals(f.Zero)||s.translate(e.assign(n).negate()),t.equals(f.One)||s.scale(t),r.equals(a.Identity)||s.rotate(r),n.equals(f.Zero)||s.translate(n),i.equals(f.Zero)||s.translate(i),this.setMatrix(s)}}()}),l}),define("x_ite/Components/Texturing3D/TextureTransformMatrix3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing/X3DSingleTextureTransformNode","x_ite/Bits/X3DConstants"],function(e,i,r,t,n){"use strict";function f(e){t.call(this,e),this.addType(n.TextureTransformMatrix3D)}return f.prototype=Object.assign(Object.create(t.prototype),{constructor:f,fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"mapping",new e.SFString),new i(n.inputOutput,"matrix",new e.SFMatrix4f)]),getTypeName:function(){return"TextureTransformMatrix3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"textureTransform"},initialize:function(){t.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},getMatrix:function(){return this.matrix_.getValue()},eventsProcessed:function(){this.setMatrix(this.matrix_.getValue())}}),f}),define(require.getComponentUrl("texturing-3d"),["x_ite/Components","x_ite/Components/Texturing3D/ComposedTexture3D","x_ite/Components/Texturing3D/ImageTexture3D","x_ite/Components/Texturing3D/PixelTexture3D","x_ite/Components/Texturing3D/TextureCoordinate3D","x_ite/Components/Texturing3D/TextureCoordinate4D","x_ite/Components/Texturing3D/TextureTransform3D","x_ite/Components/Texturing3D/TextureTransformMatrix3D","x_ite/Components/Texturing3D/X3DTexture3DNode"],function(e,i,r,t,n,f,a,s,l){"use strict";e.addComponent({name:"Texturing3D",types:{ComposedTexture3D:i,ImageTexture3D:r,PixelTexture3D:t,TextureCoordinate3D:n,TextureCoordinate4D:f,TextureTransform3D:a,TextureTransformMatrix3D:s},abstractTypes:{X3DTexture3DNode:l}})})}("object"==typeof module?module:void 0,"function"==typeof require?require:void 0);